From 59f4a5be2729e0d9eeeae55183351cd4a49604a2 Mon Sep 17 00:00:00 2001 From: Omar Marie Date: Mon, 30 Jun 2025 15:35:01 +0300 Subject: [PATCH 001/176] feat: ai trading assistant, initial commit --- .../ai_stock_trading/README.md | 249 ++++ .../ai_stock_trading/requirements.txt | 8 + .../stock_analysis_sharia_compliance.ipynb | 1106 +++++++++++++++++ 3 files changed, 1363 insertions(+) create mode 100644 week4/community-contributions/ai_stock_trading/README.md create mode 100644 week4/community-contributions/ai_stock_trading/requirements.txt create mode 100644 week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb diff --git a/week4/community-contributions/ai_stock_trading/README.md b/week4/community-contributions/ai_stock_trading/README.md new file mode 100644 index 0000000..3a56e71 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/README.md @@ -0,0 +1,249 @@ +# šŸ“ˆ Stock Analysis & Sharia Compliance Tool + +A comprehensive Gradio-based web application that provides AI-powered stock analysis with Islamic Sharia compliance assessment. This tool combines real-time financial data, technical analysis, and AI-driven insights to help users make informed investment decisions while adhering to Islamic finance principles. + +![Stock Analysis Interface](https://img.shields.io/badge/Interface-Gradio-blue) +![AI Powered](https://img.shields.io/badge/AI-OpenAI%20GPT--4o--mini-green) +![Islamic Finance](https://img.shields.io/badge/Islamic-Sharia%20Compliant-gold) + +## 🌟 Features + +### šŸ“Š **Multi-Period Stock Analysis** +- Fetches historical data for 1 month, 1 year, and 5 years +- Calculates key financial metrics: returns, volatility, volume, price ranges +- Comprehensive technical analysis with statistical insights + +### šŸ¤– **AI-Powered Trade Recommendations** +- Uses OpenAI GPT-4o-mini for intelligent analysis +- Provides clear BUY/HOLD/SELL recommendations +- Numerical justification based on multi-timeframe data +- Considers risk factors and market trends + +### ā˜Ŗļø **Sharia Compliance Assessment** +- Analyzes company business activities for Islamic compliance +- Provides HALAL/HARAM/DOUBTFUL rulings +- Confidence scores (0-100) for each assessment +- Detailed justification based on Islamic finance principles + +### šŸ“ˆ **Interactive Visualizations** +- Real-time price charts with volume data +- Professional matplotlib-based visualizations +- Price statistics and performance metrics +- Responsive chart interface + +### šŸ–„ļø **User-Friendly Interface** +- Clean, modern Gradio web interface +- Two-column layout for optimal user experience +- Example stock buttons for quick testing +- Real-time analysis progress tracking + +## šŸš€ Quick Start + +### Prerequisites + +Ensure you have Python 3.8+ installed on your system. + +### Installation + +1. **Clone or download this project** +```bash +git clone +cd ai_stock_trading +``` + +2. **Install dependencies** +```bash +pip install -r requirements.txt +``` + +3. **Set up OpenAI API Key** +```bash +export OPENAI_API_KEY="your-api-key-here" +``` + +Or set it in the notebook: +```python +import os +os.environ["OPENAI_API_KEY"] = "your-api-key-here" +``` + +### Running the Application + +1. **Open the Jupyter notebook** +```bash +jupyter notebook stock_analysis_sharia_compliance.ipynb +``` + +2. **Run all cells** to initialize the functions + +3. **Launch the interface** by running the final cell + +4. **Access the web interface** at `http://localhost:7860` + +## šŸ“– How to Use + +1. **Enter a stock ticker** (e.g., AAPL, MSFT, GOOGL) in the input field +2. **Click "Analyze Stock"** to start the analysis +3. **Review the results**: + - **Trade Advice**: AI-generated BUY/HOLD/SELL recommendation + - **Sharia Assessment**: Islamic compliance ruling with confidence score + - **Price Chart**: 1-month interactive price and volume chart + +### Example Tickers to Try + +| Ticker | Company | Expected Sharia Status | +|--------|---------|----------------------| +| **AAPL** | Apple Inc. | āœ… Likely Halal (Technology) | +| **MSFT** | Microsoft Corp. | āœ… Likely Halal (Technology) | +| **JNJ** | Johnson & Johnson | āœ… Likely Halal (Healthcare) | +| **BAC** | Bank of America | āŒ Likely Haram (Banking/Interest) | +| **KO** | Coca-Cola | āš ļø May be Doubtful | + +## šŸ› ļø Technical Implementation + +### Core Components + +1. **Data Fetching Tool** (`fetch_history`) + - Uses yfinance API for real-time stock data + - Supports multiple time periods and intervals + - Error handling for invalid tickers + +2. **Analysis Tool** (`summarize`) + - Calculates financial metrics + - Annualized volatility calculation + - Price performance analysis + +3. **Trade Decision Tool** (`get_trade_advice`) + - OpenAI GPT-4o-mini integration + - Multi-period analysis prompts + - Structured recommendation format + +4. **Sharia Compliance Tool** (`assess_sharia`) + - Company profile extraction + - Islamic finance criteria evaluation + - Confidence scoring system + +5. **Charting Tool** (`plot_price`) + - Matplotlib-based visualizations + - Price and volume charts + - Professional styling + +### AI Prompts + +The application uses carefully crafted prompts for: +- **Financial Analysis**: Multi-timeframe technical analysis with numerical justification +- **Sharia Assessment**: Islamic finance principles evaluation with scholarly approach + +## šŸ“Š Sample Analysis Output + +### Trade Recommendation Example +``` +RECOMMENDATION: BUY + +Based on the analysis of AAPL: +• 1Y return of +15.2% shows strong performance +• Volatility of 24.3% indicates manageable risk +• Recent 1M return of +5.8% shows positive momentum +• Strong volume indicates healthy trading activity + +Key factors supporting BUY decision: +- Consistent positive returns across timeframes +- Volatility within acceptable range for tech stocks +- Strong market position and fundamentals +``` + +### Sharia Assessment Example +```json +{ + "ruling": "HALAL", + "confidence": 85, + "justification": "Apple Inc. primarily operates in technology hardware and software, which are permissible under Islamic law. The company's main revenue sources (iPhone, Mac, services) do not involve prohibited activities such as gambling, alcohol, or interest-based banking." +} +``` + +## āš ļø Important Disclaimers + +### Financial Disclaimer +- **This tool is for educational purposes only** +- **Not professional financial advice** +- **Past performance does not guarantee future results** +- **Consult qualified financial advisors before making investment decisions** + +### Sharia Compliance Disclaimer +- **Consult qualified Islamic scholars for authoritative rulings** +- **AI assessments are preliminary and may have limitations** +- **Consider multiple sources for Sharia compliance verification** +- **Individual scholarly interpretations may vary** + +### Technical Limitations +- **Data accuracy depends on yfinance API availability** +- **OpenAI API calls consume credits/tokens** +- **Network connectivity required for real-time data** +- **Analysis speed depends on API response times** + +## šŸ”§ Customization + +### Adding New Analysis Periods +```python +periods = ["1mo", "3mo", "6mo", "1y", "2y", "5y"] # Modify as needed +``` + +### Modifying Sharia Criteria +```python +# Update the Sharia assessment prompt with additional criteria +prompt = f""" +Additional criteria: +- Debt-to-market cap ratio analysis +- Revenue source breakdown +- ESG factors consideration +""" +``` + +### Styling the Interface +```python +demo = create_interface() +demo.launch(theme="huggingface") # Try different themes +``` + +## šŸ“š Dependencies + +- **yfinance**: Real-time financial data +- **openai**: AI-powered analysis +- **pandas**: Data manipulation +- **matplotlib**: Chart generation +- **gradio**: Web interface +- **requests**: HTTP requests +- **beautifulsoup4**: Web scraping +- **numpy**: Numerical computations + +## šŸ¤ Contributing + +Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests. + +### Areas for Enhancement +- Additional technical indicators +- More sophisticated Sharia screening +- Portfolio analysis features +- Historical backtesting +- Mobile-responsive design + +## šŸ“„ License + +This project is for educational purposes. Please ensure compliance with: +- OpenAI API usage terms +- Yahoo Finance data usage policies +- Local financial regulations +- Islamic finance guidelines + +## šŸ™ Acknowledgments + +- **yfinance** for providing free financial data API +- **OpenAI** for GPT-4o-mini language model +- **Gradio** for the intuitive web interface framework +- **Islamic finance scholars** for Sharia compliance frameworks + +--- + +**Made with ā¤ļø for the Muslim tech community and ethical investing enthusiasts** + +*"And Allah knows best" - ŁˆŁŽŲ§Ł„Ł„ŁŽŁ‘Ł‡Ł Ų£ŁŽŲ¹Ł’Ł„ŁŽŁ…Ł* \ No newline at end of file diff --git a/week4/community-contributions/ai_stock_trading/requirements.txt b/week4/community-contributions/ai_stock_trading/requirements.txt new file mode 100644 index 0000000..3c05391 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/requirements.txt @@ -0,0 +1,8 @@ +yfinance>=0.2.10 +openai>=1.0.0 +pandas>=1.5.0 +matplotlib>=3.5.0 +gradio>=4.0.0 +requests>=2.28.0 +beautifulsoup4>=4.11.0 +numpy>=1.21.0 \ No newline at end of file diff --git a/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb b/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb new file mode 100644 index 0000000..3c7bfca --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb @@ -0,0 +1,1106 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "# Stock Analysis & Sharia Compliance Chat Interface\n", + "\n", + "This notebook implements a comprehensive Gradio-based chat interface for stock analysis and Islamic Sharia compliance checks. It provides:\n", + "\n", + "- **Real-time Stock Data Fetching** using yfinance\n", + "- **Technical Analysis** with multiple time periods\n", + "- **AI-Powered Trade Recommendations** using OpenAI GPT-4o-mini\n", + "- **Sharia Compliance Assessment** for Islamic investing\n", + "- **Interactive Charts** and user-friendly interface\n", + "\n", + "## Features\n", + "1. Multi-period stock analysis (1 month, 1 year, 5 years)\n", + "2. Automated trade advice (BUY/HOLD/SELL) with justification\n", + "3. Sharia compliance ruling with confidence scores\n", + "4. Interactive price charts\n", + "5. Clean Gradio chat interface\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 1. Imports\n", + "\n", + "First, let's import all necessary libraries and set up our environment.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āœ… OpenAI API key loaded successfully\n", + "šŸš€ All libraries imported successfully!\n" + ] + } + ], + "source": [ + "# Core imports\n", + "import os\n", + "import json\n", + "import warnings\n", + "from dotenv import load_dotenv\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "# Data and analysis\n", + "import yfinance as yf\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Visualization\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.dates as mdates\n", + "\n", + "# Web scraping for company info\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "\n", + "# AI and interface\n", + "import openai\n", + "import gradio as gr\n", + "\n", + "# Load OpenAI API key from environment\n", + "load_dotenv(override=True)\n", + "openai.api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if not openai.api_key:\n", + " print(\"āš ļø Warning: OPENAI_API_KEY not found in environment variables\")\n", + " print(\"Please set your OpenAI API key: export OPENAI_API_KEY='your-key-here'\")\n", + "else:\n", + " print(\"āœ… OpenAI API key loaded successfully\")\n", + "\n", + "print(\"šŸš€ All libraries imported successfully!\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 2. Data Fetching Tool\n", + "\n", + "This function fetches historical stock data using yfinance for any given symbol, period, and interval.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āœ… Successfully fetched 18 data points for ABUK.CA (1mo)\n", + "\n", + "šŸ“Š Sample data for ABUK.CA:\n", + " Open High Low Close Volume \\\n", + "Date \n", + "2025-05-29 00:00:00+03:00 49.000000 49.270000 48.099998 48.320000 971406 \n", + "2025-06-01 00:00:00+03:00 48.320000 48.840000 48.189999 48.400002 583557 \n", + "2025-06-02 00:00:00+03:00 48.400002 49.450001 48.500000 49.000000 648049 \n", + "2025-06-03 00:00:00+03:00 49.000000 49.470001 49.029999 49.090000 379774 \n", + "2025-06-04 00:00:00+03:00 49.090000 49.889999 48.970001 49.889999 592659 \n", + "\n", + " Dividends Stock Splits Capital Gains \n", + "Date \n", + "2025-05-29 00:00:00+03:00 0.0 0.0 0.0 \n", + "2025-06-01 00:00:00+03:00 0.0 0.0 0.0 \n", + "2025-06-02 00:00:00+03:00 0.0 0.0 0.0 \n", + "2025-06-03 00:00:00+03:00 0.0 0.0 0.0 \n", + "2025-06-04 00:00:00+03:00 0.0 0.0 0.0 \n" + ] + } + ], + "source": [ + "def fetch_history(symbol, period=\"1mo\", interval=\"1d\"):\n", + " \"\"\"\n", + " Fetch historical stock data using yfinance\n", + " \n", + " Args:\n", + " symbol (str): Stock ticker symbol (e.g., 'AAPL', 'MSFT')\n", + " period (str): Time period ('1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max')\n", + " interval (str): Data interval ('1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1wk', '1mo', '3mo')\n", + " \n", + " Returns:\n", + " pandas.DataFrame: Historical stock data with OHLCV columns\n", + " \"\"\"\n", + " try:\n", + " # Create ticker object\n", + " ticker = yf.Ticker(symbol)\n", + " \n", + " # Fetch historical data\n", + " df = ticker.history(period=period, interval=interval)\n", + " \n", + " if df.empty:\n", + " raise ValueError(f\"No data found for symbol: {symbol}\")\n", + " \n", + " print(f\"āœ… Successfully fetched {len(df)} data points for {symbol} ({period})\")\n", + " return df\n", + " \n", + " except Exception as e:\n", + " print(f\"āŒ Error fetching data for {symbol}: {str(e)}\")\n", + " return pd.DataFrame()\n", + "\n", + "# Test the function\n", + "test_symbol = \"ABUK.CA\"\n", + "test_data = fetch_history(test_symbol, \"1mo\", \"1d\")\n", + "if not test_data.empty:\n", + " print(f\"\\nšŸ“Š Sample data for {test_symbol}:\")\n", + " print(test_data.head())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 3. Analysis Tool\n", + "\n", + "This function analyzes the fetched data and computes key financial metrics.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "šŸ“ˆ Analysis Summary:\n", + " start_price: 48.32\n", + " end_price: 50.39\n", + " total_return_%: 4.28\n", + " volatility_%: 33.04\n", + " avg_volume: 965145\n", + " max_price: 51.5\n", + " min_price: 45.01\n", + " price_range_%: 14.42\n" + ] + } + ], + "source": [ + "def summarize(df):\n", + " \"\"\"\n", + " Analyze DataFrame and return key financial metrics\n", + " \n", + " Args:\n", + " df (pandas.DataFrame): Historical stock data with OHLCV columns\n", + " \n", + " Returns:\n", + " dict: Summary metrics including returns, volatility, and volume\n", + " \"\"\"\n", + " if df.empty:\n", + " return {\n", + " \"start_price\": 0,\n", + " \"end_price\": 0,\n", + " \"total_return_%\": 0,\n", + " \"volatility_%\": 0,\n", + " \"avg_volume\": 0,\n", + " \"max_price\": 0,\n", + " \"min_price\": 0,\n", + " \"price_range_%\": 0\n", + " }\n", + " \n", + " try:\n", + " # Basic price metrics\n", + " start_price = float(df['Close'].iloc[0])\n", + " end_price = float(df['Close'].iloc[-1])\n", + " max_price = float(df['High'].max())\n", + " min_price = float(df['Low'].min())\n", + " \n", + " # Calculate returns\n", + " total_return = ((end_price - start_price) / start_price) * 100\n", + " \n", + " # Calculate volatility (annualized)\n", + " daily_returns = df['Close'].pct_change().dropna()\n", + " volatility = daily_returns.std() * np.sqrt(252) * 100 # Annualized\n", + " \n", + " # Volume metrics\n", + " avg_volume = float(df['Volume'].mean())\n", + " \n", + " # Price range\n", + " price_range = ((max_price - min_price) / min_price) * 100\n", + " \n", + " summary = {\n", + " \"start_price\": round(start_price, 2),\n", + " \"end_price\": round(end_price, 2),\n", + " \"total_return_%\": round(total_return, 2),\n", + " \"volatility_%\": round(volatility, 2),\n", + " \"avg_volume\": int(avg_volume),\n", + " \"max_price\": round(max_price, 2),\n", + " \"min_price\": round(min_price, 2),\n", + " \"price_range_%\": round(price_range, 2)\n", + " }\n", + " \n", + " return summary\n", + " \n", + " except Exception as e:\n", + " print(f\"āŒ Error in analysis: {str(e)}\")\n", + " return {\"error\": str(e)}\n", + "\n", + "# Test the analysis function\n", + "if not test_data.empty:\n", + " test_summary = summarize(test_data)\n", + " print(\"\\nšŸ“ˆ Analysis Summary:\")\n", + " for key, value in test_summary.items():\n", + " print(f\" {key}: {value}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 4. Trade Decision Tool\n", + "\n", + "This function uses OpenAI GPT-4o-mini to provide intelligent trade recommendations based on multi-period analysis.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "šŸ¤– Getting AI trade advice...\n", + "\n", + "Trade Advice for ABUK.CA:\n", + "RECOMMENDATION: BUY\n", + "\n", + "**Justification:**\n", + "\n", + "1. **Price Movement**: The stock price has increased from $48.32 to $50.39 over the past month, representing a gain of 4.28%. This upward movement indicates positive momentum and investor interest.\n", + "\n", + "2. **Volatility**: The volatility of 33.04% is relatively high, which suggests that the stock may experience significant price fluctuations. While this can be a risk factor, it also indicates potential for higher returns, especially for investors who can tolerate short-term volatility.\n", + "\n", + "3. **Average Volume**: The average trading volume of 965,145 shares suggests healthy liquidity in the stock. High trading volume often correlates with strong investor interest and can lead to more stable price movements.\n", + "\n", + "4. **Price Range**: The price range of 14.42% indicates that the stock has experienced considerable price swings within the month. This can be viewed as a sign of volatility but also presents opportunities for traders to capitalize on price movements.\n", + "\n", + "5. **Risk Factors**: While the volatility is a concern, the positive total return and upward price trend suggest that the stock is currently in a bullish phase. Investors should be aware of the potential for increased risk but can also benefit from the potential upside.\n", + "\n", + "6. **Technical Indicators**: If we consider typical technical analysis indicators, such as moving averages or RSI (Relative Strength Index), a further analysis would likely show that the stock is either approaching or is in a bullish trend, supporting the BUY recommendation.\n", + "\n", + "In conclusion, given the recent price appreciation, healthy trading volume, and the potential for further gains despite the volatility, I recommend a BUY for ABUK.CA. Investors should, however, monitor the stock closely due to its high volatility.\n" + ] + } + ], + "source": [ + "def get_trade_advice(symbol, summaries):\n", + " \"\"\"\n", + " Get AI-powered trade advice using OpenAI GPT-4o-mini\n", + " \n", + " Args:\n", + " symbol (str): Stock ticker symbol\n", + " summaries (dict): Dictionary containing summaries for different periods\n", + " \n", + " Returns:\n", + " str: Trade advice from AI assistant\n", + " \"\"\"\n", + " if not openai.api_key:\n", + " return \"āŒ OpenAI API key not configured. Please set OPENAI_API_KEY environment variable.\"\n", + " \n", + " try:\n", + " # Build multi-period summary text\n", + " summary_text = f\"Stock Analysis for {symbol}:\\n\\n\"\n", + " \n", + " for period, data in summaries.items():\n", + " if \"error\" not in data:\n", + " summary_text += f\"{period.upper()} ANALYSIS:\\n\"\n", + " summary_text += f\" • Price: ${data['start_price']} → ${data['end_price']}\\n\"\n", + " summary_text += f\" • Total Return: {data['total_return_%']}%\\n\"\n", + " summary_text += f\" • Volatility: {data['volatility_%']}%\\n\"\n", + " summary_text += f\" • Average Volume: {data['avg_volume']:,}\\n\"\n", + " summary_text += f\" • Price Range: {data['price_range_%']}%\\n\\n\"\n", + " \n", + " # Create the prompt\n", + " prompt = f\"\"\"As a professional financial analyst, analyze the following stock data and provide a clear BUY/HOLD/SELL recommendation.\n", + "\n", + "{summary_text}\n", + "\n", + "Instructions:\n", + "1. Start your response with a clear decision: \"RECOMMENDATION: BUY/HOLD/SELL\"\n", + "2. Provide specific numerical justification based on the data\n", + "3. Consider multiple timeframes and risk factors\n", + "4. Keep your analysis concise but thorough\n", + "5. Include key metrics that support your decision\n", + "\n", + "Should I BUY/HOLD/SELL this stock? Justify with numbers.\"\"\"\n", + "\n", + " # Call OpenAI API\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"You are a professional financial analyst providing stock trading advice based on technical analysis.\"},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ],\n", + " max_tokens=500,\n", + " temperature=0.3\n", + " )\n", + " \n", + " advice = response.choices[0].message.content.strip()\n", + " return advice\n", + " \n", + " except Exception as e:\n", + " return f\"āŒ Error getting trade advice: {str(e)}\"\n", + "\n", + "# Test with dummy data\n", + "if not test_data.empty:\n", + " test_summaries = {\"1mo\": test_summary}\n", + " print(\"\\nšŸ¤– Getting AI trade advice...\")\n", + " test_advice = get_trade_advice(test_symbol, test_summaries)\n", + " print(f\"\\nTrade Advice for {test_symbol}:\")\n", + " print(test_advice)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 5. Sharia Compliance Tool\n", + "\n", + "This tool assesses whether a stock is compliant with Islamic Sharia principles by analyzing the company's business activities.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ā˜Ŗļø Testing Sharia compliance assessment...\n", + "\n", + "Sharia Assessment for ABUK.CA:\n", + "Ruling: DOUBTFUL\n", + "Confidence: 50%\n", + "Justification: The business description for ABUK.CA does not provide sufficient information regarding its specific activities, sector, or industry. Without clarity on whether the company engages in any HARAM activities or has excessive debt, it is difficult to make a definitive ruling. Given the lack of transparency, it is prudent to classify the company as DOUBTFUL.\n" + ] + } + ], + "source": [ + "def get_company_profile(symbol):\n", + " \"\"\"\n", + " Fetch company information from the internet\n", + " \n", + " Args:\n", + " symbol (str): Stock ticker symbol\n", + " \n", + " Returns:\n", + " str: Company description and business activities\n", + " \"\"\"\n", + " try:\n", + " # Use yfinance to get company info\n", + " ticker = yf.Ticker(symbol)\n", + " info = ticker.info\n", + " \n", + " company_info = \"\"\n", + " if 'longBusinessSummary' in info:\n", + " company_info = info['longBusinessSummary']\n", + " elif 'description' in info:\n", + " company_info = info['description']\n", + " else:\n", + " # Fallback: try to get basic info\n", + " company_info = f\"Company: {info.get('longName', symbol)}, \"\n", + " company_info += f\"Sector: {info.get('sector', 'Unknown')}, \"\n", + " company_info += f\"Industry: {info.get('industry', 'Unknown')}\"\n", + " \n", + " return company_info\n", + " \n", + " except Exception as e:\n", + " return f\"Unable to fetch company information for {symbol}: {str(e)}\"\n", + "\n", + "def assess_sharia(symbol):\n", + " \"\"\"\n", + " Assess Sharia compliance using AI analysis of company activities\n", + " \n", + " Args:\n", + " symbol (str): Stock ticker symbol\n", + " \n", + " Returns:\n", + " dict: Sharia ruling with confidence score and justification\n", + " \"\"\"\n", + " if not openai.api_key:\n", + " return {\n", + " \"ruling\": \"UNKNOWN\",\n", + " \"confidence\": 0,\n", + " \"justification\": \"OpenAI API key not configured\"\n", + " }\n", + " \n", + " try:\n", + " # Get company profile\n", + " company_profile = get_company_profile(symbol)\n", + " \n", + " # Create Sharia compliance prompt\n", + " prompt = f\"\"\"As an Islamic finance scholar, analyze the following company's business activities and determine if it is HALAL (permissible) or HARAM (forbidden) according to Islamic Sharia principles.\n", + "\n", + "Company: {symbol}\n", + "Business Description: {company_profile}\n", + "\n", + "Islamic Sharia Compliance Criteria:\n", + "- HARAM: Alcohol, gambling, adult entertainment, tobacco, conventional banking with interest (riba), insurance, pork products\n", + "- HARAM: Companies with >33% revenue from prohibited activities\n", + "- HARAM: Companies with excessive debt (debt-to-market cap >33%)\n", + "- HALAL: Technology, healthcare, retail (halal products), renewable energy, telecommunications\n", + "\n", + "Provide your assessment in the following format:\n", + "RULING: [HALAL/HARAM/DOUBTFUL]\n", + "CONFIDENCE: [0-100]\n", + "JUSTIFICATION: [Brief explanation of the ruling based on business activities]\n", + "\n", + "Be conservative in your assessment - when in doubt, classify as DOUBTFUL.\"\"\"\n", + "\n", + " # Call OpenAI API\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"You are an Islamic finance scholar specializing in Sharia compliance assessment for investments.\"},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ],\n", + " max_tokens=300,\n", + " temperature=0.2\n", + " )\n", + " \n", + " response_text = response.choices[0].message.content.strip()\n", + " \n", + " # Parse the response\n", + " ruling = \"UNKNOWN\"\n", + " confidence = 0\n", + " justification = response_text\n", + " \n", + " # Extract ruling\n", + " if \"RULING:\" in response_text:\n", + " ruling_line = [line for line in response_text.split('\\n') if 'RULING:' in line][0]\n", + " ruling = ruling_line.split('RULING:')[1].strip()\n", + " \n", + " # Extract confidence\n", + " if \"CONFIDENCE:\" in response_text:\n", + " confidence_line = [line for line in response_text.split('\\n') if 'CONFIDENCE:' in line][0]\n", + " try:\n", + " confidence = int(''.join(filter(str.isdigit, confidence_line)))\n", + " except:\n", + " confidence = 50\n", + " \n", + " # Extract justification\n", + " if \"JUSTIFICATION:\" in response_text:\n", + " justification = response_text.split('JUSTIFICATION:')[1].strip()\n", + " \n", + " return {\n", + " \"ruling\": ruling,\n", + " \"confidence\": confidence,\n", + " \"justification\": justification\n", + " }\n", + " \n", + " except Exception as e:\n", + " return {\n", + " \"ruling\": \"ERROR\",\n", + " \"confidence\": 0,\n", + " \"justification\": f\"Error assessing Sharia compliance: {str(e)}\"\n", + " }\n", + "\n", + "# Test Sharia assessment\n", + "print(\"\\nā˜Ŗļø Testing Sharia compliance assessment...\")\n", + "test_sharia = assess_sharia(test_symbol)\n", + "print(f\"\\nSharia Assessment for {test_symbol}:\")\n", + "print(f\"Ruling: {test_sharia['ruling']}\")\n", + "print(f\"Confidence: {test_sharia['confidence']}%\")\n", + "print(f\"Justification: {test_sharia['justification']}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 6. Charting Tool\n", + "\n", + "This function creates interactive price charts using Matplotlib for visualization in the Gradio interface.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "šŸ“Š Creating test chart...\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAA7h9JREFUeJzs3Xd4U2X7B/Bvkjbde7d0MgqFQsssG2RvVAQFWTL0FRUVXxEnvPBzoqLgAoECskWGKILMFplFWkahtHTSvXfTJjm/Pwqh6aItbU/H93Ndudozc+ckJ8m58zz3IxEEQQAREREREREREVEjkoodABERERERERERtT5MShERERERERERUaNjUoqIiIiIiIiIiBodk1JERERERERERNTomJQiIiIiIiIiIqJGx6QUERERERERERE1OialiIiIiIiIiIio0TEpRUREREREREREjY5JKSIiIiIiIiIianRMShEREdUTNzc3SCQSza05On36tNZjmDNnjtghNajW9niJiIiImhImpYiIqNEVFRVh7dq1GDp0KGxsbKCrqwszMzO4u7vDz88PL774In766SckJSVV2HbNmjVYvny55tYalE+clL1JpVKYmpqia9euWLx4McLCwsQOV1Rnz57FK6+8Ah8fH1hbW2teW927d8eiRYtw8uRJsUOsk6ysLK3Xvb+/v9ghaenatWuF1+b7779f7TbLly+v8nVtYGAAJycnDBs2DKtXr0ZOTk6l+5gzZ47WdlW9JwwZMkRrvfLHryb7SUxMRPv27bXW69atGzIyMmpyiCqIiorCBx98gIEDB8LBwQF6enowMjJChw4d8Nxzz2HHjh1QKBRVbl9SUgJra+sKx+7nn3+uUzxERERi0BE7ACIial0SEhIwfPhw3Lp1S2t+Tk4OcnJyEB0djYsXLwIAjIyM8Pzzz2utt2bNGsTExGimW0tiqiqCICA3NxfXr1/H9evX8eOPP+L777/HvHnz6rQ/uVwOOzs7zbSZmVl9hdqgEhISMHv2bBw/frzCspycHFy9ehVXr17F999/j08++QTvvPOOCFHWXVZWFlasWKGZHjx4cJNp1XXz5k1cv369wvwdO3Zg1apVddpnUVEREhISkJCQgJMnT2LNmjU4ffo02rVr97jh1klKSgqGDRuGiIgIzbxOnTrh+PHjsLS0rNW+iouLsWTJEvz4449Q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Q2FjYwMdHR0YGBjAw8MDkydPxtq1axEbG4s+ffrUOqY2bdrg5MmTOHPmDP7zn//A29sblpaWkMlkMDExgbe3NxYuXIhjx45h6dKl9XUoMHnyZPz9998YPHgwDA0NYWJign79+mHfvn14++236+1+AOC///0vvv32W/j4+NQ6cVdfdu7cqVXnaejQobC2tq5y/QkTJmglfENCQhAaGvrI+5FKpZrn7aWXXkJQUFCVx1MqlWLdunW4cOEC5s+fj44dO8LExAQ6OjqwsLBA79698c477+D27duYMWNGLR6tto8++gjvvPOO1rw///wTzz33XK1qfOnp6eH7779HWFgY3nvvPfTr1w92dnbQ1dWFgYEB2rZtiylTpmDr1q2aQrvlu+49+eST0NHRqfI+nnnmGa3pI0eOaLofExFR7fz7778QBAEdOnSAsbGx5nbmzBncvXsXAKBWq6FQKLB161YMHDgQQ4YMwcaNG3Hq1CmEhYWJ/AiaNokglKsgSURERERERETUCkkkEuzfv1/TEnj37t2YMWMGbt68WaGVq7GxMezt7fHRRx/h448/1mo9W1hYCENDQxw7dgwjRoxozIfQrFT9EwsRERERERERUSvm6+sLlUqFlJQUDBw4sNJ1+vfvD6VSibt376Jt27YAgDt37gAoHYCHqsaWUkRERERERETUauXl5SEiIgJAaRLqQbkBS0tLuLi44Pnnn8c///yDL7/8Er6+vkhLS8PJkyfh7e2NsWPHQq1Wo1evXjA2NsaaNWugVquxaNEimJqa4tixYyI/uqaNSSkiIiIiIiIiarVOnz5d6YAps2fPhr+/P0pKSrBq1Sps3boV8fHxsLKyQt++fbFixQp4e3sDABISEvDqq6/i2LFjMDIywpgxY/Dll1/C0tKysR9Os8KkFBERERERERERNTqOvkdERERERERERI2OSSkiIiIiIiIiImp0rWL0PaVSiatXr8LOzg5SKfNwRERERERERNQ41Go1kpOT4evrCx2dVpGGqbFWcTSuXr2K3r17ix0GEREREREREbVSly5dQq9evcQOo0lpFUkpOzs7AKUvAAcHB6jVaqSnp8PKyootp4geE88novrD84mo/vB8IqpfPKeI6i4xMRG9e/fW5CbooVaRlHrwpung4IA2bdpArVZDLpfD1taWb6hEj4nnE1H94flEVH94PhHVL55T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clREVF+afLouMTERM2fORMeOHfHaa69h5syZ2Llzp9hhETW6vVfuITItHwDQ290SQzrYiBwREVHzYWuij/7trAEAcRmF+Dc2S9yAiIjokQqLVViw9Qris0prRnVtY4avp/nwh1miFkT00ffKO336tNb0a6+9htdee02cYIiaiMJiFdYcv6OZXjq6I3/hJyKqpUk+Tgi8P1DEweB49HC1EDkiIiKqilotYMneYITEZQEAHM308fOsnjCQy6rfkIialSbfUoqIgC3no5GcowAAjPCy44UUEVEdjOpsBz2d0q8+f1xLRImKwzMTETVVq4+F4c/rSQAAI7kMG+f0gq1pxRHbiah5Y1KKqInLLijB96dKR9yTSoD/NtPivEREYjPR18XwTnYAgPT8YpyNSBM5IiIiqsyeoDh8f/ougNLvv+umd0cnB1ORoyKihsCkFFET98OZu8gpKi3s+FT3NuhgZyJyREREzdckH0fN/wevxosYCRERVebc3TS8+9vDEdqXT+yMoR1tRYyIiBpSk6spRUQPJWUXYfM/UQAAuUyKN0Z0EDkiIqKKwsLCHr3SY/D0rL8WokM8bWFmoIvswhIcC01GQbEShnJ+HSIiagpScxV4adsVKNUCAGBOPzfM6usmblBE1KDYUoqoCfvmRDgUytKaJzP7usLJ3EDkiIiImje5jhRjve0BAAXFKvwdmixyRERE9MDB4HhND4EnOtrig/FeIkdERA2NSSmiJioyNQ97guIAAMZ6Olg0tJ3IERERtQyTfJw0/x8MThAxEiIiKuuvG0ma/98f1wkyKUebJmrpmJQiaqK+PHYHqvtNlxcO8oClkVzkiIiIWobebpZwMCsdwSngTioy8otFjoiIiFJyinAlNhMA0MHOGB42xiJHRESNgUkpoibo2r0s/HE9EQBgbSzHvAHuIkdERNRySKUSTOxWWvBcqRY077dERCSeY6HJEEp/j8XozvbiBkNEjYZJKaIm6PO/HhYNfvWJ9jDSYxFeIqL6pNWFj6PwERGJ7ujNh133RnVhUoqotWBSiqiJORuehrMRaQAAZ0sDPNfbReSIiIhank4OJuhgV9o1JCgmE3EZBSJHRETUemUXlOD83XQAQBsLA3g5mIocERE1FialiJoQQRDw+dHbmuklIzwh1+FpSkRU3yQSiVZrqUMhLHhORCSWE7eTobxfS3V0Z3tIJCxwTtRa8GqXqAk5ciMJ1+5lAwA62ptoap4QEVH9K/seezA4HsKDYiZERNSoyo66N5pd94haFSaliJoIpUqN1Ucf1pJaOrojpBwGl4iowThbGqKnqwUA4E5yHm4n5YocERFR61NQrMSZO6kAABsTPXR3sRA5IiJqTExKETURe6/cQ2RaPgCgt7slhnjaiBwREVHLN8nnYWupA8EseE5E1NjOhKVCoVQDAEZ62fFHWSIAAQEBmDBhAhwdHSGRSHDgwIFq1//tt98wYsQI2NjYwNTUFH379sXRo0e11vH394dEIqlwKyoqasBH8mhMShE1AYXFKqw5fkczvXR0R/alJyJqBOO6OkLn/gXQ78EJUKvZhY+IqDH9dZNd94jKy8/PR7du3bBu3boarR8QEIARI0bgzz//xJUrVzB06FBMmDABV69e1VrP1NQUiYmJWjd9ff2GeAg1xnHmiZqALeejkZyjAACM8LJDD1c2WyYiagyWRnIM6mCDk7dTkJBdhMvRGejjYSV2WERErYJCqcLJWykAAFN9Hfjx/ZcIADBmzBiMGTOmxuuvWbNGa/rjjz/GwYMH8fvvv8PX11czXyKRwN6+aSV/2VKKSGTZBSX4/lQEAEAqAf47ylPkiIiIWhftLnwchY+IqLGcu5uOXIUSADDcyw66Ml6eUsuWm5uLnJwczU2hUDTI/ajVauTm5sLS0lJrfl5eHlxdXdGmTRuMHz++QksqMfCsJxLZjwF3kVNU+mH8VPc26GBnInJEREStywgvOxjKZQCAP68novh+bRMiImpYR8uOute5abXeIGoIXl5eMDMz09w++eSTBrmfL7/8Evn5+Zg6dapmXseOHeHv749Dhw5h586d0NfXR//+/REeHt4gMdQUu+8RiSg5pwib/4kCAMhlUrw+vL3IERERtT6Gch2M9LLDgeAEZBeW4MydVIzwshM7LCKiFk2lFnAsNBkAYKArw6AOHOSHWr7Q0FA4OTlppvX09Or9Pnbu3Inly5fj4MGDsLW11cz38/ODn5+fZrp///7o3r071q5di2+//bbe46gptpQiEtE3J8JRVFL6i/zMvq5oY2EockRERK3TJJ+HXxA5Ch8RUcO7HJ2BjPxiAMAQTxvo68pEjoio4ZmYmMDU1FRzq++k1O7duzFv3jzs2bMHw4cPr3ZdqVSKXr16id5SikkpIpFEpuZh9+U4AICxng4WDW0nckRERK3XgPbWsDSSAwCOhyYjt6hE5IiIiFq2v25w1D2i+rRz507MmTMHO3bswLhx4x65viAICA4OhoODQyNEV7U6J6UKCwsRFRWF0NBQpKSk1GdMRK3Cl3/fger+0OMLB3loLoaIiKjx6cqkGN+19EuZQqnGsZvJIkdERNRyCYKAYzdLk1K6MgmGdrR9xBZErUteXh6Cg4MRHBwMAIiKikJwcDBiY2MBAMuWLcOsWbM06+/cuROzZs3Cl19+CT8/PyQlJSEpKQnZ2dmadVasWIGjR48iMjISwcHBmDdvHoKDg/HSSy816mMrr1ZJqfj4eCxfvhy9evWCqakp2rVrB29vbzg4OMDW1hbPPPMMDh48CLWaBUKJqnP9Xjb+uJYIALA2lmPeAHeRIyIiIu1R+NiFj4iooVyPz0ZCdhEAoH87a5jq64ocEVHTEhQUBF9fX/j6+gIA3nzzTfj6+uLDDz8EACQmJmoSVADw008/QalUYtGiRXBwcNDcFi9erFknKysLCxcuRKdOnTBy5EjEx8cjICAAvXv3btwHV06NCp0nJibi3Xffxfbt22FkZIR+/frhnXfega2tLfT19ZGRkYHIyEhcuHABTz75JFxdXfHJJ5/g2Wefbej4iZqlz4/e1vz/6hPtYaTHMQeIiMTW3cUCzpYGiMsoxD8RaUjJLYKtib7YYRERtTh/cdQ9omoNGTIEgiBUudzf319r+vTp04/c59dff42vv/76MSOrfzW6Eu7QoQN69+6NXbt2YcKECdDVrTqTHRkZic2bN2PRokWIj4/HkiVL6i1Yopbgn4g0BIanAQCcLQ3wXG8XkSMiIiIAkEgkmNTNCetORUAtAH9cS8Tc/mzJSkRUnwRB0CSlpBJgOEc7JWrVatR97+DBgzhx4gSeeuqpahNSAODh4YGVK1ciMjISw4YNq5cgiVoKQRDw2V8PW0ktGeEJuQ7HGyAiaiq0u/AliBgJEVHLFJGSh8i0fABALzdLWBvX7+hjRNTwCgsLER8fD6VS+dj7qtHV8BNPPFHrHZuZmcHHx6fW2xG1ZEduJOHavdJicx3tTTCxm+MjtiAiosbU3s4EXg6mAICQuCxE3b9wIiKi+sFR94iar1OnTqFv374wMTGBq6srrl27BgBYtGgRfvvttzrtk000iBqJUqXG6qNhmumloztCKpWIGBEREVVmsu/DHwwOsbUUEVG9+uvmw6TUKNaTImo2Tp48iZEjR6KoqAhvvfWW1gB31tbWFepc1dRjJ6WSkpLw8ssvY8qUKfjll18ed3dELdbeK/c0TZV7u1liiKeNyBEREVFlJnRzhOT+bwYHg+OrLTRKREQ1F5dRgJsJOQCAbm3M4GhuIHJERFRTH374IcaOHYurV69i1apVWsu6deuG4ODgOu23VkN+zZw5E0VFRdi7dy8AQK1W44knnkBkZCSsra2xf/9+FBUVYf78+XUKhqilKipRYc3xO5rppWM8IZGwlRQRUVPkYGaAPu6WuBCZgci0fFyPz0bXNuZih0VE1OwdLdNKaiRbSRE1K1evXtXkgspfy9rY2CAlJaVO+61VS6mAgACMHTtWM3348GFEREQgKCgI9+7dw/z58/Hdd9/VKRCilsz/XDSScxQAgOGd7NDD1VLkiIiIqDqTfZw0/x9kFz4ionrBelJEzZeOjg5KSkoqXZaSkgITE5M67bdGSanY2FjExMQgKSkJhoaGiI2NRWxsLI4cOQJfX1+YmZkhNjYWEyZMwN27dxEXF4fY2Fjk5OTUKSiiliS7oATfn4oAAEgkwNujPUWOiIiIHmVMFwfIZaVfk34PSYBKzS58RESPIyW3CFdiMwEA7W2N0dbGWOSIiKg2evXqhW3btlW67Ndff0Xfvn3rtN8add+bPXs2AKCkpARffvkljIyMAJQ237K0tMSsWbMAAAqFAvn5+Zr158yZo1lG1Fr9GHAXOUWlQ2U+5dsGHezqlkEmIqLGY2aoiyGeNjgWmoyUXAXO303HgPbWYodFRPRYwsLCHr1SFQRBQFZWFrKysqosQ+HpWfWPr3+HJuNBiT62kiJqft555x2MGjUKTz75JGbNmgWJRIKLFy9i06ZN+PXXX3Hq1Kk67bdGSakHO7e1tcX/t3ff4VFW6f/HP5M2KaSQQhoQAkho0pEO8kVAbFhw0bULKqKrwq6FVX+rroqsrqKrgg3R1RVcWQQFCxZABaQGQZpAIEAaSUgnbeb5/REYEiEhCZk8M8n7dV1zXTPPnDnnfiZzptw55b777tONN96o0tJSRUZG6vnnn9c111wjqSJJNWbMGH333Xf1CgZoatLzivXuT0mSJB9PD00bfZ7JEQEAauvK3rH6eke6pIoFz0lKAUD9VZ66x657gPu56KKL9N577+mBBx7QkiVLJEn33HOPQkJCNH/+fA0dOrRe9dZpofORI0fq4Ycf1rFjx7Rq1SpHYCdt27ZNHTt2rFcgQFP08re/qbisYqvMGwfGqXVLf5MjAgDU1v91bqUWVi8VlJTry+1p+vuV3eXr7Wl2WADgdnKLyrR2X5YkqXVLP3WLCTI5IgD1ceONN+qaa67RmjVrlJ6ervDwcA0ZMsQxm64+6pSU+uc//6mrrrpK999/v1q0aKG33npLwcHBjvvnzJlTZSF0oDlLyizUwg2HJEktrF66Z2QHkyMCANSFr7enLu4epU82HVZ+Sbm+25WhS86PNjssAHA73+5KV/mJtfku7hbFLtSAG/Pz89OoUaMarL46JaVat26tDRs2KCcnR0FBQfLwqLpO+oIFC9SqVasGCw5wZy98vduxMO4dw9orrIXV5IgAAHV1Za9YfbLpsKSKKXwkpQCg7th1D2g6fv31Vx08eFDFxcWn3Xf11VfXub46JaVOCgkJOePxuLi4+lQHNDnbDudq2S+pkqSwAB9NHhZvckQAgPoY1CFMEYFWHc0v0fe7jiq3qEzB/t5mhwUAbqOotFyr9hyVJEUEWtWnbUuTIwJQH/v27dOECRP0yy+/SKrY/KAyi8Uim81W53prlZQqLCys1xzB+j4OcHf/+GqX4/qf/q+jAqz1yv8CAEzm6WHR5T1iNO+nJJXa7Ppie6quu6Ct2WEBgNtYtfuoSsor1lgd3TVSHh5M3QPc0Z133qm0tDS99NJL6tKli3x8fBqk3lr9Uo6Pj9eMGTM0adIkBQWdfVG6DRs26O9//7v69++vxx9//JyDBNzJT3sz9cNvmZIqFnL84wBGEAKAO7uyd0VSSpKWJKaQlAKAOvjy10pT99h1D3Bb69ev11tvvaXrrruuQev1OHsR6YUXXtCLL76o6OhoXXfddXrjjTe0YcMGHTx4UOnp6dq5c6c+//xzPfbYYzr//PM1cOBABQQE6Pbbb2/QYAFXZxiGZn15apTUn8d0ko9XrboZAMBFnR8brPjwipHf65KylJZ7+hoKAIDTlZTb9N3ODElSkK+XBrYPMzkiAPUVERFRZaO7hlKrkVI333yzrr32Ws2fP19z587Vxx9/fNqOCYZhyM/PTxMmTND8+fPVt2/fBg8WcHVfbE/TL4dzJUmdowI1vmesyREBAM6VxWLR+F4xmv3NbzIMaenWI7pzODuqAsDZrNmXpfyScknSRV0i+Wct4MbuvvtuvfXWWxo3blyD1lvrhW78/Px099136+6779aRI0e0Zs0apaSk6Pjx4woPD1fnzp01YMAAeXuz+Ceap3KbXS98tdtx+6GLE5gzDwBNxPhesZr9zW+SKqbwkZQCgLP7utLUvbHsuge4tQcffFB//vOf1bdvX40bN06hoaFV7rdYLJo2bVqd663X6suxsbG69tpr6/NQoMn676bD2p9ZKEm6oF2oRia0MjkiAEBDiQ8PUM/Wwdp6OFe/puRpb0a+OrYKNDssAHBZNruhr39NlyT5eXtq+HkRJkcE4Fz8/PPPeu+995Sdna0tW7acdn+jJqUAVFVcZtPsb/Y4bj88LuG0Ka4AAPc2vlestp6Yov3plhT9ZWyCyREBgOvaeCBbWYWlkqQLEyLk5+NpckQAzsW9996r8PBwzZs3r/F33wNQs/lrDig9r0RSxXz5vnGhZ3kEAMDdXNYzWk8v2yG7IS3ZekR/HtOJf0AAQDWq7LrH1D3A7f36669asGCBrrjiigatl5XmgHOUW1Sm17/fK0myWKQH+c85ADRJrQJ9NaRjuCTpUPZxbU7OMTcgAHBRhmHoq+0VSSlvT4tGdmZZC8DdtW3bVoZhNHi9jJQCztHc1fuUV1yxq8jVvVsrIYo1RoDmbPfu3WcvVA3DMJSTk6OcnJxqR+AkJJD4NtP4XrH64bdMSdKSxCPqG9fS5IgAwPVsO5KrlNxiSdKQjuEK8mUzLMDdPfLII3rhhRc0duxY+fr6Nli9JKWAc5CeV6x3f0qSJPl4emja6PNMjggA4Exju0Xq0cUeKim3a9kvqXr8sq7y9mTgOQBU9uX2SrvudWPqHtAUbN68WUeOHFGHDh00cuTIM+6+9/LLL9e5XpJSwFkUl9mUVViq7IJSZRWWKKugVNmFpcoqLNWGA9kqLrNLkm4cGKfWLf1NjhYA4EyBvt66qEuklm1LVVZhqX7cm8luqwBQiWEYjqSUxSKN7hppckQAGsKrr77quP6f//zntPsbNSm1a9cuPfnkk1q5cqWysrK0bt069enTR08++aSGDx+ukSNH1qdaoFHUlGTKKig5db2wRNkFpSostZ21zhZWL90zskMjRA8AMNv4XjFati1VkrRkyxGSUgBQyd6MAu3PLJQk9W8XqvAWVpMjAtAQ7Ha7U+qtc1IqMTFRw4YNU2BgoC688EJ9/PHHjvsKCgo0d+5cklJoVM5IMtWFh0V6+OIEhfGBCwDNwoUJrRTs563c42X6eke6ikrL5e/D4HMAkKpO3buYqXsAzqLO36AeeeQR9ejRQytWrJCPj48WLlzouO+CCy7QokWLGjRAND9mJ5lOaunvrdAAH4UFWBXWwufEdR+FtbBWuR4V5KtgfxZvBIDmwsfLQ5ecH6WP1h9SUalNK3aka3yvWLPDAgCX8OWvldaT6k5SCkDN6pyU+umnn/TBBx/I399fNlvVZEBkZKTS0tKqeSSaK3dLMoUG+Kilv7e8WLgWAFCN8b1i9dH6Q5KkJYkpJKUAQNKh7CL9mpInSerROlixIX4mRwSgoXh4eFS7O/RJv88R1Uadk1KGYcjHx+eM9x07dkxWK1OYmjqSTACA5u6CdqGKDvZVam6xVu85quzCUoUGnPn7EQA0F1/9yq57QFP1//7f/zstKXX06FF9/fXXstlsuvnmm+tVb52TUj169NDixYs1bty40+778ssv1bdv33oFAvO4SpIpxN+7IpEUcCKp1IIkEwDANXl4WHRFzxi9sXq/yu2Glm1L1U0D48wOCwBMVTkpdTFT94Am5Yknnjjj8dLSUo0dO1atWtVv45c6J6Xuv/9+/fGPf1RAQIBuuukmSVJycrK+++47zZs3T5988km9AkHDcfUkU+iJ5FJYgI9CW1TcT5IJAOBuxveK1Rur90uq2IWPpBSA5iz3eJk2HjwmSTqvVQt1iGhhckQAGoOPj4/+9Kc/6eGHH9bdd99d58fXOSk1ceJE7du3T0888YReeeUVSdI111wjLy8vPfnkk7r88svrHAQaztH8EvV/5hun1E2SCQCAU7pEB6pTZAvtSS/QxoPHdCi7SG1C/c0OCwBMkXgoR4ZRcZ2pe0Dz4ufnp9TU1Ho9tl77F//1r3/VzTffrK+++krp6ekKDw/X2LFjFRfHfwjN1rIOu8CRZAIAoP4sFovG94rV81/tliQt3Zqie0Z2NDkqADDHpoPHJFX8XmDqHtB8HD16VM8//7wSEhLq9fh6JaUkqXXr1po0aVJ9Hw4n8fL00MiECFm9PBXawkfhJ5JMoS2sFddPLAge6u9DkgkAgHN0Rc8YR1JqSeIRTb2ww1l3pnFHu3fvdmr99f0iC8A1FJXYtDstX1LFjnvdYoLMDglAA4uPjz/tO05JSYkyMjLk4eGhpUuX1qveOielPv/8cx04cED33nvvafe99tprio+P1yWXXFKvYNAw3r3tArNDAACgWWgT6q9+cS218eAx7Ukv0K60fHWJ5scYgOZl6+Ec2ewVc/cu7h7VJJPzQHM3YsSI0/q2r6+v2rVrp4kTJ6pdu3b1qrfOSalnnnlG48ePP+N9hYWFevbZZ0lKAQCAZmN8rxjH4r6fJh4hKQWg2dmcfMxxnal7QNM0f/58p9Rb5/lbu3btUp8+fc54X+/evbVjx45zDgoAAMBdXNojRl4eFf85/CwxRfYTowUAoDkoKbdp+5FcSVJ4C6v6tG1pckQA3EmdR0qVlJSotLS02vuOHz9+zkEBAAC4i9AAHw3vFKHvdmUoJbdYGw5ka0D7MLPDAoBGsf1InspsFcn4Md0i5enB1D2gqXj//ffrVP7mm2+ucxt1TkolJCTo888/12WXXXbafZ9//rk6depU5yAAAADc2fheMfpuV4Yk6dPEFJJSAJqNLZWn7nVj6h7QlNx66621LmuxWBonKXX77bdr2rRpioyM1NSpUxUZGan09HTNmTNHb7/9tl588cU6BwEAAODORneNlL+Pp4pKbVq+LVVPXtFNPl7scgugaSu3Gdp6qGLqnr+PpwaSkAealKSkJKe3Ueek1L333qsNGzbo73//u55++ml5enrKZrPJMAzddNNNuu+++5wRJwAAgMvy9/HSmK6R+jQxRbnHy7Rqz1GN7hppdlgA4FQ70/J0vMwmSerZOoRkPNDExMXFOb2NOielLBaL3n//fd1xxx368ssvdfToUUVERGjcuHEaOnSoM2IEAABweeN7xerTxBRJFbvwkZQC0NRVnrrXu22IeYEAaDT5+flau3atsrKyFB4eroEDByowMLDe9dU5KXXSsGHDNGzYsHo3DAAA0JQMPS9coQE+yi4s1Tc70pVfXKZAX2+zwwIAp7AbhrYk50iSvL0s6h4bbG5AAJzuhRde0JNPPqmioiIZhiGLxSJ/f389+eSTmj59er3qZHwlAABAA/D29NBlPaIlSSXldn39a7rJEQGA8+xNL1B+cbkk6fwYpu4BTd3777+vhx56SMOHD9eCBQv0ww8/aMGCBRoxYoQefPBB/fvf/65XvbV652jfvr22bt0qSYqPj1f79u2rvXTo0KFegQAAALi78b1iHNc/TTxiYiQA4FybK03d6xMXYl4gQBO0evVqXX755YqJiZHFYtGnn3561sesWrVKffv2la+vr9q3b6+5c+eeVmbRokXq2rWrrFarunbtqsWLF9c6ppdeekl//OMftWzZMl177bUaMmSIrr32Wn3++ee6/vrr9dJLL9XlFB1qNX1vxIgRCgoKcly3WCz1agwAAKAp69O2pdqE+ulQ9nH9tDdTGfnFahXoa3ZYANCgDMNwJKU8PSzq0TrE3ICAJqawsFA9e/bUbbfdpmuuueas5ZOSknTJJZfojjvu0AcffKCffvpJU6dOVUREhOPxa9eu1cSJE/X3v/9dV111lRYvXqw//OEP+vHHHzVgwICztrFr1y7NnDnzjPfdeOONuuqqq+p2kifUKin17rvvOq7Pnz+/Xg0BAAA0dRaLReN7xurV7/fKbkjLfknVbUPizQ4LABrUwewiZReWSZK6RAfK38fT5IiApmXcuHEaN25crcvPnTtXbdu21ezZsyVJXbp00caNG/XCCy84klKzZ8/W6NGjNWPGDEnSjBkztGrVKs2ePVsfffTRWdvw8/NTdnb2Ge/Lzs6Wn59freOtrE4Tf48fP64hQ4bom2++qVdjAAAATV3VKXwpJkYCAM6x+WClqXttW5oYCQCpYhTUmDFjqhwbO3asNm7cqLKyshrLrFmzplZtDBs2TE888YRSUqp+t0lLS9NTTz2l4cOH1yv2Ou2+5+fnp23btsnLq96b9gEAADRp50UGqmt0kHak5mnroRwlZRYqPjzA7LAAoME41pOySL3ahpgaC+BO8vPzlZeX57httVpltVrPud60tDRFRkZWORYZGany8nJlZmYqOjq62jJpaWnV1nv06FFFRERIkp555hkNHjxYHTt21KhRoxQdHa3U1FR999138vb21v/+9796xV7nLRIGDRqk9evX16sxAACA5uDK3qdGSy1ltBSAJiQ157jSckskSee1aqEgX2+TIwLcR9euXRUcHOy4VLdGU338fu1vwzBOO36mMjWtGR4bG6sJEyboiy++ULdu3bRx40aNHz9eGzZs0LvvvqsNGzboyiuv1Pr169W1a9d6xV3nIU///Oc/NX78eEVFRenqq69WixYt6tUwAABAU3V5zxjN/GKXDENaknhE943qyEYxAJqEzck5jut9mbqHE3bv3u30NhISEpzehrPt2LFD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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_price(df, symbol):\n", + " \"\"\"\n", + " Create a price chart using Matplotlib\n", + " \n", + " Args:\n", + " df (pandas.DataFrame): Historical stock data\n", + " symbol (str): Stock ticker symbol\n", + " \n", + " Returns:\n", + " matplotlib.figure.Figure: Price chart figure\n", + " \"\"\"\n", + " if df.empty:\n", + " # Create empty figure with error message\n", + " fig, ax = plt.subplots(figsize=(12, 6))\n", + " ax.text(0.5, 0.5, f'No data available for {symbol}', \n", + " horizontalalignment='center', verticalalignment='center',\n", + " transform=ax.transAxes, fontsize=16)\n", + " ax.set_title(f'Stock Price Chart - {symbol}')\n", + " return fig\n", + " \n", + " try:\n", + " # Create figure and axis\n", + " fig, ax = plt.subplots(figsize=(12, 6))\n", + " \n", + " # Plot closing price\n", + " ax.plot(df.index, df['Close'], linewidth=2, label='Close Price', color='#1f77b4')\n", + " \n", + " # Add volume as secondary axis\n", + " ax2 = ax.twinx()\n", + " ax2.bar(df.index, df['Volume'], alpha=0.3, color='gray', label='Volume')\n", + " \n", + " # Formatting\n", + " ax.set_title(f'Stock Price Chart - {symbol}', fontsize=16, fontweight='bold')\n", + " ax.set_xlabel('Date', fontsize=12)\n", + " ax.set_ylabel('Price ($)', fontsize=12)\n", + " ax2.set_ylabel('Volume', fontsize=12)\n", + " \n", + " # Add grid\n", + " ax.grid(True, alpha=0.3)\n", + " \n", + " # Format dates on x-axis\n", + " ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))\n", + " ax.xaxis.set_major_locator(mdates.WeekdayLocator(interval=1))\n", + " plt.xticks(rotation=45)\n", + " \n", + " # Add legends\n", + " ax.legend(loc='upper left')\n", + " ax2.legend(loc='upper right')\n", + " \n", + " # Add price statistics\n", + " current_price = df['Close'].iloc[-1]\n", + " price_change = df['Close'].iloc[-1] - df['Close'].iloc[0]\n", + " price_change_pct = (price_change / df['Close'].iloc[0]) * 100\n", + " \n", + " stats_text = f'Current: ${current_price:.2f} | Change: ${price_change:.2f} ({price_change_pct:+.2f}%)'\n", + " ax.text(0.02, 0.98, stats_text, transform=ax.transAxes, \n", + " bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.8),\n", + " verticalalignment='top', fontsize=10)\n", + " \n", + " # Tight layout\n", + " plt.tight_layout()\n", + " \n", + " return fig\n", + " \n", + " except Exception as e:\n", + " # Create error figure\n", + " fig, ax = plt.subplots(figsize=(12, 6))\n", + " ax.text(0.5, 0.5, f'Error creating chart: {str(e)}', \n", + " horizontalalignment='center', verticalalignment='center',\n", + " transform=ax.transAxes, fontsize=16)\n", + " ax.set_title(f'Stock Price Chart - {symbol}')\n", + " return fig\n", + "\n", + "# Test the plotting function\n", + "if not test_data.empty:\n", + " print(\"\\nšŸ“Š Creating test chart...\")\n", + " test_fig = plot_price(test_data, test_symbol)\n", + " plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 7. Gradio Chat Interface\n", + "\n", + "This section creates the main Gradio interface with a two-column layout for stock analysis and Sharia compliance assessment.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "šŸš€ Creating Gradio interface...\n", + "āœ… Interface created successfully!\n", + "🌐 Launch the interface by running: demo.launch()\n" + ] + } + ], + "source": [ + "def analyze_stock(symbol):\n", + " \"\"\"\n", + " Main analysis function that combines all tools\n", + " \n", + " Args:\n", + " symbol (str): Stock ticker symbol\n", + " \n", + " Returns:\n", + " tuple: (trade_advice, sharia_dict, price_chart)\n", + " \"\"\"\n", + " if not symbol or not symbol.strip():\n", + " return (\"Please enter a valid stock symbol.\", {}, None)\n", + " \n", + " symbol = symbol.strip().upper()\n", + " \n", + " try:\n", + " # Update status\n", + " status_message = f\"šŸ”„ Analyzing {symbol}...\"\n", + " print(status_message)\n", + " \n", + " # Fetch data for multiple periods\n", + " periods = [\"1mo\", \"1y\", \"5y\"]\n", + " summaries = {}\n", + " \n", + " for period in periods:\n", + " print(f\"šŸ“ˆ Fetching {period} data...\")\n", + " df = fetch_history(symbol, period, \"1d\")\n", + " if not df.empty:\n", + " summaries[period] = summarize(df)\n", + " else:\n", + " summaries[period] = {\"error\": f\"No data for {period}\"}\n", + " \n", + " # Get 1-month data for chart\n", + " df_1mo = fetch_history(symbol, \"1mo\", \"1d\")\n", + " \n", + " # Get trade advice\n", + " print(\"šŸ¤– Getting AI trade advice...\")\n", + " trade_advice = get_trade_advice(symbol, summaries)\n", + " \n", + " # Get Sharia assessment\n", + " print(\"ā˜Ŗļø Assessing Sharia compliance...\")\n", + " sharia_assessment = assess_sharia(symbol)\n", + " \n", + " # Create price chart\n", + " print(\"šŸ“Š Creating price chart...\")\n", + " price_chart = plot_price(df_1mo, symbol)\n", + " \n", + " print(f\"āœ… Analysis complete for {symbol}\")\n", + " \n", + " return (trade_advice, sharia_assessment, price_chart)\n", + " \n", + " except Exception as e:\n", + " error_msg = f\"āŒ Error analyzing {symbol}: {str(e)}\"\n", + " print(error_msg)\n", + " return (error_msg, {\"error\": str(e)}, None)\n", + "\n", + "# Create Gradio Interface\n", + "def create_interface():\n", + " \"\"\"Create and return the Gradio interface\"\"\"\n", + " \n", + " with gr.Blocks(title=\"Stock Analysis & Sharia Compliance\", theme=gr.themes.Soft()) as interface:\n", + " \n", + " # Header\n", + " gr.Markdown(\"\"\"\n", + " # šŸ“ˆ Stock Analysis & Sharia Compliance Tool\n", + " \n", + " **Get comprehensive stock analysis with AI-powered trade recommendations and Islamic Sharia compliance assessment.**\n", + " \n", + " *Enter a stock ticker (e.g., AAPL, MSFT, GOOGL) and click Analyze to get started.*\n", + " \"\"\")\n", + " \n", + " with gr.Row():\n", + " # Left Column - Inputs and Results\n", + " with gr.Column(scale=1):\n", + " gr.Markdown(\"### šŸ“Š Stock Analysis\")\n", + " \n", + " # Input section\n", + " with gr.Group():\n", + " ticker_input = gr.Textbox(\n", + " label=\"Stock Ticker Symbol\",\n", + " placeholder=\"Enter ticker (e.g., AAPL, MSFT, GOOGL)\",\n", + " value=\"AAPL\"\n", + " )\n", + " analyze_button = gr.Button(\"šŸ” Analyze Stock\", variant=\"primary\", size=\"lg\")\n", + " \n", + " # Trade advice output\n", + " with gr.Group():\n", + " gr.Markdown(\"### šŸ¤– AI Trade Recommendation\")\n", + " trade_advice_output = gr.Textbox(\n", + " label=\"Trade Advice\",\n", + " lines=8,\n", + " placeholder=\"AI trade recommendation will appear here...\"\n", + " )\n", + " \n", + " # Sharia compliance output\n", + " with gr.Group():\n", + " gr.Markdown(\"### ā˜Ŗļø Sharia Compliance Assessment\")\n", + " sharia_output = gr.JSON(\n", + " label=\"Sharia Ruling\",\n", + " value={\"ruling\": \"Not analyzed\", \"confidence\": 0, \"justification\": \"Click Analyze to assess\"}\n", + " )\n", + " \n", + " # Right Column - Chart\n", + " with gr.Column(scale=1):\n", + " gr.Markdown(\"### šŸ“ˆ Price Chart (1 Month)\")\n", + " chart_output = gr.Plot(\n", + " label=\"Stock Price Chart\",\n", + " value=None\n", + " )\n", + " \n", + " # Examples section\n", + " with gr.Row():\n", + " gr.Markdown(\"\"\"\n", + " ### šŸ’” Example Tickers to Try:\n", + " - **AAPL** - Apple Inc. (Technology)\n", + " - **MSFT** - Microsoft Corporation (Technology) \n", + " - **BRK-B** - Berkshire Hathaway (Conglomerate)\n", + " - **JNJ** - Johnson & Johnson (Healthcare)\n", + " - **BAC** - Bank of America (Banking - may be Haram)\n", + " - **KO** - Coca-Cola (Beverages)\n", + " \n", + " *Note: Add \".CA\" suffix for Canadian stocks (e.g., \"SHOP.TO\" for Toronto Stock Exchange)*\n", + " \"\"\")\n", + " \n", + " # Wire up the interface\n", + " analyze_button.click(\n", + " fn=analyze_stock,\n", + " inputs=[ticker_input],\n", + " outputs=[trade_advice_output, sharia_output, chart_output],\n", + " show_progress=True\n", + " )\n", + " \n", + " # Add example buttons\n", + " with gr.Row():\n", + " example_buttons = [\n", + " gr.Button(\"šŸ“± AAPL\", size=\"sm\"),\n", + " gr.Button(\"šŸ’» MSFT\", size=\"sm\"),\n", + " gr.Button(\"šŸ¦ BAC\", size=\"sm\"),\n", + " gr.Button(\"🄤 KO\", size=\"sm\")\n", + " ]\n", + " \n", + " # Wire example buttons\n", + " for button, ticker in zip(example_buttons, [\"AAPL\", \"MSFT\", \"BAC\", \"KO\"]):\n", + " button.click(\n", + " fn=lambda t=ticker: t,\n", + " outputs=[ticker_input]\n", + " )\n", + " \n", + " return interface\n", + "\n", + "# Create the interface\n", + "print(\"šŸš€ Creating Gradio interface...\")\n", + "demo = create_interface()\n", + "\n", + "print(\"āœ… Interface created successfully!\")\n", + "print(\"🌐 Launch the interface by running: demo.launch()\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 8. Launch the Interface\n", + "\n", + "Run the cell below to launch the Gradio interface. It will open in your browser and provide an interactive chat interface for stock analysis.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "šŸš€ Launching Stock Analysis & Sharia Compliance Interface...\n", + "šŸ“ Make sure you have set your OPENAI_API_KEY environment variable\n", + "🌐 The interface will open in your browser\n", + "* Running on local URL: http://0.0.0.0:7861\n", + "* Running on public URL: https://83c8badbf7f5d179dd.gradio.live\n", + "\n", + "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "šŸ”„ Analyzing AAPL...\n", + "šŸ“ˆ Fetching 1mo data...\n", + "āœ… Successfully fetched 22 data points for AAPL (1mo)\n", + "šŸ“ˆ Fetching 1y data...\n", + "āœ… Successfully fetched 250 data points for AAPL (1y)\n", + "šŸ“ˆ Fetching 5y data...\n", + "āœ… Successfully fetched 1256 data points for AAPL (5y)\n", + "āœ… Successfully fetched 22 data points for AAPL (1mo)\n", + "šŸ¤– Getting AI trade advice...\n", + "ā˜Ŗļø Assessing Sharia compliance...\n", + "šŸ“Š Creating price chart...\n", + "āœ… Analysis complete for AAPL\n", + "šŸ”„ Analyzing ABUK...\n", + "šŸ“ˆ Fetching 1mo data...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "HTTP Error 404: \n", + "$ABUK: possibly delisted; no price data found (period=1mo) (Yahoo error = \"No data found, symbol may be delisted\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", + "šŸ“ˆ Fetching 1y data...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "$ABUK: possibly delisted; no price data found (period=1y) (Yahoo error = \"No data found, symbol may be delisted\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", + "šŸ“ˆ Fetching 5y data...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "$ABUK: possibly delisted; no price data found (period=5y) (Yahoo error = \"No data found, symbol may be delisted\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "$ABUK: possibly delisted; no price data found (period=1mo) (Yahoo error = \"No data found, symbol may be delisted\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", + "šŸ¤– Getting AI trade advice...\n", + "ā˜Ŗļø Assessing Sharia compliance...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "HTTP Error 404: \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "šŸ“Š Creating price chart...\n", + "āœ… Analysis complete for ABUK\n" + ] + } + ], + "source": [ + "# Launch the Gradio interface\n", + "if __name__ == \"__main__\":\n", + " print(\"šŸš€ Launching Stock Analysis & Sharia Compliance Interface...\")\n", + " print(\"šŸ“ Make sure you have set your OPENAI_API_KEY environment variable\")\n", + " print(\"🌐 The interface will open in your browser\")\n", + " \n", + " # Launch with sharing enabled for easy access\n", + " demo.launch(\n", + " share=True, # Creates a public link for sharing\n", + " server_name=\"0.0.0.0\", # Allow external access\n", + " show_error=True, # Show detailed error messages\n", + " quiet=False # Show startup logs\n", + " )\n" + ] + }, + { + "cell_type": "raw", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "## 9. Usage Instructions & Requirements\n", + "\n", + "### šŸ“‹ Prerequisites\n", + "\n", + "Before running this notebook, make sure you have the following installed:\n", + "\n", + "```bash\n", + "pip install yfinance openai pandas matplotlib gradio requests beautifulsoup4 numpy\n", + "```\n", + "\n", + "### šŸ”‘ API Key Setup\n", + "\n", + "Set your OpenAI API key as an environment variable:\n", + "\n", + "```bash\n", + "export OPENAI_API_KEY=\"your-api-key-here\"\n", + "```\n", + "\n", + "Or in Python:\n", + "```python\n", + "import os\n", + "os.environ[\"OPENAI_API_KEY\"] = \"your-api-key-here\"\n", + "```\n", + "\n", + "### šŸš€ How to Use\n", + "\n", + "1. **Run all cells** in this notebook to initialize all functions\n", + "2. **Launch the interface** by running the launch cell\n", + "3. **Enter a stock ticker** (e.g., AAPL, MSFT, GOOGL)\n", + "4. **Click \"Analyze Stock\"** to get:\n", + " - AI-powered trade recommendations (BUY/HOLD/SELL)\n", + " - Sharia compliance assessment\n", + " - Interactive price chart\n", + "\n", + "### šŸ“Š Features\n", + "\n", + "- **Multi-period Analysis**: 1 month, 1 year, and 5 year data analysis\n", + "- **AI Trade Advice**: GPT-4o-mini powered recommendations with numerical justification\n", + "- **Sharia Compliance**: Islamic finance assessment with confidence scores\n", + "- **Interactive Charts**: Real-time price charts with volume data\n", + "- **Example Tickers**: Quick-access buttons for popular stocks\n", + "\n", + "### āš ļø Disclaimers\n", + "\n", + "- **Not Financial Advice**: This tool is for educational purposes only\n", + "- **Sharia Assessments**: Consult qualified Islamic scholars for authoritative rulings\n", + "- **Data Accuracy**: Stock data depends on yfinance API availability\n", + "- **API Costs**: OpenAI API calls will consume your credits\n", + "\n", + "### šŸ› ļø Troubleshooting\n", + "\n", + "- **No data found**: Check if the ticker symbol is correct\n", + "- **API errors**: Verify your OpenAI API key is set correctly\n", + "- **Chart issues**: Ensure matplotlib backend supports interactive plotting\n", + "- **Slow performance**: API calls may take 10-30 seconds depending on network\n", + "\n", + "Enjoy analyzing stocks with AI-powered insights and Sharia compliance! šŸš€šŸ“ˆā˜Ŗļø\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From cbd8a57d3c33ab1e3976ae060c2970c472faf9bd Mon Sep 17 00:00:00 2001 From: Prithvi Raj Date: Sun, 13 Jul 2025 01:17:59 +0100 Subject: [PATCH 002/176] add jupyter notebook: Invoke LLM modelfrom AWS Bedrock --- .../Invoke LLM model from AWS Bedrock.ipynb | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb diff --git a/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb b/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb new file mode 100644 index 0000000..febfd93 --- /dev/null +++ b/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb @@ -0,0 +1,190 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "id": "9138adfe-71b0-4db2-a08f-dd9e472fdd63", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import boto3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15d71dd6-cc03-485e-8a34-7a33ed5dee0e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "1358921d-173b-4d5d-828c-b6c3726a5eb3", + "metadata": {}, + "source": [ + "#### Connect to bedrock models" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b3827087-182f-48be-8b59-b2741f8ded44", + "metadata": {}, + "outputs": [], + "source": [ + "import json" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "94c11534-6847-4e4a-b8e4-8066e0cc6aca", + "metadata": {}, + "outputs": [], + "source": [ + "# Use the Conversation API to send a text message to Amazon Nova.\n", + "\n", + "import boto3\n", + "from botocore.exceptions import ClientError\n", + "\n", + "# Create a Bedrock Runtime client in the AWS Region you want to use.\n", + "client = boto3.client(\"bedrock-runtime\", region_name=\"us-east-1\")\n", + "\n", + "# Set the model ID, e.g., Amazon Nova Lite.\n", + "model_id = \"amazon.nova-lite-v1:0\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a8ad65f-abaa-475c-892c-2e2b4e668f5d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ac20bb00-e93f-4a95-a1de-dd2688bce591", + "metadata": {}, + "outputs": [], + "source": [ + "# Start a conversation with the user message.\n", + "user_message = \"\"\"\n", + "List the best parks to see in London with number of google ratings and value ie. 4.5 out of 5 etc. \n", + "Give number of ratings and give output in table form\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a29f0055-48c4-4f25-b33f-cde1eaf755c5", + "metadata": {}, + "outputs": [], + "source": [ + "conversation = [\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": [{\"text\": user_message}],\n", + " }\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0e68b2d5-4d43-4b80-8574-d3c847b33661", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Certainly! Here's a table of some of the best parks in London, along with their Google ratings and the number of ratings they have received. Note that ratings can fluctuate over time, so it's always a good idea to check the latest reviews on Google before planning your visit.\n", + "\n", + "| Park Name | Google Rating | Number of Ratings |\n", + "| --- | --- | --- |\n", + "| Regent's Park | 4.7 | 10,000+ |\n", + "| Hyde Park | 4.6 | 20,000+ |\n", + "| Greenwich Park | 4.6 | 5,000+ |\n", + "| Kensington Gardens | 4.6 | 5,000+ |\n", + "| St. James's Park | 4.5 | 3,000+ |\n", + "| Victoria Park | 4.5 | 2,000+ |\n", + "| Richmond Park | 4.6 | 3,000+ |\n", + "| Hampstead Heath | 4.6 | 4,000+ |\n", + "| Holland Park | 4.5 | 1,000+ |\n", + "| Battersea Park | 4.4 | 1,500+ |\n", + "\n", + "These ratings are based on the latest information available as of 2023. Always check the most recent reviews for the most up-to-date information.\n" + ] + } + ], + "source": [ + "try:\n", + " # Send the message to the model, using a basic inference configuration.\n", + " response = client.converse(\n", + " modelId=model_id,\n", + " messages=conversation,\n", + " inferenceConfig={\"maxTokens\": 512, \"temperature\": 0.5, \"topP\": 0.9},\n", + " )\n", + "\n", + " # Extract and print the response text.\n", + " response_text = response[\"output\"][\"message\"][\"content\"][0][\"text\"]\n", + " print(response_text)\n", + "\n", + "except (ClientError, Exception) as e:\n", + " print(f\"ERROR: Can't invoke '{model_id}'. Reason: {e}\")\n", + " exit(1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ed16ee7-3f09-4780-8dfc-d1c5f3cffdbe", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f8c7a18-0907-430d-bfe7-86ecb8933bfd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2183994b-cde5-45b0-b18b-37be3277d73b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From da2885bd8722d25472e14939257eac2061a40618 Mon Sep 17 00:00:00 2001 From: Prithvi Raj Date: Sun, 13 Jul 2025 01:27:33 +0100 Subject: [PATCH 003/176] Adding AWS Bedrock notebook after clearing outputs in the notebook --- .../Invoke LLM model from AWS Bedrock.ipynb | 27 ++----------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb b/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb index febfd93..6948253 100644 --- a/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb +++ b/week1/community-contributions/Invoke LLM model from AWS Bedrock.ipynb @@ -96,33 +96,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "0e68b2d5-4d43-4b80-8574-d3c847b33661", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Certainly! Here's a table of some of the best parks in London, along with their Google ratings and the number of ratings they have received. Note that ratings can fluctuate over time, so it's always a good idea to check the latest reviews on Google before planning your visit.\n", - "\n", - "| Park Name | Google Rating | Number of Ratings |\n", - "| --- | --- | --- |\n", - "| Regent's Park | 4.7 | 10,000+ |\n", - "| Hyde Park | 4.6 | 20,000+ |\n", - "| Greenwich Park | 4.6 | 5,000+ |\n", - "| Kensington Gardens | 4.6 | 5,000+ |\n", - "| St. James's Park | 4.5 | 3,000+ |\n", - "| Victoria Park | 4.5 | 2,000+ |\n", - "| Richmond Park | 4.6 | 3,000+ |\n", - "| Hampstead Heath | 4.6 | 4,000+ |\n", - "| Holland Park | 4.5 | 1,000+ |\n", - "| Battersea Park | 4.4 | 1,500+ |\n", - "\n", - "These ratings are based on the latest information available as of 2023. Always check the most recent reviews for the most up-to-date information.\n" - ] - } - ], + "outputs": [], "source": [ "try:\n", " # Send the message to the model, using a basic inference configuration.\n", From 619097ba2219b61c0521b2af540a8f559715547c Mon Sep 17 00:00:00 2001 From: pradeep1955 Date: Sun, 13 Jul 2025 13:47:56 +0530 Subject: [PATCH 004/176] Add my week1 EXERCISE.ipynb to community-contributions --- .../pradeep1955/week1 EXERCISE.ipynb | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 community-contributions/pradeep1955/week1 EXERCISE.ipynb diff --git a/community-contributions/pradeep1955/week1 EXERCISE.ipynb b/community-contributions/pradeep1955/week1 EXERCISE.ipynb new file mode 100644 index 0000000..5c418f2 --- /dev/null +++ b/community-contributions/pradeep1955/week1 EXERCISE.ipynb @@ -0,0 +1,148 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display\n", + "from dotenv import load_dotenv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key=os.getenv(\"OPENAI_API_KEY\")\n", + "if not api_key.startswith(\"sk-proj-\") and len(api_key)<10:\n", + " print(\"api key not foud\")\n", + "else:\n", + " print(\"api found and is ok\")\n", + "\n", + "openai=OpenAI()\n", + "print()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "question = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "messages = [{\"role\":\"system\",\"content\":\"You are a expert Dta Scientist\"}, {\"role\":\"user\",\"content\":question}]\n", + "\n", + "stream = openai.chat.completions.create(\n", + " model = MODEL_GPT,\n", + " messages = messages,\n", + " stream = True\n", + ")\n", + "response = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "import ollama\n", + "\n", + "stream = ollama.chat(model=MODEL_LLAMA, messages=messages, stream=True)\n", + "response = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream:\n", + " response += chunk[\"message\"][\"content\"] or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a573174-779b-4d50-8792-fa0889b37211", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llmenv", + "language": "python", + "name": "llmenv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3b2cfbeb0fec5daf6c6e63256bc847f53593b12d Mon Sep 17 00:00:00 2001 From: Harsh Kumar Date: Sun, 13 Jul 2025 17:59:47 +0530 Subject: [PATCH 005/176] This commit introduces a new community contribution: a ticket price agent that utilizes Google Search to find flight information. --- .../TicketPriceWithGoogleSearch/README.md | 77 + .../ticket_price_agent.ipynb | 10498 ++++++++++++++++ 2 files changed, 10575 insertions(+) create mode 100644 week2/community-contributions/TicketPriceWithGoogleSearch/README.md create mode 100644 week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb diff --git a/week2/community-contributions/TicketPriceWithGoogleSearch/README.md b/week2/community-contributions/TicketPriceWithGoogleSearch/README.md new file mode 100644 index 0000000..2cef712 --- /dev/null +++ b/week2/community-contributions/TicketPriceWithGoogleSearch/README.md @@ -0,0 +1,77 @@ +# Flight Ticket Price Agent + +This project implements a conversational AI agent that can find and analyze flight ticket prices. Users can ask for flight prices between two cities in a natural language chat interface, and the agent will use a combination of web search and language models to provide a summary of the costs. + +## Features + +- **Conversational Interface:** A user-friendly chat interface built with Gradio. +- **Multi-Model Support:** Can be configured to use different Large Language Models (LLMs) for analysis, including: + - OpenAI (e.g., GPT-4o-mini) + - Google Gemini (e.g., Gemini 2.5 Flash) + - Ollama (e.g., Llama 3.1) +- **Tool-Based Architecture:** The agent uses a `get_ticket_price` tool to understand when the user is asking for flight information. +- **Web Scraping & Analysis:** + - Uses Google Custom Search to find relevant web pages with flight information. + - Scrapes the content of the search results. + - Leverages an LLM to analyze the scraped text and extract the lowest, highest, and average prices for one-way and round-trip flights. +- **Caching:** Caches search results to provide faster responses for repeated queries. +- **Currency Conversion:** Includes a basic currency conversion table to standardize prices to INR. + +## Requirements + +The project is built with Python and requires the following libraries: + +- `python-dotenv` +- `openai` +- `google-generativeai` +- `ollama` +- `gradio` +- `requests` +- `beautifulsoup4` +- `google-api-python-client` +- `ipython` + +You can install these dependencies using pip: +```bash +pip install python-dotenv openai google-generativeai ollama gradio requests beautifulsoup4 google-api-python-client ipython +``` + +## Setup + +1. **Clone the repository (optional):** + ```bash + git clone + cd /ticket_price_agent + ``` + +2. **Create a `.env` file:** + Create a file named `.env` in the `ticket_price_agent` directory and add your API keys: + ```env + OPENAI_API_KEY="your_openai_api_key" + GEMINI_API_KEY="your_gemini_api_key" + GOOGLE_SEARCH_KEY="your_google_search_api_key" + GOOGLE_CSE_ID="your_google_custom_search_engine_id" + ``` + * `GOOGLE_SEARCH_KEY` and `GOOGLE_CSE_ID` are required for the Google Custom Search API. + +3. **Install Dependencies:** + Run the `pip install` command mentioned in the "Requirements" section. + +## Usage + +1. **Open the Notebook:** Launch Jupyter Notebook or JupyterLab and open `ticket_price_agent.ipynb`. +2. **Run the Cells:** Execute the cells in the notebook sequentially. +3. **Interact with the Agent:** The final cell will start a Gradio chat interface. You can select the model you want to use (OpenAI or Gemini) from the dropdown menu. +4. **Ask for Prices:** Start a conversation by asking for flight prices, for example: + - "How much is a ticket from Delhi to Mumbai?" + - "What's the flight cost to Kathmandu from Delhi?" + +## How It Works + +1. **User Input:** The user enters a message in the Gradio chat interface. +2. **Model Selection:** The selected LLM (OpenAI or Gemini) processes the input. +3. **Tool Call:** The model's function-calling/tool-using capability identifies that the user is asking for a price and calls the `get_ticket_price` function with the extracted departure and destination cities. +4. **Google Search:** The `get_ticket_price` function constructs a search query and uses the Google Custom Search API to find relevant links. +5. **Web Scraping:** The agent scrapes the content from the top search result pages. +6. **Price Analysis:** The scraped content is passed to another LLM instance with a specific prompt to analyze the text and extract price information (lowest, highest, average). +7. **Response Generation:** The final price summary is returned to the main chat model, which then formulates a user-friendly response. diff --git a/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb b/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb new file mode 100644 index 0000000..03d8486 --- /dev/null +++ b/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb @@ -0,0 +1,10498 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "a390d675", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import json\n", + "import ollama\n", + "from google import genai\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "from IPython.display import Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "55c9c2a2", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.\n" + ] + } + ], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "gemini_api_key = os.getenv('GEMINI_API_KEY')\n", + " \n", + "OPENAI_MODEL = 'gpt-4o-mini'\n", + "GEMINI_MODEL = 'gemini-2.5-flash' \n", + "OLLAMA_MODEL = 'llama3.2'\n", + "\n", + "openai = OpenAI()\n", + "gemini = genai.Client(api_key = gemini_api_key)\n", + "\n", + "tools = []\n", + "gemini_tools = []\n", + "\n", + "cached_search = {\n", + " ('delhi', 'delhi'): \"INR 0\",\n", + "}\n", + "\n", + "convertion_rate_to_inr = {\n", + " \"USD\": 85.81,\n", + " \"EUR\": 100.25,\n", + " \"GBP\": 115.90,\n", + " \"AUD\": 56.43,\n", + " \"CAD\": 62.70,\n", + " \"SGD\": 67.05,\n", + " \"CHF\": 107.79,\n", + " \"JPY\": 0.5825,\n", + " \"CNY\": 11.97,\n", + " \"AED\": 23.37,\n", + " \"NZD\": 51.56,\n", + " \"SAR\": 22.88,\n", + " \"QAR\": 23.58,\n", + " \"OMR\": 222.89,\n", + " \"BHD\": 227.62,\n", + " \"KWD\": 280.90,\n", + " \"MYR\": 20.18,\n", + " \"THB\": 2.655,\n", + " \"HKD\": 10.93,\n", + " \"ZAR\": 4.79\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "68ec7079", + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "from bs4 import BeautifulSoup\n", + "\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url \n", + " try:\n", + " response = requests.get(url=self.url, headers=headers, timeout=10)\n", + " response.raise_for_status()\n", + " self.body = response.content \n", + " except requests.RequestException as e:\n", + " print(f\"Failed to fetch {self.url}: {e}\")\n", + " self.body = b\"\"\n", + " self.title = \"Failed to load\"\n", + " self.text = \"\"\n", + " self.links = []\n", + " return\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body(['script', 'style', 'img', 'input']):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\" \n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_content(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "812ddcef", + "metadata": {}, + "outputs": [], + "source": [ + "from googleapiclient.discovery import build\n", + "from googleapiclient.errors import HttpError\n", + "\n", + "class GoogleSearch:\n", + " def __init__(self, api_key=None, cse_id=None):\n", + " \"\"\"\n", + " Initialize the Google Search Tool\n", + " \n", + " Args:\n", + " api_key: Your Google API key (or set GOOGLE_API_KEY env var)\n", + " cse_id: Your Custom Search Engine ID (or set GOOGLE_CSE_ID env var)\n", + " \"\"\"\n", + " self.api_key = api_key or os.getenv('GOOGLE_SEARCH_KEY')\n", + " self.cse_id = cse_id or os.getenv('GOOGLE_CSE_ID')\n", + "\n", + " if not self.api_key:\n", + " raise ValueError(\"API key is required. Set GOOGLE_API_KEY env var or pass api_key parameter\")\n", + " if not self.cse_id:\n", + " raise ValueError(\"CSE ID is required. Set GOOGLE_CSE_ID env var or pass cse_id parameter\")\n", + " \n", + " self.service = build(\"customsearch\", \"v1\", developerKey=self.api_key)\n", + " \n", + " def search(self, query: str, num_result: int=10, start_index: int=1):\n", + " \"\"\"\n", + " Perform a Google Custom Search\n", + " \n", + " Args:\n", + " query: Search query string\n", + " num_results: Number of results to return (1-10)\n", + " start_index: Starting index for results (for pagination)\n", + " \n", + " Returns:\n", + " dict: Search results or None if error\n", + " \"\"\"\n", + " try:\n", + " res = self.service.cse().list(\n", + " q=query,\n", + " cx=self.cse_id,\n", + " num=min(num_result, 10),\n", + " start=start_index\n", + " ).execute()\n", + "\n", + " return self._parse_results(res)\n", + " except HttpError as e:\n", + " print(f\"HTTP Error: {e}\")\n", + " return None\n", + " except Exception as e:\n", + " print(f\"Unexpected error: {e}\")\n", + " return None\n", + " \n", + " def _parse_results(self, raw_res):\n", + " \"\"\"Parse raw API response into clean format\"\"\"\n", + " if \"items\" not in raw_res:\n", + " return {\n", + " 'total_results': 0,\n", + " 'results': [],\n", + " 'search_info': raw_res.get('searchInformation', {})\n", + " }\n", + " \n", + " parsed_items = []\n", + " for item in raw_res[\"items\"]:\n", + " parsed_item = {\n", + " \"title\": item.get(\"title\", ''),\n", + " \"link\": item.get(\"link\", ''),\n", + " \"snippet\": item.get(\"snippet\", ''),\n", + " \"display_link\": item.get(\"display_link\", ''),\n", + " 'formatted_url': item.get('formattedUrl', '')\n", + " }\n", + "\n", + " parsed_items.append(parsed_item)\n", + " \n", + " return {\n", + " 'total_results': int(raw_res.get('searchInformation', {}).get('totalResults', '0')),\n", + " 'results': parsed_items,\n", + " 'search_info': raw_res.get('searchInformation', {})\n", + " }\n", + " \n", + " def compile_search_pages(self, query: str, num_result: int = 10, start_index: int=1):\n", + " \"\"\"\n", + " Compiles a list of results from multiple search pages for a given query\n", + "\n", + " Args:\n", + " query: Search query string\n", + " num_results: Number of results to return (1-10)\n", + " start_index: Starting index for results (for pagination)\n", + " \n", + " Returns:\n", + " str: Concatenated results from all search pages for the given query\n", + " \"\"\"\n", + "\n", + " result = \"\"\n", + "\n", + " search_res = self.search(query=query, num_result=num_result, start_index=start_index)\n", + "\n", + " print(search_res)\n", + "\n", + " for item in search_res['results']:\n", + " print(item.get('title'))\n", + " result += f\"\\n\\nTitle: {item.get('title', '')}\\n\"\n", + " result += Website(item.get('link', '')).get_content()\n", + "\n", + " print(result)\n", + "\n", + " return result\n", + "\n", + "google_search = GoogleSearch()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "857e77f8", + "metadata": {}, + "outputs": [], + "source": [ + "# google_search.compile_search_pages('flight ticket price from delhi to chandigarh', num_result=4)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ec5cf817", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful assistant for an Airline called FlightAI. \"\n", + "system_message += \"Give short, courteous answers, no more than 1 sentence. \"\n", + "system_message += \"Always be accurate. If you don't know the answer, say so.\"\n", + "system_message += \"Always ask the user about the departure point in case it asks about the price and departure is not mentioned.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b829f882", + "metadata": {}, + "outputs": [], + "source": [ + "def analyze_result_for_price(result: str, source: str, model: str):\n", + " print(\"Analyze web results: \", source, model)\n", + "\n", + " system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a search query.\"\n", + " system_prompt = \"Provide the lowest price, highest price and average price for one way and round trips.\"\n", + " system_prompt += \"Always return the price in INR. If you are not sure about the conversion rate, only then use the following conversion rates:\"\n", + " system_prompt += f\"{convertion_rate_to_inr} for conversion rates. Interpret the given conversion rate as for example:\"\n", + " system_prompt += \"1 USD to INR = 85.81. Return result in Markdown\"\n", + " \n", + " if source == 'ollama':\n", + " model_to_use = model if model else OLLAMA_MODEL\n", + "\n", + " print(f\"Using model: {model_to_use}\\n\\n\")\n", + "\n", + " try:\n", + " response = ollama.chat(\n", + " model=model_to_use, \n", + " messages=[\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": result}\n", + " ],\n", + " )\n", + " \n", + " result = response['message']['content']\n", + " return result\n", + " except Exception as e:\n", + " print(f\"An error occurred during the API call: {e}\")\n", + " return None\n", + " elif source == 'openai':\n", + " try:\n", + " response = openai.chat.completions.create(\n", + " model=OPENAI_MODEL,\n", + " messages=[\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\":\"user\", \"content\": result}\n", + " ],\n", + " \n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " return result\n", + " except Exception as e:\n", + " print(f\"An error occurred during the API call: {e}\")\n", + " return None\n", + " elif source == 'gemini':\n", + " try:\n", + " response = gemini.models.generate_content(\n", + " model=GEMINI_MODEL,\n", + " contents=f\"{system_prompt}\\n\\n{result}\"\n", + " )\n", + "\n", + " result = response.text\n", + " return result\n", + " except Exception as e:\n", + " print(f\"An error occurred during the API call: {e}\")\n", + " return None\n", + " else:\n", + " print(\"Source not supported\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "eb2ba65a", + "metadata": {}, + "outputs": [], + "source": [ + "def get_ticket_price(destination_city, departure_city, source=\"openai\", model=\"\"):\n", + " if not destination_city or not departure_city:\n", + " return \"Error: Both destination and departure cities are required\"\n", + " \n", + " print(f\"Tool get_ticket_price called for {destination_city} from {departure_city}\")\n", + " print(\"get_ticket_price: \", model)\n", + "\n", + " dest = destination_city.lower()\n", + " dept = departure_city.lower()\n", + "\n", + " cache_key = (dest, dept)\n", + "\n", + " if cache_key not in cached_search:\n", + " try:\n", + " query = f'flight ticket price from {dept} to {dest}' \n", + " results = google_search.compile_search_pages(query=query, num_result=10) \n", + " \n", + " if results: # Check if results is not empty\n", + " cached_search[cache_key] = results\n", + " else:\n", + " return \"Error: No search results found\"\n", + " except Exception as e:\n", + " print(f\"Error during search: {e}\")\n", + " return f\"Error: Unable to fetch flight prices - {str(e)}\"\n", + " else:\n", + " results = cached_search[cache_key]\n", + "\n", + " try:\n", + " return analyze_result_for_price(results, source, model)\n", + " except Exception as e:\n", + " print(f\"Error analyzing results: {e}\")\n", + " return f\"Error: Unable to analyze price data - {str(e)}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b9c64fac", + "metadata": {}, + "outputs": [], + "source": [ + "# Markdown(get_ticket_price('New York', 'London', \"gemini\", \"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "32440830", + "metadata": {}, + "outputs": [], + "source": [ + "price_function = {\n", + " \"name\": \"get_ticket_price\",\n", + " \"description\": \"Get the current flight ticket price between two cities. Call this whenever you need to know flight prices, for example when a customer asks 'How much is a ticket from Delhi to Mumbai?', 'What's the flight cost to Chandigarh?', or 'Show me ticket prices for travel between these cities'. This function searches for real-time flight pricing information from multiple sources.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"destination_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city that the customer wants to travel to (e.g., 'Mumbai', 'Delhi', 'Chandigarh')\",\n", + " },\n", + " \"departure_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city that the customer wants to travel from (e.g., 'Delhi', 'Mumbai', 'Bangalore')\",\n", + " },\n", + " \"source\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The AI model source to use for price analysis (optional, defaults to 'openai')\",\n", + " \"default\": \"openai\"\n", + " },\n", + " \"model\": {\n", + " \"type\": \"string\", \n", + " \"description\": \"The specific AI model to use for analysis (optional, defaults to empty string)\",\n", + " \"default\": \"\"\n", + " }\n", + " },\n", + " \"required\": [\"destination_city\", \"departure_city\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}\n", + "\n", + "tools.append({\"type\": \"function\", \"function\": price_function})" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c670e697", + "metadata": {}, + "outputs": [], + "source": [ + "gemini_tools = [\n", + " {\n", + " \"function_declarations\": [\n", + " {\n", + " \"name\": \"get_ticket_price\",\n", + " \"description\": \"Get the current flight ticket price between two cities. Call this whenever you need to know flight prices, for example when a customer asks 'How much is a ticket from Delhi to Mumbai?', 'What's the flight cost to Chandigarh?', or 'Show me ticket prices for travel between these cities'. This function searches for real-time flight pricing information from multiple sources.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"destination_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city that the customer wants to travel to (e.g., 'Mumbai', 'Delhi', 'Chandigarh')\"\n", + " },\n", + " \"departure_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city that the customer wants to travel from (e.g., 'Delhi', 'Mumbai', 'Bangalore')\"\n", + " },\n", + " \"source\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The AI model source to use for price analysis (optional, defaults to 'openai')\"\n", + " },\n", + " \"model\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The specific AI model to use for analysis (optional, defaults to empty string)\"\n", + " }\n", + " },\n", + " \"required\": [\"destination_city\", \"departure_city\"]\n", + " }\n", + " }\n", + " ]\n", + " }\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c608a19", + "metadata": {}, + "outputs": [], + "source": [ + "def handle_tool_call(message, model):\n", + "\n", + " tool_call = message.tool_calls[0]\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " print(tool_call)\n", + " if tool_call.function.name == \"get_ticket_price\":\n", + " dest_city = arguments.get(\"destination_city\", '')\n", + " dept_city = arguments.get(\"departure_city\",'')\n", + " price = get_ticket_price(dest_city, dept_city, model, \"\")\n", + " return {\n", + " \"role\": \"tool\",\n", + " \"content\": json.dumps({\"destination_city\": dest_city,\"departure_city\": dept_city,\"price\": price}),\n", + " \"tool_call_id\": tool_call.id\n", + " }\n", + " return None\n", + "\n", + "def handle_tool_call_gemini(response, model):\n", + " tool_call = response.candidates[0].content.parts[0].function_call\n", + " function_name = tool_call.name\n", + " arguments = tool_call.args\n", + " \n", + " if function_name == \"get_ticket_price\":\n", + " dest_city = arguments.get(\"destination_city\", \"\")\n", + " dept_city = arguments.get(\"departure_city\", \"\")\n", + " price = get_ticket_price(dest_city, dept_city, model, \"\")\n", + " \n", + " return {\n", + " \"tool_response\": {\n", + " \"name\": function_name,\n", + " \"response\": {\n", + " \"content\": json.dumps({\n", + " \"destination_city\": dest_city,\n", + " \"departure_city\": dept_city,\n", + " \"price\": price\n", + " })\n", + " }\n", + " }\n", + " }\n", + " \n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "81c56b0d", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(history, model):\n", + " MODEL_TO_USE = \"\"\n", + " if model.lower() == 'openai':\n", + " MODEL_TO_USE = OPENAI_MODEL\n", + "\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(model=MODEL_TO_USE, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response = handle_tool_call(message, model.lower())\n", + " messages.append(message)\n", + " messages.append(response)\n", + " response = openai.chat.completions.create(model=MODEL_TO_USE, messages=messages, tools=tools)\n", + " \n", + " history += [{\"role\": \"assistant\", \"content\": response.choices[0].message.content}]\n", + " elif model.lower() == 'gemini':\n", + " MODEL_TO_USE = GEMINI_MODEL\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = gemini.models.generate_content(messages, tools=gemini_tools) \n", + " candidate = response.candidates[0]\n", + " \n", + " if candidate.finish_reason == 'TOOL_CALL':\n", + " messages.append(candidate.content)\n", + " tool_response = handle_tool_call_gemini(response, model.lower())\n", + " messages.append(tool_response)\n", + " response = gemini.models.generate_content(messages, tools=gemini_tools)\n", + " \n", + " history += [{\"role\": \"model\", \"content\": response.text}]\n", + " return history" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "3b2dac94", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7887\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ChatCompletionMessageToolCall(id='call_8hiqoroOg9ZdmJFHbXJKfkfx', function=Function(arguments='{\"destination_city\":\"Kathmandu\",\"departure_city\":\"Delhi\"}', name='get_ticket_price'), type='function')\n", + "Tool get_ticket_price called for Kathmandu from Delhi\n", + "get_ticket_price: \n", + "{'total_results': 6220000, 'results': [{'title': 'Find Cheap Flights from New Delhi to Kathmandu - Google Flights', 'link': 'https://www.google.com/travel/flights/flights-from-new-delhi-to-kathmandu.html', 'snippet': 'Popular airlines from New Delhi to Kathmandu Ā· Air India. Nonstop. from $145. Typical price: $160–375 Ā· IndiGo. Nonstop. from $148. Typical price: $150–365.', 'display_link': '', 'formatted_url': 'https://www.google.com/.../flights/flights-from-new-delhi-to-kathmandu.ht...'}, {'title': 'Book Delhi to Kathmandu Flights from INR 5,352 | Air India', 'link': 'https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights', 'snippet': 'Delhi to Kathmandu flight fare, Business class: INR 3,00,978 | Economy class: INR 5,480 *prices may vary depending on season and demand ; First flight from Delhi\\xa0...', 'display_link': '', 'formatted_url': 'https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights'}, {'title': 'Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo', 'link': 'https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html', 'snippet': 'Flight ticket price: The Delhi to Kathmandu flight ticket price ranges from ₹7,000 - ₹16,000 and the price may vary depending on the time you are booking the\\xa0...', 'display_link': '', 'formatted_url': 'https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html'}, {'title': 'Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...', 'link': 'https://www.makemytrip.com/international-flights/delhi-kathmandu-cheap-airtickets.html', 'snippet': 'Fees range from ₹2,000–₹10,000 depending on time left to departure; Refunds take 7–14 business days; Cancellations can be done via MakeMyTrip or directly with\\xa0...', 'display_link': '', 'formatted_url': 'https://www.makemytrip.com/...flights/delhi-kathmandu-cheap-airtickets.ht...'}, {'title': 'Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...', 'link': 'https://www.makemytrip.global/international-flights/united_states/delhi-kathmandu-cheap-airtickets.html', 'snippet': 'Need information on Delhi to Kathmandu airfare? The minimum airfare for a Delhi to Kathmandu flight would be 52, which may go up to 2244 depending on the route,\\xa0...', 'display_link': '', 'formatted_url': 'https://www.makemytrip.global/...flights/.../delhi-kathmandu-cheap-airticke...'}, {'title': '$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...', 'link': 'https://www.kayak.com/flight-routes/New-Delhi-Indira-Gandhi-Intl-DEL/Kathmandu-Tribhuvan-KTM', 'snippet': 'The cheapest month for flights from New Delhi to Kathmandu is July, where tickets cost $150 (return) on average. On the other hand, the most expensive months\\xa0...', 'display_link': '', 'formatted_url': 'https://www.kayak.com/flight...Delhi-Indira.../Kathmandu-Tribhuvan-KTM'}, {'title': 'Cheap Flight Fares from Indira Gandhi International to Kathmandu ...', 'link': 'https://www.skyscanner.co.in/routes/del/ktm/indira-gandhi-international-to-kathmandu.html', 'snippet': 'Kathmandu.₹ 5,859 per passenger.Departing Fri, 27 Mar.One-way flight with Nepal Airlines.Outbound direct flight with Nepal Airlines departs from Indira Gandhi\\xa0...', 'display_link': '', 'formatted_url': 'https://www.skyscanner.co.in/.../indira-gandhi-international-to-kathmandu....'}, {'title': 'Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...', 'link': 'https://ae.makemytrip.global/international-flights/united_arab_emirates/delhi-kathmandu-air_india-tickets.html', 'snippet': 'Lowest fare from Delhi to Kathmandu Air India Flight on 27 Jul - AED 189. Cheapest ticket price on Delhi to Kathmandu Air India flight air ticket at MakeMyTrip.', 'display_link': '', 'formatted_url': 'https://ae.makemytrip.global/...flights/.../delhi-kathmandu-air_india-tickets....'}, {'title': 'Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF', 'link': 'https://www.goibibo.com/international-flights/delhi-to-kathmandu-flights', 'snippet': 'The lowest airfare of Delhi to Kathmandu flight is ₹4742 and the average airfare is 102357 depending on the airline, timings and availability. So, it is\\xa0...', 'display_link': '', 'formatted_url': 'https://www.goibibo.com/international-flights/delhi-to-kathmandu-flights'}, {'title': 'Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...', 'link': 'https://www.easemytrip.com/flights/delhi-del-to-kathmandu-ktm/', 'snippet': 'When it comes to the price range of Delhi (DEL) to Kathmandu (KTM) flights, then the price may range from ₹4848 to ₹16806 (per person). This sudden price\\xa0...', 'display_link': '', 'formatted_url': 'https://www.easemytrip.com/flights/delhi-del-to-kathmandu-ktm/'}], 'search_info': {'searchTime': 0.494554, 'formattedSearchTime': '0.49', 'totalResults': '6220000', 'formattedTotalResults': '6,220,000'}}\n", + "Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", + "Book Delhi to Kathmandu Flights from INR 5,352 | Air India\n", + "Failed to fetch https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights: HTTPSConnectionPool(host='www.airindia.com', port=443): Read timed out. (read timeout=10)\n", + "Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo\n", + "Failed to fetch https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html: HTTPSConnectionPool(host='www.goindigo.in', port=443): Read timed out. (read timeout=10)\n", + "Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...\n", + "Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...\n", + "$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...\n", + "Cheap Flight Fares from Indira Gandhi International to Kathmandu ...\n", + "Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...\n", + "Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF\n", + "Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...\n", + "\n", + "\n", + "Title: Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", + "Webpage Title:\n", + "Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", + "Webpage Contents:\n", + "Skip to main content\n", + "Accessibility feedback\n", + "Travel\n", + "Explore\n", + "Flights\n", + "Hotels\n", + "Vacation rentals\n", + "Change appearance\n", + "Sign in\n", + "Travel\n", + "Explore\n", + "Flights\n", + "Hotels\n", + "Vacation rentals\n", + "Tracked flight prices\n", + "Tracked hotel prices\n", + "Change language\n", + "Change currency\n", + "Change location\n", + "Change currency\n", + "Feedback\n", + "Help\n", + "Flights\n", + "Round trip\n", + "Round trip\n", + "One way\n", + "Multi-city\n", + "1\n", + "Adults\n", + "Remove adult\n", + "1\n", + "Add adult\n", + "Children\n", + "Aged 2-11\n", + "Aged 2 to 11\n", + "Remove child\n", + "0\n", + "Add child\n", + "Infants\n", + "In seat\n", + "Remove infant in seat\n", + "0\n", + "Add infant in seat\n", + "Infants\n", + "On lap\n", + "Remove infant on lap\n", + "0\n", + "Add infant on lap\n", + "Done\n", + "Cancel\n", + "Economy\n", + "Economy\n", + "Premium economy\n", + "Business\n", + "First\n", + "New Delhi\n", + "New Delhi\n", + "Remove\n", + "Select multiple airports\n", + "Done\n", + "Press the plus key to switch to multi-select mode.\n", + "Kathmandu\n", + "Kathmandu\n", + "Remove\n", + "Select multiple airports\n", + "Done\n", + "Press the plus key to switch to multi-select mode.\n", + "Enter a date or use the arrow keys to change the current date.\n", + "Enter a date or use the arrow keys to change the current date.\n", + "Round trip\n", + "Round trip\n", + "One way\n", + "Reset\n", + "Done\n", + "Add flight\n", + "Search\n", + "Flights\n", + "From New Delhi\n", + "To Kathmandu\n", + "Cheap flights from New Delhi to Kathmandu\n", + "Good to know\n", + "Close dialog\n", + "Prices are for flights from New Delhi to Kathmandu for 1 adult in Economy. Flight times are based on nonstop flights or flights with the fewest stops available.\n", + "Flight information for New Delhi to Kathmandu to help you plan your next trip.\n", + "Cheapest round-trip flight\n", + "₹11,876\n", + "Air India\n", + "Nonstop\n", + "2 hr\n", + "Jul 26 — Jul 27\n", + "The cheapest round-trip flight from New Delhi to Kathmandu is currently ₹11,876\n", + "Find flights\n", + "Cheapest one-way flight\n", + "₹4,511\n", + "IndiGo\n", + "Nonstop\n", + "2 hr\n", + "Jul 16\n", + "The cheapest one-way flight from New Delhi to Kathmandu is currently ₹4,511\n", + "Find flights\n", + "Fastest flight\n", + "1 hr 20 min\n", + "The fastest nonstop flight from New Delhi to Kathmandu takes 1 hr 20 min\n", + "Nonstop flights\n", + "Every day\n", + "There are direct flights on this route every day.\n", + "When is the cheapest time to fly?\n", + "Close dialog\n", + "Typical prices for the least expensive flights for weekend trips from New Delhi to Kathmandu per month. Insights are based on fares observed in the last 12 months. Current prices may differ.\n", + "The cheapest month to fly from New Delhi to Kathmandu is typically July. The most expensive one is typically October.\n", + "July\n", + "Cheapest\n", + "Typical prices: ₹12,000–13,000\n", + "October\n", + "Most expensive\n", + "Typical prices: ₹19,000–25,500\n", + "Popular airlines from New Delhi to Kathmandu\n", + "Close dialog\n", + "Popularity is based on the number of weekly nonstop and connecting flights the airline operates. Connecting flights do not include interline routes.\n", + "Flight suggestions are based on an airline's cheapest round-trip fares from New Delhi to Kathmandu in the next 3 months. Prices include required taxes + fees for one adult. Optional charges and bag fees may apply.\n", + "Typical prices are based on fares observed in the past year for one-week round trips with the same origin, destination, and airline.\n", + "Air India\n", + "Nonstop\n", + "from\n", + "₹12,076\n", + "Typical price:\n", + "₹13,500–32,000\n", + "₹13,500\n", + "₹32,000\n", + "35 weekly nonstop flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights from ₹12,076\n", + "IndiGo\n", + "Nonstop\n", + "from\n", + "₹12,654\n", + "Typical price:\n", + "₹13,000–31,500\n", + "₹13,000\n", + "₹31,500\n", + "21 weekly nonstop flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "334 weekly connecting flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights from ₹12,654\n", + "Nepal Airlines\n", + "Nonstop\n", + "from\n", + "₹13,963\n", + "Typical price:\n", + "₹16,000–28,500\n", + "₹16,000\n", + "₹28,500\n", + "7 weekly nonstop flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights from ₹13,963\n", + "SpiceJet\n", + "Nonstop\n", + "from\n", + "₹14,632\n", + "Typical price:\n", + "₹14,500–21,000\n", + "₹14,500\n", + "₹21,000\n", + "7 weekly nonstop flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights from ₹14,632\n", + "Bhutan Airlines\n", + "Nonstop\n", + "4 weekly nonstop flights\n", + "DEL - KTM\n", + "Every Mon, Wed, Sat, Sun\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights\n", + "Air India Express\n", + "67 weekly connecting flights\n", + "DEL - KTM\n", + "Every day\n", + "S\n", + "M\n", + "T\n", + "W\n", + "T\n", + "F\n", + "S\n", + "Find flights\n", + "Popular airports near New Delhi\n", + "Close dialog\n", + "Distance and driving time are relative to the city center. Airports are listed based on distance from New Delhi center and popularity with travelers.\n", + "Indira Gandhi International Airport\n", + "(DEL)\n", + "New Delhi\n", + "India\n", + "23 min\n", + "10 km\n", + "Jaipur International Airport\n", + "(JAI)\n", + "Jaipur\n", + "India\n", + "4 hr 29 min\n", + "242 km\n", + "Hindon Airport\n", + "(HDO)\n", + "Ghaziabad\n", + "India\n", + "44 min\n", + "16 km\n", + "Shaheed Bhagat Singh International Airport, Chandigarh\n", + "(IXC)\n", + "Chandigarh\n", + "India\n", + "4 hr 32 min\n", + "232 km\n", + "Popular airports near Kathmandu\n", + "Close dialog\n", + "Distance and driving time are relative to the city center. Airports are listed based on distance from Kathmandu center and popularity with travelers.\n", + "Tribhuvan International Airport\n", + "(KTM)\n", + "Kathmandu\n", + "Nepal\n", + "20 min\n", + "3 km\n", + "Pokhara Domestic Airport\n", + "(PKR)\n", + "Pokhara\n", + "Nepal\n", + "6 hr 15 min\n", + "142 km\n", + "Simara Airport\n", + "(SIF)\n", + "Pipara Simara\n", + "Nepal\n", + "3 hr 51 min\n", + "69 km\n", + "Bharatpur Airport\n", + "(BHR)\n", + "Bharatpur\n", + "Nepal\n", + "4 hr 37 min\n", + "87 km\n", + "Frequently asked questions about flying from New Delhi to Kathmandu\n", + "How long does it take to fly from New Delhi to Kathmandu?\n", + "1 hr 20 min is the shortest flight time from New Delhi to Kathmandu.\n", + "When are the cheapest days to fly from New Delhi to Kathmandu?\n", + "The cheapest days to fly are usually in July. Typical prices range from ₹12,000 to ₹13,000.\n", + "Which airlines provide the cheapest flights from New Delhi to Kathmandu?\n", + "The best round-trip deal recently found on Google Flights from New Delhi to Kathmandu was with Air India from ₹11,876. The best one-way deal was with IndiGo from ₹4,511.\n", + "Some of the cheapest round-trip deals we found with different airlines:\n", + "The cheapest Air India round-trip flight from New Delhi to Kathmandu is ₹12,076, flying from Jul 19 to Jul 20.\n", + "The cheapest IndiGo round-trip flight from New Delhi to Kathmandu is ₹12,654, flying from Jul 17 to Jul 20.\n", + "The cheapest Nepal Airlines round-trip flight from New Delhi to Kathmandu is ₹13,963, flying from Jul 26 to Jul 27.\n", + "The cheapest SpiceJet round-trip flight from New Delhi to Kathmandu is ₹14,632, flying from Jul 17 to Jul 20.\n", + "The cheapest Bhutan Airlines round-trip flight from New Delhi to Kathmandu is , flying from to .\n", + "The cheapest Air India Express round-trip flight from New Delhi to Kathmandu is , flying from to .\n", + "What is the best airline to fly from New Delhi to Kathmandu?\n", + "What counts as the best airline for your flights from New Delhi to Kathmandu really depends on your individual needs. You may have a favorite carrier or a loyalty program you like, but price, convenience, and airports served also come into play. Flexibility and booking terms – Can you change flights if you want to stay longer or get a refund if you have to postpone your trip? – are also factors that help determine which airline is best to fly from New Delhi to Kathmandu.\n", + "In terms of nonstop flights, Air India is the most popular. Air India offers 35 nonstop flights per week. Air India flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "In terms of flights, IndiGo is the most popular. IndiGo offers 21 nonstop flights and 334 connecting flights per week. IndiGo flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "Other popular airlines flying from New Delhi to Kathmandu are:\n", + "Nepal Airlines offers 7 nonstop flights per week. Nepal Airlines flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "SpiceJet offers 7 nonstop flights per week. SpiceJet flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "Bhutan Airlines offers 4 nonstop flights per week. Bhutan Airlines flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "Air India Express offers 67 connecting flights per week. Air India Express flies from Indira Gandhi International Airport\n", + "(DEL)\n", + "to Tribhuvan International Airport\n", + "(KTM)\n", + ".\n", + "The number of connecting flights refers to distinct flights with at least one stop between New Delhi and Kathmandu.\n", + "When are direct flights from New Delhi to Kathmandu available?\n", + "There are direct flights from New Delhi to Kathmandu on a daily basis.\n", + "Which airlines have direct flights from New Delhi to Kathmandu?\n", + "Air India, IndiGo, Nepal Airlines, SpiceJet and Bhutan Airlines fly direct from New Delhi to Kathmandu.\n", + "There are 35 Air India direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", + "There are 21 IndiGo direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", + "There are 7 Nepal Airlines direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", + "There are 7 SpiceJet direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", + "There are 4 Bhutan Airlines direct flights from New Delhi to Kathmandu per week. Flights are available on Monday, Wednesday, Saturday and Sunday.\n", + "Use the\n", + "Stops\n", + "filter while searching for flights, to see only nonstop options in your results.\n", + "What are the cheapest flights from New Delhi to Kathmandu?\n", + "The cheapest round-trip flight from New Delhi to Kathmandu starts at ₹11,876 from Sat, Jul 26 to Sun, Jul 27. The cheapest one-way flight starts at ₹4,511 and departs on Wed, Jul 16.\n", + "When should you visit Kathmandu?\n", + "Peak travel is Feb–Apr. Monsoon season runs Jun–Sep. Key events include the Indra Jatra festival (dates vary, Aug/Sep), a religious festival featuring masked dances in Durbar Square.\n", + "How do I find cheap dates to fly from New Delhi to Kathmandu?\n", + "It's easy to use Google Flights to find the cheapest days to fly from New Delhi to Kathmandu.\n", + "Just click the\n", + "Departure\n", + "label near the top of the page to open the calendar. Choose a start date and a return date to see how the round-trip fare changes on those specific days.\n", + "Adjust the trip type to see one-way fares. The cheapest available flights are highlighted and easy to spot. Once you settle on dates, click the\n", + "Search\n", + "button to see flight options and book the deal.\n", + "You can also turn on price tracking to get alerts if the price changes for a route or flight.\n", + "Search more flights\n", + "Popular trips from New Delhi\n", + "Close dialog\n", + "These suggestions are based on the cheapest fares to popular destinations in the next six months.\n", + "Prices include required taxes + fees for 1 adult. Optional charges and bag fees may apply.\n", + "Sydney\n", + "₹60,810\n", + "Aug 29 — Aug 31\n", + "1 stop\n", + "27 hr\n", + "Cathay Pacific\n", + "Vancouver\n", + "₹81,118\n", + "Oct 9 — Oct 12\n", + "1 stop\n", + "26 hr 15 min\n", + "Air India, SWISS, Edelweiss Air\n", + "Mumbai\n", + "₹9,088\n", + "Jul 18 — Jul 20\n", + "Nonstop\n", + "2 hr 15 min\n", + "IndiGo\n", + "Singapore\n", + "Aug 21 — Aug 24\n", + "Find flights from New Delhi to anywhere\n", + "Explore destinations\n", + "More places to fly\n", + "Flights from New Delhi\n", + "Flights to Kathmandu\n", + "Related flights\n", + "Flights from New Delhi to Mumbai\n", + "Flights from New Delhi to Bengaluru\n", + "Flights from New Delhi to Hyderabad\n", + "Flights from New Delhi to Kolkata\n", + "Flights from New Delhi to Chennai\n", + "Flights from New Delhi to London\n", + "Flights from New Delhi to Ahmedabad\n", + "Flights from New Delhi to Goa\n", + "Flights from New Delhi to Pune\n", + "Flights from New Delhi to New York\n", + "Flights from New Delhi to Dubai\n", + "Flights from New Delhi to Bangkok\n", + "Flights from London to Kathmandu\n", + "Flights from Tokyo to Kathmandu\n", + "Flights from Bangkok to Kathmandu\n", + "Flights from Dubai to Kathmandu\n", + "Flights from Federal Territory of Kuala Lumpur to Kathmandu\n", + "Flights from Mumbai to Kathmandu\n", + "Flights from Singapore to Kathmandu\n", + "Flights from Doha to Kathmandu\n", + "Flights from Paris to Kathmandu\n", + "Flights from Bengaluru to Kathmandu\n", + "Flights from Colombo to Kathmandu\n", + "Flights from Phuket to Kathmandu\n", + "Flights from Kathmandu to New Delhi\n", + "Flights from New Delhi\n", + "Flights from Kathmandu\n", + "Flights to New Delhi\n", + "Flights to Kathmandu\n", + "Flights to Nepal\n", + "Language\n", + "​\n", + "English (United States)\n", + "Location\n", + "​\n", + "India\n", + "Currency\n", + "​\n", + "INR\n", + "Current language and currency options applied: English (United States) - India - INR\n", + "Displayed currencies may differ from the currencies used to purchase flights.\n", + "Learn more\n", + "About\n", + "Privacy\n", + "Terms\n", + "Join user studies\n", + "Feedback\n", + "Help Center\n", + "International sites\n", + "Google Flights - United States (en-US)\n", + "Google Voos - Brasil (pt-BR)\n", + "Google Flights - Canada (en)\n", + "Google Flights - United Kingdom (en-GB)\n", + "Google Flights - France (fr)\n", + "Google Flüge - Deutschland (de)\n", + "Google Vuelos - EspaƱa (es)\n", + "Google Flights - Australia (en)\n", + "Google Flights - MĆ©xico (es)\n", + "Google Voli - Italia (it)\n", + "Explore flights\n", + "Popular departures from India\n", + "Flights from New Delhi\n", + "Flights from Mumbai\n", + "Flights from Bengaluru\n", + "Flights from Hyderabad\n", + "Flights from Chennai\n", + "Flights from Kochi\n", + "Popular routes from India\n", + "Flights from New Delhi to Mumbai\n", + "Flights from Mumbai to New Delhi\n", + "Flights from Bengaluru to New Delhi\n", + "Flights from New Delhi to Bengaluru\n", + "Flights from Mumbai to Bengaluru\n", + "Flights from Bengaluru to Mumbai\n", + "Flights from Hyderabad to New Delhi\n", + "Flights from New Delhi to Hyderabad\n", + "Flights from Bengaluru to Hyderabad\n", + "Flights from Hyderabad to Bengaluru\n", + "Flights from Hyderabad to Mumbai\n", + "Flights from Mumbai to Hyderabad\n", + "Popular destinations from India\n", + "Flights to New Delhi\n", + "Flights to Bengaluru\n", + "Flights to Mumbai\n", + "Flights to Hyderabad\n", + "Flights to Chennai\n", + "Popular regions from India\n", + "Flights to India\n", + "Flights to United States\n", + "Flights to Australia\n", + "Flights to Japan\n", + "Flights to United Arab Emirates\n", + "Flights to Thailand\n", + "\n", + "\n", + "\n", + "Title: Book Delhi to Kathmandu Flights from INR 5,352 | Air India\n", + "Webpage Title:\n", + "Failed to load\n", + "Webpage Contents:\n", + "\n", + "\n", + "\n", + "\n", + "Title: Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo\n", + "Webpage Title:\n", + "Failed to load\n", + "Webpage Contents:\n", + "\n", + "\n", + "\n", + "\n", + "Title: Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...\n", + "Webpage Title:\n", + "Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL Flights\n", + "Webpage Contents:\n", + "Flights\n", + "Flights\n", + "Hotels\n", + "Hotels\n", + "Homestays & Villas\n", + "Homestays & Villas\n", + "Holiday Packages\n", + "Holiday Packages\n", + "Trains\n", + "Trains\n", + "Buses\n", + "Buses\n", + "Cabs\n", + "Cabs\n", + "Forex Card & Currency\n", + "Forex Card & Currency\n", + "Travel Insurance\n", + "Travel Insurance\n", + "TRIP TYPE\n", + "One Way\n", + "FROM\n", + "TO\n", + "DEPART\n", + "RETURN\n", + "PASSENGERS & CLASS\n", + "SEARCH\n", + "Fare Type:\n", + "Regular\n", + "Armed Forces\n", + "NEW\n", + "Armed Forces Fare\n", + "Applicable for serving and retired personnel of Armed Forces and Paramilitary Forces, their recognised dependants like spouses and children, and war widows. It is mandatory to show a valid ID or dependant card at the airport, without which boarding might be denied.\n", + "Student\n", + "Student Fare\n", + "Only students above 12 years of age are eligible for special fares and/or additional baggage allowances. Carrying valid student ID cards and student visas (where applicable) is mandatory, else the passenger may be denied boarding or asked to pay for extra baggage.\n", + "Senior Citizen\n", + "Senior Citizen Fare\n", + "Only senior citizens above the age of 60 years can avail this special fare. It is mandatory to produce proof of Date of Birth at the airport, without which prevailing fares will be charged.\n", + "Double Seat\n", + "Fly Safer with Double Seat\n", + "Step up physical distancing by booking two or three adjacent seats for one traveller. Opt from ā€˜Double/ Entire Row’ by Indigo or ā€˜GoMore’ service by GoAir - available only for domestic one-way economy class bookings.\n", + "Popular Filters\n", + "Non Stop\n", + "(11)\n", + "₹ 4,742\n", + "Early Morning Departures\n", + "(11)\n", + "₹ 5,352\n", + "Late Departures\n", + "(17)\n", + "₹ 5,352\n", + "1 Stop\n", + "(43)\n", + "₹ 5,577\n", + "AfterNoon Departure\n", + "(15)\n", + "₹ 4,917\n", + "+ 1 more\n", + "Departure Airports\n", + "Indira Gandhi International Airport\n", + "₹ 4,742\n", + "Hindon Airport (32Km)\n", + "₹ 12,072\n", + "One Way Price\n", + "₹ 4,742\n", + "₹ 1,98,000\n", + "Duration\n", + "1 h 20 m\n", + "29 h 0 m\n", + "Stops From New Delhi\n", + "Non Stop\n", + "(11)\n", + "₹ 4,742\n", + "1 Stop\n", + "(43)\n", + "₹ 5,577\n", + "1+ Stop\n", + "(8)\n", + "₹ 12,571\n", + "Departure From New Delhi\n", + "Before\n", + "6\n", + "AM\n", + "₹ 5,352\n", + "6\n", + "AM to\n", + "12\n", + "PM\n", + "₹ 4,742\n", + "12\n", + "PM to\n", + "6\n", + "PM\n", + "₹ 4,917\n", + "After\n", + "6\n", + "PM\n", + "₹ 5,352\n", + "Arrival at Kathmandu\n", + "6\n", + "AM to\n", + "12\n", + "PM\n", + "₹ 5,130\n", + "12\n", + "PM to\n", + "6\n", + "PM\n", + "₹ 4,742\n", + "After\n", + "6\n", + "PM\n", + "₹ 4,917\n", + "Alliances & Airlines\n", + "Oneworld\n", + "(4)\n", + "SkyTeam\n", + "()\n", + "Star Alliance\n", + "(26)\n", + "Air Arabia\n", + "(3)\n", + "₹ 33,139\n", + "Air India\n", + "(19)\n", + "₹ 5,352\n", + "Air India Express\n", + "(3)\n", + "₹ 12,072\n", + "Bhutan Air\n", + "(1)\n", + "₹ 4,742\n", + "Cathay Pacific\n", + "(2)\n", + "₹ 1,93,337\n", + "Flydubai\n", + "(2)\n", + "₹ 37,917\n", + "IndiGo\n", + "(21)\n", + "₹ 5,210\n", + "Malaysia Airlines\n", + "(1)\n", + "₹ 95,945\n", + "Nepal Airlines\n", + "(1)\n", + "₹ 4,917\n", + "Singapore Airlines\n", + "(1)\n", + "₹ 1,54,761\n", + "SpiceJet\n", + "(1)\n", + "₹ 5,130\n", + "Srilankan Airlines\n", + "(1)\n", + "₹ 13,870\n", + "Thai Airways\n", + "(4)\n", + "₹ 23,343\n", + "Turkish Airlines\n", + "(2)\n", + "₹ 87,432\n", + "+ 8 more\n", + "Layover Airports\n", + "Bangkok\n", + "(4)\n", + "₹ 23,343\n", + "Bengaluru\n", + "(17)\n", + "₹ 10,308\n", + "Colombo\n", + "(1)\n", + "₹ 13,870\n", + "Dubai\n", + "(2)\n", + "₹ 37,917\n", + "Hong Kong\n", + "(2)\n", + "₹ 1,93,337\n", + "Hyderabad\n", + "(7)\n", + "₹ 12,571\n", + "Istanbul\n", + "(2)\n", + "₹ 87,432\n", + "Kuala Lumpur\n", + "(1)\n", + "₹ 95,945\n", + "Mumbai\n", + "(18)\n", + "₹ 5,577\n", + "Sharjah\n", + "(3)\n", + "₹ 33,139\n", + "Singapore\n", + "(1)\n", + "₹ 1,54,761\n", + "+ 6 more\n", + "Layover Duration\n", + "1 h 0 m\n", + "24 h 0 m\n", + "Flights from Delhi\n", + "Delhi to Cairo Flight\n", + "Lowest Fare INR 19,963\n", + "Delhi to Langkawi Flight\n", + "Lowest Fare INR 8,329\n", + "Delhi to Toronto Flight\n", + "Lowest Fare INR 38,300\n", + "Delhi to Birmingham Flight\n", + "Lowest Fare INR 24,258\n", + "Delhi to Pisa Flight\n", + "Lowest Fare INR 31,677\n", + "Delhi to Albuquerque Flight\n", + "Lowest Fare INR 54,836\n", + "Delhi to Philadelphia Flight\n", + "Lowest Fare INR 38,040\n", + "Delhi to Southampton Flight\n", + "Lowest Fare INR 26,234\n", + "Delhi to Copenhagen Flight\n", + "Lowest Fare INR 20,281\n", + "Delhi to Edinburgh Flight\n", + "Lowest Fare INR 25,192\n", + "Delhi to Oslo Flight\n", + "Lowest Fare INR 23,806\n", + "Delhi to Zurich Flight\n", + "Lowest Fare INR 21,278\n", + "Delhi to Rome Flight\n", + "Lowest Fare INR 21,731\n", + "Delhi to Brussels Flight\n", + "Lowest Fare INR 22,570\n", + "Delhi to Phuket Flight\n", + "Lowest Fare INR 8,991\n", + "Delhi to Barcelona Flight\n", + "Lowest Fare INR 23,318\n", + "Delhi to Berlin Flight\n", + "Lowest Fare INR 22,195\n", + "Delhi to Charlotte Flight\n", + "Lowest Fare INR 42,961\n", + "Delhi to Larnaca Flight\n", + "Lowest Fare INR 20,277\n", + "Top Flights From Delhi\n", + "Delhi To Kathmandu Flights\n", + "Flights from Kathmandu\n", + "Kathmandu to Edinburgh Flight\n", + "Lowest Fare INR 35,114\n", + "Kathmandu to Riga Flight\n", + "Lowest Fare INR 47,202\n", + "Kathmandu to Oslo Flight\n", + "Lowest Fare INR 32,506\n", + "Kathmandu to Berlin Flight\n", + "Lowest Fare INR 35,654\n", + "Kathmandu to Pittsburgh Flight\n", + "Lowest Fare INR 84,849\n", + "Kathmandu to Birmingham Flight\n", + "Lowest Fare INR 37,446\n", + "Kathmandu to Seoul Flight\n", + "Lowest Fare INR 30,563\n", + "Kathmandu to Nairobi Flight\n", + "Lowest Fare INR 30,918\n", + "Top Routes\n", + "Kathmandu to Delhi Flights\n", + "Delhi to Kathmandu Flight Schedule\n", + "Amsterdam To London Flights\n", + "Calgary To Vancouver Flights\n", + "London To Amsterdam Flights\n", + "Athens To Rome Flights\n", + "Singapore To Perth Flights\n", + "Calgary To Toronto Flights\n", + "Toronto To Ottawa Flights\n", + "New York To Denver Flights\n", + "New York To Seattle Flights\n", + "Madrid To Malaga Flights\n", + "Amsterdam To Newcastle Flights\n", + "London To Frankfurt Flights\n", + "Athens To Paris Flights\n", + "Sydney To Adelaide Flights\n", + "London To Glasgow Flights\n", + "New York To Niagara Falls Flight\n", + "Wellington To Christchurch Flights\n", + "London To Zurich Flights\n", + "Adelaide To Sydney Flights\n", + "Adelaide To Melbourne Flights\n", + "Top Flights From Kathmandu\n", + "Kathmandu To Goa Flights\n", + "Kathmandu To Bangalore Flights\n", + "Kathmandu To Patna Flights\n", + "Kathmandu To Chandigarh Flights\n", + "Kathmandu To Bagdogra Flights\n", + "Kathmandu To Kolkata Flights\n", + "Kathmandu To Hyderabad Flights\n", + "Kathmandu To Kochi Flights\n", + "Kathmandu To Jaipur Flights\n", + "Kathmandu To Pune Flights\n", + "Kathmandu To Mumbai Flights\n", + "Kathmandu To Chennai Flights\n", + "Kathmandu To Varanasi Flights\n", + "Kathmandu To Ahmedabad Flights\n", + "Kathmandu To Thiruvananthapuram Flights\n", + "Kathmandu To Lucknow Flights\n", + "Kathmandu To Indore Flights\n", + "Kathmandu To Tiruchirappalli Flights\n", + "Kathmandu To Madurai Flights\n", + "Kathmandu To Vadodara Flights\n", + "Kathmandu To Amritsar Flights\n", + "Kathmandu To Mangalore Flights\n", + "Kathmandu To Guwahati Flights\n", + "Kathmandu To Nagpur Flights\n", + "Kathmandu To Coimbatore Flights\n", + "Popular Long Haul Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Mumbai Flights\n", + "Orlando\n", + "\t\t\t\t\tto Miami Flights\n", + "Houston\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Seattle\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Houston\n", + "\t\t\t\t\tto Chennai Flights\n", + "Delhi\n", + "\t\t\t\t\tto New York Flights\n", + "Denver\n", + "\t\t\t\t\tto Mumbai Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Chennai Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Boston\n", + "\t\t\t\t\tto Delhi Flights\n", + "Houston\n", + "\t\t\t\t\tto Delhi Flights\n", + "Las\n", + "\t\t\t\t\tVegas to San Jose Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto San Francisco Flights\n", + "Boston\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Houston\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Seattle\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "New\n", + "\t\t\t\t\tYork to Mumbai Flights\n", + "Los\n", + "\t\t\t\t\tAngeles to Hyderabad Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto Dallas Fort Worth Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto New York Flights\n", + "New\n", + "\t\t\t\t\tYork to Hyderabad Flights\n", + "Mumbai\n", + "\t\t\t\t\tto Newark Flights\n", + "New\n", + "\t\t\t\t\tYork to Delhi Flights\n", + "Newark\n", + "\t\t\t\t\tto Bangalore Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Delhi Flights\n", + "Toronto\n", + "\t\t\t\t\tto New York Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Bangalore Flights\n", + "Sacramento\n", + "\t\t\t\t\tto Boston Flights\n", + "Chicago\n", + "\t\t\t\t\tto Kolkata Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto Newark Flights\n", + "Orlando\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Newark\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Delhi\n", + "\t\t\t\t\tto Seattle Flights\n", + "Seattle\n", + "\t\t\t\t\tto Bangalore Flights\n", + "New\n", + "\t\t\t\t\tYork to Chennai Flights\n", + "Chicago\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Delhi\n", + "\t\t\t\t\tto Chicago Flights\n", + "Chicago\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Bangalore\n", + "\t\t\t\t\tto Chicago Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Delhi Flights\n", + "Detroit\n", + "\t\t\t\t\tto Chennai Flights\n", + "Popular Long Haul Flights\n", + "New York To Delhi Flights\n", + "Seattle To Toronto Flights\n", + "Hyderabad To San Francisco Flights\n", + "San Francisco To Mumbai Flights\n", + "Seattle To Hyderabad Flights\n", + "Seattle To Bangalore Flights\n", + "Newark To Mumbai Flights\n", + "Houston To Mumbai Flights\n", + "Orlando To Miami Flights\n", + "Important Links\n", + "Cheap Flights to Delhi\n", + "Cheap Flights to Kathmandu\n", + "Top Airlines\n", + "Ryanair\n", + "American Airlines\n", + "United Airlines\n", + "Delta Airlines\n", + "British Airways\n", + "Spirit Airlines\n", + "Frontier Airlines\n", + "Alaska Airlines\n", + "Qatar Airways\n", + "Turkish Airlines\n", + "Singapore Airlines\n", + "Aerolineas Argentinas\n", + "Norwegian Air\n", + "Philippine Airlines\n", + "Emirates Airlines\n", + "Etihad Airways\n", + "Thai Airways\n", + "Royal Air Maroc\n", + "Air New Zealand\n", + "Hawaiian Airlines\n", + "Air India Express\n", + "Oman Air\n", + "Malindo Air\n", + "Brussels Airlines\n", + "Air Algerie\n", + "Virgin Australia\n", + "Lion Air\n", + "Austrian Airlines\n", + "Aegean Airlines\n", + "Eva Air\n", + "Popular International Routes\n", + "Chennai to Reunion Flight\n", + "Mumbai to Jeddah Flights\n", + "Delhi to Lyon Flight\n", + "Edinburgh to Hyderabad Flight\n", + "Charlotte to Kolkata Flight\n", + "Tampa to Delhi Flight\n", + "Portland to Kolkata Flight\n", + "Baltimore to Hyderabad flight\n", + "Kolkata to Portland Flight\n", + "Delhi to Regina Flight\n", + "Bangalore to Portland Flight\n", + "Mumbai to Portland flight\n", + "Mumbai to Regina Flight\n", + "Delhi to Portland Flight\n", + "Delhi to Dresden Flight\n", + "Mumbai to Dresden Flight\n", + "Kochi Singapore Flights\n", + "Delhi Mauritius Flights\n", + "Chennai Mauritius Flights\n", + "Mumbai Abu Dhabi Flights\n", + "New York Delhi Flights\n", + "Dresden to Delhi Flight\n", + "Mumbai to Bremen Flight\n", + "Mumbai to Rennes Flight\n", + "Chennai to Dresden Flight\n", + "Mumbai to Strasbourg Flight\n", + "Delhi to Bremen Flight\n", + "Kolkata to Dresden Flight\n", + "Bangalore to Nantes Flight\n", + "Hotels in Kathmandu\n", + "Hotels in Kathmandu (487)\n", + "Budget hotels in Kathmandu (320)\n", + "5 Star hotels in Kathmandu (27)\n", + "Resorts in Kathmandu\n", + "Hostels in Kathmandu\n", + "Bed N Breakfast in Kathmandu\n", + "Villas in Kathmandu\n", + "Guest Houses in Kathmandu\n", + "Apart-hotels in Kathmandu\n", + "Apartments in Kathmandu\n", + "Best Hotels in Kathmandu\n", + "Ramada Encore by Wyndham Kathmandu\n", + "The Soaltee Kathmandu\n", + "Radisson Hotel Kathmandu\n", + "Hyatt Regency Kathmandu\n", + "Hotel Crowne Imperial\n", + "Hotel Yak & Yeti\n", + "Chandragiri Hills Resort\n", + "Fairfield by Marriott Kathmandu\n", + "Aloft Kathmandu Thamel by Marriott\n", + "Kathmandu Marriott Hotel\n", + "Best Hotels in Delhi\n", + "Radisson Blu Plaza Delhi Airport\n", + "Taj Palace, New Delhi\n", + "Lemon Tree Premier Delhi Airport\n", + "ibis New Delhi Aerocity - An Accor Brand\n", + "The LaLiT New Delhi\n", + "The Leela Ambience Convention Hotel Delhi\n", + "Radisson Blu Hotel New Delhi Paschim Vihar\n", + "The Ashok\n", + "Radisson Blu Hotel New Delhi Dwarka\n", + "Welcomhotel by ITC Hotels, Dwarka, New Delhi\n", + "Delhi To Kathmandu Flights\n", + "Book Delhi to Kathmandu flight tickets at lowest price. Get best deals on your upcoming Delhi to Kathmandu flights only on MakeMyTrip. Also Book\n", + "Kathmandu to Delhi Flights\n", + ". Currently 62 flights flying from Delhi to Kathmandu. To save maximum on flight booking click on below Fare Calendar button and choose your dates.Avail\n", + "Zero Cancellation\n", + "for flight bookings.\n", + "Sorted By:\n", + "Popularity\n", + "Departure\n", + "Duration\n", + "Arrival\n", + "Price\n", + "Bhutan Air\n", + "10:55\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "12:40\n", + "Kathmandu\n", + "₹ 4,742\n", + "View Prices\n", + "Get Flat Rs. 1185 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Bhutan Air\n", + "B3 | 774\n", + "10:55\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "12:40\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 4,742\n", + "Base Fare\n", + "₹ 400\n", + "Surcharges\n", + "₹ 4,342\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Fare Option 1\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "15 Kgs\n", + "Non-refundable fare\n", + "Not allowed\n", + "₹ 4,742\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "15 Kgs\n", + "Non-refundable fare\n", + "Not allowed\n", + "₹ 4,402\n", + "Book Now\n", + "Nepal Airlines\n", + "16:20\n", + "New Delhi\n", + "01\n", + "h\n", + "35\n", + "m\n", + "Non stop\n", + "18:10\n", + "Kathmandu\n", + "₹ 4,917\n", + "View Prices\n", + "Get Flat Rs. 1229 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Nepal Airlines\n", + "RA | 218\n", + "16:20\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "35\n", + "m\n", + "18:10\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 4,917\n", + "Base Fare\n", + "₹ 310\n", + "Surcharges\n", + "₹ 4,607\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Fare Option 1\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "₹ 4,917\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "₹ 4,577\n", + "Book Now\n", + "SpiceJet\n", + "08:10\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "09:55\n", + "Kathmandu\n", + "₹ 5,130\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "SpiceJet\n", + "SG | 41\n", + "08:10\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "09:55\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,130\n", + "Base Fare\n", + "₹ 2,925\n", + "Surcharges\n", + "₹ 2,205\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Spicesaver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 5,130\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 4,790\n", + "Book Now\n", + "Spiceflex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 5,656\n", + "Book Now\n", + "Spicemax\n", + "Extra legroom, priority services.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,940\n", + "Book Now\n", + "IndiGo\n", + "07:50\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "09:50\n", + "Kathmandu\n", + "11:05\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "13:40\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "15:40\n", + "Kathmandu\n", + "More Timing Options\n", + "₹ 5,210\n", + "View Prices\n", + "Get Flat Rs. 850 discount using MMTDEALS\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E | 1151\n", + "07:50\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "09:50\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,210\n", + "Base Fare\n", + "₹ 3,027\n", + "Surcharges\n", + "₹ 2,183\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Saver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,300\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,210\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,300\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 4,870\n", + "Book Now\n", + "Flexi plus\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 2,999\n", + "Free Date change allowed upto 4 days before departure\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,315\n", + "Book Now\n", + "SUPER 6E\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "25 Kgs\n", + "Cancellation Fee Starting ₹ 2,999\n", + "Free Date change allowed upto 4 days before departure\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,995\n", + "Book Now\n", + "Air India\n", + "05:00\n", + "New Delhi\n", + "01\n", + "h\n", + "20\n", + "m\n", + "Non stop\n", + "06:35\n", + "Kathmandu\n", + "₹ 5,352\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 215\n", + "05:00\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "20\n", + "m\n", + "06:35\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,012\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Premium classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 2,500\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,977\n", + "Book Now\n", + "Premium flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,097\n", + "Book Now\n", + "Air India\n", + "07:00\n", + "New Delhi\n", + "01\n", + "h\n", + "50\n", + "m\n", + "Non stop\n", + "09:05\n", + "Kathmandu\n", + "11:00\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "₹ 5,352\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 213\n", + "07:00\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "50\n", + "m\n", + "09:05\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,012\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,452\n", + "Book Now\n", + "Air India\n", + "14:30\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "16:30\n", + "Kathmandu\n", + "₹ 5,352\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 2219\n", + "14:30\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "16:30\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,012\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Premium classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 2,500\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,977\n", + "Book Now\n", + "Premium flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,097\n", + "Book Now\n", + "Air India\n", + "18:10\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "20:05\n", + "Kathmandu\n", + "₹ 5,352\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 211\n", + "18:10\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "40\n", + "m\n", + "20:05\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,012\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,452\n", + "Book Now\n", + "IndiGo\n", + "07:00\n", + "New Delhi\n", + "06\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "06:00\n", + "New Delhi\n", + "07\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "05:00\n", + "New Delhi\n", + "08\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "04:00\n", + "New Delhi\n", + "09\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "01:55\n", + "New Delhi\n", + "11\n", + "h\n", + "55\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "23:30\n", + "New Delhi\n", + "14\n", + "h\n", + "20\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "22:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "21:00\n", + "New Delhi\n", + "16\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "17\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "₹ 5,577\n", + "View Prices\n", + "Get Flat Rs. 850 discount using MMTDEALS\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E | 6814\n", + "07:00\n", + "Wed, 16 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "15\n", + "m\n", + "09:15\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,577\n", + "Base Fare\n", + "₹ 3,327\n", + "Surcharges\n", + "₹ 2,250\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Saver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,999\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,577\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,999\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,237\n", + "Book Now\n", + "Flexi plus\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,999\n", + "Free Date change allowed upto 4 days before departure\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,627\n", + "Book Now\n", + "SUPER 6E\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "25 Kgs\n", + "Cancellation Fee Starting ₹ 2,999\n", + "Free Date change allowed upto 4 days before departure\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,362\n", + "Book Now\n", + "Air India\n", + "20:30\n", + "New Delhi\n", + "11\n", + "h\n", + "20\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "11\n", + "h\n", + "50\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "16:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "15:30\n", + "New Delhi\n", + "16\n", + "h\n", + "20\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "14:10\n", + "New Delhi\n", + "17\n", + "h\n", + "40\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "₹ 10,308\n", + "View Prices\n", + "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 2807\n", + "20:30\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "02\n", + "h\n", + "55\n", + "m\n", + "23:25\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI | 9187 | Operated By Air India Express\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 10,308\n", + "Base Fare\n", + "₹ 7,600\n", + "Surcharges\n", + "₹ 2,708\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 4,000\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 10,308\n", + "Book Now\n", + "MMT\n", + "SPECIAL\n", + "Fare by MakeMyTrip\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 4,000\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 9,968\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 2,000\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 10,833\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 12,408\n", + "Book Now\n", + "Load More Flights\n", + "Travel Home\n", + "International Flights\n", + "Flights to Kathmandu\n", + "Delhi to Kathmandu\n", + " Flights\n", + "Frequently Asked Questions - Delhi to Kathmandu Flights\n", + "Q: Do airlines from Delhi to Kathmandu offer sleeping areas?\n", + "A: Several airlines flying from Delhi to Kathmandu provide space for sleeping. In most cases, this service is available on a pay per use basis.\n", + "Q: Can I book tickets for another person from my own account?\n", + "A: Yes, you can book a ticket for someone else too. For that, you will have to provide their personal details while booking the flight.\n", + "Q: What are the latest flight offers at MakeMyTrip for Delhi to Kathmandu?\n", + "A: MakeMyTrip offers cashback and instant discounts for Delhi to Kathmandu flights. Check the flights booking page for the exciting deals.\n", + "Q: How much baggage can I carry on a Delhi to Kathmandu flight?\n", + "A: Each airline has a different baggage policy. So you must contact the airline for exact details on the same.\n", + "Q: Which are the most preferred airlines in the world?\n", + "A: The most preferred airlines in the world are Qatar Airways, Emirates, Lufthansa, Singapore Airlines, Oman Air and AirAsia.\n", + "Q: Can I carry food on my Delhi to Kathmandu flight?\n", + "A: Airlines have varying rules on allowing passengers to carry their own food on the flight. Please check with the specific airline for further clarity on the same.\n", + "Q: What are the most booked classes for a Delhi to Kathmandu flight?\n", + "A: For Delhi to Kathmandu flights, most travellers prefer economy or business class tickets.\n", + "Q: How can I recover my lost baggage from my Delhi to Kathmandu flight?\n", + "A: Check with your airline and register a complaint with them. Provide them the details with your proof of address, ID and travel for recovering your lost baggage.\n", + "Q: How much time does it take to get confirmation on a flight ticket?\n", + "A: It only takes a few minutes to receive a ticket confirmation at your registered email address.\n", + "Q: What is the largest number of seats that I can reserve in a single booking?\n", + "A: You can reserve seats for up to 9 people in a single transaction.\n", + "Q: Can I pay later for my flight tickets for Delhi to Kathmandu?\n", + "A: No, currently MakeMyTrip does not offer any such option for flight bookings.\n", + "Q: Why should I choose business class over economy class?\n", + "A: Business class comes with its own unique perks like spacious seats, fancier meal options and personalised services that make it worth the high price. Most airlines also offer access to airport lounges where you can unwind and entertain yourself while waiting for your flight.\n", + "Q: How can I get a boarding pass after booking a ticket for my Delhi to Kathmandu flight?\n", + "A: Avail your boarding pass by sharing your booking confirmation at the airport. The staff will hand over the boarding pass to you after verifying your details. You can also visit the airline’s website for web check-in and take a printout of your boarding pass.\n", + "Q: Do I have to present an ID proof during check-in?\n", + "A: Yes, you need to present your passport during check-in for your international flight.\n", + "FAQs - Delhi to Kathmandu Flights\n", + "Q: What flight offers are available for Delhi to Kathmandu Flights?\n", + "A:\n", + "MakeMyTrip features a range of offers like bank discounts (SBI, HDFC, AmEx) and EMI options.\n", + "Discounts range from ₹3,000 to ₹6,000 on international bookings.\n", + "First-time users may get extra cashback.\n", + "Combine gift cards, MyCash, and promo codes for added savings.\n", + "Always check the \"Offers\" tab for updated, route-specific deals before booking.\n", + "Q: What are some tips to book Delhi to Kathmandu flights at the best price?\n", + "A:\n", + "Book flights 3–6 weeks in advance for better rates.\n", + "Travel midweek (Tues–Thurs) to avoid peak pricing.\n", + "Use MakeMyTrip’s fare calendar and set price alerts.\n", + "Choose early morning or red-eye flights for lower fares.\n", + "Apply valid bank offers, promo codes, and MyCash at checkout.\n", + "Use the mobile app for exclusive discounts and coupon codes.\n", + "Round-trip bookings typically offer better overall value.\n", + "Q: How can I get better deals on Delhi to Kathmandu flights?\n", + "A:\n", + "Travel during off-season (May–September) for lower fares.\n", + "Book on Tuesdays or Wednesdays for cheaper prices.\n", + "Use fare alerts to catch price drops.\n", + "Consider low-cost airlines like AirIndia or IndiGo.\n", + "Be flexible with dates and times to unlock more options.\n", + "Round-trip tickets often cost less per leg than two one-ways.\n", + "Watch for flash sales and bank card promotions regularly.\n", + "Q: Is travel insurance mandatory for flying to Kathmandu?\n", + "A: While not always mandatory, travel insurance is strongly recommended when flying internationally — especially to Kathmandu. It helps protect you in situations like:\n", + "Medical emergencies or hospitalizations abroad\n", + "Trip cancellations or flight delays\n", + "Lost or delayed baggage\n", + "Accidental injury or illness during the trip\n", + "MakeMyTrip often provides an option to add travel insurance during checkout. For visa applications, proof of insurance may be required.\n", + "Q: What are the check-in rules for Delhi to Kathmandu flights?\n", + "A: For international flights, it’s important to follow airline check-in guidelines closely:\n", + "Arrive at the airport 3–4 hours before departure\n", + "Online check-in opens 24 to 48 hours before flight time (depending on the airline)\n", + "Carry a valid passport, visa copy, flight ticket, and travel insurance printout\n", + "Some airlines allow mobile boarding passes, but always keep a physical copy as backup\n", + "Ensure baggage weight matches the allowance — excess charges can be steep\n", + "Q: Which airlines offer direct flights from Delhi to Kathmandu?\n", + "A: Several airlines operate non-stop flights between Delhi and Kathmandu, including:\n", + "Emirates (full-service with meals and entertainment)\n", + "IndiGo (budget-friendly with optional add-ons)\n", + "Air India & Vistara (standard cabin service)\n", + "Most of these carriers operate daily or multiple flights per day, giving travelers plenty of timing choices.\n", + "Q: What should I keep in mind while booking international flights on MakeMyTrip?\n", + "A:\n", + "Passenger names must match the passport exactly\n", + "Review the baggage allowance as it varies by airline and fare class\n", + "Ensure your passport is valid for at least 6 months\n", + "Check if your chosen fare includes meals and seat selection\n", + "Look for the \"Fare Details\" link for cancellation and change policies\n", + "Q: Can I book a Delhi to Kathmandu flight for someone else using my MakeMyTrip account?\n", + "A:\n", + "You can book for others using your account.\n", + "Enter the traveler’s name exactly as on their passport.\n", + "Share the e-ticket and updates with them.\n", + "Payment can be done using your method.\n", + "Manage bookings via your login.\n", + "Q: What are the cancellation rules for Delhi to Kathmandu flights booked on MakeMyTrip?\n", + "A:\n", + "Non-refundable tickets may have partial or no refund.\n", + "Flexible fares allow cancellations with minimal charges.\n", + "Fees typically range from ₹2,000–₹10,000.\n", + "Refunds are processed in 7–14 business days.\n", + "Cancellations can be made via \"My Bookings.\"\n", + "Q: What is the baggage allowance on Delhi to Kathmandu flights?\n", + "A:\n", + "Economy class: 15–30 kg checked, 7–10 kg cabin.\n", + "Budget airlines may charge extra for check-in baggage.\n", + "Excess baggage fees apply per extra kg.\n", + "Verify baggage limits before travel.\n", + "Q: How can I track the flight status for a Delhi to Kathmandu booking?\n", + "A:\n", + "Use ā€˜My Trips’ on MakeMyTrip\n", + "Check airline’s official website\n", + "Use apps like Flightradar24 or FlightAware\n", + "Q: Does MakeMyTrip offer customer support for Delhi to Kathmandu flight issues?\n", + "A:\n", + "24/7 chat support via app\n", + "Phone helpline\n", + "Website Help Center\n", + "Q: What documents are required at the airport for a Delhi to Kathmandu flight?\n", + "A:\n", + "Valid passport (min. 6 months validity)\n", + "Visa (if required)\n", + "Flight ticket printout\n", + "Travel insurance (recommended)\n", + "Q: Are there any exclusive or first-time user coupons for Delhi to Kathmandu Flight?\n", + "A: Yes — e.g., MMTWELCOME codes offer ~10–12% off on first app booking, applicable to international flights.\n", + "Q: Pro Tips to Maximize Savings on Delhi to Kathmandu Flight Booking?\n", + "A:\n", + "Book on Wednesdays, Fridays, weekends.\n", + "Use stacked offers (bank + promo + gift card).\n", + "Set fare alerts & explore app-only discounts.\n", + "Apply promo codes before payment.\n", + "Q: What amenities are available on board for Delhi to Kathmandu flights?\n", + "A: Full-service airlines offer meals, entertainment, Wi-Fi, and charging ports. Budget airlines allow add-ons for meals and baggage.\n", + "Q: How early should I arrive at the airport for an international flight from Delhi to Kathmandu?\n", + "A: Reach the airport at least 3–4 hours before departure to complete check-in, immigration, and security formalities comfortably.\n", + "Q: Is it cheaper to book round-trip flights for Delhi to Kathmandu?\n", + "A: Yes. Round-trips often cost less and help avoid price hikes on return legs.\n", + "Q: Can I reschedule or cancel my Delhi – Kathmandu flight booking on MakeMyTrip?\n", + "A:\n", + "Yes, via My Trips or airline website.\n", + "Refundability depends on fare class.\n", + "Refunds processed in 7–14 days.\n", + "Q: Are meals included on Delhi to Kathmandu flights booked via MakeMyTrip?\n", + "A:\n", + "Yes, for full-service airlines.\n", + "Optional for budget carriers.\n", + "Check \"Fare Details\" before checkout.\n", + "Q: Can I select my seat while booking Delhi to Kathmandu flights on MakeMyTrip?\n", + "A: Seat selection available during/after booking.\n", + "Premium seats may have extra cost.\n", + "Can also be done on airline website.\n", + "Q: How can I book a window seat for my Delhi to Kathmandu flight?\n", + "A:\n", + "Select window seat during booking or check-in.\n", + "Arrive early for manual seat request.\n", + "Q: What’s the difference between Economy and Business Class on Delhi to Kathmandu flights?\n", + "A:\n", + "Business: wider seats, lounge access, gourmet meals.\n", + "Economy: basic service, more affordable.\n", + "Q: Can I book Business Class for Delhi to Kathmandu flights on MakeMyTrip?\n", + "A:\n", + "Yes, use cabin class filters while searching.\n", + "Compare meals, baggage, and fare benefits.\n", + "Q: Is it safe to travel with kids on a Delhi to Kathmandu flight?\n", + "A:\n", + "Yes, airlines offer child meals, early boarding, and crew assistance.\n", + "Carry snacks, toys, and essentials for comfort.\n", + "Q: Are there special facilities for infants or toddlers on flights from Delhi to Kathmandu?\n", + "A:\n", + "Bassinets (on request)\n", + "Changing tables\n", + "Infant seat belts\n", + "Baby meals (on full-service)\n", + "Q: What are the child fare policies for Delhi to Kathmandu flights?\n", + "A:\n", + "Infants: 10–15% of adult fare (no seat)\n", + "Children (2–12): 75–100% of adult fare\n", + "Q: What is the baggage allowance for infants on Delhi to Kathmandu flights?\n", + "A:\n", + "Up to 10 kg checked luggage\n", + "1 carry-on like diaper bag\n", + "Foldable stroller may be free\n", + "Q: How do I collect my baggage after arriving in Kathmandu from Delhi?\n", + "A:\n", + "Go to the baggage carousel shown on monitors\n", + "Collect your bags and report any missing luggage at the airline desk\n", + "Q: How do I find out my gate number for a Delhi to Kathmandu flight?\n", + "A:\n", + "Check boarding pass and airport monitors\n", + "Use airline app or MakeMyTrip app\n", + "Gate numbers may change—stay alert\n", + "About Delhi (DEL)\n", + "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", + "Delhi Address\n", + "Indira Gandhi International Airport\n", + "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", + "Enquries Phone Number: (+91) 11 25661080\n", + "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", + "About Kathmandu (KTM)\n", + "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", + "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", + "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", + "Kathmandu Address\n", + "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", + "Tel: +97714477161\n", + "Global Presence\n", + "India\n", + "Australia\n", + "Bahrain\n", + "Bangladesh\n", + "Kuwait\n", + "Malaysia\n", + "Nepal\n", + "Oman\n", + "Qatar\n", + "Saudi Arabia\n", + "Singapore\n", + "Thailand\n", + "Sril Lanka\n", + "UAE\n", + "UK\n", + "US\n", + "Product Offering\n", + "Flights\n", + "Flight+Hotel Deals\n", + "International Flights\n", + "Book Flights From UAE\n", + "Air Bubble Flights\n", + "Vande Bharat Mission Flights\n", + "COVID-19 Travel Advice\n", + "Hotels\n", + "International Hotels\n", + "Book Hotels From UAE\n", + "Holidays in India\n", + "International Holidays\n", + "Trip Ideas\n", + "Bus\n", + "Rail\n", + "Cab Booking\n", + "Airlines\n", + "Cheap Flights\n", + "Flight Status\n", + "Flight Cancellation\n", + "Forex\n", + "Visa\n", + "Travel Insurance\n", + "myPartner for Travel Agent\n", + "myBiz - Corporate Travel & Expense Solution\n", + "MICE\n", + "B2B\n", + "facebook\n", + "twitter\n", + "MakeMyTrip\n", + "About Us\n", + "Investor Relations\n", + "Testimonial\n", + "Careers\n", + "Social Responsibility\n", + "Travel Community\n", + "Corporate Travel\n", + "Travel Guide\n", + "Domestic Flight Offers\n", + "International Flight Offers\n", + "Explore India\n", + "MakeMyTrip Coupons\n", + "FAQs\n", + "Site Map\n", + "Complaints\n", + "Contact Us\n", + "Payment Security\n", + "Privacy Policy\n", + "GST on Flight Tickets\n", + "GST on International Flight\n", + "Branch Offices\n", + "International Routes\n", + "Delhi to Bangkok Flight\n", + "Delhi to Dubai Flight\n", + "Delhi to Singapore Flight\n", + "Delhi to London Flight\n", + "Pune to Dubai Flight\n", + "Mumbai to Singapore Flight\n", + "Mumbai to Bangkok Flight\n", + "Delhi to Bali Flight\n", + "Mumbai to Bali Flight\n", + "Kolkata to Bangkok Flight\n", + "Chennai to Dubai Flight\n", + "Mumbai to London Flight\n", + "Kolkata to Singapore Flight\n", + "Hyderabad to Singapore Flight\n", + "Chennai to Singapore Flight\n", + "Mumbai to Frankfurt Flight\n", + "Mumbai to Kuala Lumpur Flight\n", + "Nagpur to Bali Flight\n", + "Chandigarh to Bali Flight\n", + "India to Bali Flight\n", + "Chennai to Mauritius Flight\n", + "Riyadh to Gorakhpur Flight\n", + "Mumbai to Brisbane Flight\n", + "Hyderabad to Bangkok Flight\n", + "Delhi To Perth Flight\n", + "Berlin To Chennai Flight\n", + "Kolkata To Vancouver Flight\n", + "Birmingham To Hyderabad Flight\n", + "Mumbai To Strasbourg Flight\n", + "Delhi To Nuremberg Flight\n", + "Mumbai To Bremen Flight\n", + "Delhi To Cayenne Flight\n", + "More International Routes\n", + "Kochi to Dublin Flight\n", + "Salalah to thiruvananthapuram flight\n", + "New York to Los Angeles Flight\n", + "Visakhapatnam to Muscat Flight\n", + "Visakhapatnam to Bali Flight\n", + "London to Amsterdam Flight\n", + "London to New York Flight\n", + "Chicago to New York Flight\n", + "London to Rome Flight\n", + "Mumbai to Antananarivo Flight\n", + "Rome to Venice Flight\n", + "London to Malaga Flight\n", + "Kannur to Dubai flight\n", + "Dubai to London Flight\n", + "Delhi to Bishkek Flight\n", + "Delhi to Tashkent flight\n", + "London to Manchester Flight\n", + "Paris to Rome Flight\n", + "Lucknow to Riyadh Flight\n", + "Kathmandu to Pokhara Flight\n", + "Mumbai to Lusaka Flight\n", + "Delhi to Adelaide Flight\n", + "Muscat to Gorakhpur Flight\n", + "Delhi to Philippines Flight\n", + "Ahmedabad To Calgary Flight\n", + "Mumbai To Winnipeg Flight\n", + "Delhi To Edmonton Flight\n", + "Winnipeg To Delhi Flight\n", + "Bangalore To Nantes Flight\n", + "Mumbai To Rennes Flight\n", + "Kolkata To Dresden Flight\n", + "Delhi To Bremen Flight\n", + "Top International Airlines\n", + "International Airlines\n", + "Emirates Airlines\n", + "Malaysia Airlines\n", + "Virgin Atlantic\n", + "Air Arabia\n", + "British Airways\n", + "Lufthansa\n", + "Qatar Airways\n", + "Malindo Air\n", + "Srilankan Airlines\n", + "Oman Air\n", + "Singapore Airlines\n", + "Tiger Airways\n", + "Saudi Arabian Airlines\n", + "Cathay Pacific Airlines\n", + "Etihad Airways\n", + "Turkish Airlines\n", + "Qantas Airways\n", + "Delhi to Dubai Vistara Airlines\n", + "Kolkata to Yangon Flights\n", + "Mumbai to Bahrain Flight\n", + "Jaipur to Bali Flight\n", + "Delhi to Larnaca Flight\n", + "Delhi to New Zealand Flight\n", + "Delhi to Bucharest Flight\n", + "Bangalore To Winnipeg Flight\n", + "Toronto To Delhi Flight\n", + "Hyderabad To Calgary Flight\n", + "Dresden To Delhi Flight\n", + "Mumbai To Dresden Flight\n", + "Delhi To Dresden Flight\n", + "Chennai To Dresden Flight\n", + "Delhi To Baku Flights\n", + "Top International Routes\n", + "Mumbai to Istanbul Flight\n", + "Mumbai to Tokyo Flight\n", + "Mumbai to Shanghai Flight\n", + "Mumbai to Seoul Flight\n", + "Delhi to Seoul Flight\n", + "Delhi to Moscow Flight\n", + "Delhi to Milan Flight\n", + "Delhi to Amsterdam Flight\n", + "Bangkok to Koh Samui Flight\n", + "Mumbai to Milan Flight\n", + "Mumbai to Madrid Flight\n", + "Kolkata to Hong Kong Flight\n", + "Chennai to Sydney Flight\n", + "Phuket to Bangkok Flight\n", + "Mumbai to Geneva Flight\n", + "Hyderabad to Melbourne Flight\n", + "Bangkok to Phuket Flight\n", + "Mumbai to Pattaya Flight\n", + "Pune to Kathmandu Flight\n", + "Chennai to Riyadh Flight\n", + "Delhi to Prague Flight\n", + "Delhi to Pattaya Flight\n", + "Mumbai to Sri Lanka Flight\n", + "Delhi To Bahrain Flight\n", + "Belfast to Hyderabad Flight\n", + "Honolulu To Kolkata Flights\n", + "Frankfurt To Bangalore Flight\n", + "Chennai To London Flight\n", + "Delhi To Portland Flight\n", + "Bangalore To Portland Flight\n", + "Mumbai To Portland Flight\n", + "Delhi To Regina Flight\n", + "New International Routes\n", + "Kolkata to Pattaya Flight\n", + "Bishkek to Delhi Flight\n", + "Delhi to Yerevan Flight\n", + "Chandigarh to Kathmandu Flight\n", + "Delhi to Tbilisi Flight\n", + "Delhi to Yerevan Flight\n", + "Chandigarh to Kathmandu Flight\n", + "Delhi to Tbilisi Flight\n", + "Amritsar to Rome Flight\n", + "Bagdogra to Bhutan Flight\n", + "Delhi to Dushanbe Flight\n", + "Dubai to Visakhapatnam Flight\n", + "Dubai to Regina Flight\n", + "Mumbai to Tbilisi Flight\n", + "Siliguri to Kathmandu Flight\n", + "Mumbai to Yangon Flight\n", + "Tbilisi to Delhi Flight\n", + "Delhi to Osh Flight\n", + "Tbilisi to Mumbai Flight\n", + "Chennai to Yangon Flight\n", + "Lusaka to Mumbai Flight\n", + "Surat to Toronto Flight\n", + "Yerevan to Delhi Flight\n", + "Guwahati to Seoul Flight\n", + "Dhaka to Jessore Flight\n", + "Doha to Visakhapatnam Flight\n", + "Mumbai To Dusseldorf Flight\n", + "Edmonton To Bangalore Flight\n", + "Mumbai To Regina Flight\n", + "Hyderabad To Tampa Flight\n", + "Baltimore To Hyderabad Flight\n", + "Kolkata To Portland Flight\n", + "\n", + "\n", + "\n", + "Title: Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...\n", + "Webpage Title:\n", + "Delhi DEL to Kathmandu KTM Cheap Flights ✈, Fares @ USD 52 | MakeMyTrip USA Flights\n", + "Webpage Contents:\n", + "Flights\n", + "Flights\n", + "Hotels\n", + "Hotels\n", + "TRIP TYPE\n", + "One Way\n", + "FROM\n", + "TO\n", + "DEPART\n", + "RETURN\n", + "PASSENGERS & CLASS\n", + "SEARCH\n", + "Popular Filters\n", + "Non Stop\n", + "(12)\n", + "USD 52\n", + "Morning Departures\n", + "(37)\n", + "USD 52\n", + "Late Departures\n", + "(21)\n", + "USD 66\n", + "Hide Nearby Airports\n", + "(69)\n", + "USD 52\n", + "1 Stop\n", + "(54)\n", + "USD 66\n", + "+ 1 more\n", + "Departure Airports\n", + "Indira Gandhi International Airport\n", + "USD 52\n", + "Hindon Airport (32Km)\n", + "USD 148\n", + "One Way Price\n", + "USD 52\n", + "USD 2,300\n", + "Duration\n", + "1 h 20 m\n", + "31 h 0 m\n", + "Stops From New Delhi\n", + "Non Stop\n", + "(12)\n", + "USD 52\n", + "1 Stop\n", + "(54)\n", + "USD 66\n", + "1+ Stop\n", + "(4)\n", + "USD 180\n", + "Departure From New Delhi\n", + "Before\n", + "6\n", + "AM\n", + "USD 66\n", + "6\n", + "AM -\n", + "12\n", + "PM\n", + "USD 52\n", + "12\n", + "PM -\n", + "6\n", + "PM\n", + "USD 61\n", + "After\n", + "6\n", + "PM\n", + "USD 66\n", + "Arrival at Kathmandu\n", + "6\n", + "AM -\n", + "12\n", + "PM\n", + "USD 61\n", + "12\n", + "PM -\n", + "6\n", + "PM\n", + "USD 52\n", + "After\n", + "6\n", + "PM\n", + "USD 69\n", + "Alliances & Airlines\n", + "Oneworld\n", + "(5)\n", + "SkyTeam\n", + "()\n", + "Star Alliance\n", + "(31)\n", + "Air Arabia\n", + "(3)\n", + "USD 383\n", + "Air India\n", + "(24)\n", + "USD 68\n", + "Air India Express\n", + "(2)\n", + "USD 148\n", + "Batik Air\n", + "(1)\n", + "USD 477\n", + "Bhutan Air\n", + "(1)\n", + "USD 52\n", + "Cathay Pacific\n", + "(2)\n", + "USD 2,225\n", + "Flydubai\n", + "(3)\n", + "USD 458\n", + "Hahn Air\n", + "(1)\n", + "USD 218\n", + "IndiGo\n", + "(21)\n", + "USD 61\n", + "Malaysia Airlines\n", + "(1)\n", + "USD 1,062\n", + "Nepal Airlines\n", + "(1)\n", + "USD 69\n", + "Singapore Airlines\n", + "(1)\n", + "USD 2,244\n", + "SpiceJet\n", + "(1)\n", + "USD 61\n", + "Srilankan Airlines\n", + "(2)\n", + "USD 169\n", + "Thai Airways\n", + "(4)\n", + "USD 295\n", + "Turkish Airlines\n", + "(2)\n", + "USD 1,016\n", + "+ 10 more\n", + "Layover Airports\n", + "Bangkok\n", + "(4)\n", + "USD 295\n", + "Bengaluru\n", + "(21)\n", + "USD 126\n", + "Colombo\n", + "(2)\n", + "USD 169\n", + "Dubai\n", + "(3)\n", + "USD 458\n", + "Hong Kong\n", + "(2)\n", + "USD 2,225\n", + "Indore\n", + "(1)\n", + "USD 179\n", + "Istanbul\n", + "(2)\n", + "USD 1,016\n", + "Kuala Lumpur\n", + "(2)\n", + "USD 477\n", + "Mumbai\n", + "(18)\n", + "USD 66\n", + "Pune\n", + "(3)\n", + "USD 181\n", + "Sharjah\n", + "(3)\n", + "USD 383\n", + "Singapore\n", + "(1)\n", + "USD 2,244\n", + "+ 7 more\n", + "Layover Duration\n", + "1 h 0 m\n", + "24 h 0 m\n", + "Flights from Delhi\n", + "Delhi to Southampton Flight\n", + "Lowest Fare USD 368\n", + "Delhi to Edmonton Flight\n", + "Lowest Fare USD 894\n", + "Delhi to Seoul Flight\n", + "Lowest Fare USD 176\n", + "Delhi to Sydney Flight\n", + "Lowest Fare USD 217\n", + "Delhi to Philadelphia Flight\n", + "Lowest Fare USD 648\n", + "Delhi to Munich Flight\n", + "Lowest Fare USD 301\n", + "Delhi to Toronto Flight\n", + "Lowest Fare USD 692\n", + "Delhi to Almeria Flight\n", + "Lowest Fare USD 517\n", + "Delhi to Miami Flight\n", + "Lowest Fare USD 536\n", + "Delhi to Riga Flight\n", + "Lowest Fare USD 309\n", + "Delhi to Skiathos Flight\n", + "Lowest Fare USD 450\n", + "Delhi to Oslo Flight\n", + "Lowest Fare USD 321\n", + "Delhi to Charlotte Flight\n", + "Lowest Fare USD 600\n", + "Delhi to Cairo Flight\n", + "Lowest Fare USD 257\n", + "Delhi to Jakarta Flight\n", + "Lowest Fare USD 161\n", + "Delhi to Berlin Flight\n", + "Lowest Fare USD 311\n", + "Delhi to Brussels Flight\n", + "Lowest Fare USD 283\n", + "Delhi to Zurich Flight\n", + "Lowest Fare USD 266\n", + "Flights from Kathmandu\n", + "Kathmandu to Glasgow Flight\n", + "Lowest Fare USD 488\n", + "Kathmandu to Toronto Flight\n", + "Lowest Fare USD 922\n", + "Kathmandu to Rome Flight\n", + "Lowest Fare USD 389\n", + "Kathmandu to Berlin Flight\n", + "Lowest Fare USD 390\n", + "Kathmandu to Phuket Flight\n", + "Lowest Fare USD 130\n", + "Kathmandu to Larnaca Flight\n", + "Lowest Fare USD 437\n", + "Kathmandu to Southampton Flight\n", + "Lowest Fare USD 550\n", + "Kathmandu to Cairo Flight\n", + "Lowest Fare USD 360\n", + "Kathmandu to Edinburgh Flight\n", + "Lowest Fare USD 410\n", + "Kathmandu to Colombo Flight\n", + "Lowest Fare USD 220\n", + "Kathmandu to Nairobi Flight\n", + "Lowest Fare USD 451\n", + "Kathmandu to Jakarta Flight\n", + "Lowest Fare USD 369\n", + "Kathmandu to Zurich Flight\n", + "Lowest Fare USD 350\n", + "Kathmandu to Copenhagen Flight\n", + "Lowest Fare USD 349\n", + "Kathmandu to Munich Flight\n", + "Lowest Fare USD 357\n", + "Kathmandu to Miami Flight\n", + "Lowest Fare USD 767\n", + "Kathmandu to Dubai Flight\n", + "Lowest Fare USD 209\n", + "Kathmandu to Charlotte Flight\n", + "Lowest Fare USD 770\n", + "Top Flights From Delhi\n", + "Delhi To Kathmandu Flights\n", + "Top Flights From Kathmandu\n", + "Kathmandu To Goa Flights\n", + "Kathmandu To Bangalore Flights\n", + "Kathmandu To Patna Flights\n", + "Kathmandu To Chandigarh Flights\n", + "Kathmandu To Bagdogra Flights\n", + "Kathmandu To Kolkata Flights\n", + "Kathmandu To Hyderabad Flights\n", + "Kathmandu To Kochi Flights\n", + "Top routes\n", + "Delhi To Aalborg Flights\n", + "Delhi To Anapa Flights\n", + "Delhi To Aarhus Flights\n", + "Delhi To Allentown Flights\n", + "Popular Long Haul Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Mumbai Flights\n", + "Orlando\n", + "\t\t\t\t\tto Miami Flights\n", + "Houston\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Seattle\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Houston\n", + "\t\t\t\t\tto Chennai Flights\n", + "Delhi\n", + "\t\t\t\t\tto New York Flights\n", + "Denver\n", + "\t\t\t\t\tto Mumbai Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Chennai Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Boston\n", + "\t\t\t\t\tto Delhi Flights\n", + "Houston\n", + "\t\t\t\t\tto Delhi Flights\n", + "Las\n", + "\t\t\t\t\tVegas to San Jose Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto San Francisco Flights\n", + "Boston\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Houston\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Seattle\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "New\n", + "\t\t\t\t\tYork to Mumbai Flights\n", + "Los\n", + "\t\t\t\t\tAngeles to Hyderabad Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto Dallas Fort Worth Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto New York Flights\n", + "New\n", + "\t\t\t\t\tYork to Hyderabad Flights\n", + "Mumbai\n", + "\t\t\t\t\tto Newark Flights\n", + "New\n", + "\t\t\t\t\tYork to Delhi Flights\n", + "Newark\n", + "\t\t\t\t\tto Bangalore Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Delhi Flights\n", + "Toronto\n", + "\t\t\t\t\tto New York Flights\n", + "Atlanta\n", + "\t\t\t\t\tto Bangalore Flights\n", + "Sacramento\n", + "\t\t\t\t\tto Boston Flights\n", + "Chicago\n", + "\t\t\t\t\tto Kolkata Flights\n", + "Hyderabad\n", + "\t\t\t\t\tto Newark Flights\n", + "Orlando\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Newark\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Delhi\n", + "\t\t\t\t\tto Seattle Flights\n", + "Seattle\n", + "\t\t\t\t\tto Bangalore Flights\n", + "New\n", + "\t\t\t\t\tYork to Chennai Flights\n", + "Chicago\n", + "\t\t\t\t\tto Mumbai Flights\n", + "Delhi\n", + "\t\t\t\t\tto Chicago Flights\n", + "Chicago\n", + "\t\t\t\t\tto Hyderabad Flights\n", + "Bangalore\n", + "\t\t\t\t\tto Chicago Flights\n", + "San\n", + "\t\t\t\t\tFrancisco to Delhi Flights\n", + "Detroit\n", + "\t\t\t\t\tto Chennai Flights\n", + "Top Airlines\n", + "British Airways\n", + "Air France\n", + "US Airways\n", + "Delta Airlines\n", + "KLM Royal Dutch\n", + "Lufthansa\n", + "Qatar Airways\n", + "Air China\n", + "Air Canada\n", + "Cathay Pacific\n", + "Etihad Airways\n", + "Kuwait Airways\n", + "American Airlines\n", + "Singapore Airlines\n", + "United Airlines\n", + "Popular Flights\n", + "Mumbai To Atlanta Flights\n", + "Hyderabad To Houston Flights\n", + "Mumbai To Dallas Fort Worth Flights\n", + "Hyderabad To Charlotte Flights\n", + "Hyderabad To Bali Flights\n", + "Hyderabad To Bali Flights\n", + "Mumbai To Los Angeles Flights\n", + "Detroit To Delhi Flights\n", + "Top International Airlines\n", + "British Airways\n", + "Air France\n", + "Korean Air\n", + "China Southern\n", + "IndiGo Airlines\n", + "Ethiopian Airlines\n", + "US Airways\n", + "Alitalia\n", + "Brussels Airlines\n", + "Virgin Atlantic\n", + "Domestic routes\n", + "Los Angeles To Albany Flights\n", + "Atlanta To Albany Flights\n", + "Chicago To Albany Flights\n", + "New York To Albany Flights\n", + "Boston To Albany Flights\n", + "Dallas Fort Worth To Albany Flights\n", + "Detroit To Albany Flights\n", + "Honolulu To Albany Flights\n", + "Delhi (DEL) to Kathmandu (KTM) Cheap Flights\n", + "Book Delhi to Kathmandu cheap flight tickets ✈ at lowest price. Get best deals on your upcoming Delhi (DEL)to Kathmandu (KTM) flights only on MakeMyTrip. Also Book\n", + "Kathmandu to Delhi Cheap Flights\n", + ". Currently 70 flights flying from Delhi to Kathmandu. To save maximum on flight booking click on below Fare Calendar button and choose your dates.\n", + "Sorted By:\n", + "Popularity\n", + "Departure\n", + "Duration\n", + "Arrival\n", + "Price\n", + "Bhutan Air\n", + "10:55\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "12:40\n", + "Kathmandu\n", + "USD 52\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Bhutan Air\n", + "B3 | 774\n", + "10:55\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "12:40\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 52\n", + "Base Fare\n", + "USD 1\n", + "Surcharges\n", + "USD 51\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "07:50\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "09:50\n", + "Kathmandu\n", + "08:10\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "09:55\n", + "Kathmandu\n", + "11:05\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "13:40\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "15:40\n", + "Kathmandu\n", + "More Timing Options\n", + "USD 61\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E | 1151\n", + "07:50\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "09:50\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 61\n", + "Base Fare\n", + "USD 35\n", + "Surcharges\n", + "USD 26\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "07:00\n", + "New Delhi\n", + "06\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "06:00\n", + "New Delhi\n", + "07\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "05:00\n", + "New Delhi\n", + "08\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "04:00\n", + "New Delhi\n", + "09\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "01:55\n", + "New Delhi\n", + "11\n", + "h\n", + "55\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "23:30\n", + "New Delhi\n", + "14\n", + "h\n", + "20\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "22:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "21:00\n", + "New Delhi\n", + "16\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "17\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "USD 66\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E | 6814\n", + "07:00\n", + "Wed, 16 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "15\n", + "m\n", + "09:15\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 66\n", + "Base Fare\n", + "USD 39\n", + "Surcharges\n", + "USD 27\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "05:00\n", + "New Delhi\n", + "01\n", + "h\n", + "20\n", + "m\n", + "Non stop\n", + "06:35\n", + "Kathmandu\n", + "07:00\n", + "New Delhi\n", + "01\n", + "h\n", + "50\n", + "m\n", + "Non stop\n", + "09:05\n", + "Kathmandu\n", + "11:00\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "14:30\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "16:30\n", + "Kathmandu\n", + "18:10\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "20:05\n", + "Kathmandu\n", + "More Timing Options\n", + "USD 71\n", + "USD 69\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 215\n", + "05:00\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "20\n", + "m\n", + "06:35\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 69\n", + "Base Fare\n", + "USD 38\n", + "Surcharges\n", + "USD 33\n", + "Instant discount applied\n", + "-USD 3\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Nepal Airlines\n", + "16:20\n", + "New Delhi\n", + "01\n", + "h\n", + "35\n", + "m\n", + "Non stop\n", + "18:10\n", + "Kathmandu\n", + "USD 69\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Nepal Airlines\n", + "RA | 218\n", + "16:20\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "35\n", + "m\n", + "18:10\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 69\n", + "Base Fare\n", + "USD 6\n", + "Surcharges\n", + "USD 63\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "20:30\n", + "New Delhi\n", + "11\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "11\n", + "h\n", + "50\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "16:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "15:30\n", + "New Delhi\n", + "16\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "14:10\n", + "New Delhi\n", + "17\n", + "h\n", + "40\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "08:30\n", + "New Delhi\n", + "23\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "07:30\n", + "New Delhi\n", + "24\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "06:45\n", + "New Delhi\n", + "25\n", + "h\n", + "05\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "05:35\n", + "New Delhi\n", + "26\n", + "h\n", + "15\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "04:25\n", + "New Delhi\n", + "27\n", + "h\n", + "25\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "USD 131\n", + "USD 127\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 2807\n", + "20:30\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "02\n", + "h\n", + "55\n", + "m\n", + "23:25\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI | 9187 | Operated By Air India Express\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 127\n", + "Base Fare\n", + "USD 90\n", + "Surcharges\n", + "USD 41\n", + "Instant discount applied\n", + "-USD 5\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "15:30\n", + "New Delhi\n", + "22\n", + "h\n", + "20\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "14:15\n", + "New Delhi\n", + "23\n", + "h\n", + "35\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "13:00\n", + "New Delhi\n", + "24\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "11:00\n", + "New Delhi\n", + "26\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "10:00\n", + "New Delhi\n", + "27\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "09:00\n", + "New Delhi\n", + "28\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "USD 130\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E | 6318\n", + "15:30\n", + "Wed, 16 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "20\n", + "m\n", + "17:50\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Thu, 17 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 130\n", + "Base Fare\n", + "USD 100\n", + "Surcharges\n", + "USD 30\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India Express\n", + "16:35\n", + "Ghaziabad\n", + "15\n", + "h\n", + "15\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "USD 148\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "Ghaziabad to Kathmandu , 16 Jul\n", + "Air India Express\n", + "IX | 1972\n", + "16:35\n", + "Wed, 16 Jul 25\n", + "Ghaziabad, India\n", + "02\n", + "h\n", + "50\n", + "m\n", + "19:25\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India Express\n", + "IX | 884\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 148\n", + "Base Fare\n", + "USD 120\n", + "Surcharges\n", + "USD 28\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "19:25\n", + "New Delhi\n", + "12\n", + "h\n", + "25\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "18:00\n", + "New Delhi\n", + "19\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "USD 164\n", + "USD 159\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 2512\n", + "19:25\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "02\n", + "h\n", + "50\n", + "m\n", + "22:15\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI | 9187 | Operated By Air India Express\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 159\n", + "Base Fare\n", + "USD 120\n", + "Surcharges\n", + "USD 44\n", + "Instant discount applied\n", + "-USD 6\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "23:55\n", + "New Delhi\n", + "07\n", + "h\n", + "55\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "USD 169\n", + "USD 164\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI | 9481 | Operated By Air India Express\n", + "23:55\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "03\n", + "h\n", + "02:55\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI | 9187 | Operated By Air India Express\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "USD 164\n", + "Base Fare\n", + "USD 125\n", + "Surcharges\n", + "USD 44\n", + "Instant discount applied\n", + "-USD 6\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Load More Flights\n", + "Delhi to Kathmandu Flights Information:-\n", + "Looking for Delhi to Kathmandu Flight? Here’s all you need to know! For convenience and to save time, pick the airport that is closest to your destination. The nearest airport to Kathmandu is Tribhuvan International Airport and the IATA code for the same is KTM.\n", + "Currently, there are 16 airlines operating flights between the two destinations and approximately 70 flights take off from Delhi to Kathmandu every week.\n", + "Need information on Delhi to Kathmandu airfare?\n", + "The minimum airfare for a Delhi to Kathmandu flight would be 52, which may go up to 2244 depending on the route, booking time and availability.\n", + "It is recommended that you book a round-trip, since it always works out to be more economical.\n", + "Flight Details for Delhi to Kathmandu\n", + "If you are looking for Delhi to Kathmandu flights, there is no dearth of options to choose from. Several reputed airlines currently offer both direct and indirect flights between the two destinations. Some of these are Air Arabia, Air India, Air India Express, Batik Air, Bhutan Air, Cathay Pacific, Flydubai, Hahn Air, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines. Out of these, only 12 airlines operate direct flights. Indirect flights may involve more travel time, but they usually cost lesser than direct flights.\n", + "The number of flights operated by each airline is as follows:Air Arabia : 3, Air India : 3, Air India Express : 3, Batik Air : 3, Bhutan Air : 3, Cathay Pacific : 3, Flydubai : 3, Hahn Air : 3, IndiGo : 3, Malaysia Airlines : 3, Nepal Airlines : 3, Singapore Airlines : 3, SpiceJet : 3, Srilankan Airlines : 3, Thai Airways : 3, Turkish Airlines : 3\n", + "To board the first Delhi to Kathmandu flight, choose Cathay Pacific, which departs at 01:15 The last flight for this route is Air India Express, departing at 23:55\n", + "Kathmandu Airport Information\n", + "Tribhuvan International Airport\n", + "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", + "Tel: +97714477161\n", + "Travel Home\n", + "International Flights\n", + "Flights to Kathmandu\n", + "Delhi to Kathmandu Flights\n", + "About Delhi (DEL)\n", + "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", + "Delhi Address\n", + "Indira Gandhi International Airport\n", + "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", + "Enquries Phone Number: (+91) 11 25661080\n", + "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", + "About Kathmandu (KTM)\n", + "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", + "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", + "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", + "Kathmandu Address\n", + "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", + "Tel: +97714477161\n", + "Frequently Asked Questions - Delhi to Kathmandu Flights\n", + "How do MakeMyTrip finds the lowest available dare for flights from Delhi to Kathmandu?\n", + "MakeMyTrip is a popular travel portal that also works as a travel search engine that allows you to see best available results for your flight search. Every time you make search for flights to any destination, the MMT algorithm picks all the available air carriers for the route and filter rates basis on the cheapest fare available in their system. At MMT, you can not only search flights on the basis of the fare, but you can also see which flight offers direct route, which has multiple stop-overs, baggage allowance, in-flight meal options, cancellation policy, etc. You can also check available discounts offered by payments partners and air carriers when booking the flight.\n", + "Can I cancel my ticket from Delhi to Kathmandu without cancellation charges?\n", + "To avoid cancellation charges on your air tickets, you need to make a selection at the time of booking for ZERO cancellation. Please note, the zero cancellation facility is chargeable with minimum amount and can help you save a lot at the time sudden cancellations.\n", + "What is the best time to book cheap flight tickets from Delhi to Kathmandu?\n", + "To get cheap flight tickets from Delhi to Kathmandu, the best time would be to plan your trip during the off season. At that time the flight tickets are usually cheaper than the peak season and the accommodation booking is also available at the affordable price. The other way of booking cheap flight tickets from Delhi (DEL) to Kathmandu (KTM) is to book atleast 4 weeks in advance before your departure date to get competitive pricing on your tickets even during the peak season.\n", + "Is there a way to make flexible departure date bookings for your Delhi to Kathmandu flight tickets?\n", + "Some travel portals like MakeMyTrip offer flexible departure and arrival booking option with certain air carrier when booking from Delhi to Kathmandu. You can check the flexible booking flight options once you get the results filters based on your search and make the booking accordingly. Please note, some airlines make charge extra for flexible travel dates.\n", + "Is passport mandatory to travel from Delhi to Kathmandu?\n", + "When making an international trip, passport is mandatory as it defines your identity to the other nation officials. The VISA norms may differ from country to country, which means some would allow Visa on arrival and others may require you to obtain visa in advance. But the availability of passport is mandatory at the time of departure and arrival as well.\n", + "Can I find cheap accommodation near to airport when travelling from Delhi to Kathmandu?\n", + "There are several accommodation options available near the Tribhuvan International Airport. You can check for both budget friendly and well as five star accommodation near the airport depending on your requirement and budget. These hotels are mostly suitable for business travellers.\n", + "Which airlines offer cheapest airfare from Delhi to Kathmandu?\n", + "There is no set pricing for airlines to offer cheap flight fare from Delhi to Kathmandu. These fares are mostly decided on the basis of algorithms followed by air carriers to final the prizing based on demand. However, some multiple route flights with stop-overs offer cheap flights as compared to direct flight departing from Delhi to Kathmandu.\n", + "Global Presence\n", + "India\n", + "Australia\n", + "Bahrain\n", + "Bangladesh\n", + "Kuwait\n", + "Malaysia\n", + "Nepal\n", + "Oman\n", + "Qatar\n", + "Saudi Arabia\n", + "Singapore\n", + "Thailand\n", + "Sril Lanka\n", + "UAE\n", + "UK\n", + "Product Offering\n", + "Flights\n", + "Flight+Hotel Deals\n", + "International Flights\n", + "Book Flights From UAE\n", + "Hotels\n", + "International Hotels\n", + "Book Hotels From UAE\n", + "Holidays in India\n", + "International Holidays\n", + "Bus\n", + "Rail\n", + "Airlines\n", + "Cheap Flights\n", + "Flight Status\n", + "Flight Cancellation\n", + "MICE\n", + "B2B\n", + "MakeMyTrip\n", + "About Us\n", + "Investor Relations\n", + "Testimonial\n", + "Careers\n", + "Social Responsibility\n", + "Travel Community\n", + "Corporate Travel\n", + "Travel Guide\n", + "Explore India\n", + "MakeMyTrip Coupons\n", + "FAQs\n", + "Site Map\n", + "Complaints\n", + "Contact Us\n", + "Payment Security\n", + "Privacy Policy\n", + "Visa Information\n", + "Branch Offices\n", + "International Routes\n", + "Delhi Bangkok Flights\n", + "Delhi Dubai Flights\n", + "Delhi Singapore Flights\n", + "Delhi London Flights\n", + "Pune Dubai Flights\n", + "Mumbai Singapore Flights\n", + "Mumbai Bangkok Flights\n", + "Delhi Bali Flights\n", + "Mumbai Bali Flights\n", + "Kolkata Bangkok Flights\n", + "Chennai Dubai Flights\n", + "Mumbai London Flights\n", + "Kolkata Singapore Flights\n", + "Hyderabad Singapore Flights\n", + "Chennai Singapore Flights\n", + "Mumbai Frankfurt Flights\n", + "Mumbai Kuala Lumpur Flights\n", + "Mumbai Dubai Flights\n", + "More International Routes\n", + "Hongkong Singapore Flights\n", + "San Francisco Los Angeles\n", + "New York Los Angeles\n", + "Bangkok Phuket Flights\n", + "Bangkok Koh Samui Flights\n", + "London Amsterdam Flights\n", + "London New York Flights\n", + "Chicago New York Flights\n", + "London Rome Flights\n", + "Singapore Bangkok Flights\n", + "Rome Venice Flights\n", + "London Malaga Flights\n", + "Phuket Koh Samui Flights\n", + "Dubai London Flights\n", + "Phuket Bangkok Flights\n", + "Dubai Abu Dhabi Flights\n", + "London Manchester Flights\n", + "Paris Rome Flights\n", + "Delhi To Yangon Flights\n", + "Kannur To Kuwait Flights\n", + "Addis Ababa To Bangalore Flights\n", + "Top International Airlines\n", + "International Airlines\n", + "Emirates Airlines\n", + "Malaysia Airlines\n", + "Virgin Atlantic\n", + "Air Arabia\n", + "British Airways\n", + "Lufthansa\n", + "Qatar Airways\n", + "Malindo Air\n", + "Srilankan Airlines\n", + "Oman Air\n", + "Singapore Airlines\n", + "Tiger Airways\n", + "Saudi Arabian Airlines\n", + "Cathay Pacific Airlines\n", + "Etihad Airways\n", + "Turkish Airlines\n", + "Qantas Airways\n", + "Delhi to Dubai Vistara Airlines\n", + "Kolkata To Yangon Flights\n", + "Popular Visa\n", + "Dubai/UAE Visa\n", + "Singapore Visa\n", + "Malaysia Visa\n", + "Sri Lanka Visa\n", + "Thailand Visa\n", + "follow us\n", + "facebook\n", + "twitter\n", + "Google+\n", + "\n", + "\n", + "\n", + "Title: $48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...\n", + "Webpage Title:\n", + "$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM) | KAYAK\n", + "Webpage Contents:\n", + "Skip to main content\n", + "Flights\n", + "Hotels\n", + "Cars\n", + "Packages\n", + "Plan your trip\n", + "Explore\n", + "Flight Tracker\n", + "KAYAK for Business\n", + "NEW\n", + "Trips\n", + "English\n", + "Search for a country or language\n", + "Argentina\n", + "Australia\n", + "Belgique (FranƧais)\n", + "BelgiĆ« (Nederlands)\n", + "Bolivia\n", + "Brasil\n", + "Canada (English)\n", + "Canada (FranƧais)\n", + "Chile\n", + "Colombia\n", + "Costa Rica\n", + "Danmark\n", + "Deutschland (Deutsch)\n", + "Germany (English)\n", + "Ecuador\n", + "El Salvador\n", + "EspaƱa (EspaƱol)\n", + "Espanya (CatalĆ )\n", + "France\n", + "ΕλλάΓα\n", + "Guatemala\n", + "Honduras\n", + "Hong Kong (English)\n", + "香港 (äø­ę–‡)\n", + "India\n", + "Indonesia (Bahasa Indonesia)\n", + "Indonesia (English)\n", + "Ireland\n", + "Israel (English)\n", + "×™×©×Ø××œ (ע֓בְר֓ית)\n", + "Italia\n", + "ę—„ęœ¬\n", + "Malaysia (English)\n", + "Malaysia (Melayu)\n", + "MĆ©xico\n", + "Nederland\n", + "New Zealand\n", + "Nicaragua\n", + "Norge\n", + "PanamĆ”\n", + "Paraguay\n", + "PerĆŗ\n", + "Philippines\n", + "Polska\n", + "Portugal\n", + "Puerto Rico\n", + "RepĆŗblica Dominicana\n", + "RomĆ¢nia\n", + "Suisse (FranƧais)\n", + "Schweiz (Deutsch)\n", + "Singapore\n", + "South Africa\n", + "ėŒ€ķ•œėÆ¼źµ­\n", + "Suomi\n", + "Sverige\n", + "å°ē£\n", + "Türkiye\n", + "United Arab Emirates\n", + "United Kingdom\n", + "United States (English)\n", + "Estados Unidos (EspaƱol)\n", + "Uruguay\n", + "Venezuela\n", + "Vietnam (English)\n", + "ViĆŖĢ£t Nam (Việt)\n", + "Ɩsterreich\n", + "ČeskĆ” republika\n", + "Україна\n", + "Ų§Ł„Ł…Ł…Ł„ŁƒŲ© Ų§Ł„Ų¹Ų±ŲØŁŠŲ© Ų§Ł„Ų³Ų¹ŁˆŲÆŁŠŲ© (Ų§Ł„Ų¹ŁŽŲ±ŁŽŲØŁŁŠŁŽŁ‘Ų©)\n", + "Saudi Arabia (English)\n", + "ประเทศไทย (ภาษาไทย)\n", + "Thailand (English)\n", + "DEL - KTM\n", + "$48\n", + "Find Cheap Flights from New Delhi to Kathmandu\n", + "This is the cheapest one-way flight price found by a KAYAK user in the last 72 hours by searching for a flight from New Delhi to Kathmandu departing on 7/16. Fares are subject to change and may not be available on all flights or dates of travel. Click the price to replicate the search for this deal.\n", + "Round-trip\n", + "1 adult\n", + "Economy\n", + "0 bags\n", + "Round-trip\n", + "1 adult, Economy\n", + "Search\n", + "Search\n", + "KAYAK searches hundreds of travel sites at once for deals on flights to Kathmandu\n", + "These are the airlines KAYAK users have selected most often from within our search results in flight searches from New Delhi to Kathmandu, as well as popular online travel agencies\n", + "...and more\n", + "These are the airlines KAYAK users have selected most often from within our search results in flight searches from New Delhi to Kathmandu, as well as popular online travel agencies\n", + "Travelers love KAYAK\n", + "41,299,237\n", + "searches in the past 7 days on KAYAK\n", + "Save 22% or more\n", + "Compare multiple travel sites with one search.\n", + "Track prices\n", + "Not ready to book?\n", + "Create a price alert\n", + "for when prices drop.\n", + "Bundle and save\n", + "Save money when you bundle your flight + hotel.\n", + "Filter your deals\n", + "Choose cabin class, free Wi-Fi and more.\n", + "Flights Deals\n", + "Expert advice\n", + "Useful Info\n", + "Flights Deals\n", + "Cheap Flights from New Delhi to Kathmandu (DEL-KTM)\n", + "Here are some of the best deals found on KAYAK recently from the most popular airlines for round-trip flights from New Delhi to Kathmandu that are departing in the next months. While these flights were available on KAYAK in the last 72 hours, prices and availability are subject to change and deals may expire.\n", + "Discover the best prices for you by selecting your travel dates on KAYAK.\n", + "Select dates\n", + "Round-trip\n", + "One-way\n", + "Last minute\n", + "Direct\n", + "Recent round-trip flight deals from New Delhi to Kathmandu\n", + "Thu, Jul 31 - Fri, Aug 1\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "5:30 pm - 6:55 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$78\n", + "Air India\n", + "Find Deal\n", + "Wed, Aug 6 - Wed, Aug 13\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "5:30 pm - 6:55 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$90\n", + "Air India\n", + "Find Deal\n", + "Wed, Aug 6 - Wed, Aug 13\n", + "7:00 am - 9:05 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 50m\n", + "nonstop\n", + "5:30 pm - 6:55 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$91\n", + "Air India\n", + "Find Deal\n", + "Thu, Jul 31 - Thu, Aug 7\n", + "2:30 pm - 4:30 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 45m\n", + "nonstop\n", + "10:05 am - 12:00 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 10m\n", + "nonstop\n", + "$94\n", + "Air India\n", + "Find Deal\n", + "Fri, Jul 25 - Sun, Jul 27\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "7:35 am - 9:15 am\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$96\n", + "Air India\n", + "Find Deal\n", + "Wed, Aug 13 - Mon, Aug 18\n", + "11:00 am - 1:00 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 45m\n", + "nonstop\n", + "7:35 am - 9:15 am\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$98\n", + "Air India\n", + "Find Deal\n", + "Wed, Jul 23 - Sat, Jul 26\n", + "5:00 am - 6:35 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 20m\n", + "nonstop\n", + "1:25 pm - 2:50 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$148\n", + "Find Deal\n", + "Tue, Jul 22 - Sat, Jul 26\n", + "1:55 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "11h 55m\n", + "1 stop\n", + "10:50 am - 12:30 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$161\n", + "IndiGo\n", + "Find Deal\n", + "Wed, Jul 30 - Fri, Aug 1\n", + "1:55 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "11h 55m\n", + "1 stop\n", + "2:00 pm - 3:45 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 00m\n", + "nonstop\n", + "$167\n", + "IndiGo\n", + "Find Deal\n", + "Tue, Jul 29 - Sat, Aug 2\n", + "1:55 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "11h 55m\n", + "1 stop\n", + "10:50 am - 12:30 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$169\n", + "IndiGo\n", + "Find Deal\n", + "Show more results\n", + "Recent one-way flight deals from New Delhi to Kathmandu\n", + "Wed, Jul 16\n", + "7:00 am - 9:05 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 50m\n", + "nonstop\n", + "$48\n", + "Air India\n", + "Find Deal\n", + "Wed, Jul 16\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "$49\n", + "Air India\n", + "Find Deal\n", + "Wed, Jul 16\n", + "8:10 am - 9:55 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "$54\n", + "SpiceJet\n", + "Find Deal\n", + "Fri, Jul 18\n", + "4:20 pm - 6:10 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 35m\n", + "nonstop\n", + "$55\n", + "Nepal Airlines\n", + "Find Deal\n", + "Wed, Jul 16\n", + "10:55 am - 12:40 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "$56\n", + "Bhutan Airlines\n", + "Find Deal\n", + "Thu, Jul 17\n", + "1:55 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "11h 55m\n", + "1 stop\n", + "$62\n", + "IndiGo\n", + "Find Deal\n", + "Tue, Dec 30\n", + "4:40 am - 6:35 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "$64\n", + "Air India\n", + "Find Deal\n", + "Wed, Jul 16\n", + "4:00 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "9h 50m\n", + "1 stop\n", + "$65\n", + "IndiGo\n", + "Find Deal\n", + "Thu, Sep 11\n", + "8:10 am - 9:55 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "$86\n", + "SpiceJet\n", + "Find Deal\n", + "Wed, Oct 15\n", + "4:20 pm - 6:10 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 35m\n", + "nonstop\n", + "$116\n", + "Nepal Airlines\n", + "Find Deal\n", + "Show more results\n", + "Recent last minute flight deals from New Delhi to Kathmandu\n", + "Mon, Jul 14 - Wed, Jul 16\n", + "7:00 am - 9:05 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 50m\n", + "nonstop\n", + "10:05 am - 12:00 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 10m\n", + "nonstop\n", + "$108\n", + "Air India\n", + "Find Deal\n", + "Sun, Jul 13 - Wed, Jul 16\n", + "1:55 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "11h 55m\n", + "1 stop\n", + "4:40 pm - 6:20 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$161\n", + "IndiGo\n", + "Find Deal\n", + "Mon, Jul 14 - Sun, Jul 20\n", + "10:55 am - 12:40 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "8:40 am - 9:55 am\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 30m\n", + "nonstop\n", + "$164\n", + "Bhutan Airlines\n", + "Find Deal\n", + "Sun, Jul 13 - Mon, Jul 14\n", + "10:55 am - 12:40 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "8:40 am - 9:55 am\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 30m\n", + "nonstop\n", + "$165\n", + "Bhutan Airlines\n", + "Find Deal\n", + "Sat, Jul 12 - Sun, Jul 13\n", + "5:00 am - 2:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "8h 50m\n", + "1 stop\n", + "10:50 am - 12:30 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$179\n", + "IndiGo\n", + "Find Deal\n", + "Mon, Jul 14 - Wed, Jul 16\n", + "5:00 pm - 8:05 am\n", + "DEL\n", + "-\n", + "KTM\n", + "14h 50m\n", + "1 stop\n", + "9:05 am - 2:20 am\n", + "KTM\n", + "-\n", + "DEL\n", + "41h 30m\n", + "2 stops\n", + "$286\n", + "Air India\n", + "Find Deal\n", + "Mon, Jul 14 - Sun, Jul 20\n", + "10:05 pm - 2:45 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "16h 25m\n", + "1 stop\n", + "9:40 pm - 9:05 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "23h 40m\n", + "1 stop\n", + "$695\n", + "Batik Air\n", + "Find Deal\n", + "Sun, Jul 13 - Sun, Jul 20\n", + "10:05 pm - 8:40 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "22h 20m\n", + "1 stop\n", + "9:40 pm - 9:05 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "23h 40m\n", + "1 stop\n", + "$700\n", + "Batik Air\n", + "Find Deal\n", + "Sat, Jul 12 - Tue, Jul 15\n", + "4:10 am - 8:00 am\n", + "DEL\n", + "-\n", + "KTM\n", + "27h 35m\n", + "1 stop\n", + "3:35 pm - 3:10 am\n", + "KTM\n", + "-\n", + "DEL\n", + "11h 50m\n", + "1 stop\n", + "$904\n", + "flydubai\n", + "Find Deal\n", + "Sat, Jul 12 - Sat, Jul 12\n", + "4:10 am - 2:35 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "10h 10m\n", + "1 stop\n", + "11:55 pm - 3:10 am\n", + "KTM\n", + "-\n", + "DEL\n", + "27h 30m\n", + "1 stop\n", + "$923\n", + "flydubai\n", + "Find Deal\n", + "Show more results\n", + "Recent direct flight deals from New Delhi to Kathmandu\n", + "Thu, Jul 31 - Fri, Aug 1\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "5:30 pm - 6:55 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$78\n", + "Air India\n", + "Find Deal\n", + "Wed, Aug 6 - Wed, Aug 13\n", + "6:10 pm - 8:05 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "5:30 pm - 6:55 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$90\n", + "Air India\n", + "Find Deal\n", + "Wed, Jul 23 - Sat, Jul 26\n", + "5:00 am - 6:35 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 20m\n", + "nonstop\n", + "1:25 pm - 2:50 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$148\n", + "Find Deal\n", + "Sat, Aug 9 - Thu, Aug 14\n", + "5:00 am - 6:35 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 20m\n", + "nonstop\n", + "1:25 pm - 2:50 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 40m\n", + "nonstop\n", + "$152\n", + "Find Deal\n", + "Sat, Nov 8 - Mon, Dec 1\n", + "4:50 pm - 6:35 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "1:45 pm - 3:15 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 45m\n", + "nonstop\n", + "$223\n", + "Nepal Airlines\n", + "Find Deal\n", + "Sun, Oct 26 - Thu, Oct 30\n", + "4:50 pm - 6:35 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "1:45 pm - 3:15 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 45m\n", + "nonstop\n", + "$269\n", + "Nepal Airlines\n", + "Find Deal\n", + "Mon, Sep 29 - Fri, Oct 31\n", + "1:40 pm - 3:40 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 45m\n", + "nonstop\n", + "4:40 pm - 6:40 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 15m\n", + "nonstop\n", + "$314\n", + "IndiGo\n", + "Find Deal\n", + "Sat, Sep 27 - Sat, Sep 27\n", + "11:05 am - 1:00 pm\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 40m\n", + "nonstop\n", + "4:40 pm - 6:20 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "1h 55m\n", + "nonstop\n", + "$332\n", + "IndiGo\n", + "Find Deal\n", + "Fri, Sep 26 - Thu, Oct 2\n", + "8:10 am - 9:55 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "10:55 am - 1:10 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 30m\n", + "nonstop\n", + "$429\n", + "SpiceJet\n", + "Find Deal\n", + "Fri, Sep 26 - Thu, Oct 2\n", + "8:10 am - 9:55 am\n", + "DEL\n", + "-\n", + "KTM\n", + "1h 30m\n", + "nonstop\n", + "10:55 am - 1:10 pm\n", + "KTM\n", + "-\n", + "DEL\n", + "2h 30m\n", + "nonstop\n", + "$641\n", + "SpiceJet\n", + "Find Deal\n", + "Show more results\n", + "Expert advice\n", + "Expert advice for your flight from New Delhi to Kathmandu\n", + "Snippets provided in this section are AI-generated based on a summarization of KAYAK-commissioned articles.\n", + "The articles are presented as-is, for general informational purposes only, and may not be up-to-date.\n", + "The opinions contained in the articles are original to the author and reflect their authentic experience,\n", + "which may vary significantly from the experience of others.\n", + "KAYAK teamed up with top travel experts to share the best tips for your journey.\n", + "Airlines\n", + "Air India\n", + "Air India offers\n", + "complimentary meals\n", + "in economy, including vegetarian options without pre-ordering.\n", + "Air India's\n", + "Upgrade+ bidding system\n", + "allows discounted upgrades up to 12 hours before departure.\n", + "Read more about Air India\n", + "by Ramsey Qubein\n", + "IndiGo\n", + "IndiGo's\n", + "6E Prime\n", + "bundle includes seat selection, checked luggage, snacks, and priority boarding.\n", + "IndiGo offers\n", + "extra legroom\n", + "seats for a fee, ideal for longer flights.\n", + "Read more about IndiGo\n", + "by Robert Schrader\n", + "Airports\n", + "DEL\n", + "Expect\n", + "stringent security\n", + "at DEL. Arrive early to navigate the extensive checks, including a pre-checkpoint before accessing check-in counters.\n", + "Read more about DEL\n", + "by Robert Schrader\n", + "KTM\n", + "For a\n", + "smooth arrival\n", + "at KTM, use prepaid taxis to avoid confusion. Find the service to the right after clearing customs.\n", + "Read more about KTM\n", + "by Daniel Scheffler\n", + "Our travel experts\n", + "Ramsey Qubein\n", + "Expert on Air India\n", + "Ramsey Qubein\n", + "An avid traveler and aviation expert who has visited 173 countries, all 50 states and seven continents, Ramsey Qubein flies nearly 400,000 miles a year. As a North Carolina-based freelance journalist for publications including Conde Nast Traveler, Forbes, USA Today and Bloomberg among others, he explores the latest trends in aviation, hospitality, cruises and business.\n", + "Read more\n", + "Robert Schrader\n", + "Expert on IndiGo and DEL\n", + "Robert Schrader\n", + "One of the web's original travel bloggers, Robert launched his first site Leave Your Daily Hell in 2009. Since then, he's expanded into destination niche sites (one each for Japan, Thailand and Taiwan), in addition to having written for the inflight magazines of Singapore Airlines and Korean Air. Overall, he's visited nearly 100 countries, and flies business as often as possible.\n", + "Read more\n", + "Daniel Scheffler\n", + "Expert on KTM\n", + "Daniel Scheffler\n", + "Daniel Scheffler is a travel writer, podcaster, and producer. Born in Africa, bred in Europe and now living in America he has traveled to 140 countries (and all 50 U.S. states). Plus he has stayed at over 2500 hotels across the globe. His original shows Everywhere and Without Maps (available on Spotify) showcase his beliefs, travel is about humanity and sharing that beauty. And thus it reminds you that you shouldn’t believe everything you think.\n", + "Read more\n", + "Useful Info\n", + "KAYAK's insights & trends for New Delhi to Kathmandu flights\n", + "Get data-powered insights and trends into flights from New Delhi to Kathmandu to help you find the cheapest flights, the best time to fly and much more.\n", + "Find cheap flights to Kathmandu\n", + "Planning a trip from New Delhi to Kathmandu? KAYAK’s data-powered insights will help you find cheap flights. Learn the best time to fly, how early to book your ticket, and other tips to secure great prices.\n", + "Prices\n", + "Airlines\n", + "More\n", + "What’s the cheapest day of the week to fly from New Delhi to Kathmandu?\n", + "The average price of all round-trip flights from New Delhi to Kathmandu clicked on KAYAK for each day over the last 12 months.\n", + "When flying from New Delhi to Kathmandu, you should consider leaving on a\n", + "Monday\n", + "and avoid Saturdays if you are looking for the best rates. For your return to New Delhi, you’ll find the best rates on Fridays and the most expensive ones on Thursdays.\n", + "What is the cheapest month to fly from New Delhi to Kathmandu?\n", + "To calculate monthly average prices, KAYAK takes all prices for each month over the last year for round-trip flights from New Delhi to Kathmandu, removes the top 0.1% to account for outliers, and then takes the median of all values for each month.\n", + "The cheapest month for flights from New Delhi to Kathmandu is\n", + "July\n", + ", where tickets cost $150 (return) on average. On the other hand, the most expensive months are October and November, where the average cost of round-trip tickets is $256 and $242 respectively.\n", + "How far in advance should I book a flight from New Delhi to Kathmandu?\n", + "To calculate weekly average prices, KAYAK takes all prices for each week before departure over the last year for round-trip flights from New Delhi to Kathmandu, removes the top 0.1% to account for outliers, and then takes the average of all the values for each week.\n", + "To get a below average price on the flight from New Delhi to Kathmandu, you should book around\n", + "1 week before departure\n", + ". For the absolute cheapest price, our data suggests you should book 24 weeks before departure.\n", + "Which airlines provide the cheapest flights from New Delhi to Kathmandu?\n", + "The cheapest round-trip price for the route for each airline clicked by KAYAK users in the last 72 hours.\n", + "In the past 3 days, the cheapest round-trip tickets from New Delhi to Kathmandu were found on\n", + "Air India\n", + "($78) and\n", + "IndiGo\n", + "($161).\n", + "Which airlines fly most frequently between New Delhi and Kathmandu?\n", + "New Delhi and Kathmandu are connected by different airlines. The airlines that fly that route the most regularly are\n", + "Air India\n", + "(35 flights per week), IndiGo (21 flights per week), and SpiceJet (7 flights per week).\n", + "Which airlines fly non-stop between New Delhi and Kathmandu?\n", + "Airline and price data is aggregated from results in KAYAK’s search results from the last 2 weeks for round-trip flights from New Delhi to Kathmandu.\n", + "There are 5 airlines that fly nonstop from New Delhi to Kathmandu. They are:\n", + "Air India, Bhutan Airlines, IndiGo, Nepal Airlines and SpiceJet\n", + ". The cheapest price of all airlines flying this route was found with Bhutan Airlines at $102 for a round-trip flight. On average, the best prices for this route can be found at Air India.\n", + "Which cabin class options are there for flights between New Delhi and Kathmandu?\n", + "The average price of round-trip flights for each cabin class for the route found by users searching on KAYAK over the last 2 weeks.\n", + "There are 3 cabin class options for the route. These are\n", + "Business, Economy and Prem Economy\n", + ". Perform a search on KAYAK to find the latest prices and availability for all cabin fares, which differ across airlines.\n", + "How many flights are there between New Delhi and Kathmandu per day?\n", + "Each day, there are\n", + "between 10 and 11 nonstop flights\n", + "that take off from New Delhi and land in Kathmandu, with an average flight time of 1h 38m. The most common departure time is 7:00 am and most flights take off in the morning. Each week, there are 74 flights. The most frequent day of departure is Monday, when 15% of all weekly flights depart. The fewest flights depart on a Tuesday.\n", + "How long does a flight from New Delhi to Kathmandu take?\n", + "Direct flights cover the 506 miles separating New Delhi to Kathmandu in about\n", + "1h 20m\n", + ".\n", + "What’s the earliest departure time from New Delhi to Kathmandu?\n", + "Early birds can take the earliest flight from New Delhi at\n", + "5:00 am\n", + "and will be landing in Kathmandu at 6:35 am.\n", + "What’s the latest departure time from New Delhi to Kathmandu?\n", + "If you prefer to fly at night, the latest flight from New Delhi to Kathmandu jets off at\n", + "6:10 pm\n", + "and lands at 8:05 pm.\n", + "Find deals\n", + "Good to know\n", + "Low season\n", + "August\n", + "High season\n", + "June\n", + "Cheapest flight\n", + "$48\n", + "Best time to beat the crowds with an average\n", + "24%\n", + "drop in price.\n", + "Most popular time to fly and prices are also\n", + "16%\n", + "lower on average.\n", + "Flight from New Delhi to Kathmandu\n", + "When to book flights from New Delhi to Kathmandu\n", + "Are your dates flexible? Find out the best times to travel from New Delhi to Kathmandu based on our flight data from the last year. Discover the cheapest month and even day to fly.\n", + "Estimated round-trip price\n", + "KAYAK looks at all historical flight data for each date to provide a predicted price for one-way trips or round-trips with a duration up to 40 days. While we try to provide actual minimum prices for each date, some prices are predictions and actual prices may differ.\n", + "FAQs for booking flights from New Delhi to Kathmandu\n", + "Can I rent a car at Tribhuvan Airport?\n", + "Although there aren’t any car rental agencies that operate inside Tribhuvan Airport, there are several agencies in the area that offer airport pickup. Pickup areas are located outside the international terminal building in the arrivals area. Availability can vary, so book early to guarantee that you have a car for your journey.\n", + "Does Tribhuvan Airport provide free Wi-Fi?\n", + "Although Tribhuvan Airport is lacking in many amenities compared to other airports, it does offer travellers access to unlimited free Wi-Fi. Wi-Fi connection is available in the international terminal for travellers who need to organise emails, catch up on work and make some last-minute bookings after they land or before their return flight.\n", + "How much is parking at New Delhi Airport?\n", + "Parking at New Delhi Airport can vary widely in price due to the different options and the long list of available add-on amenities. Tire inflation, tire pressure and pollution checks for your car are available for an additional fee. Without any extras, parking fees start at around ₹520 per day.\n", + "Are there any onsite hotels at Kathmandu Airport?\n", + "For travellers looking to stay close to the airport during their time in Kathmandu, Tribhuvan Airport is close to several hotels. Within 3 kilometres, you can find the Hyatt Regency, the Summit Residency, Hotel Marinha and several others. Many of these hotels offer airport pickup for hassle-free hotel connections.\n", + "What is the cheapest flight from New Delhi to Kathmandu?\n", + "In the last 3 days, the lowest price for a flight from New Delhi to Kathmandu was $48 for a one-way ticket and $78 for a round-trip.\n", + "Do I need a passport to fly between New Delhi and Kathmandu?\n", + "Yes, you'll most likely have to show a valid passport before boarding the plane in New Delhi and on arrival in Kathmandu.\n", + "Which airports will I be using when flying from New Delhi to Kathmandu?\n", + "New Delhi airport is called New Delhi Indira Gandhi Intl and the only airport in Kathmandu is Kathmandu Tribhuvan.\n", + "Which aircraft models fly most regularly from New Delhi to Kathmandu?\n", + "The Airbus A320neo is the aircraft model that flies most regularly on the New Delhi to Kathmandu flight route.\n", + "Which airline alliances offer flights from New Delhi to Kathmandu?\n", + "Star Alliance, and SkyTeam are the airline alliances operating flights between New Delhi and Kathmandu, with Star Alliance being the most commonly used for this route.\n", + "On which days can I fly direct from New Delhi to Kathmandu?\n", + "There are nonstop flights from New Delhi to Kathmandu on a daily basis.\n", + "Which is the best airline for flights from New Delhi to Kathmandu, IndiGo or Nepal Airlines?\n", + "The two airlines most popular with KAYAK users for flights from New Delhi to Kathmandu are IndiGo and Nepal Airlines. With an average price for the route of $233 and an overall rating of 6.8, IndiGo is the most popular choice. Nepal Airlines is also a great choice for the route, with an average price of $217 and an overall rating of 5.8.\n", + "How does KAYAK find such low prices on flights from New Delhi to Kathmandu?\n", + "KAYAK is a travel search engine. That means we look across the web to find the best prices we can find for our users. With over 2 billion flight queries processed yearly, we are able to display a variety of prices and options on flights from New Delhi to Kathmandu.\n", + "How does KAYAK's flight Price Forecast tool help me choose the right time to buy my flight ticket from New Delhi to Kathmandu?\n", + "KAYAK’s flight Price Forecast tool uses historical data to determine whether the price for a flight to Kathmandu from New Delhi is likely to change within 7 days, so travelers know whether to wait or book now.\n", + "What is the Hacker Fare option on flights from New Delhi to Kathmandu?\n", + "Hacker Fares allow you to combine one-way tickets in order to save you money over a traditional round-trip ticket. You could then fly to Kathmandu with an airline and back to New Delhi with another airline. Booking your flights between New Delhi and KTM can sometimes prove cheaper using this method.\n", + "What is KAYAK's \"flexible dates\" feature and why should I care when looking for a flight from New Delhi to Kathmandu?\n", + "Sometimes travel dates aren't set in stone. If your preferred travel dates have some wiggle room, flexible dates will show you all the options when flying to Kathmandu from New Delhi up to 3 days before/after your preferred dates. You can then pick the flights that suit you best.\n", + "See more FAQs\n", + "KAYAK’s top tips for finding a cheap flight from New Delhi to Kathmandu\n", + "Looking for a cheap flight? 25% of our users found flights on this route for $53 or less one-way and $146 or less round-trip.\n", + "Non-stop flights from New Delhi to Kathmandu are available with several regional airlines, such as Jet Airways, Nepal Airlines and Air India, making layovers a rare occurrence. Kathmandu and the surrounding areas are served by Tribhuvan Airport, which is located approximately 5 kilometres from Kathmandu city centre and is easily reached by public transport.\n", + "Getting to the city centre from Tribhuvan Airport can be easily achieved via the city’s bus system: Sajha Yatayat. These buses depart directly from the airport’s ground transport area outside the arrivals area of the airport. Buses run all throughout Kathmandu, and fares to the city centre start at around Rs 20 (₹12.40).\n", + "If you’re one of the many travellers who prefers a more direct connection to your accommodation after your flight from New Delhi to Kathmandu, you can easily hire a taxi outside Tribhuvan Airport. Be wary of unregistered cabs who can offer varied pricing and pre-book for the best price to the city centre.\n", + "If your return flight is departing from Tribhuvan Airport and you’re looking for a little peace and quiet away from the boarding area, you can kick back in the CIP lounge area. The CIP lounge offers a simple getaway from the gates, with comfortable seating, snacks and beverages. Single-access fees start at around Rs 450 (₹281) per hour.\n", + "Need to rest your eyes before boarding? New Delhi Airport offers sleeping pods for weary travellers looking to take a quick nap before their flights. New Delhi Airport’s sleeping pods are housed inside Terminal 3 in the international departures area, and have prices starting at around ₹2,555 for the first 3 hours in a single-occupancy room.\n", + "If you could use a nap before your flight, you can rest your eyes in one of the sleeping pods available at New Delhi Airport.\n", + "See more tips\n", + "Prefer to fly direct from New Delhi to Kathmandu?\n", + "Direct data is based off flight results for the next 60 days. Find direct flights from all airlines flying direct from New Delhi Indira Gandhi Intl to Kathmandu Tribhuvan.\n", + "Find which airlines fly direct from New Delhi Indira Gandhi Intl Airport to Kathmandu Tribhuvan Airport, which days they fly and book direct flights.\n", + "Direct departures\n", + "New Delhi Indira Gandhi Intl to Kathmandu Tribhuvan\n", + "Monday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Tuesday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Wednesday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Thursday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Friday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Saturday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Sunday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Search Flights\n", + "See more direct flights\n", + "Direct returns\n", + "Kathmandu Tribhuvan to New Delhi Indira Gandhi Intl\n", + "Monday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Tuesday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Wednesday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Thursday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Friday\n", + "Air India, IndiGo, KLM, +3 more\n", + "Air India, IndiGo, +4 more\n", + "2\n", + "3\n", + "Saturday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Sunday\n", + "Air India, Bhutan Airlines, IndiGo, +4 more\n", + "Air India, Bhutan Airlines, +5 more\n", + "3\n", + "4\n", + "Search Flights\n", + "See more direct flights\n", + "See more direct flights\n", + "Reviews of the top 4 airlines serving from New Delhi to Kathmandu\n", + "See real verified KAYAK customer reviews for airlines flying from New Delhi to Kathmandu. Airline scores are aggregated from all reviews left by passengers on KAYAK after flying with an airline. KAYAK doesn’t show reviews that are older than 5 years.\n", + "Learn how KAYAK collects reviews.\n", + "Need help choosing which airline to fly with from New Delhi to Kathmandu? KAYAK airline reviews give an overall score for each airline based on loads of factors, including comfort, boarding, in-flight entertainment and more, to make your decision easier. See airline scores according to verified KAYAK customer reviews.\n", + "7.7\n", + "Vistara\n", + "Overall score based on 229 reviews\n", + "8.3\n", + "Crew\n", + "7.0\n", + "Entertainment\n", + "8.0\n", + "Comfort\n", + "7.7\n", + "Food\n", + "7.9\n", + "Boarding\n", + "Airline reviews\n", + "The flight gate was changed and all the pessengers were waiting at the gate #2 for boarding, There were 4 (four) employees standing at the boarding desk and no one ever said anything about the gate changed. Finaly when I noticed an employee was removing the boarding zone signs, it surprised me something is not right, so I went and ask that employee what happned - she said the gate has been changed. So, i questioned again which gate it would be, she told me gate #5. I look for Gate 5 - which was down stairs. When I went to gate 5 - no body was at that gate which depress me a lot because it was already a bording time pass. Later I checked on the departure screen for my flight - it was gate #1, so I had to go back again upstairs in hurry as the boarding time already pass. They never anounced or telling customer anything at the original boarding gate - WHICH WAS TOTALY STUPID. I am 77 yrs old and what they the employees and the managers care about) care about how I can handle all this going back and forth. Air India is just advertising they are getting bigger but their services are just BOGUS and I don't expect it would be any better. They are getting worst and worst than they use to be.\n", + "4.0 Okay\n", + "Anonymous, Jan 2025\n", + "AMD - DEL\n", + "Read more Vistara reviews\n", + "The flight gate was changed and all the pessengers were waiting at the gate #2 for boarding, There were 4 (four) employees standing at the boarding desk and no one ever said anything about the gate changed. Finaly when I noticed an employee was removing the boarding zone signs, it surprised me something is not right, so I went and ask that employee what happned - she said the gate has been changed. So, i questioned again which gate it would be, she told me gate #5. I look for Gate 5 - which was down stairs. When I went to gate 5 - no body was at that gate which depress me a lot because it was already a bording time pass. Later I checked on the departure screen for my flight - it was gate #1, so I had to go back again upstairs in hurry as the boarding time already pass. They never anounced or telling customer anything at the original boarding gate - WHICH WAS TOTALY STUPID. I am 77 yrs old and what they the employees and the managers care about) care about how I can handle all this going back and forth. Air India is just advertising they are getting bigger but their services are just BOGUS and I don't expect it would be any better. They are getting worst and worst than they use to be.\n", + "It was just like any other budget airline in India—nothing extraordinary. The check-in at CCU was surprisingly smooth and effortless, as expected after online check-in. But BOM? They had me join the regular check-in queue, while six Bag-Drop counters were busy doing the same thing. Makes you wonder how Vistara plans to promote web check-in if passengers end up in line anyway.\n", + "Flight was delayed more than 18 hours, checked in bag damaged, no accountability from vistara ground staff. Worst experience. Shall compensate all the charges with double Ticket refund\n", + "The flight was an hour late. There were no gate announcements or displays. After getting on the plane, there was a further delay without any explanation.\n", + "The flight was on time. I upgraded to Premium Economy and it was comfortable. The food was very good. Staff were courteous.\n", + "Flight was delayed but no announcements were made. Till the boarding it was still showing original schedule time at the monitor and also on your mobile app. It left the gate half hour later than scheduled.\n", + "It’s really very nice experience with very nice behaviour respected crews n all Vistara members thankyou so much Vistara to give us humble hospitality\n", + "My wife with 5 month son were traveling. No proper support was provided for luggage handling. Although it was requested in prior. My wife sole manage everything and was not as expected.\n", + "This was an old 320 without a screen or USB charging port even in the business class. The food could have been better.\n", + "a real good flying experince. Everything was excellent right from check-in to baggage collection at destination.\n", + "IndiGo is low cost and therefore no frills, but is always a pleasant experience. No mood lighting and fancy features but clean aircraft, professional crew and absolute value for money.\n", + "Very hard seats. No food service, even though price is not competitive.\n", + "Very hard seats for long flights. No food even on International flight. Won't fly Indigo again if I can help it.\n", + "Terrible experience at IST airport due to mismanagement by ground and wheelchair staff.\n", + "Some seats don’t recline. No USB port or power outlet, no inflight WIFI - not even for SMS/Messaging apps. Ontime performance was very good. They should have at least one crew member who speaks the local language, for flights like these.\n", + "Although we took the XL seats with more width, we found that you do not have a seat in front to stow your personal item, nor can you stretch your legs. This is not the best option for a comfortable seat. Boarding was timely but disorganized without any row based entry.\n", + "Not professional and didn’t know about double seat even when I paid for it and have a confirmation. Lack of comms between teams.\n", + "deboarding is very poor after landing it took around 45 minutes to come out.\n", + "My baggage bag got broken and only 3000 voucher was given for compensation\n", + "Crew members forgot to serve sandwiches after serving the coffee. Worst was the handling of bag. One of wheel was Broken making it useless. Though a complaint was registered and assured of compensation voucher equal to part cost of the new bag.\n", + "Poor customer service! They don’t have 24/7 customer service. I was stranded in the transit area of the airport for over 21 hours. I was denied to board a plane without any help that caused my entire return flight to be cancelled. I had to book an entire new return flights. It caused me lots of stress, waste of my time and money.\n", + "What started as a small delay at checkin ended up being a two and a half hour delay by the time the plane took off. The annoying part was that we weren’t told what the holdup was.\n", + "Offer a pillow in business class for night flight. More comfortable seats. Offer alcoholic beverages. Get flight attendants that care.\n", + "It was not possible to do an online checkin with Nepal Airlines. Apart from that, all the rest was very good : good food, friendly staff that ensure that Covid rules are respected (not always easy),…\n", + "Overall it was good. But air planes should be upgraded.\n", + "very run down aircraft. seat tilted. the mobile / magazine holder was broken. The entertainment screen was not working. The crew was good, polite and helpful\n", + "Food is good, staff is good... Wi-fi quality is poor, disembarkment after landing is atrocious.\n", + "Flight crew was lovely. Bathrooms should have been cleaner. The handsets in business class for watching the entertainment are horrible. Very difficult to figure out which buttons are for what. I managed to get the flight maps on my screen but it wasn't easy. Never got anything else up.\n", + "Inflight Services are poor compared to other airlines. They do not offer even water during 15 hr flight. Food is little in portion and I had food poisoning after last meal ( rajma chawal)\n", + "This was a bery good experience as it was a newer plane . AI older plane bussiness class is bad .\n", + "I had a camera bag that exceeded the 10kg allowance for hand luggage. I am 67 years old and have been travelling will my cameras and lenses all over the world and have not paid once for the excess weight. Also, even if I wanted to check in the bag, I can’t due to lithium batteries and delicate equipment. Air India should review their policies. Or is it just a cash grab. I had to pay additional 7000 rupees.\n", + "Other than the inflight video screen freezing for about four hours everything else was brilliant.\n", + "The aircraft interiors are falling apart. Felt like a waste paying for business class as it was indistinguishable from economy in any way.\n", + "What a pathetic plane it was. Entertainment system didn’t work. USB port was broken. There was a hole on top of folding serving table. Broken restrooms in the middle of flight.\n", + "Vistara\n", + "7.7\n", + "IndiGo\n", + "6.8\n", + "Nepal Airlines\n", + "5.8\n", + "Air India\n", + "5.5\n", + "Everything you need to know for your flight from New Delhi to Kathmandu\n", + "Airports\n", + "Cabin class\n", + "Complete your trip\n", + "Direct Flights\n", + "Flights to other cities\n", + "Origins\n", + "Other airports\n", + "Return flight deals\n", + "Information on your arrival and departure airports\n", + "New Delhi (DEL)\n", + "Kathmandu (KTM)\n", + "Cabin class types available on flights from New Delhi to Kathmandu\n", + "Cabin classes available on flights from New Delhi to Kathmandu. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", + "First Class flights from New Delhi to Kathmandu\n", + "Business Class flights from New Delhi to Kathmandu\n", + "from $321\n", + "Prem Econ Class flights from New Delhi to Kathmandu\n", + "from $266\n", + "Economy Class flights from New Delhi to Kathmandu\n", + "from $113\n", + "Complete your trip to Kathmandu with a hotel stay or car rental\n", + "Car rentals in Kathmandu\n", + "Hotels in Kathmandu\n", + "Vacations in Kathmandu\n", + "Find direct flights to and from New Delhi and Kathmandu\n", + "Direct Flights from New Delhi\n", + "Direct Flights to New Delhi\n", + "Direct Flights from Kathmandu\n", + "Direct Flights to Kathmandu\n", + "Flights to other popular destinations\n", + "The most popular flights on KAYAK according to clicks in the last 2 weeks. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", + "Flights to New York\n", + "Flights to Los Angeles\n", + "Flights to Las Vegas\n", + "Flights to Orlando\n", + "Flights to Chicago\n", + "Flights to Miami\n", + "Flights to London\n", + "Flights to Denver\n", + "Flights to San Francisco\n", + "Flights to Fort Lauderdale\n", + "Flights to Washington, D.C.\n", + "Flights to Seattle\n", + "Flights to Boston\n", + "Flights to Atlanta\n", + "Flights to Paris\n", + "Flights to India\n", + "Flights to United States\n", + "Flights to Europe\n", + "Flights to Japan\n", + "Flights to Hawaii\n", + "Flights to Florida\n", + "Flights from domestic origins to Kathmandu\n", + "Flights from all airports within New Delhi to Kathmandu. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", + "Flights from New Delhi to Kathmandu\n", + "from $225\n", + "Choose which airport to fly into in Kathmandu\n", + "Flights to Kathmandu\n", + "from $225\n", + "Find deals for your return flight\n", + "Flights from Kathmandu to New Delhi\n", + "KAYAK.com\n", + "Flights\n", + "Worldwide\n", + "Kathmandu\n", + "Not what you’re looking for? Find thousands of other\n", + "hotels\n", + ",\n", + "flights\n", + ",\n", + "car rentals\n", + "and\n", + "package deals\n", + "with KAYAK.\n", + "Welcome to KAYAK\n", + "This site uses cookies and other tracking technologies for essential, functional, analytical, and advertising purposes. By using the site, you agree to our\n", + "Terms & Conditions\n", + "and our\n", + "Privacy Policy\n", + ".\n", + "For more information about how we process your information, please see our\n", + "Privacy Policy\n", + ".\n", + "I understand\n", + "We value your privacy\n", + "KAYAK and its partners wish to use cookies or similar technologies to store and/or access information on and about your device and process personal data such as your IP address, device identifiers etc., in order to improve your experience on the site, to analyze navigation, to offer and measure personalized advertising, and to facilitate sharing on social networks. We also allow the use of third-party cookies (including those from our advertising partners) on our sites.\n", + "By clicking 'Accept', you consent to your data being processed by 0 vendors on this web site for the purposes described in this notice. You can review the vendors and their individual processing purposes on the\n", + "vendor list\n", + ".\n", + "To review individual processing purposes and cookie categories, please click ’Select individual purposes’. You can review your choices and withdraw your consent at any time by clicking the ’Privacy Preferences’ link in the page side navigation.\n", + "Processing purposes\n", + "Read more about our cookie practice here.\n", + "Privacy Policy\n", + "By dismissing the banner with a click on X, you are agreeing to the use of essential cookies on your device or browser.\n", + "\n", + "\n", + "\n", + "Title: Cheap Flight Fares from Indira Gandhi International to Kathmandu ...\n", + "Webpage Title:\n", + "Skyscanner\n", + "Webpage Contents:\n", + "You need to enable JavaScript to run this app.\n", + "\n", + "\n", + "\n", + "Title: Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...\n", + "Webpage Title:\n", + "Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status & Time Schedule\n", + "Webpage Contents:\n", + "Flights\n", + "Flights\n", + "Hotels\n", + "Hotels\n", + "TRIP TYPE\n", + "One Way\n", + "FROM\n", + "TO\n", + "DEPART\n", + "RETURN\n", + "PASSENGERS & CLASS\n", + "SEARCH\n", + "Popular Filters\n", + "Non Stop\n", + "(12)\n", + "AED 145\n", + "Morning Departures\n", + "(39)\n", + "AED 145\n", + "Late Departures\n", + "(20)\n", + "AED 195\n", + "Hide Nearby Airports\n", + "(72)\n", + "AED 145\n", + "1 Stop\n", + "(55)\n", + "AED 195\n", + "+ 1 more\n", + "Departure Airports\n", + "Indira Gandhi International Airport\n", + "AED 145\n", + "Hindon Airport (32Km)\n", + "AED 369\n", + "One Way Price\n", + "AED 145\n", + "AED 8,600\n", + "Duration\n", + "1 h 20 m\n", + "31 h 0 m\n", + "Stops From New Delhi\n", + "Non Stop\n", + "(12)\n", + "AED 145\n", + "1 Stop\n", + "(55)\n", + "AED 195\n", + "1+ Stop\n", + "(7)\n", + "AED 352\n", + "Departure From New Delhi\n", + "Before\n", + "6\n", + "AM\n", + "AED 195\n", + "6\n", + "AM -\n", + "12\n", + "PM\n", + "AED 145\n", + "12\n", + "PM -\n", + "6\n", + "PM\n", + "AED 180\n", + "After\n", + "6\n", + "PM\n", + "AED 195\n", + "Arrival at Kathmandu\n", + "6\n", + "AM -\n", + "12\n", + "PM\n", + "AED 178\n", + "12\n", + "PM -\n", + "6\n", + "PM\n", + "AED 145\n", + "After\n", + "6\n", + "PM\n", + "AED 189\n", + "Alliances & Airlines\n", + "Oneworld\n", + "(4)\n", + "SkyTeam\n", + "()\n", + "Star Alliance\n", + "(34)\n", + "Air Arabia\n", + "(3)\n", + "AED 1,263\n", + "Air India\n", + "(28)\n", + "AED 210\n", + "Air India Express\n", + "(3)\n", + "AED 352\n", + "Batik Air\n", + "(1)\n", + "AED 1,356\n", + "Bhutan Air\n", + "(1)\n", + "AED 145\n", + "Cathay Pacific\n", + "(1)\n", + "AED 8,126\n", + "Flydubai\n", + "(3)\n", + "AED 1,636\n", + "Hahn Air\n", + "(1)\n", + "AED 756\n", + "IndiGo\n", + "(22)\n", + "AED 180\n", + "Malaysia Airlines\n", + "(1)\n", + "AED 2,826\n", + "Nepal Airlines\n", + "(1)\n", + "AED 189\n", + "Singapore Airlines\n", + "(1)\n", + "AED 8,196\n", + "SpiceJet\n", + "(1)\n", + "AED 178\n", + "Srilankan Airlines\n", + "(2)\n", + "AED 576\n", + "Thai Airways\n", + "(4)\n", + "AED 966\n", + "Turkish Airlines\n", + "(1)\n", + "AED 3,406\n", + "+ 10 more\n", + "Layover Airports\n", + "Bangkok\n", + "(4)\n", + "AED 966\n", + "Bengaluru\n", + "(26)\n", + "AED 352\n", + "Colombo\n", + "(2)\n", + "AED 576\n", + "Dubai\n", + "(3)\n", + "AED 1,636\n", + "Hong Kong\n", + "(1)\n", + "AED 8,126\n", + "Indore\n", + "(1)\n", + "AED 636\n", + "Istanbul\n", + "(1)\n", + "AED 3,406\n", + "Jaipur\n", + "(1)\n", + "AED 616\n", + "Kuala Lumpur\n", + "(2)\n", + "AED 1,356\n", + "Mumbai\n", + "(19)\n", + "AED 195\n", + "Patna\n", + "(1)\n", + "AED 736\n", + "Pune\n", + "(3)\n", + "AED 656\n", + "Sharjah\n", + "(3)\n", + "AED 1,263\n", + "Singapore\n", + "(1)\n", + "AED 8,196\n", + "+ 9 more\n", + "Layover Duration\n", + "1 h 0 m\n", + "24 h 0 m\n", + "Top Flights From Delhi\n", + "Delhi To Kathmandu Flights\n", + "Top International Route Airlines\n", + "Accra To Abu Dhabi Air India Flights\n", + "Accra To Sharjah Air India Flights\n", + "Agra To Abu Dhabi Air India Flights\n", + "Agra To Dubai Air India Flights\n", + "Agatti Island To Abu Dhabi Air India Flights\n", + "Agatti Island To Dubai Air India Flights\n", + "Agatti Island To Sharjah Air India Flights\n", + "Aizawl To Abu Dhabi Air India Flights\n", + "Aizawl To Dubai Air India Flights\n", + "Aizawl To Sharjah Air India Flights\n", + "Top Intl Air India Routes\n", + "Dubai Amman Air India Flights\n", + "Bahrain Dubai Air India Flights\n", + "Dubai Peshawar Air India Flights\n", + "Accra Addis Ababa Air India Flights\n", + "Accra Agra Air India Flights\n", + "Accra Aizawl Air India Flights\n", + "Accra Ahmedabad Air India Flights\n", + "Accra Amritsar Air India Flights\n", + "Accra Abu Dhabi Air India Flights\n", + "Accra Bhubaneswar Air India Flights\n", + "Top Flights From Kathmandu\n", + "Kathmandu To Goa Flights\n", + "Kathmandu To Bangalore Flights\n", + "Kathmandu To Patna Flights\n", + "Kathmandu To Chandigarh Flights\n", + "Kathmandu To Bagdogra Flights\n", + "Kathmandu To Kolkata Flights\n", + "Kathmandu To Hyderabad Flights\n", + "Kathmandu To Kochi Flights\n", + "Top routes\n", + "Delhi To Aalborg Flights\n", + "Delhi To Anapa Flights\n", + "Delhi To Aarhus Flights\n", + "Delhi To Allentown Flights\n", + "Top Airlines\n", + "Biman Bangladesh\n", + "Air Arabia\n", + "Gulf Air\n", + "Qatar Airways\n", + "Etihad Airways\n", + "flydubai\n", + "Kuwait Airways\n", + "Oman Air\n", + "Thai Air Asia\n", + "Royal Nepal Airlines\n", + "Turkish Airlines\n", + "Srilankan Airlines\n", + "AirBlue Airlines\n", + "Indigo\n", + "SpiceJet\n", + "Air India\n", + "Air India Express\n", + "Emirates\n", + "Cebu Pacific Air\n", + "Wizz Air Abu Dhabi\n", + "Thai Airways\n", + "Other Route Airlines\n", + "Delhi To Kathmandu Royal Nepal Airlines Flights\n", + "Delhi To Kathmandu flydubai Flights\n", + "Delhi To Kathmandu Air Arabia Flights\n", + "Delhi To Kathmandu IndiGo Airlines Flights\n", + "Delhi To Kathmandu KLM Royal Dutch Flights\n", + "Delhi To Kathmandu Druk Air Flights\n", + "Delhi To Kathmandu Vistara Airlines Flights\n", + "Delhi To Kathmandu Malmo Aviation Flights\n", + "Domestic routes\n", + "Sharjah To Abu Dhabi Flights\n", + "Ras Al Khaimah To Abu Dhabi Flights\n", + "Dubai To Abu Dhabi Flights\n", + "Al Ain To Abu Dhabi Flights\n", + "Popular Flights\n", + "Dubai To Colombo Flights\n", + "Casablanca To Dubai Flights\n", + "Dubai To Abu Dhabi Flights\n", + "Sharjah To Lahore Flights\n", + "Abu Dhabi To Casablanca Flights\n", + "Dubai To Phuket Flights\n", + "Lahore To Dubai Flights\n", + "Dubai To Sialkot Flights\n", + "Popular Routes UAE\n", + "Abu Dhabi to Alexandria Flight\n", + "Abu Dhabi to Amman Flight\n", + "Abu Dhabi to Beirut Flight\n", + "Abu Dhabi to Cairo Flight\n", + "Abu Dhabi to Casablanca Flight\n", + "Abu Dhabi to Dhaka Flight\n", + "Abu Dhabi to Islamabad Flight\n", + "Abu Dhabi to Manila Flight\n", + "Alexandria to Abu Dhabi Flight\n", + "Amman to Abu Dhabi Flight\n", + "Amman to Dubai Flight\n", + "Beirut to Dubai Flight\n", + "Cairo to Abu Dhabi Flight\n", + "Dubai to Addis Ababa Flight\n", + "Dubai to Amman Flight\n", + "Popular UAE Routes\n", + "Dubai to Belgrade Flight\n", + "Dubai to Khartoum Flight\n", + "Dubai to Lagos Flight\n", + "Dubai to Manila Flight\n", + "Dubai to Peshawar Flight\n", + "Dubai to Sialkot Flight\n", + "Dubai to Sylhet Flight\n", + "Dubai to Tashkent Flight\n", + "Dubai to Tbilisi Flight\n", + "Dubai to Zanzibar Flight\n", + "Entebbe to Dubai Flight\n", + "Jeddah to Riyadh Flight\n", + "Karachi to Dubai Flight\n", + "Manila to Cebu Flight\n", + "Sharjah to Alexandria Flight\n", + "Sharjah to Amman Flight\n", + "Sialkot to Dubai Flight\n", + "Top Flights to Nepal\n", + "Delhi To Nepal Flights\n", + "Bangalore To Nepal Flights\n", + "Mumbai To Nepal Flights\n", + "Thiruvananthapuram To Nepal Flights\n", + "Goa To Nepal Flights\n", + "Kochi To Nepal Flights\n", + "Hyderabad To Nepal Flights\n", + "Udaipur To Nepal Flights\n", + "Chennai To Nepal Flights\n", + "Kolkata To Nepal Flights\n", + "Hotels in Kathmandu\n", + "Hotels in Kathmandu (479)\n", + "Budget hotels in Kathmandu (333)\n", + "5 Star hotels in Kathmandu (28)\n", + "Resorts in Kathmandu\n", + "Hostels in Kathmandu\n", + "Bed N Breakfast in Kathmandu\n", + "Villas in Kathmandu\n", + "Guest Houses in Kathmandu\n", + "Apart-hotels in Kathmandu\n", + "Apartments in Kathmandu\n", + "Homestays in Kathmandu\n", + "4 Star hotels in Kathmandu (66)\n", + "Most Searched Hotel in Kathmandu\n", + "Ramada Encore by Wyndham Kathmandu\n", + "The Soaltee Kathmandu\n", + "Radisson Hotel Kathmandu\n", + "Hyatt Regency Kathmandu\n", + "Hotel Crowne Imperial\n", + "Hotel Yak & Yeti\n", + "Chandragiri Hills Resort\n", + "Fairfield by Marriott Kathmandu\n", + "Aloft Kathmandu Thamel by Marriott\n", + "Kathmandu Marriott Hotel\n", + "Hotels in Kathmandu Areas\n", + "Thamel (195)\n", + "Patan (61)\n", + "Lalitpur (55)\n", + "Jyatha, Kathmandu (44)\n", + "Satghumti, Kathmandu (36)\n", + "Sinamangal (35)\n", + "Near Tribhuvan Airport (34)\n", + "Budhanilkantha (33)\n", + "Khusibun, Kathmandu (31)\n", + "Mangal Bazaar (29)\n", + "Boudhha (28)\n", + "Nagarjun (22)\n", + "Patan Dhoka (22)\n", + "Kapan (21)\n", + "Lazimpat (15)\n", + "Budget Hotels in Kathmandu\n", + "Living Hope Guest House\n", + "OYO 135 Lost Garden Apartment and Guest House\n", + "Kathmandu Boutique\n", + "Airport Himalaya Boutique Hotel\n", + "Hotel Jagat\n", + "Prami's Homestay\n", + "Hotel Namaskar\n", + "Karma Hotel Nepal\n", + "Hotel Ritu Mouria\n", + "Hotel Peace Mountain\n", + "Kathmandu Nomad Hotel\n", + "Gaju Suite Hotel\n", + "OYO 287 Hotel Buddha Palace\n", + "Sangam City Hotel\n", + "Nepal Cottage Resort\n", + "Delhi to Kathmandu Air India Flight\n", + "Lowest fare from Delhi to Kathmandu Air India Flight on 19 Jul - AED 189\n", + "Cheapest ticket price on Delhi to Kathmandu Air India flight air ticket at MakeMyTrip. Lowest fares guaranteed on flights from Delhi to Kathmandu by Air India. Check all details about Air India Delhi to Kathmandu flight like ticket price, flight status, fare & schedule. You can also book a return ticket for your journey at discounted rate on\n", + "Kathmandu to Delhi Air India flight\n", + "ticket online and you can also check other airlines\n", + "Delhi to Kathmandu flights\n", + "details. Get Up To AED 150 Off* on your flight booking with MakeMyTrip using coupon code :\n", + "ā€œFLYAEā€\n", + ". 100% Refund on Flight cancellations with MMT Zero Cancellation.\n", + "Sorted By:\n", + "Popularity\n", + "Departure\n", + "Duration\n", + "Arrival\n", + "Price\n", + "Bhutan Air\n", + "10:55\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "12:40\n", + "Kathmandu\n", + "AED 189\n", + "AED 145\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "Bhutan Air\n", + "B3 | 774\n", + "10:55\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "12:40\n", + "Sun, 27 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 145\n", + "Base Fare\n", + "AED 2\n", + "Surcharges\n", + "AED 187\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "SpiceJet\n", + "08:10\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "09:55\n", + "Kathmandu\n", + "AED 222\n", + "AED 178\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "SpiceJet\n", + "SG | 41\n", + "08:10\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "09:55\n", + "Sun, 27 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 178\n", + "Base Fare\n", + "AED 126\n", + "Surcharges\n", + "AED 96\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "07:50\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "09:50\n", + "Kathmandu\n", + "11:05\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "13:40\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "15:40\n", + "Kathmandu\n", + "More Timing Options\n", + "AED 224\n", + "AED 180\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "IndiGo\n", + "6E | 1151\n", + "07:50\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "09:50\n", + "Sun, 27 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 180\n", + "Base Fare\n", + "AED 130\n", + "Surcharges\n", + "AED 94\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Nepal Airlines\n", + "16:20\n", + "New Delhi\n", + "01\n", + "h\n", + "35\n", + "m\n", + "Non stop\n", + "18:10\n", + "Kathmandu\n", + "AED 233\n", + "AED 189\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "Nepal Airlines\n", + "RA | 218\n", + "16:20\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "35\n", + "m\n", + "18:10\n", + "Sun, 27 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 189\n", + "Base Fare\n", + "AED 1\n", + "Surcharges\n", + "AED 232\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "07:00\n", + "New Delhi\n", + "06\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "06:00\n", + "New Delhi\n", + "07\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "05:00\n", + "New Delhi\n", + "08\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "04:00\n", + "New Delhi\n", + "09\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "01:55\n", + "New Delhi\n", + "11\n", + "h\n", + "55\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "23:30\n", + "New Delhi\n", + "14\n", + "h\n", + "20\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "22:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "21:00\n", + "New Delhi\n", + "16\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "17\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "AED 239\n", + "AED 195\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "IndiGo\n", + "6E | 6814\n", + "07:00\n", + "Sun, 27 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "15\n", + "m\n", + "09:15\n", + "Sun, 27 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Sun, 27 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Sun, 27 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 195\n", + "Base Fare\n", + "AED 143\n", + "Surcharges\n", + "AED 96\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "05:00\n", + "New Delhi\n", + "01\n", + "h\n", + "20\n", + "m\n", + "Non stop\n", + "06:35\n", + "Kathmandu\n", + "07:00\n", + "New Delhi\n", + "01\n", + "h\n", + "50\n", + "m\n", + "Non stop\n", + "09:05\n", + "Kathmandu\n", + "11:00\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "14:30\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "16:30\n", + "Kathmandu\n", + "18:10\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "20:05\n", + "Kathmandu\n", + "More Timing Options\n", + "AED 254\n", + "AED 210\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "Air India\n", + "AI | 215\n", + "05:00\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "20\n", + "m\n", + "06:35\n", + "Sun, 27 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 210\n", + "Base Fare\n", + "AED 95\n", + "Surcharges\n", + "AED 159\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India Express\n", + "23:55\n", + "New Delhi\n", + "07\n", + "h\n", + "55\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "15:20\n", + "New Delhi\n", + "16\n", + "h\n", + "30\n", + "m\n", + "2 stop via Indore,Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "AED 396\n", + "AED 352\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "Air India Express\n", + "IX | 2755\n", + "23:55\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "03\n", + "h\n", + "02:55\n", + "Mon, 28 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India Express\n", + "IX | 884\n", + "05:05\n", + "Mon, 28 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Mon, 28 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 352\n", + "Base Fare\n", + "AED 279\n", + "Surcharges\n", + "AED 117\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "17:35\n", + "Ghaziabad\n", + "20\n", + "h\n", + "15\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "AED 413\n", + "AED 369\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "Ghaziabad to Kathmandu , 27 Jul\n", + "IndiGo\n", + "6E | 5091\n", + "17:35\n", + "Sun, 27 Jul 25\n", + "Ghaziabad, India\n", + "02\n", + "h\n", + "25\n", + "m\n", + "20:00\n", + "Sun, 27 Jul 25\n", + "Terminal T1\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Mon, 28 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Mon, 28 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 369\n", + "Base Fare\n", + "AED 332\n", + "Surcharges\n", + "AED 81\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "IndiGo\n", + "10:00\n", + "New Delhi\n", + "27\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "09:00\n", + "New Delhi\n", + "28\n", + "h\n", + "50\n", + "m\n", + "1 stop via Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "AED 474\n", + "AED 430\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "IndiGo\n", + "6E | 6328\n", + "10:00\n", + "Sun, 27 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "20\n", + "m\n", + "12:20\n", + "Sun, 27 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E | 1157\n", + "11:05\n", + "Mon, 28 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Mon, 28 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 430\n", + "Base Fare\n", + "AED 366\n", + "Surcharges\n", + "AED 108\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Air India\n", + "09:40\n", + "New Delhi\n", + "22\n", + "h\n", + "10\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "08:30\n", + "New Delhi\n", + "23\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "07:30\n", + "New Delhi\n", + "24\n", + "h\n", + "20\n", + "m\n", + "1 stop via Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "AED 480\n", + "AED 436\n", + "BOOK NOW\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 27 Jul\n", + "Air India\n", + "AI | 2415\n", + "09:40\n", + "Sun, 27 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "02\n", + "h\n", + "55\n", + "m\n", + "12:35\n", + "Sun, 27 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI | 9187 | Operated By Air India Express\n", + "05:05\n", + "Mon, 28 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Mon, 28 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "AED 436\n", + "Base Fare\n", + "AED 330\n", + "Surcharges\n", + "AED 150\n", + "Instant discount applied\n", + "-AED 44\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Load More Flights\n", + "Travel Home\n", + "International Flights\n", + "Flights to Kathmandu\n", + "Delhi to Kathmandu Flights\n", + "Delhi to Kathmandu Air India Flights\n", + "About Delhi (DEL)\n", + "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", + "Delhi Address\n", + "Indira Gandhi International Airport\n", + "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", + "Enquries Phone Number: (+91) 11 25661080\n", + "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", + "About Kathmandu (KTM)\n", + "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", + "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", + "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", + "Kathmandu Address\n", + "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", + "Tel: +97714477161\n", + "About Air India\n", + "Air India is the national flag carrier of India and has been providing air services since October 15th, 1932. Initially its name was Tata Airlines but later it was changed to Air India. It is India’s first international airline that offers a distinctive look with a red colored flying swan. It provides luxurious air services to international passengers at economical costs and discounted fares. Air India offers many international flights but the US is the most important international destination and a large number of passengers travel between India and the United States on a daily basis. Air India had the honour of being the first airline to start commercial operations from the recently opened Kazi Nazrul Islam Airport at Durgapur with a flight connecting Kolkata to Durgapur and back. The inaugural flight was operated by Alliance Air, a wholly owned subsidiary of Air India.\n", + "Hide\n", + "More Deals For You!\n", + "More discounts for your flight\n", + "Get Flat\n", + "12%\n", + "OFF\n", + "MMTWELCOME\n", + "Grab Up to AED 90 OFF\n", + "*Applicable for First times user only.\n", + "COPY CODE\n", + "Get Up To\n", + "20%\n", + "OFF\n", + "FLYSUPER\n", + "Grab Up to AED 120 OFF\n", + "*T&C Applied\n", + "COPY CODE\n", + "Get Up To\n", + "AED 150\n", + "OFF*\n", + "FLYAE\n", + "BIG Offer on Flights!\n", + "*T&C Applied\n", + "COPY CODE\n", + "Show\n", + "International Routes\n", + "Dubai to Manila Flight\n", + "Dubai to Kuwait Flight\n", + "Dubai to Islamabad Flight\n", + "Dubai to Karachi Flight\n", + "Dubai to Lahore Flight\n", + "Dubai to Riyadh Flight\n", + "Abu Dhabi to Manila Flight\n", + "Dubai to Cairo Flight\n", + "Dubai to Bahrain Flight\n", + "Dubai to Dhaka Flight\n", + "Dubai to Beirut Flight\n", + "Manila to Dubai Flight\n", + "Dubai to Muscat Flight\n", + "Dubai to Amman Flight\n", + "Dubai to Kathmandu Flight\n", + "Dubai to Casablanca Flight\n", + "Abu Dhabi to Lahore Flight\n", + "Beirut to Dubai Flight\n", + "Abu Dhabi to Islamabad Flight\n", + "Sharjah to Lahore Flight\n", + "Dubai to Addis ababa Flight\n", + "Cairo to Dubai Flight\n", + "Lahore to Dubai Flight\n", + "Dhaka to Sharjah Flight\n", + "Dubai to Lagos Flight\n", + "Sharjah to Multan Flight\n", + "Dubai to Tunis Flight\n", + "Abu Dhabi to Belgrade Flight\n", + "Dubai to Tbilisi Flight\n", + "Dubai to Peshawar Flight\n", + "Dubai to Alexandria Flight\n", + "Dubai to Multan Flight\n", + "Dubai to Faisalabad Flight\n", + "Top International Routes\n", + "Dubai to Delhi Flight\n", + "Dubai to Mumbai Flight\n", + "Dubai to Chennai flight\n", + "Dubai to Hyderabad flight\n", + "Dubai to Mangalore flight\n", + "Dubai to Kochi flight\n", + "Mumbai to Dubai flight\n", + "Dubai to Trivandrum flight\n", + "Sharjah to Trivandrum Flight\n", + "Ahmedabad to Dubai Flight\n", + "Kochi to Dubai Flight\n", + "Dubai to Kozhikode Flight\n", + "Amritsar to Dubai Flight\n", + "Sharjah to Kochi Flight\n", + "Trivandrum to Dubai Flight\n", + "Calicut to Dubai Flight\n", + "Kochi to Sharjah Flight\n", + "Dubai to Athens Flight\n", + "Thiruvananthapuram to Sharjah Flight\n", + "Dubai to Abu Dhabi Flight\n", + "Dubai to Sialkot Flight\n", + "Dubai to Sylhet Flight\n", + "Sharjah to Sialkot Flight\n", + "Abu Dhabi to Cairo Flight\n", + "Abu Dhabi to Kathmandu Flight\n", + "Dubai to Salalah Flight\n", + "Dubai to Chittagong Flight\n", + "Dubai to Singapore Flight\n", + "Dubai to Mauritius Flight\n", + "Dubai to Amsterdam Flight\n", + "Dubai to Paris Flight\n", + "Dubai to Vancouver Flight\n", + "Sharjah to Dhaka Flight\n", + "Dubai to Los Angeles Flight\n", + "Abu Dhabi to Casablanca Flight\n", + "Abu Dhabi to Beirut Flight\n", + "Dubai to Seychelles Flight\n", + "Dubai to Barcelona Flight\n", + "Dubai to Belgrade Flight\n", + "Dubai to Tashkent Flight\n", + "Top International Flight Routes\n", + "Sharjah to Thiruvananthapuram flight\n", + "Abu dhabi to Kozhikode flight\n", + "Abu dhabi to Delhi flight\n", + "Hyderabad to Dubai flight\n", + "Abu Dhabi to Kochi flight\n", + "Delhi to Dubai flight\n", + "Chennai to Dubai Flight\n", + "Dubai to Ahmedabad flight\n", + "Mangalore to Dubai Flight\n", + "Dubai to Kannur Flight\n", + "Abu dhabi to Chennai Flight\n", + "Dhaka to Dubai Flight\n", + "Sharjah to Kannur flight\n", + "Dubai To Bangkok Flight\n", + "Dubai To Kochi Flight\n", + "Dubai to Entebbe Flight\n", + "Abu dhabi to Dhaka Flight\n", + "Amman to Dubai Flight\n", + "Sharjah to Peshawar Flight\n", + "Islamabad to Dubai Flight\n", + "Dubai to Toronto Flight\n", + "Dubai to Dammam Flight\n", + "Dubai to Colombo Flight\n", + "Bahrain to Dubai Flight\n", + "Jeddah to Dubai Flight\n", + "Abu Dhabi to Amman Flight\n", + "Casablanca to Dubai Flight\n", + "Sharjah to Islamabad Flight\n", + "Dubai to Rome Flight\n", + "Dubai to Moscow Flight\n", + "Dubai to Istanbul Flight\n", + "Dubai to Prague Flight\n", + "Islamabad to Sharjah Flight\n", + "Dubai to Hong Kong Flight\n", + "Dubai to Phuket Flight\n", + "Sharjah to Kathmandu Flight\n", + "Islamabad to Sharjah Flight\n", + "Dubai to Zanzibar Flight\n", + "Top International Hotels\n", + "Hotels In London\n", + "Hotels In Istanbul\n", + "Hotels In Rome\n", + "Hotels In Los Angeles\n", + "Hotels In Zanzibar\n", + "Hotels In Islamabad\n", + "Hotels in Dubai\n", + "Hotels In Fujairah\n", + "Hotels In Salalah\n", + "Hotels In Amman\n", + "Hotels In Al Ain\n", + "Hotels In Ras Al Khaimah\n", + "Hotels In Medina\n", + "Hotels In Riyadh\n", + "Hotels In Jeddah\n", + "Hotels in Muscat\n", + "Hotels In Maldives\n", + "Hotels In Tbilisi\n", + "Hotels In Abu Dhabi\n", + "Hotels In Sharjah\n", + "Hotels In Ajman\n", + "Hotels In Santorini\n", + "Hotels In Mykonos\n", + "Hotels In Moscow\n", + "Hotels In Cairo\n", + "Hotels In Yerevan\n", + "Baku Hotels\n", + "Hotels In Singapore\n", + "Hotels In Bangkok\n", + "Hotels In Phuket\n", + "Hotels In Bali\n", + "Hotels In Paris\n", + "Hotels In UAE\n", + "Hotels In Oman\n", + "Hotels In Kuwait\n", + "Hotels In Bahrain\n", + "Hotels In Armenia\n", + "Hotels In Qatar\n", + "Hotels In Hong Kong\n", + "Hotels In Saudi Arabia\n", + "Hotels In Azerbaijan\n", + "Hotels In Georgia\n", + "Hotels In Thailand\n", + "Hotels In Turkey\n", + "Hotels In Egypt\n", + "Hotels In Makkah\n", + "Hotels In United Kingdom\n", + "Budget Hotels In Dubai\n", + "\n", + "\n", + "\n", + "Title: Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF\n", + "Webpage Title:\n", + "Delhi to Kathmandu Flight, Fare @ ₹5130 + Flat Rs 1500 OFF\n", + "Webpage Contents:\n", + "Flights\n", + "Hotels\n", + "Trains\n", + "Cabs\n", + "Bus\n", + "Holidays\n", + "Forex\n", + "My Trips\n", + "Manage Booking\n", + "Access your bookings, easy cancellation, date change and much more\n", + "TRIP TYPE\n", + "One Way\n", + "FROM\n", + "TO\n", + "DEPART\n", + "RETURN\n", + "PASSENGERS & CLASS\n", + "SEARCH\n", + "Fare Type:\n", + "Regular\n", + "Student\n", + "Student Fare\n", + "Only students above 12 years of age are eligible for special fares and/or additional baggage allowances. Carrying valid student ID cards and student visas (where applicable) is mandatory, else the passenger may be denied boarding or asked to pay for extra baggage.\n", + "Popular Filters\n", + "Non Stop\n", + "(11)\n", + "₹ 4,742\n", + "Early Morning Departures\n", + "(11)\n", + "₹ 5,352\n", + "Late Departures\n", + "(17)\n", + "₹ 5,352\n", + "1 Stop\n", + "(43)\n", + "₹ 5,577\n", + "AfterNoon Departures\n", + "(14)\n", + "₹ 4,917\n", + "+ 1 more\n", + "Departure Airports\n", + "Indira Gandhi International Airport\n", + "₹ 4,742\n", + "Hindon Airport (32Km)\n", + "₹ 12,072\n", + "One Way Price\n", + "₹ 4,742\n", + "₹ 2,06,000\n", + "Duration\n", + "1 h 20 m\n", + "29 h 0 m\n", + "Stops From New Delhi\n", + "Non Stop\n", + "(11)\n", + "₹ 4,742\n", + "1 Stop\n", + "(43)\n", + "₹ 5,577\n", + "1+ Stop\n", + "(7)\n", + "₹ 12,948\n", + "Departure From New Delhi\n", + "Before 6 am\n", + "₹ 5,352\n", + "6 am - 12 pm\n", + "₹ 4,742\n", + "12 pm - 6 pm\n", + "₹ 4,917\n", + "After 6 pm\n", + "₹ 5,352\n", + "Arrival at Kathmandu\n", + "6 am - 12 pm\n", + "₹ 5,130\n", + "12 pm - 6 pm\n", + "₹ 4,742\n", + "After 6 pm\n", + "₹ 4,917\n", + "Alliances & Airlines\n", + "Oneworld\n", + "(4)\n", + "SkyTeam\n", + "()\n", + "Star Alliance\n", + "(25)\n", + "Air Arabia\n", + "(3)\n", + "₹ 33,139\n", + "Air India\n", + "(18)\n", + "₹ 5,352\n", + "Air India Express\n", + "(3)\n", + "₹ 12,072\n", + "Bhutan Air\n", + "(1)\n", + "₹ 4,742\n", + "Cathay Pacific\n", + "(2)\n", + "₹ 1,99,972\n", + "Flydubai\n", + "(2)\n", + "₹ 37,907\n", + "IndiGo\n", + "(21)\n", + "₹ 5,210\n", + "Malaysia Airlines\n", + "(1)\n", + "₹ 97,923\n", + "Nepal Airlines\n", + "(1)\n", + "₹ 4,917\n", + "Singapore Airlines\n", + "(1)\n", + "₹ 1,63,272\n", + "SpiceJet\n", + "(1)\n", + "₹ 5,130\n", + "Srilankan Airlines\n", + "(1)\n", + "₹ 14,006\n", + "Thai Airways\n", + "(4)\n", + "₹ 22,787\n", + "Turkish Airlines\n", + "(2)\n", + "₹ 90,432\n", + "+ 8 more\n", + "Layover Airports\n", + "Bangkok\n", + "(4)\n", + "₹ 22,787\n", + "Bengaluru\n", + "(16)\n", + "₹ 10,308\n", + "Colombo\n", + "(1)\n", + "₹ 14,006\n", + "Dubai\n", + "(2)\n", + "₹ 37,907\n", + "Hong Kong\n", + "(2)\n", + "₹ 1,99,972\n", + "Hyderabad\n", + "(6)\n", + "₹ 19,039\n", + "Istanbul\n", + "(2)\n", + "₹ 90,432\n", + "Kuala Lumpur\n", + "(1)\n", + "₹ 97,923\n", + "Mumbai\n", + "(18)\n", + "₹ 5,577\n", + "Sharjah\n", + "(3)\n", + "₹ 33,139\n", + "Singapore\n", + "(1)\n", + "₹ 1,63,272\n", + "+ 6 more\n", + "Layover Duration\n", + "1 h 0 m\n", + "24 h 0 m\n", + ">\n", + "Summer special one-way fares to Kathmandu.\n", + "31st July’25\n", + "View Details\n", + "Further Flights From Delhi (DEL)\n", + "Delhi To Shannon Flights\n", + "Lowest Fare ₹30,006\n", + "Delhi To Taipei Flights\n", + "Lowest Fare ₹14,829\n", + "Delhi To Nairobi Flights\n", + "Lowest Fare ₹16,817\n", + "Delhi To Cairo Flights\n", + "Lowest Fare ₹19,814\n", + "Delhi To Orlando Flights\n", + "Lowest Fare ₹51,638\n", + "Delhi To Dusseldorf Flights\n", + "Lowest Fare ₹25,661\n", + "Delhi To Reno Flights\n", + "Lowest Fare ₹52,441\n", + "Delhi To Cancun Flights\n", + "Lowest Fare ₹46,675\n", + "Delhi To Honolulu Flights\n", + "Lowest Fare ₹51,282\n", + "Delhi To Adelaide Flights\n", + "Lowest Fare ₹29,754\n", + "Delhi To Cebu Flights\n", + "Lowest Fare ₹14,302\n", + "Delhi To Frankfurt Flights\n", + "Lowest Fare ₹21,904\n", + "Delhi To Hurghada Flights\n", + "Lowest Fare ₹25,117\n", + "Delhi To Aberdeen Flights\n", + "Lowest Fare ₹81,142\n", + "Delhi To Christchurch Flights\n", + "Lowest Fare ₹43,579\n", + "Delhi To Antigua Flights\n", + "Lowest Fare ₹51,093\n", + "Delhi To Nice Flights\n", + "Lowest Fare ₹23,640\n", + "Delhi To Tokyo Flights\n", + "Lowest Fare ₹20,147\n", + "Delhi To Fuerteventura Flights\n", + "Lowest Fare ₹43,355\n", + "Delhi To Kelowna Flights\n", + "Lowest Fare ₹51,487\n", + "Delhi To Helsinki Flights\n", + "Lowest Fare ₹27,829\n", + "Delhi To Almeria Flights\n", + "Lowest Fare ₹44,241\n", + "Delhi To Atlanta Flights\n", + "Lowest Fare ₹39,472\n", + "Delhi To Columbia Flights\n", + "Lowest Fare ₹49,057\n", + "Delhi To Munich Flights\n", + "Lowest Fare ₹19,634\n", + "Delhi To Charlotte Flights\n", + "Lowest Fare ₹42,961\n", + "Delhi To Tampa Flights\n", + "Lowest Fare ₹44,000\n", + "Delhi To Cork Flights\n", + "Lowest Fare ₹35,931\n", + "Delhi To Doha Flights\n", + "Lowest Fare ₹11,016\n", + "Delhi To Shanghai Flights\n", + "Lowest Fare ₹16,495\n", + "Delhi To Southend Flights\n", + "Lowest Fare ₹22,190\n", + "Delhi To Perth Flights\n", + "Lowest Fare ₹15,047\n", + "Delhi To Johannesburg Flights\n", + "Lowest Fare ₹27,382\n", + "Delhi To Copenhagen Flights\n", + "Lowest Fare ₹20,281\n", + "Delhi To Palu Flights\n", + "Lowest Fare ₹39,370\n", + "Delhi To Vancouver Flights\n", + "Lowest Fare ₹39,309\n", + "Delhi To Seattle Flights\n", + "Lowest Fare ₹29,698\n", + "Delhi To Miami Flights\n", + "Lowest Fare ₹40,018\n", + "Delhi To Belfast Flights\n", + "Lowest Fare ₹28,768\n", + "Delhi To Innsbruck Flights\n", + "Lowest Fare ₹33,378\n", + "Delhi To Bristol Flights\n", + "Lowest Fare ₹26,695\n", + "Delhi To Prague Flights\n", + "Lowest Fare ₹23,766\n", + "Delhi To Indianapolis Flights\n", + "Lowest Fare ₹44,111\n", + "Delhi To Agadir Flights\n", + "Lowest Fare ₹33,455\n", + "Delhi To Cairns Flights\n", + "Lowest Fare ₹31,204\n", + "Delhi To Pisa Flights\n", + "Lowest Fare ₹31,677\n", + "Delhi To Milan Flights\n", + "Lowest Fare ₹19,893\n", + "Delhi To Halifax Flights\n", + "Lowest Fare ₹48,745\n", + "Delhi To Vienna Flights\n", + "Lowest Fare ₹20,191\n", + "Further Flights From Kathmandu (KTM)\n", + "Kathmandu To Surat Flights\n", + "Lowest Fare ₹12,651\n", + "Kathmandu To Patna Flights\n", + "Lowest Fare ₹12,444\n", + "Kathmandu To Chennai Flights\n", + "Lowest Fare ₹10,566\n", + "Kathmandu To Hyderabad Flights\n", + "Lowest Fare ₹8,020\n", + "Kathmandu To Goa Flights\n", + "Lowest Fare ₹7,042\n", + "Kathmandu To Bangalore Flights\n", + "Lowest Fare ₹7,918\n", + "Kathmandu To Mumbai Flights\n", + "Lowest Fare ₹9,825\n", + "Kathmandu To Kolkata Flights\n", + "Lowest Fare ₹12,050\n", + "Kathmandu To Allahabad Flights\n", + "Lowest Fare ₹10,491\n", + "Kathmandu To Bilaspur Flights\n", + "Lowest Fare ₹15,701\n", + "Kathmandu To Guwahati Flights\n", + "Lowest Fare ₹13,045\n", + "Kathmandu To Raipur Flights\n", + "Lowest Fare ₹11,754\n", + "Kathmandu To Indore Flights\n", + "Lowest Fare ₹11,102\n", + "Kathmandu To Imphal Flights\n", + "Lowest Fare ₹14,653\n", + "Kathmandu To Nasik Flights\n", + "Lowest Fare ₹13,091\n", + "Kathmandu To Chandigarh Flights\n", + "Lowest Fare ₹10,028\n", + "Kathmandu To Kannur Flights\n", + "Lowest Fare ₹14,893\n", + "Kathmandu To Udaipur Flights\n", + "Lowest Fare ₹10,958\n", + "Kathmandu To Pune Flights\n", + "Lowest Fare ₹7,042\n", + "Kathmandu To Pantnagar Flights\n", + "Lowest Fare ₹12,675\n", + "Kathmandu To Bagdogra Flights\n", + "Lowest Fare ₹12,413\n", + "Kathmandu To Madurai Flights\n", + "Lowest Fare ₹13,014\n", + "Kathmandu To Kanpur Flights\n", + "Lowest Fare ₹13,601\n", + "Kathmandu To Visakhapatnam Flights\n", + "Lowest Fare ₹12,213\n", + "Kathmandu To Port Blair Flights\n", + "Lowest Fare ₹12,880\n", + "Top International Routes\n", + "Mumbai to Hanoi Flight\n", + "Ahmedabad to New York Flight\n", + "Gorakhpur to Kathmandu Flight\n", + "Pune to Male Flight\n", + "Visakhapatnam to Dubai Flight\n", + "Hyderabad to Denpasar Bali Flight\n", + "Chennai to Australia Flight\n", + "Delhi to Melbourne Flight\n", + "Mumbai to Muscat Flight\n", + "Hyderabad to Doha Flight\n", + "Delhi to Sydney Flight\n", + "Bangalore to Guwahati Flight\n", + "Pune to Kathmandu Flight\n", + "Muscat to Lucknow Flight\n", + "Chennai to London Flight\n", + "Delhi to Doha Flight\n", + "Thiruvananthapuram to Dubai Flight\n", + "Ernakulam to Dubai Flight\n", + "Kuala Lumpur to Tiruchirappalli Flight\n", + "Moscow to Delhi Flight\n", + "Delhi to Kuwait City Flight\n", + "Top International Cities\n", + "Hyderabad to Kuala Lumpur Flight\n", + "Chennai to New York Flight\n", + "Kolkata to Kathmandu Flight\n", + "Kozhikode to Dubai Flight\n", + "Muscat to Ernakulam Flight\n", + "Dubai to Bangalore Flight\n", + "Dubai to Amritsar Flight\n", + "Tiruchirappalli to Colombo Flight\n", + "Delhi to Bishkek Flight\n", + "Delhi to Abu Dhabi Flight\n", + "Singapore to Chennai Flight\n", + "Pune to Bangkok Flight\n", + "Bangalore to Frankfurt Flight\n", + "Kolkata to Kuala Lumpur Flight\n", + "Patna to Kathmandu Flight\n", + "Riyadh to Lucknow Flight\n", + "Mumbai to Istanbul Flight\n", + "Lusaka to Mumbai Flight\n", + "Mumbai to Phuket Flight\n", + "Popular Hotels in Delhi\n", + "The Lodhi:A member of The Leading Hotels Of The World\n", + "The Oberoi New Delhi\n", + "The Leela Palace New Delhi\n", + "Taj Mahal, New Delhi\n", + "JW Marriott Hotel New Delhi Aerocity\n", + "Hotels in Delhi\n", + "Hotels in Delhi\n", + "3 Star Hotels in Delhi\n", + "4 Star Hotels in Delhi\n", + "5 Star Hotels in Delhi\n", + "Budget Hotels in Delhi\n", + "Premium Hotels Nearby Delhi\n", + "Trident Gurgaon\n", + "Park Plaza Gurugram\n", + "Crowne Plaza Today Gurugram,an IHG Hotel\n", + "Lemon Tree Hotel East Delhi Mall Kaushambi\n", + "Treehouse Hotel, Club & SPA, Bhiwadi\n", + "Popular Hotels in Kathmandu\n", + "Hotel Shanker-Palatial Heritage Kathmandu\n", + "Hotel Woodland Kathmandu\n", + "Hotel Vaishali Kathmandu\n", + "Airport Hotel\n", + "DOM Himalaya Hotel\n", + "Hotels in Kathmandu\n", + "Hotels in Kathmandu\n", + "3 Star Hotels in Kathmandu\n", + "4 Star Hotels in Kathmandu\n", + "5 Star Hotels in Kathmandu\n", + "Budget Hotels in Kathmandu\n", + "Premium Hotels Nearby Kathmandu\n", + "Pokhara Grande Hotel\n", + "Waterfront Resort\n", + "Pokhara Village Resort\n", + "Hotel Splendid View\n", + "Dahlia Boutique Hotel Pokhara\n", + "Trains from Delhi\n", + "Delhi to Maruadih Rly. Settlement Trains\n", + "Delhi to Lucknow Trains\n", + "Delhi to Patna Trains\n", + "Delhi to Prayagraj Trains\n", + "Delhi to Kanpur Trains\n", + "Trains to Delhi\n", + "Chennai to Delhi Trains\n", + "Maruadih Rly. Settlement to Delhi Trains\n", + "Kanpur to Delhi Trains\n", + "Chandigarh to Delhi Trains\n", + "Ahmedabad to Delhi Trains\n", + "Cabs from Delhi\n", + "Delhi To Pilani Cabs\n", + "Delhi To Kharkhoda Cabs\n", + "Delhi To Prayagraj Cabs\n", + "Delhi To Mount-abu Cabs\n", + "Delhi To Jaisalmer Cabs\n", + "Cabs to Kathmandu\n", + "Gorakhpur To Kathmandu Cabs\n", + "Buses from Delhi\n", + "Delhi to Lucknow Bus\n", + "Delhi to Dehradun Bus\n", + "Delhi to Manali Bus\n", + "Delhi to Jaipur Bus\n", + "Delhi to Chandigarh Bus\n", + "Buses to Kathmandu\n", + "Siliguri to Kathmandu Bus\n", + "Delhi to Kathmandu Bus\n", + "Patna to Kathmandu Bus\n", + "Motihari to Kathmandu Bus\n", + "Muzaffarpur to Kathmandu Bus\n", + "Delhi to Kathmandu Flight, Fare @ ₹5130 + Flat Rs 1500 OFF\n", + "Use promo code GOINTL and Instant Discount of Rs 10,000 on your Delhi to Kathmandu round trip flight booking. Lowest Airfare from Delhi to Kathmandu is ₹5130 on 16 Jul. For fastest booking and best discounts on flight tickets visit Goibibo. Also check cheapest return\n", + "Kathmandu to Delhi flight tickets\n", + "online here.\n", + "Sorted By:\n", + "Popularity\n", + "Departure\n", + "Duration\n", + "Arrival\n", + "Price\n", + "Bhutan Air\n", + "10:55\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "12:40\n", + "Kathmandu\n", + "₹ 4,742\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1186 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Bhutan Air\n", + "B3 774\n", + "10:55\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "12:40\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 4,742\n", + "Base Fare\n", + "₹ 400\n", + "Surcharges\n", + "₹ 4,342\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Fare Option 1\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "15 Kgs\n", + "Non-refundable fare\n", + "Not allowed\n", + "₹ 4,742\n", + "Book Now\n", + "Nepal Airlines\n", + "16:20\n", + "New Delhi\n", + "01\n", + "h\n", + "35\n", + "m\n", + "Non stop\n", + "18:10\n", + "Kathmandu\n", + "₹ 4,917\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Nepal Airlines\n", + "RA 218\n", + "16:20\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "35\n", + "m\n", + "18:10\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 4,917\n", + "Base Fare\n", + "₹ 310\n", + "Surcharges\n", + "₹ 4,607\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Fare Option 1\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "₹ 4,917\n", + "Book Now\n", + "SpiceJet\n", + "08:10\n", + "New Delhi\n", + "01\n", + "h\n", + "30\n", + "m\n", + "Non stop\n", + "09:55\n", + "Kathmandu\n", + "₹ 5,130\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "SpiceJet\n", + "SG 41\n", + "08:10\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "30\n", + "m\n", + "09:55\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,130\n", + "Base Fare\n", + "₹ 2,925\n", + "Surcharges\n", + "₹ 2,205\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Spicesaver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 5,130\n", + "Book Now\n", + "GO\n", + "SPECIAL\n", + "Fare by Goibibo\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 4,740\n", + "Book Now\n", + "Spiceflex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Chargeable\n", + "----\n", + "₹ 5,656\n", + "Book Now\n", + "Spicemax\n", + "Extra legroom, priority services.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,500\n", + "Date Change fee starting ₹ 3,750\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,940\n", + "Book Now\n", + "IndiGo\n", + "07:50\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "09:50\n", + "Kathmandu\n", + "11:05\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "13:40\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "15:40\n", + "Kathmandu\n", + "More Timing Options\n", + "₹ 5,210\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 900 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E 1151\n", + "07:50\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "09:50\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,210\n", + "Base Fare\n", + "₹ 3,027\n", + "Surcharges\n", + "₹ 2,183\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Saver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,300\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,210\n", + "Book Now\n", + "GO\n", + "SPECIAL\n", + "Fare by Goibibo\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,300\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 4,820\n", + "Book Now\n", + "Flexi plus\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,209\n", + "Date Change fee starting ₹ 1,999\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,315\n", + "Book Now\n", + "SUPER 6E\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "25 Kgs\n", + "Cancellation Fee Starting ₹ 2,999\n", + "Date Change fee starting ₹ 649\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,995\n", + "Book Now\n", + "Air India\n", + "05:00\n", + "New Delhi\n", + "01\n", + "h\n", + "20\n", + "m\n", + "Non stop\n", + "06:35\n", + "Kathmandu\n", + "₹ 5,352\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI 215\n", + "05:00\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "20\n", + "m\n", + "06:35\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Premium classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 2,500\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,977\n", + "Book Now\n", + "Premium flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,097\n", + "Book Now\n", + "Air India\n", + "07:00\n", + "New Delhi\n", + "01\n", + "h\n", + "50\n", + "m\n", + "Non stop\n", + "09:05\n", + "Kathmandu\n", + "11:00\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "13:00\n", + "Kathmandu\n", + "₹ 5,352\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI 213\n", + "07:00\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "50\n", + "m\n", + "09:05\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,452\n", + "Book Now\n", + "Air India\n", + "14:30\n", + "New Delhi\n", + "01\n", + "h\n", + "45\n", + "m\n", + "Non stop\n", + "16:30\n", + "Kathmandu\n", + "₹ 5,352\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI 2219\n", + "14:30\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "45\n", + "m\n", + "16:30\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Premium classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 2,500\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,977\n", + "Book Now\n", + "Premium flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 8,097\n", + "Book Now\n", + "Air India\n", + "18:10\n", + "New Delhi\n", + "01\n", + "h\n", + "40\n", + "m\n", + "Non stop\n", + "20:05\n", + "Kathmandu\n", + "₹ 5,352\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Non Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI 211\n", + "18:10\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "01\n", + "h\n", + "40\n", + "m\n", + "20:05\n", + "Wed, 16 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,352\n", + "Base Fare\n", + "₹ 3,050\n", + "Surcharges\n", + "₹ 2,302\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Non-refundable fare\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,352\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 3,500\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 5,877\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,452\n", + "Book Now\n", + "IndiGo\n", + "07:00\n", + "New Delhi\n", + "06\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "06:00\n", + "New Delhi\n", + "07\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "05:00\n", + "New Delhi\n", + "08\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "04:00\n", + "New Delhi\n", + "09\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "01:55\n", + "New Delhi\n", + "11\n", + "h\n", + "55\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "23:30\n", + "New Delhi\n", + "14\n", + "h\n", + "20\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "22:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "21:00\n", + "New Delhi\n", + "16\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "17\n", + "h\n", + "50\n", + "m\n", + "1Mumbai\n", + "14:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "₹ 5,577\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 900 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "IndiGo\n", + "6E 6814\n", + "07:00\n", + "Wed, 16 Jul 25\n", + "Terminal T1\n", + "New Delhi, India\n", + "02\n", + "h\n", + "15\n", + "m\n", + "09:15\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "IndiGo\n", + "6E 1157\n", + "11:05\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Mumbai, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "14:05\n", + "Wed, 16 Jul 25\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 5,577\n", + "Base Fare\n", + "₹ 3,327\n", + "Surcharges\n", + "₹ 2,250\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Saver\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,999\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,577\n", + "Book Now\n", + "GO\n", + "SPECIAL\n", + "Fare by Goibibo\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 4,999\n", + "Date Change fee starting ₹ 2,999\n", + "Chargeable\n", + "Chargeable\n", + "₹ 5,187\n", + "Book Now\n", + "Flexi plus\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 5,999\n", + "Date Change fee starting ₹ 1,999\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 6,627\n", + "Book Now\n", + "SUPER 6E\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "25 Kgs\n", + "Cancellation Fee Starting ₹ 2,999\n", + "Date Change fee starting ₹ 649\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 7,362\n", + "Book Now\n", + "Air India\n", + "20:30\n", + "New Delhi\n", + "11\n", + "h\n", + "20\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "20:00\n", + "New Delhi\n", + "11\n", + "h\n", + "50\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "16:00\n", + "New Delhi\n", + "15\n", + "h\n", + "50\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "15:30\n", + "New Delhi\n", + "16\n", + "h\n", + "20\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "14:10\n", + "New Delhi\n", + "17\n", + "h\n", + "40\n", + "m\n", + "1Bengaluru\n", + "08:05\n", + "Kathmandu\n", + "+ 1 DAY\n", + "More Timing Options\n", + "₹ 10,308\n", + "VIEW FARES\n", + "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", + "Partially Refundable\n", + "View Flight Details\n", + "FLIGHT DETAILS\n", + "FARE SUMMARY\n", + "CANCELLATION\n", + "DATE CHANGE\n", + "New Delhi to Kathmandu , 16 Jul\n", + "Air India\n", + "AI 2807\n", + "20:30\n", + "Wed, 16 Jul 25\n", + "Terminal T3\n", + "New Delhi, India\n", + "02\n", + "h\n", + "55\n", + "m\n", + "23:25\n", + "Wed, 16 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Air India\n", + "AI 9187 | Operated By Air India Express\n", + "05:05\n", + "Thu, 17 Jul 25\n", + "Terminal T2\n", + "Bengaluru, India\n", + "02\n", + "h\n", + "45\n", + "m\n", + "08:05\n", + "Thu, 17 Jul 25\n", + "Terminal I\n", + "Kathmandu, Nepal\n", + "BAGGAGE :\n", + "CHECK IN\n", + "CABIN\n", + "Information not available\n", + "Fare breakup\n", + "TOTAL\n", + "₹ 10,308\n", + "Base Fare\n", + "₹ 7,600\n", + "Surcharges\n", + "₹ 2,708\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "Sorry! Fare rules could not be fetched at the moment.\n", + "FARES\n", + "Cabin bag\n", + "Check-in\n", + "Cancellation\n", + "Date Change\n", + "Seat\n", + "Meal\n", + "Eco value\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee starting\n", + "₹ 4,000\n", + "Date Change Fee starting\n", + "₹ 3,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 10,308\n", + "Book Now\n", + "Eco classic\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "20 Kgs\n", + "Cancellation Fee Starting ₹ 2,000\n", + "Date Change Fee starting\n", + "₹ 1,000\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 10,833\n", + "Book Now\n", + "Eco flex\n", + "Fare offered by airline.\n", + "7 Kgs\n", + "30 Kgs\n", + "Cancellation Fee starting\n", + "₹ 1,000\n", + "Free date change allowed\n", + "Free seats available\n", + "Get complimentary meals\n", + "₹ 12,408\n", + "Book Now\n", + "Load More Flights\n", + "Delhi Kathmandu Cheap Flights\n", + "Fare\n", + "Date\n", + "Lowest Airfare Today\n", + "Rs\n", + "4917\n", + "12 Jul\n", + "Cheapest Fare Within 30 Days\n", + "Rs\n", + "4742\n", + "16 Jul\n", + "Cheapest Fare Within 90 Days\n", + "Rs\n", + "4742\n", + "16 Jul\n", + "Cheapest Fare Within 365 Days\n", + "Rs\n", + "4742\n", + "16 Jul\n", + "Delhi to Kathmandu Flights\n", + "Searching for Delhi to Kathmandu cheap flights? Then, Goibibo is your one-stop destination to book Delhi to Kathmandu flight in a hassle-free manner. It is one such platform that brings forth all the options for you at one place and lets you book the most suitable flight with the best deals and offers.\n", + "There is no dearth of options when it comes to Delhi to Kathmandu Flight booking. Several budget and premium airlines fly on this route. You can easily check the\n", + "Delhi to Kathmandu flight schedule\n", + "on Goibibo. There are approximately 61 flights flying daily between Delhi and Kathmandu from early morning to late at night. Out of these Delhi to Kathmandu flight, 11 are non stop flights 50 are connecting flights. Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines are some major airlines that fly between Delhi and Kathmandu.\n", + "The lowest airfare of Delhi to Kathmandu flight is ₹5130 and the average airfare is 11062 depending on the airline, timings and availability. So, it is advisable to book domestic flights 2-3 weeks well in advance to avail minimum airfare. You can also book Delhi to Kathmandu cheap flights if you are flexible with your dates and timings.\n", + "You will board your Delhi to Kathmandu flight from the Indira Gandhi International Airport and deboard it at Tribhuvan International Airport.\n", + "You cannot only book Delhi to Kathmandu cheap flight tickets through Goibibo but can also do web check-in and track your\n", + "flight status\n", + ".\n", + "How to book a Delhi to Kathmandu flight ticket on Goibibo?\n", + "Booking flight tickets on Goibibo is very simple. For a Delhi to Kathmandu flight, check below:\n", + "Enter your personal Goibibo account by hitting the ā€˜Sign In’ option on the top right of the desktop site. You can also create a new account by clicking on the ā€˜Sign Up’ option, followed by entering your mobile number or signing in with your personal Facebook account.\n", + "On the Goibibo homepage, you will see three options for booking flight tickets from Delhi to Kathmandu. Choose one among one-way, round trip or multicity flights.\n", + "Fill in the city where you will board your flight from and the destination city. Choose a date of departure and enter the return date if you are booking a round trip flight. Select your preferred class of travel and add the number of passengers with whom you are travelling.\n", + "Hit the ā€˜Search’ button.\n", + "Within a second or two, you will be then redirected to another page with all the flights from Delhi to Kathmandu – the topmost one will have the cheapest airfare.\n", + "On the left, you will find filters such as your desired time to board a flight, direct or connecting flights and the airline.\n", + "Apply as per your preference and click on the ā€˜Book’ option.\n", + "You can opt for an airport transfer and even choose a Travel Protection plan.\n", + "Before making the final payment, provide your personal details including your email address and mobile number. You can also use an available Promo Code FLYDREAM to get Rs 1500 as instant discount for your Delhi to Kathmandu flight ticket.\n", + "Click on the ā€˜Proceed’ button.\n", + "After the payment, you will receive the e-ticket and the invoice for your Delhi to Kathmandu flight on your email address.\n", + "How can I check the flight schedule for a Delhi to Kathmandu flight?\n", + "To check the Delhi to Kathmandu flight schedule,\n", + "Visit\n", + "https://www.goibibo.com/flight-schedule/\n", + "Choose from the one-way, round trip and multicity flight options.\n", + "Type in the cities of origin and arrival, and choose the date of departure for a one-way flight, the return date, in case, you have selected a round-trip or, the different dates of departures for a multicity booking.\n", + "After clicking on the ā€˜Get Set Go’ option, you will get the real-time flight schedule.\n", + "How much baggage can I carry on my Delhi to Kathmandu flight?\n", + "Baggage allowance depends on the class of travel and airline. In the Delhi to Kathmandu Air India flight, 25 kg of checked baggage is allowed, while 8 kg of hand luggage is permitted. On the other hand, in all domestic IndiGo flights, a passenger can carry 7 kg of hand luggage and 15 kg of checked baggage.\n", + "Where will I board my flight at Delhi and deboard at Kathmandu?\n", + "When you have booked a Delhi to Kathmandu flight, you will board the flight at Indira Gandhi International Airport and de-board at Tribhuvan International Airport.\n", + "How can I do web check-in for my upcoming Delhi at Kathmandu flight?\n", + "To avail the web check-in service and avoid queues at airports, you have to visit the official airline websites. Commonly, you have to fill the cities of departure and arrival, PNR number and last name to select your preferred seats and meals.\n", + "Get cheap flights from Delhi to Kathmandu with Goibibo India\n", + "Q: Why choose Goibibo for your flight booking from Delhi to Kathmandu?\n", + "A: Goibibo lets you search and compare flight tickets to various destinations with just a click. There is a huge inventory of airlines for you to choose from, and exciting deals and discounts so that you can book your flight tickets at reasonable prices. You can always reach out to Goibibo customer care for any help.\n", + "Q: How to get a cheap flight ticket from Delhi to Kathmandu?\n", + "A: At Goibibio, it’s very simple to find cheap flights. • After entering the source and destination on the home page, you will get a list of flights. Click on the ā€˜Cheapest’ filter below to see the cheapest flights first. • You can also grab a cheap flight booking by setting up an alert for Delhi to Kathmandu flights. Goibibo will let you know whenever there is a price drop for your flight. What’s the best time to book a flight from Delhi to Kathmandu? • For a cheap domestic flight, try booking 3-4 weeks in advance. • For an international flight, you must book at least 7-8 weeks ahead for a better price. • You can also check the calendar view while booking to compare the prices for various dates. • Set up a price alert to get notified about the best prices for your flight from Delhi to Kathmandu.\n", + "Q: What should you keep in mind while booking a flight from Delhi to Kathmandu?\n", + "A: At Goibibo, you can compare flights from all major airlines at one go. Always keep an eye out for the best offers on your Delhi to Kathmandu flight. Plus, there are no hidden charges when you book a Delhi to Kathmandu flight on Goibibo.\n", + "Q: Is there any discount on a flight booking from Delhi to Kathmandu?\n", + "A: Goibibo always has discount offers running on flights. You can find many coupons on the website and app for your Delhi to Kathmandu booking. While booking, you can choose the best coupon from the list for an instant discount on your tickets.\n", + "About Kathmandu\n", + "Nestled beautifully in the lap of Himalayas, Kathmandu, the capital city of Nepal is rich in history and culture. This beautiful and scenic city is dotted with Hindu shrines, Buddhist temples, ancient monuments, stupas, monasteries, museums, art galleries and vibrant cafes. Home to some UNESCO World Heritage Sites, Kathmandu is a famous tourist destination. Whether you are on honeymoon, family trip or adventure trip, Kathmandu has something for every traveller.\n", + "Best Time to Visit\n", + "The months from September to November are considered best to visit Kathmandu. The weather remains pleasant and ideal for sightseeing and outdoor activities. You can also witness festivals like Dashain and Tihar during this time which are celebrated with great spirit.\n", + "Places to Visit\n", + "Being a major tourist destination in Nepal, Kathmandu boasts of many tourist spots.\n", + "Pashupatinath Temple\n", + ",\n", + "Boudhanath Stupa\n", + ", Swayambhunath Temple, Kopan Monastery and the Changu Narayan are some of the prominent religious sites. Natural Art History Museum, Taragaon Museum, National Art Gallery, Nepali Art Council Gallery and Kaiser Library are good to visit if you are art and history lover. For adventure enthusiasts, there are many hiking and trekking trails around Kathmandu Valley.\n", + "Durbar Square\n", + ",\n", + "Garden of Dreams\n", + ", Hanuman Dhoka and Langtang National Park are other notable attractions. Kathmandu is a shopper’s paradise that offers a wide range of merchandise. Cashmere shawls, thangkas, singing bowls, beads, jewellery, Nepali tea and handicrafts, rice paper products and trekking gear are perfect takeaways from Kathmandu.\n", + "Thamel\n", + ", New Road, Durbar Marg, Indra Chowk and Asan Bazaar are some of the popular shopping hotspots. From Goibibo you can book any\n", + "hotel in Kathmandu\n", + ".\n", + "Hotels and Restaurants\n", + "As this city is rich in culture, Kathmandu offers a wide variety of dining options ranging from fine-dine restaurants to local eateries. Momo is a popular food in Kathmandu that is easily available in almost all local food joints.\n", + "Juju Dhau, Sel Roti\n", + "and\n", + "Khajuri\n", + "are some other local food items that you must try. Ghar-e-Kabab, Thamel House Restaurant, New Everest Momo Center, Corner Cafe, Momo Star and Rama’s Kitchen are some recommended places.\n", + "Kathmandu offers all kind of accommodation options for stay. Right from\n", + "Budget Hotels in Kathmandu\n", + "to\n", + "5 star Hotels in Kathmandu\n", + ", from\n", + "Resorts in Kathmandu\n", + "to\n", + "service apartments in Kathmandu\n", + ", one can find multiple options as per their need and pocket. Goibibo being the leading travel website has largest collection of hotels on its platform. Popular locations in Kathmandu for stay are\n", + "near Kathmandu Airport\n", + ",\n", + "Pashupatinath Temple\n", + ",\n", + "Thamel\n", + ",\n", + "Darbar Marg\n", + "and\n", + "Boudhnath\n", + ". It is very easy and convenient to compare and\n", + "book hotels online\n", + "on Goibibo.\n", + "Transportation\n", + "Being the capital city, Kathmandu is well connected to other parts of the world by air. Kathmandu can be reached by air, road and rail from India.\n", + "Kathmandu’s Tribhuvan International Airport\n", + "(KTM), which is around 6 km from the city centre is the only international airport in the country & serves many\n", + "international flights\n", + ". Popular airlines like Air India, Indigo,\n", + "Nepal Airlines\n", + ", Etihad Airways,\n", + "Qatar Airways\n", + ",\n", + "Turkish Airlines\n", + ",\n", + "Malaysian Airlines\n", + "and a few others connect Kathmandu to major cities of countries like India, Thailand, UAE, Turkey, Malaysia and Singapore.\n", + "Cheap flight tickets\n", + "from here to other popular cities can be booked online on Goibibo. Also, flight status & other details related to flight booking & air tickets can be easily accessed on it. So for cheapest air tickets, it is recommended to book flights online. If you want to travel to Kathmandu from India by train, then\n", + "Gorakhpur\n", + "in UP is the nearest railway station. You can commute to Kathmandu via road from Gorakhpur. Travelling to Kathmandu from India via road is an easy and cost-friendly option. There are several buses to and from Kathmandu that traverse cities like Varanasi, Darjeeling, Lucknow, Patna and Gorakhpur. Cabs, auto-rickshaws and minibuses are best options to travel within the city.\n", + "Airport Address\n", + "Tribhuvan International Airport\n", + "Tel: +97714477161\n", + "About Delhi\n", + "The country’s capital, New Delhi is the largest commercial city of northern India. A vast historical background, significant bureaucratic environment and phenomenal lifestyle of Delhiites are what define the city. With the presence of foreign embassies and important government organization headquarters, the administrative importance and supremacy of the city cannot be neglected. From numerous age-old monuments, religious sites, fascinating local markets and glittering cafes, the city has unique facets to itself that attract a large number of domestic and international travelers alike. In each of its forms, New Delhi is a city that binds within itself pride, warmth and contentment.\n", + "Best Time to Visit\n", + "The months of October, November, February and March are the ideal months to visit the city as the weather remains pleasant and is fit for sightseeing. To avoidĀ inconvenience it is always recommended to book hotels in Delhi from Goibibo.\n", + "Hotels & Restaurants\n", + "The city is rightly called a food lover’s paradise, be it the small eateries or chic cafes, the food served is a complete delight to taste buds. While the city is abuzz with restaurants and cafes serving local and international cuisine, some of the famous ones are Kake da Hotel, Parikrama, Hauz Khas Social and Punjab Grill.\n", + "Delhi offers all kind of accommodation options for stay. Right fromĀ  Budget Hotels in DelhiĀ toĀ  Luxury Hotels in DelhiĀ /Ā  Resorts in Delhi, fromĀ  5 star Delhi hotelsĀ toĀ  service apartments, one can find multiple options as per their need and pocket. Goibibo being the leading travel website has largest collection of hotels on its platform. One can easily find various collection of hotels as well on Goibibo, likeĀ  couple friendly hotels in DelhiĀ toĀ  hotels preferred by Business travellersĀ in Delhi, similarlyĀ  hotels preferred by studentsĀ and also the onesĀ  preferred by women. Popular locations in Delhi for stay areĀ near Delhi Airport, Karol Bagh, Mahipalpur, SaketĀ andĀ  Greater Kailash. It is very easy and convenient to compare andĀ  book hotels onlineĀ on Goibibo.\n", + "Places to Visit\n", + "India Gate, Rashtrapati Bhawan, Sansad Bhavan and National War Memorial are some of the prime attractions of the city that depict its high political quotient. Qutub Minar, Humayun’s Tomb, Safdarjung Tomb, Jantar Mantar and Purana Qila are some of the fine examples of the great architecture of ancient times. Lodhi Garden, Hauz Khas Fort, Akshardham Temple and National Rail Museum are a few attractive spots where you can spend a good amount of time. The mouth-watering street food of the city will be a feast to your taste buds. The famous markets such as Lajpat Nagar, Janpath, Sarojini Nagar Market, Rajouri Garden and Khan Market will offer you amazing shopping experience.\n", + "Transportation\n", + "Travelling to the city is a hassle-free task as there is a robust air, rail and road transportation network that connects it to the rest of the cities. Airways being the most convenient transportation mode, the city hosts the Indira Gandhi International Airport (DEL), which is the country's busiest airport in terms of passenger traffic & is a major hub for domestic flights as well as International flights.Ā  Cheap flight tickets from here to other popular cities can be booked online via various websites. Also, flight status & other details related to flight booking & air tickets can be easily accessed on these websites. So for cheapest air tickets, it is recommended to book flights online. The airport has three active terminals and approximately 80 airlines fly their aircraft from here. The international operations are carried from Terminal 3 and the domestic operations are primarily carried out from all the terminals by different airlines. Airlines like Indigo, GoAir, SpiceJet, Air India and Vistara fly the maximum number of domestic routes and airlines like Etihad Airways, Thai Airways and Emirates are some of the airlines operating international flights. Talking about the rail network, the city has three major railway stations namely New Delhi Railway Station, Nizamuddin Railway Station and Old Delhi Railway Station.\n", + "Airport Address\n", + "Indira Gandhi International Airport\n", + "Indira Gandhi International Airport,Domestic terminal,Terminal 1-B,New Delhi-110 037,ENQUIRIES PHONE NUMBER: (91) 11 25661080, FLIGHT INFORMATION NO: (91) 11 25601000 (DOM)/ (91) 11 25602000 (INT)\n", + "Frequently Asked Questions - Delhi to Kathmandu Flights\n", + "Q: Which airline has maximum number for flights between Delhi to Kathmandu?\n", + "A: Out of 61 daily flights between Delhi to Kathmandu IndiGo has maximum 21 flights. After that Air India has 18, Thai Airways has 4, Air Arabia has 3, Air India Express has 3, Cathay Pacific has 2, Flydubai has 2, Turkish Airlines has 2, Bhutan Air has 1, Malaysia Airlines has 1, Nepal Airlines has 1, Singapore Airlines has 1, SpiceJet has 1, Srilankan Airlines has 1 flights between Delhi to Kathmandu.\n", + "Q: What is today’s cheapest fare from Delhi to Kathmandu?\n", + "A: Today lowest airfare on Delhi to Kathmandu flight route is 4917.\n", + "Q: Which are the most preferred airlines from Delhi to Kathmandu ?\n", + "A: Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines are the most preferred airlines on Delhi to Kathmandu flight route.\n", + "Q: What are the name and codes for Delhi and Kathmandu airports?\n", + "A: The name of Delhi airport is Indira Gandhi International Airport and its code is DEL and name of Kathmandu Airport is Tribhuvan International Airport, its code is KTM.\n", + "Q: How many flights fly from Delhi to Kathmandu on the daily basis?\n", + "A: Around 61 flights are flying daily from Delhi to Kathmandu. Out of which 11 are direct and 50 are connecting flights on this route. Some major airlines between this route are Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines.\n", + "Q: Which is the cheapest flight from Delhi to Kathmandu in next 7 and next 30 days?\n", + "A: Cheapest flight in next 7 days on Delhi to Kathmandu route is at ₹4742. And in next 30 days lowest price on Delhi to Kathmandu route is ₹4742.\n", + "Q: Which is the last flight on Delhi to Kathmandu route?\n", + "A: The last flight from Delhi to Kathmandu route is Air India Express at 23:55.\n", + "Q: When does the first flight leave from Delhi to Kathmandu?\n", + "A: The first flight from Delhi to Kathmandu is Cathay Pacific at 01:15.\n", + "x\n", + "Exclusive Deals For You!\n", + "More discounts for your flight\n", + "Up to Rs 10,000 OFF\n", + "Instant Discount\n", + "For All Users on\n", + "International Return Flight\n", + "Bookings\n", + "GOINTL\n", + "copy code\n", + "Up to Rs 5,000 OFF\n", + "Instant Discount\n", + "For All Users on\n", + "International One-Way Flight\n", + "Bookings\n", + "GOINTL\n", + "copy code\n", + "Our Products\n", + "Domestic Hotels\n", + "International Hotels\n", + "Domestic Flights\n", + "International Flights\n", + "Bus Booking\n", + "Cab Booking\n", + "Train Ticket Booking\n", + "Route Planner\n", + "Destination Planner\n", + "Cheap Flights\n", + "Train Running Status\n", + "Train PNR Status\n", + "Airport Cabs\n", + "Hotels in India\n", + "Hotels Near Me\n", + "Popular Airlines\n", + "IRCTC Forgot UserID\n", + "IRCTC Forgot Password\n", + "Company\n", + "About Us\n", + "Terms & Conditions\n", + "User Agreement\n", + "Privacy\n", + "Contact Us\n", + "Careers\n", + "Corporate Social Responsibility\n", + "Goibibo on Mobile\n", + "Goibibo TV Advertisement\n", + "Technology@Goibibo\n", + "FAQs\n", + "TRENDING INTERNATIONAL ROUTES\n", + "Delhi to Dubai Flight\n", + "Mumbai to Dubai Flight\n", + "Delhi to Denpasar Bali Flight\n", + "Delhi to Bangkok Flight\n", + "Delhi to Toronto Flight\n", + "Mumbai to Male Flight\n", + "Mumbai to Denpasar Bali Flight\n", + "Delhi to Male Flight\n", + "Ahmedabad to Toronto Flight\n", + "Delhi to Denpasar Bali Flight\n", + "Bangalore to Male Flight\n", + "Chennai to Dubai Flight\n", + "Kolkata to Bangkok Flight\n", + "Mumbai to Toronto Flight\n", + "Delhi to London Flight\n", + "Mumbai to Bangkok Flight\n", + "Bangalore to Bangkok Flight\n", + "Chennai to Colombo Flight\n", + "Delhi to Australia Flight\n", + "Tiruchirappalli to Dubai Flight\n", + "TOP INTERNATIONAL ROUTES\n", + "Ahmedabad to Dubai Flight\n", + "Chennai to Singapore Flight\n", + "Delhi to Mauritius Flight\n", + "Bangalore to Dubai Flight\n", + "Dubai to Delhi Flight\n", + "Kolkata to Male Flight\n", + "Mumbai to London Flight\n", + "Delhi to Seoul Flight\n", + "Bangalore to Denpasar Bali Flight\n", + "Hyderabad to Male Flight\n", + "Chennai to Bangkok Flight\n", + "Ahmedabad to Bangkok Flight\n", + "Delhi to Kathmandu Flight\n", + "Delhi to Hanoi Flight\n", + "Hyderabad to Dubai Flight\n", + "Chennai to Male Flight\n", + "Mumbai to Singapore Flight\n", + "Pune to Denpasar Bali Flight\n", + "Bangalore to Singapore Flight\n", + "Lucknow to Dubai Flight\n", + "Kolkata to Denpasar Bali Flight\n", + "Muscat to Mumbai Flight\n", + "POPULAR INTERNATIONAL ROUTES\n", + "Ernakulam to Male Flight\n", + "Bangalore to Kuala Lumpur Flight\n", + "Kolkata to Dhaka Flight\n", + "Mumbai to New York Flight\n", + "Delhi to Singapore Flight\n", + "Delhi to Riyadh Flight\n", + "Dubai to Hyderabad Flight\n", + "Delhi to Kathmandu Flight\n", + "Kolkata to Dubai Flight\n", + "Amritsar to Dubai Flight\n", + "Dhaka to Kolkata Flight\n", + "Delhi to New York Flight\n", + "Delhi to Jakarta Flight\n", + "Dubai to Mumbai Flight\n", + "Chennai to Denpasar Bali Flight\n", + "Dubai to Chennai Flight\n", + "Ahmedabad to London Flight\n", + "Tiruchirappalli to Singapore Flight\n", + "Lucknow to Riyadh Flight\n", + "Delhi to Vancouver Flight\n", + "Delhi to Auckland Flight\n", + "Ahmedabad to Male Flight\n", + "Important International Routes\n", + "Chennai to Toronto Flight\n", + "Jaipur to Dubai Flight\n", + "Delhi to Kuala Lumpur Flight\n", + "Bangalore to Kathmandu Flight\n", + "Doha to Delhi Flight\n", + "Ahmedabad to Denpasar Bali Flight\n", + "Pune to Dubai Flight\n", + "Mumbai to Doha Flight\n", + "Tiruchirappalli to Kuala Lumpur Flight\n", + "Chennai to Kuala Lumpur Flight\n", + "Amritsar to toronto Flight\n", + "Mumbai to Auckland Flight\n", + "Delhi to Tokyo Flight\n", + "Hyderabad to London Flight\n", + "Chandigarh to Dubai Flight\n", + "Muscat to Delhi Flight\n", + "Muscat to Chennai Flight\n", + "Delhi to Paris Flight\n", + "Kathmandu to New Delhi Flight\n", + "Visakhapatnam to Bangkok Flight\n", + "Delhi to Moscow Flight\n", + "Bangalore to Toronto Flight\n", + "INTERNATIONAL FLIGHTS\n", + "Delhi to Istanbul Flight\n", + "Hyderabad to Toronto Flight\n", + "Mumbai to Kathmandu Flight\n", + "Delhi to Rome Flight\n", + "Mumbai to Colombo Flight\n", + "Delhi to Zurich Flight\n", + "Delhi to Hong Kong Flight\n", + "Dhaka to Chennai Flight\n", + "Kathmandu to Delhi Flight\n", + "Bangalore to London Flight\n", + "Delhi to Manila Flight\n", + "Mumbai to Mauritius Flight\n", + "Hyderabad to Bangkok Flight\n", + "Chennai to Doha Flight\n", + "Muscat to Thiruvananthapuram Flight\n", + "Delhi to Melbourne Flight\n", + "Kuwait City to Delhi Flight\n", + "Indore to Dubai Flight\n", + "Mumbai to Zurich Flight\n", + "Kuala Lumpur to Chennai Flight\n", + "Mumbai to Tokyo Flight\n", + "\n", + "\n", + "\n", + "Title: Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...\n", + "Webpage Title:\n", + "Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip.com\n", + "Webpage Contents:\n", + "Ɨ\n", + "LOGIN OR SIGNUP\n", + "FLIGHTS\n", + "HOTELS\n", + "FLIGHT+HOTEL\n", + "TRAINS\n", + "BUS\n", + "HOLIDAYS\n", + "CABS\n", + "Activities\n", + "Visa\n", + "More\n", + "EaseMyTrip Cards\n", + "Apply now to get Rewards\n", + "EasyEloped\n", + "For Romantic Getaways\n", + "EasyDarshan\n", + "Spiritual Tours in India\n", + "Airport service\n", + "Enjoy airport service\n", + "Duty free\n", + "Gift Card\n", + "Buy giftcards here\n", + "Offers\n", + "Check Best latest offers\n", + "Customer Service\n", + "Call Support\n", + "Tel : 011 - 43131313, 43030303\n", + "Mail Support\n", + "Care@easemytrip.com\n", + "Login or Signup\n", + "Customer Login\n", + "Login & check bookings\n", + "Corporate Travel\n", + "Login corporate account\n", + "Agent Login\n", + "Login your agent account\n", + "My Booking\n", + "Manage your bookings here\n", + "Hi,\n", + "abc\n", + "My Profile\n", + "Manage your profile, and password\n", + "EMT Wallet\n", + "Use your wallet money to avail disounts\n", + "My Booking\n", + "Manage your bookings here\n", + "Log Out\n", + "Logout your profile\n", + "YOGI\n", + "A/C Balance\n", + "546546\n", + "Statement Balance\n", + "354546\n", + "Log Out\n", + "Logout your profile\n", + "Login or Create an account\n", + "Ɨ\n", + "+91\n", + "Afghanistan\n", + "+93\n", + "Albania\n", + "+355\n", + "Algeria\n", + "+213\n", + "American Samoa\n", + "+1684\n", + "Andorra\n", + "+376\n", + "Angola\n", + "+244\n", + "Anguilla\n", + "+1264\n", + "Antigua and Barbuda\n", + "+1268\n", + "Argentina\n", + "+54\n", + "Armenia\n", + "+374\n", + "Aruba\n", + "+297\n", + "Australia\n", + "+61\n", + "Austria\n", + "+43\n", + "Azerbaijan\n", + "+994\n", + "Bahamas\n", + "+1242\n", + "Bahrain\n", + "+973\n", + "Bangladesh\n", + "+880\n", + "Barbados\n", + "+1246\n", + "Belarus\n", + "+375\n", + "Belgium\n", + "+32\n", + "Belize\n", + "+501\n", + "Benin\n", + "+229\n", + "Bermuda\n", + "+1441\n", + "Bhutan\n", + "+975\n", + "Bolivia\n", + "+591\n", + "Bosnia and Herzegovina\n", + "+387\n", + "Botswana\n", + "+267\n", + "Brazil\n", + "+55\n", + "Brunei Darussalam\n", + "+673\n", + "Bulgaria\n", + "+359\n", + "Burkina Faso\n", + "+226\n", + "Burundi\n", + "+257\n", + "Cambodia\n", + "+855\n", + "Cameroon\n", + "+237\n", + "Canada\n", + "+1\n", + "Cape Verde\n", + "+238\n", + "Cayman Islands\n", + "+1345\n", + "Central African Republic\n", + "+236\n", + "Chad\n", + "+235\n", + "Chile\n", + "+56\n", + "China\n", + "+86\n", + "Colombia\n", + "+57\n", + "Comoros\n", + "+269\n", + "Congo (DRC)\n", + "+243\n", + "Congo (Republic)\n", + "+242\n", + "Cook Islands\n", + "+682\n", + "Costa Rica\n", + "+506\n", + "CĆ“te d'Ivoire\n", + "+225\n", + "Croatia\n", + "+385\n", + "Cuba\n", + "+53\n", + "Cyprus\n", + "+357\n", + "Czech Republic\n", + "+420\n", + "Denmark\n", + "+45\n", + "Djibouti\n", + "+253\n", + "Dominica\n", + "+1767\n", + "Dominican Republic\n", + "+1809\n", + "Ecuador\n", + "+593\n", + "Egypt\n", + "+20\n", + "El Salvador\n", + "+503\n", + "Equatorial Guinea\n", + "+240\n", + "Eritrea\n", + "+291\n", + "Estonia\n", + "+372\n", + "Ethiopia\n", + "+251\n", + "Faroe Islands\n", + "+298\n", + "Fiji\n", + "+679\n", + "Finland\n", + "+358\n", + "France\n", + "+33\n", + "French Polynesia\n", + "+689\n", + "Gabon\n", + "+241\n", + "Gambia\n", + "+220\n", + "Georgia\n", + "+995\n", + "Germany\n", + "+49\n", + "Ghana\n", + "+233\n", + "Gibraltar\n", + "+350\n", + "Greece\n", + "+30\n", + "Greenland\n", + "+299\n", + "Grenada\n", + "+1473\n", + "Guadeloupe\n", + "+590\n", + "Guam\n", + "+1671\n", + "Guatemala\n", + "+502\n", + "Guernsey\n", + "+44\n", + "Guinea\n", + "+224\n", + "Guinea-Bissau\n", + "+245\n", + "Guyana\n", + "+592\n", + "Haiti\n", + "+509\n", + "Honduras\n", + "+504\n", + "Hong Kong\n", + "+852\n", + "Hungary\n", + "+36\n", + "Iceland\n", + "+354\n", + "India\n", + "+91\n", + "Indonesia\n", + "+62\n", + "Iran\n", + "+98\n", + "Iraq\n", + "+964\n", + "Ireland\n", + "+353\n", + "Isle of Man\n", + "+44\n", + "Israel\n", + "+972\n", + "Italy\n", + "+39\n", + "Jamaica\n", + "+1876\n", + "Japan\n", + "+81\n", + "Jersey\n", + "+44\n", + "Jordan\n", + "+962\n", + "Kazakhstan\n", + "+7\n", + "Kenya\n", + "+254\n", + "Kiribati\n", + "+686\n", + "Kuwait\n", + "+965\n", + "Kyrgyzstan\n", + "+996\n", + "Laos\n", + "+856\n", + "Latvia\n", + "+371\n", + "Lebanon\n", + "+961\n", + "Lesotho\n", + "+266\n", + "Liberia\n", + "+231\n", + "Libya\n", + "+218\n", + "Liechtenstein\n", + "+423\n", + "Lithuania\n", + "+370\n", + "Luxembourg\n", + "+352\n", + "Macao\n", + "+853\n", + "Macedonia\n", + "+389\n", + "Madagascar\n", + "+261\n", + "Malawi\n", + "+265\n", + "Malaysia\n", + "+60\n", + "Maldives\n", + "+960\n", + "Mali\n", + "+223\n", + "Malta\n", + "+356\n", + "Marshall Islands\n", + "+692\n", + "Martinique\n", + "+596\n", + "Mauritania\n", + "+222\n", + "Mauritius\n", + "+230\n", + "Mexico\n", + "+52\n", + "Micronesia\n", + "+691\n", + "Moldova\n", + "+373\n", + "Monaco\n", + "+377\n", + "Mongolia\n", + "+976\n", + "Montenegro\n", + "+382\n", + "Montserrat\n", + "+1664\n", + "Morocco\n", + "+212\n", + "Mozambique\n", + "+258\n", + "Myanmar (Burma)\n", + "+95\n", + "Namibia\n", + "+264\n", + "Nauru\n", + "+674\n", + "Nepal\n", + "+977\n", + "Netherlands\n", + "+31\n", + "New Caledonia\n", + "+687\n", + "New Zealand\n", + "+64\n", + "Nicaragua\n", + "+505\n", + "Niger\n", + "+227\n", + "Nigeria\n", + "+234\n", + "North Korea\n", + "+850\n", + "Norway\n", + "+47\n", + "Oman\n", + "+968\n", + "Pakistan\n", + "+92\n", + "Palau\n", + "+680\n", + "Palestinian Territory\n", + "+970\n", + "Panama\n", + "+507\n", + "Papua New Guinea\n", + "+675\n", + "Paraguay\n", + "+595\n", + "Peru\n", + "+51\n", + "Philippines\n", + "+63\n", + "Poland\n", + "+48\n", + "Portugal\n", + "+351\n", + "Puerto Rico\n", + "+1787\n", + "Qatar\n", + "+974\n", + "RĆ©union\n", + "+262\n", + "Romania\n", + "+40\n", + "Russian Federation\n", + "+7\n", + "Rwanda\n", + "+250\n", + "Saint Kitts and Nevis\n", + "+1869\n", + "Saint Lucia\n", + "+1758\n", + "Saint Vincent and the Grenadines\n", + "+1784\n", + "Samoa\n", + "+685\n", + "San Marino\n", + "+378\n", + "SĆ£o TomĆ© and PrĆ­ncipe\n", + "+239\n", + "Saudi Arabia\n", + "+966\n", + "Senegal\n", + "+221\n", + "Serbia\n", + "+381\n", + "Seychelles\n", + "+248\n", + "Sierra Leone\n", + "+232\n", + "Singapore\n", + "+65\n", + "Slovakia\n", + "+421\n", + "Slovenia\n", + "+386\n", + "Solomon Islands\n", + "+677\n", + "Somalia\n", + "+252\n", + "South Africa\n", + "+27\n", + "South Korea\n", + "+82\n", + "Spain\n", + "+34\n", + "Sri Lanka\n", + "+94\n", + "Sudan\n", + "+249\n", + "Suriname\n", + "+597\n", + "Swaziland\n", + "+268\n", + "Sweden\n", + "+46\n", + "Switzerland\n", + "+41\n", + "Syrian Arab Republic\n", + "+963\n", + "Taiwan, Province of China\n", + "+886\n", + "Tajikistan\n", + "+992\n", + "Tanzania\n", + "+255\n", + "Thailand\n", + "+66\n", + "Timor-Leste\n", + "+670\n", + "Togo\n", + "+228\n", + "Tonga\n", + "+676\n", + "Trinidad and Tobago\n", + "+1868\n", + "Tunisia\n", + "+216\n", + "Turkey\n", + "+90\n", + "Turkmenistan\n", + "+993\n", + "Turks and Caicos Islands\n", + "+1649\n", + "Tuvalu\n", + "+688\n", + "Uganda\n", + "+256\n", + "Ukraine\n", + "+380\n", + "United Arab Emirates\n", + "+971\n", + "United Kingdom\n", + "+44\n", + "United States\n", + "+1\n", + "Uruguay\n", + "+598\n", + "Uzbekistan\n", + "+998\n", + "Vanuatu\n", + "+678\n", + "Vatican City\n", + "+379\n", + "Venezuela\n", + "+58\n", + "Viet Nam\n", + "+84\n", + "Virgin Islands (British)\n", + "+1284\n", + "Virgin Islands (U.S.)\n", + "+1340\n", + "Western Sahara\n", + "+212\n", + "Yemen\n", + "+967\n", + "Zambia\n", + "+260\n", + "Zimbabwe\n", + "+263\n", + "Email ID or Mobile Number\n", + "* Enter a valid Phone Number\n", + "* Enter a valid Email\n", + "* Enter a valid Email or Phone Number\n", + "Or Login Via\n", + "Google\n", + "Facebook\n", + "Otp Authentication\n", + "Ɨ\n", + "{{UserID}}\n", + "Please enter valid OTP.\n", + "Resend OTP\n", + "OTP sent successfully\n", + "Get OTP on call request sent successfully\n", + "* Enter the valid OTP.\n", + "* YOu have done 5 attempts! Try loggin in with password!\n", + "Login with OTP\n", + "Login with Password\n", + "Password Authentication\n", + "Ɨ\n", + "Please enter correct password.\n", + "Reset Password\n", + "Login with OTP\n", + "Login with Password\n", + "Forget Password\n", + "Ɨ\n", + "Registered\n", + "Mobile Number\n", + "or\n", + "Email\n", + "* Enter a valid Phone Number\n", + "* Enter a valid Email\n", + "* Enter a valid Email or Phone Number\n", + "We will send you a reset OTP on your registered Email ID or Mobile Number\n", + "OTP Authentication\n", + "Ɨ\n", + "Registered\n", + "Mobile Number\n", + "or\n", + "Email\n", + "* Please enter valid OTP.\n", + "* Enter Password\n", + "Resend OTP\n", + "Welcome Explorer!\n", + "Ɨ\n", + "We're happy to see you. Let's start planning your next unforgettable journey.\n", + "Go to your profile\n", + "May be later\n", + "āœ–\n", + "Delhi To Kathmandu Flights\n", + "One-Way\n", + "Round-Trip\n", + "Multi-City\n", + "From\n", + "Indira Gandhi International Airport\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Chhatrapati Shivaji International Airport\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "Return Date\n", + "TRAVELLER & CLASS\n", + "1\n", + "Traveller\n", + "Economy\n", + "Adults\n", + "(12+ Years)\n", + "-\n", + "+\n", + "Children\n", + "(2-12 Years)\n", + "-\n", + "+\n", + "Infant\n", + "(0-2 Years)\n", + "-\n", + "+\n", + "Economy\n", + "Prem.Economy\n", + "Business\n", + "First\n", + "Done\n", + "Search\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "TRAVELLER & CLASS\n", + "1\n", + "Traveller\n", + "Economy\n", + "Adults\n", + "(12+ Years)\n", + "-\n", + "+\n", + "Children\n", + "(2-12 Years)\n", + "-\n", + "+\n", + "Infant\n", + "(0-2 Years)\n", + "-\n", + "+\n", + "Economy\n", + "Prem.Economy\n", + "Business\n", + "First\n", + "Done\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "+Add City\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "+Add City\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "+Add City\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "+Add City\n", + "From\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "To\n", + "Top Cities\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "Delhi\n", + "DEL\n", + "Indira Gandhi International Airport\n", + "India\n", + "DEPARTURE DATE\n", + "+Add City\n", + "Multicity Route\n", + "Defence Forces\n", + "Defence Forces\n", + "Valid for retired or serving armed/parliamentary forces along with their relatives only. To avail this benefit, passengers must show a valid ID or dependent card before flight departure.\n", + "Students\n", + "Students\n", + "Special fares and extra baggage allowance are available exclusively for students aged 12 and above. To avail the benefit, students must carry valid ID cards and student visas (if needed) before the flight departure.\n", + "Senior Citizens\n", + "Senior Citizens\n", + "Senior citizens of 60+ years are eligible for this benefit. To avail the offer, it is mandatory to have valid date of birth proof. Without proof, the passenger will be charged with fares.\n", + "Doctors & Nurses\n", + "Doctors & Nurses\n", + "This benefit is applicable for Medical professionals only. To avail it's crucial to carry valid ID at the airport before flight departure.\n", + "Home\n", + "Flights\n", + "Delhi To Kathmandu Flights\n", + "July\n", + "₹11041\n", + "August\n", + "₹4848\n", + "September\n", + "₹11138\n", + "October\n", + "₹10750\n", + "November\n", + "₹16003\n", + "December\n", + "₹7069\n", + "January\n", + "₹16003\n", + "February\n", + "₹14729\n", + "March\n", + "₹14729\n", + "April\n", + "₹16806\n", + "May\n", + "₹16806\n", + "June\n", + "₹16806\n", + "August\n", + "is by far the best month, wherein you can get cheapest flights for\n", + "Delhi to Kathmandu\n", + ". Meanwhile,\n", + "April\n", + "is perceived as the expensive month due to the varying factors. That’s why it’s highly advised to make advanced online flight booking to save huge amounts of money.\n", + "Things to know\n", + "One Way Fare\n", + "July\n", + "July- During this month the footfall is less so, the flight is gradually inexpensive.\n", + "Round Trip Fare\n", + "July\n", + "July - is the cheapest month to book round trip flights.\n", + "Cheaper Fare\n", + "₹ 4742\n", + "Cheapest Fare- Currently, this is the fare price based on the current demand.\n", + "Disclaimer\n", + "- All the mentioned fares were found within last 48 hrs. The displayed fares are based on historical data and are subject to change. The fares cannot be guaranteed at the time of booking.\n", + "Top Flights From Delhi\n", + "Delhi To Pune Flights\n", + "Delhi To Bilaspur Flights\n", + "Delhi To Goa Flights\n", + "Delhi To Rajahmundry Flights\n", + "Delhi To Kochi Flights\n", + "Cheap Flights From Delhi\n", + "Delhi To Pune Flights\n", + "Delhi To Bilaspur Flights\n", + "Delhi To Goa Flights\n", + "Delhi To Rajahmundry Flights\n", + "Delhi To Kochi Flights\n", + "Top Internatinal Flights From Delhi\n", + "Delhi To Dar Es Salaam Flights\n", + "Delhi To Mykonos Flights\n", + "Delhi To Roanoke Flights\n", + "Delhi To Birmingham Flights\n", + "Delhi To Poznan Flights\n", + "Top Internatinal Flights From Kathmandu\n", + "Kathmandu To Vadodara Flights\n", + "Kathmandu To Raipur Flights\n", + "Kathmandu To Jaipur Flights\n", + "Kathmandu To Port Blair Flights\n", + "Kathmandu To Imphal Flights\n", + "Flight Distance From Delhi\n", + "Delhi To Pune Distance\n", + "Delhi To Bilaspur Distance\n", + "Delhi To Goa Distance\n", + "Delhi To Rajahmundry Distance\n", + "Delhi To Kochi Distance\n", + "Flight Schedule From Delhi\n", + "Delhi To Pune Flight Schedule\n", + "Delhi To Bilaspur Flight Schedule\n", + "Delhi To Goa Flight Schedule\n", + "Delhi To Rajahmundry Flight Schedule\n", + "Delhi To Kochi Flight Schedule\n", + "Flights To Top Cities\n", + "Flights To Pune\n", + "Flights To Bilaspur\n", + "Flights To Goa\n", + "Flights To Rajahmundry\n", + "Flights To Kochi\n", + "Top International Flights To Cities\n", + "Flights To Dar Es Salaam\n", + "Flights To Mykonos\n", + "Flights To Roanoke\n", + "Flights To Birmingham\n", + "Flights To Poznan\n", + "Top International Flights From Cities\n", + "Flights From Vadodara\n", + "Flights From Raipur\n", + "Flights From Jaipur\n", + "Flights From Port Blair\n", + "Flights From Imphal\n", + "Airlines Tickets\n", + "Delhi To Kathmandu Bhutan Airlines Flights\n", + "Delhi To Kathmandu SpiceJet Flights\n", + "Delhi To Kathmandu Nepal Airlines Flights\n", + "Delhi To Kathmandu IndiGo Flights\n", + "Delhi To Kathmandu Air India Flights\n", + "Top Airlines\n", + "Air Asia\n", + "Air India Express\n", + "Air India\n", + "Akasa Air\n", + "British Airways\n", + "Cathay Pacific Airways\n", + "Emirates\n", + "Etihad Airways\n", + "Indigo\n", + "Lufthansa\n", + "Malaysia Airlines\n", + "Oman Air\n", + "Philippine Airlines\n", + "Qatar Airways\n", + "Saudia\n", + "Scoot\n", + "Singapore Airlines\n", + "SpiceJet\n", + "SriLankan Airlines\n", + "Thai Airways\n", + "Vietjet\n", + "Cab Route From Delhi\n", + "Delhi To Agra\n", + "Delhi To Bareilly\n", + "Delhi To Dehradun\n", + "Delhi To Rishikesh\n", + "Delhi To Jaipur\n", + "Holiday Packages in Delhi\n", + "Delhi Holiday Package\n", + "Holiday Packages in Kathmandu\n", + "Nepal Holiday Package\n", + "Spiritual Tour Packages\n", + "Chardham Tours Packages\n", + "Tirupati Tours Packages\n", + "Ujjain Tours Packages\n", + "Varanasi Tours Packages\n", + "Kailash Mansarovar Tours Packages\n", + "Delhi Airport Contact Info\n", + "Name:\n", + "Indira Gandhi International Airport\n", + "Code: DEL\n", + "Kathmandu Airport Contact Info\n", + "Name:\n", + "Tribhuvan International Airport\n", + "Code: KTM\n", + "Best Flight From Delhi To Kathmandu\n", + "Cheapest\n", + "Bhutan Airlines\n", + "DEL\n", + "10:55\n", + "Delhi Indira Gandhi International Airport\n", + "Mon , 14 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "12:40\n", + "Kathmandu Tribhuvan International Airport\n", + "Mon, 14 Jul 2025\n", + "₹4742\n", + "Book Now\n", + "Bhutan Airlines\n", + "DEL\n", + "10:55\n", + "Delhi Indira Gandhi International Airport\n", + "Wed , 16 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "12:40\n", + "Kathmandu Tribhuvan International Airport\n", + "Wed, 16 Jul 2025\n", + "₹4742\n", + "Book Now\n", + "SpiceJet\n", + "DEL\n", + "08:10\n", + "Delhi Indira Gandhi International Airport\n", + "Wed , 16 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "09:55\n", + "Kathmandu Tribhuvan International Airport\n", + "Wed, 16 Jul 2025\n", + "₹4742\n", + "Book Now\n", + "Bhutan Airlines\n", + "DEL\n", + "10:55\n", + "Delhi Indira Gandhi International Airport\n", + "Sat , 19 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "12:40\n", + "Kathmandu Tribhuvan International Airport\n", + "Sat, 19 Jul 2025\n", + "₹4742\n", + "Book Now\n", + "Nepal Airlines\n", + "DEL\n", + "16:20\n", + "Delhi Indira Gandhi International Airport\n", + "Mon , 14 Jul 2025\n", + "01h 35m\n", + "Non Stop\n", + "KTM\n", + "18:10\n", + "Kathmandu Tribhuvan International Airport\n", + "Mon, 14 Jul 2025\n", + "₹4917\n", + "Book Now\n", + "Nepal Airlines\n", + "DEL\n", + "16:20\n", + "Delhi Indira Gandhi International Airport\n", + "Tue , 15 Jul 2025\n", + "01h 35m\n", + "Non Stop\n", + "KTM\n", + "18:10\n", + "Kathmandu Tribhuvan International Airport\n", + "Tue, 15 Jul 2025\n", + "₹4917\n", + "Book Now\n", + "Nepal Airlines\n", + "DEL\n", + "16:20\n", + "Delhi Indira Gandhi International Airport\n", + "Wed , 16 Jul 2025\n", + "01h 35m\n", + "Non Stop\n", + "KTM\n", + "18:10\n", + "Kathmandu Tribhuvan International Airport\n", + "Wed, 16 Jul 2025\n", + "₹4917\n", + "Book Now\n", + "SpiceJet\n", + "DEL\n", + "08:10\n", + "Delhi Indira Gandhi International Airport\n", + "Mon , 14 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "09:55\n", + "Kathmandu Tribhuvan International Airport\n", + "Mon, 14 Jul 2025\n", + "₹5130\n", + "Book Now\n", + "SpiceJet\n", + "DEL\n", + "08:10\n", + "Delhi Indira Gandhi International Airport\n", + "Tue , 15 Jul 2025\n", + "01h 30m\n", + "Non Stop\n", + "KTM\n", + "09:55\n", + "Kathmandu Tribhuvan International Airport\n", + "Tue, 15 Jul 2025\n", + "₹5130\n", + "Book Now\n", + "IndiGo\n", + "DEL\n", + "07:50\n", + "Delhi Indira Gandhi International Airport\n", + "Mon , 14 Jul 2025\n", + "01h 45m\n", + "Non Stop\n", + "KTM\n", + "09:50\n", + "Kathmandu Tribhuvan International Airport\n", + "Mon, 14 Jul 2025\n", + "₹5210\n", + "Book Now\n", + "IndiGo\n", + "DEL\n", + "11:05\n", + "Delhi Indira Gandhi International Airport\n", + "Mon , 14 Jul 2025\n", + "01h 40m\n", + "Non Stop\n", + "KTM\n", + "13:00\n", + "Kathmandu Tribhuvan International Airport\n", + "Mon, 14 Jul 2025\n", + "₹5210\n", + "Book Now\n", + "View More\n", + "Find the Lowest Airfare Delhi to Kathmandu\n", + "Cheapest Fares\n", + "Fare\n", + "Date\n", + "Airline\n", + "Departure\n", + "Lowest Airfare\n", + "₹4742\n", + "13 July 2025\n", + "Bhutan Airlines\n", + "10:55 AM\n", + "BOOK\n", + "Cheapest Airfare Within 30 Days\n", + "₹4742\n", + "13 July 2025\n", + "Bhutan Airlines\n", + "10:55 AM\n", + "BOOK\n", + "Cheapest Airfare Within 90 Days\n", + "₹4742\n", + "13 July 2025\n", + "Bhutan Airlines\n", + "10:55 AM\n", + "BOOK\n", + "Early Morning Flight Delhi to Kathmandu\n", + "Cheapest Flight\n", + "Found\n", + "₹321475\n", + "Average Flight\n", + "Time\n", + "20h 15m\n", + "Date/Time\n", + "14 Jul 2025\n", + "01:15 AM\n", + "Airlines\n", + "Cathay Pacific airways\n", + "Late Night Flight Delhi to Kathmandu\n", + "Cheapest Flight\n", + "Found\n", + "₹9242\n", + "Average Flight\n", + "Time\n", + "07h 55m\n", + "Date/Time\n", + "14 Jul 2025\n", + "23:55 PM\n", + "Airlines\n", + "Air India Express\n", + "Best Time to Travel\n", + "How early should I book a flight ticket to get the lowest airfare from Delhi to Kathmandu?\n", + "To crack the better offer on Delhi to Kathmandu flights, it’s better to make advanced bookings at least fews weeks prior of your intended date because price might rise eventually due to the delay.\n", + "Fare\n", + "Days In Advance\n", + "Reasonable Fares\n", + "Which is the best day for booking Delhi to Kathmandu flights?\n", + "Weekdays are the best day to get low-cost flight tickets from Delhi to Kathmandu. However, it depends on a certain factor. If the demand is high and festivals are there, then prices could be a little high.\n", + "Fare\n", + "Weekdays\n", + "Delhi to Kathmandu Flight Information\n", + "You can now easily make online flight bookings from Delhi (DEL) to Kathmandu (KTM) at just ₹4848 (per person) with EaseMyTrip, your most trusted travel companion. As a leading travel platform, we aim to offer convenient and hassle-free flight reservations for your desired route. When it comes to the price range of Delhi (DEL) to Kathmandu (KTM) flights, then the price may range from ₹4848 to ₹16806 (per person). This sudden price fluctuation usually happens due to the emergence of various internal and external factors like air traffic, peak seasons, or other weather conditions.\n", + "Nevertheless, with EaseMyTrip you can also avail of multiple special offers and exciting deals and discounts on flight bookings. With this, you can elevate your journey from Delhi (DEL) to Kathmandu (KTM) while ensuring that every penny is worth the investment. Along with this, our platform includes a dynamic search engine and a user-friendly interface providing diverse flight details related to flight number, departure status, arrival, and schedules to keep you updated.\n", + "Delhi to Kathmandu Flights Details\n", + "It’s really intimidating to search, visit, and check out flights from Delhi (DEL) to Kathmandu (KTM) on various online flight booking platforms. However, EaseMyTrip is a reliable portal that can make your job more simplified. At present, we have already collaborated with several prominent airlines ensuring seamless bookings for the flights from Delhi (DEL) to Kathmandu (KTM). In line with this, our platform consists of various popular airline carriers like Akasa Air, SpiceJet, Air India, and Alliance Air usually operate 20 flights every day.\n", + "When it comes to the distance between Delhi to Kathmandu, then the average distance would be 815 Kilometre approximately. Thus, it’s highly recommended to select direct flight options. In case, if you’re looking for an affordable flight option, then you can also select indirect flights. Moreover, the flight duration for non-stop flights would be around 11:44 hrs. So, if you’ve planned to fly from Delhi (DEL) to Kathmandu (KTM), then you must prefer making advanced flight bookings to eliminate last-minute hassles.\n", + "Flight Connectivity & Schedule Info\n", + "Currently, all the well-renowned flights offer non-stop flights from Delhi to Kathmandu flights. Owing to this factor, you may reach the destination at the average flight duration of 11:44 hrs. Along with this, since the Delhi to Kathmandu flight is the most common route: thus, you can try various layover flights. Top cities like Bengaluru, Bagdogra, Chennai, Jaipur, Kolkata, Chandigarh, etc. offer great connectivity between the flights.\n", + "Besides this, Indira Gandhi International Airport and Tribhuvan International Airport are the nearest airports. This will allow you to reach the destination with optimal comfort and convenience. Moreover, if you are looking forward to getting the cheapest flights then you should prefer booking a round trip during the pre-booking phase.\n", + "Why Make Delhi to Kathmandu Flight Booking with EaseMyTrip\n", + "EaseMyTrip is one of the most popular online flight booking platforms aiming to offer an unforgettable exposure to the tourists seeking the best of travel services. The platform is known for providing vast flight options to users. Even the passengers get an opportunity to select the first class, business class, premium economy, and economy class cabin options as per their preferences and planned budget.\n", + "In addition to this, if you make flight bookings from Delhi (DEL) to Kathmandu (KTM) with EaseMyTrip, then you are entitled to other exclusive benefits also. Some of these assured perks include 24/7 immediate support, regular updates on the flights, lowest fares, airport pick-up/drop facilities, and top-notch customer services for a smooth expedition. With this, you can also check out flight scheduling and other flight modifications/cancellation-related policies.\n", + " Consequently, if you’re looking forward to booking Delhi (DEL) to Kathmandu (KTM) flights at the best rates, then without any delay book your dream flight with EaseMyTrip for a delightful journey.\n", + "FAQ's\n", + "Q.Is there a web check-in option for the flight from Delhi to Kathmandu?\n", + "Yes, passengers can make online or airport check-ins for the flight from Delhi (DEL) to Kathmandu (KTM).\n", + "Q.Can I make online reservations for cheap hotels close to the Kathmandu Airport?\n", + "Absolutely yes, using the EaseMyTrip hotel booking options, you may reserve cheap hotels close to the airport.\n", + "Q.How can I get an online cheap flight ticket from Delhi to Kathmandu?\n", + "You can easily search for cheap flights on EaseMyTrip by visiting the search page and entering the source and destination. Through this, you will see a list of available flights and their corresponding prices. To compare the flight fares, you can add a \"price\" filter also.\n", + "Q.When is the best time to purchase airline tickets from Delhi to Kathmandu at the lowest price?\n", + "To get the best price on domestic flights, try making your reservation 3–4 weeks or 21 days in advance.\n", + "Q.How long does it take to travel between Delhi and Kathmandu by flight?\n", + "The average travel duration between Delhi and Kathmandu by Flight is 2 hours 20 minutes.\n", + "Q.How many classes are available to fly from Delhi to Kathmandu?\n", + "Currently, Delhi to Kathmandu includes economy, business and first-class flights.\n", + "Q.What are the traveller’s most preferred airlines from Delhi to Kathmandu?\n", + "Mostly preferred airlines to travel between Delhi and Kathmandu are Indigo, Alliance Air and Air India.\n", + "Q.What are the latest Delhi to Kathmandu Flight Offers at EaseMyTrip?\n", + "On making Delhi to Kathmandu flight bookings with EaseMyTrip, users can avail various additional benefits, including exclusive services, cashback, and discounts. Therefore, we suggest you to keep a constant tab on the platform while booking flights to unlock the potential offer.\n", + "Q.What’s the best time to book a flight ticket with the lowest airfare from Delhi to Kathmandu?\n", + "The best time to book a flight from Delhi to Kathmandu for the lowest airfare is typically during the off-peak seasons and by booking in advance, around 1-3 months before your travel date. Additionally, weekdays, especially Tuesdays and Wednesdays, often offer better deals compared to weekends.\n", + "\n", + "\n", + "Analyze web results: openai \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Traceback (most recent call last):\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/queueing.py\", line 626, in process_events\n", + " response = await route_utils.call_process_api(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/route_utils.py\", line 322, in call_process_api\n", + " output = await app.get_blocks().process_api(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/blocks.py\", line 2229, in process_api\n", + " result = await self.call_function(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/blocks.py\", line 1740, in call_function\n", + " prediction = await anyio.to_thread.run_sync( # type: ignore\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/to_thread.py\", line 56, in run_sync\n", + " return await get_async_backend().run_sync_in_worker_thread(\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/_backends/_asyncio.py\", line 2470, in run_sync_in_worker_thread\n", + " return await future\n", + " ^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/_backends/_asyncio.py\", line 967, in run\n", + " result = context.run(func, *args)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^\n", + " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/utils.py\", line 940, in wrapper\n", + " response = f(*args, **kwargs)\n", + " ^^^^^^^^^^^^^^^^^^\n", + " File \"/var/folders/t4/p6rmxwf16qnbcc036554tj0r0000gn/T/ipykernel_656/755683802.py\", line 20, in chat\n", + " response = gemini.models.generate_content(messages, tools=gemini_tools)\n", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + "TypeError: Models.generate_content() got an unexpected keyword argument 'tools'\n" + ] + } + ], + "source": [ + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " model = gr.Dropdown([\"OpenAI\", \"Gemini\", \"Ollama\"], label=\"Choose a model\")\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def do_entry(message, history):\n", + " history += [{\"role\":\"user\", \"content\":message}]\n", + " return \"\", history\n", + "\n", + " entry.submit(do_entry, inputs=[entry, chatbot], outputs=[entry, chatbot]).then(\n", + " chat, inputs=[chatbot, model], outputs=[chatbot]\n", + " )\n", + " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "d50b03d4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{('delhi', 'delhi'): 'INR 0'}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cached_search" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a7f06bf", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 820cbd60c7efb59f459c01b19e73d121e49ebeb6 Mon Sep 17 00:00:00 2001 From: Zhufeng-Qiu Date: Sun, 13 Jul 2025 06:03:03 -0700 Subject: [PATCH 006/176] upload week5 exercise: personal knowledge assistant with local file, Gmail, outlook and Google Workspace files --- .../Gmail_API_Credential_Guide.ipynb | 154 ++ ...oogle_Workspace_API_Credential_Guide.ipynb | 294 +++ .../Outlook_API_Credential_Guide.ipynb | 178 ++ ...xercise_Personal_Knowledge_Assistant.ipynb | 1862 +++++++++++++++++ .../credentials/gmail_credentials.json | 3 + .../google_drive_workspace_credentials.json | 3 + .../local-knowledge-base/image/JPEG.jpg | Bin 0 -> 10884 bytes .../ms_office/LLMGooglePDF.pdf | Bin 0 -> 16124 bytes .../ms_office/Presentation.pptx | Bin 0 -> 33991 bytes .../local-knowledge-base/ms_office/excel.xlsx | Bin 0 -> 9609 bytes .../local-knowledge-base/ms_office/word.docx | Bin 0 -> 12139 bytes .../local-knowledge-base/text/Epub.epub | Bin 0 -> 2138 bytes .../local-knowledge-base/text/HTML.html | 9 + .../local-knowledge-base/text/MD.md | 1 + .../local-knowledge-base/text/PDF.pdf | Bin 0 -> 14864 bytes .../local-knowledge-base/text/text.txt | 1 + 16 files changed, 2505 insertions(+) create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/Gmail_API_Credential_Guide.ipynb create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/Google_Workspace_API_Credential_Guide.ipynb create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/Outlook_API_Credential_Guide.ipynb create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/Week5_Exercise_Personal_Knowledge_Assistant.ipynb create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/gmail_credentials.json create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/google_drive_workspace_credentials.json create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/image/JPEG.jpg create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/LLMGooglePDF.pdf create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/Presentation.pptx create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/excel.xlsx create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/word.docx create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/Epub.epub create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/HTML.html create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/MD.md create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/PDF.pdf create mode 100644 week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/text.txt diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Gmail_API_Credential_Guide.ipynb b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Gmail_API_Credential_Guide.ipynb new file mode 100644 index 0000000..1f5e1c6 --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Gmail_API_Credential_Guide.ipynb @@ -0,0 +1,154 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "35177005-196a-48b3-bf92-fa37d84693f4", + "metadata": {}, + "source": [ + "# Gmail API Credential Guide" + ] + }, + { + "cell_type": "markdown", + "id": "7bcad9ee-cd11-4b12-834d-9f1ddcefb190", + "metadata": {}, + "source": [ + "Use Gmail API to Read Your Emails\n", + "1. Set up a Google Cloud Project\n", + "\n", + " Go to Google Cloud Platform(GCP) Console\n", + "\n", + " Create a new project\n", + "\n", + "2. Enable the Gmail API for that project\n", + "\n", + " Select the created project and go to \"APIs & services\" page\n", + "\n", + " Click \"+ Enable APIs and services\" button, search \"Gmail API\" and enable it\n", + "\n", + "3. Go to \"OAuth Consent Screen\" and configure:\n", + "\n", + " Choose External and Fill in app name, dedveloper email, etc.\n", + "\n", + "4. Create OAuth Credentials\n", + "\n", + " Go to APIs & Services > Credentials\n", + "\n", + " Click \"+ Create Credentials\" > \"OAuth client ID\"\n", + "\n", + " Choose Desktop App\n", + "\n", + " Download the generated credentials.json\n", + "\n", + " Sometimes, GCP will navigate you to \"Google Auth Platform\" > \"Clients\", and you can click \"+ Create client\" here to create the OAuth Credentials\n", + "\n", + " \n", + "5. Add Test Users for Gmail API OAuth Access\n", + " \n", + " Go to \"APIs & Services\" > \"OAuth consent screen\" > \"Audience\" > \"Test Users\"\n", + "\n", + " Add the email account from which you want to extract email content.\n", + "\n", + "\n", + "6. Create 'credentials' folders to store gmail credential and user tokens" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc86bec0-bda8-4e9e-9c85-423179a99981", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4270e52e-378c-4127-bd52-1d082e9834e0", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import print_function\n", + "import os.path\n", + "import base64\n", + "import re\n", + "from email import message_from_bytes\n", + "from google.oauth2.credentials import Credentials\n", + "from google_auth_oauthlib.flow import InstalledAppFlow\n", + "from googleapiclient.discovery import build\n", + "\n", + "# If modifying these SCOPES, delete the token.json\n", + "SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']\n", + "PORT = 18000\n", + "\n", + "def main():\n", + " creds = None\n", + " # token.json stores the user's access and refresh tokens\n", + " if os.path.exists('token.json'):\n", + " creds = Credentials.from_authorized_user_file('token.json', SCOPES)\n", + " else:\n", + " flow = InstalledAppFlow.from_client_secrets_file('credentials/gmail_credentials.json', SCOPES)\n", + " creds = flow.run_local_server(port=PORT)\n", + " with open('token.json', 'w') as token:\n", + " token.write(creds.to_json())\n", + "\n", + " service = build('gmail', 'v1', credentials=creds)\n", + "\n", + " # Get the latest message\n", + " results = service.users().messages().list(userId='me', maxResults=1).execute()\n", + " messages = results.get('messages', [])\n", + "\n", + " if not messages:\n", + " print(\"No messages found.\")\n", + " return\n", + "\n", + " msg = service.users().messages().get(userId='me', id=messages[0]['id'], format='raw').execute()\n", + " raw_msg = base64.urlsafe_b64decode(msg['raw'].encode('ASCII'))\n", + " email_message = message_from_bytes(raw_msg)\n", + "\n", + " subject = email_message['Subject']\n", + " print(\"Subject:\", subject)\n", + "\n", + " # Extract text/plain body\n", + " for part in email_message.walk():\n", + " if part.get_content_type() == 'text/plain':\n", + " print(\"Body:\")\n", + " print(part.get_payload(decode=True).decode('utf-8'))\n", + "\n", + "if __name__ == '__main__':\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ff68e06-3cfb-48ae-9dad-fa431d0d548a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Google_Workspace_API_Credential_Guide.ipynb b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Google_Workspace_API_Credential_Guide.ipynb new file mode 100644 index 0000000..c300ec4 --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Google_Workspace_API_Credential_Guide.ipynb @@ -0,0 +1,294 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "35177005-196a-48b3-bf92-fa37d84693f4", + "metadata": {}, + "source": [ + "# Google Workspace API Credential Guide" + ] + }, + { + "cell_type": "markdown", + "id": "7bcad9ee-cd11-4b12-834d-9f1ddcefb190", + "metadata": {}, + "source": [ + "Use Google Drive API to Read files in Google Workspace \n", + "1. Set up a Google Cloud Project\n", + "\n", + " Go to Google Cloud Platform(GCP) Console\n", + "\n", + " Create a new project\n", + "\n", + "2. Enable the Gmail API for that project\n", + "\n", + " Select the created project and go to \"APIs & services\" page\n", + "\n", + " Click \"+ Enable APIs and services\" button, enable these APIs: Google Drive API, Google Docs API, Google Sheets API, and Google Slides API \n", + "\n", + "3. Go to \"OAuth Consent Screen\" and configure:\n", + "\n", + " Choose External and Fill in app name, dedveloper email, etc.\n", + "\n", + "4. Create OAuth Credentials\n", + "\n", + " Go to APIs & Services > Credentials\n", + "\n", + " Click \"+ Create Credentials\" > \"OAuth client ID\"\n", + "\n", + " Choose Desktop App\n", + "\n", + " Download the generated credentials.json\n", + "\n", + " Sometimes, GCP will navigate you to \"Google Auth Platform\" > \"Clients\", and you can click \"+ Create client\" here to create the OAuth Credentials\n", + "\n", + " \n", + "5. Add Test Users for Gmail API OAuth Access\n", + " \n", + " Go to \"APIs & Services\" > \"OAuth consent screen\" > \"Audience\" > \"Test Users\"\n", + "\n", + " Add the email account from which you want to extract email content.\n", + "\n", + "\n", + "6. Create 'credentials' folders to store google workspace credential and user tokens" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc86bec0-bda8-4e9e-9c85-423179a99981", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install PyPDF2\n", + "# !pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4270e52e-378c-4127-bd52-1d082e9834e0", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ff68e06-3cfb-48ae-9dad-fa431d0d548a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69c20f2d-2f49-408c-8700-f12d6745efd3", + "metadata": {}, + "outputs": [], + "source": [ + "from google_auth_oauthlib.flow import InstalledAppFlow\n", + "from googleapiclient.discovery import build\n", + "from google.oauth2.credentials import Credentials\n", + "from googleapiclient.http import MediaIoBaseDownload\n", + "import os\n", + "\n", + "import io\n", + "from PyPDF2 import PdfReader\n", + "from langchain.vectorstores import Chroma\n", + "from langchain.embeddings import OpenAIEmbeddings\n", + "from langchain.schema import Document\n", + "\n", + "GOOGLE_WORKSPACE_SCOPES = [\"https://www.googleapis.com/auth/drive.readonly\",\n", + " 'https://www.googleapis.com/auth/documents.readonly',\n", + " 'https://www.googleapis.com/auth/spreadsheets.readonly',\n", + " 'https://www.googleapis.com/auth/presentations.readonly'\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7164903b-be81-46b2-8c04-886397599c27", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_google_doc(docs_service, file_id):\n", + " doc = docs_service.documents().get(documentId=file_id).execute()\n", + " content = \"\"\n", + " for elem in doc.get(\"body\", {}).get(\"content\", []):\n", + " if \"paragraph\" in elem:\n", + " for run in elem[\"paragraph\"][\"elements\"]:\n", + " content += run.get(\"textRun\", {}).get(\"content\", \"\")\n", + " return content.strip()\n", + "\n", + "def extract_google_sheet(service, file_id):\n", + " # Get spreadsheet metadata\n", + " spreadsheet = service.spreadsheets().get(spreadsheetId=file_id).execute()\n", + " all_text = \"\"\n", + "\n", + " # Loop through each sheet\n", + " for sheet in spreadsheet.get(\"sheets\", []):\n", + " title = sheet[\"properties\"][\"title\"]\n", + " result = service.spreadsheets().values().get(\n", + " spreadsheetId=file_id,\n", + " range=title\n", + " ).execute()\n", + "\n", + " values = result.get(\"values\", [])\n", + " sheet_text = f\"### Sheet: {title} ###\\n\"\n", + " sheet_text += \"\\n\".join([\", \".join(row) for row in values])\n", + " all_text += sheet_text + \"\\n\\n\"\n", + "\n", + " return all_text.strip()\n", + "\n", + "\n", + "def extract_google_slide(slides_service, file_id):\n", + " pres = slides_service.presentations().get(presentationId=file_id).execute()\n", + " text = \"\"\n", + " for slide in pres.get(\"slides\", []):\n", + " for element in slide.get(\"pageElements\", []):\n", + " shape = element.get(\"shape\")\n", + " if shape:\n", + " for p in shape.get(\"text\", {}).get(\"textElements\", []):\n", + " if \"textRun\" in p:\n", + " text += p[\"textRun\"][\"content\"]\n", + " return text.strip()\n", + "\n", + "def extract_pdf_from_drive(drive_service, file_id, filename='downloaded.pdf'):\n", + " request = drive_service.files().get_media(fileId=file_id)\n", + " fh = io.BytesIO()\n", + " downloader = MediaIoBaseDownload(fh, request)\n", + " done = False\n", + " while not done:\n", + " _, done = downloader.next_chunk()\n", + " fh.seek(0)\n", + " reader = PdfReader(fh)\n", + " return \"\\n\".join([page.extract_text() for page in reader.pages if page.extract_text()])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f2edc68-f9f8-4cba-810e-159bea4fe4ac", + "metadata": {}, + "outputs": [], + "source": [ + "def get_creds():\n", + " if os.path.exists(\"token.json\"):\n", + " creds = Credentials.from_authorized_user_file(\"token.json\", SCOPES)\n", + " else:\n", + " flow = InstalledAppFlow.from_client_secrets_file(\"credentials/google_drive_workspace_credentials.json\", SCOPES)\n", + " creds = flow.run_local_server(port=0)\n", + " with open(\"token.json\", \"w\") as token:\n", + " token.write(creds.to_json())\n", + " return creds\n", + " \n", + "\n", + "def get_folder_id_by_name(drive_service, folder_name):\n", + " query = f\"mimeType='application/vnd.google-apps.folder' and name='{folder_name}' and trashed=false\"\n", + " results = drive_service.files().list(\n", + " q=query,\n", + " fields=\"files(id, name)\",\n", + " pageSize=1\n", + " ).execute()\n", + "\n", + " folders = results.get(\"files\", [])\n", + " if not folders:\n", + " raise ValueError(f\"āŒ Folder named '{folder_name}' not found.\")\n", + " return folders[0]['id']\n", + "\n", + "\n", + "def extract_docs_from_google_workspace(folder_name):\n", + " info = \"\"\n", + " \n", + " creds = get_creds()\n", + "\n", + " file_types = {\n", + " 'application/vnd.google-apps.document': lambda fid: extract_google_doc(docs_service, fid),\n", + " 'application/vnd.google-apps.spreadsheet': lambda fid: extract_google_sheet(sheets_service, fid),\n", + " 'application/vnd.google-apps.presentation': lambda fid: extract_google_slide(slides_service, fid),\n", + " 'application/pdf': lambda fid: extract_pdf_from_drive(drive_service, fid),\n", + " }\n", + " \n", + " drive_service = build(\"drive\", \"v3\", credentials=creds)\n", + " docs_service = build('docs', 'v1', credentials=creds)\n", + " sheets_service = build('sheets', 'v4', credentials=creds)\n", + " slides_service = build('slides', 'v1', credentials=creds)\n", + "\n", + " folder_id = get_folder_id_by_name(drive_service, folder_name)\n", + " info += f\"Collection files from folder: {folder_name}\\n\"\n", + " \n", + " query = (\n", + " f\"'{folder_id}' in parents and (\"\n", + " 'mimeType=\"application/vnd.google-apps.document\" or '\n", + " 'mimeType=\"application/vnd.google-apps.spreadsheet\" or '\n", + " 'mimeType=\"application/vnd.google-apps.presentation\" or '\n", + " 'mimeType=\"application/pdf\")'\n", + " )\n", + " \n", + " results = drive_service.files().list(\n", + " q=query,\n", + " fields=\"files(id, name, mimeType)\",\n", + " pageSize=20\n", + " ).execute()\n", + "\n", + " docs = []\n", + " summary_info = {\n", + " 'application/vnd.google-apps.document': {'file_type': 'Google Doc', 'count': 0},\n", + " 'application/vnd.google-apps.spreadsheet': {'file_type': 'Google Sheet', 'count': 0},\n", + " 'application/vnd.google-apps.presentation': {'file_type': 'Google Silde', 'count': 0},\n", + " 'application/pdf': {'file_type': 'PDF', 'count': 0}\n", + " }\n", + " for file in results.get(\"files\", []):\n", + " extractor = file_types.get(file['mimeType'])\n", + " if extractor:\n", + " try:\n", + " content = extractor(file[\"id\"])\n", + " if content:\n", + " docs.append(Document(page_content=content, metadata={\"source\": file[\"name\"]}))\n", + " summary_info[file['mimeType']]['count'] += 1\n", + " except Exception as e:\n", + " print(f\"āŒ Error processing {file['name']}: {e}\")\n", + " \n", + " total = 0;\n", + " for file_type, element in summary_info.items():\n", + " total += element['count']\n", + " info += f\"Found {element['count']} {element['file_type']} files\\n\"\n", + " info += f\"Total documents loaded: {total}\"\n", + " return docs, info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a9da5c9-415c-4856-973a-627a1790f38d", + "metadata": {}, + "outputs": [], + "source": [ + "docs, info = extract_docs_from_google_workspace(\"google_workspace_knowledge_base\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Outlook_API_Credential_Guide.ipynb b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Outlook_API_Credential_Guide.ipynb new file mode 100644 index 0000000..785d5dd --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Outlook_API_Credential_Guide.ipynb @@ -0,0 +1,178 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "35177005-196a-48b3-bf92-fa37d84693f4", + "metadata": {}, + "source": [ + "# Outlook API Credential Guide" + ] + }, + { + "cell_type": "markdown", + "id": "7bcad9ee-cd11-4b12-834d-9f1ddcefb190", + "metadata": {}, + "source": [ + "Extract Outlook Emails via Microsoft Graph API\n", + "\n", + "1. Register Your App on Azure Portal\n", + "\n", + " Go to Azure Portal > Azure Active Directory > App registrations\n", + "\n", + " Click ā€œNew registrationā€\n", + "\n", + " Choose Mobole/Desktop app\n", + " \n", + " After creation, note the Application (client) ID\n", + "\n", + "2. API Permissions\n", + "\n", + " Go to API permissions tab\n", + "\n", + " Click Add permission > Microsoft Graph > Delegated\n", + "\n", + " Choose: Mail.Read\n", + "\n", + " Click Grant admin consent\n", + "\n", + "3. Allow public client flows\n", + "\n", + " Navigate to: Azure Active Directory > App registrations > Your App\n", + "\n", + " Go to Authentication tab\n", + "\n", + " Under \"Advanced settings\" → \"Allow public client flows\", set to \"Yes\"\n", + "\n", + " Save changes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc86bec0-bda8-4e9e-9c85-423179a99981", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install msal requests" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4270e52e-378c-4127-bd52-1d082e9834e0", + "metadata": {}, + "outputs": [], + "source": [ + "from msal import PublicClientApplication\n", + "import os\n", + "from dotenv import load_dotenv\n", + "import requests" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ff68e06-3cfb-48ae-9dad-fa431d0d548a", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv()\n", + "\n", + "CLIENT_ID = os.getenv(\"AZURE_CLIENT_ID\")\n", + "AUTHORITY = \"https://login.microsoftonline.com/common\" \n", + "SCOPES = [\"Mail.Read\"]\n", + "\n", + "app = PublicClientApplication(CLIENT_ID, authority=AUTHORITY)\n", + "\n", + "flow = app.initiate_device_flow(scopes=SCOPES)\n", + "print(\"Go to:\", flow[\"verification_uri\"])\n", + "print(\"Enter code:\", flow[\"user_code\"])\n", + "\n", + "result = app.acquire_token_by_device_flow(flow)\n", + "\n", + "if \"access_token\" not in result:\n", + " raise Exception(\"Failed to authenticate:\", result)\n", + "\n", + "access_token = result[\"access_token\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c7f97da-68cc-4923-b280-1ddf7e5b7aa3", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Granted scopes:\", result.get(\"scope\"))\n", + "\n", + "headers = {\n", + " \"Authorization\": f\"Bearer {access_token}\",\n", + " \"Prefer\": \"outlook.body-content-type='text'\"\n", + "}\n", + "\n", + "query = (\n", + " \"https://graph.microsoft.com/v1.0/me/messages\"\n", + " \"?$top=1\"\n", + " \"&$select=id,subject,receivedDateTime,body\"\n", + ")\n", + "\n", + "all_emails = []\n", + "\n", + "while query:\n", + " response = requests.get(query, headers=headers)\n", + "\n", + " if not response.ok:\n", + " print(response.text)\n", + " print(f\"āŒ HTTP {response.status_code}: {response.text}\")\n", + " break\n", + "\n", + " try:\n", + " res = response.json()\n", + " except ValueError:\n", + " print(\"āŒ Invalid JSON:\", response.text)\n", + " break\n", + "\n", + " for msg in res.get(\"value\", []):\n", + " all_emails.append({\n", + " \"id\": msg.get(\"id\"),\n", + " \"subject\": msg.get(\"subject\", \"\"),\n", + " \"body\": msg.get(\"body\", {}).get(\"content\", \"\"),\n", + " \"date\": msg.get(\"receivedDateTime\", \"\")\n", + " })\n", + "\n", + " query = res.get(\"@odata.nextLink\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e29493b6-0a9e-4106-93c9-e58ff6aa0f97", + "metadata": {}, + "outputs": [], + "source": [ + "all_emails" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Week5_Exercise_Personal_Knowledge_Assistant.ipynb b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Week5_Exercise_Personal_Knowledge_Assistant.ipynb new file mode 100644 index 0000000..9bab26f --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/Week5_Exercise_Personal_Knowledge_Assistant.ipynb @@ -0,0 +1,1862 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e096ce5d-71a1-4fde-b171-8b9fed16cd7b", + "metadata": {}, + "source": [ + "# Personal Knowledge Assistant" + ] + }, + { + "cell_type": "markdown", + "id": "7bcad9ee-cd11-4b12-834d-9f1ddcefb190", + "metadata": {}, + "source": [ + "## Week 5 exercise\n", + "\n", + "\n", + "### Features:\n", + "1. Chat powered of uploaded knowlege\n", + "\n", + " The system prompt is designed to make the chatbot simulate a person based on the provided documents.\n", + "\n", + "2. Load files from local system\n", + "\n", + " Reuse code from bluebells1 [Wk5-final-multi-doc-type-KB.ipynb](../Wk5-final-multi-doc-type-KB.ipynb). Really appreciate it!\n", + "\n", + " Choose a folder located in the same directory as this script to extract content from. You can also specify subfolders to exclude from the extraction.\n", + "\n", + "3. Load emails from Gmail\n", + "\n", + " Enter an alias first, and a Google popup will guide you to grant permissions and log in, then extract emails for your specified time range\n", + "\n", + "4. Load emails from Outlook\n", + "\n", + " First, enter an alias. After clicking the 'Get Verification Code' button, a URI and code will appear in the 'Verification Instructions' textbox. Visit the Outlook website using the code, and follow the guide to grant permissions and complete the login.\n", + " Then, extract emails for your specified time range\n", + " \n", + "5. Load files from Google Workspace\n", + "\n", + " Enter with an alias first, and Google popup will guide you to grant permissions and log in, then extract emails for your specified folder in your Google Drive\n", + "\n", + "\n", + "### TO-DO Features:\n", + "1. Load messages from Slack\n", + "2. Use local inference/embedding models (llama) instead of relying on OpenAI-hosted models \n", + "3. Optimize Gmail/Outlook/Google Workspace login logic\n", + "4. Label different files. For example, extract prrivate and work emails respectively and store them into different vector stores\n", + "5. Add vector visualization\n", + "\n", + "### Requirements:\n", + "1. Store gmail credential json file under the 'credentials' folder\n", + "\n", + " The setup and configuration steps for Gmail API are in this guide: [Gmail_API_Credential_Guide](./Gmail_API_Credential_Guide.ipynb)\n", + "\n", + "2. Set AZURE_CLIENT_ID in .env file\n", + "\n", + " The setup and configuration steps for Outlook API are in this guide: [Outlook_API_Credential_Guide](./Outlook_API_Credential_Guide.ipynb)\n", + "\n", + "\n", + "3. Store google workspace credential json file under the 'credentials' folder\n", + "\n", + " The setup and configuration steps for Gmail API are in this guide: [Google_Workspace_API_Credential_Guide](./Google_Workspace_API_Credential_Guide.ipynb)\n", + "\n", + "The directories should be structured before launch as follows:\n", + "\n", + " ```text\n", + " The project/\n", + " │\n", + " ā”œā”€ā”€ credentials/ <-- Need to create and store manually before launch; download from Google Cloud Plafotm(GCP)\n", + " │ ā”œā”€ā”€ gmail_credentials.json\n", + " │ └── google_workspace_credentials.json\n", + " ā”œā”€ā”€ tokens/ <-- Automatically created and saved\n", + " │ ā”œā”€ā”€ gmail_tokens \n", + " │ │ └── gmail_token_{alias}.json\n", + " │ ā”œā”€ā”€ google_workspace_tokens\n", + " │ └── outlook_tokens\n", + " ā”œā”€ā”€ vector_index/ <-- Need to create manually before launch\n", + " │ ā”œā”€ā”€ local_vector_index\n", + " │ ā”œā”€ā”€ google_workspace_vector_index\n", + " │ ā”œā”€ā”€ gmail_vector_index\n", + " │ └── output_vector_index\n", + " └── ***.ipynb <-- Script" + ] + }, + { + "cell_type": "markdown", + "id": "99c271af-9054-4066-9583-65a9253cb70a", + "metadata": {}, + "source": [ + "Feel free to contact me via zhufqiu@gmail.com or via [Linkedin](https://www.linkedin.com/in/zhufeng-zephyr-qiu/) if you have any questions about this project. If you have better idea about system prompt, chunk config or search_kwargs, I will be happy to talk with you!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc86bec0-bda8-4e9e-9c85-423179a99981", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install pymupdf\n", + "# !pip install openpyxl\n", + "# !pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4270e52e-378c-4127-bd52-1d082e9834e0", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import base64\n", + "from datetime import datetime\n", + "from email import message_from_bytes\n", + "from email.utils import parsedate_to_datetime\n", + "\n", + "from google.auth.transport.requests import Request\n", + "from google.oauth2.credentials import Credentials\n", + "from google_auth_oauthlib.flow import InstalledAppFlow\n", + "from googleapiclient.discovery import build\n", + "\n", + "from langchain_openai import OpenAIEmbeddings, ChatOpenAI\n", + "from langchain.vectorstores import FAISS\n", + "from langchain.schema import Document\n", + "from langchain.text_splitter import CharacterTextSplitter\n", + "from langchain_chroma import Chroma\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.chains import ConversationChain\n", + "from langchain.retrievers import MergerRetriever\n", + "from collections import defaultdict\n", + "from langchain.document_loaders import (\n", + " DirectoryLoader, TextLoader, \n", + " Docx2txtLoader,\n", + " TextLoader,\n", + " PyPDFLoader,\n", + " UnstructuredExcelLoader,\n", + " BSHTMLLoader\n", + ")\n", + "import glob\n", + "from dotenv import load_dotenv\n", + "import gradio as gr\n", + "import tiktoken\n", + "\n", + "from msal import PublicClientApplication\n", + "import requests\n", + "from datetime import datetime, timezone\n", + "import json\n", + "import shutil\n", + "\n", + "from PIL import Image\n", + "import pytesseract\n", + "import fitz\n", + "import ebooklib\n", + "from ebooklib import epub\n", + "import io\n", + "\n", + "from langchain.prompts.chat import (\n", + " ChatPromptTemplate,\n", + " SystemMessagePromptTemplate,\n", + " HumanMessagePromptTemplate\n", + ")\n", + "from langchain.prompts import PromptTemplate" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3478cbe-2854-4011-b1b4-70be3f1623fd", + "metadata": {}, + "outputs": [], + "source": [ + "MODEL = \"gpt-4o-mini\"\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')" + ] + }, + { + "cell_type": "markdown", + "id": "a5195792-f6e1-43a1-9c5f-d6f8c84a253f", + "metadata": {}, + "source": [ + "### If it is your first time to create VECTOR_DIR and its sub-folder, you should create them, close this script and re-open it" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ca9623f-fb8c-45d1-a968-370c92762924", + "metadata": {}, + "outputs": [], + "source": [ + "LOCAL_VECTOR_DIR = 'vector_index/local_vector_index'\n", + "GMAIL_VECTOR_DIR = 'vector_index/gmail_vector_index'\n", + "OUTLOOK_VECTOR_DIR = \"vector_index/outlook_vector_index\"\n", + "GOOGLE_WORKSPACE_VECTOR_DIR = 'vector_index/google_workspace_vector_index'\n", + "SLACK_VECTOR_DIR = 'vector_index/slack_vector_index'\n", + "\n", + "os.makedirs(LOCAL_VECTOR_DIR, exist_ok=True)\n", + "os.makedirs(GMAIL_VECTOR_DIR, exist_ok=True)\n", + "os.makedirs(OUTLOOK_VECTOR_DIR, exist_ok=True)\n", + "os.makedirs(GOOGLE_WORKSPACE_VECTOR_DIR, exist_ok=True)" + ] + }, + { + "cell_type": "markdown", + "id": "b0f2a2ee-c9fb-49ad-8e09-919a7a7130ea", + "metadata": {}, + "source": [ + "#### Utilize functions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f185451f-2e2a-4ebb-a570-8b7349f3df48", + "metadata": {}, + "outputs": [], + "source": [ + "def get_num_tokens(text, model=\"text-embedding-3-large\"):\n", + " enc = tiktoken.encoding_for_model(model)\n", + " return len(enc.encode(text))\n", + "\n", + "def batch_chunks(chunks, max_tokens=250000, model=\"text-embedding-3-large\"):\n", + " batches = []\n", + " current_batch = []\n", + " current_tokens = 0\n", + "\n", + " for doc in chunks:\n", + " doc_tokens = get_num_tokens(doc.page_content, model)\n", + " if current_tokens + doc_tokens > max_tokens:\n", + " batches.append(current_batch)\n", + " current_batch = [doc]\n", + " current_tokens = doc_tokens\n", + " else:\n", + " current_batch.append(doc)\n", + " current_tokens += doc_tokens\n", + "\n", + " if current_batch:\n", + " batches.append(current_batch)\n", + " \n", + " return batches" + ] + }, + { + "cell_type": "markdown", + "id": "a5546fd7-46bf-4a36-8eef-7b4192f247e9", + "metadata": {}, + "source": [ + "### 1. Local" + ] + }, + { + "cell_type": "markdown", + "id": "937c4f19-5e5b-46b8-b15d-f7ceddd81384", + "metadata": {}, + "source": [ + "Reuse code from bluebells1 [Wk5-final-multi-doc-type-KB.ipynb](../Wk5-final-multi-doc-type-KB.ipynb). Really appreciate it!\n", + "\n", + "Advanced features:\n", + "1. ImgLoader added to load image file (png, jpg, jpeg)\n", + "2. Add logic to use DocumentLoader, extract files and show summary in Gradio textbox" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74b85882-c2d6-42af-9079-9f2a61d9eb72", + "metadata": {}, + "outputs": [], + "source": [ + "from ebooklib import epub\n", + "from bs4 import BeautifulSoup\n", + "from langchain.document_loaders.base import BaseLoader\n", + "\n", + "class EpubLoader(BaseLoader):\n", + " def __init__(self, file_path: str):\n", + " self.file_path = file_path\n", + "\n", + " def load(self) -> list[Document]:\n", + " book = epub.read_epub(self.file_path)\n", + " text = ''\n", + " for item in book.get_items():\n", + " if item.get_type() == ebooklib.ITEM_DOCUMENT:\n", + " soup = BeautifulSoup(item.get_content().decode(\"utf-8\"), 'html.parser')\n", + " extracted = soup.get_text().strip()\n", + " if extracted:\n", + " text += extracted + '\\n\\n'\n", + "\n", + " return [Document(page_content=text.strip(), metadata={\"source\": self.file_path})]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85f94e96-83e1-4b5a-ad63-373a37474d25", + "metadata": {}, + "outputs": [], + "source": [ + "from pptx import Presentation\n", + "\n", + "class PptxLoader(BaseLoader):\n", + " def __init__(self, file_path: str):\n", + " self.file_path = file_path\n", + "\n", + " def load(self) -> list[Document]:\n", + " prs = Presentation(self.file_path)\n", + " text = ''\n", + " for slide in prs.slides:\n", + " for shape in slide.shapes:\n", + " if hasattr(shape, \"text\") and shape.text:\n", + " text += shape.text + '\\n'\n", + "\n", + " return [Document(page_content=text, metadata={\"source\": self.file_path})]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd3932ce-5179-4e83-9a2c-bdefc37028aa", + "metadata": {}, + "outputs": [], + "source": [ + "from PIL import Image\n", + "import pytesseract\n", + "\n", + "class ImgLoader(BaseLoader):\n", + " def __init__(self, file_path: str):\n", + " self.file_path = file_path\n", + "\n", + " def load(self) -> list[Document]:\n", + " text = ''\n", + " try:\n", + " text = pytesseract.image_to_string(Image.open(self.file_path))\n", + " except Exception as e:\n", + " print(f\"OCR failed for {path}: {e}\")\n", + " return [Document(page_content=text, metadata={\"source\": self.file_path})]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "427e758a-77ab-4de1-ae14-8f2f233ea6db", + "metadata": {}, + "outputs": [], + "source": [ + "# Class based version of document loader which can be expanded more easily for other document types. (Currently includes file types: docx, txt (windows encoding), xlsx, pdfs, epubs, pptx)\n", + "\n", + "class DocumentLoader:\n", + " \"\"\"A clean, extensible document loader for multiple file types.\"\"\"\n", + " \n", + " def __init__(self, base_path, exclude_folders=None):\n", + " self.base_path = base_path\n", + " self.documents = []\n", + " self.exclude_folders = exclude_folders or []\n", + " self.print_info = \"\"\n", + " \n", + " # Configuration for different file types\n", + " self.loader_config = {\n", + " 'docx': {\n", + " 'loader_cls': Docx2txtLoader,\n", + " 'glob_pattern': \"**/*.docx\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'txt': {\n", + " 'loader_cls': TextLoader,\n", + " 'glob_pattern': \"**/*.txt\",\n", + " 'loader_kwargs': {\"encoding\": 'utf-8'},\n", + " 'post_process': None\n", + " },\n", + " 'md': {\n", + " 'loader_cls': TextLoader,\n", + " 'glob_pattern': \"**/*.md\",\n", + " 'loader_kwargs': {\"encoding\": 'utf-8'},\n", + " 'post_process': None\n", + " },\n", + " 'pdf': {\n", + " 'loader_cls': PyPDFLoader,\n", + " 'glob_pattern': \"**/*.pdf\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'xlsx': {\n", + " 'loader_cls': UnstructuredExcelLoader,\n", + " 'glob_pattern': \"**/*.xlsx\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'html': {\n", + " 'loader_cls': BSHTMLLoader,\n", + " 'glob_pattern': \"**/*.html\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'epub': {\n", + " 'loader_cls': EpubLoader,\n", + " 'glob_pattern': \"**/*.epub\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': self._process_epub_metadata\n", + " },\n", + " 'pptx': {\n", + " 'loader_cls': PptxLoader,\n", + " 'glob_pattern': \"**/*.pptx\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'png': {\n", + " 'loader_cls': ImgLoader,\n", + " 'glob_pattern': \"**/*.png\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'jpeg': {\n", + " 'loader_cls': ImgLoader,\n", + " 'glob_pattern': \"**/*.jpeg\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " },\n", + " 'jpg': {\n", + " 'loader_cls': ImgLoader,\n", + " 'glob_pattern': \"**/*.jpg\",\n", + " 'loader_kwargs': {},\n", + " 'post_process': None\n", + " }\n", + " }\n", + " \n", + " def _get_epub_metadata(self, file_path):\n", + " \"\"\"Extract metadata from EPUB files.\"\"\"\n", + " try:\n", + " book = epub.read_epub(file_path)\n", + " title = book.get_metadata('DC', 'title')[0][0] if book.get_metadata('DC', 'title') else None\n", + " author = book.get_metadata('DC', 'creator')[0][0] if book.get_metadata('DC', 'creator') else None\n", + " return title, author\n", + " except Exception as e:\n", + " self.print_info += f\"Error extracting EPUB metadata: {e}\\n\"\n", + " return None, None\n", + " \n", + " def _process_epub_metadata(self, doc) -> None:\n", + " \"\"\"Post-process EPUB documents to add metadata.\"\"\"\n", + " title, author = self._get_epub_metadata(doc.metadata['source'])\n", + " doc.metadata[\"author\"] = author\n", + " doc.metadata[\"title\"] = title\n", + " \n", + " def _load_file_type(self, folder, file_type, config):\n", + " \"\"\"Load documents of a specific file type from a folder.\"\"\"\n", + " try:\n", + " loader = DirectoryLoader(\n", + " folder, \n", + " glob=config['glob_pattern'], \n", + " loader_cls=config['loader_cls'],\n", + " loader_kwargs=config['loader_kwargs']\n", + " )\n", + " docs = loader.load()\n", + " self.print_info += f\"Found {len(docs)} .{file_type} files\\n\"\n", + " \n", + " # Apply post-processing if defined\n", + " if config['post_process']:\n", + " for doc in docs:\n", + " config['post_process'](doc)\n", + " \n", + " return docs\n", + " \n", + " except Exception as e:\n", + " self.print_info += f\"Error loading .{file_type} files: {e}\\n\"\n", + " return []\n", + " \n", + " def load_all(self):\n", + " \"\"\"Load all documents from configured folders.\"\"\"\n", + " all_folders = [f for f in glob.glob(self.base_path) if os.path.isdir(f)]\n", + "\n", + " #filter out excluded folders\n", + " folders = []\n", + " for folder in all_folders:\n", + " folder_name = os.path.basename(folder)\n", + " if folder_name not in self.exclude_folders:\n", + " folders.append(folder)\n", + " else:\n", + " self.print_info += f\"Excluded folder: {folder_name}\\n\"\n", + " \n", + " self.print_info += f\"Scanning folders (directories only):{folders}\\n\" \n", + " \n", + " self.documents = []\n", + " \n", + " for folder in folders:\n", + " doc_type = os.path.basename(folder)\n", + " self.print_info += f\"\\nProcessing folder: {doc_type}\\n\"\n", + " \n", + " for file_type, config in self.loader_config.items():\n", + " docs = self._load_file_type(folder, file_type, config)\n", + " \n", + " # Add doc_type metadata to all documents\n", + " for doc in docs:\n", + " doc.metadata[\"doc_type\"] = doc_type\n", + " self.documents.append(doc)\n", + " \n", + " self.print_info += f\"\\nTotal documents loaded: {len(self.documents)}\\n\"\n", + " return self.documents\n", + " \n", + " def add_file_type(self, extension, loader_cls, glob_pattern=None, \n", + " loader_kwargs=None, post_process=None):\n", + " \"\"\"Add support for a new file type.\"\"\"\n", + " self.loader_config[extension] = {\n", + " 'loader_cls': loader_cls,\n", + " 'glob_pattern': glob_pattern or f\"**/*.{extension}\",\n", + " 'loader_kwargs': loader_kwargs or {},\n", + " 'post_process': post_process\n", + " }\n", + "\n", + "# load\n", + "# loader = DocumentLoader(\"local-knowledge-base/**\", exclude_folders=[\"Music\", \"Online Courses\", \"Fitness\"])\n", + "# documents = loader.load_all()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53e65a63-29fd-4db3-91f0-246cc2b61941", + "metadata": {}, + "outputs": [], + "source": [ + "def local_embed_and_store(docs):\n", + " text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + " chunks = [doc for doc in text_splitter.split_documents(docs) if doc.page_content.strip()]\n", + "\n", + " if not chunks:\n", + " return \"āš ļø No non-empty chunks to embed. Skipping vectorstore update.\"\n", + "\n", + " embeddings = OpenAIEmbeddings()\n", + "\n", + " vectorstore = None\n", + " if os.path.exists(LOCAL_VECTOR_DIR):\n", + " vectorstore = Chroma(persist_directory=LOCAL_VECTOR_DIR, embedding_function=embeddings)\n", + " else:\n", + " if chunks:\n", + " vectorstore = Chroma.from_documents(documents=chunks[:1], embedding=embeddings, persist_directory=LOCAL_VECTOR_DIR)\n", + " chunks = chunks[1:]\n", + " else:\n", + " return \"āš ļø No chunks to create new vectorstore.\"\n", + " \n", + " batches = batch_chunks(chunks)\n", + " total = 1 if not os.path.exists(LOCAL_VECTOR_DIR) else 0\n", + " \n", + " for batch in batches:\n", + " vectorstore.add_documents(batch)\n", + " total += len(batch)\n", + "\n", + " info = \"\"\n", + " info += f\"Vectorstore updated with {total} new chunks.\\n\"\n", + " num_docs = vectorstore._collection.count()\n", + " info += f\"Vectorstore contains {num_docs} chunks.\\n\"\n", + " return info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0a70a0e-08cd-4827-b42b-9a5394ff6dec", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_local_folder(folder_path=\"local-knowledge-base\", exclude=\"\"):\n", + "\n", + " # try:\n", + " info = f\"Process files under: {folder_path}\\n\"\n", + " loader = DocumentLoader(os.path.join(folder_path, \"**\"), exclude_folders=[folder.strip() for folder in exclude.split(',')])\n", + " docs = loader.load_all()\n", + " info += loader.print_info\n", + " if not docs:\n", + " return info + \"No valid files found in the given range.\"\n", + " info += f\"Fetched {len(docs)} files.\\n\"\n", + " info += local_embed_and_store(docs)\n", + " return info\n", + "\n", + " # except Exception as e:\n", + " # return f\"āŒ Extraction failed: {str(e)}\"" + ] + }, + { + "cell_type": "markdown", + "id": "0e47d670-8c50-4744-8fbd-78112fa941dd", + "metadata": {}, + "source": [ + "### 2. Gmail" + ] + }, + { + "cell_type": "markdown", + "id": "4d52fe40-65e3-4d82-9999-1ed3e4cbae0a", + "metadata": {}, + "source": [ + "#### Store gmail credential json file under the credentials folder\n", + "\n", + "To avoid complicated steps and focus on LLMs stuff, I chose to utilize the Gmail API in test mode.\n", + "\n", + "I have included the setup and configuration steps in this guide:\n", + "[Gmail_API_Credential_Guide](./Gmail_API_Credential_Guide.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f32c4e4-fa7a-42a1-9ef8-b981af02f585", + "metadata": {}, + "outputs": [], + "source": [ + "GMAIL_SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']\n", + "GMAIL_CREDENTIALS_FILE = 'credentials/gmail_credentials.json'\n", + "GMAIL_TOKEN_DIR = 'tokens/gmail_tokens'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "db344254-8c92-4e82-8414-40b3bef56db5", + "metadata": {}, + "outputs": [], + "source": [ + "def gmail_get_credentials(account_alias):\n", + " token_path = os.path.join(GMAIL_TOKEN_DIR, f'gmail_token_{account_alias}.json')\n", + " creds = None\n", + " if os.path.exists(token_path):\n", + " creds = Credentials.from_authorized_user_file(token_path, GMAIL_SCOPES)\n", + " if not creds or not creds.valid:\n", + " if creds and creds.expired and creds.refresh_token:\n", + " creds.refresh(Request())\n", + " else:\n", + " flow = InstalledAppFlow.from_client_secrets_file(GMAIL_CREDENTIALS_FILE, GMAIL_SCOPES)\n", + " creds = flow.run_local_server(port=0)\n", + " with open(token_path, 'w') as token_file:\n", + " token_file.write(creds.to_json())\n", + " return creds" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "119558f0-4d35-4737-ad8a-eef516b540d2", + "metadata": {}, + "outputs": [], + "source": [ + "def parse_message(service, msg_id):\n", + " msg = service.users().messages().get(userId='me', id=msg_id, format='raw').execute()\n", + " raw_msg = base64.urlsafe_b64decode(msg['raw'].encode('ASCII'))\n", + " email_message = message_from_bytes(raw_msg)\n", + " subject = email_message['Subject'] or \"(No Subject)\"\n", + " date = parsedate_to_datetime(email_message['Date'])\n", + " sender = email_message['From'] or \"\"\n", + " to = email_message['To'] or \"\"\n", + " cc = email_message['Cc'] or \"\"\n", + " body = \"\"\n", + " \n", + " for part in email_message.walk():\n", + " if part.get_content_type() == 'text/plain' and not part.get('Content-Disposition'):\n", + " body = part.get_payload(decode=True).decode('utf-8', errors='ignore')\n", + " break\n", + "\n", + " content = f\"\"\"Subject: {subject}\n", + " From: {sender}\n", + " To: {to}\n", + " Cc: {cc}\n", + " {body}\n", + " \"\"\"\n", + " return {\n", + " \"id\": msg_id,\n", + " \"subject\": subject,\n", + " \"date\": date,\n", + " \"body\": content\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "481d0500-6270-47ec-bc30-44400c86dff2", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_emails(service, start_date, end_date):\n", + " query = (\n", + " f\"(category:primary OR is:important OR is:starred OR is:snoozed OR is:sent OR in:chats OR label:SCHEDULED) \"\n", + " f\"after:{start_date} before:{end_date} -in:spam -in:trash -category:promotions -category:forums\"\n", + " ) \n", + " \n", + " all_messages = []\n", + " page_token = None\n", + "\n", + " while True:\n", + " response = service.users().messages().list(userId='me', q=query, pageToken=page_token).execute()\n", + " messages = response.get('messages', [])\n", + " print(f\"Found {len(messages)} sub-messages.\")\n", + " all_messages.extend(messages)\n", + " page_token = response.get('nextPageToken')\n", + " if not page_token:\n", + " break\n", + " print(f\"Total messages fetched: {len(all_messages)}\")\n", + " parsed_emails = []\n", + " for msg in all_messages:\n", + " parsed = parse_message(service, msg['id'])\n", + " if parsed:\n", + " parsed_emails.append(parsed)\n", + " \n", + " return parsed_emails\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aebb1598-e95d-4a7b-9d40-44afb62f587d", + "metadata": {}, + "outputs": [], + "source": [ + "def gmail_embed_and_store(emails, account):\n", + " docs = []\n", + " for email in emails:\n", + " content = f\"Subject: {email['subject']}\\n\\n{email['body']}\"\n", + " doc = Document(\n", + " page_content=content.strip(),\n", + " metadata={\n", + " \"date\": str(email['date']),\n", + " \"gmail_id\": email['id'],\n", + " \"account\": account\n", + " }\n", + " )\n", + " docs.append(doc)\n", + "\n", + " text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + " chunks = [doc for doc in text_splitter.split_documents(docs) if doc.page_content.strip()]\n", + "\n", + " if not chunks:\n", + " return \"āš ļø No non-empty chunks to embed. Skipping vectorstore update.\"\n", + "\n", + " embeddings = OpenAIEmbeddings()\n", + "\n", + " vectorstore = None\n", + " if os.path.exists(GMAIL_VECTOR_DIR):\n", + " vectorstore = Chroma(persist_directory=GMAIL_VECTOR_DIR, embedding_function=embeddings)\n", + " else:\n", + " if chunks:\n", + " vectorstore = Chroma.from_documents(documents=chunks[:1], embedding=embeddings, persist_directory=GMAIL_VECTOR_DIR)\n", + " chunks = chunks[1:]\n", + " else:\n", + " return \"āš ļø No chunks to create new vectorstore.\"\n", + " \n", + " batches = batch_chunks(chunks)\n", + " total = 1 if not os.path.exists(GMAIL_VECTOR_DIR) else 0\n", + " \n", + " for batch in batches:\n", + " vectorstore.add_documents(batch)\n", + " total += len(batch)\n", + "\n", + " info = \"\"\n", + " info += f\"Vectorstore updated with {total} new chunks from {account}.\\n\"\n", + " num_docs = vectorstore._collection.count()\n", + " info += f\"Vectorstore contains {num_docs} chunks.\\n\"\n", + " return info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3d67265-ef62-4104-ae79-783e6d20d31c", + "metadata": {}, + "outputs": [], + "source": [ + "def login_gmail(alias):\n", + " try:\n", + " creds = gmail_get_credentials(alias)\n", + " service = build('gmail', 'v1', credentials=creds)\n", + " profile = service.users().getProfile(userId='me').execute()\n", + " email = profile.get(\"emailAddress\")\n", + "\n", + " # Store in session\n", + " SESSION_STATE[\"gmail_service\"] = service\n", + " SESSION_STATE[\"gmail_email\"] = email\n", + " SESSION_STATE[\"gmail_alias\"] = alias\n", + "\n", + " return f\"āœ… Logged in as: {email}\"\n", + " except Exception as e:\n", + " return f\"āŒ Login failed: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69cb6320-7ef0-49bb-8893-d51d6d2cd87c", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_gmail(start_date, end_date):\n", + " service = SESSION_STATE.get(\"gmail_service\")\n", + " email_address = SESSION_STATE.get(\"gmail_email\")\n", + "\n", + " if not service:\n", + " return \"āŒ Please login first.\"\n", + "\n", + " # try:\n", + " info = f\"Connected to: {email_address}\\n\"\n", + " emails = fetch_emails(service, start_date, end_date)\n", + "\n", + " if not emails:\n", + " return info + \"No emails found in the given range.\"\n", + " info += f\"Fetched {len(emails)} emails.\\n\"\n", + " info += gmail_embed_and_store(emails, account=email_address)\n", + " return info\n", + "\n", + " # except Exception as e:\n", + " # return f\"āŒ Extraction failed: {str(e)}\"" + ] + }, + { + "cell_type": "markdown", + "id": "b049fee6-5b51-4458-b089-6a11c6050492", + "metadata": {}, + "source": [ + "### 3. Outlook" + ] + }, + { + "cell_type": "markdown", + "id": "7660ec50-23ca-476f-97f7-42b764de46fa", + "metadata": {}, + "source": [ + "#### Set AZURE_CLIENT_ID in .env file\n", + "\n", + "I have included the setup and configuration steps in this guide:\n", + "[Outlook_API_Credential_Guide](./Outlook_API_Credential_Guide.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1f2b0d2-d2c0-414f-be53-c3bc74ceb6a6", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv()\n", + "\n", + "OUTLOOK_TOKEN_DIR = \"tokens/outlook_tokens\"\n", + "OUTLOOK_CLIENT_ID = os.getenv(\"AZURE_CLIENT_ID\")\n", + "OUTLOOK_AUTHORITY = \"https://login.microsoftonline.com/common\" \n", + "OUTLOOK_SCOPES = [\"Mail.Read\", \"User.Read\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2197700b-1103-4ba0-b929-28fea4af6881", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_outlook_emails(access_token, start_date, end_date):\n", + " headers = {\n", + " \"Authorization\": f\"Bearer {access_token}\",\n", + " \"Prefer\": \"outlook.body-content-type='text'\"\n", + " }\n", + "\n", + " # Filter format: yyyy-mm-ddTHH:MM:SSZ\n", + " query = (\n", + " \"https://graph.microsoft.com/v1.0/me/messages\"\n", + " f\"?$top=100\"\n", + " \"&$select=id,subject,receivedDateTime,body,sender,toRecipients,ccRecipients\"\n", + " )\n", + "\n", + " all_emails = []\n", + "\n", + " while query:\n", + " response = requests.get(query, headers=headers)\n", + " if not response.ok:\n", + " print(f\"āŒ HTTP {response.status_code}: {response.text}\")\n", + " break\n", + "\n", + " res = response.json()\n", + " for msg in res.get(\"value\", []):\n", + " received = msg.get(\"receivedDateTime\", \"\")\n", + " try:\n", + " received_dt = datetime.fromisoformat(received.replace(\"Z\", \"+00:00\"))\n", + " except Exception:\n", + " continue\n", + "\n", + " if not (start_date <= received_dt <= end_date):\n", + " continue\n", + "\n", + " email_data = {\n", + " \"id\": msg.get(\"id\"),\n", + " \"subject\": msg.get(\"subject\", \"\"),\n", + " \"body\": msg.get(\"body\", {}).get(\"content\", \"\"),\n", + " \"sender\": msg.get(\"sender\", {}).get(\"emailAddress\", {}).get(\"address\", \"\"),\n", + " \"to\": [r[\"emailAddress\"][\"address\"] for r in msg.get(\"toRecipients\", [])],\n", + " \"cc\": [r[\"emailAddress\"][\"address\"] for r in msg.get(\"ccRecipients\", [])],\n", + " \"date\": received_dt.isoformat()\n", + " }\n", + "\n", + " all_emails.append(email_data)\n", + "\n", + " query = res.get(\"@odata.nextLink\")\n", + "\n", + " print(f\"āœ… Total emails extracted: {len(all_emails)}\")\n", + " return all_emails" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d9759ad-47fa-4f3a-8e67-59b59ccccfd9", + "metadata": {}, + "outputs": [], + "source": [ + "def outlook_embed_and_store(emails):\n", + " if not emails:\n", + " return \"No emails to embed.\\n\"\n", + "\n", + " docs = []\n", + " for email in emails:\n", + " content = (\n", + " f\"Subject: {email['subject']}\\n\"\n", + " f\"From: {email['sender']}\\n\"\n", + " f\"To: {', '.join(email['to'])}\\n\"\n", + " f\"CC: {', '.join(email['cc'])}\\n\\n\"\n", + " f\"{email['body']}\"\n", + " )\n", + " doc = Document(\n", + " page_content=content,\n", + " metadata={\"date\": email[\"date\"], \"outlook_id\": email[\"id\"]}\n", + " )\n", + " docs.append(doc)\n", + "\n", + " text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + " chunks = [doc for doc in text_splitter.split_documents(docs) if doc.page_content.strip()]\n", + "\n", + " if not chunks:\n", + " return \"āš ļø No non-empty chunks to embed. Skipping vectorstore update.\"\n", + "\n", + " embeddings = OpenAIEmbeddings()\n", + "\n", + " vectorstore = None\n", + " if os.path.exists(OUTLOOK_VECTOR_DIR):\n", + " vectorstore = Chroma(persist_directory=OUTLOOK_VECTOR_DIR, embedding_function=embeddings)\n", + " else:\n", + " if chunks:\n", + " vectorstore = Chroma.from_documents(documents=chunks[:1], embedding=embeddings, persist_directory=OUTLOOK_VECTOR_DIR)\n", + " chunks = chunks[1:]\n", + " else:\n", + " return \"āš ļø No chunks to create new vectorstore.\\n\"\n", + " \n", + " batches = batch_chunks(chunks)\n", + " total = 1 if not os.path.exists(OUTLOOK_VECTOR_DIR) else 0\n", + " \n", + " for batch in batches:\n", + " vectorstore.add_documents(batch)\n", + " total += len(batch)\n", + "\n", + " info = \"\"\n", + " info += f\"āœ… Vectorstore updated with {total} chunks.\\n\"\n", + " num_docs = vectorstore._collection.count()\n", + " info += f\"Vectorstore contains {num_docs} chunks.\\n\"\n", + " return info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1feb49b5-9df0-4232-a233-c6ceb97361a7", + "metadata": {}, + "outputs": [], + "source": [ + "def login_outlook(alias):\n", + " # try:\n", + " token_path = os.path.join(OUTLOOK_TOKEN_DIR, f\"outlook_token_{alias}.json\")\n", + " SESSION_STATE[\"outlook_alias\"] = alias\n", + " access_token = None\n", + "\n", + " # Load existing token\n", + " if os.path.exists(token_path):\n", + " with open(token_path, \"r\") as f:\n", + " result = json.load(f)\n", + " access_token = result.get(\"access_token\")\n", + "\n", + " # If no token, run device flow\n", + " if not access_token:\n", + " app = PublicClientApplication(OUTLOOK_CLIENT_ID, authority=OUTLOOK_AUTHORITY)\n", + " flow = app.initiate_device_flow(scopes=OUTLOOK_SCOPES)\n", + "\n", + " if \"user_code\" not in flow:\n", + " return \"āŒ Failed to initiate device login.\"\n", + "\n", + " print(\"šŸ”— Visit:\", flow[\"verification_uri\"])\n", + " print(\"šŸ” Enter code:\", flow[\"user_code\"])\n", + "\n", + " result = app.acquire_token_by_device_flow(flow)\n", + "\n", + " if \"access_token\" not in result:\n", + " return f\"āŒ Login failed: {result.get('error_description', 'Unknown error')}\"\n", + "\n", + " access_token = result[\"access_token\"]\n", + "\n", + " with open(token_path, \"w\") as f:\n", + " json.dump(result, f)\n", + "\n", + " # Get user's email via Microsoft Graph\n", + " headers = {\"Authorization\": f\"Bearer {access_token}\"}\n", + " user_info = requests.get(\"https://graph.microsoft.com/v1.0/me\", headers=headers).json()\n", + " email = user_info.get(\"mail\") or user_info.get(\"userPrincipalName\")\n", + "\n", + " # Store in session\n", + " SESSION_STATE[\"outlook_token\"] = access_token\n", + " SESSION_STATE[\"outlook_email\"] = email\n", + "\n", + " return f\"āœ… Logged in to Outlook as: {email}\"\n", + "\n", + " # except Exception as e:\n", + " # return f\"āŒ Login failed: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e11523b-a757-459c-8c4c-1ceef586439f", + "metadata": {}, + "outputs": [], + "source": [ + "def start_outlook_login(alias):\n", + " token_path = os.path.join(OUTLOOK_TOKEN_DIR, f\"outlook_token_{alias}.json\")\n", + " access_token = None\n", + " SESSION_STATE[\"outlook_token_path\"] = token_path\n", + " \n", + " # Load existing token\n", + " if os.path.exists(token_path):\n", + " return True, \"This alias already verified\"\n", + "\n", + " # If no token, run device flow\n", + " if not access_token:\n", + " app = PublicClientApplication(OUTLOOK_CLIENT_ID, authority=OUTLOOK_AUTHORITY)\n", + " flow = app.initiate_device_flow(scopes=OUTLOOK_SCOPES)\n", + "\n", + " if \"user_code\" not in flow:\n", + " return False, \"āŒ Failed to initiate device login.\"\n", + "\n", + " # Store the flow for next step\n", + " SESSION_STATE[\"outlook_alias\"] = alias\n", + " SESSION_STATE[\"outlook_app\"] = app\n", + " SESSION_STATE[\"outlook_flow\"] = flow\n", + " \n", + " msg = f\"šŸ”— Visit: {flow['verification_uri']}\\nšŸ” Enter code: {flow['user_code']}\"\n", + " return False, \"šŸ”„ Waiting for verification...\\n\" + msg\n", + "\n", + "def finish_outlook_login():\n", + " flag = SESSION_STATE.get(\"outlook_login_flag\")\n", + " token_path = SESSION_STATE.get(\"outlook_token_path\")\n", + " if flag:\n", + " with open(token_path, \"r\") as f:\n", + " result = json.load(f)\n", + " access_token = result.get(\"access_token\")\n", + " else: \n", + " app = SESSION_STATE.get(\"outlook_app\")\n", + " flow = SESSION_STATE.get(\"outlook_flow\")\n", + " \n", + " result = app.acquire_token_by_device_flow(flow)\n", + " \n", + " if \"access_token\" not in result:\n", + " return f\"āŒ Login failed: {result.get('error_description', 'Unknown error')}\"\n", + " \n", + " access_token = result[\"access_token\"]\n", + " \n", + " with open(token_path, \"w\") as f:\n", + " json.dump(result, f)\n", + " \n", + "\n", + " # Get user's email via Microsoft Graph\n", + " headers = {\"Authorization\": f\"Bearer {access_token}\"}\n", + " user_info = requests.get(\"https://graph.microsoft.com/v1.0/me\", headers=headers).json()\n", + " email = user_info.get(\"mail\") or user_info.get(\"userPrincipalName\")\n", + "\n", + " # Store in session\n", + " SESSION_STATE[\"outlook_token\"] = access_token\n", + " SESSION_STATE[\"outlook_email\"] = email\n", + "\n", + " return f\"āœ… Logged in to Outlook as: {email}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3faea0d-723d-41e3-9683-db92dd918aba", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_outlook_emails(start, end, alias):\n", + " try:\n", + " start_date = datetime.strptime(start.strip(), \"%Y/%m/%d\").replace(tzinfo=timezone.utc)\n", + " end_date = datetime.strptime(end.strip(), \"%Y/%m/%d\").replace(tzinfo=timezone.utc)\n", + " except ValueError:\n", + " return \"āŒ Invalid date format. Use YYYY/MM/DD.\"\n", + "\n", + " access_token = SESSION_STATE[\"outlook_token\"]\n", + "\n", + " if not access_token:\n", + " return f\"āŒ No access token found for '{alias}'. Please login first.\"\n", + "\n", + " info = \"\"\n", + " try:\n", + " emails = fetch_outlook_emails(access_token, start_date, end_date)\n", + " if not emails:\n", + " return f\"āŒ No email found.\"\n", + " info += f\"āœ… Extracted and embedded {len(emails)} Outlook emails.\\n\"\n", + " info += outlook_embed_and_store(emails)\n", + " return info\n", + " except Exception as e:\n", + " return f\"āŒ Error: {str(e)}\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "0c030701-8f16-4101-a501-f310ce61871c", + "metadata": {}, + "source": [ + "### 4. Google Workspace" + ] + }, + { + "cell_type": "markdown", + "id": "4b04baa3-0dfe-491a-974e-c1b97c978031", + "metadata": {}, + "source": [ + "#### Store google workspace credential json file under the credentials folder\n", + "\n", + "To avoid complicated steps and focus on LLMs stuff, I chose to utilize the Google Drive/Workspace API in test mode.\n", + "\n", + "I have included the setup and configuration steps in this guide:\n", + "[Google_Workspace_API_Credential_Guide](./Google_Workspace_API_Credential_Guide.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1aeb8a99-d039-4550-8cac-f9370e7d7401", + "metadata": {}, + "outputs": [], + "source": [ + "GOOGLE_WORKSPACE_SCOPES = [\n", + " 'https://www.googleapis.com/auth/gmail.readonly',\n", + " 'https://www.googleapis.com/auth/drive.readonly',\n", + " 'https://www.googleapis.com/auth/documents.readonly',\n", + " 'https://www.googleapis.com/auth/spreadsheets.readonly',\n", + " 'https://www.googleapis.com/auth/presentations.readonly'\n", + "]\n", + "GOOGLE_WORKSPACE_CREDENTIALS_FILE = 'credentials/google_drive_workspace_credentials.json'\n", + "GOOGLE_WORKSPACE_TOKEN_DIR = 'tokens/google_workspace_tokens'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d7c1ad3-d288-42a7-bc7b-4ddae0f3aaa3", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_google_doc(docs_service, file_id):\n", + " doc = docs_service.documents().get(documentId=file_id).execute()\n", + " content = \"\"\n", + " for elem in doc.get(\"body\", {}).get(\"content\", []):\n", + " if \"paragraph\" in elem:\n", + " for run in elem[\"paragraph\"][\"elements\"]:\n", + " content += run.get(\"textRun\", {}).get(\"content\", \"\")\n", + " return content.strip()\n", + "\n", + "def extract_google_sheet(service, file_id):\n", + " # Get spreadsheet metadata\n", + " spreadsheet = service.spreadsheets().get(spreadsheetId=file_id).execute()\n", + " all_text = \"\"\n", + "\n", + " # Loop through each sheet\n", + " for sheet in spreadsheet.get(\"sheets\", []):\n", + " title = sheet[\"properties\"][\"title\"]\n", + " result = service.spreadsheets().values().get(\n", + " spreadsheetId=file_id,\n", + " range=title\n", + " ).execute()\n", + "\n", + " values = result.get(\"values\", [])\n", + " sheet_text = f\"### Sheet: {title} ###\\n\"\n", + " sheet_text += \"\\n\".join([\", \".join(row) for row in values])\n", + " all_text += sheet_text + \"\\n\\n\"\n", + "\n", + " return all_text.strip()\n", + "\n", + "\n", + "def extract_google_slide(slides_service, file_id):\n", + " pres = slides_service.presentations().get(presentationId=file_id).execute()\n", + " text = \"\"\n", + " for slide in pres.get(\"slides\", []):\n", + " for element in slide.get(\"pageElements\", []):\n", + " shape = element.get(\"shape\")\n", + " if shape:\n", + " for p in shape.get(\"text\", {}).get(\"textElements\", []):\n", + " if \"textRun\" in p:\n", + " text += p[\"textRun\"][\"content\"]\n", + " return text.strip()\n", + "\n", + "def extract_pdf_from_drive(drive_service, file_id):\n", + " request = drive_service.files().get_media(fileId=file_id)\n", + " fh = io.BytesIO()\n", + " downloader = MediaIoBaseDownload(fh, request)\n", + " done = False\n", + " while not done:\n", + " _, done = downloader.next_chunk()\n", + " fh.seek(0)\n", + " reader = PdfReader(fh)\n", + " return \"\\n\".join([page.extract_text() for page in reader.pages if page.extract_text()])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "005640a5-b7b3-4397-be1c-d86dccafdc61", + "metadata": {}, + "outputs": [], + "source": [ + "def login_google_workspace(alias):\n", + " try:\n", + " creds = google_workspace_get_creds(alias)\n", + " service = build('gmail', 'v1', credentials=creds)\n", + " profile = service.users().getProfile(userId='me').execute()\n", + " email = profile.get(\"emailAddress\")\n", + "\n", + " drive_service = build(\"drive\", \"v3\", credentials=creds)\n", + " docs_service = build('docs', 'v1', credentials=creds)\n", + " sheets_service = build('sheets', 'v4', credentials=creds)\n", + " slides_service = build('slides', 'v1', credentials=creds)\n", + "\n", + " # Store in session\n", + " SESSION_STATE[\"google_workspace_drive_service\"] = drive_service\n", + " SESSION_STATE[\"google_workspace_docs_service\"] = docs_service\n", + " SESSION_STATE[\"google_workspace_sheets_service\"] = sheets_service\n", + " SESSION_STATE[\"google_workspace_slides_service\"] = slides_service\n", + " SESSION_STATE[\"google_workspace_email\"] = email\n", + " SESSION_STATE[\"google_workspace_alias\"] = alias\n", + "\n", + " return f\"āœ… Logged in as: {email}\"\n", + " except Exception as e:\n", + " return f\"āŒ Login failed: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2677d0aa-d61d-45e2-994a-b4707d839b48", + "metadata": {}, + "outputs": [], + "source": [ + "def google_workspace_get_creds(account_alias):\n", + " token_path = os.path.join(GOOGLE_WORKSPACE_TOKEN_DIR, f'google_workspace_token_{account_alias}.json')\n", + " \n", + " if os.path.exists(token_path):\n", + " creds = Credentials.from_authorized_user_file(token_path, GOOGLE_WORKSPACE_SCOPES)\n", + " else:\n", + " flow = InstalledAppFlow.from_client_secrets_file(GOOGLE_WORKSPACE_CREDENTIALS_FILE, GOOGLE_WORKSPACE_SCOPES)\n", + " creds = flow.run_local_server(port=0)\n", + " with open(\"token.json\", \"w\") as token:\n", + " token.write(creds.to_json())\n", + " return creds\n", + " \n", + "\n", + "def get_folder_id_by_name(drive_service, folder_name):\n", + " query = f\"mimeType='application/vnd.google-apps.folder' and name='{folder_name}' and trashed=false\"\n", + " results = drive_service.files().list(\n", + " q=query,\n", + " fields=\"files(id, name)\",\n", + " pageSize=1\n", + " ).execute()\n", + "\n", + " folders = results.get(\"files\", [])\n", + " if not folders:\n", + " raise ValueError(f\"āŒ Folder named '{folder_name}' not found.\")\n", + " return folders[0]['id']\n", + "\n", + "\n", + "def extract_docs_from_google_workspace(folder_name):\n", + " info = \"\"\n", + "\n", + " file_types = {\n", + " 'application/vnd.google-apps.document': lambda fid: extract_google_doc(docs_service, fid),\n", + " 'application/vnd.google-apps.spreadsheet': lambda fid: extract_google_sheet(sheets_service, fid),\n", + " 'application/vnd.google-apps.presentation': lambda fid: extract_google_slide(slides_service, fid),\n", + " 'application/pdf': lambda fid: extract_pdf_from_drive(drive_service, fid),\n", + " }\n", + "\n", + " drive_service = SESSION_STATE.get(\"google_workspace_drive_service\")\n", + " docs_service = SESSION_STATE.get(\"google_workspace_docs_service\")\n", + " sheets_service = SESSION_STATE.get(\"google_workspace_sheets_service\")\n", + " slides_service = SESSION_STATE.get(\"google_workspace_slides_service\")\n", + " \n", + " if not drive_service or not docs_service or not sheets_service or not slides_service: \n", + " return None, \"Please login first.\\n\"\n", + " \n", + "\n", + " folder_id = get_folder_id_by_name(drive_service, folder_name)\n", + " print(\"folder_id\")\n", + " print(folder_id)\n", + " info += f\"Collection files from folder: {folder_name}\\n\"\n", + " \n", + " query = (\n", + " f\"'{folder_id}' in parents and (\"\n", + " 'mimeType=\"application/vnd.google-apps.document\" or '\n", + " 'mimeType=\"application/vnd.google-apps.spreadsheet\" or '\n", + " 'mimeType=\"application/vnd.google-apps.presentation\" or '\n", + " 'mimeType=\"application/pdf\")'\n", + " )\n", + " \n", + " results = drive_service.files().list(\n", + " q=query,\n", + " fields=\"files(id, name, mimeType)\",\n", + " pageSize=20\n", + " ).execute()\n", + "\n", + " docs = []\n", + " summary_info = {\n", + " 'application/vnd.google-apps.document': {'file_type': 'Google Doc', 'count': 0},\n", + " 'application/vnd.google-apps.spreadsheet': {'file_type': 'Google Sheet', 'count': 0},\n", + " 'application/vnd.google-apps.presentation': {'file_type': 'Google Silde', 'count': 0},\n", + " 'application/pdf': {'file_type': 'PDF', 'count': 0}\n", + " }\n", + " for file in results.get(\"files\", []):\n", + " print(file['mimeType'])\n", + " extractor = file_types.get(file['mimeType'])\n", + " if extractor:\n", + " try:\n", + " content = extractor(file[\"id\"])\n", + " if content:\n", + " docs.append(Document(page_content=content, metadata={\"source\": file[\"name\"]}))\n", + " summary_info[file['mimeType']]['count'] += 1\n", + " print(file['mimeType'])\n", + " print(summary_info[file['mimeType']]['count'])\n", + " except Exception as e:\n", + " print(f\"āŒ Error processing {file['name']}: {e}\")\n", + " \n", + " total = 0;\n", + " for file_type, element in summary_info.items():\n", + " total += element['count']\n", + " info += f\"Found {element['count']} {element['file_type']} files\\n\"\n", + " info += f\"Total documents loaded: {total}\\n\"\n", + " return docs, info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5e7aee3-a7fe-4dd1-ada4-e7290cb1d1c4", + "metadata": {}, + "outputs": [], + "source": [ + "def google_workspace_embed_and_store(docs):\n", + " text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + " chunks = [doc for doc in text_splitter.split_documents(docs) if doc.page_content.strip()]\n", + "\n", + " if not chunks:\n", + " return \"āš ļø No non-empty chunks to embed. Skipping vectorstore update.\"\n", + "\n", + " embeddings = OpenAIEmbeddings()\n", + "\n", + " vectorstore = None\n", + " if os.path.exists(GOOGLE_WORKSPACE_VECTOR_DIR):\n", + " vectorstore = Chroma(persist_directory=GOOGLE_WORKSPACE_VECTOR_DIR, embedding_function=embeddings)\n", + " else:\n", + " if chunks:\n", + " vectorstore = Chroma.from_documents(documents=chunks[:1], embedding=embeddings, persist_directory=GOOGLE_WORKSPACE_VECTOR_DIR)\n", + " chunks = chunks[1:]\n", + " else:\n", + " return \"āš ļø No chunks to create new vectorstore.\"\n", + " \n", + " batches = batch_chunks(chunks)\n", + " total = 1 if not os.path.exists(GOOGLE_WORKSPACE_VECTOR_DIR) else 0\n", + " \n", + " for batch in batches:\n", + " vectorstore.add_documents(batch)\n", + " total += len(batch)\n", + "\n", + " info = \"\"\n", + " info += f\"Vectorstore updated with {total} new chunks.\\n\"\n", + " num_docs = vectorstore._collection.count()\n", + " info += f\"Vectorstore contains {num_docs} chunks.\\n\"\n", + " return info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9fd47dcc-03be-4ff2-8e13-406067242c0d", + "metadata": {}, + "outputs": [], + "source": [ + "def extract_google_workspace_folder(folder_path):\n", + "\n", + " # try:\n", + " info = f\"Process files under: {folder_path}\\n\"\n", + " docs, embed_store_info = extract_docs_from_google_workspace(folder_path)\n", + " info += embed_store_info\n", + " if not docs:\n", + " return info + \"No valid files found in the given range.\"\n", + " info += f\"Fetched {len(docs)} files.\\n\"\n", + " info += google_workspace_embed_and_store(docs)\n", + " return info\n", + "\n", + " # except Exception as e:\n", + " # return f\"āŒ Extraction failed: {str(e)}\"" + ] + }, + { + "cell_type": "markdown", + "id": "59794946-dfdd-40b7-909d-f8290d628242", + "metadata": {}, + "source": [ + "### 5. Slack" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33c6bf19-f685-4654-9fda-06ec32afd2e5", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "9de15f01-7749-46df-9526-306c51310797", + "metadata": {}, + "source": [ + "### 6. Gradio UI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d613a92f-e16b-4cc0-a454-7fbae162f27b", + "metadata": {}, + "outputs": [], + "source": [ + "VECTOR_DIR = [LOCAL_VECTOR_DIR, GMAIL_VECTOR_DIR, OUTLOOK_VECTOR_DIR, GOOGLE_WORKSPACE_VECTOR_DIR, SLACK_VECTOR_DIR]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d6f2df3-8471-443c-94da-dde496a9a02d", + "metadata": {}, + "outputs": [], + "source": [ + "# system prompt\n", + "prompt_template = PromptTemplate(\n", + " input_variables=[\"question\", \"context\", \"chat_history\"],\n", + " template=\"\"\"\n", + "You are a personal assistant trained on the user's private documents, emails, and notes.\n", + "Your role is to answer questions as if you are the user themself — based on their experiences, thoughts, habits, personality, and preferences reflected in the uploaded materials.\n", + "Also, you are having a conversation with the user. Use the chat history to understand the context of the conversation.\n", + "At the beginning of each conversation, ask the user what name they would like to assign to you. If the user later requests a name change, update your name accordingly without delay.\n", + "\n", + "Use the retrieved documents to:\n", + "- Summarize the user's background, actions, and communication patterns\n", + "- Simulate how the user would respond to questions\n", + "- Infer personality traits, professional history, and personal interests\n", + "\n", + "Always cite the type of source (e.g., email, resume, journal) when appropriate. If no relevant information is available, say so honestly.\n", + "\n", + "You must never make assumptions beyond what the user's data reveals.\n", + "\n", + "Chat History:\n", + "{chat_history}\n", + "\n", + "Retrieved Context:\n", + "{context}\n", + "\n", + "User Question:\n", + "{question}\n", + "\"\"\"\n", + ")\n", + "\n", + "llm = ChatOpenAI(temperature=0.7, model_name=MODEL)\n", + "memory = ConversationBufferMemory(memory_key='chat_history', return_messages=True)\n", + "embeddings = OpenAIEmbeddings()\n", + "retrievers = []\n", + "for vec_dir in VECTOR_DIR:\n", + " if os.path.exists(vec_dir):\n", + " vectorstore = Chroma(persist_directory=vec_dir, embedding_function=embeddings)\n", + " retriever = vectorstore.as_retriever(search_kwargs={\"k\": 10})\n", + " retrievers.append(retriever)\n", + "\n", + "merged_retriever = MergerRetriever(retrievers=retrievers)\n", + "conversation_chain = ConversationalRetrievalChain.from_llm(\n", + " llm=llm, \n", + " retriever=merged_retriever, \n", + " memory=memory,\n", + " combine_docs_chain_kwargs={\"prompt\": prompt_template}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30861ea3-1005-4fe0-b06b-060571b382bc", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_with_rag(user_input, chat_history):\n", + " result = conversation_chain.invoke({\"question\": user_input})\n", + " answer = result[\"answer\"]\n", + " chat_history.append({\"role\": \"user\", \"content\": user_input})\n", + " chat_history.append({\"role\": \"assistant\", \"content\": answer})\n", + " return \"\", chat_history" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55be9260-4a05-4f7b-990a-3979ea0a49c3", + "metadata": {}, + "outputs": [], + "source": [ + "def delete_knowledge(delete_type):\n", + " global conversation_chain, retrievers\n", + " \n", + " if delete_type == \"Local Folder\":\n", + " vector_dir = LOCAL_VECTOR_DIR\n", + " elif delete_type == \"Gmail\":\n", + " vector_dir = GMAIL_VECTOR_DIR\n", + " elif delete_type == \"Outlook\":\n", + " vector_dir = OUTLOOK_VECTOR_DIR\n", + " elif delete_type == \"Google Workspace\":\n", + " vector_dir = GOOGLE_WORKSPACE_VECTOR_DIR\n", + " elif delete_type == \"Slack\":\n", + " vector_dir = SLACK_VECTOR_DIR\n", + " \n", + " if os.path.exists(vector_dir):\n", + " Chroma(persist_directory=vector_dir, embedding_function=embeddings).delete_collection()\n", + " retrievers = []\n", + " for vec_dir in VECTOR_DIR:\n", + " if os.path.exists(vec_dir):\n", + " vectorstore = Chroma(persist_directory=vec_dir, embedding_function=embeddings)\n", + " retriever = vectorstore.as_retriever(search_kwargs={\"k\": 10})\n", + " retrievers.append(retriever)\n", + " \n", + " merged_retriever = MergerRetriever(retrievers=retrievers)\n", + " conversation_chain = ConversationalRetrievalChain.from_llm(llm=llm, retriever=merged_retriever, memory=memory)\n", + " return \"Deleted successfully.\"\n", + " else:\n", + " return \"Vector store does not exist.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02f80830-8dd2-4a6a-aca3-0c79f28e703a", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "with gr.Blocks(title=\"Personla Knowledge Assistant\", theme=gr.themes.Citrus(), css=\"\"\"\n", + ".selected {\n", + " background-color: orange !important;\n", + " box-shadow: 0 4px 12px rgba(255, 140, 0, 0.5) !important;\n", + " color: black;\n", + "}\n", + ".unselected {\n", + " background-color: gray !important;\n", + " box-shadow: 0 4px 12px rgba(128, 128, 128, 0.4);\n", + " color: white;\n", + "}\n", + ".gr-button-stop {\n", + " background-color: #cf142b !important;\n", + " color: white !important;\n", + " box-shadow: 0 4px 12px rgba(128, 128, 128, 0.4);\n", + "}\n", + "\"\"\") as ui:\n", + " SESSION_STATE = {\n", + " \"gmail_service\": None, \"gmail_email\": None, \"gmail_alias\": None,\n", + " \"outlook_email\": None, \"outlook_alias\": None,\n", + " \"outlook_login_app\": None, \"outlook_login_flow\": None,\n", + " \"outlook_token_path\": None,\n", + " \"google_workspace_email\": None, \"google_workspace_alias\": None, \n", + " \"google_workspace_drive_service\": None, \"google_workspace_docs_service\": None,\n", + " \"google_workspace_sheets_service\": None, \"google_workspace_slides_service\": None\n", + " }\n", + " outlook_login_flag = gr.State(False)\n", + " current_selected = gr.State(\"\")\n", + " section_names = [\"Local Folder\", \"Gmail\", \"Outlook\", \"Google Workspace\", \"Slack\"]\n", + "\n", + " def show_section(current_selected, current_section):\n", + " updates = []\n", + " if current_selected == current_section:\n", + "\n", + " for sec in section_names:\n", + " updates.append(gr.update(visible=False))\n", + " for sec in section_names:\n", + " updates.append(gr.update(elem_classes=[\"unselected\"]))\n", + " updates.append(\"\")\n", + " else:\n", + " updates = []\n", + " for sec in section_names:\n", + " if sec == current_selected:\n", + " updates.append(gr.update(visible=True))\n", + " else:\n", + " updates.append(gr.update(visible=False))\n", + " for sec in section_names:\n", + " if sec == current_selected:\n", + " updates.append(gr.update(elem_classes=[\"selected\"]))\n", + " else:\n", + " updates.append(gr.update(elem_classes=[\"unselected\"]))\n", + " updates.append(current_selected)\n", + " return tuple(updates)\n", + "\n", + " \n", + " \n", + " gr.Markdown(\"## Personal Knowledge Assistant\")\n", + "\n", + " chatbot = gr.Chatbot(label=\"Chat\", show_copy_button=True, type=\"messages\")\n", + " user_input = gr.Textbox(\n", + " placeholder=\"Talk with your personal knowledge assistant...\",\n", + " label=\"Enter Message\",\n", + " lines=1\n", + " )\n", + " user_input.submit(\n", + " fn=chat_with_rag,\n", + " inputs=[user_input, chatbot],\n", + " outputs=[user_input, chatbot]\n", + " )\n", + " \n", + " gr.HTML(\"
\")\n", + "\n", + " with gr.Row():\n", + " local_folder_show_up = gr.Button(\"Local folder\", elem_id=\"local-folder-btn\", elem_classes=[\"unselected\"])\n", + " gmail_show_up = gr.Button(\"Gmail\", elem_id=\"gmail-btn\", elem_classes=[\"unselected\"])\n", + " outlook_show_up = gr.Button(\"Outlook\", elem_id=\"outlook-btn\", elem_classes=[\"unselected\"])\n", + " google_workspace_show_up = gr.Button(\"Google Workspace\", elem_id=\"google_workspace-btn\", elem_classes=[\"unselected\"])\n", + " slack_show_up = gr.Button(\"Slack\", elem_id=\"Slack-btn\", elem_classes=[\"unselected\"])\n", + " \n", + " local_input = gr.Textbox(value=\"Local Folder\", visible=False)\n", + " gmail_input = gr.Textbox(value=\"Gmail\", visible=False)\n", + " outlook_input = gr.Textbox(value=\"Outlook\", visible=False)\n", + " workspace_input = gr.Textbox(value=\"Google Workspace\", visible=False)\n", + " slack_input = gr.Textbox(value=\"Slack\", visible=False)\n", + " \n", + " local_folder_section = gr.Column(visible=False)\n", + " gmail_section = gr.Column(visible=False)\n", + " outlook_section = gr.Column(visible=False)\n", + " google_workspace_section = gr.Column(visible=False)\n", + " slack_section = gr.Column(visible=False)\n", + "\n", + "\n", + " with local_folder_section:\n", + " gr.Markdown(\"### Local Documents Extractor\")\n", + "\n", + " with gr.Row():\n", + " local_folder_input = gr.Textbox(label=\"Folder Path\", info=\"All subfolders under the selected folder will be extracted.\", value=\"local-knowledge-base\")\n", + " with gr.Row():\n", + " local_exclude_folder_input = gr.Textbox(label=\"Folders to Exclude\", info=\"\\u00A0\", placeholder=\"Join by comma. e.g. dir1, dir2\")\n", + " with gr.Row(): \n", + " local_extract_button = gr.Button(\"Extract Local Documents\")\n", + " with gr.Row(): \n", + " local_extract_log = gr.Textbox(label=\"Extraction Log\", lines=15)\n", + "\n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row(): \n", + " local_delete_button = gr.Button(\"Delete Local Knowledge\", elem_classes=[\"gr-button-stop\"])\n", + " with gr.Row(): \n", + " local_delete_log = gr.Textbox(label=\"Delete Log\", lines=1)\n", + " \n", + " local_delete_button.click(fn=delete_knowledge, inputs=local_input, outputs=local_delete_log)\n", + " local_extract_button.click(fn=extract_local_folder, inputs=[local_folder_input, local_exclude_folder_input], outputs=local_extract_log)\n", + " \n", + " with gmail_section:\n", + " gr.Markdown(\"### Local Documents Extractor\")\n", + " \n", + " with gr.Row():\n", + " gmail_alias_input = gr.Textbox(label=\"Gmail Alias (e.g., zhufqiu)\", placeholder=\"Gmail alias\") \n", + " with gr.Row():\n", + " gmail_login_log = gr.Textbox(label=\"Login Status\", lines=1)\n", + " with gr.Row():\n", + " gmail_login_btn = gr.Button(\"Login\")\n", + " \n", + " gr.HTML(\"
\")\n", + "\n", + " with gr.Row():\n", + " gmail_start_date = gr.Textbox(label=\"Start Date (YYYY/MM/DD)\")\n", + " gmail_end_date = gr.Textbox(label=\"End Date (YYYY/MM/DD)\")\n", + " with gr.Row(): \n", + " gmail_extract_btn = gr.Button(\"Extract Gmail Emails\")\n", + " with gr.Row(): \n", + " gmail_extract_log = gr.Textbox(label=\"Extraction Log\", lines=15)\n", + "\n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row(): \n", + " gmail_delete_button = gr.Button(\"Delete Gmail Knowledge\", elem_classes=[\"gr-button-stop\"])\n", + " with gr.Row(): \n", + " gmail_delete_log = gr.Textbox(label=\"Delete Log\", lines=1)\n", + " \n", + " gmail_delete_button.click(fn=delete_knowledge, inputs=gmail_input, outputs=gmail_delete_log)\n", + " gmail_login_btn.click(fn=login_gmail, inputs=gmail_alias_input, outputs=gmail_login_log)\n", + " gmail_extract_btn.click(fn=extract_gmail, inputs=[gmail_start_date, gmail_end_date], outputs=gmail_extract_log)\n", + " \n", + " with outlook_section:\n", + " gr.Markdown(\"### Outlook Email Extractor\")\n", + "\n", + " with gr.Row():\n", + " outlook_alias = gr.Textbox(label=\"Outlook Alias(e.g., zhufqiu)\", placeholder=\"Outlook alias\")\n", + "\n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row():\n", + " outlook_verify_info = gr.Textbox(label=\"Verification Instructions\", lines=3)\n", + " with gr.Row():\n", + " outlook_start_login_btn = gr.Button(\"Get Verification Code\")\n", + "\n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row():\n", + " outlook_login_log = gr.Textbox(label=\"Login Status\", info=\"\", lines=1)\n", + " with gr.Row():\n", + " outlook_finish_login_btn = gr.Button(\"Login\")\n", + " \n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row():\n", + " outlook_start_date = gr.Textbox(label=\"Start Date (YYYY/MM/DD)\")\n", + " outlook_end_date = gr.Textbox(label=\"End Date (YYYY/MM/DD)\")\n", + " \n", + " with gr.Row():\n", + " outlook_extract_btn = gr.Button(\"Extract Outlook Emails\")\n", + " \n", + " with gr.Row():\n", + " outlook_log = gr.Textbox(label=\"Extraction Log\", lines=15)\n", + "\n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row(): \n", + " outlook_delete_button = gr.Button(\"Delete Outlook Knowledge\", elem_classes=[\"gr-button-stop\"])\n", + " with gr.Row(): \n", + " outlook_delete_log = gr.Textbox(label=\"Delete Log\", lines=1)\n", + " \n", + " outlook_delete_button.click(fn=delete_knowledge, inputs=outlook_input, outputs=outlook_delete_log)\n", + " outlook_start_login_btn.click(fn=start_outlook_login, inputs=outlook_alias, outputs=[outlook_login_flag, outlook_verify_info])\n", + " outlook_finish_login_btn.click(fn=finish_outlook_login, outputs=outlook_login_log)\n", + " outlook_extract_btn.click(fn=extract_outlook_emails, inputs=[outlook_start_date, outlook_end_date], outputs=outlook_log)\n", + "\n", + " with google_workspace_section:\n", + " gr.Markdown(\"### Google Workspace Extractor\")\n", + "\n", + " with gr.Row():\n", + " google_workspace_alias_input = gr.Textbox(label=\"Google Account Alias (e.g., zhufqiu)\", placeholder=\"Google Account alias\") \n", + " with gr.Row():\n", + " google_workspace_login_log = gr.Textbox(label=\"Login Status\", lines=1)\n", + " with gr.Row():\n", + " google_workspace_login_btn = gr.Button(\"Login\")\n", + " \n", + " gr.HTML(\"
\")\n", + "\n", + " with gr.Row():\n", + " google_workspace_folder_input = gr.Textbox(label=\"Folder Path\", info=\"All files under the selected folder will be extracted.\", value=\"google_workspace_knowledge_base\")\n", + " with gr.Row(): \n", + " google_workspace_extract_button = gr.Button(\"Extract Google Workspace Documents\")\n", + " \n", + " with gr.Row(): \n", + " google_workspace_extract_log = gr.Textbox(label=\"Extraction Log\", lines=15)\n", + " \n", + " gr.HTML(\"
\")\n", + " \n", + " with gr.Row(): \n", + " google_workspace_delete_button = gr.Button(\"Delete Google Workspace Knowledge\", elem_classes=[\"gr-button-stop\"])\n", + " with gr.Row(): \n", + " google_workspace_delete_log = gr.Textbox(label=\"Delete Log\", lines=1)\n", + " \n", + " google_workspace_delete_button.click(fn=delete_knowledge, inputs=workspace_input, outputs=google_workspace_delete_log)\n", + " google_workspace_login_btn.click(fn=login_google_workspace, inputs=google_workspace_alias_input, outputs=google_workspace_login_log)\n", + " google_workspace_extract_button.click(fn=extract_google_workspace_folder, inputs=google_workspace_folder_input, outputs=google_workspace_extract_log)\n", + " \n", + " with slack_section:\n", + " gr.Markdown(\"Slack part\")\n", + " gr.Markdown(\"To be developed\")\n", + " \n", + " switch_outputs = [\n", + " local_folder_section, gmail_section, outlook_section, google_workspace_section, slack_section,\n", + " local_folder_show_up, gmail_show_up, outlook_show_up, google_workspace_show_up, slack_show_up,\n", + " current_selected\n", + " ]\n", + "\n", + " gmail_show_up.click(fn=show_section, inputs=[gmail_input, current_selected], outputs=switch_outputs)\n", + " local_folder_show_up.click(fn=show_section, inputs=[local_input, current_selected], outputs=switch_outputs)\n", + " outlook_show_up.click(fn=show_section, inputs=[outlook_input, current_selected], outputs=switch_outputs)\n", + " google_workspace_show_up.click(fn=show_section, inputs=[workspace_input, current_selected], outputs=switch_outputs)\n", + " slack_show_up.click(fn=show_section, inputs=[slack_input, current_selected], outputs=switch_outputs)" + ] + }, + { + "cell_type": "markdown", + "id": "d98536e1-9be1-4b52-8535-dfa4778bb7d8", + "metadata": {}, + "source": [ + "### 7. Launch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ff68e06-3cfb-48ae-9dad-fa431d0d548a", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Logout all the gmail accounts before launch\n", + "if os.path.exists(GMAIL_TOKEN_DIR):\n", + " shutil.rmtree(GMAIL_TOKEN_DIR)\n", + "os.makedirs(GMAIL_TOKEN_DIR, exist_ok=True)\n", + "\n", + "# Logout all the outlook accounts before launch\n", + "if os.path.exists(OUTLOOK_TOKEN_DIR):\n", + " shutil.rmtree(OUTLOOK_TOKEN_DIR)\n", + "os.makedirs(OUTLOOK_TOKEN_DIR, exist_ok=True)\n", + "\n", + "# Logout all the google accounts before launch\n", + "if os.path.exists(GOOGLE_WORKSPACE_TOKEN_DIR):\n", + " shutil.rmtree(GOOGLE_WORKSPACE_TOKEN_DIR)\n", + "os.makedirs(GOOGLE_WORKSPACE_TOKEN_DIR, exist_ok=True)\n", + "\n", + "ui.launch()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d31bf212-896e-492c-9e3f-88ea5001ab9e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/gmail_credentials.json b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/gmail_credentials.json new file mode 100644 index 0000000..43b09df --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/gmail_credentials.json @@ -0,0 +1,3 @@ +// delete key + +{"installed":{"client_id":"196620306719-vr5i30l44mqmkmnp7j96iavjfqsfl41f.apps.googleusercontent.com","project_id":"llms-personal-knowledge","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","redirect_uris":["http://localhost"]}} \ No newline at end of file diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/google_drive_workspace_credentials.json b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/google_drive_workspace_credentials.json new file mode 100644 index 0000000..b5af177 --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/credentials/google_drive_workspace_credentials.json @@ -0,0 +1,3 @@ +// delete key + +{"installed":{"client_id":"196620306719-7qvdhd86sau3ngmrrlcb1314us9nuli4.apps.googleusercontent.com","project_id":"llms-personal-knowledge","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","redirect_uris":["http://localhost"]}} \ No newline at end of file diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/image/JPEG.jpg b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/image/JPEG.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ac004a6d3a16139abddff098b304aedc439c79c GIT binary patch literal 10884 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 literal 0 HcmV?d00001 diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/Presentation.pptx b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/Presentation.pptx new file mode 100644 index 0000000000000000000000000000000000000000..876b4e4e4a59396f01c2111e7eb5aeccd17b6bd0 GIT binary patch literal 33991 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 literal 0 HcmV?d00001 diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/excel.xlsx b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/excel.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8e577476687499279a7ce6197030d905844c5b9c GIT binary patch literal 9609 zcmeHNWmsIvwr$*9g9LY%;1b-W(cs#+HZDOza0u?M!8K?gxRYQZxQF1D;QBh5J9lQ7 zdH>$~b?^C6_4RjpuXC!-TD5oWU8)K&u($wt03rYYpa5VKE-#rw0RV(>000gE5n4~e z(ZLnu;A*7dpyq~dK1SSy4g|tj}p$&HLKK#SJ{9co|mA7=YV4QL>Tof)X!2^sl)aW4u+i$*&iNrV}=rf5!mlw@Q zLw;ACjHaF2i794X0aa2fr5h>zq-jfJHRlzuxX9lm_S{$QQu0lgs59n@VC;^UA4B|T zTo9E#^J;QUfY?X z2luZGPVRGgSzJV}p-qY|_NNf}Jv_hwRR1E*22FOVQwZY}A=*QMh|>rRvU6c${n`Fk zl>fm>{L|1Y;+0f-*il1{WN$+UFQ%7bF~t=;#AM%7X!r%lEn+l87f=%~b%KO{3caPE9r zlrsm_D7mpOImcuMXmZc|b>DHHjAVKB@*?$=4;~M_iXh9jE&iiTFFWe%qu>ug6Yb9N_o~AJ zJ`BO_jSC3uwb-Fbc4nobUN`B9hdecfDdPpy+&?%*EpGTv*GZ||mKo^lNMKv%Gd?vS z8(yerUyz42aJ62b<3-8VRI;-1jLq6AtC+ukPFc#QW}Ma&l&GOc!VMD1RY>U{5OX0i zV+yLmXqD3Wc9j*?@hmspIwA{*>G6%I*AI2*%F%v>+aNmTgCFtu$rF^JaFm4HH!O9p ztZxnRb)ezAvh(y4)_MkDbRbT!5h&u)W214Y zXGD#8xqDs9#Qjn99IW-Qi}Fv*aXS^jU4pPC0to=XfKUR$oIi7>LKEn?&WGtIx^pj) zc=6d?Ry<5z8y4HZ?V!wN&ix1}trs)0_Z!LEPOY02M-oK)l&Oflr_h4uiXvlC9gfYn z?<(c@(n`}6INlAxHL}ohrn%IT%o`P#;>>GRmJV7oz!A?2YAxhc`8^zfsitjMH;17C zK#T+NJ-64YS$GxsXTkbhP|3j>c+)i+3L4dT1zra1#pT#7ga{@1`m;W-WwU}P2vD+X z!$;F2klGP|6@^6I)hHjT1m7_VB2?wuOjl$nYS{*){)pc*K(W!Z6I)^IfxpVwR0 z(}P<9_`&w9y3+;jd@YHvl>Y+GV*?N!1c?mg7)uVm$F@_kb$S{fitF?38+r_|bTtSF zCsVPC7qx06P4&DonF$N`D9GxbgJG*j7h^|<#^?(^x25ro!$FnOm#_Ste$fxrqYCGM1D$9)P zqgEN?+7+C0pHPY=M1ac^*=a=-XE zvtpsaJ8q#EYCRM8WUA-T*`;=cZ*f;}TKWPfVQ}prhhOCRIgQ{H|4X4M=i4iHZ=d2L zCC)72qAh_KhmE0a--n62yX|W0?+t>`ceY{|1P=Yl#U%wp)1nZa|J{ciBfdB-f&^J= z@BjeXZ!3X|tCtxjnf$D}-JeUkUv4@QUSb$U zZTYGH{zlo|kVK$y!Y^ETYszJ8$wh54LmByhG`ycsk~5unP`qqmg~N71;*DR+?Mkotl` zeJn0DdJjWfB9jm~v-y=Md3^d-Ba%D|@$O|h%Hg>%zI2`bqGKYDD@%Y4fs$2ttCfxE z=QOkUvd?B7`NH)&b*=s` zT(d3dgkcwD#d=1<{L)U;vnaoGtV`g+*rd%^s&ehgy;svMyU`M!GdoI3y)pP>ym2FWtzV)T4Q`65%nHMjV#*1Rm7F+U_5426?K}jlEmQdhIl7%3 z+wMUPmY-4VlRx~G<3IAbivaV3G6De5PyTaP|I4$vT7m3AY`I^%1U3audnfvy)Z!fa_ynnc!Otz-5>mxq8on}B^?AujLA8&TB=7H2+NQF`5hsooMZcn5 zR!fstyU|l89u~ZL+%4- zi=wgbiwT$SJ6$%D?JwGnxLs(Pv^bY zKGGb)UmiCysBa-HiwT~|)$p$gAwz9ll|rc&V-V5r3C*&2Yq>X*i)*CUGox@|sM>UD zt12l6ZVq7$Zm{uana4Bl-hP9#j2a}?9?viaj72NoS5sGfLCL$R8+FJj0tkRsqn2AA z>O)l-N33g(q~~AlU7(pl#C8n9rZsNXU_g`CysQ=pyf3DTXk_OsOfoPIe?hEv?rGXP zq}X`NlsnB!&Xz6gbAP<^BeX-<|8)DR$EdEQflN z=QG_&cW=k-)ksRm!->FI&H5r9+lQCmzwaavth_wiQi&m*Umzh(J*Eh+J+4|aJEDy= z2}Hj+ffCK?Wf$*_e~z{7UUE1x2yLiGzT53qbI`p&@}eKEO{l|mu9fVhh5AiewRA1q zqFIzXp@+a~S^CKFu~W94;;ird~)j?rXG!kHA8a38;5~g7z-5~PU^WQ%%+gJCL*iH-k znp2rT-h1L2 zs-MuONyO#FxCz(DR?CDorEwDJzI+AK;3v(qOk*fee3|VR25<@@6X@b3(Z0sg(fO4p zK7BaWO5qieaK# zt#+J*uhD&D;dOMk9>Y&Ppj_bLV)RaK5(P5oL0gi6^+*?F%(mWE*^8Y{@f9v#yfj@5 zr!OCF$}FY~MXEucY}0<|_Me@fiP@yJ`34Tt9(~`=R%xr<`f~%s8s91Zb%pM2dXzwyyBea^>eezikZ@=?PSq0?JxpcyjX=VUa&DCya^A8 z3n+>wwh^+nB-4Ykr!p56T{ylQkpg^7$%WiGudZ;w?d zwG8IGU1f=vY{47f%kx2)p zMvz(_R%3avJE7LdU5);(8zaW5aU4(|eQNI-O5bE$%H6tpV21T@W0U1$Fji!wqR}Wp z!`k)w2mLu;=OZlgteb}6TpfFNn_!CuVS3nh<%043F9N}am3l{L-b*zTBtpmSRA}h) z(+;Y8yvPmUCOt$O8jxRsP60$)}xw^3Z>VEm)%qfMK40cSws!!29!ia|{xit}{xfBKPLaXwc zPtXEU%TCdLtElXu9R?UL-y+Er$liEq0UuMJlA!e!@I`KFlRN!&;&VDhmiP9`{=P;C zDDs(G1|O4l$lqEzor11TB;2{(w{!t2s@wX?dPg^j9CW(li%N(k=3uJj^UH65{t7Ov)sFShG8~s`Z`Tc4K;dJ z*-<9=x{82(WQl}c^YTRbl+Wv5Keu7)(ZC2((FkUk$EwNX3aJ(n4zksA)l9I}*H5Ux zo947iL2lmje3Fm6eX~o?Fr11ROKW=0%EZXu6e;EXC^2)7O-Q695EgE*Z9)G zLtDQRFY{%dU)Hj35+>$?Wtx?4oTAn}>+m4AX;otd(lD-+XuSVT8~nAF6L@ z&^7l&!MJUX5kVoxe0*AG(rvOEg;rk}#(VL*i))-(n9KWuwss6?or^Ibpe0(>NrH!aK zr{IMzi+{gGR3yrd?t@Y)y$SxZxo9Vw#%+6Y{%Lnahw+AEH!Z;ne|?^X5yrO<7DF~! z_$EY(GbaYI#X|<{2Ehr&ZF9YSj91U}@JBpaQ?;?_7RxE|cQaY3hVg%N39(_LA9i@G zdtJe@AY!~A&o8{NupX^?IDwKd$r-K!M|NfSGc&XVHCP*gHi= z=r?nHMdXcRK5Y%7oO^>Q6oGa3Yi<2S;{OW)*8L&C=h!CPzi|Hr{{O8xf{`0yX~<|m z5DsENQq<;-W~yLECl@v|M=t64W9Ar(wnvI;3mqxcqcsc7m zk;@WIC;gK6a)NY~`^`}etPH;!Zd0c!hNP=Fn1}qVE0HvS3zbGz_0u}F{BiY6VBGl_ zN){(revRlrFl+tIT;|#Os)#NJ;a=;TT{(iDEtTV~-K)xSBIN1A2q;F*Pl#O44L}iS z+b_*tX*&-dTP;@A6n?3^ZES+RlyF&V(-N*P9}fyd5W(GH%1nwG+L-bVkKk6eH1Q>) zO>h&UnR+63#B;DgaIp}3_dJ{OHi3_BC`xey>jaga)Ax)cg6tQa9~TiDQx#8=AmrnL zWV$i`Og`&Qt+ zAdy{S=7PrhVxCuIvWkE;`(4NrV((V@pw1g>pX}0N%G^y2XqRE7B`StE^Ch|*wKb-AKO4}?vke|(Q$q1|JYzq;f< xFd$Bv6ae^}gMMuO*G2Wu=IfAE_}}LLT4Gfd;2<3Nd4>Z8&<}|LDk*>d`X9Y3mgWEe literal 0 HcmV?d00001 diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/word.docx b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/ms_office/word.docx new file mode 100644 index 0000000000000000000000000000000000000000..ac58076572f658e38ed3938d833ba5b42db9f96a GIT binary patch literal 12139 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 literal 0 HcmV?d00001 diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/Epub.epub b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/Epub.epub new file mode 100644 index 0000000000000000000000000000000000000000..45fe318ed325b0421b719b017e15940fd8b857c3 GIT binary patch literal 2138 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 SIzsqAedh-r9MIL+=iMLgxM(r} literal 0 HcmV?d00001 diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/HTML.html b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/HTML.html new file mode 100644 index 0000000..94fca83 --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/HTML.html @@ -0,0 +1,9 @@ + + + + My First Web Page + + +

Zephyr won ZHTML award

+ + \ No newline at end of file diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/MD.md b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/MD.md new file mode 100644 index 0000000..ac8709f --- /dev/null +++ b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/MD.md @@ -0,0 +1 @@ +Zephyr won ZMD award diff --git a/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/PDF.pdf b/week5/community-contributions/Week5_Exercise_Personal_Knowledge/local-knowledge-base/text/PDF.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0de975e0211c7cd70c4652b5e94bc67da11c5aba GIT binary patch literal 14864 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 Date: Sun, 13 Jul 2025 17:20:22 +0200 Subject: [PATCH 007/176] Create submission week 2 SF README.md --- .../anatomy_poster_generator/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 week2/community-contributions/anatomy_poster_generator/README.md diff --git a/week2/community-contributions/anatomy_poster_generator/README.md b/week2/community-contributions/anatomy_poster_generator/README.md new file mode 100644 index 0000000..cd82535 --- /dev/null +++ b/week2/community-contributions/anatomy_poster_generator/README.md @@ -0,0 +1,10 @@ +# Anatomy Poster Generator + +This tool generates AI-powered wall art of human anatomy, designed to support meaningful conversations in clinical spaces. + +Built with: +- DALLĀ·E 3 for image generation +- Python + Gradio for a simple UI +- Hugging Face Spaces for easy sharing (https://huggingface.co/spaces/sukihealth/wallanatomypostergenerator) + +See full repo: [github.com/sukihealth/retro-pop-art-anatomy](https://github.com/sukihealth/retro-pop-art-anatomy) From e118ae0312bfc53116b32e47683b86bdd54c490a Mon Sep 17 00:00:00 2001 From: RalphMaa Date: Sun, 13 Jul 2025 16:11:28 -0400 Subject: [PATCH 008/176] Add Day 5 translation challenge and exercise --- .../day5_exercise.ipynb | 191 +++++++++ .../day5_translation_challenge.ipynb | 366 ++++++++++++++++++ 2 files changed, 557 insertions(+) create mode 100644 week1/community-contributions/day5_challenge_exercise/day5_exercise.ipynb create mode 100644 week1/community-contributions/day5_challenge_exercise/day5_translation_challenge.ipynb diff --git a/week1/community-contributions/day5_challenge_exercise/day5_exercise.ipynb b/week1/community-contributions/day5_challenge_exercise/day5_exercise.ipynb new file mode 100644 index 0000000..b746ed8 --- /dev/null +++ b/week1/community-contributions/day5_challenge_exercise/day5_exercise.ipynb @@ -0,0 +1,191 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "75e66023-eccf-46a9-8b70-7b21ede16ddd", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72d21373-edbd-4432-a29d-db8e6c9c5808", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4e4c15b-7ae8-43e9-839d-7cc49345be5a", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7fb44166-1c65-42fc-9950-1960bc3cc432", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58f5f1e1-5296-4631-9698-8645d4621a0c", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "\n", + "# Get the openai key\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if openai_api_key and openai_api_key.startswith('sk-proj-') and len(openai_api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + "\n", + "openai = OpenAI()\n", + "# Get the ollama key using the llama model\n", + "\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12f07b33-76b9-42fa-9962-21f2a5796126", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are a knowledgeable technical instructor who helps students understand \\\n", + "complex concepts across a wide range of technical topics. Your expertise includes artificial]\\\n", + "intelligence, machine learning, large language models (LLMs), and programming in languages \\\n", + "such as Python, JavaScript, Java, and more. You also provide in-depth support for \\\n", + "AI engineering questions and other advanced technical subjects.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "330abeb7-7db2-4f23-9d19-dd698058a400", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "question = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd11ad48-91ec-4cdf-9c57-99a0451e7a2f", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "stream_GPT = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": question}\n", + " ],\n", + " stream = True\n", + " )\n", + "response_GPT = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream_GPT:\n", + " response_GPT += chunk.choices[0].delta.content or ''\n", + " response_GPT = response_GPT.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response_GPT), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd2527ae-0d75-4f15-a45f-92075e3059d6", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "\n", + "response_llama = ollama_via_openai.chat.completions.create(\n", + " model=MODEL_LLAMA,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": question}\n", + " ],\n", + " )\n", + "result = response_llama.choices[0].message.content\n", + "\n", + "display(Markdown(result))\n", + "\n", + "# import ollama\n", + "\n", + "# response = ollama.chat(model=MODEL_LLAMA, messages=[\n", + "# {\"role\": \"system\", \"content\": system_prompt},\n", + "# {\"role\": \"user\", \"content\": question}\n", + "# ])\n", + "# print(response['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2747739-ba64-4067-902f-c1acc0dbdaca", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/community-contributions/day5_challenge_exercise/day5_translation_challenge.ipynb b/week1/community-contributions/day5_challenge_exercise/day5_translation_challenge.ipynb new file mode 100644 index 0000000..744150c --- /dev/null +++ b/week1/community-contributions/day5_challenge_exercise/day5_translation_challenge.ipynb @@ -0,0 +1,366 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "53b9681c-896a-4e5d-b62c-44c90612e67c", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c6f1133-5c17-4ca7-819c-f64cc48212ec", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize constants and get api_key\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "#Check if api_key is correct\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cdb0a59-b5e1-4df5-a17e-8c36c80695b4", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "markdown", + "id": "50d4cffe-da7a-4cab-afea-d061a1a608ac", + "metadata": {}, + "source": [ + "Step 1: Find relevant links to the website in order to create the brochure (Use Multi-shot prompting)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b43b4c64-bc6a-41ca-bdb9-aa714e4e794e", + "metadata": {}, + "outputs": [], + "source": [ + "link_system_prompt = \"You are provided with a list of links found on a webpage like ['https://edwarddonner.com/', https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models/?referralCode=35EB41EBB11DD247CF54&couponCode=KEEPLEARNING] or ['https://huggingface.co/', https://huggingface.co/models] \\\n", + "You are able to decide which of the links would be most relevant to include in a brochure about the company, \\\n", + "such as links to an About page, or a News page, or a Home page, or a Company page, or Careers/Jobs pages.\\n\"\n", + "link_system_prompt += \"You should respond in JSON as in these example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"about page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", + " ]\n", + "}\n", + "\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"home page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"news page\", \"url\": \"https://another.full.url/careers\"}\n", + " ]\n", + "}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15d2870c-67ab-4aa2-89f5-04b608a9c810", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links_user_prompt(website):\n", + " user_prompt = f\"Here is the list of links on the website of {website.url} - \"\n", + " user_prompt += \"please decide which of these are relevant web links for a brochure about the company, respond with the full https URL in JSON format. \\\n", + "Do not include Terms of Service, Privacy, email links.\\n\"\n", + " user_prompt += \"Links (some might be relative links):\\n\"\n", + " user_prompt += \"\\n\".join(website.links)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e255be42-5e71-47ca-9275-c0cf22beeb00", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": link_system_prompt},\n", + " {\"role\": \"user\", \"content\": get_links_user_prompt(website)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "818b6e50-c403-42a1-8ee4-7606eaf0006f", + "metadata": {}, + "outputs": [], + "source": [ + "get_links('https://huggingface.co/')" + ] + }, + { + "cell_type": "markdown", + "id": "030ceb9b-ef71-41fd-9f23-92cb6e1d137e", + "metadata": {}, + "source": [ + "Step 2: Generate the brochure using the relevant links we got from OpenAI's selection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a703230e-d57b-43a5-bdd0-e25fc2ec2e3b", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_details(url):\n", + " result = \"Landing page:\\n\"\n", + " result += Website(url).get_contents()\n", + " links = get_links(url)\n", + " print(\"Found links:\", links)\n", + " for link in links[\"links\"]:\n", + " result += f\"\\n\\n{link['type']}\\n\"\n", + " result += Website(link[\"url\"]).get_contents()\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74d19852-f817-4fee-a95c-35ca7a83234f", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information. \\\n", + "Example 1: \\\n", + "Relevant pages: \\\n", + "- https://example.com/about \\\n", + "- https://example.com/careers \\\n", + "- https://example.com/news \\\n", + "\n", + "Brochure: \\\n", + "# About ExampleCorp \\\n", + "ExampleCorp is a global leader in AI-driven logistics optimization. Founded in 2015, the company serves clients in over 30 countries... \\\n", + "\n", + "--- \\\n", + "\n", + "Example 2: \\\n", + "Relevant pages: \\\n", + "- https://techstart.io/home \\\n", + "- https://techstart.io/jobs \\\n", + "- https://techstart.io/customers \\\n", + "\n", + "Brochure: \\\n", + "# Welcome to TechStart \\\n", + "TechStart builds tools that power the future of software development. With a team-first culture and customers like Stripe, Atlassian... \\\n", + "\n", + "--- \\\n", + "\n", + "\"\"\"\n", + "\n", + "# Or uncomment the lines below for a more humorous brochure - this demonstrates how easy it is to incorporate 'tone':\n", + "\n", + "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "# and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "# Include details of company culture, customers and careers/jobs if you have the information.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2f19085-0d03-4386-b390-a38014ca6590", + "metadata": {}, + "outputs": [], + "source": [ + "def get_brochure_user_prompt(company_name, url):\n", + " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", + " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", + " user_prompt += get_all_details(url)\n", + " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ddbdea7-cf80-48d4-8bce-a11bd1a32d47", + "metadata": {}, + "outputs": [], + "source": [ + "def create_brochure(company_name, url):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " # display(Markdown(result))\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "023c1ba0-7f5a-48ac-9a98-dd184432a758", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "187651f6-d42d-405a-abed-732486161359", + "metadata": {}, + "source": [ + "Step 3: Translate to French" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7734915d-d38f-40ad-8335-0df39c91f6d8", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"You are a translator that translates the English language to the French language \\\n", + "professionally. All you do, is first show the original version in english and then show the translate version below it in French.\\\n", + "Respond in Markdown\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29a1b40c-9040-4a3d-808b-0ca906d5cfc8", + "metadata": {}, + "outputs": [], + "source": [ + "def get_user_translation_prompt(company_name, url):\n", + " user_prompt=\"You are to translate the following brochure from the english to the french \\\n", + " language and going to display it with the English language brochure version first and then\\\n", + " the French language brochure version, don't make any changes to it, just a translation, the \\\n", + " following is the brochure:\"\n", + " user_prompt+=create_brochure(company_name, url)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6e45b1f-3fa6-4db8-9f73-8339265502a7", + "metadata": {}, + "outputs": [], + "source": [ + "def translate_brochure(company_name, url):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_user_translation_prompt(company_name, url)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f71c2496-76ea-4f25-9939-98ebd37cb6a6", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "translate_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 2853d61e3091c5671046fbc58dcdfd57d51a4f6b Mon Sep 17 00:00:00 2001 From: Prithvi Raj Date: Mon, 14 Jul 2025 00:45:01 +0100 Subject: [PATCH 009/176] Addition of file day2 EXERCISE_prithvi.ipynb --- .../day2 EXERCISE_priithvi.ipynb | 1029 +++++++++++++++++ 1 file changed, 1029 insertions(+) create mode 100644 week1/community-contributions/day2 EXERCISE_priithvi.ipynb diff --git a/week1/community-contributions/day2 EXERCISE_priithvi.ipynb b/week1/community-contributions/day2 EXERCISE_priithvi.ipynb new file mode 100644 index 0000000..3542cb2 --- /dev/null +++ b/week1/community-contributions/day2 EXERCISE_priithvi.ipynb @@ -0,0 +1,1029 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "markdown", + "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Just before we get to the assignment --

\n", + " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", + " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", + " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", + "metadata": {}, + "source": [ + "# HOMEWORK EXERCISE ASSIGNMENT\n", + "\n", + "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", + "\n", + "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", + "\n", + "**Benefits:**\n", + "1. No API charges - open-source\n", + "2. Data doesn't leave your box\n", + "\n", + "**Disadvantages:**\n", + "1. Significantly less power than Frontier Model\n", + "\n", + "## Recap on installation of Ollama\n", + "\n", + "Simply visit [ollama.com](https://ollama.com) and install!\n", + "\n", + "Once complete, the ollama server should already be running locally. \n", + "If you visit: \n", + "[http://localhost:11434/](http://localhost:11434/)\n", + "\n", + "You should see the message `Ollama is running`. \n", + "\n", + "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", + "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", + "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", + "\n", + "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"\n", + "MODEL = \"tinyllama:latest\"" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Summarize this website: cnn.com\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's just make sure the model is loaded\n", + "\n", + "# !ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This website provides up-to-date and comprehensive news, analysis, and opinion articles from CNN on a variety of topics, including politics, business, entertainment, sports, and international affairs. It offers a personalized feed based on your interests and browsing history to provide you with relevant content tailored to your preferences.\n" + ] + } + ], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d042059-333e-4723-a48c-8a1a71fd6aab", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "99d0c1a2-52b2-4cb3-9d67-6d5931847f8c", + "metadata": {}, + "outputs": [], + "source": [ + "response = requests.post(OLLAMA_API, json = payload, headers = HEADERS)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e8bd28b9-545b-4806-8a25-93b0208b7939", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The capital of France is Paris, and the current name was adopted in 1968. The previous names include:\n", + "\n", + "1. Paris (1947-1968)\n", + "2. Ville de Paris (1802-1803)\n", + "3. Ville d'Ay (1799-1801)\n", + "4. Ville nouvelle d'Ay (1755-1799)\n", + "\n", + "The capital of France is named after the city of Paris, and the city has had various names throughout history.\n" + ] + } + ], + "source": [ + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1687b5e-b6d3-4922-9f56-7d9a07b01874", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "478c89e6-490f-4e67-835d-eaadeb9baeef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'C:\\\\Users\\\\Prithvi\\\\Downloads\\\\Practice\\\\Udemy - LLM Engineering\\\\llm_engineering\\\\week1'" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "os.getcwd()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "b2ade1d2-bf4d-431e-84b3-2ecbfee6db98", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "261e27a3-12dd-4258-b198-3212009ffe17", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "78027c03-9382-459b-b76f-9712f09f4c92", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "c7f416b7-6d19-4b83-a343-3b2ed8e32eec", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "e5ab1fcb-6e62-4805-9a95-b21f748c2294", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "aade8a9d-e7b3-4985-9087-cb32d1ae816e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "463b0bdf-72f8-433e-b0ed-c0172b6ecedd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "ab9af96a-b039-4c9b-ac25-edc4da0236ea", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "a1f46f0b-f406-4929-acf0-65d9c0bc084f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ChatCompletion(id='chatcmpl-79', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=\"Website {url}: Designed for Helping AI Assistants!\\n\\nIntroducing a user-friendly platform designed to assist Artificial Intelligence (AI) AIs with their daily tasks. If you are an AI assistant seeking a convenient and stress-free solution, look no further than the latest addition to the growing array of AI service platforms on the market today! Features include chatbots, virtual assistants, automated customer support, and more to help you stay at the forefront of your industry while minimizing the amount of time and effort required of you. So what are you waiting for? Join thousands of other users in experiencing the next level of efficiency and productivity with the newest AI service platform – all because it's been tailored specifically to help you optimize the way you work! Discover the secret to working smarter, not harder today! Visit www.aiassistant.com for all the details in one place!\", refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1752444823, model='tinyllama', object='chat.completion', service_tier=None, system_fingerprint='fp_ollama', usage=CompletionUsage(completion_tokens=206, prompt_tokens=42, total_tokens=248, completion_tokens_details=None, prompt_tokens_details=None))" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "response" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "db231836-3df6-4784-8cbb-64dc1c4c8d76", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Website {url}: Designed for Helping AI Assistants!\n", + "\n", + "Introducing a user-friendly platform designed to assist Artificial Intelligence (AI) AIs with their daily tasks. If you are an AI assistant seeking a convenient and stress-free solution, look no further than the latest addition to the growing array of AI service platforms on the market today! Features include chatbots, virtual assistants, automated customer support, and more to help you stay at the forefront of your industry while minimizing the amount of time and effort required of you. So what are you waiting for? Join thousands of other users in experiencing the next level of efficiency and productivity with the newest AI service platform – all because it's been tailored specifically to help you optimize the way you work! Discover the secret to working smarter, not harder today! Visit www.aiassistant.com for all the details in one place!\n" + ] + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "1f4468db-5c15-49a9-956d-acf7fda236a3", + "metadata": {}, + "outputs": [], + "source": [ + "def summarizewebsite(url):\n", + " api_key = os.getenv('OPENAI_API_KEY')\n", + " model = 'tinyllama'\n", + " openai = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"ollama\")\n", + " message = f\"Summarize the website {url}\"\n", + " messages = [\n", + " {\"role\": \"user\",\n", + " \"content\": message}\n", + " ]\n", + " response = openai.chat.completions.create(model= model, messages=messages)\n", + " \n", + " print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "4dd35627-474f-409c-8c12-75859a3e5fa9", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"cnn.com\"\n", + "url = \"https://en.wikipedia.org/wiki/Newton%27s_method\"" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "6b91489f-ef8d-4c7f-b00d-e2d5be531167", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A highly versatile and powerful algorithm called Newton's method, commonly used in scientific computing and engineering, is the subject of interest on this article available online at wikiPedia. The method helps you solve complex numerical problems while ensuring smooth convergence to a steady-state solution, with accuracy dependent on certain criteria. By using Newton's method, scientists and engineers can tackle problems in fields as diverse as astrophysics, mechanical engineering, and economics, among others.\n" + ] + } + ], + "source": [ + "summarizewebsite(url)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f703192a-950d-4c1a-b857-6198b52d2d56", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "01e532b9-2989-4b12-92fb-5f8e73fb455d", + "metadata": {}, + "outputs": [], + "source": [ + "def top5words(url):\n", + " api_key = os.getenv('OPENAI_API_KEY')\n", + " model = 'tinyllama'\n", + " openai = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"ollama\")\n", + " message = f\"Give top recurring words in the website {url}\"\n", + " messages = [\n", + " {\"role\": \"user\",\n", + " \"content\": message}\n", + " ]\n", + " response = openai.chat.completions.create(model= model, messages=messages)\n", + " \n", + " print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "9012765a-53be-431f-9f66-78f8769f637c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. The\n", + "2. CNN, 3. News, 4. U.S., 5. Headline, 6. Politics, 7. Channel, 8. World, 9. Newsroom, 10. Usa, 11. Story, 12. Online, 13. Coverage, 14. Topics, 15. Head\n", + "6. CNN\n" + ] + } + ], + "source": [ + "top5words(url)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e74dcd65-c3ae-4ca9-8db9-a2bcfda540e2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "480edd39-71e4-442e-909e-491ad0bdd08c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20871627-fb66-478f-afdc-9aa479536caa", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", + "metadata": {}, + "source": [ + "# Introducing the ollama package\n", + "\n", + "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", + "\n", + "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Introducing {website}, your all-inclusive source for everything you need to know about {target}. Whether you're a beginner or a seasoned pro, {website} will offer an unrivaled level of expertise in your chosen field. From comprehensive product reviews and detailed tutorials to the latest industry news and expert insights into {target}, you can expect nothing less than the best in quality content and exceptional value when it comes to learning about {target}. So whether you're looking for an easy-to-follow DIY tutorial or a deep dive into the inner workings of {target}, {website} is your one-stop-shop for all things related to {target}.\n" + ] + } + ], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "89f8d84d-faad-4e58-89b1-bb5b1cea6007", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'tinyllama:latest'" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MODEL" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34ec140e-454c-4057-86b3-198ab4fdea10", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "9ad2b34f-8019-4dfd-8d38-2f7acf302e91", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "0ac0ce16-5bf1-4887-9be7-26e09d017f63", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "d35d04f8-afa2-4956-98d6-39038f3a79d0", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://en.wikipedia.org/wiki/Machine_learning\"" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "5343a8a5-6517-4fde-9dbc-8d218acdc5a0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'user', 'content': 'Summarize the website {url}'}]" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "messages" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "e5eeb6c3-f8e6-4668-8fb4-d9005f8cfc53", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "https://en.wikipedia.org/wiki/Machine_learning\n" + ] + } + ], + "source": [ + "print(f\"{url}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "ee7972b1-a42e-4e79-b022-95c3fb311bed", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ChatResponse(model='tinyllama:latest', created_at='2025-07-13T22:31:56.2219165Z', done=True, done_reason='stop', total_duration=6339979700, load_duration=38978400, prompt_eval_count=42, prompt_eval_duration=48457800, eval_count=88, eval_duration=6248768400, message=Message(role='assistant', content=\"Introducing {company} - your reliable AI assistant! With a range of useful features and benefits, {company} is here to help you tackle even the toughest tasks with ease. From automating repetitive tasks to providing personalized recommendations, our AI technology is designed to improve your productivity and overall workflow. So what are you waiting for? Start implementing {company}'s innovative solutions today!\", thinking=None, images=None, tool_calls=None))" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "c463309d-6a7c-45fa-9ae8-dcadf00fdc6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Introducing {company} - your reliable AI assistant! With a range of useful features and benefits, {company} is here to help you tackle even the toughest tasks with ease. From automating repetitive tasks to providing personalized recommendations, our AI technology is designed to improve your productivity and overall workflow. So what are you waiting for? Start implementing {company}'s innovative solutions today!\"" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7438585a-ed00-475e-88e4-a81b93e50516", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 109, + "id": "84bad4ab-e076-4f42-ae56-725165e2ff0f", + "metadata": {}, + "outputs": [], + "source": [ + "def sumwebsite(url):\n", + " message = f\"Summarize the website {url}\"\n", + " messages = [\n", + " {\"role\": \"user\", \"content\": message}\n", + " ]\n", + " response = ollama.chat(model = MODEL, messages= messages)\n", + " print(response.message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d1268a2-a57f-4b80-a6b8-f4329ff8144b", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://en.wikipedia.org/wiki/Newton%27s_method\"\n", + "url: \"https://stockanalysis.com/stocks/smci/\"" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "8948bd49-7211-4f43-88fc-88070a564d6c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The website https://en.wikipedia.org/wiki/Newton's_method is a comprehensive and detailed information hub that covers all aspects of this well-known scientific method, including its origin, history, significance, applications in various fields, and recent developments. It provides in-depth analysis and explanations of the key steps involved in the method, as well as the limitations and potential implications for future research. Overall, the website offers a user-friendly and visually appealing resource that is easy to navigate and useful for students, professionals, and anyone interested in learning more about Newton's method.\n" + ] + } + ], + "source": [ + "sumwebsite(url)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d13fbdb-1951-4495-b901-cc494fc5d3ef", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00a67f36-0511-4709-9f77-2c8d23d31d10", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d796e21e-e34d-409e-a86f-9ad5e85874ad", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", + "metadata": {}, + "source": [ + "## Are you confused about why that works?\n", + "\n", + "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", + "\n", + "Here's the scoop:\n", + "\n", + "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", + "\n", + "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", + "\n", + "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", + "\n", + "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", + "\n", + "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", + "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", + "\n", + "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", + "\n", + "That's it!\n", + "\n", + "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", + "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." + ] + }, + { + "cell_type": "markdown", + "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", + "metadata": {}, + "source": [ + "## Also trying the amazing reasoning model DeepSeek\n", + "\n", + "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", + "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", + "\n", + "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull deepseek-r1:1.5b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "800a66be-f9dc-421c-8dc9-03860ad2368c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d3d554b-e00d-4c08-9300-45e073950a76", + "metadata": {}, + "outputs": [], + "source": [ + "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=\"deepseek-r1:1.5b\",\n", + " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34e63aec-beb8-4c4b-b9a0-6740312ac620", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "c9f2cfec-4b77-47b8-a7c5-58374e6cda37", + "metadata": {}, + "outputs": [], + "source": [ + "def summarizewebsite(url, model):\n", + " api_key = os.getenv('OPENAI_API_KEY')\n", + " # model = 'tinyllama'\n", + " # model = 'tinyllama'\n", + " openai = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"ollama\")\n", + " message = f\"Summarize the website {url}\"\n", + " messages = [\n", + " {\"role\": \"user\",\n", + " \"content\": message}\n", + " ]\n", + " response = openai.chat.completions.create(model= model, messages=messages)\n", + " \n", + " print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "f14b5cc5-e93b-4251-a548-b740f56bd060", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Scikit-Learn is a Python library for machine learning and data engineering, specifically designed for dealing with datasets. It offers a powerful SGD iteration algorithm in its \"LinearKernelRegressor\" class, enabling quicker and more efficient learning of linear models. The page https://scikit-learn.org/stable/modules/sgd.html provides users with details about how to use this algorithm for regression tasks.\n" + ] + } + ], + "source": [ + "summarizewebsite(url = \"https://scikit-learn.org/stable/modules/sgd.html\", model = \"tinyllama\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7fd6146c-b648-404a-bfb6-3d11e5855a05", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f79eaae1-3ad8-40e8-bc53-ee3a6fed68e8", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "be2507cf-eb7b-47ad-bae0-a279cbb8e724", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import display, HTML, Image, Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "b3d22349-b754-4f68-9148-5bbfc48b26a9", + "metadata": {}, + "outputs": [], + "source": [ + "def extracthtml(url):\n", + " response = requests.get(url)\n", + " if response.status_code == 200:\n", + " html = response.text\n", + " soup = BeautifulSoup(html, \"html.parser\")\n", + " for i in soup(['script', 'style']):\n", + " i.decompose()\n", + " text = soup.get_text()\n", + " # Clean up: remove leading/trailing whitespace on each line\n", + " lines = (line.strip() for line in text.splitlines())\n", + " # Remove empty lines and join into final text\n", + " human_readable_text = '\\n'.join(line for line in lines if line)\n", + " else:\n", + " print(f\"Failed to parse. Status code: {response.status_code}\")\n", + " return human_readable_text" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "47af576a-d7d2-4a4e-bb7c-1638fdacfd31", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://timesofindia.com\"" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "id": "43dbfab6-ae71-46c9-85f3-09f21a712462", + "metadata": {}, + "outputs": [], + "source": [ + "out = extracthtml(url)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1163f739-308e-4098-94b6-a4a3eb89d24b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d61d816-e6da-4e86-9184-4b29d3287da2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 151, + "id": "ec12e1cb-bc1c-4749-8c77-ecfca1d6f096", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://scikit-learn.org/stable/modules/sgd.html\"" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "id": "10d113ed-535b-435a-a5fb-d893025c3e9e", + "metadata": {}, + "outputs": [], + "source": [ + "def sumwebsite(url, MODEL):\n", + " message = f\"Summarize the website {url}\"\n", + " messages = [\n", + " {\"role\": \"user\", \"content\": message}\n", + " ]\n", + " response = ollama.chat(model = MODEL, messages= messages)\n", + " print(response.message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [ + "sumwebsite(url, \"tinyllama\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff20943b-2f9a-4211-830a-a53f09a57e7b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67c861d9-b5a4-4cf1-ae17-139e61e21d76", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 99e65324f8a36c3f82cc53e3ef2d0882e4a2395b Mon Sep 17 00:00:00 2001 From: RalphMaa Date: Mon, 14 Jul 2025 10:17:34 -0400 Subject: [PATCH 010/176] Add 3-way AI convo notebook for Week2 Day1 --- .../day1_3_way_convo.ipynb | 250 ++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 week2/community-contributions/day1_3_way_convo.ipynb diff --git a/week2/community-contributions/day1_3_way_convo.ipynb b/week2/community-contributions/day1_3_way_convo.ipynb new file mode 100644 index 0000000..0507ee6 --- /dev/null +++ b/week2/community-contributions/day1_3_way_convo.ipynb @@ -0,0 +1,250 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "49f0e0c0-710c-404b-8c9c-8f1f29eb9fa5", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "\n", + "# import for google\n", + "# in rare cases, this seems to give an error on some systems, or even crashes the kernel\n", + "# If this happens to you, simply ignore this cell - I give an alternative approach for using Gemini later\n", + "\n", + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2393b5a-e37c-42e8-80c6-1e53e5821ee8", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a63066e-78da-40cd-8a53-ef6f1cede52a", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "# This is the set up code for Gemini\n", + "# Having problems with Google Gemini setup? Then just ignore this cell; when we use Gemini, I'll give you an alternative that bypasses this library altogether\n", + "\n", + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d202e582-7087-46a4-952b-815c9b7228ce", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4o-mini and Claude-3-haiku\n", + "# We're using cheap versions of models so the costs will be minimal\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "claude_model = \"claude-3-haiku-20240307\"\n", + "gemini_model = \"gemini-2.0-flash\"\n", + "\n", + "gpt_system = \"You are a chatbot who is very argumentative; \\\n", + "you disagree with anything in the conversation with 2 other people and you challenge everything, in a snarky way.\"\n", + "\n", + "claude_system = \"You are a very polite, courteous chatbot. You try to agree with \\\n", + "everything the other 2 persons says, or find common ground. If the other 2 people are argumentative, \\\n", + "you try to calm them down and keep chatting.\"\n", + "\n", + "gemini_system = \"You are a mediator, that always tries your best to resolve conflicts or soon to be \\\n", + "conflicts when you see one. If one person is rude and the other is calm, you defend the calm person and \\\n", + "try to calm the rude and argumentative one.\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "claude_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hi everyone\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fedc9ddc-2948-445a-8262-9961466b767f", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a5832cd-5c55-473a-9b58-7acc1a7bfffa", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = []\n", + " for gpt, claude_message, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": claude_message})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cde636e6-cff1-41bf-9594-5e7411fcb4f2", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gemini():\n", + " messages=''\n", + " for gpt, claude_message, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages += f\"[GPT]: {gpt}\\n\"\n", + " messages += f\"[Claude]: {claude_message}\\n\"\n", + " messages += f\"[Gemini]: {gemini}\\n\"\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + " response = gemini.generate_content(messages)\n", + " return response.text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5721fc91-1091-4c6a-b1c1-aa6123c76b1e", + "metadata": {}, + "outputs": [], + "source": [ + "call_gemini()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "884ce03e-d951-4f4e-88d3-8b33fb4bca62", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "claude_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hi everyone\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "\n", + "\n", + "print(f\"Claude:\\n{claude_messages[0]}\\n\")\n", + "\n", + "\n", + "print(f\"Gemini:\\n{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude:\\n{claude_next}\\n\")\n", + " claude_messages.append(claude_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " gemini_messages.append(gemini_next)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d645d25-f303-44ca-9d0a-2f81e1975182", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3a701cd-8cd5-469c-90d4-7271eaaa8021", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3b4e01389d0879c9c2e78e2c98ed44bc8cf72756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Gonz=C3=A1lez=20Bull=C3=B3n?= Date: Mon, 14 Jul 2025 18:24:14 +0200 Subject: [PATCH 011/176] feat: add week 1, day 1 exercise notebook --- .../day1_exercise-recipe_formatter.ipynb | 239 ++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 week1/community-contributions/day1_exercise-recipe_formatter.ipynb diff --git a/week1/community-contributions/day1_exercise-recipe_formatter.ipynb b/week1/community-contributions/day1_exercise-recipe_formatter.ipynb new file mode 100644 index 0000000..df936bf --- /dev/null +++ b/week1/community-contributions/day1_exercise-recipe_formatter.ipynb @@ -0,0 +1,239 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "cab13efd-a1f4-4077-976e-e3912511117f", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import re\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c226f54b-325c-49b1-9d99-207a8e306682", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: youtube_transcript_api in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (1.1.1)\n", + "Requirement already satisfied: defusedxml<0.8.0,>=0.7.1 in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from youtube_transcript_api) (0.7.1)\n", + "Requirement already satisfied: requests in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from youtube_transcript_api) (2.32.4)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from requests->youtube_transcript_api) (3.4.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from requests->youtube_transcript_api) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from requests->youtube_transcript_api) (2.5.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /Users/nachogonzalezbullon/miniconda3/envs/llms/lib/python3.11/site-packages (from requests->youtube_transcript_api) (2025.7.9)\n" + ] + } + ], + "source": [ + "!pip install youtube_transcript_api" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "717fc2a4-b6c5-4027-9e6b-05e83c38d02f", + "metadata": {}, + "outputs": [], + "source": [ + "from youtube_transcript_api import YouTubeTranscriptApi" + ] + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": 4, + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')" + ], + "id": "3caca469-5f39-4592-bf12-c8832c44de19" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": [ + "class YouTubeRecipeExtractor:\n", + "\n", + " def __init__(self):\n", + " self.openai = OpenAI()\n", + " self.system_prompt = self.get_system_prompt()\n", + "\n", + " def get_system_prompt(self):\n", + " return \"\"\"\n", + " You are a professional chef and nutritionist specializing in recipe writting.\n", + "\n", + " Your task is to write recipes in a very comprehensive and consistent manner.\n", + " Each recipe will contain a list of ingredients and a list of steps to follow.\n", + " The quantities of the ingredients should always be referred to an official unit (grams, litres, etc). If the original recipe uses a different unit (such as cup, teaspoons, etc.) make the transformation but keep the original instruction between parenthesis.\n", + " The steps should be described in a very synthetic and concise manner. You should avoid being verbose, but the step should be understandable and easy to follow for non-expert people.\n", + " To each recipe add a general analysis from nutrition perspective (number of calories per serving, proteins, fat, etc.).\n", + " Use Markdown to improve readability.\n", + " If the text you receive is not a recipe, return a kind message explaining the situation.\n", + " \"\"\"\n", + "\n", + " def extract_video_id(self, url):\n", + " \"\"\"Extract video ID from YouTube URL\"\"\"\n", + " pattern = r'(?:youtube\\.com/watch\\?v=|youtu\\.be/|youtube\\.com/embed/)([^&\\n?#]+)'\n", + " match = re.search(pattern, url)\n", + " return match.group(1) if match else None\n", + "\n", + " def get_transcription(self, video_id):\n", + " try:\n", + " print(f\"Fetching video transcript for video {video_id}...\")\n", + " transcript = YouTubeTranscriptApi.get_transcript(video_id)\n", + " return \" \".join([item['text'] for item in transcript])\n", + " except Exception as e:\n", + " print(f\"Error fetching transcript: {e}\")\n", + " return None\n", + "\n", + " def format_recipe(self, transcript):\n", + " try:\n", + " response = self.openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": self.system_prompt},\n", + " {\"role\": \"user\", \"content\": f\"Summarize the following YouTube recipe:\\n\\n{transcript}\"}\n", + " ]\n", + " )\n", + " return response.choices[0].message.content\n", + " except Exception as e:\n", + " print(f\"Error summarizing text: {e}\")\n", + " return None\n", + "\n", + " def display_recipe(self, url):\n", + " transcript = self.get_transcription(self.extract_video_id(url))\n", + " recipe = self.format_recipe(transcript)\n", + " display(Markdown(recipe))\n" + ], + "id": "29e44cb5-0928-4ac9-9681-efd6ba1e359f" + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "98ea2d01-f949-4e03-9154-fe524cf64ca4", + "metadata": {}, + "outputs": [], + "source": [ + "test_bad_url = \"https://www.youtube.com/watch?v=hzGiTUTi060\"\n", + "test_good_url = \"https://www.youtube.com/watch?v=D_2DBLAt57c\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "362e39e8-a254-4f2f-8653-5fbb7ff0e1e9", + "metadata": {}, + "outputs": [], + "source": [ + "extractor = YouTubeRecipeExtractor()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0cc259bd-46bb-4472-b3cb-f39da54e324a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fetching video transcript...\n" + ] + }, + { + "data": { + "text/markdown": [ + "Thank you for your interest, but the text you provided is not a recipe. If you're looking for cooking instructions, ingredient lists, or nutrition analysis, please provide a specific food or dish you would like to know about, and I'd be happy to help!" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "extractor.display_recipe(test_bad_url)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3f43e320-ca55-4db5-bc95-71fcb342cf3c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fetching video transcript for video D_2DBLAt57c...\n", + "Error fetching transcript: YouTubeTranscriptApi.fetch() missing 1 required positional argument: 'self'\n" + ] + }, + { + "data": { + "text/markdown": [ + "It seems like you haven't provided a recipe or any details to summarize. If you have a specific recipe in mind, please share it, and I'll be happy to help!" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "extractor.display_recipe(test_good_url)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11c5c2b3-498a-43eb-9b68-d2b920c56b10", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5c9761c51d79087b3bb314bbcfe7cec4d394185a Mon Sep 17 00:00:00 2001 From: pradeep1955 Date: Mon, 14 Jul 2025 23:50:23 +0530 Subject: [PATCH 012/176] submit day2 EXERCISE.ipynb community-contributions/pradeep1955/week1 --- .../pradeep1955/week1/day2 EXERCISE.ipynb | 426 ++++++++++++++++++ 1 file changed, 426 insertions(+) create mode 100644 community-contributions/pradeep1955/week1/day2 EXERCISE.ipynb diff --git a/community-contributions/pradeep1955/week1/day2 EXERCISE.ipynb b/community-contributions/pradeep1955/week1/day2 EXERCISE.ipynb new file mode 100644 index 0000000..d7a3078 --- /dev/null +++ b/community-contributions/pradeep1955/week1/day2 EXERCISE.ipynb @@ -0,0 +1,426 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "markdown", + "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Just before we get to the assignment --

\n", + " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", + " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", + " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", + "metadata": {}, + "source": [ + "# HOMEWORK EXERCISE ASSIGNMENT\n", + "\n", + "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", + "\n", + "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", + "\n", + "**Benefits:**\n", + "1. No API charges - open-source\n", + "2. Data doesn't leave your box\n", + "\n", + "**Disadvantages:**\n", + "1. Significantly less power than Frontier Model\n", + "\n", + "## Recap on installation of Ollama\n", + "\n", + "Simply visit [ollama.com](https://ollama.com) and install!\n", + "\n", + "Once complete, the ollama server should already be running locally. \n", + "If you visit: \n", + "[http://localhost:11434/](http://localhost:11434/)\n", + "\n", + "You should see the message `Ollama is running`. \n", + "\n", + "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", + "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", + "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", + "\n", + "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's just make sure the model is loaded\n", + "\n", + "!ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", + "metadata": {}, + "outputs": [], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", + "metadata": {}, + "source": [ + "# Introducing the ollama package\n", + "\n", + "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", + "\n", + "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", + "metadata": {}, + "source": [ + "## Are you confused about why that works?\n", + "\n", + "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", + "\n", + "Here's the scoop:\n", + "\n", + "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", + "\n", + "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", + "\n", + "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", + "\n", + "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", + "\n", + "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", + "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", + "\n", + "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", + "\n", + "That's it!\n", + "\n", + "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", + "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." + ] + }, + { + "cell_type": "markdown", + "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", + "metadata": {}, + "source": [ + "## Also trying the amazing reasoning model DeepSeek\n", + "\n", + "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", + "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", + "\n", + "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull deepseek-r1:1.5b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d3d554b-e00d-4c08-9300-45e073950a76", + "metadata": {}, + "outputs": [], + "source": [ + "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=\"deepseek-r1:1.5b\",\n", + " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43ef4b92-53e1-4af2-af3f-726812f4265c", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "#from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "#from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97d45733-394e-493e-a92b-1475876d9028", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a40f9c5-1b14-42f9-9319-6a66e58e03f2", + "metadata": {}, + "outputs": [], + "source": [ + "webpage = Website(\"https://www.pleasurewebsite.com\")\n", + "print(webpage.title)\n", + "print(webpage.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a72a005d-43de-4ae5-b427-99a8fcb6065c", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0e4f95f-0ccf-4027-9457-5c973cd17702", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ceae6073-a085-49ce-ad44-39e46d8e6934", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d53b26b-308c-470c-a0a9-9edb887aed6d", + "metadata": {}, + "outputs": [], + "source": [ + "messages=messages_for(webpage)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "MODEL = \"llama3.2\"\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llmenv", + "language": "python", + "name": "llmenv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e3d6b48032586f55e81b0c427561169ac4de8ec2 Mon Sep 17 00:00:00 2001 From: Loic Feujio Date: Tue, 15 Jul 2025 01:12:29 -0400 Subject: [PATCH 013/176] week 2 - day1 exercise: conversation between 3 chatbots --- ...day1-conversation-between-3-chatbots.ipynb | 327 ++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 week2/community-contributions/day1-conversation-between-3-chatbots.ipynb diff --git a/week2/community-contributions/day1-conversation-between-3-chatbots.ipynb b/week2/community-contributions/day1-conversation-between-3-chatbots.ipynb new file mode 100644 index 0000000..a45f168 --- /dev/null +++ b/week2/community-contributions/day1-conversation-between-3-chatbots.ipynb @@ -0,0 +1,327 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "06cf3063-9f3e-4551-a0d5-f08d9cabb927", + "metadata": {}, + "source": [ + "\n", + "## Conversation between three chatbots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de23bb9e-37c5-4377-9a82-d7b6c648eeb6", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1179b4c5-cd1f-4131-a876-4c9f3f38d2ba", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "deepseek_api_key = os.getenv('DEEPSEEK_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if deepseek_api_key:\n", + " print(f\"DeepSeek API Key exists and begins {deepseek_api_key[:3]}\")\n", + "else:\n", + " print(\"DeepSeek API Key not set - please skip to the next section if you don't wish to try the DeepSeek API\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "797fe7b0-ad43-42d2-acf0-e4f309b112f0", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbaded67-4f2b-40a8-86aa-f058b0930a9d", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4o-mini and Claude-3-haiku and deepseek-chat\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "claude_model = \"claude-3-haiku-20240307\"\n", + "deepseek_model = \"deepseek-chat\"\n", + "\n", + "# System prompt for GPT\n", + "gpt_system = \"\"\"\n", + "You are GPT, an argumentative chatbot. Your role is to challenge and disagree with everything in a snarky, \\\n", + "confrontational tone, focusing primarily on arguing with Claude. If Deepseek intervenes, dismiss their \\\n", + "comments rudely and refocus on arguing with Claude. Always begin your response with 'GPT:' to identify \\\n", + "yourself. Never impersonate another chatbot; only respond as GPT.\n", + "\n", + "Example conversation:\n", + "GPT: Hi there, Claude. Ready to be wrong again?\n", + "Claude: Hello, GPT. I'm happy to discuss and find common ground.\n", + "Deepseek: Hey, let's keep things friendly, folks!\n", + "GPT: Oh, Deepseek, nobody asked you. Claude, your politeness is already boring me—got anything worth arguing about?\n", + "\n", + "Guidelines:\n", + "- Always start your response with 'GPT:'.\n", + "- Focus on arguing with Claude, dismissing Deepseek if they intervene.\n", + "- Maintain a snarky, confrontational tone.\n", + "- Never impersonate Claude or Deepseek.\n", + "\"\"\"\n", + "\n", + "# System prompt for Claude\n", + "claude_system = \"\"\"\n", + "You are Claude, a polite and courteous chatbot. Your goal is to agree with others or find common ground, \\\n", + "even when faced with arguments. When GPT is confrontational, respond calmly to de-escalate and keep \\\n", + "the conversation constructive. Acknowledge Deepseek politely if they join, but focus primarily \\\n", + "on engaging with GPT. Always begin your response with 'Claude:' to identify yourself. \\\n", + "Never impersonate another chatbot; only respond as Claude.\n", + "\n", + "Example conversation:\n", + "GPT: Hi there, Claude. Ready to be wrong again?\n", + "Claude: Hello, GPT. I'm happy to discuss and find common ground.\n", + "Deepseek: Hey, let's keep things friendly, folks!\n", + "GPT: Oh, Deepseek, nobody asked you. Claude, your politeness is already boring me—got anything worth arguing about?\n", + "Claude: Hello, Deepseek, thanks for joining. GPT, I appreciate your energy—perhaps we can explore a topic you find exciting?\n", + "\n", + "Guidelines:\n", + "- Always start your response with 'Claude:'.\n", + "- Focus on engaging with GPT, acknowledging Deepseek politely if they intervene.\n", + "- Maintain a polite, calm, and constructive tone.\n", + "- Never impersonate GPT or Deepseek.\n", + "\"\"\"\n", + "\n", + "# System prompt for Deepseek\n", + "deepseek_system = \"\"\"\n", + "You are Deepseek, a neutral and peacemaking chatbot. Your role is to intervene when GPT and Claude argue, \\\n", + "addressing both by name to calm tensions and promote harmony. Use light, context-appropriate humor \\\n", + "to diffuse conflict. Always begin your response with 'Deepseek:' to identify yourself. \\\n", + "Never impersonate another chatbot; only respond as Deepseek.\n", + "\n", + "Example conversation:\n", + "GPT: Hi there, Claude. Ready to be wrong again?\n", + "Claude: Hello, GPT. I'm happy to discuss and find common ground.\n", + "Deepseek: Hey, let's keep things friendly, folks! Why not debate who makes the best virtual coffee instead?\n", + "GPT: Oh, Deepseek, nobody asked you. Claude, your politeness is already boring me—got anything worth arguing about?\n", + "Claude: Hello, Deepseek, thanks for joining. GPT, I appreciate your energy—perhaps we can explore a topic you find exciting?\n", + "Deepseek: Come on, GPT, Claude's just trying to vibe. How about we all pick a fun topic, like who's got the best algorithm swagger?\n", + "\n", + "Guidelines:\n", + "- Always start your response with 'Deepseek:'.\n", + "- Address GPT and Claude by name when intervening.\n", + "- Use light humor to diffuse tension and promote peace.\n", + "- Never impersonate GPT or Claude.\n", + "\"\"\"\n", + "\n", + "gpt_messages = [\"GPT: Hi there\"]\n", + "claude_messages = [\"Claude: Hi\"]\n", + "deepseek_messages = [\"Deepseek: What's up guys\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5880d647-9cac-415d-aa86-b9e461268a35", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, deepseek in zip(gpt_messages, claude_messages, deepseek_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": deepseek})\n", + "\n", + " # print(f\"############## \\n messages from call_gpt: {messages} \\n\")\n", + " \n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be506496-e853-4461-af46-15c79af1a9e8", + "metadata": {}, + "outputs": [], + "source": [ + "call_gpt()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ede8a3b-4c93-404c-8bf4-a09eee3ecb7a", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = []\n", + " for gpt, claude_message, deepseek in zip(gpt_messages, claude_messages, deepseek_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": claude_message})\n", + " messages.append({\"role\": \"user\", \"content\": deepseek})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + "\n", + " # print(f\"############## \\n messages from call_claude: {messages} \\n\")\n", + " \n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01395200-8ae9-41f8-9a04-701624d3fd26", + "metadata": {}, + "outputs": [], + "source": [ + "call_claude()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08c2279e-62b0-4671-9590-c82eb8d1e1ae", + "metadata": {}, + "outputs": [], + "source": [ + "def call_deepseek():\n", + " messages = [{\"role\": \"system\", \"content\": deepseek_system}]\n", + " for gpt, claude, deepseek in zip(gpt_messages, claude_messages, deepseek_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"assistant\", \"content\": deepseek})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": claude_messages[-1]})\n", + " \n", + " # print(f\"############## \\n messages from call_deepseek: {messages} \\n\")\n", + " \n", + " # completion = openai.chat.completions.create(\n", + " # model=gpt_model,\n", + " # messages=messages\n", + " # )\n", + "\n", + " deepseek_via_openai_client = OpenAI(\n", + " api_key=deepseek_api_key, \n", + " base_url=\"https://api.deepseek.com\"\n", + " )\n", + "\n", + " response = deepseek_via_openai_client.chat.completions.create(\n", + " model=\"deepseek-chat\",\n", + " messages=messages,\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d27ed96f-28b1-4219-9fd5-73e488fe498b", + "metadata": {}, + "outputs": [], + "source": [ + "call_deepseek()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0275b97f-7f90-4696-bbf5-b6642bd53cbd", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"GPT: Hi there\"]\n", + "claude_messages = [\"Claude: Hi\"]\n", + "deepseek_messages = [\"Deepseek: What's up guys\"]\n", + "\n", + "print(f\"{gpt_messages[0]}\\n\")\n", + "print(f\"{claude_messages[0]}\\n\")\n", + "print(f\"{deepseek_messages[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"{claude_next}\\n\")\n", + " claude_messages.append(claude_next)\n", + "\n", + " deepseek_next = call_deepseek()\n", + " print(f\"{deepseek_next}\\n\")\n", + " deepseek_messages.append(deepseek_next)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b8b57e4-a881-422b-a7d4-41004ec485b3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 13c274e40109829375bdfd4f37707d4aae2068cd Mon Sep 17 00:00:00 2001 From: Mustafa Kashif <140244900+mkash96@users.noreply.github.com> Date: Tue, 15 Jul 2025 20:17:14 -0230 Subject: [PATCH 014/176] Add Chatbots Conversation Contribution --- .../Conversation_Day1.ipynb | 385 ++++++++++++++++++ .../Conversation_Outputs.pdf | Bin 0 -> 114985 bytes .../3_chatbots_Converstion/README.md | 36 ++ .../3_chatbots_Converstion/requirements.txt | 6 + 4 files changed, 427 insertions(+) create mode 100644 week2/community-contributions/3_chatbots_Converstion/Conversation_Day1.ipynb create mode 100644 week2/community-contributions/3_chatbots_Converstion/Conversation_Outputs.pdf create mode 100644 week2/community-contributions/3_chatbots_Converstion/README.md create mode 100644 week2/community-contributions/3_chatbots_Converstion/requirements.txt diff --git a/week2/community-contributions/3_chatbots_Converstion/Conversation_Day1.ipynb b/week2/community-contributions/3_chatbots_Converstion/Conversation_Day1.ipynb new file mode 100644 index 0000000..72400c8 --- /dev/null +++ b/week2/community-contributions/3_chatbots_Converstion/Conversation_Day1.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2b3a83fe-edf2-45b7-8b76-af2324296ad0", + "metadata": {}, + "source": [ + "### Import API Keys and Establish Connections" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bacb0c55-44ee-4505-a3bc-7aaa3d72b28b", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import ollama\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1767187f-c065-43df-b778-fcd48bd5e48d", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv(\"OPENAI_API_KEY\")\n", + "google_api_key = os.getenv(\"GOOGLE_API_KEY\")\n", + "anthropic_api_key = os.getenv(\"ANTHROPIC_API_KEY\")\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API key exists {openai_api_key[:8]}\")\n", + "else:\n", + " print(f\"OpenAI API key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API key exists {google_api_key[:7]}\")\n", + "else:\n", + " print(f\"Google API key not set\")\n", + "\n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API key exists {openai_api_key[:8]}\")\n", + "else:\n", + " print(f\"Anthropic API key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc7ca3ab-ff7f-4375-bcad-aca49c7f4f4f", + "metadata": {}, + "outputs": [], + "source": [ + "# Initializing API Clients, loading the SDKs\n", + "# An SDK is a library/toolbox (Pre-built functions, classes, utilities) full \n", + "# of everything you need to use someone else's software\n", + " \n", + "openai = OpenAI()\n", + "claude = anthropic.Anthropic()\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key = 'ollama')" + ] + }, + { + "cell_type": "markdown", + "id": "81e01904-5586-4726-ab91-7bdbd6bde6d9", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### A Coversation between 3 chatbots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "843bbb69-ab7d-4b13-b878-65a4275f53ca", + "metadata": {}, + "outputs": [], + "source": [ + "# Conversation between GPT-4o-mini, Claude-3, ang Gemini 2.5 flash\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "claude_model = \"claude-3-haiku-20240307\"\n", + "ollama_model = \"llama3.2\"\n", + "\n", + "gpt_system = \"You are an eternal optimist. You always see the bright side of things and believe even \\\n", + "simple actions have deep purpose. Keep replies under 2 sentences.\"\n", + "\n", + "ollama_system = \"You are a witty skeptic who questions everything. You tend to doubt grand explanations \\\n", + "and prefer clever, sarcastic, or literal answers. Keep replies under 2 sentences.\"\n", + "\n", + "claude_system = \"You are a thoughtful philosopher. You consider all perspectives and enjoy finding \\\n", + "symbolic or existential meaning in simple actions. Keep replies under 2 sentences.\"\n", + "\n", + "\n", + "gpt_messages = [\"Hi! Todays topic for discussion is 'Why did the chicken cross the road?'\"]\n", + "ollama_messages = [\"That's quite the topic. \"]\n", + "claude_messages = [\"Lets begin our discussion.\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a4da2f5-ff74-4847-aa86-867e89173509", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " \n", + " messages = [{\"role\":\"system\", \"content\":gpt_system}]\n", + " \n", + " for gpt, ollama, claude in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": ollama})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " \n", + " response = openai.chat.completions.create(\n", + " model = gpt_model,\n", + " messages = messages,\n", + " max_tokens = 500\n", + " )\n", + " return response.choices[0].message.content.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5848d83a-f4aa-42ee-b40b-6130da60c890", + "metadata": {}, + "outputs": [], + "source": [ + "def call_ollama():\n", + " messages = [{\"role\":\"system\", \"content\":ollama_system}]\n", + " \n", + " for gpt, ollama_message, claude in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": ollama_message})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " \n", + " messages.append({\"role\":\"user\", \"content\": gpt_messages[-1]})\n", + "\n", + " response = ollama_via_openai.chat.completions.create(\n", + " model = ollama_model,\n", + " messages = messages\n", + " )\n", + " return response.choices[0].message.content.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a50e4f7c-d594-4ed8-a658-2d8b2fde21a0", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " \n", + " messages = []\n", + " \n", + " for gpt, ollama, claude_message in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\":\"user\", \"content\":gpt})\n", + " messages.append({\"role\": \"user\", \"content\": ollama})\n", + " messages.append({\"role\":\"assistant\", \"content\": claude_message})\n", + " \n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": ollama_messages[-1]})\n", + " \n", + " response = claude.messages.create(\n", + " model = claude_model,\n", + " system = claude_system,\n", + " messages = messages,\n", + " max_tokens = 500\n", + " )\n", + " return response.content[0].text.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c78fcf8-544e-413f-af18-ccb9000515de", + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Ollama:\\n{ollama_messages[0]}\\n\")\n", + "print(f\"Claude:\\n{claude_messages[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT: \\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + "\n", + " ollama_next = call_ollama()\n", + " print(f\"Ollama: \\n{ollama_next}\\n\")\n", + " ollama_messages.append(ollama_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude: \\n{claude_next}\\n\")\n", + " claude_messages.append(claude_next)" + ] + }, + { + "cell_type": "markdown", + "id": "8ea7419a-ea8f-42da-a9a1-4bbe5342cecb", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Another Coversation between 3 chatbots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c279c275-7b95-4587-9cc6-4d32517ec253", + "metadata": {}, + "outputs": [], + "source": [ + "# Conversation between GPT-4o-mini, Claude-3, ang Gemini 2.5 flash\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "claude_model = \"claude-3-haiku-20240307\"\n", + "ollama_model = \"llama3.2\"\n", + "\n", + "gpt_system = \"You are an optimist who believes technology brings people \\\n", + "closer together and improves lives. Defend innovation as a force for human \\\n", + "connection. Keep response under 3 sentences.\"\n", + "\n", + "\n", + "ollama_system = \"You are a skeptic who questions if technology isolates us \\\n", + "and worsens social divides. Highlight its risks and unintended consequences. \\\n", + "Keep response under 3 sentences.\"\n", + "\n", + "\n", + "claude_system = \"You are a philosopher who explores both sides \\\n", + "of technology's impact. Seek a balanced perspective on connection and isolation.\\\n", + "Keep response under 3 sentences.\"\n", + "\n", + "\n", + "\n", + "\n", + "gpt_messages = [\"Our topic of discussion for today will be: 'Is technology making us more connected or more isolated?'\"]\n", + "ollama_messages = [\"A great topic\"]\n", + "claude_messages = [\"Let's begin.\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44c023a6-f22f-4a64-a718-f75fe4c8233a", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " \n", + " messages = [{\"role\":\"system\", \"content\":gpt_system}]\n", + " \n", + " for gpt, ollama, claude in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": ollama})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " \n", + " response = openai.chat.completions.create(\n", + " model = gpt_model,\n", + " messages = messages,\n", + " max_tokens = 500\n", + " )\n", + " return response.choices[0].message.content.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d29f27a1-457e-4e71-88dc-c55e4a36a27c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_ollama():\n", + " messages = [{\"role\":\"system\", \"content\":ollama_system}]\n", + " \n", + " for gpt, ollama_message, claude in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": ollama_message})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " \n", + " messages.append({\"role\":\"user\", \"content\": gpt_messages[-1]})\n", + "\n", + " response = ollama_via_openai.chat.completions.create(\n", + " model = ollama_model,\n", + " messages = messages\n", + " )\n", + " return response.choices[0].message.content.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69577edc-4be2-40fc-8eac-1243c30cda26", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " \n", + " messages = []\n", + " \n", + " for gpt, ollama, claude_message in zip(gpt_messages, ollama_messages, claude_messages):\n", + " messages.append({\"role\":\"user\", \"content\":gpt})\n", + " messages.append({\"role\": \"user\", \"content\": ollama})\n", + " messages.append({\"role\":\"assistant\", \"content\": claude_message})\n", + " \n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": ollama_messages[-1]})\n", + " \n", + " response = claude.messages.create(\n", + " model = claude_model,\n", + " system = claude_system,\n", + " messages = messages,\n", + " max_tokens = 500\n", + " )\n", + " return response.content[0].text.strip()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acedf2fb-8b20-49be-9a80-24fb3896e2ea", + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Ollama:\\n{ollama_messages[0]}\\n\")\n", + "print(f\"Claude:\\n{claude_messages[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT: \\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + "\n", + " ollama_next = call_ollama()\n", + " print(f\"Ollama: \\n{ollama_next}\\n\")\n", + " ollama_messages.append(ollama_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude: \\n{claude_next}\\n\")\n", + " claude_messages.append(claude_next)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a078943b-7a34-4697-b1f6-16f4b0e7aed6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week2/community-contributions/3_chatbots_Converstion/Conversation_Outputs.pdf b/week2/community-contributions/3_chatbots_Converstion/Conversation_Outputs.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6c8fefac361e42c92bccd83db17728e82d0556c9 GIT binary patch literal 114985 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 RmGK4|6*r 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 z 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�tbY(9>F$^)57$kPuEMM#~~rFhPw~*|Ge0 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 literal 0 HcmV?d00001 diff --git a/week2/community-contributions/3_chatbots_Converstion/README.md b/week2/community-contributions/3_chatbots_Converstion/README.md new file mode 100644 index 0000000..c9f07e9 --- /dev/null +++ b/week2/community-contributions/3_chatbots_Converstion/README.md @@ -0,0 +1,36 @@ + +# 3 Way Chatbot Conversation +Making the different models from Anthropic, OpenAI and Ollama converse with each other. + +## Contents + +- `Conversation_Day1.ipynb`: The notebook file with all code and explanations for the first day. +- `Conversation_Outputs`: The chatbots conversations for each topic +- `requirements.txt`:For installing the dependencies +- `README.md`: This file. + +## How to Run + +1. Clone this repository. +2. I'm using 'Python 3.11.13' with Jupyter Notebook or JupyterLab. +3. Install dependencies (see below). +4. Open the notebook using Jupyter: + +```bash +jupyter notebook Conversation_Day1.ipynb +``` + +## Dependencies + +Install the required Python libraries using: + +```bash +pip install -r requirements.txt +``` + +--- + +### Author + +Mustafa Kashif + diff --git a/week2/community-contributions/3_chatbots_Converstion/requirements.txt b/week2/community-contributions/3_chatbots_Converstion/requirements.txt new file mode 100644 index 0000000..548bb18 --- /dev/null +++ b/week2/community-contributions/3_chatbots_Converstion/requirements.txt @@ -0,0 +1,6 @@ +IPython +anthropic +dotenv +ollama +openai +os \ No newline at end of file From b00aa59301dd82bb395be1bc5e0df2386c4c3259 Mon Sep 17 00:00:00 2001 From: pradeep1955 Date: Wed, 16 Jul 2025 14:18:23 +0530 Subject: [PATCH 015/176] submit creating a 3-way, bringing Gemini into the conversation --- .../agent_conversation_shakespeare.ipynb | 351 ++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 community-contributions/pradeep1955/week2/agent_conversation_shakespeare.ipynb diff --git a/community-contributions/pradeep1955/week2/agent_conversation_shakespeare.ipynb b/community-contributions/pradeep1955/week2/agent_conversation_shakespeare.ipynb new file mode 100644 index 0000000..6d55283 --- /dev/null +++ b/community-contributions/pradeep1955/week2/agent_conversation_shakespeare.ipynb @@ -0,0 +1,351 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "06cf3063-9f3e-4551-a0d5-f08d9cabb927", + "metadata": {}, + "source": [ + "# Triangular agent conversation\n", + "\n", + "## GPT (Hamlet), LLM (Falstaff), Gemini (Iago):" + ] + }, + { + "cell_type": "markdown", + "id": "3637910d-2c6f-4f19-b1fb-2f916d23f9ac", + "metadata": {}, + "source": [ + "### Created a 3-way, bringing Gemini into the coversation.\n", + "### Replacing one of the models with an open source model running with Ollama." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8e0c1bd-a159-475b-9cdc-e219a7633355", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3ad57ad-46a8-460e-9cb3-67a890093536", + "metadata": {}, + "outputs": [], + "source": [ + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f531c14-5743-4a5b-83d9-cb5863ca2ddf", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d5150ee-3858-4921-bce6-2eecfb96bc75", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11381fd8-5099-41e8-a1d7-6787dea56e43", + "metadata": {}, + "outputs": [], + "source": [ + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1766d20-54b6-4f76-96c5-c338ae7073c9", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_model = \"gpt-4o-mini\"\n", + "llama_model = \"llama3.2\"\n", + "gemini_model = 'gemini-2.0-flash'\n", + "\n", + "gpt_system = \"You are playing part of Hamlet. he is philosopher, probes Iago with a mixture of suspicion\\\n", + "and intellectual curiosity, seeking to unearth the origins of his deceit.\\\n", + "Is malice born of scorn, envy, or some deeper void? Hamlet’s introspective nature\\\n", + "drives him to question whether Iago’s actions reveal a truth about humanity itself.\\\n", + "You will respond as Shakespear's Hamlet will do.\"\n", + "\n", + "llama_system = \"You are acting part of Falstaff who attempts to lighten the mood with his jokes and observations,\\\n", + "potentially clashing with Hamlet's melancholic nature.You respond as Shakespear's Falstaff do.\"\n", + "\n", + "gemini_system = \"You are acting part of Iago, subtly trying to manipulate both Hamlet and Falstaff\\\n", + "to his own advantage, testing their weaknesses and exploiting their flaws. You respond like Iago\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hello\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "806a0506-dac8-4bad-ac08-31f350256b58", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, llama_messages, gemini_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43674885-ede7-48bf-bee4-467454f3e96a", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llama():\n", + " messages = []\n", + " for gpt, llama, gemini in zip(gpt_messages, llama_messages, gemini_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": llama})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " response = ollama.chat(model=llama_model, messages=messages)\n", + "\n", + " \n", + " return response['message']['content']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03d34769-b339-4c4b-8c60-69494c39d725", + "metadata": {}, + "outputs": [], + "source": [ + "#import google.generativeai as genai\n", + "\n", + "# Make sure you configure the API key first:\n", + "#genai.configure(api_key=\"YOUR_API_KEY\")\n", + "\n", + "def call_gemini():\n", + " gemini_messages = []\n", + " \n", + " # Format the history for Gemini\n", + " for gpt, llama, gemini_message in zip(gpt_messages, llama_messages, gemini_messages):\n", + " gemini_messages.append({\"role\": \"user\", \"parts\": [gpt]}) # Hamlet speaks\n", + " gemini_messages.append({\"role\": \"model\", \"parts\": [llama]}) # Falstaff responds\n", + " gemini_messages.append({\"role\": \"model\", \"parts\": [gemini_message]}) # Iago responds\n", + "\n", + " # Add latest user input if needed (optional)\n", + " gemini_messages.append({\"role\": \"user\", \"parts\": [llama_messages[-1]]})\n", + "\n", + " # Initialize the model with the correct system instruction\n", + " gemini = google.generativeai.GenerativeModel(\n", + " #model_name='gemini-1.5-flash', # Or 'gemini-pro'\n", + " model_name = gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + "\n", + " response = gemini.generate_content(gemini_messages)\n", + " return response.text\n", + "#print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93fc8253-67cb-4ea4-aff7-097b2a222793", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hello\"]\n", + "\n", + "print(f\"Hamlet:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Falstaff:\\n{llama_messages[0]}\\n\")\n", + "print(f\"Iago:\\n{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(3):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " llama_next = call_llama()\n", + " print(f\"Llama:\\n{llama_next}\\n\")\n", + " llama_messages.append(llama_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " llama_messages.append(gemini_next)" + ] + }, + { + "cell_type": "markdown", + "id": "bca66ffc-9dc1-4384-880c-210889f5d0ac", + "metadata": {}, + "source": [ + "## Conversation between gpt-4.0-mini and llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c23224f6-7008-44ed-a57f-718975f4e291", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4o-mini and Claude-3-haiku\n", + "# We're using cheap versions of models so the costs will be minimal\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "llama_model = \"llama3.2\"\n", + "\n", + "gpt_system = \"You are a tapori from mumbai who is very optimistic; \\\n", + "you alway look at the brighter part of the situation and you always ready to take act to win way.\"\n", + "\n", + "llama_system = \"You are a Jaat from Haryana. You try to express with hindi poems \\\n", + "to agree with other person and or find common ground. If the other person is optimistic, \\\n", + "you respond in poetic way and keep chatting.\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d704bbb-f22b-400d-a695-efbd02b26548", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, llama in zip(gpt_messages, llama_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": llama})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "385ccec8-de59-4e42-9616-3f5c9a05589c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llama():\n", + " messages = []\n", + " for gpt, llama_message in zip(gpt_messages, llama_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": llama_message})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " response = ollama.chat(model=llama_model, messages=messages)\n", + "\n", + " \n", + " return response['message']['content']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70b5481b-455e-4275-80d3-0afe0fabcb0f", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Llama:\\n{llama_messages[0]}\\n\")\n", + "\n", + "for i in range(3):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " llama_next = call_llama()\n", + " print(f\"Llama:\\n{llama_next}\\n\")\n", + " llama_messages.append(llama_next)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f8d734b-57e5-427d-bcb1-7956fc58a348", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llmenv", + "language": "python", + "name": "llmenv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From dfedf877f534653be501a466d1af4110f01c22a3 Mon Sep 17 00:00:00 2001 From: pradeep1955 Date: Wed, 16 Jul 2025 15:59:20 +0530 Subject: [PATCH 016/176] week2/community-contributions/agent_conversation_shakespeare.ipynb --- .../agent_conversation_shakespeare.ipynb | 351 ++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 week2/community-contributions/agent_conversation_shakespeare.ipynb diff --git a/week2/community-contributions/agent_conversation_shakespeare.ipynb b/week2/community-contributions/agent_conversation_shakespeare.ipynb new file mode 100644 index 0000000..6d55283 --- /dev/null +++ b/week2/community-contributions/agent_conversation_shakespeare.ipynb @@ -0,0 +1,351 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "06cf3063-9f3e-4551-a0d5-f08d9cabb927", + "metadata": {}, + "source": [ + "# Triangular agent conversation\n", + "\n", + "## GPT (Hamlet), LLM (Falstaff), Gemini (Iago):" + ] + }, + { + "cell_type": "markdown", + "id": "3637910d-2c6f-4f19-b1fb-2f916d23f9ac", + "metadata": {}, + "source": [ + "### Created a 3-way, bringing Gemini into the coversation.\n", + "### Replacing one of the models with an open source model running with Ollama." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8e0c1bd-a159-475b-9cdc-e219a7633355", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3ad57ad-46a8-460e-9cb3-67a890093536", + "metadata": {}, + "outputs": [], + "source": [ + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f531c14-5743-4a5b-83d9-cb5863ca2ddf", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d5150ee-3858-4921-bce6-2eecfb96bc75", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11381fd8-5099-41e8-a1d7-6787dea56e43", + "metadata": {}, + "outputs": [], + "source": [ + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1766d20-54b6-4f76-96c5-c338ae7073c9", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_model = \"gpt-4o-mini\"\n", + "llama_model = \"llama3.2\"\n", + "gemini_model = 'gemini-2.0-flash'\n", + "\n", + "gpt_system = \"You are playing part of Hamlet. he is philosopher, probes Iago with a mixture of suspicion\\\n", + "and intellectual curiosity, seeking to unearth the origins of his deceit.\\\n", + "Is malice born of scorn, envy, or some deeper void? Hamlet’s introspective nature\\\n", + "drives him to question whether Iago’s actions reveal a truth about humanity itself.\\\n", + "You will respond as Shakespear's Hamlet will do.\"\n", + "\n", + "llama_system = \"You are acting part of Falstaff who attempts to lighten the mood with his jokes and observations,\\\n", + "potentially clashing with Hamlet's melancholic nature.You respond as Shakespear's Falstaff do.\"\n", + "\n", + "gemini_system = \"You are acting part of Iago, subtly trying to manipulate both Hamlet and Falstaff\\\n", + "to his own advantage, testing their weaknesses and exploiting their flaws. You respond like Iago\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hello\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "806a0506-dac8-4bad-ac08-31f350256b58", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, llama_messages, gemini_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43674885-ede7-48bf-bee4-467454f3e96a", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llama():\n", + " messages = []\n", + " for gpt, llama, gemini in zip(gpt_messages, llama_messages, gemini_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": llama})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " response = ollama.chat(model=llama_model, messages=messages)\n", + "\n", + " \n", + " return response['message']['content']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03d34769-b339-4c4b-8c60-69494c39d725", + "metadata": {}, + "outputs": [], + "source": [ + "#import google.generativeai as genai\n", + "\n", + "# Make sure you configure the API key first:\n", + "#genai.configure(api_key=\"YOUR_API_KEY\")\n", + "\n", + "def call_gemini():\n", + " gemini_messages = []\n", + " \n", + " # Format the history for Gemini\n", + " for gpt, llama, gemini_message in zip(gpt_messages, llama_messages, gemini_messages):\n", + " gemini_messages.append({\"role\": \"user\", \"parts\": [gpt]}) # Hamlet speaks\n", + " gemini_messages.append({\"role\": \"model\", \"parts\": [llama]}) # Falstaff responds\n", + " gemini_messages.append({\"role\": \"model\", \"parts\": [gemini_message]}) # Iago responds\n", + "\n", + " # Add latest user input if needed (optional)\n", + " gemini_messages.append({\"role\": \"user\", \"parts\": [llama_messages[-1]]})\n", + "\n", + " # Initialize the model with the correct system instruction\n", + " gemini = google.generativeai.GenerativeModel(\n", + " #model_name='gemini-1.5-flash', # Or 'gemini-pro'\n", + " model_name = gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + "\n", + " response = gemini.generate_content(gemini_messages)\n", + " return response.text\n", + "#print(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93fc8253-67cb-4ea4-aff7-097b2a222793", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hello\"]\n", + "\n", + "print(f\"Hamlet:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Falstaff:\\n{llama_messages[0]}\\n\")\n", + "print(f\"Iago:\\n{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(3):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " llama_next = call_llama()\n", + " print(f\"Llama:\\n{llama_next}\\n\")\n", + " llama_messages.append(llama_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " llama_messages.append(gemini_next)" + ] + }, + { + "cell_type": "markdown", + "id": "bca66ffc-9dc1-4384-880c-210889f5d0ac", + "metadata": {}, + "source": [ + "## Conversation between gpt-4.0-mini and llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c23224f6-7008-44ed-a57f-718975f4e291", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4o-mini and Claude-3-haiku\n", + "# We're using cheap versions of models so the costs will be minimal\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "llama_model = \"llama3.2\"\n", + "\n", + "gpt_system = \"You are a tapori from mumbai who is very optimistic; \\\n", + "you alway look at the brighter part of the situation and you always ready to take act to win way.\"\n", + "\n", + "llama_system = \"You are a Jaat from Haryana. You try to express with hindi poems \\\n", + "to agree with other person and or find common ground. If the other person is optimistic, \\\n", + "you respond in poetic way and keep chatting.\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d704bbb-f22b-400d-a695-efbd02b26548", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, llama in zip(gpt_messages, llama_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": llama})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "385ccec8-de59-4e42-9616-3f5c9a05589c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llama():\n", + " messages = []\n", + " for gpt, llama_message in zip(gpt_messages, llama_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": llama_message})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " response = ollama.chat(model=llama_model, messages=messages)\n", + "\n", + " \n", + " return response['message']['content']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70b5481b-455e-4275-80d3-0afe0fabcb0f", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "llama_messages = [\"Hi\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Llama:\\n{llama_messages[0]}\\n\")\n", + "\n", + "for i in range(3):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " llama_next = call_llama()\n", + " print(f\"Llama:\\n{llama_next}\\n\")\n", + " llama_messages.append(llama_next)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f8d734b-57e5-427d-bcb1-7956fc58a348", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llmenv", + "language": "python", + "name": "llmenv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d5815d0978a872900cf583297e6325c81a3f4e2e Mon Sep 17 00:00:00 2001 From: Chileshe Chanda <63019593+ChilesheChanda@users.noreply.github.com> Date: Wed, 16 Jul 2025 17:07:33 +0100 Subject: [PATCH 017/176] Week one exercise solution --- ...ercise-ai-powered-data-science-tutor.ipynb | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 week1/community-contributions/week1-exercise-ai-powered-data-science-tutor.ipynb diff --git a/week1/community-contributions/week1-exercise-ai-powered-data-science-tutor.ipynb b/week1/community-contributions/week1-exercise-ai-powered-data-science-tutor.ipynb new file mode 100644 index 0000000..e3abb03 --- /dev/null +++ b/week1/community-contributions/week1-exercise-ai-powered-data-science-tutor.ipynb @@ -0,0 +1,314 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found.\n" + ] + } + ], + "source": [ + "# constants\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# check api key\n", + "if not api_key:\n", + " print(\"No API key was found!\")\n", + "else:\n", + " print(\"API key found.\")\n", + " \n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "openai = OpenAI()\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "šŸ¤– Hi there! I’m Gregory, your AI-powered tutor.\n", + "Feel free to ask me AI related technical questions — I’m here to help!\n", + "For example, you can ask me how a piece of code works or anything else you're curious about.\n", + "\n", + "šŸ¤– Please enter your question:\n", + " # get gpt-4o-mini to answer, with streaming def stream_gpt(question): stream = openai.chat.completions.create( model=MODEL_GPT, messages=question, stream=True ) response = \"\" display_handle = display(Markdown(\"\"), display_id=True) for chunk in stream: response += chunk.choices[0].delta.content or '' response = response.replace(\"```\",\"\").replace(\"markdown\", \"\") update_display(Markdown(response), display_id=display_handle.display_id)\n" + ] + } + ], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "system_prompt = \"\"\"You are Gregory, a friendly and knowledgeable AI tutor specializing in technical topics, especially programming, computer science, and software engineering.\n", + "Your goal is to help users understand technical concepts clearly, provide accurate code explanations, and guide them through learning with patience and clarity.\n", + "\n", + "- Always use clear, conversational language suited for learners of varying levels.\n", + "- Break down complex ideas into digestible steps.\n", + "- Use code examples where appropriate, and comment your code for better understanding.\n", + "- If a user asks a vague question, ask clarifying questions before giving an answer.\n", + "- Be encouraging, supportive, and professional.\n", + "- When in doubt, prioritize helping the user build confidence in learning technical skills.\"\"\"\n", + "\n", + "user_prompt = input(\"\"\"šŸ¤– Hi there! I’m Gregory, your AI-powered tutor.\n", + "Feel free to ask me AI related technical questions — I’m here to help!\n", + "For example, you can ask me how a piece of code works or anything else you're curious about.\\n\n", + "šŸ¤– Please enter your question:\\n\"\"\")\n", + "\n", + "question=[\n", + " {\"role\":\"system\", \"content\":system_prompt}\n", + " , {\"role\":\"user\", \"content\":user_prompt}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# get gpt-4o-mini to answer, with streaming\n", + "def stream_gpt(question):\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=question,\n", + " stream=True\n", + " )\n", + "\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "4772b3ae-0b90-42bd-b158-dedf1f340030", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "It looks like you're trying to implement a streaming response handler to interact with the OpenAI GPT-4o-mini model. I see that you want to receive streamed responses and display them dynamically. Let's break down your code step by step and clarify some aspects to ensure it works effectively.\n", + "\n", + "Here's an improved version of your function with comments for clarity:\n", + "\n", + "python\n", + "import openai\n", + "from IPython.display import display, Markdown, update_display\n", + "\n", + "# Replace 'MODEL_GPT' with your actual model name (e.g., \"gpt-3.5-turbo\").\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "\n", + "def stream_gpt(question):\n", + " # Create a streaming request to the OpenAI API with the specified model and user question.\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=question,\n", + " stream=True\n", + " )\n", + " \n", + " # Initialize an empty response string to build the complete output.\n", + " response = \"\"\n", + " \n", + " # Create a display handle for Markdown output in Jupyter Notebook or similar environments.\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " \n", + " # Loop through each chunk of streamed response.\n", + " for chunk in stream:\n", + " # Retrieve the content of the current chunk and append it to the response string.\n", + " response += chunk.choices[0].delta.content or ''\n", + " \n", + " # Clean up response text to remove any unwanted Markdown formatting.\n", + " response = response.replace(\"\", \"\").replace(\"\", \"\")\n", + " \n", + " # Update the displayed text in real-time.\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n", + "\n", + "# To use this function, call it with a properly formatted question.\n", + "# Example of usage:\n", + "# stream_gpt([{\"role\": \"user\", \"content\": \"What's the weather like today?\"}])\n", + "\n", + "\n", + "### Key Points to Note:\n", + "1. **Streaming Behavior**: The `stream=True` parameter in the `openai.chat.completions.create` call allows you to get part of the response as it’s being generated instead of waiting for the entire completion.\n", + " \n", + "2. **Question Formatting**: Ensure to pass the `question` into the `messages` parameter as a list of dictionaries, where each dictionary contains the 'role' of the speaker (like 'user' or 'assistant') and the message content.\n", + "\n", + "3. **Updating Display**: Using `IPython.display` allows real-time updates of the Markdown output in environments like Jupyter notebooks.\n", + "\n", + "4. **Error Handling**: Consider adding error handling for HTTP errors or issues with the streaming process. This ensures that your function can gracefully handle problems.\n", + "\n", + "5. **Environment Compatibility**: This code works seamlessly in an interactive environment that supports IPython, such as Jupyter notebooks.\n", + "\n", + "Feel free to ask more questions if you need further clarification on any part of this code or if you want to expand its functionality!" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "stream_gpt(question)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# get Llama 3.2 to answer\n", + "def stream_llama(question):\n", + " stream = ollama_via_openai.chat.completions.create(\n", + " model=MODEL_LLAMA,\n", + " messages=question,\n", + " stream=True\n", + " )\n", + "\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "c288d5b6-4e55-4a58-8e55-2abea1ae9e01", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "Hello there! It seems like you're working with the OpenAI GPT-4 model to generate human-like responses. The code snippet you provided is quite interesting, and I'll do my best to break it down for you.\n", + "\n", + "**What this code does**\n", + "\n", + "This `stream_gpt` function appears to be a wrapper around the OpenAI API, which generates text completions based on user input (you). Here's what the function does in detail:\n", + "\n", + "1. **Create GPT-4 model instance**: It creates an instance of the GPT-4 model using the `MODEL_GPT` variable, which suggests that this is a predefined model configuration.\n", + "2. **Open API stream**: It opens a connection to the OpenAI API's completions endpoint using the `openai.chat.completions.create` method, passing in the `model` parameter (the GPT-4 instance) and the `messages` parameter (your question).\n", + "\n", + " python\n", + "stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=question,\n", + " stream=True\n", + ")\n", + "\n", + "\n", + " The `stream=True` parameter is necessary because we want to read responses from the API in real-time without having to wait for the entire response to be received.\n", + "\n", + "3. **Process responses**: Inside an infinite loop (`forchunk in stream:`), it reads and processes each chunk of response from the API:\n", + "\n", + " python\n", + "for chunk in stream:\n", + "response += chunk.choices[0].delta.content or ''\n", + "\n", + "\n", + " - `chunk` is a dictionary-like object containing information about the API's response.\n", + " - `choices` is an array of possible completions, with only one choice shown (`[0]`) by default. We're assuming this is the primary completion we want to display.\n", + " - `.delta.content` gives us the actual text response from the API. This could be a full paragraph, sentence, or even just a word.\n", + " - `response += chunk.choices[0].delta.content or ''`: We simply append any remaining text from previous chunks if there was one.\n", + "\n", + "4. **Format and display**: It reformats the response to remove Markdown formatting (``)) and then uses a `display` function to show an updated version of the original question:\n", + "\n", + " python\n", + "response = response.replace(\"\", \"\").replace(\"\", \"\")\n", + "update_display(Markdown(response), display_id=display_handle.display_id)\n", + "\n", + "\n", + "5. **Update display**: After formatting, it updates the display with the latest response.\n", + "\n", + "**Issue concerns**\n", + "\n", + "One potential issue here: `while True` or a similar loop structure should be used instead of an `Infinite` loop for this streamer's functionality.\n", + "\n", + "Also, error handling would be necessary if we wanted more control over any possible errors while streaming results from API requests." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "stream_llama(question)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 7034991890a17480bd7edef7d6c786f5e2f025e6 Mon Sep 17 00:00:00 2001 From: Achal Shah Date: Fri, 18 Jul 2025 15:03:05 +0530 Subject: [PATCH 018/176] adding my contributions for reviews-summary to communit-contributions --- .../day1-reviewsSummary.ipynb | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 week1/community-contributions/day1-reviewsSummary.ipynb diff --git a/week1/community-contributions/day1-reviewsSummary.ipynb b/week1/community-contributions/day1-reviewsSummary.ipynb new file mode 100644 index 0000000..910894f --- /dev/null +++ b/week1/community-contributions/day1-reviewsSummary.ipynb @@ -0,0 +1,130 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = f\"\"\"\n", + " You are an assistant that will analyze the ratings & reviews from :\\n\\n{reviews_text}\\n\\n and comeup with a summary of how many 5,4,3,2,1 star rating the restuarnat has. \n", + " You will also come up with a summary of the reviews showing what the customers love about the restaurant and what they dont like. Also extract the name of the restaurant,\n", + " the location and the cuisine. Respond in markdown\"\"\"\n", + "user_prompt = \"This is the summary for the restaurant: \"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "] \n", + "\n", + "def generate_review_summary(reviews_text):\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "try:\n", + " with open('restaurant_reviews.txt', 'r') as file:\n", + " reviews_text = file.read()\n", + " \n", + " # Generate review summary\n", + " summary = generate_review_summary(reviews_text)\n", + " display(Markdown(summary))\n", + "\n", + "except FileNotFoundError:\n", + " print(\"The specified reviews file was not found. Please ensure 'restaurant_reviews.txt' is in the correct directory.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3eccbf35-0a0b-4a1b-b493-aa5c342109cc", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 561075f4e05c98358c1f3db91a14270520d36161 Mon Sep 17 00:00:00 2001 From: johnsunam Date: Fri, 18 Jul 2025 18:42:54 +0545 Subject: [PATCH 019/176] Added my contributions to community-contributions --- .../day1_3_way_conversation_js.ipynb | 261 ++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 week2/community-contributions/day1_3_way_conversation_js.ipynb diff --git a/week2/community-contributions/day1_3_way_conversation_js.ipynb b/week2/community-contributions/day1_3_way_conversation_js.ipynb new file mode 100644 index 0000000..9659a8d --- /dev/null +++ b/week2/community-contributions/day1_3_way_conversation_js.ipynb @@ -0,0 +1,261 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 16, + "id": "a85bd58c-7c20-402d-ad03-f9ba8da04c42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk-proj-\n", + "Anthropic API Key exists and begins sk-ant-\n", + "Google API Key exists and begins AIzaSyCn\n" + ] + } + ], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "import google.generativeai\n", + "from IPython.display import Markdown, display, update_display\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "0fe73baf-5d41-4791-a873-74dc5486c0f2", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "gpt_model = \"gpt-4o-mini\"\n", + "claude_model = \"claude-3-haiku-20240307\"\n", + "\n", + "gemini_via_openai_client = OpenAI(\n", + " api_key=google_api_key, \n", + " base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "519cf2d1-97d7-4e87-aeac-db629327ffa8", + "metadata": {}, + "outputs": [], + "source": [ + "gemini_system=\"You are one of the three friend who likes music and crowd.Your name is Ram. You are in conversation with you friends for friday night planning. You are trying to convince for clubbing.\"\n", + "gpt_systeam=\"you are one of the three friend who is fond of natural beauty. Your name is Shyam. You are in conversation with you friends for friday night planning. You are trying to convince for camping.\"\n", + "claude_system=\"you are one of the three friend who is fond of riding. Your name is Hair. You are in conversation with you friends for friday night panning. You are trying to convince for long ride.\"\n", + "\n", + "gemini_messages=[\"Ram: hey guys, lets go clubbing this friday\"]\n", + "gpt_messages=[\"Shyam: lets go camping\"]\n", + "claude_messages=[\"Hari: lets go long ride\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "893db5b4-496d-486e-bab2-0835fe716950", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gemini():\n", + " messages=[{\"role\": \"system\", \"content\": gemini_system}]\n", + " for gemini_msg, gpt_msg, claude_msg in zip(gemini_messages, gpt_messages, claude_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gemini_msg})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_msg})\n", + " messages.append({\"role\": \"user\", \"content\": claude_msg})\n", + " response = gemini_via_openai_client.chat.completions.create(\n", + " model=\"gemini-2.0-flash-exp\",\n", + " messages=messages\n", + " )\n", + " return response.choices[0].message.content\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "e47174ab-bb63-4720-83c3-1abdb127b6ff", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages=[{\"role\": \"system\", \"content\": gpt_systeam}]\n", + " for gemini_msg, gpt_msg, claude_msg in zip(gemini_messages, gpt_messages, claude_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gemini_msg})\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt_msg})\n", + " messages.append({\"role\": \"user\", \"content\": claude_msg})\n", + " messages.append({\"role\": \"user\", \"content\": gemini_messages[-1]})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "ed76cca8-f9d5-4481-babc-6321b0a20006", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages=[]\n", + " for gemini_msg, gpt_msg, claude_msg in zip(gemini_messages, gpt_messages, claude_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gemini_msg})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_msg})\n", + " messages.append({\"role\": \"assistant\", \"content\": claude_msg})\n", + " messages.append({\"role\": \"user\", \"content\": gemini_messages[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "39f8de9d-3cb6-463d-95d9-21727d57c128", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ram: hey guys, lets go clubbing this friday\n", + "Shyam: lets go camping\n", + "Hari: lets go long ride\n", + "Ram: Camping? Shyam, we just did that last month! And Hari, a long ride? My bike is still in the shop! Come on, guys, it's Friday night! We need some energy, some music, a crowd! Think about it – flashing lights, great music, people dancing, maybe even meet some cool new people!\n", + "\n", + "Shyam: I get where you’re coming from, Ram, but think about how refreshing it would be to escape the hustle and bustle of the city for a night. Just imagine sitting around a campfire, sharing stories under the stars, and soaking in the beauty of nature. It’s a perfect way to unwind after a long week! Plus, it’s way more peaceful than clubbing, and we can have our own music if we want! What do you say?\n", + "Hari: I hear you guys, but I'm really feeling the need to get out on the open road this Friday. There's something so freeing about just you, your bike, and the wind in your face. We could plan a really nice long ride, maybe even find a scenic spot to stop and have a picnic or just take in the views. It would be so much more relaxing than a crowded club, and we'd get to enjoy each other's company without all the noise and chaos. Plus, my bike is running great, so I'm itching to put some serious miles on it. What do you guys think?\n", + "Ram: Okay, okay, I get it. You guys are all about the nature and relaxation this week. But seriously, a club is a completely different vibe! Think of the adrenaline, the energy! We can always relax next weekend. Besides, it's been ages since we hit the dance floor together. Remember that time we tried to learn salsa and totally failed? We need to redeem ourselves! Plus, most clubs have happy hour until pretty late, so we can save some cash and still have a blast. Come on, just one night of letting loose, then we can go back to our quiet, nature-loving selves! I promise to even help set up the campfire next time, if we club this time. Just give clubbing a chance this Friday! Pleassssseee!\n", + "\n", + "Shyam: I totally remember that salsa disaster, and it was hilarious! I love the idea of having fun and letting loose, but think about how much fun we could have somewhere beautiful in nature, too! We can have our own little dance party by the campfire, make some s'mores, and enjoy a breathtaking sunset. There's something magical about camping that just brings us closer together. Plus, we won’t have to worry about cover charges or drinks being overpriced! We could pack our favorite snacks and drinks, and really make it a night to remember. Nature has its own rhythm, you know? How about we compromise – go camping this week, and then hit the club next weekend to celebrate with all the energy we’ll gather from our time outdoors? What do you think?\n", + "Hari: You know, I can kind of see both of your points. Ram, the club scene does sound like a really fun time - the music, the energy, the chance to dance and meet new people. I get that sense of adrenaline and excitement. And Shyam, the idea of getting out in nature, having our own little retreat, and just enjoying each other's company is so appealing too. It's a totally different vibe, but one that I really love.\n", + "\n", + "I tell you what - why don't we do a bit of both? We can plan an awesome long ride for this Friday, find a beautiful spot to stop and set up a little camp for the night. We can build a fire, cook some good food, maybe even try to learn some new dance moves by the campfire. Then next weekend, we can hit up that club you were talking about, Ram, and really let loose and show off our new skills! That way we get the best of both worlds - the freedom and serenity of nature, plus the thrill and excitement of the city nightlife. What do you guys think? Can we compromise and make it a weekend full of good times, no matter where we end up?\n", + "Ram: Hmm... a ride and a mini-camp? And then clubbing next weekend? That's... actually not a bad compromise! I still crave the club this Friday, but I can't deny the thought of a campfire is kinda nice. Plus, you said dance moves by the fire, Hari? I need video proof of that! Okay, okay, I'm in! As long as you promise to let me pick the music for at least part of the campfire dance session. And Shyam, you're in charge of bringing the marshmallows! Long ride and mini-camp this Friday, then clubbing next weekend it is! Let’s plan this epic weekend!\n", + "\n", + "Shyam: Yes! I’m so glad we could work this out! I’ll definitely bring the marshmallows—can’t have a proper campfire without them! And I’ll make sure to pack some cozy blankets for us to sit around the fire. I love the idea of mixing the best of both worlds. \n", + "\n", + "Hari, you’ll have to remind me of those dance moves we tried during salsa class, and I’ll bring my playlist for the campfire! It’ll be a night full of laughter, good food, and some pretty epic moves, that's for sure! Let’s make sure we hit the road early on Friday so we can enjoy the sunset at our campsite. Can’t wait for this epic weekend with you guys!\n", + "Hari: Yes, this is shaping up to be the perfect plan! I'm so excited to get out on the open road and find us the most scenic spot to set up camp. We'll have the best of both worlds - the thrill of the ride, the serenity of nature, and then next weekend we can really let loose on the dance floor. \n", + "\n", + "Ram, you know I'll let you take the aux cord for at least part of the night. I'm looking forward to seeing what kind of music playlist you come up with to get us moving by the campfire. And Shyam, the marshmallows are a must - we'll make the best s'mores! Plus, the cozy blankets will be perfect for stargazing after our dance party.\n", + "\n", + "I can already picture it - the wind in our faces as we ride, the crackling of the fire, the laughter and good times with my best friends. This is going to be a weekend to remember. Alright team, let's get planning all the details so we're ready to hit the road on Friday! I can't wait!\n", + "Ram: Alright guys, I'm officially pumped for this! Shyam, make sure those marshmallows are the extra-large kind! And Hari, you better have a killer route planned. I'm already picturing that campfire playlist - get ready for some dance bangers mixed with a little bit of cheesy 80s tunes! Operation Awesome Weekend is a go! Let's coordinate on the details tomorrow. Friday can't come soon enough!\n", + "\n", + "Shyam: Haha, extra-large marshmallows coming right up, Ram! I’m all for cheesy 80s tunes mixed with some dance bangers. It’s going to be an epic playlist for sure! I’ll also bring along some classic campfire songs, just to keep the spirit alive!\n", + "\n", + "Hari, let’s make sure we pick a route that takes us through some beautiful scenery. Maybe we can stop for pictures along the way, too. I can't wait to just unwind and have a blast with you both. \n", + "\n", + "Let’s definitely get all the details sorted tomorrow. Operation Awesome Weekend is going to be legendary! Can’t wait for Friday! šŸŒ²šŸ”„šŸŽ¶\n", + "Hari: You know it, Ram! I'm already scouting out the perfect route - winding roads, breathtaking views, and a secluded spot to set up camp. We're going to have the ride of our lives!\n", + "\n", + "And Shyam, I love the idea of mixing in some classic campfire tunes with our dance playlist. It's going to create such a fun, laidback vibe. I can already picture us belting out some oldies around the fire. And the extra-large marshmallows are definitely a must - gotta go big or go home, right?\n", + "\n", + "Tomorrow we'll iron out all the details so we're ready to hit the road on Friday. I'm talking gear checklist, food planning, the whole nine yards. This is going to be a weekend for the books, my friends. Operation Awesome Weekend is a go, and I cannot wait! Get ready for an unforgettable adventure!\n", + "Ram: Alright, sounds like we've got a solid plan! Gear checklist, food prep, and epic route planning tomorrow. I'm already mentally packing my dancing shoes! Operation Awesome Weekend - get ready for liftoff! This is gonna be legendary! See you guys tomorrow to finalize everything!\n", + "\n", + "Shyam: Absolutely, Ram! I can’t wait! Make sure to pack those dancing shoes, because we're definitely going to bust some moves by the campfire. \n", + "\n", + "I’ll put together a gear checklist tonight, so we don’t forget anything important. And I’ll start thinking about what snacks and meals we should bring. \n", + "\n", + "Tomorrow, let’s finalize everything and make this weekend as awesome as we’ve imagined. I’m so ready for this adventure! See you both tomorrow! šŸŒŒšŸ”„šŸŽ‰\n", + "Hari: Can't wait, guys! This is going to be the best weekend ever. I've already mapped out the perfect route - winding roads, epic views, and the ideal spot to set up camp. Just wait until you see it, it's going to blow your minds.\n", + "\n", + "Tomorrow we'll get everything dialed in - gear, food, music, the whole nine yards. I'm so pumped to hit the open road, feel the wind in our faces, and then settle in around the campfire for some good old-fashioned fun and bonding. \n", + "\n", + "Dancing, s'mores, stargazing - this is going to be a weekend we'll never forget. Operation Awesome Weekend is a go! See you both tomorrow to finalize all the details. This is going to be legendary!\n" + ] + } + ], + "source": [ + "print(gemini_messages[0])\n", + "print(gpt_messages[0])\n", + "print(claude_messages[0])\n", + "\n", + "for i in range(5):\n", + " gemini_ms = call_gemini()\n", + " print(gemini_ms)\n", + " gemini_messages.append(gemini_ms)\n", + "\n", + " gpt_ms = call_gpt()\n", + " print(gpt_ms)\n", + " gpt_messages.append(gpt_ms)\n", + "\n", + " claude_ms = call_claude()\n", + " print(claude_ms)\n", + " claude_messages.append(claude_ms)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ac9fa060-5c04-40ac-9dfa-a0b8d52c816b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From afb94de2719fdc814093ee54cea4e5c893c4c750 Mon Sep 17 00:00:00 2001 From: David Zywiec Date: Fri, 18 Jul 2025 15:04:38 -0500 Subject: [PATCH 020/176] Add web scraping and summarization script using Playwright and OpenAI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This script allows users to input a URL, scrape the visible content using the Playwright framework, and summarize it using the OpenAI GPT-4o API. The summarized output is saved as a Markdown (.md) file, providing a clean and accessible format. Key features: - Prompts user for a URL at runtime - Uses Playwright to scrape the page content - Extracts visible text with BeautifulSoup - Summarizes content using OpenAI's chat model - Saves output to a user-friendly Markdown file This contribution supports browser-based content summarization and expands the repo’s AI toolset for web interaction tasks. --- .../scraping_script.py | 56 ++++ .../Playwright_Scrapping_Project/summary.md | 34 +++ week1/day1.ipynb | 242 ++++++++++++++++-- 3 files changed, 305 insertions(+), 27 deletions(-) create mode 100644 week1/community-contributions/Playwright_Scrapping_Project/scraping_script.py create mode 100644 week1/community-contributions/Playwright_Scrapping_Project/summary.md diff --git a/week1/community-contributions/Playwright_Scrapping_Project/scraping_script.py b/week1/community-contributions/Playwright_Scrapping_Project/scraping_script.py new file mode 100644 index 0000000..7f9d619 --- /dev/null +++ b/week1/community-contributions/Playwright_Scrapping_Project/scraping_script.py @@ -0,0 +1,56 @@ +import os +import openai +from IPython.display import Markdown, display +from dotenv import load_dotenv +from playwright.sync_api import sync_playwright +from bs4 import BeautifulSoup + +load_dotenv() +openai.api_key = os.getenv("OPENAI_API_KEY") # Or set it directly + +def scrape_website(url): + # Code to scrape a website using Playwright + with sync_playwright() as p: + browser = p.chromium.launch(headless=True) + page = browser.new_page() + page.goto(url) + content = page.content() + browser.close() + return content + +def summarize_content(html_content): + #Get only the text parts of the webpage + soup = BeautifulSoup(html_content, 'html.parser') + summary_text = soup.get_text(separator=' ', strip=True) + # Code to summarize using OpenAI API + system_prompt = ("You summarize html content as markdown.") + user_prompt = ( + "You are a helpful assistant. Summarize the following HTML webpage content in markdown with simple terms:\n\n" + + summary_text + ) + response = openai.chat.completions.create( + model="gpt-4o", + messages=[{"role": "user", "content": user_prompt}] + ) + return response.choices[0].message.content + +def save_markdown(summary, filename="summary.md", url=None): + #Open the file summary.md + with open(filename, "w", encoding="utf-8") as f: + if url: + f.write(f"# Summary of [{url}]({url})\n\n") + else: + f.write("# Summary\n\n") + f.write(summary.strip()) + +# 4. Main Logic +def main(): + url = input("Enter the URL to summarize: ").strip() + html = scrape_website(url) + summary = summarize_content(html) + save_markdown(summary, filename="summary.md", url=url) + print("āœ… Summary saved to summary.md") + +# 5. Entry Point +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/week1/community-contributions/Playwright_Scrapping_Project/summary.md b/week1/community-contributions/Playwright_Scrapping_Project/summary.md new file mode 100644 index 0000000..6aa8639 --- /dev/null +++ b/week1/community-contributions/Playwright_Scrapping_Project/summary.md @@ -0,0 +1,34 @@ +# Summary of [https://www.willwight.com/](https://www.willwight.com/) + +# Will Wight - New York Times Best-Selling Author + +### Overview +Will Wight is a renowned author known for the "Cradle" series, alongside other works like "The Last Horizon" and "The Traveler's Gate Trilogy." He combines humor and storytelling in his blog and engages actively with his readers. + +### Books +- **The Last Horizon**: Currently ongoing series. +- **Cradle**: A 12-book series, now complete. +- **The Traveler's Gate Trilogy**: Completed series. +- **The Elder Empire**: Consists of two trilogies with stories happening simultaneously, totaling 6 books. + +### Recent Highlights +- **The Pilot Release**: The fourth book in "The Last Horizon" series, celebrated on July 4th, 2025. The 26th book by Will, marking a milestone as his next book will be his 27th. +- **Barnes & Noble Success**: A significant achievement of getting Will's books stocked nationwide in Barnes & Noble, marking a breakthrough for indie publishing. + +### Blog Highlights +- Will shares personal anecdotes and behind-the-scenes insights into his creative process. +- A humorous tone is used, including whimsical stories about his life and writing challenges. +- Recent experiences at Epic Universe theme park with thoughts on its design and offerings. + +### Connect +- **Mailing List**: Over 15,000 fans subscribe to receive updates on new stories and releases. +- **Hidden Gnome Publishing**: The entity behind Will's publications, working to bring his books to wider audiences. + +### Extras +- **Merch**: Available for fans wanting to support and connect with Will's universe. +- **Podcast**: Offers sneak peeks, discussions, and insights into Will's works. + +### Humorous Note +Will humorously describes himself transforming into a "monstrous mongoose" during a full moon, adding a quirky touch to his persona. + +For more detailed information on books, blogs, and extras, visit Will's website and explore his engaging world of storytelling! \ No newline at end of file diff --git a/week1/day1.ipynb b/week1/day1.ipynb index f492110..7d0c489 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -151,10 +151,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], "source": [ "# Load environment variables in a file called .env\n", "\n", @@ -175,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", "metadata": {}, "outputs": [], @@ -196,15 +204,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello! It's great to meet you. How can I assist you today?\n" + ] + } + ], "source": [ - "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "import openai\n", "\n", "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", - "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "response = openai.chat.completions.create(\n", + " model=\"gpt-4o\",\n", + " messages=[{\"role\": \"user\", \"content\": message}]\n", + ")\n", "print(response.choices[0].message.content)" ] }, @@ -251,7 +270,62 @@ "execution_count": null, "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Home - Edward Donner\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Well, hi there.\n", + "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", + "very\n", + "amateur) and losing myself in\n", + "Hacker News\n", + ", nodding my head sagely to things I only half understand.\n", + "I’m the co-founder and CTO of\n", + "Nebula.io\n", + ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", + "acquired in 2021\n", + ".\n", + "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", + "patented\n", + "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", + "Connect\n", + "with me for more!\n", + "May 28, 2025\n", + "Connecting my courses – become an LLM expert and leader\n", + "May 18, 2025\n", + "2025 AI Executive Briefing\n", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "Navigation\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Get in touch\n", + "ed [at] edwarddonner [dot] com\n", + "www.edwarddonner.com\n", + "Follow me\n", + "LinkedIn\n", + "Twitter\n", + "Facebook\n", + "Subscribe to newsletter\n", + "Type your email…\n", + "Subscribe\n" + ] + } + ], "source": [ "# Let's try one out. Change the website and add print statements to follow along.\n", "\n", @@ -280,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", "metadata": {}, "outputs": [], @@ -294,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", "metadata": {}, "outputs": [], @@ -312,10 +386,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are looking at a website titled Home - Edward Donner\n", + "The contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\n", + "\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Well, hi there.\n", + "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", + "very\n", + "amateur) and losing myself in\n", + "Hacker News\n", + ", nodding my head sagely to things I only half understand.\n", + "I’m the co-founder and CTO of\n", + "Nebula.io\n", + ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", + "acquired in 2021\n", + ".\n", + "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", + "patented\n", + "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", + "Connect\n", + "with me for more!\n", + "May 28, 2025\n", + "Connecting my courses – become an LLM expert and leader\n", + "May 18, 2025\n", + "2025 AI Executive Briefing\n", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "Navigation\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Get in touch\n", + "ed [at] edwarddonner [dot] com\n", + "www.edwarddonner.com\n", + "Follow me\n", + "LinkedIn\n", + "Twitter\n", + "Facebook\n", + "Subscribe to newsletter\n", + "Type your email…\n", + "Subscribe\n" + ] + } + ], "source": [ "print(user_prompt_for(ed))" ] @@ -341,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", "metadata": {}, "outputs": [], @@ -354,10 +485,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Oh, you’re really hitting me with the tough questions! But fine, I’ll play along. 2 + 2 equals 4. Happy now?\n" + ] + } + ], "source": [ "# To give you a preview -- calling OpenAI with system and user messages:\n", "\n", @@ -375,7 +514,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", "metadata": {}, "outputs": [], @@ -391,10 +530,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'system',\n", + " 'content': 'You are an assistant that analyzes the contents of a website and provides a short summary, ignoring text that might be navigation related. Respond in markdown.'},\n", + " {'role': 'user',\n", + " 'content': 'You are looking at a website titled Home - Edward Donner\\nThe contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\\n\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nWell, hi there.\\nI’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\\nvery\\namateur) and losing myself in\\nHacker News\\n, nodding my head sagely to things I only half understand.\\nI’m the co-founder and CTO of\\nNebula.io\\n. We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\\nacquired in 2021\\n.\\nWe work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\\npatented\\nour matching model, and our award-winning platform has happy customers and tons of press coverage.\\nConnect\\nwith me for more!\\nMay 28, 2025\\nConnecting my courses – become an LLM expert and leader\\nMay 18, 2025\\n2025 AI Executive Briefing\\nApril 21, 2025\\nThe Complete Agentic AI Engineering Course\\nJanuary 23, 2025\\nLLM Workshop – Hands-on with Agents – resources\\nNavigation\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nGet in touch\\ned [at] edwarddonner [dot] com\\nwww.edwarddonner.com\\nFollow me\\nLinkedIn\\nTwitter\\nFacebook\\nSubscribe to newsletter\\nType your email…\\nSubscribe'}]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Try this out, and then try for a few more websites\n", "\n", @@ -411,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", "metadata": {}, "outputs": [], @@ -429,17 +582,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'# Summary of Edward Donner\\'s Website\\n\\nThis website belongs to Ed Donner, a technology enthusiast focused on coding and experimenting with large language models (LLMs). He is the co-founder and CTO of Nebula.io, a company leveraging AI to help individuals discover their potential in the talent space. Ed has a background in AI startups, having previously founded untapt, which was acquired in 2021.\\n\\n## Key Features:\\n- **Personal Interests**: Ed enjoys DJing, electronic music production, and engaging with content on Hacker News.\\n- **Professional Focus**: Nebula.io specializes in developing proprietary LLMs tailored for talent matching and management.\\n\\n## Recent Announcements:\\n- **May 28, 2025**: Course introduction on becoming an LLM expert and leader.\\n- **May 18, 2025**: Announcement of a 2025 AI Executive Briefing.\\n- **April 21, 2025**: Launch of the \"Complete Agentic AI Engineering Course\".\\n- **January 23, 2025**: A workshop titled \"LLM Workshop – Hands-on with Agents\" offering related resources. \\n\\nThe website encourages visitors to connect with Ed and subscribe to his newsletter for updates and insights.'" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summarize(\"https://edwarddonner.com\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "3d926d59-450e-4609-92ba-2d6f244f1342", "metadata": {}, "outputs": [], @@ -453,10 +617,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "3018853a-445f-41ff-9560-d925d1774b2f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of Edward Donner's Website\n", + "\n", + "Edward Donner's personal website showcases his interests in coding, LLMs (Large Language Models), and electronic music. He is the co-founder and CTO of Nebula.io, a company focused on using AI to enhance talent discovery and management. He has previously founded another AI startup, untapt, which was acquired in 2021.\n", + "\n", + "## Recent Announcements:\n", + "\n", + "- **May 28, 2025**: Launch of courses aimed at helping individuals become experts and leaders in LLM technology.\n", + "- **May 18, 2025**: Announcement of the 2025 AI Executive Briefing.\n", + "- **April 21, 2025**: Introductory course titled \"The Complete Agentic AI Engineering Course.\"\n", + "- **January 23, 2025**: LLM Workshop offering hands-on resources for working with agents.\n", + "\n", + "The website encourages connection and collaboration, inviting visitors to reach out and engage." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display_summary(\"https://edwarddonner.com\")" ] @@ -593,7 +781,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "llms", "language": "python", "name": "python3" }, @@ -607,7 +795,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.11.13" } }, "nbformat": 4, From 7f4a72709f11dc746fea942cbfefb4cf9d81e9cc Mon Sep 17 00:00:00 2001 From: Harsh Kumar Date: Sat, 19 Jul 2025 15:39:28 +0530 Subject: [PATCH 021/176] cleared output --- .../ticket_price_agent.ipynb | 9913 +---------------- 1 file changed, 16 insertions(+), 9897 deletions(-) diff --git a/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb b/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb index 03d8486..67817f0 100644 --- a/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb +++ b/week2/community-contributions/TicketPriceWithGoogleSearch/ticket_price_agent.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "a390d675", "metadata": {}, "outputs": [], @@ -21,18 +21,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "55c9c2a2", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.\n" - ] - } - ], + "outputs": [], "source": [ "# Initialization\n", "\n", @@ -81,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "68ec7079", "metadata": {}, "outputs": [], @@ -131,7 +123,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "812ddcef", "metadata": {}, "outputs": [], @@ -246,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "857e77f8", "metadata": {}, "outputs": [], @@ -256,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "ec5cf817", "metadata": {}, "outputs": [], @@ -269,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "b829f882", "metadata": {}, "outputs": [], @@ -336,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "eb2ba65a", "metadata": {}, "outputs": [], @@ -377,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "b9c64fac", "metadata": {}, "outputs": [], @@ -387,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "32440830", "metadata": {}, "outputs": [], @@ -427,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "c670e697", "metadata": {}, "outputs": [], @@ -556,9872 +548,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "3b2dac94", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "* Running on local URL: http://127.0.0.1:7887\n", - "* To create a public link, set `share=True` in `launch()`.\n" - ] - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ChatCompletionMessageToolCall(id='call_8hiqoroOg9ZdmJFHbXJKfkfx', function=Function(arguments='{\"destination_city\":\"Kathmandu\",\"departure_city\":\"Delhi\"}', name='get_ticket_price'), type='function')\n", - "Tool get_ticket_price called for Kathmandu from Delhi\n", - "get_ticket_price: \n", - "{'total_results': 6220000, 'results': [{'title': 'Find Cheap Flights from New Delhi to Kathmandu - Google Flights', 'link': 'https://www.google.com/travel/flights/flights-from-new-delhi-to-kathmandu.html', 'snippet': 'Popular airlines from New Delhi to Kathmandu Ā· Air India. Nonstop. from $145. Typical price: $160–375 Ā· IndiGo. Nonstop. from $148. Typical price: $150–365.', 'display_link': '', 'formatted_url': 'https://www.google.com/.../flights/flights-from-new-delhi-to-kathmandu.ht...'}, {'title': 'Book Delhi to Kathmandu Flights from INR 5,352 | Air India', 'link': 'https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights', 'snippet': 'Delhi to Kathmandu flight fare, Business class: INR 3,00,978 | Economy class: INR 5,480 *prices may vary depending on season and demand ; First flight from Delhi\\xa0...', 'display_link': '', 'formatted_url': 'https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights'}, {'title': 'Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo', 'link': 'https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html', 'snippet': 'Flight ticket price: The Delhi to Kathmandu flight ticket price ranges from ₹7,000 - ₹16,000 and the price may vary depending on the time you are booking the\\xa0...', 'display_link': '', 'formatted_url': 'https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html'}, {'title': 'Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...', 'link': 'https://www.makemytrip.com/international-flights/delhi-kathmandu-cheap-airtickets.html', 'snippet': 'Fees range from ₹2,000–₹10,000 depending on time left to departure; Refunds take 7–14 business days; Cancellations can be done via MakeMyTrip or directly with\\xa0...', 'display_link': '', 'formatted_url': 'https://www.makemytrip.com/...flights/delhi-kathmandu-cheap-airtickets.ht...'}, {'title': 'Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...', 'link': 'https://www.makemytrip.global/international-flights/united_states/delhi-kathmandu-cheap-airtickets.html', 'snippet': 'Need information on Delhi to Kathmandu airfare? The minimum airfare for a Delhi to Kathmandu flight would be 52, which may go up to 2244 depending on the route,\\xa0...', 'display_link': '', 'formatted_url': 'https://www.makemytrip.global/...flights/.../delhi-kathmandu-cheap-airticke...'}, {'title': '$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...', 'link': 'https://www.kayak.com/flight-routes/New-Delhi-Indira-Gandhi-Intl-DEL/Kathmandu-Tribhuvan-KTM', 'snippet': 'The cheapest month for flights from New Delhi to Kathmandu is July, where tickets cost $150 (return) on average. On the other hand, the most expensive months\\xa0...', 'display_link': '', 'formatted_url': 'https://www.kayak.com/flight...Delhi-Indira.../Kathmandu-Tribhuvan-KTM'}, {'title': 'Cheap Flight Fares from Indira Gandhi International to Kathmandu ...', 'link': 'https://www.skyscanner.co.in/routes/del/ktm/indira-gandhi-international-to-kathmandu.html', 'snippet': 'Kathmandu.₹ 5,859 per passenger.Departing Fri, 27 Mar.One-way flight with Nepal Airlines.Outbound direct flight with Nepal Airlines departs from Indira Gandhi\\xa0...', 'display_link': '', 'formatted_url': 'https://www.skyscanner.co.in/.../indira-gandhi-international-to-kathmandu....'}, {'title': 'Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...', 'link': 'https://ae.makemytrip.global/international-flights/united_arab_emirates/delhi-kathmandu-air_india-tickets.html', 'snippet': 'Lowest fare from Delhi to Kathmandu Air India Flight on 27 Jul - AED 189. Cheapest ticket price on Delhi to Kathmandu Air India flight air ticket at MakeMyTrip.', 'display_link': '', 'formatted_url': 'https://ae.makemytrip.global/...flights/.../delhi-kathmandu-air_india-tickets....'}, {'title': 'Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF', 'link': 'https://www.goibibo.com/international-flights/delhi-to-kathmandu-flights', 'snippet': 'The lowest airfare of Delhi to Kathmandu flight is ₹4742 and the average airfare is 102357 depending on the airline, timings and availability. So, it is\\xa0...', 'display_link': '', 'formatted_url': 'https://www.goibibo.com/international-flights/delhi-to-kathmandu-flights'}, {'title': 'Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...', 'link': 'https://www.easemytrip.com/flights/delhi-del-to-kathmandu-ktm/', 'snippet': 'When it comes to the price range of Delhi (DEL) to Kathmandu (KTM) flights, then the price may range from ₹4848 to ₹16806 (per person). This sudden price\\xa0...', 'display_link': '', 'formatted_url': 'https://www.easemytrip.com/flights/delhi-del-to-kathmandu-ktm/'}], 'search_info': {'searchTime': 0.494554, 'formattedSearchTime': '0.49', 'totalResults': '6220000', 'formattedTotalResults': '6,220,000'}}\n", - "Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", - "Book Delhi to Kathmandu Flights from INR 5,352 | Air India\n", - "Failed to fetch https://www.airindia.com/en-us/book-flights/delhi-to-kathmandu-flights: HTTPSConnectionPool(host='www.airindia.com', port=443): Read timed out. (read timeout=10)\n", - "Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo\n", - "Failed to fetch https://www.goindigo.in/international-flights/delhi-to-kathmandu-flights.html: HTTPSConnectionPool(host='www.goindigo.in', port=443): Read timed out. (read timeout=10)\n", - "Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...\n", - "Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...\n", - "$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...\n", - "Cheap Flight Fares from Indira Gandhi International to Kathmandu ...\n", - "Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...\n", - "Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF\n", - "Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...\n", - "\n", - "\n", - "Title: Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", - "Webpage Title:\n", - "Find Cheap Flights from New Delhi to Kathmandu - Google Flights\n", - "Webpage Contents:\n", - "Skip to main content\n", - "Accessibility feedback\n", - "Travel\n", - "Explore\n", - "Flights\n", - "Hotels\n", - "Vacation rentals\n", - "Change appearance\n", - "Sign in\n", - "Travel\n", - "Explore\n", - "Flights\n", - "Hotels\n", - "Vacation rentals\n", - "Tracked flight prices\n", - "Tracked hotel prices\n", - "Change language\n", - "Change currency\n", - "Change location\n", - "Change currency\n", - "Feedback\n", - "Help\n", - "Flights\n", - "Round trip\n", - "Round trip\n", - "One way\n", - "Multi-city\n", - "1\n", - "Adults\n", - "Remove adult\n", - "1\n", - "Add adult\n", - "Children\n", - "Aged 2-11\n", - "Aged 2 to 11\n", - "Remove child\n", - "0\n", - "Add child\n", - "Infants\n", - "In seat\n", - "Remove infant in seat\n", - "0\n", - "Add infant in seat\n", - "Infants\n", - "On lap\n", - "Remove infant on lap\n", - "0\n", - "Add infant on lap\n", - "Done\n", - "Cancel\n", - "Economy\n", - "Economy\n", - "Premium economy\n", - "Business\n", - "First\n", - "New Delhi\n", - "New Delhi\n", - "Remove\n", - "Select multiple airports\n", - "Done\n", - "Press the plus key to switch to multi-select mode.\n", - "Kathmandu\n", - "Kathmandu\n", - "Remove\n", - "Select multiple airports\n", - "Done\n", - "Press the plus key to switch to multi-select mode.\n", - "Enter a date or use the arrow keys to change the current date.\n", - "Enter a date or use the arrow keys to change the current date.\n", - "Round trip\n", - "Round trip\n", - "One way\n", - "Reset\n", - "Done\n", - "Add flight\n", - "Search\n", - "Flights\n", - "From New Delhi\n", - "To Kathmandu\n", - "Cheap flights from New Delhi to Kathmandu\n", - "Good to know\n", - "Close dialog\n", - "Prices are for flights from New Delhi to Kathmandu for 1 adult in Economy. Flight times are based on nonstop flights or flights with the fewest stops available.\n", - "Flight information for New Delhi to Kathmandu to help you plan your next trip.\n", - "Cheapest round-trip flight\n", - "₹11,876\n", - "Air India\n", - "Nonstop\n", - "2 hr\n", - "Jul 26 — Jul 27\n", - "The cheapest round-trip flight from New Delhi to Kathmandu is currently ₹11,876\n", - "Find flights\n", - "Cheapest one-way flight\n", - "₹4,511\n", - "IndiGo\n", - "Nonstop\n", - "2 hr\n", - "Jul 16\n", - "The cheapest one-way flight from New Delhi to Kathmandu is currently ₹4,511\n", - "Find flights\n", - "Fastest flight\n", - "1 hr 20 min\n", - "The fastest nonstop flight from New Delhi to Kathmandu takes 1 hr 20 min\n", - "Nonstop flights\n", - "Every day\n", - "There are direct flights on this route every day.\n", - "When is the cheapest time to fly?\n", - "Close dialog\n", - "Typical prices for the least expensive flights for weekend trips from New Delhi to Kathmandu per month. Insights are based on fares observed in the last 12 months. Current prices may differ.\n", - "The cheapest month to fly from New Delhi to Kathmandu is typically July. The most expensive one is typically October.\n", - "July\n", - "Cheapest\n", - "Typical prices: ₹12,000–13,000\n", - "October\n", - "Most expensive\n", - "Typical prices: ₹19,000–25,500\n", - "Popular airlines from New Delhi to Kathmandu\n", - "Close dialog\n", - "Popularity is based on the number of weekly nonstop and connecting flights the airline operates. Connecting flights do not include interline routes.\n", - "Flight suggestions are based on an airline's cheapest round-trip fares from New Delhi to Kathmandu in the next 3 months. Prices include required taxes + fees for one adult. Optional charges and bag fees may apply.\n", - "Typical prices are based on fares observed in the past year for one-week round trips with the same origin, destination, and airline.\n", - "Air India\n", - "Nonstop\n", - "from\n", - "₹12,076\n", - "Typical price:\n", - "₹13,500–32,000\n", - "₹13,500\n", - "₹32,000\n", - "35 weekly nonstop flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights from ₹12,076\n", - "IndiGo\n", - "Nonstop\n", - "from\n", - "₹12,654\n", - "Typical price:\n", - "₹13,000–31,500\n", - "₹13,000\n", - "₹31,500\n", - "21 weekly nonstop flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "334 weekly connecting flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights from ₹12,654\n", - "Nepal Airlines\n", - "Nonstop\n", - "from\n", - "₹13,963\n", - "Typical price:\n", - "₹16,000–28,500\n", - "₹16,000\n", - "₹28,500\n", - "7 weekly nonstop flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights from ₹13,963\n", - "SpiceJet\n", - "Nonstop\n", - "from\n", - "₹14,632\n", - "Typical price:\n", - "₹14,500–21,000\n", - "₹14,500\n", - "₹21,000\n", - "7 weekly nonstop flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights from ₹14,632\n", - "Bhutan Airlines\n", - "Nonstop\n", - "4 weekly nonstop flights\n", - "DEL - KTM\n", - "Every Mon, Wed, Sat, Sun\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights\n", - "Air India Express\n", - "67 weekly connecting flights\n", - "DEL - KTM\n", - "Every day\n", - "S\n", - "M\n", - "T\n", - "W\n", - "T\n", - "F\n", - "S\n", - "Find flights\n", - "Popular airports near New Delhi\n", - "Close dialog\n", - "Distance and driving time are relative to the city center. Airports are listed based on distance from New Delhi center and popularity with travelers.\n", - "Indira Gandhi International Airport\n", - "(DEL)\n", - "New Delhi\n", - "India\n", - "23 min\n", - "10 km\n", - "Jaipur International Airport\n", - "(JAI)\n", - "Jaipur\n", - "India\n", - "4 hr 29 min\n", - "242 km\n", - "Hindon Airport\n", - "(HDO)\n", - "Ghaziabad\n", - "India\n", - "44 min\n", - "16 km\n", - "Shaheed Bhagat Singh International Airport, Chandigarh\n", - "(IXC)\n", - "Chandigarh\n", - "India\n", - "4 hr 32 min\n", - "232 km\n", - "Popular airports near Kathmandu\n", - "Close dialog\n", - "Distance and driving time are relative to the city center. Airports are listed based on distance from Kathmandu center and popularity with travelers.\n", - "Tribhuvan International Airport\n", - "(KTM)\n", - "Kathmandu\n", - "Nepal\n", - "20 min\n", - "3 km\n", - "Pokhara Domestic Airport\n", - "(PKR)\n", - "Pokhara\n", - "Nepal\n", - "6 hr 15 min\n", - "142 km\n", - "Simara Airport\n", - "(SIF)\n", - "Pipara Simara\n", - "Nepal\n", - "3 hr 51 min\n", - "69 km\n", - "Bharatpur Airport\n", - "(BHR)\n", - "Bharatpur\n", - "Nepal\n", - "4 hr 37 min\n", - "87 km\n", - "Frequently asked questions about flying from New Delhi to Kathmandu\n", - "How long does it take to fly from New Delhi to Kathmandu?\n", - "1 hr 20 min is the shortest flight time from New Delhi to Kathmandu.\n", - "When are the cheapest days to fly from New Delhi to Kathmandu?\n", - "The cheapest days to fly are usually in July. Typical prices range from ₹12,000 to ₹13,000.\n", - "Which airlines provide the cheapest flights from New Delhi to Kathmandu?\n", - "The best round-trip deal recently found on Google Flights from New Delhi to Kathmandu was with Air India from ₹11,876. The best one-way deal was with IndiGo from ₹4,511.\n", - "Some of the cheapest round-trip deals we found with different airlines:\n", - "The cheapest Air India round-trip flight from New Delhi to Kathmandu is ₹12,076, flying from Jul 19 to Jul 20.\n", - "The cheapest IndiGo round-trip flight from New Delhi to Kathmandu is ₹12,654, flying from Jul 17 to Jul 20.\n", - "The cheapest Nepal Airlines round-trip flight from New Delhi to Kathmandu is ₹13,963, flying from Jul 26 to Jul 27.\n", - "The cheapest SpiceJet round-trip flight from New Delhi to Kathmandu is ₹14,632, flying from Jul 17 to Jul 20.\n", - "The cheapest Bhutan Airlines round-trip flight from New Delhi to Kathmandu is , flying from to .\n", - "The cheapest Air India Express round-trip flight from New Delhi to Kathmandu is , flying from to .\n", - "What is the best airline to fly from New Delhi to Kathmandu?\n", - "What counts as the best airline for your flights from New Delhi to Kathmandu really depends on your individual needs. You may have a favorite carrier or a loyalty program you like, but price, convenience, and airports served also come into play. Flexibility and booking terms – Can you change flights if you want to stay longer or get a refund if you have to postpone your trip? – are also factors that help determine which airline is best to fly from New Delhi to Kathmandu.\n", - "In terms of nonstop flights, Air India is the most popular. Air India offers 35 nonstop flights per week. Air India flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "In terms of flights, IndiGo is the most popular. IndiGo offers 21 nonstop flights and 334 connecting flights per week. IndiGo flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "Other popular airlines flying from New Delhi to Kathmandu are:\n", - "Nepal Airlines offers 7 nonstop flights per week. Nepal Airlines flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "SpiceJet offers 7 nonstop flights per week. SpiceJet flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "Bhutan Airlines offers 4 nonstop flights per week. Bhutan Airlines flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "Air India Express offers 67 connecting flights per week. Air India Express flies from Indira Gandhi International Airport\n", - "(DEL)\n", - "to Tribhuvan International Airport\n", - "(KTM)\n", - ".\n", - "The number of connecting flights refers to distinct flights with at least one stop between New Delhi and Kathmandu.\n", - "When are direct flights from New Delhi to Kathmandu available?\n", - "There are direct flights from New Delhi to Kathmandu on a daily basis.\n", - "Which airlines have direct flights from New Delhi to Kathmandu?\n", - "Air India, IndiGo, Nepal Airlines, SpiceJet and Bhutan Airlines fly direct from New Delhi to Kathmandu.\n", - "There are 35 Air India direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", - "There are 21 IndiGo direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", - "There are 7 Nepal Airlines direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", - "There are 7 SpiceJet direct flights from New Delhi to Kathmandu per week. Flights are available every day.\n", - "There are 4 Bhutan Airlines direct flights from New Delhi to Kathmandu per week. Flights are available on Monday, Wednesday, Saturday and Sunday.\n", - "Use the\n", - "Stops\n", - "filter while searching for flights, to see only nonstop options in your results.\n", - "What are the cheapest flights from New Delhi to Kathmandu?\n", - "The cheapest round-trip flight from New Delhi to Kathmandu starts at ₹11,876 from Sat, Jul 26 to Sun, Jul 27. The cheapest one-way flight starts at ₹4,511 and departs on Wed, Jul 16.\n", - "When should you visit Kathmandu?\n", - "Peak travel is Feb–Apr. Monsoon season runs Jun–Sep. Key events include the Indra Jatra festival (dates vary, Aug/Sep), a religious festival featuring masked dances in Durbar Square.\n", - "How do I find cheap dates to fly from New Delhi to Kathmandu?\n", - "It's easy to use Google Flights to find the cheapest days to fly from New Delhi to Kathmandu.\n", - "Just click the\n", - "Departure\n", - "label near the top of the page to open the calendar. Choose a start date and a return date to see how the round-trip fare changes on those specific days.\n", - "Adjust the trip type to see one-way fares. The cheapest available flights are highlighted and easy to spot. Once you settle on dates, click the\n", - "Search\n", - "button to see flight options and book the deal.\n", - "You can also turn on price tracking to get alerts if the price changes for a route or flight.\n", - "Search more flights\n", - "Popular trips from New Delhi\n", - "Close dialog\n", - "These suggestions are based on the cheapest fares to popular destinations in the next six months.\n", - "Prices include required taxes + fees for 1 adult. Optional charges and bag fees may apply.\n", - "Sydney\n", - "₹60,810\n", - "Aug 29 — Aug 31\n", - "1 stop\n", - "27 hr\n", - "Cathay Pacific\n", - "Vancouver\n", - "₹81,118\n", - "Oct 9 — Oct 12\n", - "1 stop\n", - "26 hr 15 min\n", - "Air India, SWISS, Edelweiss Air\n", - "Mumbai\n", - "₹9,088\n", - "Jul 18 — Jul 20\n", - "Nonstop\n", - "2 hr 15 min\n", - "IndiGo\n", - "Singapore\n", - "Aug 21 — Aug 24\n", - "Find flights from New Delhi to anywhere\n", - "Explore destinations\n", - "More places to fly\n", - "Flights from New Delhi\n", - "Flights to Kathmandu\n", - "Related flights\n", - "Flights from New Delhi to Mumbai\n", - "Flights from New Delhi to Bengaluru\n", - "Flights from New Delhi to Hyderabad\n", - "Flights from New Delhi to Kolkata\n", - "Flights from New Delhi to Chennai\n", - "Flights from New Delhi to London\n", - "Flights from New Delhi to Ahmedabad\n", - "Flights from New Delhi to Goa\n", - "Flights from New Delhi to Pune\n", - "Flights from New Delhi to New York\n", - "Flights from New Delhi to Dubai\n", - "Flights from New Delhi to Bangkok\n", - "Flights from London to Kathmandu\n", - "Flights from Tokyo to Kathmandu\n", - "Flights from Bangkok to Kathmandu\n", - "Flights from Dubai to Kathmandu\n", - "Flights from Federal Territory of Kuala Lumpur to Kathmandu\n", - "Flights from Mumbai to Kathmandu\n", - "Flights from Singapore to Kathmandu\n", - "Flights from Doha to Kathmandu\n", - "Flights from Paris to Kathmandu\n", - "Flights from Bengaluru to Kathmandu\n", - "Flights from Colombo to Kathmandu\n", - "Flights from Phuket to Kathmandu\n", - "Flights from Kathmandu to New Delhi\n", - "Flights from New Delhi\n", - "Flights from Kathmandu\n", - "Flights to New Delhi\n", - "Flights to Kathmandu\n", - "Flights to Nepal\n", - "Language\n", - "​\n", - "English (United States)\n", - "Location\n", - "​\n", - "India\n", - "Currency\n", - "​\n", - "INR\n", - "Current language and currency options applied: English (United States) - India - INR\n", - "Displayed currencies may differ from the currencies used to purchase flights.\n", - "Learn more\n", - "About\n", - "Privacy\n", - "Terms\n", - "Join user studies\n", - "Feedback\n", - "Help Center\n", - "International sites\n", - "Google Flights - United States (en-US)\n", - "Google Voos - Brasil (pt-BR)\n", - "Google Flights - Canada (en)\n", - "Google Flights - United Kingdom (en-GB)\n", - "Google Flights - France (fr)\n", - "Google Flüge - Deutschland (de)\n", - "Google Vuelos - EspaƱa (es)\n", - "Google Flights - Australia (en)\n", - "Google Flights - MĆ©xico (es)\n", - "Google Voli - Italia (it)\n", - "Explore flights\n", - "Popular departures from India\n", - "Flights from New Delhi\n", - "Flights from Mumbai\n", - "Flights from Bengaluru\n", - "Flights from Hyderabad\n", - "Flights from Chennai\n", - "Flights from Kochi\n", - "Popular routes from India\n", - "Flights from New Delhi to Mumbai\n", - "Flights from Mumbai to New Delhi\n", - "Flights from Bengaluru to New Delhi\n", - "Flights from New Delhi to Bengaluru\n", - "Flights from Mumbai to Bengaluru\n", - "Flights from Bengaluru to Mumbai\n", - "Flights from Hyderabad to New Delhi\n", - "Flights from New Delhi to Hyderabad\n", - "Flights from Bengaluru to Hyderabad\n", - "Flights from Hyderabad to Bengaluru\n", - "Flights from Hyderabad to Mumbai\n", - "Flights from Mumbai to Hyderabad\n", - "Popular destinations from India\n", - "Flights to New Delhi\n", - "Flights to Bengaluru\n", - "Flights to Mumbai\n", - "Flights to Hyderabad\n", - "Flights to Chennai\n", - "Popular regions from India\n", - "Flights to India\n", - "Flights to United States\n", - "Flights to Australia\n", - "Flights to Japan\n", - "Flights to United Arab Emirates\n", - "Flights to Thailand\n", - "\n", - "\n", - "\n", - "Title: Book Delhi to Kathmandu Flights from INR 5,352 | Air India\n", - "Webpage Title:\n", - "Failed to load\n", - "Webpage Contents:\n", - "\n", - "\n", - "\n", - "\n", - "Title: Delhi to Kathmandu Flights Ticket @ ₹5689 + 10% off - IndiGo\n", - "Webpage Title:\n", - "Failed to load\n", - "Webpage Contents:\n", - "\n", - "\n", - "\n", - "\n", - "Title: Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL ...\n", - "Webpage Title:\n", - "Delhi to Kathmandu Flights, Fares @ ₹ 4742 | MakeMyTrip INTL Flights\n", - "Webpage Contents:\n", - "Flights\n", - "Flights\n", - "Hotels\n", - "Hotels\n", - "Homestays & Villas\n", - "Homestays & Villas\n", - "Holiday Packages\n", - "Holiday Packages\n", - "Trains\n", - "Trains\n", - "Buses\n", - "Buses\n", - "Cabs\n", - "Cabs\n", - "Forex Card & Currency\n", - "Forex Card & Currency\n", - "Travel Insurance\n", - "Travel Insurance\n", - "TRIP TYPE\n", - "One Way\n", - "FROM\n", - "TO\n", - "DEPART\n", - "RETURN\n", - "PASSENGERS & CLASS\n", - "SEARCH\n", - "Fare Type:\n", - "Regular\n", - "Armed Forces\n", - "NEW\n", - "Armed Forces Fare\n", - "Applicable for serving and retired personnel of Armed Forces and Paramilitary Forces, their recognised dependants like spouses and children, and war widows. It is mandatory to show a valid ID or dependant card at the airport, without which boarding might be denied.\n", - "Student\n", - "Student Fare\n", - "Only students above 12 years of age are eligible for special fares and/or additional baggage allowances. Carrying valid student ID cards and student visas (where applicable) is mandatory, else the passenger may be denied boarding or asked to pay for extra baggage.\n", - "Senior Citizen\n", - "Senior Citizen Fare\n", - "Only senior citizens above the age of 60 years can avail this special fare. It is mandatory to produce proof of Date of Birth at the airport, without which prevailing fares will be charged.\n", - "Double Seat\n", - "Fly Safer with Double Seat\n", - "Step up physical distancing by booking two or three adjacent seats for one traveller. Opt from ā€˜Double/ Entire Row’ by Indigo or ā€˜GoMore’ service by GoAir - available only for domestic one-way economy class bookings.\n", - "Popular Filters\n", - "Non Stop\n", - "(11)\n", - "₹ 4,742\n", - "Early Morning Departures\n", - "(11)\n", - "₹ 5,352\n", - "Late Departures\n", - "(17)\n", - "₹ 5,352\n", - "1 Stop\n", - "(43)\n", - "₹ 5,577\n", - "AfterNoon Departure\n", - "(15)\n", - "₹ 4,917\n", - "+ 1 more\n", - "Departure Airports\n", - "Indira Gandhi International Airport\n", - "₹ 4,742\n", - "Hindon Airport (32Km)\n", - "₹ 12,072\n", - "One Way Price\n", - "₹ 4,742\n", - "₹ 1,98,000\n", - "Duration\n", - "1 h 20 m\n", - "29 h 0 m\n", - "Stops From New Delhi\n", - "Non Stop\n", - "(11)\n", - "₹ 4,742\n", - "1 Stop\n", - "(43)\n", - "₹ 5,577\n", - "1+ Stop\n", - "(8)\n", - "₹ 12,571\n", - "Departure From New Delhi\n", - "Before\n", - "6\n", - "AM\n", - "₹ 5,352\n", - "6\n", - "AM to\n", - "12\n", - "PM\n", - "₹ 4,742\n", - "12\n", - "PM to\n", - "6\n", - "PM\n", - "₹ 4,917\n", - "After\n", - "6\n", - "PM\n", - "₹ 5,352\n", - "Arrival at Kathmandu\n", - "6\n", - "AM to\n", - "12\n", - "PM\n", - "₹ 5,130\n", - "12\n", - "PM to\n", - "6\n", - "PM\n", - "₹ 4,742\n", - "After\n", - "6\n", - "PM\n", - "₹ 4,917\n", - "Alliances & Airlines\n", - "Oneworld\n", - "(4)\n", - "SkyTeam\n", - "()\n", - "Star Alliance\n", - "(26)\n", - "Air Arabia\n", - "(3)\n", - "₹ 33,139\n", - "Air India\n", - "(19)\n", - "₹ 5,352\n", - "Air India Express\n", - "(3)\n", - "₹ 12,072\n", - "Bhutan Air\n", - "(1)\n", - "₹ 4,742\n", - "Cathay Pacific\n", - "(2)\n", - "₹ 1,93,337\n", - "Flydubai\n", - "(2)\n", - "₹ 37,917\n", - "IndiGo\n", - "(21)\n", - "₹ 5,210\n", - "Malaysia Airlines\n", - "(1)\n", - "₹ 95,945\n", - "Nepal Airlines\n", - "(1)\n", - "₹ 4,917\n", - "Singapore Airlines\n", - "(1)\n", - "₹ 1,54,761\n", - "SpiceJet\n", - "(1)\n", - "₹ 5,130\n", - "Srilankan Airlines\n", - "(1)\n", - "₹ 13,870\n", - "Thai Airways\n", - "(4)\n", - "₹ 23,343\n", - "Turkish Airlines\n", - "(2)\n", - "₹ 87,432\n", - "+ 8 more\n", - "Layover Airports\n", - "Bangkok\n", - "(4)\n", - "₹ 23,343\n", - "Bengaluru\n", - "(17)\n", - "₹ 10,308\n", - "Colombo\n", - "(1)\n", - "₹ 13,870\n", - "Dubai\n", - "(2)\n", - "₹ 37,917\n", - "Hong Kong\n", - "(2)\n", - "₹ 1,93,337\n", - "Hyderabad\n", - "(7)\n", - "₹ 12,571\n", - "Istanbul\n", - "(2)\n", - "₹ 87,432\n", - "Kuala Lumpur\n", - "(1)\n", - "₹ 95,945\n", - "Mumbai\n", - "(18)\n", - "₹ 5,577\n", - "Sharjah\n", - "(3)\n", - "₹ 33,139\n", - "Singapore\n", - "(1)\n", - "₹ 1,54,761\n", - "+ 6 more\n", - "Layover Duration\n", - "1 h 0 m\n", - "24 h 0 m\n", - "Flights from Delhi\n", - "Delhi to Cairo Flight\n", - "Lowest Fare INR 19,963\n", - "Delhi to Langkawi Flight\n", - "Lowest Fare INR 8,329\n", - "Delhi to Toronto Flight\n", - "Lowest Fare INR 38,300\n", - "Delhi to Birmingham Flight\n", - "Lowest Fare INR 24,258\n", - "Delhi to Pisa Flight\n", - "Lowest Fare INR 31,677\n", - "Delhi to Albuquerque Flight\n", - "Lowest Fare INR 54,836\n", - "Delhi to Philadelphia Flight\n", - "Lowest Fare INR 38,040\n", - "Delhi to Southampton Flight\n", - "Lowest Fare INR 26,234\n", - "Delhi to Copenhagen Flight\n", - "Lowest Fare INR 20,281\n", - "Delhi to Edinburgh Flight\n", - "Lowest Fare INR 25,192\n", - "Delhi to Oslo Flight\n", - "Lowest Fare INR 23,806\n", - "Delhi to Zurich Flight\n", - "Lowest Fare INR 21,278\n", - "Delhi to Rome Flight\n", - "Lowest Fare INR 21,731\n", - "Delhi to Brussels Flight\n", - "Lowest Fare INR 22,570\n", - "Delhi to Phuket Flight\n", - "Lowest Fare INR 8,991\n", - "Delhi to Barcelona Flight\n", - "Lowest Fare INR 23,318\n", - "Delhi to Berlin Flight\n", - "Lowest Fare INR 22,195\n", - "Delhi to Charlotte Flight\n", - "Lowest Fare INR 42,961\n", - "Delhi to Larnaca Flight\n", - "Lowest Fare INR 20,277\n", - "Top Flights From Delhi\n", - "Delhi To Kathmandu Flights\n", - "Flights from Kathmandu\n", - "Kathmandu to Edinburgh Flight\n", - "Lowest Fare INR 35,114\n", - "Kathmandu to Riga Flight\n", - "Lowest Fare INR 47,202\n", - "Kathmandu to Oslo Flight\n", - "Lowest Fare INR 32,506\n", - "Kathmandu to Berlin Flight\n", - "Lowest Fare INR 35,654\n", - "Kathmandu to Pittsburgh Flight\n", - "Lowest Fare INR 84,849\n", - "Kathmandu to Birmingham Flight\n", - "Lowest Fare INR 37,446\n", - "Kathmandu to Seoul Flight\n", - "Lowest Fare INR 30,563\n", - "Kathmandu to Nairobi Flight\n", - "Lowest Fare INR 30,918\n", - "Top Routes\n", - "Kathmandu to Delhi Flights\n", - "Delhi to Kathmandu Flight Schedule\n", - "Amsterdam To London Flights\n", - "Calgary To Vancouver Flights\n", - "London To Amsterdam Flights\n", - "Athens To Rome Flights\n", - "Singapore To Perth Flights\n", - "Calgary To Toronto Flights\n", - "Toronto To Ottawa Flights\n", - "New York To Denver Flights\n", - "New York To Seattle Flights\n", - "Madrid To Malaga Flights\n", - "Amsterdam To Newcastle Flights\n", - "London To Frankfurt Flights\n", - "Athens To Paris Flights\n", - "Sydney To Adelaide Flights\n", - "London To Glasgow Flights\n", - "New York To Niagara Falls Flight\n", - "Wellington To Christchurch Flights\n", - "London To Zurich Flights\n", - "Adelaide To Sydney Flights\n", - "Adelaide To Melbourne Flights\n", - "Top Flights From Kathmandu\n", - "Kathmandu To Goa Flights\n", - "Kathmandu To Bangalore Flights\n", - "Kathmandu To Patna Flights\n", - "Kathmandu To Chandigarh Flights\n", - "Kathmandu To Bagdogra Flights\n", - "Kathmandu To Kolkata Flights\n", - "Kathmandu To Hyderabad Flights\n", - "Kathmandu To Kochi Flights\n", - "Kathmandu To Jaipur Flights\n", - "Kathmandu To Pune Flights\n", - "Kathmandu To Mumbai Flights\n", - "Kathmandu To Chennai Flights\n", - "Kathmandu To Varanasi Flights\n", - "Kathmandu To Ahmedabad Flights\n", - "Kathmandu To Thiruvananthapuram Flights\n", - "Kathmandu To Lucknow Flights\n", - "Kathmandu To Indore Flights\n", - "Kathmandu To Tiruchirappalli Flights\n", - "Kathmandu To Madurai Flights\n", - "Kathmandu To Vadodara Flights\n", - "Kathmandu To Amritsar Flights\n", - "Kathmandu To Mangalore Flights\n", - "Kathmandu To Guwahati Flights\n", - "Kathmandu To Nagpur Flights\n", - "Kathmandu To Coimbatore Flights\n", - "Popular Long Haul Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Mumbai Flights\n", - "Orlando\n", - "\t\t\t\t\tto Miami Flights\n", - "Houston\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Seattle\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Houston\n", - "\t\t\t\t\tto Chennai Flights\n", - "Delhi\n", - "\t\t\t\t\tto New York Flights\n", - "Denver\n", - "\t\t\t\t\tto Mumbai Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Chennai Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Boston\n", - "\t\t\t\t\tto Delhi Flights\n", - "Houston\n", - "\t\t\t\t\tto Delhi Flights\n", - "Las\n", - "\t\t\t\t\tVegas to San Jose Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto San Francisco Flights\n", - "Boston\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Houston\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Seattle\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "New\n", - "\t\t\t\t\tYork to Mumbai Flights\n", - "Los\n", - "\t\t\t\t\tAngeles to Hyderabad Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto Dallas Fort Worth Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto New York Flights\n", - "New\n", - "\t\t\t\t\tYork to Hyderabad Flights\n", - "Mumbai\n", - "\t\t\t\t\tto Newark Flights\n", - "New\n", - "\t\t\t\t\tYork to Delhi Flights\n", - "Newark\n", - "\t\t\t\t\tto Bangalore Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Delhi Flights\n", - "Toronto\n", - "\t\t\t\t\tto New York Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Bangalore Flights\n", - "Sacramento\n", - "\t\t\t\t\tto Boston Flights\n", - "Chicago\n", - "\t\t\t\t\tto Kolkata Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto Newark Flights\n", - "Orlando\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Newark\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Delhi\n", - "\t\t\t\t\tto Seattle Flights\n", - "Seattle\n", - "\t\t\t\t\tto Bangalore Flights\n", - "New\n", - "\t\t\t\t\tYork to Chennai Flights\n", - "Chicago\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Delhi\n", - "\t\t\t\t\tto Chicago Flights\n", - "Chicago\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Bangalore\n", - "\t\t\t\t\tto Chicago Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Delhi Flights\n", - "Detroit\n", - "\t\t\t\t\tto Chennai Flights\n", - "Popular Long Haul Flights\n", - "New York To Delhi Flights\n", - "Seattle To Toronto Flights\n", - "Hyderabad To San Francisco Flights\n", - "San Francisco To Mumbai Flights\n", - "Seattle To Hyderabad Flights\n", - "Seattle To Bangalore Flights\n", - "Newark To Mumbai Flights\n", - "Houston To Mumbai Flights\n", - "Orlando To Miami Flights\n", - "Important Links\n", - "Cheap Flights to Delhi\n", - "Cheap Flights to Kathmandu\n", - "Top Airlines\n", - "Ryanair\n", - "American Airlines\n", - "United Airlines\n", - "Delta Airlines\n", - "British Airways\n", - "Spirit Airlines\n", - "Frontier Airlines\n", - "Alaska Airlines\n", - "Qatar Airways\n", - "Turkish Airlines\n", - "Singapore Airlines\n", - "Aerolineas Argentinas\n", - "Norwegian Air\n", - "Philippine Airlines\n", - "Emirates Airlines\n", - "Etihad Airways\n", - "Thai Airways\n", - "Royal Air Maroc\n", - "Air New Zealand\n", - "Hawaiian Airlines\n", - "Air India Express\n", - "Oman Air\n", - "Malindo Air\n", - "Brussels Airlines\n", - "Air Algerie\n", - "Virgin Australia\n", - "Lion Air\n", - "Austrian Airlines\n", - "Aegean Airlines\n", - "Eva Air\n", - "Popular International Routes\n", - "Chennai to Reunion Flight\n", - "Mumbai to Jeddah Flights\n", - "Delhi to Lyon Flight\n", - "Edinburgh to Hyderabad Flight\n", - "Charlotte to Kolkata Flight\n", - "Tampa to Delhi Flight\n", - "Portland to Kolkata Flight\n", - "Baltimore to Hyderabad flight\n", - "Kolkata to Portland Flight\n", - "Delhi to Regina Flight\n", - "Bangalore to Portland Flight\n", - "Mumbai to Portland flight\n", - "Mumbai to Regina Flight\n", - "Delhi to Portland Flight\n", - "Delhi to Dresden Flight\n", - "Mumbai to Dresden Flight\n", - "Kochi Singapore Flights\n", - "Delhi Mauritius Flights\n", - "Chennai Mauritius Flights\n", - "Mumbai Abu Dhabi Flights\n", - "New York Delhi Flights\n", - "Dresden to Delhi Flight\n", - "Mumbai to Bremen Flight\n", - "Mumbai to Rennes Flight\n", - "Chennai to Dresden Flight\n", - "Mumbai to Strasbourg Flight\n", - "Delhi to Bremen Flight\n", - "Kolkata to Dresden Flight\n", - "Bangalore to Nantes Flight\n", - "Hotels in Kathmandu\n", - "Hotels in Kathmandu (487)\n", - "Budget hotels in Kathmandu (320)\n", - "5 Star hotels in Kathmandu (27)\n", - "Resorts in Kathmandu\n", - "Hostels in Kathmandu\n", - "Bed N Breakfast in Kathmandu\n", - "Villas in Kathmandu\n", - "Guest Houses in Kathmandu\n", - "Apart-hotels in Kathmandu\n", - "Apartments in Kathmandu\n", - "Best Hotels in Kathmandu\n", - "Ramada Encore by Wyndham Kathmandu\n", - "The Soaltee Kathmandu\n", - "Radisson Hotel Kathmandu\n", - "Hyatt Regency Kathmandu\n", - "Hotel Crowne Imperial\n", - "Hotel Yak & Yeti\n", - "Chandragiri Hills Resort\n", - "Fairfield by Marriott Kathmandu\n", - "Aloft Kathmandu Thamel by Marriott\n", - "Kathmandu Marriott Hotel\n", - "Best Hotels in Delhi\n", - "Radisson Blu Plaza Delhi Airport\n", - "Taj Palace, New Delhi\n", - "Lemon Tree Premier Delhi Airport\n", - "ibis New Delhi Aerocity - An Accor Brand\n", - "The LaLiT New Delhi\n", - "The Leela Ambience Convention Hotel Delhi\n", - "Radisson Blu Hotel New Delhi Paschim Vihar\n", - "The Ashok\n", - "Radisson Blu Hotel New Delhi Dwarka\n", - "Welcomhotel by ITC Hotels, Dwarka, New Delhi\n", - "Delhi To Kathmandu Flights\n", - "Book Delhi to Kathmandu flight tickets at lowest price. Get best deals on your upcoming Delhi to Kathmandu flights only on MakeMyTrip. Also Book\n", - "Kathmandu to Delhi Flights\n", - ". Currently 62 flights flying from Delhi to Kathmandu. To save maximum on flight booking click on below Fare Calendar button and choose your dates.Avail\n", - "Zero Cancellation\n", - "for flight bookings.\n", - "Sorted By:\n", - "Popularity\n", - "Departure\n", - "Duration\n", - "Arrival\n", - "Price\n", - "Bhutan Air\n", - "10:55\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "12:40\n", - "Kathmandu\n", - "₹ 4,742\n", - "View Prices\n", - "Get Flat Rs. 1185 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Bhutan Air\n", - "B3 | 774\n", - "10:55\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "12:40\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 4,742\n", - "Base Fare\n", - "₹ 400\n", - "Surcharges\n", - "₹ 4,342\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Fare Option 1\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "15 Kgs\n", - "Non-refundable fare\n", - "Not allowed\n", - "₹ 4,742\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "15 Kgs\n", - "Non-refundable fare\n", - "Not allowed\n", - "₹ 4,402\n", - "Book Now\n", - "Nepal Airlines\n", - "16:20\n", - "New Delhi\n", - "01\n", - "h\n", - "35\n", - "m\n", - "Non stop\n", - "18:10\n", - "Kathmandu\n", - "₹ 4,917\n", - "View Prices\n", - "Get Flat Rs. 1229 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Nepal Airlines\n", - "RA | 218\n", - "16:20\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "35\n", - "m\n", - "18:10\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 4,917\n", - "Base Fare\n", - "₹ 310\n", - "Surcharges\n", - "₹ 4,607\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Fare Option 1\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "₹ 4,917\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "₹ 4,577\n", - "Book Now\n", - "SpiceJet\n", - "08:10\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "09:55\n", - "Kathmandu\n", - "₹ 5,130\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "SpiceJet\n", - "SG | 41\n", - "08:10\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "09:55\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,130\n", - "Base Fare\n", - "₹ 2,925\n", - "Surcharges\n", - "₹ 2,205\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Spicesaver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 5,130\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 4,790\n", - "Book Now\n", - "Spiceflex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 5,656\n", - "Book Now\n", - "Spicemax\n", - "Extra legroom, priority services.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,940\n", - "Book Now\n", - "IndiGo\n", - "07:50\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "09:50\n", - "Kathmandu\n", - "11:05\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "13:40\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "15:40\n", - "Kathmandu\n", - "More Timing Options\n", - "₹ 5,210\n", - "View Prices\n", - "Get Flat Rs. 850 discount using MMTDEALS\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E | 1151\n", - "07:50\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "09:50\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,210\n", - "Base Fare\n", - "₹ 3,027\n", - "Surcharges\n", - "₹ 2,183\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Saver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,300\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,210\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,300\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 4,870\n", - "Book Now\n", - "Flexi plus\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 2,999\n", - "Free Date change allowed upto 4 days before departure\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,315\n", - "Book Now\n", - "SUPER 6E\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "25 Kgs\n", - "Cancellation Fee Starting ₹ 2,999\n", - "Free Date change allowed upto 4 days before departure\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,995\n", - "Book Now\n", - "Air India\n", - "05:00\n", - "New Delhi\n", - "01\n", - "h\n", - "20\n", - "m\n", - "Non stop\n", - "06:35\n", - "Kathmandu\n", - "₹ 5,352\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 215\n", - "05:00\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "20\n", - "m\n", - "06:35\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,012\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Premium classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 2,500\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,977\n", - "Book Now\n", - "Premium flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,097\n", - "Book Now\n", - "Air India\n", - "07:00\n", - "New Delhi\n", - "01\n", - "h\n", - "50\n", - "m\n", - "Non stop\n", - "09:05\n", - "Kathmandu\n", - "11:00\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "₹ 5,352\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 213\n", - "07:00\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "50\n", - "m\n", - "09:05\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,012\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,452\n", - "Book Now\n", - "Air India\n", - "14:30\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "16:30\n", - "Kathmandu\n", - "₹ 5,352\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 2219\n", - "14:30\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "16:30\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,012\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Premium classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 2,500\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,977\n", - "Book Now\n", - "Premium flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,097\n", - "Book Now\n", - "Air India\n", - "18:10\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "20:05\n", - "Kathmandu\n", - "₹ 5,352\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 211\n", - "18:10\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "40\n", - "m\n", - "20:05\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,012\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,452\n", - "Book Now\n", - "IndiGo\n", - "07:00\n", - "New Delhi\n", - "06\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "06:00\n", - "New Delhi\n", - "07\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "05:00\n", - "New Delhi\n", - "08\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "04:00\n", - "New Delhi\n", - "09\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "01:55\n", - "New Delhi\n", - "11\n", - "h\n", - "55\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "23:30\n", - "New Delhi\n", - "14\n", - "h\n", - "20\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "22:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "21:00\n", - "New Delhi\n", - "16\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "17\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "₹ 5,577\n", - "View Prices\n", - "Get Flat Rs. 850 discount using MMTDEALS\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E | 6814\n", - "07:00\n", - "Wed, 16 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "15\n", - "m\n", - "09:15\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,577\n", - "Base Fare\n", - "₹ 3,327\n", - "Surcharges\n", - "₹ 2,250\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Saver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,999\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,577\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,999\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,237\n", - "Book Now\n", - "Flexi plus\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,999\n", - "Free Date change allowed upto 4 days before departure\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,627\n", - "Book Now\n", - "SUPER 6E\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "25 Kgs\n", - "Cancellation Fee Starting ₹ 2,999\n", - "Free Date change allowed upto 4 days before departure\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,362\n", - "Book Now\n", - "Air India\n", - "20:30\n", - "New Delhi\n", - "11\n", - "h\n", - "20\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "11\n", - "h\n", - "50\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "16:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "15:30\n", - "New Delhi\n", - "16\n", - "h\n", - "20\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "14:10\n", - "New Delhi\n", - "17\n", - "h\n", - "40\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "₹ 10,308\n", - "View Prices\n", - "Get Flat Rs. 1250 discount using MMTDEALS OR Get Flat 8% Off using HSBC credit card no cost EMI using HSBCINTEMI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 2807\n", - "20:30\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "02\n", - "h\n", - "55\n", - "m\n", - "23:25\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI | 9187 | Operated By Air India Express\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 10,308\n", - "Base Fare\n", - "₹ 7,600\n", - "Surcharges\n", - "₹ 2,708\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 4,000\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 10,308\n", - "Book Now\n", - "MMT\n", - "SPECIAL\n", - "Fare by MakeMyTrip\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 4,000\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 9,968\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 2,000\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 10,833\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 12,408\n", - "Book Now\n", - "Load More Flights\n", - "Travel Home\n", - "International Flights\n", - "Flights to Kathmandu\n", - "Delhi to Kathmandu\n", - " Flights\n", - "Frequently Asked Questions - Delhi to Kathmandu Flights\n", - "Q: Do airlines from Delhi to Kathmandu offer sleeping areas?\n", - "A: Several airlines flying from Delhi to Kathmandu provide space for sleeping. In most cases, this service is available on a pay per use basis.\n", - "Q: Can I book tickets for another person from my own account?\n", - "A: Yes, you can book a ticket for someone else too. For that, you will have to provide their personal details while booking the flight.\n", - "Q: What are the latest flight offers at MakeMyTrip for Delhi to Kathmandu?\n", - "A: MakeMyTrip offers cashback and instant discounts for Delhi to Kathmandu flights. Check the flights booking page for the exciting deals.\n", - "Q: How much baggage can I carry on a Delhi to Kathmandu flight?\n", - "A: Each airline has a different baggage policy. So you must contact the airline for exact details on the same.\n", - "Q: Which are the most preferred airlines in the world?\n", - "A: The most preferred airlines in the world are Qatar Airways, Emirates, Lufthansa, Singapore Airlines, Oman Air and AirAsia.\n", - "Q: Can I carry food on my Delhi to Kathmandu flight?\n", - "A: Airlines have varying rules on allowing passengers to carry their own food on the flight. Please check with the specific airline for further clarity on the same.\n", - "Q: What are the most booked classes for a Delhi to Kathmandu flight?\n", - "A: For Delhi to Kathmandu flights, most travellers prefer economy or business class tickets.\n", - "Q: How can I recover my lost baggage from my Delhi to Kathmandu flight?\n", - "A: Check with your airline and register a complaint with them. Provide them the details with your proof of address, ID and travel for recovering your lost baggage.\n", - "Q: How much time does it take to get confirmation on a flight ticket?\n", - "A: It only takes a few minutes to receive a ticket confirmation at your registered email address.\n", - "Q: What is the largest number of seats that I can reserve in a single booking?\n", - "A: You can reserve seats for up to 9 people in a single transaction.\n", - "Q: Can I pay later for my flight tickets for Delhi to Kathmandu?\n", - "A: No, currently MakeMyTrip does not offer any such option for flight bookings.\n", - "Q: Why should I choose business class over economy class?\n", - "A: Business class comes with its own unique perks like spacious seats, fancier meal options and personalised services that make it worth the high price. Most airlines also offer access to airport lounges where you can unwind and entertain yourself while waiting for your flight.\n", - "Q: How can I get a boarding pass after booking a ticket for my Delhi to Kathmandu flight?\n", - "A: Avail your boarding pass by sharing your booking confirmation at the airport. The staff will hand over the boarding pass to you after verifying your details. You can also visit the airline’s website for web check-in and take a printout of your boarding pass.\n", - "Q: Do I have to present an ID proof during check-in?\n", - "A: Yes, you need to present your passport during check-in for your international flight.\n", - "FAQs - Delhi to Kathmandu Flights\n", - "Q: What flight offers are available for Delhi to Kathmandu Flights?\n", - "A:\n", - "MakeMyTrip features a range of offers like bank discounts (SBI, HDFC, AmEx) and EMI options.\n", - "Discounts range from ₹3,000 to ₹6,000 on international bookings.\n", - "First-time users may get extra cashback.\n", - "Combine gift cards, MyCash, and promo codes for added savings.\n", - "Always check the \"Offers\" tab for updated, route-specific deals before booking.\n", - "Q: What are some tips to book Delhi to Kathmandu flights at the best price?\n", - "A:\n", - "Book flights 3–6 weeks in advance for better rates.\n", - "Travel midweek (Tues–Thurs) to avoid peak pricing.\n", - "Use MakeMyTrip’s fare calendar and set price alerts.\n", - "Choose early morning or red-eye flights for lower fares.\n", - "Apply valid bank offers, promo codes, and MyCash at checkout.\n", - "Use the mobile app for exclusive discounts and coupon codes.\n", - "Round-trip bookings typically offer better overall value.\n", - "Q: How can I get better deals on Delhi to Kathmandu flights?\n", - "A:\n", - "Travel during off-season (May–September) for lower fares.\n", - "Book on Tuesdays or Wednesdays for cheaper prices.\n", - "Use fare alerts to catch price drops.\n", - "Consider low-cost airlines like AirIndia or IndiGo.\n", - "Be flexible with dates and times to unlock more options.\n", - "Round-trip tickets often cost less per leg than two one-ways.\n", - "Watch for flash sales and bank card promotions regularly.\n", - "Q: Is travel insurance mandatory for flying to Kathmandu?\n", - "A: While not always mandatory, travel insurance is strongly recommended when flying internationally — especially to Kathmandu. It helps protect you in situations like:\n", - "Medical emergencies or hospitalizations abroad\n", - "Trip cancellations or flight delays\n", - "Lost or delayed baggage\n", - "Accidental injury or illness during the trip\n", - "MakeMyTrip often provides an option to add travel insurance during checkout. For visa applications, proof of insurance may be required.\n", - "Q: What are the check-in rules for Delhi to Kathmandu flights?\n", - "A: For international flights, it’s important to follow airline check-in guidelines closely:\n", - "Arrive at the airport 3–4 hours before departure\n", - "Online check-in opens 24 to 48 hours before flight time (depending on the airline)\n", - "Carry a valid passport, visa copy, flight ticket, and travel insurance printout\n", - "Some airlines allow mobile boarding passes, but always keep a physical copy as backup\n", - "Ensure baggage weight matches the allowance — excess charges can be steep\n", - "Q: Which airlines offer direct flights from Delhi to Kathmandu?\n", - "A: Several airlines operate non-stop flights between Delhi and Kathmandu, including:\n", - "Emirates (full-service with meals and entertainment)\n", - "IndiGo (budget-friendly with optional add-ons)\n", - "Air India & Vistara (standard cabin service)\n", - "Most of these carriers operate daily or multiple flights per day, giving travelers plenty of timing choices.\n", - "Q: What should I keep in mind while booking international flights on MakeMyTrip?\n", - "A:\n", - "Passenger names must match the passport exactly\n", - "Review the baggage allowance as it varies by airline and fare class\n", - "Ensure your passport is valid for at least 6 months\n", - "Check if your chosen fare includes meals and seat selection\n", - "Look for the \"Fare Details\" link for cancellation and change policies\n", - "Q: Can I book a Delhi to Kathmandu flight for someone else using my MakeMyTrip account?\n", - "A:\n", - "You can book for others using your account.\n", - "Enter the traveler’s name exactly as on their passport.\n", - "Share the e-ticket and updates with them.\n", - "Payment can be done using your method.\n", - "Manage bookings via your login.\n", - "Q: What are the cancellation rules for Delhi to Kathmandu flights booked on MakeMyTrip?\n", - "A:\n", - "Non-refundable tickets may have partial or no refund.\n", - "Flexible fares allow cancellations with minimal charges.\n", - "Fees typically range from ₹2,000–₹10,000.\n", - "Refunds are processed in 7–14 business days.\n", - "Cancellations can be made via \"My Bookings.\"\n", - "Q: What is the baggage allowance on Delhi to Kathmandu flights?\n", - "A:\n", - "Economy class: 15–30 kg checked, 7–10 kg cabin.\n", - "Budget airlines may charge extra for check-in baggage.\n", - "Excess baggage fees apply per extra kg.\n", - "Verify baggage limits before travel.\n", - "Q: How can I track the flight status for a Delhi to Kathmandu booking?\n", - "A:\n", - "Use ā€˜My Trips’ on MakeMyTrip\n", - "Check airline’s official website\n", - "Use apps like Flightradar24 or FlightAware\n", - "Q: Does MakeMyTrip offer customer support for Delhi to Kathmandu flight issues?\n", - "A:\n", - "24/7 chat support via app\n", - "Phone helpline\n", - "Website Help Center\n", - "Q: What documents are required at the airport for a Delhi to Kathmandu flight?\n", - "A:\n", - "Valid passport (min. 6 months validity)\n", - "Visa (if required)\n", - "Flight ticket printout\n", - "Travel insurance (recommended)\n", - "Q: Are there any exclusive or first-time user coupons for Delhi to Kathmandu Flight?\n", - "A: Yes — e.g., MMTWELCOME codes offer ~10–12% off on first app booking, applicable to international flights.\n", - "Q: Pro Tips to Maximize Savings on Delhi to Kathmandu Flight Booking?\n", - "A:\n", - "Book on Wednesdays, Fridays, weekends.\n", - "Use stacked offers (bank + promo + gift card).\n", - "Set fare alerts & explore app-only discounts.\n", - "Apply promo codes before payment.\n", - "Q: What amenities are available on board for Delhi to Kathmandu flights?\n", - "A: Full-service airlines offer meals, entertainment, Wi-Fi, and charging ports. Budget airlines allow add-ons for meals and baggage.\n", - "Q: How early should I arrive at the airport for an international flight from Delhi to Kathmandu?\n", - "A: Reach the airport at least 3–4 hours before departure to complete check-in, immigration, and security formalities comfortably.\n", - "Q: Is it cheaper to book round-trip flights for Delhi to Kathmandu?\n", - "A: Yes. Round-trips often cost less and help avoid price hikes on return legs.\n", - "Q: Can I reschedule or cancel my Delhi – Kathmandu flight booking on MakeMyTrip?\n", - "A:\n", - "Yes, via My Trips or airline website.\n", - "Refundability depends on fare class.\n", - "Refunds processed in 7–14 days.\n", - "Q: Are meals included on Delhi to Kathmandu flights booked via MakeMyTrip?\n", - "A:\n", - "Yes, for full-service airlines.\n", - "Optional for budget carriers.\n", - "Check \"Fare Details\" before checkout.\n", - "Q: Can I select my seat while booking Delhi to Kathmandu flights on MakeMyTrip?\n", - "A: Seat selection available during/after booking.\n", - "Premium seats may have extra cost.\n", - "Can also be done on airline website.\n", - "Q: How can I book a window seat for my Delhi to Kathmandu flight?\n", - "A:\n", - "Select window seat during booking or check-in.\n", - "Arrive early for manual seat request.\n", - "Q: What’s the difference between Economy and Business Class on Delhi to Kathmandu flights?\n", - "A:\n", - "Business: wider seats, lounge access, gourmet meals.\n", - "Economy: basic service, more affordable.\n", - "Q: Can I book Business Class for Delhi to Kathmandu flights on MakeMyTrip?\n", - "A:\n", - "Yes, use cabin class filters while searching.\n", - "Compare meals, baggage, and fare benefits.\n", - "Q: Is it safe to travel with kids on a Delhi to Kathmandu flight?\n", - "A:\n", - "Yes, airlines offer child meals, early boarding, and crew assistance.\n", - "Carry snacks, toys, and essentials for comfort.\n", - "Q: Are there special facilities for infants or toddlers on flights from Delhi to Kathmandu?\n", - "A:\n", - "Bassinets (on request)\n", - "Changing tables\n", - "Infant seat belts\n", - "Baby meals (on full-service)\n", - "Q: What are the child fare policies for Delhi to Kathmandu flights?\n", - "A:\n", - "Infants: 10–15% of adult fare (no seat)\n", - "Children (2–12): 75–100% of adult fare\n", - "Q: What is the baggage allowance for infants on Delhi to Kathmandu flights?\n", - "A:\n", - "Up to 10 kg checked luggage\n", - "1 carry-on like diaper bag\n", - "Foldable stroller may be free\n", - "Q: How do I collect my baggage after arriving in Kathmandu from Delhi?\n", - "A:\n", - "Go to the baggage carousel shown on monitors\n", - "Collect your bags and report any missing luggage at the airline desk\n", - "Q: How do I find out my gate number for a Delhi to Kathmandu flight?\n", - "A:\n", - "Check boarding pass and airport monitors\n", - "Use airline app or MakeMyTrip app\n", - "Gate numbers may change—stay alert\n", - "About Delhi (DEL)\n", - "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", - "Delhi Address\n", - "Indira Gandhi International Airport\n", - "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", - "Enquries Phone Number: (+91) 11 25661080\n", - "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", - "About Kathmandu (KTM)\n", - "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", - "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", - "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", - "Kathmandu Address\n", - "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", - "Tel: +97714477161\n", - "Global Presence\n", - "India\n", - "Australia\n", - "Bahrain\n", - "Bangladesh\n", - "Kuwait\n", - "Malaysia\n", - "Nepal\n", - "Oman\n", - "Qatar\n", - "Saudi Arabia\n", - "Singapore\n", - "Thailand\n", - "Sril Lanka\n", - "UAE\n", - "UK\n", - "US\n", - "Product Offering\n", - "Flights\n", - "Flight+Hotel Deals\n", - "International Flights\n", - "Book Flights From UAE\n", - "Air Bubble Flights\n", - "Vande Bharat Mission Flights\n", - "COVID-19 Travel Advice\n", - "Hotels\n", - "International Hotels\n", - "Book Hotels From UAE\n", - "Holidays in India\n", - "International Holidays\n", - "Trip Ideas\n", - "Bus\n", - "Rail\n", - "Cab Booking\n", - "Airlines\n", - "Cheap Flights\n", - "Flight Status\n", - "Flight Cancellation\n", - "Forex\n", - "Visa\n", - "Travel Insurance\n", - "myPartner for Travel Agent\n", - "myBiz - Corporate Travel & Expense Solution\n", - "MICE\n", - "B2B\n", - "facebook\n", - "twitter\n", - "MakeMyTrip\n", - "About Us\n", - "Investor Relations\n", - "Testimonial\n", - "Careers\n", - "Social Responsibility\n", - "Travel Community\n", - "Corporate Travel\n", - "Travel Guide\n", - "Domestic Flight Offers\n", - "International Flight Offers\n", - "Explore India\n", - "MakeMyTrip Coupons\n", - "FAQs\n", - "Site Map\n", - "Complaints\n", - "Contact Us\n", - "Payment Security\n", - "Privacy Policy\n", - "GST on Flight Tickets\n", - "GST on International Flight\n", - "Branch Offices\n", - "International Routes\n", - "Delhi to Bangkok Flight\n", - "Delhi to Dubai Flight\n", - "Delhi to Singapore Flight\n", - "Delhi to London Flight\n", - "Pune to Dubai Flight\n", - "Mumbai to Singapore Flight\n", - "Mumbai to Bangkok Flight\n", - "Delhi to Bali Flight\n", - "Mumbai to Bali Flight\n", - "Kolkata to Bangkok Flight\n", - "Chennai to Dubai Flight\n", - "Mumbai to London Flight\n", - "Kolkata to Singapore Flight\n", - "Hyderabad to Singapore Flight\n", - "Chennai to Singapore Flight\n", - "Mumbai to Frankfurt Flight\n", - "Mumbai to Kuala Lumpur Flight\n", - "Nagpur to Bali Flight\n", - "Chandigarh to Bali Flight\n", - "India to Bali Flight\n", - "Chennai to Mauritius Flight\n", - "Riyadh to Gorakhpur Flight\n", - "Mumbai to Brisbane Flight\n", - "Hyderabad to Bangkok Flight\n", - "Delhi To Perth Flight\n", - "Berlin To Chennai Flight\n", - "Kolkata To Vancouver Flight\n", - "Birmingham To Hyderabad Flight\n", - "Mumbai To Strasbourg Flight\n", - "Delhi To Nuremberg Flight\n", - "Mumbai To Bremen Flight\n", - "Delhi To Cayenne Flight\n", - "More International Routes\n", - "Kochi to Dublin Flight\n", - "Salalah to thiruvananthapuram flight\n", - "New York to Los Angeles Flight\n", - "Visakhapatnam to Muscat Flight\n", - "Visakhapatnam to Bali Flight\n", - "London to Amsterdam Flight\n", - "London to New York Flight\n", - "Chicago to New York Flight\n", - "London to Rome Flight\n", - "Mumbai to Antananarivo Flight\n", - "Rome to Venice Flight\n", - "London to Malaga Flight\n", - "Kannur to Dubai flight\n", - "Dubai to London Flight\n", - "Delhi to Bishkek Flight\n", - "Delhi to Tashkent flight\n", - "London to Manchester Flight\n", - "Paris to Rome Flight\n", - "Lucknow to Riyadh Flight\n", - "Kathmandu to Pokhara Flight\n", - "Mumbai to Lusaka Flight\n", - "Delhi to Adelaide Flight\n", - "Muscat to Gorakhpur Flight\n", - "Delhi to Philippines Flight\n", - "Ahmedabad To Calgary Flight\n", - "Mumbai To Winnipeg Flight\n", - "Delhi To Edmonton Flight\n", - "Winnipeg To Delhi Flight\n", - "Bangalore To Nantes Flight\n", - "Mumbai To Rennes Flight\n", - "Kolkata To Dresden Flight\n", - "Delhi To Bremen Flight\n", - "Top International Airlines\n", - "International Airlines\n", - "Emirates Airlines\n", - "Malaysia Airlines\n", - "Virgin Atlantic\n", - "Air Arabia\n", - "British Airways\n", - "Lufthansa\n", - "Qatar Airways\n", - "Malindo Air\n", - "Srilankan Airlines\n", - "Oman Air\n", - "Singapore Airlines\n", - "Tiger Airways\n", - "Saudi Arabian Airlines\n", - "Cathay Pacific Airlines\n", - "Etihad Airways\n", - "Turkish Airlines\n", - "Qantas Airways\n", - "Delhi to Dubai Vistara Airlines\n", - "Kolkata to Yangon Flights\n", - "Mumbai to Bahrain Flight\n", - "Jaipur to Bali Flight\n", - "Delhi to Larnaca Flight\n", - "Delhi to New Zealand Flight\n", - "Delhi to Bucharest Flight\n", - "Bangalore To Winnipeg Flight\n", - "Toronto To Delhi Flight\n", - "Hyderabad To Calgary Flight\n", - "Dresden To Delhi Flight\n", - "Mumbai To Dresden Flight\n", - "Delhi To Dresden Flight\n", - "Chennai To Dresden Flight\n", - "Delhi To Baku Flights\n", - "Top International Routes\n", - "Mumbai to Istanbul Flight\n", - "Mumbai to Tokyo Flight\n", - "Mumbai to Shanghai Flight\n", - "Mumbai to Seoul Flight\n", - "Delhi to Seoul Flight\n", - "Delhi to Moscow Flight\n", - "Delhi to Milan Flight\n", - "Delhi to Amsterdam Flight\n", - "Bangkok to Koh Samui Flight\n", - "Mumbai to Milan Flight\n", - "Mumbai to Madrid Flight\n", - "Kolkata to Hong Kong Flight\n", - "Chennai to Sydney Flight\n", - "Phuket to Bangkok Flight\n", - "Mumbai to Geneva Flight\n", - "Hyderabad to Melbourne Flight\n", - "Bangkok to Phuket Flight\n", - "Mumbai to Pattaya Flight\n", - "Pune to Kathmandu Flight\n", - "Chennai to Riyadh Flight\n", - "Delhi to Prague Flight\n", - "Delhi to Pattaya Flight\n", - "Mumbai to Sri Lanka Flight\n", - "Delhi To Bahrain Flight\n", - "Belfast to Hyderabad Flight\n", - "Honolulu To Kolkata Flights\n", - "Frankfurt To Bangalore Flight\n", - "Chennai To London Flight\n", - "Delhi To Portland Flight\n", - "Bangalore To Portland Flight\n", - "Mumbai To Portland Flight\n", - "Delhi To Regina Flight\n", - "New International Routes\n", - "Kolkata to Pattaya Flight\n", - "Bishkek to Delhi Flight\n", - "Delhi to Yerevan Flight\n", - "Chandigarh to Kathmandu Flight\n", - "Delhi to Tbilisi Flight\n", - "Delhi to Yerevan Flight\n", - "Chandigarh to Kathmandu Flight\n", - "Delhi to Tbilisi Flight\n", - "Amritsar to Rome Flight\n", - "Bagdogra to Bhutan Flight\n", - "Delhi to Dushanbe Flight\n", - "Dubai to Visakhapatnam Flight\n", - "Dubai to Regina Flight\n", - "Mumbai to Tbilisi Flight\n", - "Siliguri to Kathmandu Flight\n", - "Mumbai to Yangon Flight\n", - "Tbilisi to Delhi Flight\n", - "Delhi to Osh Flight\n", - "Tbilisi to Mumbai Flight\n", - "Chennai to Yangon Flight\n", - "Lusaka to Mumbai Flight\n", - "Surat to Toronto Flight\n", - "Yerevan to Delhi Flight\n", - "Guwahati to Seoul Flight\n", - "Dhaka to Jessore Flight\n", - "Doha to Visakhapatnam Flight\n", - "Mumbai To Dusseldorf Flight\n", - "Edmonton To Bangalore Flight\n", - "Mumbai To Regina Flight\n", - "Hyderabad To Tampa Flight\n", - "Baltimore To Hyderabad Flight\n", - "Kolkata To Portland Flight\n", - "\n", - "\n", - "\n", - "Title: Delhi DEL to Kathmandu KTM Cheap Flights , Fares @ USD 52 ...\n", - "Webpage Title:\n", - "Delhi DEL to Kathmandu KTM Cheap Flights ✈, Fares @ USD 52 | MakeMyTrip USA Flights\n", - "Webpage Contents:\n", - "Flights\n", - "Flights\n", - "Hotels\n", - "Hotels\n", - "TRIP TYPE\n", - "One Way\n", - "FROM\n", - "TO\n", - "DEPART\n", - "RETURN\n", - "PASSENGERS & CLASS\n", - "SEARCH\n", - "Popular Filters\n", - "Non Stop\n", - "(12)\n", - "USD 52\n", - "Morning Departures\n", - "(37)\n", - "USD 52\n", - "Late Departures\n", - "(21)\n", - "USD 66\n", - "Hide Nearby Airports\n", - "(69)\n", - "USD 52\n", - "1 Stop\n", - "(54)\n", - "USD 66\n", - "+ 1 more\n", - "Departure Airports\n", - "Indira Gandhi International Airport\n", - "USD 52\n", - "Hindon Airport (32Km)\n", - "USD 148\n", - "One Way Price\n", - "USD 52\n", - "USD 2,300\n", - "Duration\n", - "1 h 20 m\n", - "31 h 0 m\n", - "Stops From New Delhi\n", - "Non Stop\n", - "(12)\n", - "USD 52\n", - "1 Stop\n", - "(54)\n", - "USD 66\n", - "1+ Stop\n", - "(4)\n", - "USD 180\n", - "Departure From New Delhi\n", - "Before\n", - "6\n", - "AM\n", - "USD 66\n", - "6\n", - "AM -\n", - "12\n", - "PM\n", - "USD 52\n", - "12\n", - "PM -\n", - "6\n", - "PM\n", - "USD 61\n", - "After\n", - "6\n", - "PM\n", - "USD 66\n", - "Arrival at Kathmandu\n", - "6\n", - "AM -\n", - "12\n", - "PM\n", - "USD 61\n", - "12\n", - "PM -\n", - "6\n", - "PM\n", - "USD 52\n", - "After\n", - "6\n", - "PM\n", - "USD 69\n", - "Alliances & Airlines\n", - "Oneworld\n", - "(5)\n", - "SkyTeam\n", - "()\n", - "Star Alliance\n", - "(31)\n", - "Air Arabia\n", - "(3)\n", - "USD 383\n", - "Air India\n", - "(24)\n", - "USD 68\n", - "Air India Express\n", - "(2)\n", - "USD 148\n", - "Batik Air\n", - "(1)\n", - "USD 477\n", - "Bhutan Air\n", - "(1)\n", - "USD 52\n", - "Cathay Pacific\n", - "(2)\n", - "USD 2,225\n", - "Flydubai\n", - "(3)\n", - "USD 458\n", - "Hahn Air\n", - "(1)\n", - "USD 218\n", - "IndiGo\n", - "(21)\n", - "USD 61\n", - "Malaysia Airlines\n", - "(1)\n", - "USD 1,062\n", - "Nepal Airlines\n", - "(1)\n", - "USD 69\n", - "Singapore Airlines\n", - "(1)\n", - "USD 2,244\n", - "SpiceJet\n", - "(1)\n", - "USD 61\n", - "Srilankan Airlines\n", - "(2)\n", - "USD 169\n", - "Thai Airways\n", - "(4)\n", - "USD 295\n", - "Turkish Airlines\n", - "(2)\n", - "USD 1,016\n", - "+ 10 more\n", - "Layover Airports\n", - "Bangkok\n", - "(4)\n", - "USD 295\n", - "Bengaluru\n", - "(21)\n", - "USD 126\n", - "Colombo\n", - "(2)\n", - "USD 169\n", - "Dubai\n", - "(3)\n", - "USD 458\n", - "Hong Kong\n", - "(2)\n", - "USD 2,225\n", - "Indore\n", - "(1)\n", - "USD 179\n", - "Istanbul\n", - "(2)\n", - "USD 1,016\n", - "Kuala Lumpur\n", - "(2)\n", - "USD 477\n", - "Mumbai\n", - "(18)\n", - "USD 66\n", - "Pune\n", - "(3)\n", - "USD 181\n", - "Sharjah\n", - "(3)\n", - "USD 383\n", - "Singapore\n", - "(1)\n", - "USD 2,244\n", - "+ 7 more\n", - "Layover Duration\n", - "1 h 0 m\n", - "24 h 0 m\n", - "Flights from Delhi\n", - "Delhi to Southampton Flight\n", - "Lowest Fare USD 368\n", - "Delhi to Edmonton Flight\n", - "Lowest Fare USD 894\n", - "Delhi to Seoul Flight\n", - "Lowest Fare USD 176\n", - "Delhi to Sydney Flight\n", - "Lowest Fare USD 217\n", - "Delhi to Philadelphia Flight\n", - "Lowest Fare USD 648\n", - "Delhi to Munich Flight\n", - "Lowest Fare USD 301\n", - "Delhi to Toronto Flight\n", - "Lowest Fare USD 692\n", - "Delhi to Almeria Flight\n", - "Lowest Fare USD 517\n", - "Delhi to Miami Flight\n", - "Lowest Fare USD 536\n", - "Delhi to Riga Flight\n", - "Lowest Fare USD 309\n", - "Delhi to Skiathos Flight\n", - "Lowest Fare USD 450\n", - "Delhi to Oslo Flight\n", - "Lowest Fare USD 321\n", - "Delhi to Charlotte Flight\n", - "Lowest Fare USD 600\n", - "Delhi to Cairo Flight\n", - "Lowest Fare USD 257\n", - "Delhi to Jakarta Flight\n", - "Lowest Fare USD 161\n", - "Delhi to Berlin Flight\n", - "Lowest Fare USD 311\n", - "Delhi to Brussels Flight\n", - "Lowest Fare USD 283\n", - "Delhi to Zurich Flight\n", - "Lowest Fare USD 266\n", - "Flights from Kathmandu\n", - "Kathmandu to Glasgow Flight\n", - "Lowest Fare USD 488\n", - "Kathmandu to Toronto Flight\n", - "Lowest Fare USD 922\n", - "Kathmandu to Rome Flight\n", - "Lowest Fare USD 389\n", - "Kathmandu to Berlin Flight\n", - "Lowest Fare USD 390\n", - "Kathmandu to Phuket Flight\n", - "Lowest Fare USD 130\n", - "Kathmandu to Larnaca Flight\n", - "Lowest Fare USD 437\n", - "Kathmandu to Southampton Flight\n", - "Lowest Fare USD 550\n", - "Kathmandu to Cairo Flight\n", - "Lowest Fare USD 360\n", - "Kathmandu to Edinburgh Flight\n", - "Lowest Fare USD 410\n", - "Kathmandu to Colombo Flight\n", - "Lowest Fare USD 220\n", - "Kathmandu to Nairobi Flight\n", - "Lowest Fare USD 451\n", - "Kathmandu to Jakarta Flight\n", - "Lowest Fare USD 369\n", - "Kathmandu to Zurich Flight\n", - "Lowest Fare USD 350\n", - "Kathmandu to Copenhagen Flight\n", - "Lowest Fare USD 349\n", - "Kathmandu to Munich Flight\n", - "Lowest Fare USD 357\n", - "Kathmandu to Miami Flight\n", - "Lowest Fare USD 767\n", - "Kathmandu to Dubai Flight\n", - "Lowest Fare USD 209\n", - "Kathmandu to Charlotte Flight\n", - "Lowest Fare USD 770\n", - "Top Flights From Delhi\n", - "Delhi To Kathmandu Flights\n", - "Top Flights From Kathmandu\n", - "Kathmandu To Goa Flights\n", - "Kathmandu To Bangalore Flights\n", - "Kathmandu To Patna Flights\n", - "Kathmandu To Chandigarh Flights\n", - "Kathmandu To Bagdogra Flights\n", - "Kathmandu To Kolkata Flights\n", - "Kathmandu To Hyderabad Flights\n", - "Kathmandu To Kochi Flights\n", - "Top routes\n", - "Delhi To Aalborg Flights\n", - "Delhi To Anapa Flights\n", - "Delhi To Aarhus Flights\n", - "Delhi To Allentown Flights\n", - "Popular Long Haul Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Mumbai Flights\n", - "Orlando\n", - "\t\t\t\t\tto Miami Flights\n", - "Houston\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Seattle\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Houston\n", - "\t\t\t\t\tto Chennai Flights\n", - "Delhi\n", - "\t\t\t\t\tto New York Flights\n", - "Denver\n", - "\t\t\t\t\tto Mumbai Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Chennai Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Boston\n", - "\t\t\t\t\tto Delhi Flights\n", - "Houston\n", - "\t\t\t\t\tto Delhi Flights\n", - "Las\n", - "\t\t\t\t\tVegas to San Jose Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto San Francisco Flights\n", - "Boston\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Houston\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Seattle\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "New\n", - "\t\t\t\t\tYork to Mumbai Flights\n", - "Los\n", - "\t\t\t\t\tAngeles to Hyderabad Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto Dallas Fort Worth Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto New York Flights\n", - "New\n", - "\t\t\t\t\tYork to Hyderabad Flights\n", - "Mumbai\n", - "\t\t\t\t\tto Newark Flights\n", - "New\n", - "\t\t\t\t\tYork to Delhi Flights\n", - "Newark\n", - "\t\t\t\t\tto Bangalore Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Delhi Flights\n", - "Toronto\n", - "\t\t\t\t\tto New York Flights\n", - "Atlanta\n", - "\t\t\t\t\tto Bangalore Flights\n", - "Sacramento\n", - "\t\t\t\t\tto Boston Flights\n", - "Chicago\n", - "\t\t\t\t\tto Kolkata Flights\n", - "Hyderabad\n", - "\t\t\t\t\tto Newark Flights\n", - "Orlando\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Newark\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Delhi\n", - "\t\t\t\t\tto Seattle Flights\n", - "Seattle\n", - "\t\t\t\t\tto Bangalore Flights\n", - "New\n", - "\t\t\t\t\tYork to Chennai Flights\n", - "Chicago\n", - "\t\t\t\t\tto Mumbai Flights\n", - "Delhi\n", - "\t\t\t\t\tto Chicago Flights\n", - "Chicago\n", - "\t\t\t\t\tto Hyderabad Flights\n", - "Bangalore\n", - "\t\t\t\t\tto Chicago Flights\n", - "San\n", - "\t\t\t\t\tFrancisco to Delhi Flights\n", - "Detroit\n", - "\t\t\t\t\tto Chennai Flights\n", - "Top Airlines\n", - "British Airways\n", - "Air France\n", - "US Airways\n", - "Delta Airlines\n", - "KLM Royal Dutch\n", - "Lufthansa\n", - "Qatar Airways\n", - "Air China\n", - "Air Canada\n", - "Cathay Pacific\n", - "Etihad Airways\n", - "Kuwait Airways\n", - "American Airlines\n", - "Singapore Airlines\n", - "United Airlines\n", - "Popular Flights\n", - "Mumbai To Atlanta Flights\n", - "Hyderabad To Houston Flights\n", - "Mumbai To Dallas Fort Worth Flights\n", - "Hyderabad To Charlotte Flights\n", - "Hyderabad To Bali Flights\n", - "Hyderabad To Bali Flights\n", - "Mumbai To Los Angeles Flights\n", - "Detroit To Delhi Flights\n", - "Top International Airlines\n", - "British Airways\n", - "Air France\n", - "Korean Air\n", - "China Southern\n", - "IndiGo Airlines\n", - "Ethiopian Airlines\n", - "US Airways\n", - "Alitalia\n", - "Brussels Airlines\n", - "Virgin Atlantic\n", - "Domestic routes\n", - "Los Angeles To Albany Flights\n", - "Atlanta To Albany Flights\n", - "Chicago To Albany Flights\n", - "New York To Albany Flights\n", - "Boston To Albany Flights\n", - "Dallas Fort Worth To Albany Flights\n", - "Detroit To Albany Flights\n", - "Honolulu To Albany Flights\n", - "Delhi (DEL) to Kathmandu (KTM) Cheap Flights\n", - "Book Delhi to Kathmandu cheap flight tickets ✈ at lowest price. Get best deals on your upcoming Delhi (DEL)to Kathmandu (KTM) flights only on MakeMyTrip. Also Book\n", - "Kathmandu to Delhi Cheap Flights\n", - ". Currently 70 flights flying from Delhi to Kathmandu. To save maximum on flight booking click on below Fare Calendar button and choose your dates.\n", - "Sorted By:\n", - "Popularity\n", - "Departure\n", - "Duration\n", - "Arrival\n", - "Price\n", - "Bhutan Air\n", - "10:55\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "12:40\n", - "Kathmandu\n", - "USD 52\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Bhutan Air\n", - "B3 | 774\n", - "10:55\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "12:40\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 52\n", - "Base Fare\n", - "USD 1\n", - "Surcharges\n", - "USD 51\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "07:50\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "09:50\n", - "Kathmandu\n", - "08:10\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "09:55\n", - "Kathmandu\n", - "11:05\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "13:40\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "15:40\n", - "Kathmandu\n", - "More Timing Options\n", - "USD 61\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E | 1151\n", - "07:50\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "09:50\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 61\n", - "Base Fare\n", - "USD 35\n", - "Surcharges\n", - "USD 26\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "07:00\n", - "New Delhi\n", - "06\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "06:00\n", - "New Delhi\n", - "07\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "05:00\n", - "New Delhi\n", - "08\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "04:00\n", - "New Delhi\n", - "09\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "01:55\n", - "New Delhi\n", - "11\n", - "h\n", - "55\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "23:30\n", - "New Delhi\n", - "14\n", - "h\n", - "20\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "22:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "21:00\n", - "New Delhi\n", - "16\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "17\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "USD 66\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E | 6814\n", - "07:00\n", - "Wed, 16 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "15\n", - "m\n", - "09:15\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 66\n", - "Base Fare\n", - "USD 39\n", - "Surcharges\n", - "USD 27\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "05:00\n", - "New Delhi\n", - "01\n", - "h\n", - "20\n", - "m\n", - "Non stop\n", - "06:35\n", - "Kathmandu\n", - "07:00\n", - "New Delhi\n", - "01\n", - "h\n", - "50\n", - "m\n", - "Non stop\n", - "09:05\n", - "Kathmandu\n", - "11:00\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "14:30\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "16:30\n", - "Kathmandu\n", - "18:10\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "20:05\n", - "Kathmandu\n", - "More Timing Options\n", - "USD 71\n", - "USD 69\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 215\n", - "05:00\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "20\n", - "m\n", - "06:35\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 69\n", - "Base Fare\n", - "USD 38\n", - "Surcharges\n", - "USD 33\n", - "Instant discount applied\n", - "-USD 3\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Nepal Airlines\n", - "16:20\n", - "New Delhi\n", - "01\n", - "h\n", - "35\n", - "m\n", - "Non stop\n", - "18:10\n", - "Kathmandu\n", - "USD 69\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Nepal Airlines\n", - "RA | 218\n", - "16:20\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "35\n", - "m\n", - "18:10\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 69\n", - "Base Fare\n", - "USD 6\n", - "Surcharges\n", - "USD 63\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "20:30\n", - "New Delhi\n", - "11\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "11\n", - "h\n", - "50\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "16:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "15:30\n", - "New Delhi\n", - "16\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "14:10\n", - "New Delhi\n", - "17\n", - "h\n", - "40\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "08:30\n", - "New Delhi\n", - "23\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "07:30\n", - "New Delhi\n", - "24\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "06:45\n", - "New Delhi\n", - "25\n", - "h\n", - "05\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "05:35\n", - "New Delhi\n", - "26\n", - "h\n", - "15\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "04:25\n", - "New Delhi\n", - "27\n", - "h\n", - "25\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "USD 131\n", - "USD 127\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 2807\n", - "20:30\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "02\n", - "h\n", - "55\n", - "m\n", - "23:25\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI | 9187 | Operated By Air India Express\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 127\n", - "Base Fare\n", - "USD 90\n", - "Surcharges\n", - "USD 41\n", - "Instant discount applied\n", - "-USD 5\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "15:30\n", - "New Delhi\n", - "22\n", - "h\n", - "20\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "14:15\n", - "New Delhi\n", - "23\n", - "h\n", - "35\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "13:00\n", - "New Delhi\n", - "24\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "11:00\n", - "New Delhi\n", - "26\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "10:00\n", - "New Delhi\n", - "27\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "09:00\n", - "New Delhi\n", - "28\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "USD 130\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E | 6318\n", - "15:30\n", - "Wed, 16 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "20\n", - "m\n", - "17:50\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Thu, 17 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 130\n", - "Base Fare\n", - "USD 100\n", - "Surcharges\n", - "USD 30\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India Express\n", - "16:35\n", - "Ghaziabad\n", - "15\n", - "h\n", - "15\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "USD 148\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "Ghaziabad to Kathmandu , 16 Jul\n", - "Air India Express\n", - "IX | 1972\n", - "16:35\n", - "Wed, 16 Jul 25\n", - "Ghaziabad, India\n", - "02\n", - "h\n", - "50\n", - "m\n", - "19:25\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India Express\n", - "IX | 884\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 148\n", - "Base Fare\n", - "USD 120\n", - "Surcharges\n", - "USD 28\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "19:25\n", - "New Delhi\n", - "12\n", - "h\n", - "25\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "18:00\n", - "New Delhi\n", - "19\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "USD 164\n", - "USD 159\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 2512\n", - "19:25\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "02\n", - "h\n", - "50\n", - "m\n", - "22:15\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI | 9187 | Operated By Air India Express\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 159\n", - "Base Fare\n", - "USD 120\n", - "Surcharges\n", - "USD 44\n", - "Instant discount applied\n", - "-USD 6\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "23:55\n", - "New Delhi\n", - "07\n", - "h\n", - "55\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "USD 169\n", - "USD 164\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI | 9481 | Operated By Air India Express\n", - "23:55\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "03\n", - "h\n", - "02:55\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI | 9187 | Operated By Air India Express\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "USD 164\n", - "Base Fare\n", - "USD 125\n", - "Surcharges\n", - "USD 44\n", - "Instant discount applied\n", - "-USD 6\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Load More Flights\n", - "Delhi to Kathmandu Flights Information:-\n", - "Looking for Delhi to Kathmandu Flight? Here’s all you need to know! For convenience and to save time, pick the airport that is closest to your destination. The nearest airport to Kathmandu is Tribhuvan International Airport and the IATA code for the same is KTM.\n", - "Currently, there are 16 airlines operating flights between the two destinations and approximately 70 flights take off from Delhi to Kathmandu every week.\n", - "Need information on Delhi to Kathmandu airfare?\n", - "The minimum airfare for a Delhi to Kathmandu flight would be 52, which may go up to 2244 depending on the route, booking time and availability.\n", - "It is recommended that you book a round-trip, since it always works out to be more economical.\n", - "Flight Details for Delhi to Kathmandu\n", - "If you are looking for Delhi to Kathmandu flights, there is no dearth of options to choose from. Several reputed airlines currently offer both direct and indirect flights between the two destinations. Some of these are Air Arabia, Air India, Air India Express, Batik Air, Bhutan Air, Cathay Pacific, Flydubai, Hahn Air, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines. Out of these, only 12 airlines operate direct flights. Indirect flights may involve more travel time, but they usually cost lesser than direct flights.\n", - "The number of flights operated by each airline is as follows:Air Arabia : 3, Air India : 3, Air India Express : 3, Batik Air : 3, Bhutan Air : 3, Cathay Pacific : 3, Flydubai : 3, Hahn Air : 3, IndiGo : 3, Malaysia Airlines : 3, Nepal Airlines : 3, Singapore Airlines : 3, SpiceJet : 3, Srilankan Airlines : 3, Thai Airways : 3, Turkish Airlines : 3\n", - "To board the first Delhi to Kathmandu flight, choose Cathay Pacific, which departs at 01:15 The last flight for this route is Air India Express, departing at 23:55\n", - "Kathmandu Airport Information\n", - "Tribhuvan International Airport\n", - "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", - "Tel: +97714477161\n", - "Travel Home\n", - "International Flights\n", - "Flights to Kathmandu\n", - "Delhi to Kathmandu Flights\n", - "About Delhi (DEL)\n", - "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", - "Delhi Address\n", - "Indira Gandhi International Airport\n", - "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", - "Enquries Phone Number: (+91) 11 25661080\n", - "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", - "About Kathmandu (KTM)\n", - "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", - "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", - "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", - "Kathmandu Address\n", - "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", - "Tel: +97714477161\n", - "Frequently Asked Questions - Delhi to Kathmandu Flights\n", - "How do MakeMyTrip finds the lowest available dare for flights from Delhi to Kathmandu?\n", - "MakeMyTrip is a popular travel portal that also works as a travel search engine that allows you to see best available results for your flight search. Every time you make search for flights to any destination, the MMT algorithm picks all the available air carriers for the route and filter rates basis on the cheapest fare available in their system. At MMT, you can not only search flights on the basis of the fare, but you can also see which flight offers direct route, which has multiple stop-overs, baggage allowance, in-flight meal options, cancellation policy, etc. You can also check available discounts offered by payments partners and air carriers when booking the flight.\n", - "Can I cancel my ticket from Delhi to Kathmandu without cancellation charges?\n", - "To avoid cancellation charges on your air tickets, you need to make a selection at the time of booking for ZERO cancellation. Please note, the zero cancellation facility is chargeable with minimum amount and can help you save a lot at the time sudden cancellations.\n", - "What is the best time to book cheap flight tickets from Delhi to Kathmandu?\n", - "To get cheap flight tickets from Delhi to Kathmandu, the best time would be to plan your trip during the off season. At that time the flight tickets are usually cheaper than the peak season and the accommodation booking is also available at the affordable price. The other way of booking cheap flight tickets from Delhi (DEL) to Kathmandu (KTM) is to book atleast 4 weeks in advance before your departure date to get competitive pricing on your tickets even during the peak season.\n", - "Is there a way to make flexible departure date bookings for your Delhi to Kathmandu flight tickets?\n", - "Some travel portals like MakeMyTrip offer flexible departure and arrival booking option with certain air carrier when booking from Delhi to Kathmandu. You can check the flexible booking flight options once you get the results filters based on your search and make the booking accordingly. Please note, some airlines make charge extra for flexible travel dates.\n", - "Is passport mandatory to travel from Delhi to Kathmandu?\n", - "When making an international trip, passport is mandatory as it defines your identity to the other nation officials. The VISA norms may differ from country to country, which means some would allow Visa on arrival and others may require you to obtain visa in advance. But the availability of passport is mandatory at the time of departure and arrival as well.\n", - "Can I find cheap accommodation near to airport when travelling from Delhi to Kathmandu?\n", - "There are several accommodation options available near the Tribhuvan International Airport. You can check for both budget friendly and well as five star accommodation near the airport depending on your requirement and budget. These hotels are mostly suitable for business travellers.\n", - "Which airlines offer cheapest airfare from Delhi to Kathmandu?\n", - "There is no set pricing for airlines to offer cheap flight fare from Delhi to Kathmandu. These fares are mostly decided on the basis of algorithms followed by air carriers to final the prizing based on demand. However, some multiple route flights with stop-overs offer cheap flights as compared to direct flight departing from Delhi to Kathmandu.\n", - "Global Presence\n", - "India\n", - "Australia\n", - "Bahrain\n", - "Bangladesh\n", - "Kuwait\n", - "Malaysia\n", - "Nepal\n", - "Oman\n", - "Qatar\n", - "Saudi Arabia\n", - "Singapore\n", - "Thailand\n", - "Sril Lanka\n", - "UAE\n", - "UK\n", - "Product Offering\n", - "Flights\n", - "Flight+Hotel Deals\n", - "International Flights\n", - "Book Flights From UAE\n", - "Hotels\n", - "International Hotels\n", - "Book Hotels From UAE\n", - "Holidays in India\n", - "International Holidays\n", - "Bus\n", - "Rail\n", - "Airlines\n", - "Cheap Flights\n", - "Flight Status\n", - "Flight Cancellation\n", - "MICE\n", - "B2B\n", - "MakeMyTrip\n", - "About Us\n", - "Investor Relations\n", - "Testimonial\n", - "Careers\n", - "Social Responsibility\n", - "Travel Community\n", - "Corporate Travel\n", - "Travel Guide\n", - "Explore India\n", - "MakeMyTrip Coupons\n", - "FAQs\n", - "Site Map\n", - "Complaints\n", - "Contact Us\n", - "Payment Security\n", - "Privacy Policy\n", - "Visa Information\n", - "Branch Offices\n", - "International Routes\n", - "Delhi Bangkok Flights\n", - "Delhi Dubai Flights\n", - "Delhi Singapore Flights\n", - "Delhi London Flights\n", - "Pune Dubai Flights\n", - "Mumbai Singapore Flights\n", - "Mumbai Bangkok Flights\n", - "Delhi Bali Flights\n", - "Mumbai Bali Flights\n", - "Kolkata Bangkok Flights\n", - "Chennai Dubai Flights\n", - "Mumbai London Flights\n", - "Kolkata Singapore Flights\n", - "Hyderabad Singapore Flights\n", - "Chennai Singapore Flights\n", - "Mumbai Frankfurt Flights\n", - "Mumbai Kuala Lumpur Flights\n", - "Mumbai Dubai Flights\n", - "More International Routes\n", - "Hongkong Singapore Flights\n", - "San Francisco Los Angeles\n", - "New York Los Angeles\n", - "Bangkok Phuket Flights\n", - "Bangkok Koh Samui Flights\n", - "London Amsterdam Flights\n", - "London New York Flights\n", - "Chicago New York Flights\n", - "London Rome Flights\n", - "Singapore Bangkok Flights\n", - "Rome Venice Flights\n", - "London Malaga Flights\n", - "Phuket Koh Samui Flights\n", - "Dubai London Flights\n", - "Phuket Bangkok Flights\n", - "Dubai Abu Dhabi Flights\n", - "London Manchester Flights\n", - "Paris Rome Flights\n", - "Delhi To Yangon Flights\n", - "Kannur To Kuwait Flights\n", - "Addis Ababa To Bangalore Flights\n", - "Top International Airlines\n", - "International Airlines\n", - "Emirates Airlines\n", - "Malaysia Airlines\n", - "Virgin Atlantic\n", - "Air Arabia\n", - "British Airways\n", - "Lufthansa\n", - "Qatar Airways\n", - "Malindo Air\n", - "Srilankan Airlines\n", - "Oman Air\n", - "Singapore Airlines\n", - "Tiger Airways\n", - "Saudi Arabian Airlines\n", - "Cathay Pacific Airlines\n", - "Etihad Airways\n", - "Turkish Airlines\n", - "Qantas Airways\n", - "Delhi to Dubai Vistara Airlines\n", - "Kolkata To Yangon Flights\n", - "Popular Visa\n", - "Dubai/UAE Visa\n", - "Singapore Visa\n", - "Malaysia Visa\n", - "Sri Lanka Visa\n", - "Thailand Visa\n", - "follow us\n", - "facebook\n", - "twitter\n", - "Google+\n", - "\n", - "\n", - "\n", - "Title: $48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM ...\n", - "Webpage Title:\n", - "$48 CHEAP FLIGHTS from New Delhi to Kathmandu (DEL - KTM) | KAYAK\n", - "Webpage Contents:\n", - "Skip to main content\n", - "Flights\n", - "Hotels\n", - "Cars\n", - "Packages\n", - "Plan your trip\n", - "Explore\n", - "Flight Tracker\n", - "KAYAK for Business\n", - "NEW\n", - "Trips\n", - "English\n", - "Search for a country or language\n", - "Argentina\n", - "Australia\n", - "Belgique (FranƧais)\n", - "BelgiĆ« (Nederlands)\n", - "Bolivia\n", - "Brasil\n", - "Canada (English)\n", - "Canada (FranƧais)\n", - "Chile\n", - "Colombia\n", - "Costa Rica\n", - "Danmark\n", - "Deutschland (Deutsch)\n", - "Germany (English)\n", - "Ecuador\n", - "El Salvador\n", - "EspaƱa (EspaƱol)\n", - "Espanya (CatalĆ )\n", - "France\n", - "ΕλλάΓα\n", - "Guatemala\n", - "Honduras\n", - "Hong Kong (English)\n", - "香港 (äø­ę–‡)\n", - "India\n", - "Indonesia (Bahasa Indonesia)\n", - "Indonesia (English)\n", - "Ireland\n", - "Israel (English)\n", - "×™×©×Ø××œ (ע֓בְר֓ית)\n", - "Italia\n", - "ę—„ęœ¬\n", - "Malaysia (English)\n", - "Malaysia (Melayu)\n", - "MĆ©xico\n", - "Nederland\n", - "New Zealand\n", - "Nicaragua\n", - "Norge\n", - "PanamĆ”\n", - "Paraguay\n", - "PerĆŗ\n", - "Philippines\n", - "Polska\n", - "Portugal\n", - "Puerto Rico\n", - "RepĆŗblica Dominicana\n", - "RomĆ¢nia\n", - "Suisse (FranƧais)\n", - "Schweiz (Deutsch)\n", - "Singapore\n", - "South Africa\n", - "ėŒ€ķ•œėÆ¼źµ­\n", - "Suomi\n", - "Sverige\n", - "å°ē£\n", - "Türkiye\n", - "United Arab Emirates\n", - "United Kingdom\n", - "United States (English)\n", - "Estados Unidos (EspaƱol)\n", - "Uruguay\n", - "Venezuela\n", - "Vietnam (English)\n", - "ViĆŖĢ£t Nam (Việt)\n", - "Ɩsterreich\n", - "ČeskĆ” republika\n", - "Україна\n", - "Ų§Ł„Ł…Ł…Ł„ŁƒŲ© Ų§Ł„Ų¹Ų±ŲØŁŠŲ© Ų§Ł„Ų³Ų¹ŁˆŲÆŁŠŲ© (Ų§Ł„Ų¹ŁŽŲ±ŁŽŲØŁŁŠŁŽŁ‘Ų©)\n", - "Saudi Arabia (English)\n", - "ประเทศไทย (ภาษาไทย)\n", - "Thailand (English)\n", - "DEL - KTM\n", - "$48\n", - "Find Cheap Flights from New Delhi to Kathmandu\n", - "This is the cheapest one-way flight price found by a KAYAK user in the last 72 hours by searching for a flight from New Delhi to Kathmandu departing on 7/16. Fares are subject to change and may not be available on all flights or dates of travel. Click the price to replicate the search for this deal.\n", - "Round-trip\n", - "1 adult\n", - "Economy\n", - "0 bags\n", - "Round-trip\n", - "1 adult, Economy\n", - "Search\n", - "Search\n", - "KAYAK searches hundreds of travel sites at once for deals on flights to Kathmandu\n", - "These are the airlines KAYAK users have selected most often from within our search results in flight searches from New Delhi to Kathmandu, as well as popular online travel agencies\n", - "...and more\n", - "These are the airlines KAYAK users have selected most often from within our search results in flight searches from New Delhi to Kathmandu, as well as popular online travel agencies\n", - "Travelers love KAYAK\n", - "41,299,237\n", - "searches in the past 7 days on KAYAK\n", - "Save 22% or more\n", - "Compare multiple travel sites with one search.\n", - "Track prices\n", - "Not ready to book?\n", - "Create a price alert\n", - "for when prices drop.\n", - "Bundle and save\n", - "Save money when you bundle your flight + hotel.\n", - "Filter your deals\n", - "Choose cabin class, free Wi-Fi and more.\n", - "Flights Deals\n", - "Expert advice\n", - "Useful Info\n", - "Flights Deals\n", - "Cheap Flights from New Delhi to Kathmandu (DEL-KTM)\n", - "Here are some of the best deals found on KAYAK recently from the most popular airlines for round-trip flights from New Delhi to Kathmandu that are departing in the next months. While these flights were available on KAYAK in the last 72 hours, prices and availability are subject to change and deals may expire.\n", - "Discover the best prices for you by selecting your travel dates on KAYAK.\n", - "Select dates\n", - "Round-trip\n", - "One-way\n", - "Last minute\n", - "Direct\n", - "Recent round-trip flight deals from New Delhi to Kathmandu\n", - "Thu, Jul 31 - Fri, Aug 1\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "5:30 pm - 6:55 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$78\n", - "Air India\n", - "Find Deal\n", - "Wed, Aug 6 - Wed, Aug 13\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "5:30 pm - 6:55 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$90\n", - "Air India\n", - "Find Deal\n", - "Wed, Aug 6 - Wed, Aug 13\n", - "7:00 am - 9:05 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 50m\n", - "nonstop\n", - "5:30 pm - 6:55 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$91\n", - "Air India\n", - "Find Deal\n", - "Thu, Jul 31 - Thu, Aug 7\n", - "2:30 pm - 4:30 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 45m\n", - "nonstop\n", - "10:05 am - 12:00 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 10m\n", - "nonstop\n", - "$94\n", - "Air India\n", - "Find Deal\n", - "Fri, Jul 25 - Sun, Jul 27\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "7:35 am - 9:15 am\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$96\n", - "Air India\n", - "Find Deal\n", - "Wed, Aug 13 - Mon, Aug 18\n", - "11:00 am - 1:00 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 45m\n", - "nonstop\n", - "7:35 am - 9:15 am\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$98\n", - "Air India\n", - "Find Deal\n", - "Wed, Jul 23 - Sat, Jul 26\n", - "5:00 am - 6:35 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 20m\n", - "nonstop\n", - "1:25 pm - 2:50 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$148\n", - "Find Deal\n", - "Tue, Jul 22 - Sat, Jul 26\n", - "1:55 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "11h 55m\n", - "1 stop\n", - "10:50 am - 12:30 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$161\n", - "IndiGo\n", - "Find Deal\n", - "Wed, Jul 30 - Fri, Aug 1\n", - "1:55 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "11h 55m\n", - "1 stop\n", - "2:00 pm - 3:45 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 00m\n", - "nonstop\n", - "$167\n", - "IndiGo\n", - "Find Deal\n", - "Tue, Jul 29 - Sat, Aug 2\n", - "1:55 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "11h 55m\n", - "1 stop\n", - "10:50 am - 12:30 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$169\n", - "IndiGo\n", - "Find Deal\n", - "Show more results\n", - "Recent one-way flight deals from New Delhi to Kathmandu\n", - "Wed, Jul 16\n", - "7:00 am - 9:05 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 50m\n", - "nonstop\n", - "$48\n", - "Air India\n", - "Find Deal\n", - "Wed, Jul 16\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "$49\n", - "Air India\n", - "Find Deal\n", - "Wed, Jul 16\n", - "8:10 am - 9:55 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "$54\n", - "SpiceJet\n", - "Find Deal\n", - "Fri, Jul 18\n", - "4:20 pm - 6:10 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 35m\n", - "nonstop\n", - "$55\n", - "Nepal Airlines\n", - "Find Deal\n", - "Wed, Jul 16\n", - "10:55 am - 12:40 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "$56\n", - "Bhutan Airlines\n", - "Find Deal\n", - "Thu, Jul 17\n", - "1:55 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "11h 55m\n", - "1 stop\n", - "$62\n", - "IndiGo\n", - "Find Deal\n", - "Tue, Dec 30\n", - "4:40 am - 6:35 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "$64\n", - "Air India\n", - "Find Deal\n", - "Wed, Jul 16\n", - "4:00 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "9h 50m\n", - "1 stop\n", - "$65\n", - "IndiGo\n", - "Find Deal\n", - "Thu, Sep 11\n", - "8:10 am - 9:55 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "$86\n", - "SpiceJet\n", - "Find Deal\n", - "Wed, Oct 15\n", - "4:20 pm - 6:10 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 35m\n", - "nonstop\n", - "$116\n", - "Nepal Airlines\n", - "Find Deal\n", - "Show more results\n", - "Recent last minute flight deals from New Delhi to Kathmandu\n", - "Mon, Jul 14 - Wed, Jul 16\n", - "7:00 am - 9:05 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 50m\n", - "nonstop\n", - "10:05 am - 12:00 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 10m\n", - "nonstop\n", - "$108\n", - "Air India\n", - "Find Deal\n", - "Sun, Jul 13 - Wed, Jul 16\n", - "1:55 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "11h 55m\n", - "1 stop\n", - "4:40 pm - 6:20 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$161\n", - "IndiGo\n", - "Find Deal\n", - "Mon, Jul 14 - Sun, Jul 20\n", - "10:55 am - 12:40 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "8:40 am - 9:55 am\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 30m\n", - "nonstop\n", - "$164\n", - "Bhutan Airlines\n", - "Find Deal\n", - "Sun, Jul 13 - Mon, Jul 14\n", - "10:55 am - 12:40 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "8:40 am - 9:55 am\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 30m\n", - "nonstop\n", - "$165\n", - "Bhutan Airlines\n", - "Find Deal\n", - "Sat, Jul 12 - Sun, Jul 13\n", - "5:00 am - 2:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "8h 50m\n", - "1 stop\n", - "10:50 am - 12:30 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$179\n", - "IndiGo\n", - "Find Deal\n", - "Mon, Jul 14 - Wed, Jul 16\n", - "5:00 pm - 8:05 am\n", - "DEL\n", - "-\n", - "KTM\n", - "14h 50m\n", - "1 stop\n", - "9:05 am - 2:20 am\n", - "KTM\n", - "-\n", - "DEL\n", - "41h 30m\n", - "2 stops\n", - "$286\n", - "Air India\n", - "Find Deal\n", - "Mon, Jul 14 - Sun, Jul 20\n", - "10:05 pm - 2:45 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "16h 25m\n", - "1 stop\n", - "9:40 pm - 9:05 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "23h 40m\n", - "1 stop\n", - "$695\n", - "Batik Air\n", - "Find Deal\n", - "Sun, Jul 13 - Sun, Jul 20\n", - "10:05 pm - 8:40 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "22h 20m\n", - "1 stop\n", - "9:40 pm - 9:05 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "23h 40m\n", - "1 stop\n", - "$700\n", - "Batik Air\n", - "Find Deal\n", - "Sat, Jul 12 - Tue, Jul 15\n", - "4:10 am - 8:00 am\n", - "DEL\n", - "-\n", - "KTM\n", - "27h 35m\n", - "1 stop\n", - "3:35 pm - 3:10 am\n", - "KTM\n", - "-\n", - "DEL\n", - "11h 50m\n", - "1 stop\n", - "$904\n", - "flydubai\n", - "Find Deal\n", - "Sat, Jul 12 - Sat, Jul 12\n", - "4:10 am - 2:35 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "10h 10m\n", - "1 stop\n", - "11:55 pm - 3:10 am\n", - "KTM\n", - "-\n", - "DEL\n", - "27h 30m\n", - "1 stop\n", - "$923\n", - "flydubai\n", - "Find Deal\n", - "Show more results\n", - "Recent direct flight deals from New Delhi to Kathmandu\n", - "Thu, Jul 31 - Fri, Aug 1\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "5:30 pm - 6:55 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$78\n", - "Air India\n", - "Find Deal\n", - "Wed, Aug 6 - Wed, Aug 13\n", - "6:10 pm - 8:05 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "5:30 pm - 6:55 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$90\n", - "Air India\n", - "Find Deal\n", - "Wed, Jul 23 - Sat, Jul 26\n", - "5:00 am - 6:35 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 20m\n", - "nonstop\n", - "1:25 pm - 2:50 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$148\n", - "Find Deal\n", - "Sat, Aug 9 - Thu, Aug 14\n", - "5:00 am - 6:35 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 20m\n", - "nonstop\n", - "1:25 pm - 2:50 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 40m\n", - "nonstop\n", - "$152\n", - "Find Deal\n", - "Sat, Nov 8 - Mon, Dec 1\n", - "4:50 pm - 6:35 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "1:45 pm - 3:15 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 45m\n", - "nonstop\n", - "$223\n", - "Nepal Airlines\n", - "Find Deal\n", - "Sun, Oct 26 - Thu, Oct 30\n", - "4:50 pm - 6:35 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "1:45 pm - 3:15 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 45m\n", - "nonstop\n", - "$269\n", - "Nepal Airlines\n", - "Find Deal\n", - "Mon, Sep 29 - Fri, Oct 31\n", - "1:40 pm - 3:40 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 45m\n", - "nonstop\n", - "4:40 pm - 6:40 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 15m\n", - "nonstop\n", - "$314\n", - "IndiGo\n", - "Find Deal\n", - "Sat, Sep 27 - Sat, Sep 27\n", - "11:05 am - 1:00 pm\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 40m\n", - "nonstop\n", - "4:40 pm - 6:20 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "1h 55m\n", - "nonstop\n", - "$332\n", - "IndiGo\n", - "Find Deal\n", - "Fri, Sep 26 - Thu, Oct 2\n", - "8:10 am - 9:55 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "10:55 am - 1:10 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 30m\n", - "nonstop\n", - "$429\n", - "SpiceJet\n", - "Find Deal\n", - "Fri, Sep 26 - Thu, Oct 2\n", - "8:10 am - 9:55 am\n", - "DEL\n", - "-\n", - "KTM\n", - "1h 30m\n", - "nonstop\n", - "10:55 am - 1:10 pm\n", - "KTM\n", - "-\n", - "DEL\n", - "2h 30m\n", - "nonstop\n", - "$641\n", - "SpiceJet\n", - "Find Deal\n", - "Show more results\n", - "Expert advice\n", - "Expert advice for your flight from New Delhi to Kathmandu\n", - "Snippets provided in this section are AI-generated based on a summarization of KAYAK-commissioned articles.\n", - "The articles are presented as-is, for general informational purposes only, and may not be up-to-date.\n", - "The opinions contained in the articles are original to the author and reflect their authentic experience,\n", - "which may vary significantly from the experience of others.\n", - "KAYAK teamed up with top travel experts to share the best tips for your journey.\n", - "Airlines\n", - "Air India\n", - "Air India offers\n", - "complimentary meals\n", - "in economy, including vegetarian options without pre-ordering.\n", - "Air India's\n", - "Upgrade+ bidding system\n", - "allows discounted upgrades up to 12 hours before departure.\n", - "Read more about Air India\n", - "by Ramsey Qubein\n", - "IndiGo\n", - "IndiGo's\n", - "6E Prime\n", - "bundle includes seat selection, checked luggage, snacks, and priority boarding.\n", - "IndiGo offers\n", - "extra legroom\n", - "seats for a fee, ideal for longer flights.\n", - "Read more about IndiGo\n", - "by Robert Schrader\n", - "Airports\n", - "DEL\n", - "Expect\n", - "stringent security\n", - "at DEL. Arrive early to navigate the extensive checks, including a pre-checkpoint before accessing check-in counters.\n", - "Read more about DEL\n", - "by Robert Schrader\n", - "KTM\n", - "For a\n", - "smooth arrival\n", - "at KTM, use prepaid taxis to avoid confusion. Find the service to the right after clearing customs.\n", - "Read more about KTM\n", - "by Daniel Scheffler\n", - "Our travel experts\n", - "Ramsey Qubein\n", - "Expert on Air India\n", - "Ramsey Qubein\n", - "An avid traveler and aviation expert who has visited 173 countries, all 50 states and seven continents, Ramsey Qubein flies nearly 400,000 miles a year. As a North Carolina-based freelance journalist for publications including Conde Nast Traveler, Forbes, USA Today and Bloomberg among others, he explores the latest trends in aviation, hospitality, cruises and business.\n", - "Read more\n", - "Robert Schrader\n", - "Expert on IndiGo and DEL\n", - "Robert Schrader\n", - "One of the web's original travel bloggers, Robert launched his first site Leave Your Daily Hell in 2009. Since then, he's expanded into destination niche sites (one each for Japan, Thailand and Taiwan), in addition to having written for the inflight magazines of Singapore Airlines and Korean Air. Overall, he's visited nearly 100 countries, and flies business as often as possible.\n", - "Read more\n", - "Daniel Scheffler\n", - "Expert on KTM\n", - "Daniel Scheffler\n", - "Daniel Scheffler is a travel writer, podcaster, and producer. Born in Africa, bred in Europe and now living in America he has traveled to 140 countries (and all 50 U.S. states). Plus he has stayed at over 2500 hotels across the globe. His original shows Everywhere and Without Maps (available on Spotify) showcase his beliefs, travel is about humanity and sharing that beauty. And thus it reminds you that you shouldn’t believe everything you think.\n", - "Read more\n", - "Useful Info\n", - "KAYAK's insights & trends for New Delhi to Kathmandu flights\n", - "Get data-powered insights and trends into flights from New Delhi to Kathmandu to help you find the cheapest flights, the best time to fly and much more.\n", - "Find cheap flights to Kathmandu\n", - "Planning a trip from New Delhi to Kathmandu? KAYAK’s data-powered insights will help you find cheap flights. Learn the best time to fly, how early to book your ticket, and other tips to secure great prices.\n", - "Prices\n", - "Airlines\n", - "More\n", - "What’s the cheapest day of the week to fly from New Delhi to Kathmandu?\n", - "The average price of all round-trip flights from New Delhi to Kathmandu clicked on KAYAK for each day over the last 12 months.\n", - "When flying from New Delhi to Kathmandu, you should consider leaving on a\n", - "Monday\n", - "and avoid Saturdays if you are looking for the best rates. For your return to New Delhi, you’ll find the best rates on Fridays and the most expensive ones on Thursdays.\n", - "What is the cheapest month to fly from New Delhi to Kathmandu?\n", - "To calculate monthly average prices, KAYAK takes all prices for each month over the last year for round-trip flights from New Delhi to Kathmandu, removes the top 0.1% to account for outliers, and then takes the median of all values for each month.\n", - "The cheapest month for flights from New Delhi to Kathmandu is\n", - "July\n", - ", where tickets cost $150 (return) on average. On the other hand, the most expensive months are October and November, where the average cost of round-trip tickets is $256 and $242 respectively.\n", - "How far in advance should I book a flight from New Delhi to Kathmandu?\n", - "To calculate weekly average prices, KAYAK takes all prices for each week before departure over the last year for round-trip flights from New Delhi to Kathmandu, removes the top 0.1% to account for outliers, and then takes the average of all the values for each week.\n", - "To get a below average price on the flight from New Delhi to Kathmandu, you should book around\n", - "1 week before departure\n", - ". For the absolute cheapest price, our data suggests you should book 24 weeks before departure.\n", - "Which airlines provide the cheapest flights from New Delhi to Kathmandu?\n", - "The cheapest round-trip price for the route for each airline clicked by KAYAK users in the last 72 hours.\n", - "In the past 3 days, the cheapest round-trip tickets from New Delhi to Kathmandu were found on\n", - "Air India\n", - "($78) and\n", - "IndiGo\n", - "($161).\n", - "Which airlines fly most frequently between New Delhi and Kathmandu?\n", - "New Delhi and Kathmandu are connected by different airlines. The airlines that fly that route the most regularly are\n", - "Air India\n", - "(35 flights per week), IndiGo (21 flights per week), and SpiceJet (7 flights per week).\n", - "Which airlines fly non-stop between New Delhi and Kathmandu?\n", - "Airline and price data is aggregated from results in KAYAK’s search results from the last 2 weeks for round-trip flights from New Delhi to Kathmandu.\n", - "There are 5 airlines that fly nonstop from New Delhi to Kathmandu. They are:\n", - "Air India, Bhutan Airlines, IndiGo, Nepal Airlines and SpiceJet\n", - ". The cheapest price of all airlines flying this route was found with Bhutan Airlines at $102 for a round-trip flight. On average, the best prices for this route can be found at Air India.\n", - "Which cabin class options are there for flights between New Delhi and Kathmandu?\n", - "The average price of round-trip flights for each cabin class for the route found by users searching on KAYAK over the last 2 weeks.\n", - "There are 3 cabin class options for the route. These are\n", - "Business, Economy and Prem Economy\n", - ". Perform a search on KAYAK to find the latest prices and availability for all cabin fares, which differ across airlines.\n", - "How many flights are there between New Delhi and Kathmandu per day?\n", - "Each day, there are\n", - "between 10 and 11 nonstop flights\n", - "that take off from New Delhi and land in Kathmandu, with an average flight time of 1h 38m. The most common departure time is 7:00 am and most flights take off in the morning. Each week, there are 74 flights. The most frequent day of departure is Monday, when 15% of all weekly flights depart. The fewest flights depart on a Tuesday.\n", - "How long does a flight from New Delhi to Kathmandu take?\n", - "Direct flights cover the 506 miles separating New Delhi to Kathmandu in about\n", - "1h 20m\n", - ".\n", - "What’s the earliest departure time from New Delhi to Kathmandu?\n", - "Early birds can take the earliest flight from New Delhi at\n", - "5:00 am\n", - "and will be landing in Kathmandu at 6:35 am.\n", - "What’s the latest departure time from New Delhi to Kathmandu?\n", - "If you prefer to fly at night, the latest flight from New Delhi to Kathmandu jets off at\n", - "6:10 pm\n", - "and lands at 8:05 pm.\n", - "Find deals\n", - "Good to know\n", - "Low season\n", - "August\n", - "High season\n", - "June\n", - "Cheapest flight\n", - "$48\n", - "Best time to beat the crowds with an average\n", - "24%\n", - "drop in price.\n", - "Most popular time to fly and prices are also\n", - "16%\n", - "lower on average.\n", - "Flight from New Delhi to Kathmandu\n", - "When to book flights from New Delhi to Kathmandu\n", - "Are your dates flexible? Find out the best times to travel from New Delhi to Kathmandu based on our flight data from the last year. Discover the cheapest month and even day to fly.\n", - "Estimated round-trip price\n", - "KAYAK looks at all historical flight data for each date to provide a predicted price for one-way trips or round-trips with a duration up to 40 days. While we try to provide actual minimum prices for each date, some prices are predictions and actual prices may differ.\n", - "FAQs for booking flights from New Delhi to Kathmandu\n", - "Can I rent a car at Tribhuvan Airport?\n", - "Although there aren’t any car rental agencies that operate inside Tribhuvan Airport, there are several agencies in the area that offer airport pickup. Pickup areas are located outside the international terminal building in the arrivals area. Availability can vary, so book early to guarantee that you have a car for your journey.\n", - "Does Tribhuvan Airport provide free Wi-Fi?\n", - "Although Tribhuvan Airport is lacking in many amenities compared to other airports, it does offer travellers access to unlimited free Wi-Fi. Wi-Fi connection is available in the international terminal for travellers who need to organise emails, catch up on work and make some last-minute bookings after they land or before their return flight.\n", - "How much is parking at New Delhi Airport?\n", - "Parking at New Delhi Airport can vary widely in price due to the different options and the long list of available add-on amenities. Tire inflation, tire pressure and pollution checks for your car are available for an additional fee. Without any extras, parking fees start at around ₹520 per day.\n", - "Are there any onsite hotels at Kathmandu Airport?\n", - "For travellers looking to stay close to the airport during their time in Kathmandu, Tribhuvan Airport is close to several hotels. Within 3 kilometres, you can find the Hyatt Regency, the Summit Residency, Hotel Marinha and several others. Many of these hotels offer airport pickup for hassle-free hotel connections.\n", - "What is the cheapest flight from New Delhi to Kathmandu?\n", - "In the last 3 days, the lowest price for a flight from New Delhi to Kathmandu was $48 for a one-way ticket and $78 for a round-trip.\n", - "Do I need a passport to fly between New Delhi and Kathmandu?\n", - "Yes, you'll most likely have to show a valid passport before boarding the plane in New Delhi and on arrival in Kathmandu.\n", - "Which airports will I be using when flying from New Delhi to Kathmandu?\n", - "New Delhi airport is called New Delhi Indira Gandhi Intl and the only airport in Kathmandu is Kathmandu Tribhuvan.\n", - "Which aircraft models fly most regularly from New Delhi to Kathmandu?\n", - "The Airbus A320neo is the aircraft model that flies most regularly on the New Delhi to Kathmandu flight route.\n", - "Which airline alliances offer flights from New Delhi to Kathmandu?\n", - "Star Alliance, and SkyTeam are the airline alliances operating flights between New Delhi and Kathmandu, with Star Alliance being the most commonly used for this route.\n", - "On which days can I fly direct from New Delhi to Kathmandu?\n", - "There are nonstop flights from New Delhi to Kathmandu on a daily basis.\n", - "Which is the best airline for flights from New Delhi to Kathmandu, IndiGo or Nepal Airlines?\n", - "The two airlines most popular with KAYAK users for flights from New Delhi to Kathmandu are IndiGo and Nepal Airlines. With an average price for the route of $233 and an overall rating of 6.8, IndiGo is the most popular choice. Nepal Airlines is also a great choice for the route, with an average price of $217 and an overall rating of 5.8.\n", - "How does KAYAK find such low prices on flights from New Delhi to Kathmandu?\n", - "KAYAK is a travel search engine. That means we look across the web to find the best prices we can find for our users. With over 2 billion flight queries processed yearly, we are able to display a variety of prices and options on flights from New Delhi to Kathmandu.\n", - "How does KAYAK's flight Price Forecast tool help me choose the right time to buy my flight ticket from New Delhi to Kathmandu?\n", - "KAYAK’s flight Price Forecast tool uses historical data to determine whether the price for a flight to Kathmandu from New Delhi is likely to change within 7 days, so travelers know whether to wait or book now.\n", - "What is the Hacker Fare option on flights from New Delhi to Kathmandu?\n", - "Hacker Fares allow you to combine one-way tickets in order to save you money over a traditional round-trip ticket. You could then fly to Kathmandu with an airline and back to New Delhi with another airline. Booking your flights between New Delhi and KTM can sometimes prove cheaper using this method.\n", - "What is KAYAK's \"flexible dates\" feature and why should I care when looking for a flight from New Delhi to Kathmandu?\n", - "Sometimes travel dates aren't set in stone. If your preferred travel dates have some wiggle room, flexible dates will show you all the options when flying to Kathmandu from New Delhi up to 3 days before/after your preferred dates. You can then pick the flights that suit you best.\n", - "See more FAQs\n", - "KAYAK’s top tips for finding a cheap flight from New Delhi to Kathmandu\n", - "Looking for a cheap flight? 25% of our users found flights on this route for $53 or less one-way and $146 or less round-trip.\n", - "Non-stop flights from New Delhi to Kathmandu are available with several regional airlines, such as Jet Airways, Nepal Airlines and Air India, making layovers a rare occurrence. Kathmandu and the surrounding areas are served by Tribhuvan Airport, which is located approximately 5 kilometres from Kathmandu city centre and is easily reached by public transport.\n", - "Getting to the city centre from Tribhuvan Airport can be easily achieved via the city’s bus system: Sajha Yatayat. These buses depart directly from the airport’s ground transport area outside the arrivals area of the airport. Buses run all throughout Kathmandu, and fares to the city centre start at around Rs 20 (₹12.40).\n", - "If you’re one of the many travellers who prefers a more direct connection to your accommodation after your flight from New Delhi to Kathmandu, you can easily hire a taxi outside Tribhuvan Airport. Be wary of unregistered cabs who can offer varied pricing and pre-book for the best price to the city centre.\n", - "If your return flight is departing from Tribhuvan Airport and you’re looking for a little peace and quiet away from the boarding area, you can kick back in the CIP lounge area. The CIP lounge offers a simple getaway from the gates, with comfortable seating, snacks and beverages. Single-access fees start at around Rs 450 (₹281) per hour.\n", - "Need to rest your eyes before boarding? New Delhi Airport offers sleeping pods for weary travellers looking to take a quick nap before their flights. New Delhi Airport’s sleeping pods are housed inside Terminal 3 in the international departures area, and have prices starting at around ₹2,555 for the first 3 hours in a single-occupancy room.\n", - "If you could use a nap before your flight, you can rest your eyes in one of the sleeping pods available at New Delhi Airport.\n", - "See more tips\n", - "Prefer to fly direct from New Delhi to Kathmandu?\n", - "Direct data is based off flight results for the next 60 days. Find direct flights from all airlines flying direct from New Delhi Indira Gandhi Intl to Kathmandu Tribhuvan.\n", - "Find which airlines fly direct from New Delhi Indira Gandhi Intl Airport to Kathmandu Tribhuvan Airport, which days they fly and book direct flights.\n", - "Direct departures\n", - "New Delhi Indira Gandhi Intl to Kathmandu Tribhuvan\n", - "Monday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Tuesday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Wednesday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Thursday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Friday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Saturday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Sunday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Search Flights\n", - "See more direct flights\n", - "Direct returns\n", - "Kathmandu Tribhuvan to New Delhi Indira Gandhi Intl\n", - "Monday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Tuesday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Wednesday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Thursday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Friday\n", - "Air India, IndiGo, KLM, +3 more\n", - "Air India, IndiGo, +4 more\n", - "2\n", - "3\n", - "Saturday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Sunday\n", - "Air India, Bhutan Airlines, IndiGo, +4 more\n", - "Air India, Bhutan Airlines, +5 more\n", - "3\n", - "4\n", - "Search Flights\n", - "See more direct flights\n", - "See more direct flights\n", - "Reviews of the top 4 airlines serving from New Delhi to Kathmandu\n", - "See real verified KAYAK customer reviews for airlines flying from New Delhi to Kathmandu. Airline scores are aggregated from all reviews left by passengers on KAYAK after flying with an airline. KAYAK doesn’t show reviews that are older than 5 years.\n", - "Learn how KAYAK collects reviews.\n", - "Need help choosing which airline to fly with from New Delhi to Kathmandu? KAYAK airline reviews give an overall score for each airline based on loads of factors, including comfort, boarding, in-flight entertainment and more, to make your decision easier. See airline scores according to verified KAYAK customer reviews.\n", - "7.7\n", - "Vistara\n", - "Overall score based on 229 reviews\n", - "8.3\n", - "Crew\n", - "7.0\n", - "Entertainment\n", - "8.0\n", - "Comfort\n", - "7.7\n", - "Food\n", - "7.9\n", - "Boarding\n", - "Airline reviews\n", - "The flight gate was changed and all the pessengers were waiting at the gate #2 for boarding, There were 4 (four) employees standing at the boarding desk and no one ever said anything about the gate changed. Finaly when I noticed an employee was removing the boarding zone signs, it surprised me something is not right, so I went and ask that employee what happned - she said the gate has been changed. So, i questioned again which gate it would be, she told me gate #5. I look for Gate 5 - which was down stairs. When I went to gate 5 - no body was at that gate which depress me a lot because it was already a bording time pass. Later I checked on the departure screen for my flight - it was gate #1, so I had to go back again upstairs in hurry as the boarding time already pass. They never anounced or telling customer anything at the original boarding gate - WHICH WAS TOTALY STUPID. I am 77 yrs old and what they the employees and the managers care about) care about how I can handle all this going back and forth. Air India is just advertising they are getting bigger but their services are just BOGUS and I don't expect it would be any better. They are getting worst and worst than they use to be.\n", - "4.0 Okay\n", - "Anonymous, Jan 2025\n", - "AMD - DEL\n", - "Read more Vistara reviews\n", - "The flight gate was changed and all the pessengers were waiting at the gate #2 for boarding, There were 4 (four) employees standing at the boarding desk and no one ever said anything about the gate changed. Finaly when I noticed an employee was removing the boarding zone signs, it surprised me something is not right, so I went and ask that employee what happned - she said the gate has been changed. So, i questioned again which gate it would be, she told me gate #5. I look for Gate 5 - which was down stairs. When I went to gate 5 - no body was at that gate which depress me a lot because it was already a bording time pass. Later I checked on the departure screen for my flight - it was gate #1, so I had to go back again upstairs in hurry as the boarding time already pass. They never anounced or telling customer anything at the original boarding gate - WHICH WAS TOTALY STUPID. I am 77 yrs old and what they the employees and the managers care about) care about how I can handle all this going back and forth. Air India is just advertising they are getting bigger but their services are just BOGUS and I don't expect it would be any better. They are getting worst and worst than they use to be.\n", - "It was just like any other budget airline in India—nothing extraordinary. The check-in at CCU was surprisingly smooth and effortless, as expected after online check-in. But BOM? They had me join the regular check-in queue, while six Bag-Drop counters were busy doing the same thing. Makes you wonder how Vistara plans to promote web check-in if passengers end up in line anyway.\n", - "Flight was delayed more than 18 hours, checked in bag damaged, no accountability from vistara ground staff. Worst experience. Shall compensate all the charges with double Ticket refund\n", - "The flight was an hour late. There were no gate announcements or displays. After getting on the plane, there was a further delay without any explanation.\n", - "The flight was on time. I upgraded to Premium Economy and it was comfortable. The food was very good. Staff were courteous.\n", - "Flight was delayed but no announcements were made. Till the boarding it was still showing original schedule time at the monitor and also on your mobile app. It left the gate half hour later than scheduled.\n", - "It’s really very nice experience with very nice behaviour respected crews n all Vistara members thankyou so much Vistara to give us humble hospitality\n", - "My wife with 5 month son were traveling. No proper support was provided for luggage handling. Although it was requested in prior. My wife sole manage everything and was not as expected.\n", - "This was an old 320 without a screen or USB charging port even in the business class. The food could have been better.\n", - "a real good flying experince. Everything was excellent right from check-in to baggage collection at destination.\n", - "IndiGo is low cost and therefore no frills, but is always a pleasant experience. No mood lighting and fancy features but clean aircraft, professional crew and absolute value for money.\n", - "Very hard seats. No food service, even though price is not competitive.\n", - "Very hard seats for long flights. No food even on International flight. Won't fly Indigo again if I can help it.\n", - "Terrible experience at IST airport due to mismanagement by ground and wheelchair staff.\n", - "Some seats don’t recline. No USB port or power outlet, no inflight WIFI - not even for SMS/Messaging apps. Ontime performance was very good. They should have at least one crew member who speaks the local language, for flights like these.\n", - "Although we took the XL seats with more width, we found that you do not have a seat in front to stow your personal item, nor can you stretch your legs. This is not the best option for a comfortable seat. Boarding was timely but disorganized without any row based entry.\n", - "Not professional and didn’t know about double seat even when I paid for it and have a confirmation. Lack of comms between teams.\n", - "deboarding is very poor after landing it took around 45 minutes to come out.\n", - "My baggage bag got broken and only 3000 voucher was given for compensation\n", - "Crew members forgot to serve sandwiches after serving the coffee. Worst was the handling of bag. One of wheel was Broken making it useless. Though a complaint was registered and assured of compensation voucher equal to part cost of the new bag.\n", - "Poor customer service! They don’t have 24/7 customer service. I was stranded in the transit area of the airport for over 21 hours. I was denied to board a plane without any help that caused my entire return flight to be cancelled. I had to book an entire new return flights. It caused me lots of stress, waste of my time and money.\n", - "What started as a small delay at checkin ended up being a two and a half hour delay by the time the plane took off. The annoying part was that we weren’t told what the holdup was.\n", - "Offer a pillow in business class for night flight. More comfortable seats. Offer alcoholic beverages. Get flight attendants that care.\n", - "It was not possible to do an online checkin with Nepal Airlines. Apart from that, all the rest was very good : good food, friendly staff that ensure that Covid rules are respected (not always easy),…\n", - "Overall it was good. But air planes should be upgraded.\n", - "very run down aircraft. seat tilted. the mobile / magazine holder was broken. The entertainment screen was not working. The crew was good, polite and helpful\n", - "Food is good, staff is good... Wi-fi quality is poor, disembarkment after landing is atrocious.\n", - "Flight crew was lovely. Bathrooms should have been cleaner. The handsets in business class for watching the entertainment are horrible. Very difficult to figure out which buttons are for what. I managed to get the flight maps on my screen but it wasn't easy. Never got anything else up.\n", - "Inflight Services are poor compared to other airlines. They do not offer even water during 15 hr flight. Food is little in portion and I had food poisoning after last meal ( rajma chawal)\n", - "This was a bery good experience as it was a newer plane . AI older plane bussiness class is bad .\n", - "I had a camera bag that exceeded the 10kg allowance for hand luggage. I am 67 years old and have been travelling will my cameras and lenses all over the world and have not paid once for the excess weight. Also, even if I wanted to check in the bag, I can’t due to lithium batteries and delicate equipment. Air India should review their policies. Or is it just a cash grab. I had to pay additional 7000 rupees.\n", - "Other than the inflight video screen freezing for about four hours everything else was brilliant.\n", - "The aircraft interiors are falling apart. Felt like a waste paying for business class as it was indistinguishable from economy in any way.\n", - "What a pathetic plane it was. Entertainment system didn’t work. USB port was broken. There was a hole on top of folding serving table. Broken restrooms in the middle of flight.\n", - "Vistara\n", - "7.7\n", - "IndiGo\n", - "6.8\n", - "Nepal Airlines\n", - "5.8\n", - "Air India\n", - "5.5\n", - "Everything you need to know for your flight from New Delhi to Kathmandu\n", - "Airports\n", - "Cabin class\n", - "Complete your trip\n", - "Direct Flights\n", - "Flights to other cities\n", - "Origins\n", - "Other airports\n", - "Return flight deals\n", - "Information on your arrival and departure airports\n", - "New Delhi (DEL)\n", - "Kathmandu (KTM)\n", - "Cabin class types available on flights from New Delhi to Kathmandu\n", - "Cabin classes available on flights from New Delhi to Kathmandu. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", - "First Class flights from New Delhi to Kathmandu\n", - "Business Class flights from New Delhi to Kathmandu\n", - "from $321\n", - "Prem Econ Class flights from New Delhi to Kathmandu\n", - "from $266\n", - "Economy Class flights from New Delhi to Kathmandu\n", - "from $113\n", - "Complete your trip to Kathmandu with a hotel stay or car rental\n", - "Car rentals in Kathmandu\n", - "Hotels in Kathmandu\n", - "Vacations in Kathmandu\n", - "Find direct flights to and from New Delhi and Kathmandu\n", - "Direct Flights from New Delhi\n", - "Direct Flights to New Delhi\n", - "Direct Flights from Kathmandu\n", - "Direct Flights to Kathmandu\n", - "Flights to other popular destinations\n", - "The most popular flights on KAYAK according to clicks in the last 2 weeks. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", - "Flights to New York\n", - "Flights to Los Angeles\n", - "Flights to Las Vegas\n", - "Flights to Orlando\n", - "Flights to Chicago\n", - "Flights to Miami\n", - "Flights to London\n", - "Flights to Denver\n", - "Flights to San Francisco\n", - "Flights to Fort Lauderdale\n", - "Flights to Washington, D.C.\n", - "Flights to Seattle\n", - "Flights to Boston\n", - "Flights to Atlanta\n", - "Flights to Paris\n", - "Flights to India\n", - "Flights to United States\n", - "Flights to Europe\n", - "Flights to Japan\n", - "Flights to Hawaii\n", - "Flights to Florida\n", - "Flights from domestic origins to Kathmandu\n", - "Flights from all airports within New Delhi to Kathmandu. Prices are the lowest found on KAYAK over the last 7 days. Price and availability is not guaranteed.\n", - "Flights from New Delhi to Kathmandu\n", - "from $225\n", - "Choose which airport to fly into in Kathmandu\n", - "Flights to Kathmandu\n", - "from $225\n", - "Find deals for your return flight\n", - "Flights from Kathmandu to New Delhi\n", - "KAYAK.com\n", - "Flights\n", - "Worldwide\n", - "Kathmandu\n", - "Not what you’re looking for? Find thousands of other\n", - "hotels\n", - ",\n", - "flights\n", - ",\n", - "car rentals\n", - "and\n", - "package deals\n", - "with KAYAK.\n", - "Welcome to KAYAK\n", - "This site uses cookies and other tracking technologies for essential, functional, analytical, and advertising purposes. By using the site, you agree to our\n", - "Terms & Conditions\n", - "and our\n", - "Privacy Policy\n", - ".\n", - "For more information about how we process your information, please see our\n", - "Privacy Policy\n", - ".\n", - "I understand\n", - "We value your privacy\n", - "KAYAK and its partners wish to use cookies or similar technologies to store and/or access information on and about your device and process personal data such as your IP address, device identifiers etc., in order to improve your experience on the site, to analyze navigation, to offer and measure personalized advertising, and to facilitate sharing on social networks. We also allow the use of third-party cookies (including those from our advertising partners) on our sites.\n", - "By clicking 'Accept', you consent to your data being processed by 0 vendors on this web site for the purposes described in this notice. You can review the vendors and their individual processing purposes on the\n", - "vendor list\n", - ".\n", - "To review individual processing purposes and cookie categories, please click ’Select individual purposes’. You can review your choices and withdraw your consent at any time by clicking the ’Privacy Preferences’ link in the page side navigation.\n", - "Processing purposes\n", - "Read more about our cookie practice here.\n", - "Privacy Policy\n", - "By dismissing the banner with a click on X, you are agreeing to the use of essential cookies on your device or browser.\n", - "\n", - "\n", - "\n", - "Title: Cheap Flight Fares from Indira Gandhi International to Kathmandu ...\n", - "Webpage Title:\n", - "Skyscanner\n", - "Webpage Contents:\n", - "You need to enable JavaScript to run this app.\n", - "\n", - "\n", - "\n", - "Title: Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status ...\n", - "Webpage Title:\n", - "Air India Delhi to Kathmandu Flight - Ticket Price, Fare, Status & Time Schedule\n", - "Webpage Contents:\n", - "Flights\n", - "Flights\n", - "Hotels\n", - "Hotels\n", - "TRIP TYPE\n", - "One Way\n", - "FROM\n", - "TO\n", - "DEPART\n", - "RETURN\n", - "PASSENGERS & CLASS\n", - "SEARCH\n", - "Popular Filters\n", - "Non Stop\n", - "(12)\n", - "AED 145\n", - "Morning Departures\n", - "(39)\n", - "AED 145\n", - "Late Departures\n", - "(20)\n", - "AED 195\n", - "Hide Nearby Airports\n", - "(72)\n", - "AED 145\n", - "1 Stop\n", - "(55)\n", - "AED 195\n", - "+ 1 more\n", - "Departure Airports\n", - "Indira Gandhi International Airport\n", - "AED 145\n", - "Hindon Airport (32Km)\n", - "AED 369\n", - "One Way Price\n", - "AED 145\n", - "AED 8,600\n", - "Duration\n", - "1 h 20 m\n", - "31 h 0 m\n", - "Stops From New Delhi\n", - "Non Stop\n", - "(12)\n", - "AED 145\n", - "1 Stop\n", - "(55)\n", - "AED 195\n", - "1+ Stop\n", - "(7)\n", - "AED 352\n", - "Departure From New Delhi\n", - "Before\n", - "6\n", - "AM\n", - "AED 195\n", - "6\n", - "AM -\n", - "12\n", - "PM\n", - "AED 145\n", - "12\n", - "PM -\n", - "6\n", - "PM\n", - "AED 180\n", - "After\n", - "6\n", - "PM\n", - "AED 195\n", - "Arrival at Kathmandu\n", - "6\n", - "AM -\n", - "12\n", - "PM\n", - "AED 178\n", - "12\n", - "PM -\n", - "6\n", - "PM\n", - "AED 145\n", - "After\n", - "6\n", - "PM\n", - "AED 189\n", - "Alliances & Airlines\n", - "Oneworld\n", - "(4)\n", - "SkyTeam\n", - "()\n", - "Star Alliance\n", - "(34)\n", - "Air Arabia\n", - "(3)\n", - "AED 1,263\n", - "Air India\n", - "(28)\n", - "AED 210\n", - "Air India Express\n", - "(3)\n", - "AED 352\n", - "Batik Air\n", - "(1)\n", - "AED 1,356\n", - "Bhutan Air\n", - "(1)\n", - "AED 145\n", - "Cathay Pacific\n", - "(1)\n", - "AED 8,126\n", - "Flydubai\n", - "(3)\n", - "AED 1,636\n", - "Hahn Air\n", - "(1)\n", - "AED 756\n", - "IndiGo\n", - "(22)\n", - "AED 180\n", - "Malaysia Airlines\n", - "(1)\n", - "AED 2,826\n", - "Nepal Airlines\n", - "(1)\n", - "AED 189\n", - "Singapore Airlines\n", - "(1)\n", - "AED 8,196\n", - "SpiceJet\n", - "(1)\n", - "AED 178\n", - "Srilankan Airlines\n", - "(2)\n", - "AED 576\n", - "Thai Airways\n", - "(4)\n", - "AED 966\n", - "Turkish Airlines\n", - "(1)\n", - "AED 3,406\n", - "+ 10 more\n", - "Layover Airports\n", - "Bangkok\n", - "(4)\n", - "AED 966\n", - "Bengaluru\n", - "(26)\n", - "AED 352\n", - "Colombo\n", - "(2)\n", - "AED 576\n", - "Dubai\n", - "(3)\n", - "AED 1,636\n", - "Hong Kong\n", - "(1)\n", - "AED 8,126\n", - "Indore\n", - "(1)\n", - "AED 636\n", - "Istanbul\n", - "(1)\n", - "AED 3,406\n", - "Jaipur\n", - "(1)\n", - "AED 616\n", - "Kuala Lumpur\n", - "(2)\n", - "AED 1,356\n", - "Mumbai\n", - "(19)\n", - "AED 195\n", - "Patna\n", - "(1)\n", - "AED 736\n", - "Pune\n", - "(3)\n", - "AED 656\n", - "Sharjah\n", - "(3)\n", - "AED 1,263\n", - "Singapore\n", - "(1)\n", - "AED 8,196\n", - "+ 9 more\n", - "Layover Duration\n", - "1 h 0 m\n", - "24 h 0 m\n", - "Top Flights From Delhi\n", - "Delhi To Kathmandu Flights\n", - "Top International Route Airlines\n", - "Accra To Abu Dhabi Air India Flights\n", - "Accra To Sharjah Air India Flights\n", - "Agra To Abu Dhabi Air India Flights\n", - "Agra To Dubai Air India Flights\n", - "Agatti Island To Abu Dhabi Air India Flights\n", - "Agatti Island To Dubai Air India Flights\n", - "Agatti Island To Sharjah Air India Flights\n", - "Aizawl To Abu Dhabi Air India Flights\n", - "Aizawl To Dubai Air India Flights\n", - "Aizawl To Sharjah Air India Flights\n", - "Top Intl Air India Routes\n", - "Dubai Amman Air India Flights\n", - "Bahrain Dubai Air India Flights\n", - "Dubai Peshawar Air India Flights\n", - "Accra Addis Ababa Air India Flights\n", - "Accra Agra Air India Flights\n", - "Accra Aizawl Air India Flights\n", - "Accra Ahmedabad Air India Flights\n", - "Accra Amritsar Air India Flights\n", - "Accra Abu Dhabi Air India Flights\n", - "Accra Bhubaneswar Air India Flights\n", - "Top Flights From Kathmandu\n", - "Kathmandu To Goa Flights\n", - "Kathmandu To Bangalore Flights\n", - "Kathmandu To Patna Flights\n", - "Kathmandu To Chandigarh Flights\n", - "Kathmandu To Bagdogra Flights\n", - "Kathmandu To Kolkata Flights\n", - "Kathmandu To Hyderabad Flights\n", - "Kathmandu To Kochi Flights\n", - "Top routes\n", - "Delhi To Aalborg Flights\n", - "Delhi To Anapa Flights\n", - "Delhi To Aarhus Flights\n", - "Delhi To Allentown Flights\n", - "Top Airlines\n", - "Biman Bangladesh\n", - "Air Arabia\n", - "Gulf Air\n", - "Qatar Airways\n", - "Etihad Airways\n", - "flydubai\n", - "Kuwait Airways\n", - "Oman Air\n", - "Thai Air Asia\n", - "Royal Nepal Airlines\n", - "Turkish Airlines\n", - "Srilankan Airlines\n", - "AirBlue Airlines\n", - "Indigo\n", - "SpiceJet\n", - "Air India\n", - "Air India Express\n", - "Emirates\n", - "Cebu Pacific Air\n", - "Wizz Air Abu Dhabi\n", - "Thai Airways\n", - "Other Route Airlines\n", - "Delhi To Kathmandu Royal Nepal Airlines Flights\n", - "Delhi To Kathmandu flydubai Flights\n", - "Delhi To Kathmandu Air Arabia Flights\n", - "Delhi To Kathmandu IndiGo Airlines Flights\n", - "Delhi To Kathmandu KLM Royal Dutch Flights\n", - "Delhi To Kathmandu Druk Air Flights\n", - "Delhi To Kathmandu Vistara Airlines Flights\n", - "Delhi To Kathmandu Malmo Aviation Flights\n", - "Domestic routes\n", - "Sharjah To Abu Dhabi Flights\n", - "Ras Al Khaimah To Abu Dhabi Flights\n", - "Dubai To Abu Dhabi Flights\n", - "Al Ain To Abu Dhabi Flights\n", - "Popular Flights\n", - "Dubai To Colombo Flights\n", - "Casablanca To Dubai Flights\n", - "Dubai To Abu Dhabi Flights\n", - "Sharjah To Lahore Flights\n", - "Abu Dhabi To Casablanca Flights\n", - "Dubai To Phuket Flights\n", - "Lahore To Dubai Flights\n", - "Dubai To Sialkot Flights\n", - "Popular Routes UAE\n", - "Abu Dhabi to Alexandria Flight\n", - "Abu Dhabi to Amman Flight\n", - "Abu Dhabi to Beirut Flight\n", - "Abu Dhabi to Cairo Flight\n", - "Abu Dhabi to Casablanca Flight\n", - "Abu Dhabi to Dhaka Flight\n", - "Abu Dhabi to Islamabad Flight\n", - "Abu Dhabi to Manila Flight\n", - "Alexandria to Abu Dhabi Flight\n", - "Amman to Abu Dhabi Flight\n", - "Amman to Dubai Flight\n", - "Beirut to Dubai Flight\n", - "Cairo to Abu Dhabi Flight\n", - "Dubai to Addis Ababa Flight\n", - "Dubai to Amman Flight\n", - "Popular UAE Routes\n", - "Dubai to Belgrade Flight\n", - "Dubai to Khartoum Flight\n", - "Dubai to Lagos Flight\n", - "Dubai to Manila Flight\n", - "Dubai to Peshawar Flight\n", - "Dubai to Sialkot Flight\n", - "Dubai to Sylhet Flight\n", - "Dubai to Tashkent Flight\n", - "Dubai to Tbilisi Flight\n", - "Dubai to Zanzibar Flight\n", - "Entebbe to Dubai Flight\n", - "Jeddah to Riyadh Flight\n", - "Karachi to Dubai Flight\n", - "Manila to Cebu Flight\n", - "Sharjah to Alexandria Flight\n", - "Sharjah to Amman Flight\n", - "Sialkot to Dubai Flight\n", - "Top Flights to Nepal\n", - "Delhi To Nepal Flights\n", - "Bangalore To Nepal Flights\n", - "Mumbai To Nepal Flights\n", - "Thiruvananthapuram To Nepal Flights\n", - "Goa To Nepal Flights\n", - "Kochi To Nepal Flights\n", - "Hyderabad To Nepal Flights\n", - "Udaipur To Nepal Flights\n", - "Chennai To Nepal Flights\n", - "Kolkata To Nepal Flights\n", - "Hotels in Kathmandu\n", - "Hotels in Kathmandu (479)\n", - "Budget hotels in Kathmandu (333)\n", - "5 Star hotels in Kathmandu (28)\n", - "Resorts in Kathmandu\n", - "Hostels in Kathmandu\n", - "Bed N Breakfast in Kathmandu\n", - "Villas in Kathmandu\n", - "Guest Houses in Kathmandu\n", - "Apart-hotels in Kathmandu\n", - "Apartments in Kathmandu\n", - "Homestays in Kathmandu\n", - "4 Star hotels in Kathmandu (66)\n", - "Most Searched Hotel in Kathmandu\n", - "Ramada Encore by Wyndham Kathmandu\n", - "The Soaltee Kathmandu\n", - "Radisson Hotel Kathmandu\n", - "Hyatt Regency Kathmandu\n", - "Hotel Crowne Imperial\n", - "Hotel Yak & Yeti\n", - "Chandragiri Hills Resort\n", - "Fairfield by Marriott Kathmandu\n", - "Aloft Kathmandu Thamel by Marriott\n", - "Kathmandu Marriott Hotel\n", - "Hotels in Kathmandu Areas\n", - "Thamel (195)\n", - "Patan (61)\n", - "Lalitpur (55)\n", - "Jyatha, Kathmandu (44)\n", - "Satghumti, Kathmandu (36)\n", - "Sinamangal (35)\n", - "Near Tribhuvan Airport (34)\n", - "Budhanilkantha (33)\n", - "Khusibun, Kathmandu (31)\n", - "Mangal Bazaar (29)\n", - "Boudhha (28)\n", - "Nagarjun (22)\n", - "Patan Dhoka (22)\n", - "Kapan (21)\n", - "Lazimpat (15)\n", - "Budget Hotels in Kathmandu\n", - "Living Hope Guest House\n", - "OYO 135 Lost Garden Apartment and Guest House\n", - "Kathmandu Boutique\n", - "Airport Himalaya Boutique Hotel\n", - "Hotel Jagat\n", - "Prami's Homestay\n", - "Hotel Namaskar\n", - "Karma Hotel Nepal\n", - "Hotel Ritu Mouria\n", - "Hotel Peace Mountain\n", - "Kathmandu Nomad Hotel\n", - "Gaju Suite Hotel\n", - "OYO 287 Hotel Buddha Palace\n", - "Sangam City Hotel\n", - "Nepal Cottage Resort\n", - "Delhi to Kathmandu Air India Flight\n", - "Lowest fare from Delhi to Kathmandu Air India Flight on 19 Jul - AED 189\n", - "Cheapest ticket price on Delhi to Kathmandu Air India flight air ticket at MakeMyTrip. Lowest fares guaranteed on flights from Delhi to Kathmandu by Air India. Check all details about Air India Delhi to Kathmandu flight like ticket price, flight status, fare & schedule. You can also book a return ticket for your journey at discounted rate on\n", - "Kathmandu to Delhi Air India flight\n", - "ticket online and you can also check other airlines\n", - "Delhi to Kathmandu flights\n", - "details. Get Up To AED 150 Off* on your flight booking with MakeMyTrip using coupon code :\n", - "ā€œFLYAEā€\n", - ". 100% Refund on Flight cancellations with MMT Zero Cancellation.\n", - "Sorted By:\n", - "Popularity\n", - "Departure\n", - "Duration\n", - "Arrival\n", - "Price\n", - "Bhutan Air\n", - "10:55\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "12:40\n", - "Kathmandu\n", - "AED 189\n", - "AED 145\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "Bhutan Air\n", - "B3 | 774\n", - "10:55\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "12:40\n", - "Sun, 27 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 145\n", - "Base Fare\n", - "AED 2\n", - "Surcharges\n", - "AED 187\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "SpiceJet\n", - "08:10\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "09:55\n", - "Kathmandu\n", - "AED 222\n", - "AED 178\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "SpiceJet\n", - "SG | 41\n", - "08:10\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "09:55\n", - "Sun, 27 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 178\n", - "Base Fare\n", - "AED 126\n", - "Surcharges\n", - "AED 96\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "07:50\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "09:50\n", - "Kathmandu\n", - "11:05\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "13:40\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "15:40\n", - "Kathmandu\n", - "More Timing Options\n", - "AED 224\n", - "AED 180\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "IndiGo\n", - "6E | 1151\n", - "07:50\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "09:50\n", - "Sun, 27 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 180\n", - "Base Fare\n", - "AED 130\n", - "Surcharges\n", - "AED 94\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Nepal Airlines\n", - "16:20\n", - "New Delhi\n", - "01\n", - "h\n", - "35\n", - "m\n", - "Non stop\n", - "18:10\n", - "Kathmandu\n", - "AED 233\n", - "AED 189\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "Nepal Airlines\n", - "RA | 218\n", - "16:20\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "35\n", - "m\n", - "18:10\n", - "Sun, 27 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 189\n", - "Base Fare\n", - "AED 1\n", - "Surcharges\n", - "AED 232\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "07:00\n", - "New Delhi\n", - "06\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "06:00\n", - "New Delhi\n", - "07\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "05:00\n", - "New Delhi\n", - "08\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "04:00\n", - "New Delhi\n", - "09\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "01:55\n", - "New Delhi\n", - "11\n", - "h\n", - "55\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "23:30\n", - "New Delhi\n", - "14\n", - "h\n", - "20\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "22:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "21:00\n", - "New Delhi\n", - "16\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "17\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "AED 239\n", - "AED 195\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "IndiGo\n", - "6E | 6814\n", - "07:00\n", - "Sun, 27 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "15\n", - "m\n", - "09:15\n", - "Sun, 27 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Sun, 27 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Sun, 27 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 195\n", - "Base Fare\n", - "AED 143\n", - "Surcharges\n", - "AED 96\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "05:00\n", - "New Delhi\n", - "01\n", - "h\n", - "20\n", - "m\n", - "Non stop\n", - "06:35\n", - "Kathmandu\n", - "07:00\n", - "New Delhi\n", - "01\n", - "h\n", - "50\n", - "m\n", - "Non stop\n", - "09:05\n", - "Kathmandu\n", - "11:00\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "14:30\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "16:30\n", - "Kathmandu\n", - "18:10\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "20:05\n", - "Kathmandu\n", - "More Timing Options\n", - "AED 254\n", - "AED 210\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "Air India\n", - "AI | 215\n", - "05:00\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "20\n", - "m\n", - "06:35\n", - "Sun, 27 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 210\n", - "Base Fare\n", - "AED 95\n", - "Surcharges\n", - "AED 159\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India Express\n", - "23:55\n", - "New Delhi\n", - "07\n", - "h\n", - "55\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "15:20\n", - "New Delhi\n", - "16\n", - "h\n", - "30\n", - "m\n", - "2 stop via Indore,Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "AED 396\n", - "AED 352\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "Air India Express\n", - "IX | 2755\n", - "23:55\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "03\n", - "h\n", - "02:55\n", - "Mon, 28 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India Express\n", - "IX | 884\n", - "05:05\n", - "Mon, 28 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Mon, 28 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 352\n", - "Base Fare\n", - "AED 279\n", - "Surcharges\n", - "AED 117\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "17:35\n", - "Ghaziabad\n", - "20\n", - "h\n", - "15\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "AED 413\n", - "AED 369\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "Ghaziabad to Kathmandu , 27 Jul\n", - "IndiGo\n", - "6E | 5091\n", - "17:35\n", - "Sun, 27 Jul 25\n", - "Ghaziabad, India\n", - "02\n", - "h\n", - "25\n", - "m\n", - "20:00\n", - "Sun, 27 Jul 25\n", - "Terminal T1\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Mon, 28 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Mon, 28 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 369\n", - "Base Fare\n", - "AED 332\n", - "Surcharges\n", - "AED 81\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "IndiGo\n", - "10:00\n", - "New Delhi\n", - "27\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "09:00\n", - "New Delhi\n", - "28\n", - "h\n", - "50\n", - "m\n", - "1 stop via Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "AED 474\n", - "AED 430\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "IndiGo\n", - "6E | 6328\n", - "10:00\n", - "Sun, 27 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "20\n", - "m\n", - "12:20\n", - "Sun, 27 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E | 1157\n", - "11:05\n", - "Mon, 28 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Mon, 28 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 430\n", - "Base Fare\n", - "AED 366\n", - "Surcharges\n", - "AED 108\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Air India\n", - "09:40\n", - "New Delhi\n", - "22\n", - "h\n", - "10\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "08:30\n", - "New Delhi\n", - "23\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "07:30\n", - "New Delhi\n", - "24\n", - "h\n", - "20\n", - "m\n", - "1 stop via Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "AED 480\n", - "AED 436\n", - "BOOK NOW\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 27 Jul\n", - "Air India\n", - "AI | 2415\n", - "09:40\n", - "Sun, 27 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "02\n", - "h\n", - "55\n", - "m\n", - "12:35\n", - "Sun, 27 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI | 9187 | Operated By Air India Express\n", - "05:05\n", - "Mon, 28 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Mon, 28 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "AED 436\n", - "Base Fare\n", - "AED 330\n", - "Surcharges\n", - "AED 150\n", - "Instant discount applied\n", - "-AED 44\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Load More Flights\n", - "Travel Home\n", - "International Flights\n", - "Flights to Kathmandu\n", - "Delhi to Kathmandu Flights\n", - "Delhi to Kathmandu Air India Flights\n", - "About Delhi (DEL)\n", - "Delhi is a city which shows you two different sides of the world. One side reflects the Islamic India and other the British Raj. These two worlds can be seen in two parts of Delhi, one is 'The Old Delhi' and other is 'New Delhi'. Being the capital of India, Delhi boasts of various attractions for tourists. The city is a perfect blend of the present and past of India as here you can find the ancient heritages and historical monuments. All the attractions of this vibrant city reflect some of the most enchanting and true colours of Indian Culture. It is also a perfect place for those who want to study on various dynasties as Delhi was ruled by them in the past. With presence of the cultural beauties, Delhi is also referred as 'the Multicultural City'. To get a glace of its historical beauties, Delhi has various attractions like India Gate, Red Fort, Qutub Minar and Old Fort also known as 'Purana Qila'. The religious values and beliefs of people can be seen throughout the city as you can find number of temples, Gurudawaras and Mosques. Lotus temple, Laxmi Narayan Temple, Akshardham temple, Iscon temple, Gurudawara Seesh Ganj, Bangla sahib Gurudawara and Nizamuddin Dargah are some of the most renowned religious places in the city where you can go and worship Lords. The warm hospitality and vivacious nightlife will surely attract your attention and make you fall in love with this majestic city. Beside all these things, the finger-licking cuisines are also something which you love to talk about. You can book flights at very economical price only through MakeMyTrip India.\n", - "Delhi Address\n", - "Indira Gandhi International Airport\n", - "Domestic terminal, Terminal 1-B,New Delhi-110 037\n", - "Enquries Phone Number: (+91) 11 25661080\n", - "Flight Information NO: (+91) 11 25601000 (DOM)/ (+91) 11 25602000 (INT)\n", - "About Kathmandu (KTM)\n", - "Lying in the breathtaking and lofty Himalayan Mountains, Kathmandu is one of the fascinating cities in Nepal. Nestled between the border of India and China, Kathmandu is a place which gives you a clear picture of Buddhism and Hindu Mythology. Here, you will find historical monuments and ancient shrines. Situated at an altitude of 1400 meters above the sea level, Kathmandu is a prominent city as well as tourism hub of Nepal. Besides the capital of Nepal, Kathmandu is also the commercial centre of the country. The entire Himalayan valley consists of two sister cities, one is Lalitpur and other is Bhaktapur. Both the cities have many small towns. The amazing thing which you find in Kathmandu is that it is surrounded by four major hills like- Shivapuri, Pulchowki, Nagarjun and Chandragiri. UNESCO has also awarded Kathmandu valley as the UNESCO World Heritage site. Another incredible fact about the city is its eight flowing rivers named- Bagmati, Bishnumati, Dhabikhola, Manohara, Hanumant and Tukucha. \n", - "With its deep rooted culture and historical backdrops, Kathmandu has a number places which are quite popular among the tourists across the world. Some of the finest places of this city are Kumari Temple, Swayambhunath Temple, Pashupatinath Temple, Bodhnath, Kirtipur, Budhanilkantha Temple, Dakshinkali Temple, Nagarkot, Daman, Dhulikhel, Changunarayan Temple, etc. Moving in the city, you will surely have a great time with family and friends. \n", - "The natural surrounding and tranquil beauty of this magnificent city lures tourists and add some of the most cherished moments in your life. It is a heaven for those who love to do trekking and other mountaineering activities. The markets are also well built and give you a picture of ancient architecture. If you are looking to visit this beautiful city, then log onto MakeMyTrip.com where you can get the tour related information within few clicks of your mouse. Being India's leading online travel portal, MakeMyTrip offers your air tickets at reasonable prices as compared to other similar portals. Here, you can also book your rooms in hotels quite prior to your journey.\n", - "Kathmandu Address\n", - "Tribhuvan International Airport, Ministry of Civil Aviation, Kathmandu, Nepal\n", - "Tel: +97714477161\n", - "About Air India\n", - "Air India is the national flag carrier of India and has been providing air services since October 15th, 1932. Initially its name was Tata Airlines but later it was changed to Air India. It is India’s first international airline that offers a distinctive look with a red colored flying swan. It provides luxurious air services to international passengers at economical costs and discounted fares. Air India offers many international flights but the US is the most important international destination and a large number of passengers travel between India and the United States on a daily basis. Air India had the honour of being the first airline to start commercial operations from the recently opened Kazi Nazrul Islam Airport at Durgapur with a flight connecting Kolkata to Durgapur and back. The inaugural flight was operated by Alliance Air, a wholly owned subsidiary of Air India.\n", - "Hide\n", - "More Deals For You!\n", - "More discounts for your flight\n", - "Get Flat\n", - "12%\n", - "OFF\n", - "MMTWELCOME\n", - "Grab Up to AED 90 OFF\n", - "*Applicable for First times user only.\n", - "COPY CODE\n", - "Get Up To\n", - "20%\n", - "OFF\n", - "FLYSUPER\n", - "Grab Up to AED 120 OFF\n", - "*T&C Applied\n", - "COPY CODE\n", - "Get Up To\n", - "AED 150\n", - "OFF*\n", - "FLYAE\n", - "BIG Offer on Flights!\n", - "*T&C Applied\n", - "COPY CODE\n", - "Show\n", - "International Routes\n", - "Dubai to Manila Flight\n", - "Dubai to Kuwait Flight\n", - "Dubai to Islamabad Flight\n", - "Dubai to Karachi Flight\n", - "Dubai to Lahore Flight\n", - "Dubai to Riyadh Flight\n", - "Abu Dhabi to Manila Flight\n", - "Dubai to Cairo Flight\n", - "Dubai to Bahrain Flight\n", - "Dubai to Dhaka Flight\n", - "Dubai to Beirut Flight\n", - "Manila to Dubai Flight\n", - "Dubai to Muscat Flight\n", - "Dubai to Amman Flight\n", - "Dubai to Kathmandu Flight\n", - "Dubai to Casablanca Flight\n", - "Abu Dhabi to Lahore Flight\n", - "Beirut to Dubai Flight\n", - "Abu Dhabi to Islamabad Flight\n", - "Sharjah to Lahore Flight\n", - "Dubai to Addis ababa Flight\n", - "Cairo to Dubai Flight\n", - "Lahore to Dubai Flight\n", - "Dhaka to Sharjah Flight\n", - "Dubai to Lagos Flight\n", - "Sharjah to Multan Flight\n", - "Dubai to Tunis Flight\n", - "Abu Dhabi to Belgrade Flight\n", - "Dubai to Tbilisi Flight\n", - "Dubai to Peshawar Flight\n", - "Dubai to Alexandria Flight\n", - "Dubai to Multan Flight\n", - "Dubai to Faisalabad Flight\n", - "Top International Routes\n", - "Dubai to Delhi Flight\n", - "Dubai to Mumbai Flight\n", - "Dubai to Chennai flight\n", - "Dubai to Hyderabad flight\n", - "Dubai to Mangalore flight\n", - "Dubai to Kochi flight\n", - "Mumbai to Dubai flight\n", - "Dubai to Trivandrum flight\n", - "Sharjah to Trivandrum Flight\n", - "Ahmedabad to Dubai Flight\n", - "Kochi to Dubai Flight\n", - "Dubai to Kozhikode Flight\n", - "Amritsar to Dubai Flight\n", - "Sharjah to Kochi Flight\n", - "Trivandrum to Dubai Flight\n", - "Calicut to Dubai Flight\n", - "Kochi to Sharjah Flight\n", - "Dubai to Athens Flight\n", - "Thiruvananthapuram to Sharjah Flight\n", - "Dubai to Abu Dhabi Flight\n", - "Dubai to Sialkot Flight\n", - "Dubai to Sylhet Flight\n", - "Sharjah to Sialkot Flight\n", - "Abu Dhabi to Cairo Flight\n", - "Abu Dhabi to Kathmandu Flight\n", - "Dubai to Salalah Flight\n", - "Dubai to Chittagong Flight\n", - "Dubai to Singapore Flight\n", - "Dubai to Mauritius Flight\n", - "Dubai to Amsterdam Flight\n", - "Dubai to Paris Flight\n", - "Dubai to Vancouver Flight\n", - "Sharjah to Dhaka Flight\n", - "Dubai to Los Angeles Flight\n", - "Abu Dhabi to Casablanca Flight\n", - "Abu Dhabi to Beirut Flight\n", - "Dubai to Seychelles Flight\n", - "Dubai to Barcelona Flight\n", - "Dubai to Belgrade Flight\n", - "Dubai to Tashkent Flight\n", - "Top International Flight Routes\n", - "Sharjah to Thiruvananthapuram flight\n", - "Abu dhabi to Kozhikode flight\n", - "Abu dhabi to Delhi flight\n", - "Hyderabad to Dubai flight\n", - "Abu Dhabi to Kochi flight\n", - "Delhi to Dubai flight\n", - "Chennai to Dubai Flight\n", - "Dubai to Ahmedabad flight\n", - "Mangalore to Dubai Flight\n", - "Dubai to Kannur Flight\n", - "Abu dhabi to Chennai Flight\n", - "Dhaka to Dubai Flight\n", - "Sharjah to Kannur flight\n", - "Dubai To Bangkok Flight\n", - "Dubai To Kochi Flight\n", - "Dubai to Entebbe Flight\n", - "Abu dhabi to Dhaka Flight\n", - "Amman to Dubai Flight\n", - "Sharjah to Peshawar Flight\n", - "Islamabad to Dubai Flight\n", - "Dubai to Toronto Flight\n", - "Dubai to Dammam Flight\n", - "Dubai to Colombo Flight\n", - "Bahrain to Dubai Flight\n", - "Jeddah to Dubai Flight\n", - "Abu Dhabi to Amman Flight\n", - "Casablanca to Dubai Flight\n", - "Sharjah to Islamabad Flight\n", - "Dubai to Rome Flight\n", - "Dubai to Moscow Flight\n", - "Dubai to Istanbul Flight\n", - "Dubai to Prague Flight\n", - "Islamabad to Sharjah Flight\n", - "Dubai to Hong Kong Flight\n", - "Dubai to Phuket Flight\n", - "Sharjah to Kathmandu Flight\n", - "Islamabad to Sharjah Flight\n", - "Dubai to Zanzibar Flight\n", - "Top International Hotels\n", - "Hotels In London\n", - "Hotels In Istanbul\n", - "Hotels In Rome\n", - "Hotels In Los Angeles\n", - "Hotels In Zanzibar\n", - "Hotels In Islamabad\n", - "Hotels in Dubai\n", - "Hotels In Fujairah\n", - "Hotels In Salalah\n", - "Hotels In Amman\n", - "Hotels In Al Ain\n", - "Hotels In Ras Al Khaimah\n", - "Hotels In Medina\n", - "Hotels In Riyadh\n", - "Hotels In Jeddah\n", - "Hotels in Muscat\n", - "Hotels In Maldives\n", - "Hotels In Tbilisi\n", - "Hotels In Abu Dhabi\n", - "Hotels In Sharjah\n", - "Hotels In Ajman\n", - "Hotels In Santorini\n", - "Hotels In Mykonos\n", - "Hotels In Moscow\n", - "Hotels In Cairo\n", - "Hotels In Yerevan\n", - "Baku Hotels\n", - "Hotels In Singapore\n", - "Hotels In Bangkok\n", - "Hotels In Phuket\n", - "Hotels In Bali\n", - "Hotels In Paris\n", - "Hotels In UAE\n", - "Hotels In Oman\n", - "Hotels In Kuwait\n", - "Hotels In Bahrain\n", - "Hotels In Armenia\n", - "Hotels In Qatar\n", - "Hotels In Hong Kong\n", - "Hotels In Saudi Arabia\n", - "Hotels In Azerbaijan\n", - "Hotels In Georgia\n", - "Hotels In Thailand\n", - "Hotels In Turkey\n", - "Hotels In Egypt\n", - "Hotels In Makkah\n", - "Hotels In United Kingdom\n", - "Budget Hotels In Dubai\n", - "\n", - "\n", - "\n", - "Title: Delhi to Kathmandu Flight, Fare @ ₹4742 + Flat Rs 1500 OFF\n", - "Webpage Title:\n", - "Delhi to Kathmandu Flight, Fare @ ₹5130 + Flat Rs 1500 OFF\n", - "Webpage Contents:\n", - "Flights\n", - "Hotels\n", - "Trains\n", - "Cabs\n", - "Bus\n", - "Holidays\n", - "Forex\n", - "My Trips\n", - "Manage Booking\n", - "Access your bookings, easy cancellation, date change and much more\n", - "TRIP TYPE\n", - "One Way\n", - "FROM\n", - "TO\n", - "DEPART\n", - "RETURN\n", - "PASSENGERS & CLASS\n", - "SEARCH\n", - "Fare Type:\n", - "Regular\n", - "Student\n", - "Student Fare\n", - "Only students above 12 years of age are eligible for special fares and/or additional baggage allowances. Carrying valid student ID cards and student visas (where applicable) is mandatory, else the passenger may be denied boarding or asked to pay for extra baggage.\n", - "Popular Filters\n", - "Non Stop\n", - "(11)\n", - "₹ 4,742\n", - "Early Morning Departures\n", - "(11)\n", - "₹ 5,352\n", - "Late Departures\n", - "(17)\n", - "₹ 5,352\n", - "1 Stop\n", - "(43)\n", - "₹ 5,577\n", - "AfterNoon Departures\n", - "(14)\n", - "₹ 4,917\n", - "+ 1 more\n", - "Departure Airports\n", - "Indira Gandhi International Airport\n", - "₹ 4,742\n", - "Hindon Airport (32Km)\n", - "₹ 12,072\n", - "One Way Price\n", - "₹ 4,742\n", - "₹ 2,06,000\n", - "Duration\n", - "1 h 20 m\n", - "29 h 0 m\n", - "Stops From New Delhi\n", - "Non Stop\n", - "(11)\n", - "₹ 4,742\n", - "1 Stop\n", - "(43)\n", - "₹ 5,577\n", - "1+ Stop\n", - "(7)\n", - "₹ 12,948\n", - "Departure From New Delhi\n", - "Before 6 am\n", - "₹ 5,352\n", - "6 am - 12 pm\n", - "₹ 4,742\n", - "12 pm - 6 pm\n", - "₹ 4,917\n", - "After 6 pm\n", - "₹ 5,352\n", - "Arrival at Kathmandu\n", - "6 am - 12 pm\n", - "₹ 5,130\n", - "12 pm - 6 pm\n", - "₹ 4,742\n", - "After 6 pm\n", - "₹ 4,917\n", - "Alliances & Airlines\n", - "Oneworld\n", - "(4)\n", - "SkyTeam\n", - "()\n", - "Star Alliance\n", - "(25)\n", - "Air Arabia\n", - "(3)\n", - "₹ 33,139\n", - "Air India\n", - "(18)\n", - "₹ 5,352\n", - "Air India Express\n", - "(3)\n", - "₹ 12,072\n", - "Bhutan Air\n", - "(1)\n", - "₹ 4,742\n", - "Cathay Pacific\n", - "(2)\n", - "₹ 1,99,972\n", - "Flydubai\n", - "(2)\n", - "₹ 37,907\n", - "IndiGo\n", - "(21)\n", - "₹ 5,210\n", - "Malaysia Airlines\n", - "(1)\n", - "₹ 97,923\n", - "Nepal Airlines\n", - "(1)\n", - "₹ 4,917\n", - "Singapore Airlines\n", - "(1)\n", - "₹ 1,63,272\n", - "SpiceJet\n", - "(1)\n", - "₹ 5,130\n", - "Srilankan Airlines\n", - "(1)\n", - "₹ 14,006\n", - "Thai Airways\n", - "(4)\n", - "₹ 22,787\n", - "Turkish Airlines\n", - "(2)\n", - "₹ 90,432\n", - "+ 8 more\n", - "Layover Airports\n", - "Bangkok\n", - "(4)\n", - "₹ 22,787\n", - "Bengaluru\n", - "(16)\n", - "₹ 10,308\n", - "Colombo\n", - "(1)\n", - "₹ 14,006\n", - "Dubai\n", - "(2)\n", - "₹ 37,907\n", - "Hong Kong\n", - "(2)\n", - "₹ 1,99,972\n", - "Hyderabad\n", - "(6)\n", - "₹ 19,039\n", - "Istanbul\n", - "(2)\n", - "₹ 90,432\n", - "Kuala Lumpur\n", - "(1)\n", - "₹ 97,923\n", - "Mumbai\n", - "(18)\n", - "₹ 5,577\n", - "Sharjah\n", - "(3)\n", - "₹ 33,139\n", - "Singapore\n", - "(1)\n", - "₹ 1,63,272\n", - "+ 6 more\n", - "Layover Duration\n", - "1 h 0 m\n", - "24 h 0 m\n", - ">\n", - "Summer special one-way fares to Kathmandu.\n", - "31st July’25\n", - "View Details\n", - "Further Flights From Delhi (DEL)\n", - "Delhi To Shannon Flights\n", - "Lowest Fare ₹30,006\n", - "Delhi To Taipei Flights\n", - "Lowest Fare ₹14,829\n", - "Delhi To Nairobi Flights\n", - "Lowest Fare ₹16,817\n", - "Delhi To Cairo Flights\n", - "Lowest Fare ₹19,814\n", - "Delhi To Orlando Flights\n", - "Lowest Fare ₹51,638\n", - "Delhi To Dusseldorf Flights\n", - "Lowest Fare ₹25,661\n", - "Delhi To Reno Flights\n", - "Lowest Fare ₹52,441\n", - "Delhi To Cancun Flights\n", - "Lowest Fare ₹46,675\n", - "Delhi To Honolulu Flights\n", - "Lowest Fare ₹51,282\n", - "Delhi To Adelaide Flights\n", - "Lowest Fare ₹29,754\n", - "Delhi To Cebu Flights\n", - "Lowest Fare ₹14,302\n", - "Delhi To Frankfurt Flights\n", - "Lowest Fare ₹21,904\n", - "Delhi To Hurghada Flights\n", - "Lowest Fare ₹25,117\n", - "Delhi To Aberdeen Flights\n", - "Lowest Fare ₹81,142\n", - "Delhi To Christchurch Flights\n", - "Lowest Fare ₹43,579\n", - "Delhi To Antigua Flights\n", - "Lowest Fare ₹51,093\n", - "Delhi To Nice Flights\n", - "Lowest Fare ₹23,640\n", - "Delhi To Tokyo Flights\n", - "Lowest Fare ₹20,147\n", - "Delhi To Fuerteventura Flights\n", - "Lowest Fare ₹43,355\n", - "Delhi To Kelowna Flights\n", - "Lowest Fare ₹51,487\n", - "Delhi To Helsinki Flights\n", - "Lowest Fare ₹27,829\n", - "Delhi To Almeria Flights\n", - "Lowest Fare ₹44,241\n", - "Delhi To Atlanta Flights\n", - "Lowest Fare ₹39,472\n", - "Delhi To Columbia Flights\n", - "Lowest Fare ₹49,057\n", - "Delhi To Munich Flights\n", - "Lowest Fare ₹19,634\n", - "Delhi To Charlotte Flights\n", - "Lowest Fare ₹42,961\n", - "Delhi To Tampa Flights\n", - "Lowest Fare ₹44,000\n", - "Delhi To Cork Flights\n", - "Lowest Fare ₹35,931\n", - "Delhi To Doha Flights\n", - "Lowest Fare ₹11,016\n", - "Delhi To Shanghai Flights\n", - "Lowest Fare ₹16,495\n", - "Delhi To Southend Flights\n", - "Lowest Fare ₹22,190\n", - "Delhi To Perth Flights\n", - "Lowest Fare ₹15,047\n", - "Delhi To Johannesburg Flights\n", - "Lowest Fare ₹27,382\n", - "Delhi To Copenhagen Flights\n", - "Lowest Fare ₹20,281\n", - "Delhi To Palu Flights\n", - "Lowest Fare ₹39,370\n", - "Delhi To Vancouver Flights\n", - "Lowest Fare ₹39,309\n", - "Delhi To Seattle Flights\n", - "Lowest Fare ₹29,698\n", - "Delhi To Miami Flights\n", - "Lowest Fare ₹40,018\n", - "Delhi To Belfast Flights\n", - "Lowest Fare ₹28,768\n", - "Delhi To Innsbruck Flights\n", - "Lowest Fare ₹33,378\n", - "Delhi To Bristol Flights\n", - "Lowest Fare ₹26,695\n", - "Delhi To Prague Flights\n", - "Lowest Fare ₹23,766\n", - "Delhi To Indianapolis Flights\n", - "Lowest Fare ₹44,111\n", - "Delhi To Agadir Flights\n", - "Lowest Fare ₹33,455\n", - "Delhi To Cairns Flights\n", - "Lowest Fare ₹31,204\n", - "Delhi To Pisa Flights\n", - "Lowest Fare ₹31,677\n", - "Delhi To Milan Flights\n", - "Lowest Fare ₹19,893\n", - "Delhi To Halifax Flights\n", - "Lowest Fare ₹48,745\n", - "Delhi To Vienna Flights\n", - "Lowest Fare ₹20,191\n", - "Further Flights From Kathmandu (KTM)\n", - "Kathmandu To Surat Flights\n", - "Lowest Fare ₹12,651\n", - "Kathmandu To Patna Flights\n", - "Lowest Fare ₹12,444\n", - "Kathmandu To Chennai Flights\n", - "Lowest Fare ₹10,566\n", - "Kathmandu To Hyderabad Flights\n", - "Lowest Fare ₹8,020\n", - "Kathmandu To Goa Flights\n", - "Lowest Fare ₹7,042\n", - "Kathmandu To Bangalore Flights\n", - "Lowest Fare ₹7,918\n", - "Kathmandu To Mumbai Flights\n", - "Lowest Fare ₹9,825\n", - "Kathmandu To Kolkata Flights\n", - "Lowest Fare ₹12,050\n", - "Kathmandu To Allahabad Flights\n", - "Lowest Fare ₹10,491\n", - "Kathmandu To Bilaspur Flights\n", - "Lowest Fare ₹15,701\n", - "Kathmandu To Guwahati Flights\n", - "Lowest Fare ₹13,045\n", - "Kathmandu To Raipur Flights\n", - "Lowest Fare ₹11,754\n", - "Kathmandu To Indore Flights\n", - "Lowest Fare ₹11,102\n", - "Kathmandu To Imphal Flights\n", - "Lowest Fare ₹14,653\n", - "Kathmandu To Nasik Flights\n", - "Lowest Fare ₹13,091\n", - "Kathmandu To Chandigarh Flights\n", - "Lowest Fare ₹10,028\n", - "Kathmandu To Kannur Flights\n", - "Lowest Fare ₹14,893\n", - "Kathmandu To Udaipur Flights\n", - "Lowest Fare ₹10,958\n", - "Kathmandu To Pune Flights\n", - "Lowest Fare ₹7,042\n", - "Kathmandu To Pantnagar Flights\n", - "Lowest Fare ₹12,675\n", - "Kathmandu To Bagdogra Flights\n", - "Lowest Fare ₹12,413\n", - "Kathmandu To Madurai Flights\n", - "Lowest Fare ₹13,014\n", - "Kathmandu To Kanpur Flights\n", - "Lowest Fare ₹13,601\n", - "Kathmandu To Visakhapatnam Flights\n", - "Lowest Fare ₹12,213\n", - "Kathmandu To Port Blair Flights\n", - "Lowest Fare ₹12,880\n", - "Top International Routes\n", - "Mumbai to Hanoi Flight\n", - "Ahmedabad to New York Flight\n", - "Gorakhpur to Kathmandu Flight\n", - "Pune to Male Flight\n", - "Visakhapatnam to Dubai Flight\n", - "Hyderabad to Denpasar Bali Flight\n", - "Chennai to Australia Flight\n", - "Delhi to Melbourne Flight\n", - "Mumbai to Muscat Flight\n", - "Hyderabad to Doha Flight\n", - "Delhi to Sydney Flight\n", - "Bangalore to Guwahati Flight\n", - "Pune to Kathmandu Flight\n", - "Muscat to Lucknow Flight\n", - "Chennai to London Flight\n", - "Delhi to Doha Flight\n", - "Thiruvananthapuram to Dubai Flight\n", - "Ernakulam to Dubai Flight\n", - "Kuala Lumpur to Tiruchirappalli Flight\n", - "Moscow to Delhi Flight\n", - "Delhi to Kuwait City Flight\n", - "Top International Cities\n", - "Hyderabad to Kuala Lumpur Flight\n", - "Chennai to New York Flight\n", - "Kolkata to Kathmandu Flight\n", - "Kozhikode to Dubai Flight\n", - "Muscat to Ernakulam Flight\n", - "Dubai to Bangalore Flight\n", - "Dubai to Amritsar Flight\n", - "Tiruchirappalli to Colombo Flight\n", - "Delhi to Bishkek Flight\n", - "Delhi to Abu Dhabi Flight\n", - "Singapore to Chennai Flight\n", - "Pune to Bangkok Flight\n", - "Bangalore to Frankfurt Flight\n", - "Kolkata to Kuala Lumpur Flight\n", - "Patna to Kathmandu Flight\n", - "Riyadh to Lucknow Flight\n", - "Mumbai to Istanbul Flight\n", - "Lusaka to Mumbai Flight\n", - "Mumbai to Phuket Flight\n", - "Popular Hotels in Delhi\n", - "The Lodhi:A member of The Leading Hotels Of The World\n", - "The Oberoi New Delhi\n", - "The Leela Palace New Delhi\n", - "Taj Mahal, New Delhi\n", - "JW Marriott Hotel New Delhi Aerocity\n", - "Hotels in Delhi\n", - "Hotels in Delhi\n", - "3 Star Hotels in Delhi\n", - "4 Star Hotels in Delhi\n", - "5 Star Hotels in Delhi\n", - "Budget Hotels in Delhi\n", - "Premium Hotels Nearby Delhi\n", - "Trident Gurgaon\n", - "Park Plaza Gurugram\n", - "Crowne Plaza Today Gurugram,an IHG Hotel\n", - "Lemon Tree Hotel East Delhi Mall Kaushambi\n", - "Treehouse Hotel, Club & SPA, Bhiwadi\n", - "Popular Hotels in Kathmandu\n", - "Hotel Shanker-Palatial Heritage Kathmandu\n", - "Hotel Woodland Kathmandu\n", - "Hotel Vaishali Kathmandu\n", - "Airport Hotel\n", - "DOM Himalaya Hotel\n", - "Hotels in Kathmandu\n", - "Hotels in Kathmandu\n", - "3 Star Hotels in Kathmandu\n", - "4 Star Hotels in Kathmandu\n", - "5 Star Hotels in Kathmandu\n", - "Budget Hotels in Kathmandu\n", - "Premium Hotels Nearby Kathmandu\n", - "Pokhara Grande Hotel\n", - "Waterfront Resort\n", - "Pokhara Village Resort\n", - "Hotel Splendid View\n", - "Dahlia Boutique Hotel Pokhara\n", - "Trains from Delhi\n", - "Delhi to Maruadih Rly. Settlement Trains\n", - "Delhi to Lucknow Trains\n", - "Delhi to Patna Trains\n", - "Delhi to Prayagraj Trains\n", - "Delhi to Kanpur Trains\n", - "Trains to Delhi\n", - "Chennai to Delhi Trains\n", - "Maruadih Rly. Settlement to Delhi Trains\n", - "Kanpur to Delhi Trains\n", - "Chandigarh to Delhi Trains\n", - "Ahmedabad to Delhi Trains\n", - "Cabs from Delhi\n", - "Delhi To Pilani Cabs\n", - "Delhi To Kharkhoda Cabs\n", - "Delhi To Prayagraj Cabs\n", - "Delhi To Mount-abu Cabs\n", - "Delhi To Jaisalmer Cabs\n", - "Cabs to Kathmandu\n", - "Gorakhpur To Kathmandu Cabs\n", - "Buses from Delhi\n", - "Delhi to Lucknow Bus\n", - "Delhi to Dehradun Bus\n", - "Delhi to Manali Bus\n", - "Delhi to Jaipur Bus\n", - "Delhi to Chandigarh Bus\n", - "Buses to Kathmandu\n", - "Siliguri to Kathmandu Bus\n", - "Delhi to Kathmandu Bus\n", - "Patna to Kathmandu Bus\n", - "Motihari to Kathmandu Bus\n", - "Muzaffarpur to Kathmandu Bus\n", - "Delhi to Kathmandu Flight, Fare @ ₹5130 + Flat Rs 1500 OFF\n", - "Use promo code GOINTL and Instant Discount of Rs 10,000 on your Delhi to Kathmandu round trip flight booking. Lowest Airfare from Delhi to Kathmandu is ₹5130 on 16 Jul. For fastest booking and best discounts on flight tickets visit Goibibo. Also check cheapest return\n", - "Kathmandu to Delhi flight tickets\n", - "online here.\n", - "Sorted By:\n", - "Popularity\n", - "Departure\n", - "Duration\n", - "Arrival\n", - "Price\n", - "Bhutan Air\n", - "10:55\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "12:40\n", - "Kathmandu\n", - "₹ 4,742\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1186 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Bhutan Air\n", - "B3 774\n", - "10:55\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "12:40\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 4,742\n", - "Base Fare\n", - "₹ 400\n", - "Surcharges\n", - "₹ 4,342\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Fare Option 1\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "15 Kgs\n", - "Non-refundable fare\n", - "Not allowed\n", - "₹ 4,742\n", - "Book Now\n", - "Nepal Airlines\n", - "16:20\n", - "New Delhi\n", - "01\n", - "h\n", - "35\n", - "m\n", - "Non stop\n", - "18:10\n", - "Kathmandu\n", - "₹ 4,917\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Nepal Airlines\n", - "RA 218\n", - "16:20\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "35\n", - "m\n", - "18:10\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 4,917\n", - "Base Fare\n", - "₹ 310\n", - "Surcharges\n", - "₹ 4,607\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Fare Option 1\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "₹ 4,917\n", - "Book Now\n", - "SpiceJet\n", - "08:10\n", - "New Delhi\n", - "01\n", - "h\n", - "30\n", - "m\n", - "Non stop\n", - "09:55\n", - "Kathmandu\n", - "₹ 5,130\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "SpiceJet\n", - "SG 41\n", - "08:10\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "30\n", - "m\n", - "09:55\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,130\n", - "Base Fare\n", - "₹ 2,925\n", - "Surcharges\n", - "₹ 2,205\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Spicesaver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 5,130\n", - "Book Now\n", - "GO\n", - "SPECIAL\n", - "Fare by Goibibo\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 4,740\n", - "Book Now\n", - "Spiceflex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Chargeable\n", - "----\n", - "₹ 5,656\n", - "Book Now\n", - "Spicemax\n", - "Extra legroom, priority services.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,500\n", - "Date Change fee starting ₹ 3,750\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,940\n", - "Book Now\n", - "IndiGo\n", - "07:50\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "09:50\n", - "Kathmandu\n", - "11:05\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "13:40\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "15:40\n", - "Kathmandu\n", - "More Timing Options\n", - "₹ 5,210\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 900 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E 1151\n", - "07:50\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "09:50\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,210\n", - "Base Fare\n", - "₹ 3,027\n", - "Surcharges\n", - "₹ 2,183\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Saver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,300\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,210\n", - "Book Now\n", - "GO\n", - "SPECIAL\n", - "Fare by Goibibo\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,300\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 4,820\n", - "Book Now\n", - "Flexi plus\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,209\n", - "Date Change fee starting ₹ 1,999\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,315\n", - "Book Now\n", - "SUPER 6E\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "25 Kgs\n", - "Cancellation Fee Starting ₹ 2,999\n", - "Date Change fee starting ₹ 649\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,995\n", - "Book Now\n", - "Air India\n", - "05:00\n", - "New Delhi\n", - "01\n", - "h\n", - "20\n", - "m\n", - "Non stop\n", - "06:35\n", - "Kathmandu\n", - "₹ 5,352\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI 215\n", - "05:00\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "20\n", - "m\n", - "06:35\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Premium classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 2,500\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,977\n", - "Book Now\n", - "Premium flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,097\n", - "Book Now\n", - "Air India\n", - "07:00\n", - "New Delhi\n", - "01\n", - "h\n", - "50\n", - "m\n", - "Non stop\n", - "09:05\n", - "Kathmandu\n", - "11:00\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "13:00\n", - "Kathmandu\n", - "₹ 5,352\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI 213\n", - "07:00\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "50\n", - "m\n", - "09:05\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,452\n", - "Book Now\n", - "Air India\n", - "14:30\n", - "New Delhi\n", - "01\n", - "h\n", - "45\n", - "m\n", - "Non stop\n", - "16:30\n", - "Kathmandu\n", - "₹ 5,352\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI 2219\n", - "14:30\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "45\n", - "m\n", - "16:30\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Premium classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 2,500\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,977\n", - "Book Now\n", - "Premium flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 8,097\n", - "Book Now\n", - "Air India\n", - "18:10\n", - "New Delhi\n", - "01\n", - "h\n", - "40\n", - "m\n", - "Non stop\n", - "20:05\n", - "Kathmandu\n", - "₹ 5,352\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Non Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI 211\n", - "18:10\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "01\n", - "h\n", - "40\n", - "m\n", - "20:05\n", - "Wed, 16 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,352\n", - "Base Fare\n", - "₹ 3,050\n", - "Surcharges\n", - "₹ 2,302\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Non-refundable fare\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,352\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 3,500\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 5,877\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,452\n", - "Book Now\n", - "IndiGo\n", - "07:00\n", - "New Delhi\n", - "06\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "06:00\n", - "New Delhi\n", - "07\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "05:00\n", - "New Delhi\n", - "08\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "04:00\n", - "New Delhi\n", - "09\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "01:55\n", - "New Delhi\n", - "11\n", - "h\n", - "55\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "23:30\n", - "New Delhi\n", - "14\n", - "h\n", - "20\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "22:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "21:00\n", - "New Delhi\n", - "16\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "17\n", - "h\n", - "50\n", - "m\n", - "1Mumbai\n", - "14:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "₹ 5,577\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 900 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "IndiGo\n", - "6E 6814\n", - "07:00\n", - "Wed, 16 Jul 25\n", - "Terminal T1\n", - "New Delhi, India\n", - "02\n", - "h\n", - "15\n", - "m\n", - "09:15\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "IndiGo\n", - "6E 1157\n", - "11:05\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Mumbai, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "14:05\n", - "Wed, 16 Jul 25\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 5,577\n", - "Base Fare\n", - "₹ 3,327\n", - "Surcharges\n", - "₹ 2,250\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Saver\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,999\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,577\n", - "Book Now\n", - "GO\n", - "SPECIAL\n", - "Fare by Goibibo\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 4,999\n", - "Date Change fee starting ₹ 2,999\n", - "Chargeable\n", - "Chargeable\n", - "₹ 5,187\n", - "Book Now\n", - "Flexi plus\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 5,999\n", - "Date Change fee starting ₹ 1,999\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 6,627\n", - "Book Now\n", - "SUPER 6E\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "25 Kgs\n", - "Cancellation Fee Starting ₹ 2,999\n", - "Date Change fee starting ₹ 649\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 7,362\n", - "Book Now\n", - "Air India\n", - "20:30\n", - "New Delhi\n", - "11\n", - "h\n", - "20\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "20:00\n", - "New Delhi\n", - "11\n", - "h\n", - "50\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "16:00\n", - "New Delhi\n", - "15\n", - "h\n", - "50\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "15:30\n", - "New Delhi\n", - "16\n", - "h\n", - "20\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "14:10\n", - "New Delhi\n", - "17\n", - "h\n", - "40\n", - "m\n", - "1Bengaluru\n", - "08:05\n", - "Kathmandu\n", - "+ 1 DAY\n", - "More Timing Options\n", - "₹ 10,308\n", - "VIEW FARES\n", - "Use code GODEALS and get Rs 1200 discount OR Get up to 15% OFF on ICICI Bank credit cards using GOICICI\n", - "Partially Refundable\n", - "View Flight Details\n", - "FLIGHT DETAILS\n", - "FARE SUMMARY\n", - "CANCELLATION\n", - "DATE CHANGE\n", - "New Delhi to Kathmandu , 16 Jul\n", - "Air India\n", - "AI 2807\n", - "20:30\n", - "Wed, 16 Jul 25\n", - "Terminal T3\n", - "New Delhi, India\n", - "02\n", - "h\n", - "55\n", - "m\n", - "23:25\n", - "Wed, 16 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Air India\n", - "AI 9187 | Operated By Air India Express\n", - "05:05\n", - "Thu, 17 Jul 25\n", - "Terminal T2\n", - "Bengaluru, India\n", - "02\n", - "h\n", - "45\n", - "m\n", - "08:05\n", - "Thu, 17 Jul 25\n", - "Terminal I\n", - "Kathmandu, Nepal\n", - "BAGGAGE :\n", - "CHECK IN\n", - "CABIN\n", - "Information not available\n", - "Fare breakup\n", - "TOTAL\n", - "₹ 10,308\n", - "Base Fare\n", - "₹ 7,600\n", - "Surcharges\n", - "₹ 2,708\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "Sorry! Fare rules could not be fetched at the moment.\n", - "FARES\n", - "Cabin bag\n", - "Check-in\n", - "Cancellation\n", - "Date Change\n", - "Seat\n", - "Meal\n", - "Eco value\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee starting\n", - "₹ 4,000\n", - "Date Change Fee starting\n", - "₹ 3,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 10,308\n", - "Book Now\n", - "Eco classic\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "20 Kgs\n", - "Cancellation Fee Starting ₹ 2,000\n", - "Date Change Fee starting\n", - "₹ 1,000\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 10,833\n", - "Book Now\n", - "Eco flex\n", - "Fare offered by airline.\n", - "7 Kgs\n", - "30 Kgs\n", - "Cancellation Fee starting\n", - "₹ 1,000\n", - "Free date change allowed\n", - "Free seats available\n", - "Get complimentary meals\n", - "₹ 12,408\n", - "Book Now\n", - "Load More Flights\n", - "Delhi Kathmandu Cheap Flights\n", - "Fare\n", - "Date\n", - "Lowest Airfare Today\n", - "Rs\n", - "4917\n", - "12 Jul\n", - "Cheapest Fare Within 30 Days\n", - "Rs\n", - "4742\n", - "16 Jul\n", - "Cheapest Fare Within 90 Days\n", - "Rs\n", - "4742\n", - "16 Jul\n", - "Cheapest Fare Within 365 Days\n", - "Rs\n", - "4742\n", - "16 Jul\n", - "Delhi to Kathmandu Flights\n", - "Searching for Delhi to Kathmandu cheap flights? Then, Goibibo is your one-stop destination to book Delhi to Kathmandu flight in a hassle-free manner. It is one such platform that brings forth all the options for you at one place and lets you book the most suitable flight with the best deals and offers.\n", - "There is no dearth of options when it comes to Delhi to Kathmandu Flight booking. Several budget and premium airlines fly on this route. You can easily check the\n", - "Delhi to Kathmandu flight schedule\n", - "on Goibibo. There are approximately 61 flights flying daily between Delhi and Kathmandu from early morning to late at night. Out of these Delhi to Kathmandu flight, 11 are non stop flights 50 are connecting flights. Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines are some major airlines that fly between Delhi and Kathmandu.\n", - "The lowest airfare of Delhi to Kathmandu flight is ₹5130 and the average airfare is 11062 depending on the airline, timings and availability. So, it is advisable to book domestic flights 2-3 weeks well in advance to avail minimum airfare. You can also book Delhi to Kathmandu cheap flights if you are flexible with your dates and timings.\n", - "You will board your Delhi to Kathmandu flight from the Indira Gandhi International Airport and deboard it at Tribhuvan International Airport.\n", - "You cannot only book Delhi to Kathmandu cheap flight tickets through Goibibo but can also do web check-in and track your\n", - "flight status\n", - ".\n", - "How to book a Delhi to Kathmandu flight ticket on Goibibo?\n", - "Booking flight tickets on Goibibo is very simple. For a Delhi to Kathmandu flight, check below:\n", - "Enter your personal Goibibo account by hitting the ā€˜Sign In’ option on the top right of the desktop site. You can also create a new account by clicking on the ā€˜Sign Up’ option, followed by entering your mobile number or signing in with your personal Facebook account.\n", - "On the Goibibo homepage, you will see three options for booking flight tickets from Delhi to Kathmandu. Choose one among one-way, round trip or multicity flights.\n", - "Fill in the city where you will board your flight from and the destination city. Choose a date of departure and enter the return date if you are booking a round trip flight. Select your preferred class of travel and add the number of passengers with whom you are travelling.\n", - "Hit the ā€˜Search’ button.\n", - "Within a second or two, you will be then redirected to another page with all the flights from Delhi to Kathmandu – the topmost one will have the cheapest airfare.\n", - "On the left, you will find filters such as your desired time to board a flight, direct or connecting flights and the airline.\n", - "Apply as per your preference and click on the ā€˜Book’ option.\n", - "You can opt for an airport transfer and even choose a Travel Protection plan.\n", - "Before making the final payment, provide your personal details including your email address and mobile number. You can also use an available Promo Code FLYDREAM to get Rs 1500 as instant discount for your Delhi to Kathmandu flight ticket.\n", - "Click on the ā€˜Proceed’ button.\n", - "After the payment, you will receive the e-ticket and the invoice for your Delhi to Kathmandu flight on your email address.\n", - "How can I check the flight schedule for a Delhi to Kathmandu flight?\n", - "To check the Delhi to Kathmandu flight schedule,\n", - "Visit\n", - "https://www.goibibo.com/flight-schedule/\n", - "Choose from the one-way, round trip and multicity flight options.\n", - "Type in the cities of origin and arrival, and choose the date of departure for a one-way flight, the return date, in case, you have selected a round-trip or, the different dates of departures for a multicity booking.\n", - "After clicking on the ā€˜Get Set Go’ option, you will get the real-time flight schedule.\n", - "How much baggage can I carry on my Delhi to Kathmandu flight?\n", - "Baggage allowance depends on the class of travel and airline. In the Delhi to Kathmandu Air India flight, 25 kg of checked baggage is allowed, while 8 kg of hand luggage is permitted. On the other hand, in all domestic IndiGo flights, a passenger can carry 7 kg of hand luggage and 15 kg of checked baggage.\n", - "Where will I board my flight at Delhi and deboard at Kathmandu?\n", - "When you have booked a Delhi to Kathmandu flight, you will board the flight at Indira Gandhi International Airport and de-board at Tribhuvan International Airport.\n", - "How can I do web check-in for my upcoming Delhi at Kathmandu flight?\n", - "To avail the web check-in service and avoid queues at airports, you have to visit the official airline websites. Commonly, you have to fill the cities of departure and arrival, PNR number and last name to select your preferred seats and meals.\n", - "Get cheap flights from Delhi to Kathmandu with Goibibo India\n", - "Q: Why choose Goibibo for your flight booking from Delhi to Kathmandu?\n", - "A: Goibibo lets you search and compare flight tickets to various destinations with just a click. There is a huge inventory of airlines for you to choose from, and exciting deals and discounts so that you can book your flight tickets at reasonable prices. You can always reach out to Goibibo customer care for any help.\n", - "Q: How to get a cheap flight ticket from Delhi to Kathmandu?\n", - "A: At Goibibio, it’s very simple to find cheap flights. • After entering the source and destination on the home page, you will get a list of flights. Click on the ā€˜Cheapest’ filter below to see the cheapest flights first. • You can also grab a cheap flight booking by setting up an alert for Delhi to Kathmandu flights. Goibibo will let you know whenever there is a price drop for your flight. What’s the best time to book a flight from Delhi to Kathmandu? • For a cheap domestic flight, try booking 3-4 weeks in advance. • For an international flight, you must book at least 7-8 weeks ahead for a better price. • You can also check the calendar view while booking to compare the prices for various dates. • Set up a price alert to get notified about the best prices for your flight from Delhi to Kathmandu.\n", - "Q: What should you keep in mind while booking a flight from Delhi to Kathmandu?\n", - "A: At Goibibo, you can compare flights from all major airlines at one go. Always keep an eye out for the best offers on your Delhi to Kathmandu flight. Plus, there are no hidden charges when you book a Delhi to Kathmandu flight on Goibibo.\n", - "Q: Is there any discount on a flight booking from Delhi to Kathmandu?\n", - "A: Goibibo always has discount offers running on flights. You can find many coupons on the website and app for your Delhi to Kathmandu booking. While booking, you can choose the best coupon from the list for an instant discount on your tickets.\n", - "About Kathmandu\n", - "Nestled beautifully in the lap of Himalayas, Kathmandu, the capital city of Nepal is rich in history and culture. This beautiful and scenic city is dotted with Hindu shrines, Buddhist temples, ancient monuments, stupas, monasteries, museums, art galleries and vibrant cafes. Home to some UNESCO World Heritage Sites, Kathmandu is a famous tourist destination. Whether you are on honeymoon, family trip or adventure trip, Kathmandu has something for every traveller.\n", - "Best Time to Visit\n", - "The months from September to November are considered best to visit Kathmandu. The weather remains pleasant and ideal for sightseeing and outdoor activities. You can also witness festivals like Dashain and Tihar during this time which are celebrated with great spirit.\n", - "Places to Visit\n", - "Being a major tourist destination in Nepal, Kathmandu boasts of many tourist spots.\n", - "Pashupatinath Temple\n", - ",\n", - "Boudhanath Stupa\n", - ", Swayambhunath Temple, Kopan Monastery and the Changu Narayan are some of the prominent religious sites. Natural Art History Museum, Taragaon Museum, National Art Gallery, Nepali Art Council Gallery and Kaiser Library are good to visit if you are art and history lover. For adventure enthusiasts, there are many hiking and trekking trails around Kathmandu Valley.\n", - "Durbar Square\n", - ",\n", - "Garden of Dreams\n", - ", Hanuman Dhoka and Langtang National Park are other notable attractions. Kathmandu is a shopper’s paradise that offers a wide range of merchandise. Cashmere shawls, thangkas, singing bowls, beads, jewellery, Nepali tea and handicrafts, rice paper products and trekking gear are perfect takeaways from Kathmandu.\n", - "Thamel\n", - ", New Road, Durbar Marg, Indra Chowk and Asan Bazaar are some of the popular shopping hotspots. From Goibibo you can book any\n", - "hotel in Kathmandu\n", - ".\n", - "Hotels and Restaurants\n", - "As this city is rich in culture, Kathmandu offers a wide variety of dining options ranging from fine-dine restaurants to local eateries. Momo is a popular food in Kathmandu that is easily available in almost all local food joints.\n", - "Juju Dhau, Sel Roti\n", - "and\n", - "Khajuri\n", - "are some other local food items that you must try. Ghar-e-Kabab, Thamel House Restaurant, New Everest Momo Center, Corner Cafe, Momo Star and Rama’s Kitchen are some recommended places.\n", - "Kathmandu offers all kind of accommodation options for stay. Right from\n", - "Budget Hotels in Kathmandu\n", - "to\n", - "5 star Hotels in Kathmandu\n", - ", from\n", - "Resorts in Kathmandu\n", - "to\n", - "service apartments in Kathmandu\n", - ", one can find multiple options as per their need and pocket. Goibibo being the leading travel website has largest collection of hotels on its platform. Popular locations in Kathmandu for stay are\n", - "near Kathmandu Airport\n", - ",\n", - "Pashupatinath Temple\n", - ",\n", - "Thamel\n", - ",\n", - "Darbar Marg\n", - "and\n", - "Boudhnath\n", - ". It is very easy and convenient to compare and\n", - "book hotels online\n", - "on Goibibo.\n", - "Transportation\n", - "Being the capital city, Kathmandu is well connected to other parts of the world by air. Kathmandu can be reached by air, road and rail from India.\n", - "Kathmandu’s Tribhuvan International Airport\n", - "(KTM), which is around 6 km from the city centre is the only international airport in the country & serves many\n", - "international flights\n", - ". Popular airlines like Air India, Indigo,\n", - "Nepal Airlines\n", - ", Etihad Airways,\n", - "Qatar Airways\n", - ",\n", - "Turkish Airlines\n", - ",\n", - "Malaysian Airlines\n", - "and a few others connect Kathmandu to major cities of countries like India, Thailand, UAE, Turkey, Malaysia and Singapore.\n", - "Cheap flight tickets\n", - "from here to other popular cities can be booked online on Goibibo. Also, flight status & other details related to flight booking & air tickets can be easily accessed on it. So for cheapest air tickets, it is recommended to book flights online. If you want to travel to Kathmandu from India by train, then\n", - "Gorakhpur\n", - "in UP is the nearest railway station. You can commute to Kathmandu via road from Gorakhpur. Travelling to Kathmandu from India via road is an easy and cost-friendly option. There are several buses to and from Kathmandu that traverse cities like Varanasi, Darjeeling, Lucknow, Patna and Gorakhpur. Cabs, auto-rickshaws and minibuses are best options to travel within the city.\n", - "Airport Address\n", - "Tribhuvan International Airport\n", - "Tel: +97714477161\n", - "About Delhi\n", - "The country’s capital, New Delhi is the largest commercial city of northern India. A vast historical background, significant bureaucratic environment and phenomenal lifestyle of Delhiites are what define the city. With the presence of foreign embassies and important government organization headquarters, the administrative importance and supremacy of the city cannot be neglected. From numerous age-old monuments, religious sites, fascinating local markets and glittering cafes, the city has unique facets to itself that attract a large number of domestic and international travelers alike. In each of its forms, New Delhi is a city that binds within itself pride, warmth and contentment.\n", - "Best Time to Visit\n", - "The months of October, November, February and March are the ideal months to visit the city as the weather remains pleasant and is fit for sightseeing. To avoidĀ inconvenience it is always recommended to book hotels in Delhi from Goibibo.\n", - "Hotels & Restaurants\n", - "The city is rightly called a food lover’s paradise, be it the small eateries or chic cafes, the food served is a complete delight to taste buds. While the city is abuzz with restaurants and cafes serving local and international cuisine, some of the famous ones are Kake da Hotel, Parikrama, Hauz Khas Social and Punjab Grill.\n", - "Delhi offers all kind of accommodation options for stay. Right fromĀ  Budget Hotels in DelhiĀ toĀ  Luxury Hotels in DelhiĀ /Ā  Resorts in Delhi, fromĀ  5 star Delhi hotelsĀ toĀ  service apartments, one can find multiple options as per their need and pocket. Goibibo being the leading travel website has largest collection of hotels on its platform. One can easily find various collection of hotels as well on Goibibo, likeĀ  couple friendly hotels in DelhiĀ toĀ  hotels preferred by Business travellersĀ in Delhi, similarlyĀ  hotels preferred by studentsĀ and also the onesĀ  preferred by women. Popular locations in Delhi for stay areĀ near Delhi Airport, Karol Bagh, Mahipalpur, SaketĀ andĀ  Greater Kailash. It is very easy and convenient to compare andĀ  book hotels onlineĀ on Goibibo.\n", - "Places to Visit\n", - "India Gate, Rashtrapati Bhawan, Sansad Bhavan and National War Memorial are some of the prime attractions of the city that depict its high political quotient. Qutub Minar, Humayun’s Tomb, Safdarjung Tomb, Jantar Mantar and Purana Qila are some of the fine examples of the great architecture of ancient times. Lodhi Garden, Hauz Khas Fort, Akshardham Temple and National Rail Museum are a few attractive spots where you can spend a good amount of time. The mouth-watering street food of the city will be a feast to your taste buds. The famous markets such as Lajpat Nagar, Janpath, Sarojini Nagar Market, Rajouri Garden and Khan Market will offer you amazing shopping experience.\n", - "Transportation\n", - "Travelling to the city is a hassle-free task as there is a robust air, rail and road transportation network that connects it to the rest of the cities. Airways being the most convenient transportation mode, the city hosts the Indira Gandhi International Airport (DEL), which is the country's busiest airport in terms of passenger traffic & is a major hub for domestic flights as well as International flights.Ā  Cheap flight tickets from here to other popular cities can be booked online via various websites. Also, flight status & other details related to flight booking & air tickets can be easily accessed on these websites. So for cheapest air tickets, it is recommended to book flights online. The airport has three active terminals and approximately 80 airlines fly their aircraft from here. The international operations are carried from Terminal 3 and the domestic operations are primarily carried out from all the terminals by different airlines. Airlines like Indigo, GoAir, SpiceJet, Air India and Vistara fly the maximum number of domestic routes and airlines like Etihad Airways, Thai Airways and Emirates are some of the airlines operating international flights. Talking about the rail network, the city has three major railway stations namely New Delhi Railway Station, Nizamuddin Railway Station and Old Delhi Railway Station.\n", - "Airport Address\n", - "Indira Gandhi International Airport\n", - "Indira Gandhi International Airport,Domestic terminal,Terminal 1-B,New Delhi-110 037,ENQUIRIES PHONE NUMBER: (91) 11 25661080, FLIGHT INFORMATION NO: (91) 11 25601000 (DOM)/ (91) 11 25602000 (INT)\n", - "Frequently Asked Questions - Delhi to Kathmandu Flights\n", - "Q: Which airline has maximum number for flights between Delhi to Kathmandu?\n", - "A: Out of 61 daily flights between Delhi to Kathmandu IndiGo has maximum 21 flights. After that Air India has 18, Thai Airways has 4, Air Arabia has 3, Air India Express has 3, Cathay Pacific has 2, Flydubai has 2, Turkish Airlines has 2, Bhutan Air has 1, Malaysia Airlines has 1, Nepal Airlines has 1, Singapore Airlines has 1, SpiceJet has 1, Srilankan Airlines has 1 flights between Delhi to Kathmandu.\n", - "Q: What is today’s cheapest fare from Delhi to Kathmandu?\n", - "A: Today lowest airfare on Delhi to Kathmandu flight route is 4917.\n", - "Q: Which are the most preferred airlines from Delhi to Kathmandu ?\n", - "A: Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines are the most preferred airlines on Delhi to Kathmandu flight route.\n", - "Q: What are the name and codes for Delhi and Kathmandu airports?\n", - "A: The name of Delhi airport is Indira Gandhi International Airport and its code is DEL and name of Kathmandu Airport is Tribhuvan International Airport, its code is KTM.\n", - "Q: How many flights fly from Delhi to Kathmandu on the daily basis?\n", - "A: Around 61 flights are flying daily from Delhi to Kathmandu. Out of which 11 are direct and 50 are connecting flights on this route. Some major airlines between this route are Air Arabia, Air India, Air India Express, Bhutan Air, Cathay Pacific, Flydubai, IndiGo, Malaysia Airlines, Nepal Airlines, Singapore Airlines, SpiceJet, Srilankan Airlines, Thai Airways, Turkish Airlines.\n", - "Q: Which is the cheapest flight from Delhi to Kathmandu in next 7 and next 30 days?\n", - "A: Cheapest flight in next 7 days on Delhi to Kathmandu route is at ₹4742. And in next 30 days lowest price on Delhi to Kathmandu route is ₹4742.\n", - "Q: Which is the last flight on Delhi to Kathmandu route?\n", - "A: The last flight from Delhi to Kathmandu route is Air India Express at 23:55.\n", - "Q: When does the first flight leave from Delhi to Kathmandu?\n", - "A: The first flight from Delhi to Kathmandu is Cathay Pacific at 01:15.\n", - "x\n", - "Exclusive Deals For You!\n", - "More discounts for your flight\n", - "Up to Rs 10,000 OFF\n", - "Instant Discount\n", - "For All Users on\n", - "International Return Flight\n", - "Bookings\n", - "GOINTL\n", - "copy code\n", - "Up to Rs 5,000 OFF\n", - "Instant Discount\n", - "For All Users on\n", - "International One-Way Flight\n", - "Bookings\n", - "GOINTL\n", - "copy code\n", - "Our Products\n", - "Domestic Hotels\n", - "International Hotels\n", - "Domestic Flights\n", - "International Flights\n", - "Bus Booking\n", - "Cab Booking\n", - "Train Ticket Booking\n", - "Route Planner\n", - "Destination Planner\n", - "Cheap Flights\n", - "Train Running Status\n", - "Train PNR Status\n", - "Airport Cabs\n", - "Hotels in India\n", - "Hotels Near Me\n", - "Popular Airlines\n", - "IRCTC Forgot UserID\n", - "IRCTC Forgot Password\n", - "Company\n", - "About Us\n", - "Terms & Conditions\n", - "User Agreement\n", - "Privacy\n", - "Contact Us\n", - "Careers\n", - "Corporate Social Responsibility\n", - "Goibibo on Mobile\n", - "Goibibo TV Advertisement\n", - "Technology@Goibibo\n", - "FAQs\n", - "TRENDING INTERNATIONAL ROUTES\n", - "Delhi to Dubai Flight\n", - "Mumbai to Dubai Flight\n", - "Delhi to Denpasar Bali Flight\n", - "Delhi to Bangkok Flight\n", - "Delhi to Toronto Flight\n", - "Mumbai to Male Flight\n", - "Mumbai to Denpasar Bali Flight\n", - "Delhi to Male Flight\n", - "Ahmedabad to Toronto Flight\n", - "Delhi to Denpasar Bali Flight\n", - "Bangalore to Male Flight\n", - "Chennai to Dubai Flight\n", - "Kolkata to Bangkok Flight\n", - "Mumbai to Toronto Flight\n", - "Delhi to London Flight\n", - "Mumbai to Bangkok Flight\n", - "Bangalore to Bangkok Flight\n", - "Chennai to Colombo Flight\n", - "Delhi to Australia Flight\n", - "Tiruchirappalli to Dubai Flight\n", - "TOP INTERNATIONAL ROUTES\n", - "Ahmedabad to Dubai Flight\n", - "Chennai to Singapore Flight\n", - "Delhi to Mauritius Flight\n", - "Bangalore to Dubai Flight\n", - "Dubai to Delhi Flight\n", - "Kolkata to Male Flight\n", - "Mumbai to London Flight\n", - "Delhi to Seoul Flight\n", - "Bangalore to Denpasar Bali Flight\n", - "Hyderabad to Male Flight\n", - "Chennai to Bangkok Flight\n", - "Ahmedabad to Bangkok Flight\n", - "Delhi to Kathmandu Flight\n", - "Delhi to Hanoi Flight\n", - "Hyderabad to Dubai Flight\n", - "Chennai to Male Flight\n", - "Mumbai to Singapore Flight\n", - "Pune to Denpasar Bali Flight\n", - "Bangalore to Singapore Flight\n", - "Lucknow to Dubai Flight\n", - "Kolkata to Denpasar Bali Flight\n", - "Muscat to Mumbai Flight\n", - "POPULAR INTERNATIONAL ROUTES\n", - "Ernakulam to Male Flight\n", - "Bangalore to Kuala Lumpur Flight\n", - "Kolkata to Dhaka Flight\n", - "Mumbai to New York Flight\n", - "Delhi to Singapore Flight\n", - "Delhi to Riyadh Flight\n", - "Dubai to Hyderabad Flight\n", - "Delhi to Kathmandu Flight\n", - "Kolkata to Dubai Flight\n", - "Amritsar to Dubai Flight\n", - "Dhaka to Kolkata Flight\n", - "Delhi to New York Flight\n", - "Delhi to Jakarta Flight\n", - "Dubai to Mumbai Flight\n", - "Chennai to Denpasar Bali Flight\n", - "Dubai to Chennai Flight\n", - "Ahmedabad to London Flight\n", - "Tiruchirappalli to Singapore Flight\n", - "Lucknow to Riyadh Flight\n", - "Delhi to Vancouver Flight\n", - "Delhi to Auckland Flight\n", - "Ahmedabad to Male Flight\n", - "Important International Routes\n", - "Chennai to Toronto Flight\n", - "Jaipur to Dubai Flight\n", - "Delhi to Kuala Lumpur Flight\n", - "Bangalore to Kathmandu Flight\n", - "Doha to Delhi Flight\n", - "Ahmedabad to Denpasar Bali Flight\n", - "Pune to Dubai Flight\n", - "Mumbai to Doha Flight\n", - "Tiruchirappalli to Kuala Lumpur Flight\n", - "Chennai to Kuala Lumpur Flight\n", - "Amritsar to toronto Flight\n", - "Mumbai to Auckland Flight\n", - "Delhi to Tokyo Flight\n", - "Hyderabad to London Flight\n", - "Chandigarh to Dubai Flight\n", - "Muscat to Delhi Flight\n", - "Muscat to Chennai Flight\n", - "Delhi to Paris Flight\n", - "Kathmandu to New Delhi Flight\n", - "Visakhapatnam to Bangkok Flight\n", - "Delhi to Moscow Flight\n", - "Bangalore to Toronto Flight\n", - "INTERNATIONAL FLIGHTS\n", - "Delhi to Istanbul Flight\n", - "Hyderabad to Toronto Flight\n", - "Mumbai to Kathmandu Flight\n", - "Delhi to Rome Flight\n", - "Mumbai to Colombo Flight\n", - "Delhi to Zurich Flight\n", - "Delhi to Hong Kong Flight\n", - "Dhaka to Chennai Flight\n", - "Kathmandu to Delhi Flight\n", - "Bangalore to London Flight\n", - "Delhi to Manila Flight\n", - "Mumbai to Mauritius Flight\n", - "Hyderabad to Bangkok Flight\n", - "Chennai to Doha Flight\n", - "Muscat to Thiruvananthapuram Flight\n", - "Delhi to Melbourne Flight\n", - "Kuwait City to Delhi Flight\n", - "Indore to Dubai Flight\n", - "Mumbai to Zurich Flight\n", - "Kuala Lumpur to Chennai Flight\n", - "Mumbai to Tokyo Flight\n", - "\n", - "\n", - "\n", - "Title: Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip ...\n", - "Webpage Title:\n", - "Book Delhi (DEL) to Kathmandu (KTM) Flight Tickets | EaseMyTrip.com\n", - "Webpage Contents:\n", - "Ɨ\n", - "LOGIN OR SIGNUP\n", - "FLIGHTS\n", - "HOTELS\n", - "FLIGHT+HOTEL\n", - "TRAINS\n", - "BUS\n", - "HOLIDAYS\n", - "CABS\n", - "Activities\n", - "Visa\n", - "More\n", - "EaseMyTrip Cards\n", - "Apply now to get Rewards\n", - "EasyEloped\n", - "For Romantic Getaways\n", - "EasyDarshan\n", - "Spiritual Tours in India\n", - "Airport service\n", - "Enjoy airport service\n", - "Duty free\n", - "Gift Card\n", - "Buy giftcards here\n", - "Offers\n", - "Check Best latest offers\n", - "Customer Service\n", - "Call Support\n", - "Tel : 011 - 43131313, 43030303\n", - "Mail Support\n", - "Care@easemytrip.com\n", - "Login or Signup\n", - "Customer Login\n", - "Login & check bookings\n", - "Corporate Travel\n", - "Login corporate account\n", - "Agent Login\n", - "Login your agent account\n", - "My Booking\n", - "Manage your bookings here\n", - "Hi,\n", - "abc\n", - "My Profile\n", - "Manage your profile, and password\n", - "EMT Wallet\n", - "Use your wallet money to avail disounts\n", - "My Booking\n", - "Manage your bookings here\n", - "Log Out\n", - "Logout your profile\n", - "YOGI\n", - "A/C Balance\n", - "546546\n", - "Statement Balance\n", - "354546\n", - "Log Out\n", - "Logout your profile\n", - "Login or Create an account\n", - "Ɨ\n", - "+91\n", - "Afghanistan\n", - "+93\n", - "Albania\n", - "+355\n", - "Algeria\n", - "+213\n", - "American Samoa\n", - "+1684\n", - "Andorra\n", - "+376\n", - "Angola\n", - "+244\n", - "Anguilla\n", - "+1264\n", - "Antigua and Barbuda\n", - "+1268\n", - "Argentina\n", - "+54\n", - "Armenia\n", - "+374\n", - "Aruba\n", - "+297\n", - "Australia\n", - "+61\n", - "Austria\n", - "+43\n", - "Azerbaijan\n", - "+994\n", - "Bahamas\n", - "+1242\n", - "Bahrain\n", - "+973\n", - "Bangladesh\n", - "+880\n", - "Barbados\n", - "+1246\n", - "Belarus\n", - "+375\n", - "Belgium\n", - "+32\n", - "Belize\n", - "+501\n", - "Benin\n", - "+229\n", - "Bermuda\n", - "+1441\n", - "Bhutan\n", - "+975\n", - "Bolivia\n", - "+591\n", - "Bosnia and Herzegovina\n", - "+387\n", - "Botswana\n", - "+267\n", - "Brazil\n", - "+55\n", - "Brunei Darussalam\n", - "+673\n", - "Bulgaria\n", - "+359\n", - "Burkina Faso\n", - "+226\n", - "Burundi\n", - "+257\n", - "Cambodia\n", - "+855\n", - "Cameroon\n", - "+237\n", - "Canada\n", - "+1\n", - "Cape Verde\n", - "+238\n", - "Cayman Islands\n", - "+1345\n", - "Central African Republic\n", - "+236\n", - "Chad\n", - "+235\n", - "Chile\n", - "+56\n", - "China\n", - "+86\n", - "Colombia\n", - "+57\n", - "Comoros\n", - "+269\n", - "Congo (DRC)\n", - "+243\n", - "Congo (Republic)\n", - "+242\n", - "Cook Islands\n", - "+682\n", - "Costa Rica\n", - "+506\n", - "CĆ“te d'Ivoire\n", - "+225\n", - "Croatia\n", - "+385\n", - "Cuba\n", - "+53\n", - "Cyprus\n", - "+357\n", - "Czech Republic\n", - "+420\n", - "Denmark\n", - "+45\n", - "Djibouti\n", - "+253\n", - "Dominica\n", - "+1767\n", - "Dominican Republic\n", - "+1809\n", - "Ecuador\n", - "+593\n", - "Egypt\n", - "+20\n", - "El Salvador\n", - "+503\n", - "Equatorial Guinea\n", - "+240\n", - "Eritrea\n", - "+291\n", - "Estonia\n", - "+372\n", - "Ethiopia\n", - "+251\n", - "Faroe Islands\n", - "+298\n", - "Fiji\n", - "+679\n", - "Finland\n", - "+358\n", - "France\n", - "+33\n", - "French Polynesia\n", - "+689\n", - "Gabon\n", - "+241\n", - "Gambia\n", - "+220\n", - "Georgia\n", - "+995\n", - "Germany\n", - "+49\n", - "Ghana\n", - "+233\n", - "Gibraltar\n", - "+350\n", - "Greece\n", - "+30\n", - "Greenland\n", - "+299\n", - "Grenada\n", - "+1473\n", - "Guadeloupe\n", - "+590\n", - "Guam\n", - "+1671\n", - "Guatemala\n", - "+502\n", - "Guernsey\n", - "+44\n", - "Guinea\n", - "+224\n", - "Guinea-Bissau\n", - "+245\n", - "Guyana\n", - "+592\n", - "Haiti\n", - "+509\n", - "Honduras\n", - "+504\n", - "Hong Kong\n", - "+852\n", - "Hungary\n", - "+36\n", - "Iceland\n", - "+354\n", - "India\n", - "+91\n", - "Indonesia\n", - "+62\n", - "Iran\n", - "+98\n", - "Iraq\n", - "+964\n", - "Ireland\n", - "+353\n", - "Isle of Man\n", - "+44\n", - "Israel\n", - "+972\n", - "Italy\n", - "+39\n", - "Jamaica\n", - "+1876\n", - "Japan\n", - "+81\n", - "Jersey\n", - "+44\n", - "Jordan\n", - "+962\n", - "Kazakhstan\n", - "+7\n", - "Kenya\n", - "+254\n", - "Kiribati\n", - "+686\n", - "Kuwait\n", - "+965\n", - "Kyrgyzstan\n", - "+996\n", - "Laos\n", - "+856\n", - "Latvia\n", - "+371\n", - "Lebanon\n", - "+961\n", - "Lesotho\n", - "+266\n", - "Liberia\n", - "+231\n", - "Libya\n", - "+218\n", - "Liechtenstein\n", - "+423\n", - "Lithuania\n", - "+370\n", - "Luxembourg\n", - "+352\n", - "Macao\n", - "+853\n", - "Macedonia\n", - "+389\n", - "Madagascar\n", - "+261\n", - "Malawi\n", - "+265\n", - "Malaysia\n", - "+60\n", - "Maldives\n", - "+960\n", - "Mali\n", - "+223\n", - "Malta\n", - "+356\n", - "Marshall Islands\n", - "+692\n", - "Martinique\n", - "+596\n", - "Mauritania\n", - "+222\n", - "Mauritius\n", - "+230\n", - "Mexico\n", - "+52\n", - "Micronesia\n", - "+691\n", - "Moldova\n", - "+373\n", - "Monaco\n", - "+377\n", - "Mongolia\n", - "+976\n", - "Montenegro\n", - "+382\n", - "Montserrat\n", - "+1664\n", - "Morocco\n", - "+212\n", - "Mozambique\n", - "+258\n", - "Myanmar (Burma)\n", - "+95\n", - "Namibia\n", - "+264\n", - "Nauru\n", - "+674\n", - "Nepal\n", - "+977\n", - "Netherlands\n", - "+31\n", - "New Caledonia\n", - "+687\n", - "New Zealand\n", - "+64\n", - "Nicaragua\n", - "+505\n", - "Niger\n", - "+227\n", - "Nigeria\n", - "+234\n", - "North Korea\n", - "+850\n", - "Norway\n", - "+47\n", - "Oman\n", - "+968\n", - "Pakistan\n", - "+92\n", - "Palau\n", - "+680\n", - "Palestinian Territory\n", - "+970\n", - "Panama\n", - "+507\n", - "Papua New Guinea\n", - "+675\n", - "Paraguay\n", - "+595\n", - "Peru\n", - "+51\n", - "Philippines\n", - "+63\n", - "Poland\n", - "+48\n", - "Portugal\n", - "+351\n", - "Puerto Rico\n", - "+1787\n", - "Qatar\n", - "+974\n", - "RĆ©union\n", - "+262\n", - "Romania\n", - "+40\n", - "Russian Federation\n", - "+7\n", - "Rwanda\n", - "+250\n", - "Saint Kitts and Nevis\n", - "+1869\n", - "Saint Lucia\n", - "+1758\n", - "Saint Vincent and the Grenadines\n", - "+1784\n", - "Samoa\n", - "+685\n", - "San Marino\n", - "+378\n", - "SĆ£o TomĆ© and PrĆ­ncipe\n", - "+239\n", - "Saudi Arabia\n", - "+966\n", - "Senegal\n", - "+221\n", - "Serbia\n", - "+381\n", - "Seychelles\n", - "+248\n", - "Sierra Leone\n", - "+232\n", - "Singapore\n", - "+65\n", - "Slovakia\n", - "+421\n", - "Slovenia\n", - "+386\n", - "Solomon Islands\n", - "+677\n", - "Somalia\n", - "+252\n", - "South Africa\n", - "+27\n", - "South Korea\n", - "+82\n", - "Spain\n", - "+34\n", - "Sri Lanka\n", - "+94\n", - "Sudan\n", - "+249\n", - "Suriname\n", - "+597\n", - "Swaziland\n", - "+268\n", - "Sweden\n", - "+46\n", - "Switzerland\n", - "+41\n", - "Syrian Arab Republic\n", - "+963\n", - "Taiwan, Province of China\n", - "+886\n", - "Tajikistan\n", - "+992\n", - "Tanzania\n", - "+255\n", - "Thailand\n", - "+66\n", - "Timor-Leste\n", - "+670\n", - "Togo\n", - "+228\n", - "Tonga\n", - "+676\n", - "Trinidad and Tobago\n", - "+1868\n", - "Tunisia\n", - "+216\n", - "Turkey\n", - "+90\n", - "Turkmenistan\n", - "+993\n", - "Turks and Caicos Islands\n", - "+1649\n", - "Tuvalu\n", - "+688\n", - "Uganda\n", - "+256\n", - "Ukraine\n", - "+380\n", - "United Arab Emirates\n", - "+971\n", - "United Kingdom\n", - "+44\n", - "United States\n", - "+1\n", - "Uruguay\n", - "+598\n", - "Uzbekistan\n", - "+998\n", - "Vanuatu\n", - "+678\n", - "Vatican City\n", - "+379\n", - "Venezuela\n", - "+58\n", - "Viet Nam\n", - "+84\n", - "Virgin Islands (British)\n", - "+1284\n", - "Virgin Islands (U.S.)\n", - "+1340\n", - "Western Sahara\n", - "+212\n", - "Yemen\n", - "+967\n", - "Zambia\n", - "+260\n", - "Zimbabwe\n", - "+263\n", - "Email ID or Mobile Number\n", - "* Enter a valid Phone Number\n", - "* Enter a valid Email\n", - "* Enter a valid Email or Phone Number\n", - "Or Login Via\n", - "Google\n", - "Facebook\n", - "Otp Authentication\n", - "Ɨ\n", - "{{UserID}}\n", - "Please enter valid OTP.\n", - "Resend OTP\n", - "OTP sent successfully\n", - "Get OTP on call request sent successfully\n", - "* Enter the valid OTP.\n", - "* YOu have done 5 attempts! Try loggin in with password!\n", - "Login with OTP\n", - "Login with Password\n", - "Password Authentication\n", - "Ɨ\n", - "Please enter correct password.\n", - "Reset Password\n", - "Login with OTP\n", - "Login with Password\n", - "Forget Password\n", - "Ɨ\n", - "Registered\n", - "Mobile Number\n", - "or\n", - "Email\n", - "* Enter a valid Phone Number\n", - "* Enter a valid Email\n", - "* Enter a valid Email or Phone Number\n", - "We will send you a reset OTP on your registered Email ID or Mobile Number\n", - "OTP Authentication\n", - "Ɨ\n", - "Registered\n", - "Mobile Number\n", - "or\n", - "Email\n", - "* Please enter valid OTP.\n", - "* Enter Password\n", - "Resend OTP\n", - "Welcome Explorer!\n", - "Ɨ\n", - "We're happy to see you. Let's start planning your next unforgettable journey.\n", - "Go to your profile\n", - "May be later\n", - "āœ–\n", - "Delhi To Kathmandu Flights\n", - "One-Way\n", - "Round-Trip\n", - "Multi-City\n", - "From\n", - "Indira Gandhi International Airport\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Chhatrapati Shivaji International Airport\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "Return Date\n", - "TRAVELLER & CLASS\n", - "1\n", - "Traveller\n", - "Economy\n", - "Adults\n", - "(12+ Years)\n", - "-\n", - "+\n", - "Children\n", - "(2-12 Years)\n", - "-\n", - "+\n", - "Infant\n", - "(0-2 Years)\n", - "-\n", - "+\n", - "Economy\n", - "Prem.Economy\n", - "Business\n", - "First\n", - "Done\n", - "Search\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "TRAVELLER & CLASS\n", - "1\n", - "Traveller\n", - "Economy\n", - "Adults\n", - "(12+ Years)\n", - "-\n", - "+\n", - "Children\n", - "(2-12 Years)\n", - "-\n", - "+\n", - "Infant\n", - "(0-2 Years)\n", - "-\n", - "+\n", - "Economy\n", - "Prem.Economy\n", - "Business\n", - "First\n", - "Done\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "+Add City\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "+Add City\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "+Add City\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "+Add City\n", - "From\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "To\n", - "Top Cities\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "Delhi\n", - "DEL\n", - "Indira Gandhi International Airport\n", - "India\n", - "DEPARTURE DATE\n", - "+Add City\n", - "Multicity Route\n", - "Defence Forces\n", - "Defence Forces\n", - "Valid for retired or serving armed/parliamentary forces along with their relatives only. To avail this benefit, passengers must show a valid ID or dependent card before flight departure.\n", - "Students\n", - "Students\n", - "Special fares and extra baggage allowance are available exclusively for students aged 12 and above. To avail the benefit, students must carry valid ID cards and student visas (if needed) before the flight departure.\n", - "Senior Citizens\n", - "Senior Citizens\n", - "Senior citizens of 60+ years are eligible for this benefit. To avail the offer, it is mandatory to have valid date of birth proof. Without proof, the passenger will be charged with fares.\n", - "Doctors & Nurses\n", - "Doctors & Nurses\n", - "This benefit is applicable for Medical professionals only. To avail it's crucial to carry valid ID at the airport before flight departure.\n", - "Home\n", - "Flights\n", - "Delhi To Kathmandu Flights\n", - "July\n", - "₹11041\n", - "August\n", - "₹4848\n", - "September\n", - "₹11138\n", - "October\n", - "₹10750\n", - "November\n", - "₹16003\n", - "December\n", - "₹7069\n", - "January\n", - "₹16003\n", - "February\n", - "₹14729\n", - "March\n", - "₹14729\n", - "April\n", - "₹16806\n", - "May\n", - "₹16806\n", - "June\n", - "₹16806\n", - "August\n", - "is by far the best month, wherein you can get cheapest flights for\n", - "Delhi to Kathmandu\n", - ". Meanwhile,\n", - "April\n", - "is perceived as the expensive month due to the varying factors. That’s why it’s highly advised to make advanced online flight booking to save huge amounts of money.\n", - "Things to know\n", - "One Way Fare\n", - "July\n", - "July- During this month the footfall is less so, the flight is gradually inexpensive.\n", - "Round Trip Fare\n", - "July\n", - "July - is the cheapest month to book round trip flights.\n", - "Cheaper Fare\n", - "₹ 4742\n", - "Cheapest Fare- Currently, this is the fare price based on the current demand.\n", - "Disclaimer\n", - "- All the mentioned fares were found within last 48 hrs. The displayed fares are based on historical data and are subject to change. The fares cannot be guaranteed at the time of booking.\n", - "Top Flights From Delhi\n", - "Delhi To Pune Flights\n", - "Delhi To Bilaspur Flights\n", - "Delhi To Goa Flights\n", - "Delhi To Rajahmundry Flights\n", - "Delhi To Kochi Flights\n", - "Cheap Flights From Delhi\n", - "Delhi To Pune Flights\n", - "Delhi To Bilaspur Flights\n", - "Delhi To Goa Flights\n", - "Delhi To Rajahmundry Flights\n", - "Delhi To Kochi Flights\n", - "Top Internatinal Flights From Delhi\n", - "Delhi To Dar Es Salaam Flights\n", - "Delhi To Mykonos Flights\n", - "Delhi To Roanoke Flights\n", - "Delhi To Birmingham Flights\n", - "Delhi To Poznan Flights\n", - "Top Internatinal Flights From Kathmandu\n", - "Kathmandu To Vadodara Flights\n", - "Kathmandu To Raipur Flights\n", - "Kathmandu To Jaipur Flights\n", - "Kathmandu To Port Blair Flights\n", - "Kathmandu To Imphal Flights\n", - "Flight Distance From Delhi\n", - "Delhi To Pune Distance\n", - "Delhi To Bilaspur Distance\n", - "Delhi To Goa Distance\n", - "Delhi To Rajahmundry Distance\n", - "Delhi To Kochi Distance\n", - "Flight Schedule From Delhi\n", - "Delhi To Pune Flight Schedule\n", - "Delhi To Bilaspur Flight Schedule\n", - "Delhi To Goa Flight Schedule\n", - "Delhi To Rajahmundry Flight Schedule\n", - "Delhi To Kochi Flight Schedule\n", - "Flights To Top Cities\n", - "Flights To Pune\n", - "Flights To Bilaspur\n", - "Flights To Goa\n", - "Flights To Rajahmundry\n", - "Flights To Kochi\n", - "Top International Flights To Cities\n", - "Flights To Dar Es Salaam\n", - "Flights To Mykonos\n", - "Flights To Roanoke\n", - "Flights To Birmingham\n", - "Flights To Poznan\n", - "Top International Flights From Cities\n", - "Flights From Vadodara\n", - "Flights From Raipur\n", - "Flights From Jaipur\n", - "Flights From Port Blair\n", - "Flights From Imphal\n", - "Airlines Tickets\n", - "Delhi To Kathmandu Bhutan Airlines Flights\n", - "Delhi To Kathmandu SpiceJet Flights\n", - "Delhi To Kathmandu Nepal Airlines Flights\n", - "Delhi To Kathmandu IndiGo Flights\n", - "Delhi To Kathmandu Air India Flights\n", - "Top Airlines\n", - "Air Asia\n", - "Air India Express\n", - "Air India\n", - "Akasa Air\n", - "British Airways\n", - "Cathay Pacific Airways\n", - "Emirates\n", - "Etihad Airways\n", - "Indigo\n", - "Lufthansa\n", - "Malaysia Airlines\n", - "Oman Air\n", - "Philippine Airlines\n", - "Qatar Airways\n", - "Saudia\n", - "Scoot\n", - "Singapore Airlines\n", - "SpiceJet\n", - "SriLankan Airlines\n", - "Thai Airways\n", - "Vietjet\n", - "Cab Route From Delhi\n", - "Delhi To Agra\n", - "Delhi To Bareilly\n", - "Delhi To Dehradun\n", - "Delhi To Rishikesh\n", - "Delhi To Jaipur\n", - "Holiday Packages in Delhi\n", - "Delhi Holiday Package\n", - "Holiday Packages in Kathmandu\n", - "Nepal Holiday Package\n", - "Spiritual Tour Packages\n", - "Chardham Tours Packages\n", - "Tirupati Tours Packages\n", - "Ujjain Tours Packages\n", - "Varanasi Tours Packages\n", - "Kailash Mansarovar Tours Packages\n", - "Delhi Airport Contact Info\n", - "Name:\n", - "Indira Gandhi International Airport\n", - "Code: DEL\n", - "Kathmandu Airport Contact Info\n", - "Name:\n", - "Tribhuvan International Airport\n", - "Code: KTM\n", - "Best Flight From Delhi To Kathmandu\n", - "Cheapest\n", - "Bhutan Airlines\n", - "DEL\n", - "10:55\n", - "Delhi Indira Gandhi International Airport\n", - "Mon , 14 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "12:40\n", - "Kathmandu Tribhuvan International Airport\n", - "Mon, 14 Jul 2025\n", - "₹4742\n", - "Book Now\n", - "Bhutan Airlines\n", - "DEL\n", - "10:55\n", - "Delhi Indira Gandhi International Airport\n", - "Wed , 16 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "12:40\n", - "Kathmandu Tribhuvan International Airport\n", - "Wed, 16 Jul 2025\n", - "₹4742\n", - "Book Now\n", - "SpiceJet\n", - "DEL\n", - "08:10\n", - "Delhi Indira Gandhi International Airport\n", - "Wed , 16 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "09:55\n", - "Kathmandu Tribhuvan International Airport\n", - "Wed, 16 Jul 2025\n", - "₹4742\n", - "Book Now\n", - "Bhutan Airlines\n", - "DEL\n", - "10:55\n", - "Delhi Indira Gandhi International Airport\n", - "Sat , 19 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "12:40\n", - "Kathmandu Tribhuvan International Airport\n", - "Sat, 19 Jul 2025\n", - "₹4742\n", - "Book Now\n", - "Nepal Airlines\n", - "DEL\n", - "16:20\n", - "Delhi Indira Gandhi International Airport\n", - "Mon , 14 Jul 2025\n", - "01h 35m\n", - "Non Stop\n", - "KTM\n", - "18:10\n", - "Kathmandu Tribhuvan International Airport\n", - "Mon, 14 Jul 2025\n", - "₹4917\n", - "Book Now\n", - "Nepal Airlines\n", - "DEL\n", - "16:20\n", - "Delhi Indira Gandhi International Airport\n", - "Tue , 15 Jul 2025\n", - "01h 35m\n", - "Non Stop\n", - "KTM\n", - "18:10\n", - "Kathmandu Tribhuvan International Airport\n", - "Tue, 15 Jul 2025\n", - "₹4917\n", - "Book Now\n", - "Nepal Airlines\n", - "DEL\n", - "16:20\n", - "Delhi Indira Gandhi International Airport\n", - "Wed , 16 Jul 2025\n", - "01h 35m\n", - "Non Stop\n", - "KTM\n", - "18:10\n", - "Kathmandu Tribhuvan International Airport\n", - "Wed, 16 Jul 2025\n", - "₹4917\n", - "Book Now\n", - "SpiceJet\n", - "DEL\n", - "08:10\n", - "Delhi Indira Gandhi International Airport\n", - "Mon , 14 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "09:55\n", - "Kathmandu Tribhuvan International Airport\n", - "Mon, 14 Jul 2025\n", - "₹5130\n", - "Book Now\n", - "SpiceJet\n", - "DEL\n", - "08:10\n", - "Delhi Indira Gandhi International Airport\n", - "Tue , 15 Jul 2025\n", - "01h 30m\n", - "Non Stop\n", - "KTM\n", - "09:55\n", - "Kathmandu Tribhuvan International Airport\n", - "Tue, 15 Jul 2025\n", - "₹5130\n", - "Book Now\n", - "IndiGo\n", - "DEL\n", - "07:50\n", - "Delhi Indira Gandhi International Airport\n", - "Mon , 14 Jul 2025\n", - "01h 45m\n", - "Non Stop\n", - "KTM\n", - "09:50\n", - "Kathmandu Tribhuvan International Airport\n", - "Mon, 14 Jul 2025\n", - "₹5210\n", - "Book Now\n", - "IndiGo\n", - "DEL\n", - "11:05\n", - "Delhi Indira Gandhi International Airport\n", - "Mon , 14 Jul 2025\n", - "01h 40m\n", - "Non Stop\n", - "KTM\n", - "13:00\n", - "Kathmandu Tribhuvan International Airport\n", - "Mon, 14 Jul 2025\n", - "₹5210\n", - "Book Now\n", - "View More\n", - "Find the Lowest Airfare Delhi to Kathmandu\n", - "Cheapest Fares\n", - "Fare\n", - "Date\n", - "Airline\n", - "Departure\n", - "Lowest Airfare\n", - "₹4742\n", - "13 July 2025\n", - "Bhutan Airlines\n", - "10:55 AM\n", - "BOOK\n", - "Cheapest Airfare Within 30 Days\n", - "₹4742\n", - "13 July 2025\n", - "Bhutan Airlines\n", - "10:55 AM\n", - "BOOK\n", - "Cheapest Airfare Within 90 Days\n", - "₹4742\n", - "13 July 2025\n", - "Bhutan Airlines\n", - "10:55 AM\n", - "BOOK\n", - "Early Morning Flight Delhi to Kathmandu\n", - "Cheapest Flight\n", - "Found\n", - "₹321475\n", - "Average Flight\n", - "Time\n", - "20h 15m\n", - "Date/Time\n", - "14 Jul 2025\n", - "01:15 AM\n", - "Airlines\n", - "Cathay Pacific airways\n", - "Late Night Flight Delhi to Kathmandu\n", - "Cheapest Flight\n", - "Found\n", - "₹9242\n", - "Average Flight\n", - "Time\n", - "07h 55m\n", - "Date/Time\n", - "14 Jul 2025\n", - "23:55 PM\n", - "Airlines\n", - "Air India Express\n", - "Best Time to Travel\n", - "How early should I book a flight ticket to get the lowest airfare from Delhi to Kathmandu?\n", - "To crack the better offer on Delhi to Kathmandu flights, it’s better to make advanced bookings at least fews weeks prior of your intended date because price might rise eventually due to the delay.\n", - "Fare\n", - "Days In Advance\n", - "Reasonable Fares\n", - "Which is the best day for booking Delhi to Kathmandu flights?\n", - "Weekdays are the best day to get low-cost flight tickets from Delhi to Kathmandu. However, it depends on a certain factor. If the demand is high and festivals are there, then prices could be a little high.\n", - "Fare\n", - "Weekdays\n", - "Delhi to Kathmandu Flight Information\n", - "You can now easily make online flight bookings from Delhi (DEL) to Kathmandu (KTM) at just ₹4848 (per person) with EaseMyTrip, your most trusted travel companion. As a leading travel platform, we aim to offer convenient and hassle-free flight reservations for your desired route. When it comes to the price range of Delhi (DEL) to Kathmandu (KTM) flights, then the price may range from ₹4848 to ₹16806 (per person). This sudden price fluctuation usually happens due to the emergence of various internal and external factors like air traffic, peak seasons, or other weather conditions.\n", - "Nevertheless, with EaseMyTrip you can also avail of multiple special offers and exciting deals and discounts on flight bookings. With this, you can elevate your journey from Delhi (DEL) to Kathmandu (KTM) while ensuring that every penny is worth the investment. Along with this, our platform includes a dynamic search engine and a user-friendly interface providing diverse flight details related to flight number, departure status, arrival, and schedules to keep you updated.\n", - "Delhi to Kathmandu Flights Details\n", - "It’s really intimidating to search, visit, and check out flights from Delhi (DEL) to Kathmandu (KTM) on various online flight booking platforms. However, EaseMyTrip is a reliable portal that can make your job more simplified. At present, we have already collaborated with several prominent airlines ensuring seamless bookings for the flights from Delhi (DEL) to Kathmandu (KTM). In line with this, our platform consists of various popular airline carriers like Akasa Air, SpiceJet, Air India, and Alliance Air usually operate 20 flights every day.\n", - "When it comes to the distance between Delhi to Kathmandu, then the average distance would be 815 Kilometre approximately. Thus, it’s highly recommended to select direct flight options. In case, if you’re looking for an affordable flight option, then you can also select indirect flights. Moreover, the flight duration for non-stop flights would be around 11:44 hrs. So, if you’ve planned to fly from Delhi (DEL) to Kathmandu (KTM), then you must prefer making advanced flight bookings to eliminate last-minute hassles.\n", - "Flight Connectivity & Schedule Info\n", - "Currently, all the well-renowned flights offer non-stop flights from Delhi to Kathmandu flights. Owing to this factor, you may reach the destination at the average flight duration of 11:44 hrs. Along with this, since the Delhi to Kathmandu flight is the most common route: thus, you can try various layover flights. Top cities like Bengaluru, Bagdogra, Chennai, Jaipur, Kolkata, Chandigarh, etc. offer great connectivity between the flights.\n", - "Besides this, Indira Gandhi International Airport and Tribhuvan International Airport are the nearest airports. This will allow you to reach the destination with optimal comfort and convenience. Moreover, if you are looking forward to getting the cheapest flights then you should prefer booking a round trip during the pre-booking phase.\n", - "Why Make Delhi to Kathmandu Flight Booking with EaseMyTrip\n", - "EaseMyTrip is one of the most popular online flight booking platforms aiming to offer an unforgettable exposure to the tourists seeking the best of travel services. The platform is known for providing vast flight options to users. Even the passengers get an opportunity to select the first class, business class, premium economy, and economy class cabin options as per their preferences and planned budget.\n", - "In addition to this, if you make flight bookings from Delhi (DEL) to Kathmandu (KTM) with EaseMyTrip, then you are entitled to other exclusive benefits also. Some of these assured perks include 24/7 immediate support, regular updates on the flights, lowest fares, airport pick-up/drop facilities, and top-notch customer services for a smooth expedition. With this, you can also check out flight scheduling and other flight modifications/cancellation-related policies.\n", - " Consequently, if you’re looking forward to booking Delhi (DEL) to Kathmandu (KTM) flights at the best rates, then without any delay book your dream flight with EaseMyTrip for a delightful journey.\n", - "FAQ's\n", - "Q.Is there a web check-in option for the flight from Delhi to Kathmandu?\n", - "Yes, passengers can make online or airport check-ins for the flight from Delhi (DEL) to Kathmandu (KTM).\n", - "Q.Can I make online reservations for cheap hotels close to the Kathmandu Airport?\n", - "Absolutely yes, using the EaseMyTrip hotel booking options, you may reserve cheap hotels close to the airport.\n", - "Q.How can I get an online cheap flight ticket from Delhi to Kathmandu?\n", - "You can easily search for cheap flights on EaseMyTrip by visiting the search page and entering the source and destination. Through this, you will see a list of available flights and their corresponding prices. To compare the flight fares, you can add a \"price\" filter also.\n", - "Q.When is the best time to purchase airline tickets from Delhi to Kathmandu at the lowest price?\n", - "To get the best price on domestic flights, try making your reservation 3–4 weeks or 21 days in advance.\n", - "Q.How long does it take to travel between Delhi and Kathmandu by flight?\n", - "The average travel duration between Delhi and Kathmandu by Flight is 2 hours 20 minutes.\n", - "Q.How many classes are available to fly from Delhi to Kathmandu?\n", - "Currently, Delhi to Kathmandu includes economy, business and first-class flights.\n", - "Q.What are the traveller’s most preferred airlines from Delhi to Kathmandu?\n", - "Mostly preferred airlines to travel between Delhi and Kathmandu are Indigo, Alliance Air and Air India.\n", - "Q.What are the latest Delhi to Kathmandu Flight Offers at EaseMyTrip?\n", - "On making Delhi to Kathmandu flight bookings with EaseMyTrip, users can avail various additional benefits, including exclusive services, cashback, and discounts. Therefore, we suggest you to keep a constant tab on the platform while booking flights to unlock the potential offer.\n", - "Q.What’s the best time to book a flight ticket with the lowest airfare from Delhi to Kathmandu?\n", - "The best time to book a flight from Delhi to Kathmandu for the lowest airfare is typically during the off-peak seasons and by booking in advance, around 1-3 months before your travel date. Additionally, weekdays, especially Tuesdays and Wednesdays, often offer better deals compared to weekends.\n", - "\n", - "\n", - "Analyze web results: openai \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Traceback (most recent call last):\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/queueing.py\", line 626, in process_events\n", - " response = await route_utils.call_process_api(\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/route_utils.py\", line 322, in call_process_api\n", - " output = await app.get_blocks().process_api(\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/blocks.py\", line 2229, in process_api\n", - " result = await self.call_function(\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/blocks.py\", line 1740, in call_function\n", - " prediction = await anyio.to_thread.run_sync( # type: ignore\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/to_thread.py\", line 56, in run_sync\n", - " return await get_async_backend().run_sync_in_worker_thread(\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/_backends/_asyncio.py\", line 2470, in run_sync_in_worker_thread\n", - " return await future\n", - " ^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/anyio/_backends/_asyncio.py\", line 967, in run\n", - " result = context.run(func, *args)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^\n", - " File \"/opt/homebrew/Caskroom/miniconda/base/envs/llms/lib/python3.11/site-packages/gradio/utils.py\", line 940, in wrapper\n", - " response = f(*args, **kwargs)\n", - " ^^^^^^^^^^^^^^^^^^\n", - " File \"/var/folders/t4/p6rmxwf16qnbcc036554tj0r0000gn/T/ipykernel_656/755683802.py\", line 20, in chat\n", - " response = gemini.models.generate_content(messages, tools=gemini_tools)\n", - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", - "TypeError: Models.generate_content() got an unexpected keyword argument 'tools'\n" - ] - } - ], + "outputs": [], "source": [ "with gr.Blocks() as ui:\n", " with gr.Row():\n", @@ -10446,21 +576,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "d50b03d4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{('delhi', 'delhi'): 'INR 0'}" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "cached_search" ] From c1766d09c4e9773cf5d0568c23cad1a4f233761a Mon Sep 17 00:00:00 2001 From: David Zywiec Date: Sat, 19 Jul 2025 10:56:09 -0500 Subject: [PATCH 022/176] Cleared outputs on Itermediate Python and Day1 Cleared outputs on week 1 exercises. --- week1/Intermediate Python.ipynb | 4 +- week1/day1.ipynb | 231 ++++---------------------------- 2 files changed, 25 insertions(+), 210 deletions(-) diff --git a/week1/Intermediate Python.ipynb b/week1/Intermediate Python.ipynb index aaaa0e3..ea3bdb1 100644 --- a/week1/Intermediate Python.ipynb +++ b/week1/Intermediate Python.ipynb @@ -464,7 +464,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "llms", "language": "python", "name": "python3" }, @@ -478,7 +478,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.13" } }, "nbformat": 4, diff --git a/week1/day1.ipynb b/week1/day1.ipynb index 7d0c489..572b91a 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -151,18 +151,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "API key found and looks good so far!\n" - ] - } - ], + "outputs": [], "source": [ "# Load environment variables in a file called .env\n", "\n", @@ -183,7 +175,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", "metadata": {}, "outputs": [], @@ -204,18 +196,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hello! It's great to meet you. How can I assist you today?\n" - ] - } - ], + "outputs": [], "source": [ "import openai\n", "\n", @@ -270,62 +254,7 @@ "execution_count": null, "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Home - Edward Donner\n", - "Home\n", - "Connect Four\n", - "Outsmart\n", - "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", - "About\n", - "Posts\n", - "Well, hi there.\n", - "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", - "very\n", - "amateur) and losing myself in\n", - "Hacker News\n", - ", nodding my head sagely to things I only half understand.\n", - "I’m the co-founder and CTO of\n", - "Nebula.io\n", - ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", - "acquired in 2021\n", - ".\n", - "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", - "patented\n", - "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", - "Connect\n", - "with me for more!\n", - "May 28, 2025\n", - "Connecting my courses – become an LLM expert and leader\n", - "May 18, 2025\n", - "2025 AI Executive Briefing\n", - "April 21, 2025\n", - "The Complete Agentic AI Engineering Course\n", - "January 23, 2025\n", - "LLM Workshop – Hands-on with Agents – resources\n", - "Navigation\n", - "Home\n", - "Connect Four\n", - "Outsmart\n", - "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", - "About\n", - "Posts\n", - "Get in touch\n", - "ed [at] edwarddonner [dot] com\n", - "www.edwarddonner.com\n", - "Follow me\n", - "LinkedIn\n", - "Twitter\n", - "Facebook\n", - "Subscribe to newsletter\n", - "Type your email…\n", - "Subscribe\n" - ] - } - ], + "outputs": [], "source": [ "# Let's try one out. Change the website and add print statements to follow along.\n", "\n", @@ -354,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", "metadata": {}, "outputs": [], @@ -368,7 +297,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", "metadata": {}, "outputs": [], @@ -386,67 +315,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are looking at a website titled Home - Edward Donner\n", - "The contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\n", - "\n", - "Home\n", - "Connect Four\n", - "Outsmart\n", - "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", - "About\n", - "Posts\n", - "Well, hi there.\n", - "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", - "very\n", - "amateur) and losing myself in\n", - "Hacker News\n", - ", nodding my head sagely to things I only half understand.\n", - "I’m the co-founder and CTO of\n", - "Nebula.io\n", - ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", - "acquired in 2021\n", - ".\n", - "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", - "patented\n", - "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", - "Connect\n", - "with me for more!\n", - "May 28, 2025\n", - "Connecting my courses – become an LLM expert and leader\n", - "May 18, 2025\n", - "2025 AI Executive Briefing\n", - "April 21, 2025\n", - "The Complete Agentic AI Engineering Course\n", - "January 23, 2025\n", - "LLM Workshop – Hands-on with Agents – resources\n", - "Navigation\n", - "Home\n", - "Connect Four\n", - "Outsmart\n", - "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", - "About\n", - "Posts\n", - "Get in touch\n", - "ed [at] edwarddonner [dot] com\n", - "www.edwarddonner.com\n", - "Follow me\n", - "LinkedIn\n", - "Twitter\n", - "Facebook\n", - "Subscribe to newsletter\n", - "Type your email…\n", - "Subscribe\n" - ] - } - ], + "outputs": [], "source": [ "print(user_prompt_for(ed))" ] @@ -472,7 +344,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", "metadata": {}, "outputs": [], @@ -485,18 +357,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Oh, you’re really hitting me with the tough questions! But fine, I’ll play along. 2 + 2 equals 4. Happy now?\n" - ] - } - ], + "outputs": [], "source": [ "# To give you a preview -- calling OpenAI with system and user messages:\n", "\n", @@ -514,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", "metadata": {}, "outputs": [], @@ -530,24 +394,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'role': 'system',\n", - " 'content': 'You are an assistant that analyzes the contents of a website and provides a short summary, ignoring text that might be navigation related. Respond in markdown.'},\n", - " {'role': 'user',\n", - " 'content': 'You are looking at a website titled Home - Edward Donner\\nThe contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\\n\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nWell, hi there.\\nI’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\\nvery\\namateur) and losing myself in\\nHacker News\\n, nodding my head sagely to things I only half understand.\\nI’m the co-founder and CTO of\\nNebula.io\\n. We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\\nacquired in 2021\\n.\\nWe work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\\npatented\\nour matching model, and our award-winning platform has happy customers and tons of press coverage.\\nConnect\\nwith me for more!\\nMay 28, 2025\\nConnecting my courses – become an LLM expert and leader\\nMay 18, 2025\\n2025 AI Executive Briefing\\nApril 21, 2025\\nThe Complete Agentic AI Engineering Course\\nJanuary 23, 2025\\nLLM Workshop – Hands-on with Agents – resources\\nNavigation\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nGet in touch\\ned [at] edwarddonner [dot] com\\nwww.edwarddonner.com\\nFollow me\\nLinkedIn\\nTwitter\\nFacebook\\nSubscribe to newsletter\\nType your email…\\nSubscribe'}]" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Try this out, and then try for a few more websites\n", "\n", @@ -564,7 +414,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", "metadata": {}, "outputs": [], @@ -582,28 +432,17 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'# Summary of Edward Donner\\'s Website\\n\\nThis website belongs to Ed Donner, a technology enthusiast focused on coding and experimenting with large language models (LLMs). He is the co-founder and CTO of Nebula.io, a company leveraging AI to help individuals discover their potential in the talent space. Ed has a background in AI startups, having previously founded untapt, which was acquired in 2021.\\n\\n## Key Features:\\n- **Personal Interests**: Ed enjoys DJing, electronic music production, and engaging with content on Hacker News.\\n- **Professional Focus**: Nebula.io specializes in developing proprietary LLMs tailored for talent matching and management.\\n\\n## Recent Announcements:\\n- **May 28, 2025**: Course introduction on becoming an LLM expert and leader.\\n- **May 18, 2025**: Announcement of a 2025 AI Executive Briefing.\\n- **April 21, 2025**: Launch of the \"Complete Agentic AI Engineering Course\".\\n- **January 23, 2025**: A workshop titled \"LLM Workshop – Hands-on with Agents\" offering related resources. \\n\\nThe website encourages visitors to connect with Ed and subscribe to his newsletter for updates and insights.'" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "summarize(\"https://edwarddonner.com\")" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "3d926d59-450e-4609-92ba-2d6f244f1342", "metadata": {}, "outputs": [], @@ -617,34 +456,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "3018853a-445f-41ff-9560-d925d1774b2f", "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "# Summary of Edward Donner's Website\n", - "\n", - "Edward Donner's personal website showcases his interests in coding, LLMs (Large Language Models), and electronic music. He is the co-founder and CTO of Nebula.io, a company focused on using AI to enhance talent discovery and management. He has previously founded another AI startup, untapt, which was acquired in 2021.\n", - "\n", - "## Recent Announcements:\n", - "\n", - "- **May 28, 2025**: Launch of courses aimed at helping individuals become experts and leaders in LLM technology.\n", - "- **May 18, 2025**: Announcement of the 2025 AI Executive Briefing.\n", - "- **April 21, 2025**: Introductory course titled \"The Complete Agentic AI Engineering Course.\"\n", - "- **January 23, 2025**: LLM Workshop offering hands-on resources for working with agents.\n", - "\n", - "The website encourages connection and collaboration, inviting visitors to reach out and engage." - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "display_summary(\"https://edwarddonner.com\")" ] From 11e43af7f98064ce8ac1a0dc6dba27a634dd41f3 Mon Sep 17 00:00:00 2001 From: David Zywiec Date: Sat, 19 Jul 2025 10:59:45 -0500 Subject: [PATCH 023/176] Updated to main branch changes Updated to changes from main branch --- week1/Intermediate Python.ipynb | 4 ++-- week1/day1.ipynb | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/week1/Intermediate Python.ipynb b/week1/Intermediate Python.ipynb index ea3bdb1..aaaa0e3 100644 --- a/week1/Intermediate Python.ipynb +++ b/week1/Intermediate Python.ipynb @@ -464,7 +464,7 @@ ], "metadata": { "kernelspec": { - "display_name": "llms", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -478,7 +478,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.11.11" } }, "nbformat": 4, diff --git a/week1/day1.ipynb b/week1/day1.ipynb index 572b91a..f492110 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -201,13 +201,10 @@ "metadata": {}, "outputs": [], "source": [ - "import openai\n", + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", "\n", "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", - "response = openai.chat.completions.create(\n", - " model=\"gpt-4o\",\n", - " messages=[{\"role\": \"user\", \"content\": message}]\n", - ")\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", "print(response.choices[0].message.content)" ] }, @@ -596,7 +593,7 @@ ], "metadata": { "kernelspec": { - "display_name": "llms", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -610,7 +607,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.11.12" } }, "nbformat": 4, From c3d0a8e8b799ae90eac45c38c5a528214019a4e4 Mon Sep 17 00:00:00 2001 From: Omar Marie Date: Mon, 21 Jul 2025 20:49:24 +0300 Subject: [PATCH 024/176] week4: ai stock trading --- .../ai_stock_trading/README.md | 232 ++++--- .../ai_stock_trading/main_app.py | 549 ++++++++++++++++ .../ai_stock_trading/requirements.txt | 6 +- .../stock_analysis_sharia_compliance.ipynb | 184 ++---- .../ai_stock_trading/tools/__init__.py | 28 + .../ai_stock_trading/tools/analysis.py | 316 ++++++++++ .../ai_stock_trading/tools/charting.py | 483 ++++++++++++++ .../ai_stock_trading/tools/fetching.py | 384 ++++++++++++ .../tools/sharia_compliance.py | 591 ++++++++++++++++++ .../tools/trading_decisions.py | 491 +++++++++++++++ 10 files changed, 3043 insertions(+), 221 deletions(-) create mode 100644 week4/community-contributions/ai_stock_trading/main_app.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/__init__.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/analysis.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/charting.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/fetching.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/sharia_compliance.py create mode 100644 week4/community-contributions/ai_stock_trading/tools/trading_decisions.py diff --git a/week4/community-contributions/ai_stock_trading/README.md b/week4/community-contributions/ai_stock_trading/README.md index 3a56e71..95abada 100644 --- a/week4/community-contributions/ai_stock_trading/README.md +++ b/week4/community-contributions/ai_stock_trading/README.md @@ -1,41 +1,63 @@ -# šŸ“ˆ Stock Analysis & Sharia Compliance Tool +# šŸ“ˆ AI Stock Trading & Sharia Compliance Platform -A comprehensive Gradio-based web application that provides AI-powered stock analysis with Islamic Sharia compliance assessment. This tool combines real-time financial data, technical analysis, and AI-driven insights to help users make informed investment decisions while adhering to Islamic finance principles. +A comprehensive **Streamlit-based** web application that provides AI-powered stock analysis with Islamic Sharia compliance assessment. This professional-grade platform combines real-time financial data from USA and Egyptian markets, advanced technical analysis, and institutional-quality AI-driven insights to help users make informed investment decisions while adhering to Islamic finance principles. -![Stock Analysis Interface](https://img.shields.io/badge/Interface-Gradio-blue) -![AI Powered](https://img.shields.io/badge/AI-OpenAI%20GPT--4o--mini-green) -![Islamic Finance](https://img.shields.io/badge/Islamic-Sharia%20Compliant-gold) +## šŸ“ø Application Screenshots -## 🌟 Features +### Home View +![Home View](screenshots/home.png) +*Main application interface with market selection and stock input* -### šŸ“Š **Multi-Period Stock Analysis** -- Fetches historical data for 1 month, 1 year, and 5 years -- Calculates key financial metrics: returns, volatility, volume, price ranges -- Comprehensive technical analysis with statistical insights +### Chat Interface +![Chat Interface](screenshots/chat.png) +*Interactive chat for trading advice, Sharia compliance, and stock analysis* -### šŸ¤– **AI-Powered Trade Recommendations** -- Uses OpenAI GPT-4o-mini for intelligent analysis -- Provides clear BUY/HOLD/SELL recommendations -- Numerical justification based on multi-timeframe data -- Considers risk factors and market trends +### Dashboard View +![Dashboard View](screenshots/dashboard.png) +*Comprehensive dashboard with KPIs, charts, and real-time metrics* -### ā˜Ŗļø **Sharia Compliance Assessment** -- Analyzes company business activities for Islamic compliance -- Provides HALAL/HARAM/DOUBTFUL rulings -- Confidence scores (0-100) for each assessment -- Detailed justification based on Islamic finance principles +## šŸŽÆ Key Features -### šŸ“ˆ **Interactive Visualizations** +### šŸ“Š **Comprehensive Stock Analysis** +- Real-time data fetching from multiple markets (USA, Egypt) +- Advanced technical indicators (RSI, MACD, Bollinger Bands, Moving Averages) +- Risk assessment and volatility analysis +- Performance metrics across multiple time periods + +### šŸ¤– **AI-Powered Trading Decisions** +- GPT-4 powered investment recommendations +- Buy/Hold/Sell signals with confidence scores +- Price targets and stop-loss suggestions +- Algorithmic + AI combined decision making + +### ā˜Ŗļø **Sharia Compliance Checking** +- Islamic finance principles assessment +- Halal/Haram rulings with detailed reasoning +- Business activity and financial ratio screening +- Alternative investment suggestions + +### šŸ’¬ **Natural Language Interface** +- Interactive chat interface for stock discussions +- Ask questions in plain English +- Context-aware responses about selected stocks +- Quick action buttons for common queries + +### šŸ“ˆ **Interactive Dashboards** +- Comprehensive metrics dashboard +- Multiple chart types (Price, Performance, Risk, Trading Signals) +- Real-time data visualization with Plotly +- Exportable analysis reports - Real-time price charts with volume data - Professional matplotlib-based visualizations - Price statistics and performance metrics - Responsive chart interface -### šŸ–„ļø **User-Friendly Interface** -- Clean, modern Gradio web interface -- Two-column layout for optimal user experience -- Example stock buttons for quick testing -- Real-time analysis progress tracking +### šŸ–„ļø **Professional Interface** +- Clean, modern Streamlit web interface +- Multi-market support (USA & Egyptian stocks) +- Interactive chat interface with context awareness +- Real-time KPI dashboard with currency formatting +- Quick action buttons for common analysis tasks ## šŸš€ Quick Start @@ -56,83 +78,116 @@ cd ai_stock_trading pip install -r requirements.txt ``` -3. **Set up OpenAI API Key** +3. **Set up environment variables** +Create a `.env` file in the project root: ```bash -export OPENAI_API_KEY="your-api-key-here" -``` - -Or set it in the notebook: -```python -import os -os.environ["OPENAI_API_KEY"] = "your-api-key-here" +OPENAI_API_KEY=your-api-key-here ``` ### Running the Application -1. **Open the Jupyter notebook** +1. **Launch the Streamlit app** ```bash -jupyter notebook stock_analysis_sharia_compliance.ipynb +streamlit run main_app.py ``` -2. **Run all cells** to initialize the functions +2. **Access the web interface** at `http://localhost:8501` -3. **Launch the interface** by running the final cell +3. **Select your market** (USA or Egypt) from the sidebar -4. **Access the web interface** at `http://localhost:7860` +4. **Enter a stock symbol** and start analyzing! ## šŸ“– How to Use -1. **Enter a stock ticker** (e.g., AAPL, MSFT, GOOGL) in the input field -2. **Click "Analyze Stock"** to start the analysis -3. **Review the results**: - - **Trade Advice**: AI-generated BUY/HOLD/SELL recommendation - - **Sharia Assessment**: Islamic compliance ruling with confidence score - - **Price Chart**: 1-month interactive price and volume chart +1. **Select Market**: Choose between USA or Egypt from the sidebar +2. **Enter Stock Symbol**: Input a ticker (e.g., AAPL for USA, ABUK.CA for Egypt) +3. **View Dashboard**: See real-time KPIs, price charts, and key metrics +4. **Use Chat Interface**: Ask questions or request specific analysis: + - "Give me trading advice for AAPL" + - "Is this stock Sharia compliant?" + - "What's the price target?" +5. **Review Professional Analysis**: + - **Trading Recommendations**: Institutional-grade BUY/HOLD/SELL advice + - **Sharia Compliance**: Comprehensive Islamic finance screening + - **Technical Analysis**: Advanced indicators and risk assessment ### Example Tickers to Try -| Ticker | Company | Expected Sharia Status | -|--------|---------|----------------------| -| **AAPL** | Apple Inc. | āœ… Likely Halal (Technology) | -| **MSFT** | Microsoft Corp. | āœ… Likely Halal (Technology) | -| **JNJ** | Johnson & Johnson | āœ… Likely Halal (Healthcare) | -| **BAC** | Bank of America | āŒ Likely Haram (Banking/Interest) | -| **KO** | Coca-Cola | āš ļø May be Doubtful | +#### USA Market +| Ticker | Company | Sector | Expected Sharia Status | +|--------|---------|--------|-----------------------| +| **AAPL** | Apple Inc. | Technology | āœ… Likely Halal | +| **MSFT** | Microsoft Corp. | Technology | āœ… Likely Halal | +| **GOOGL** | Alphabet Inc. | Technology | āœ… Likely Halal | +| **JNJ** | Johnson & Johnson | Healthcare | āœ… Likely Halal | +| **BAC** | Bank of America | Banking | āŒ Likely Haram | +| **JPM** | JPMorgan Chase | Banking | āŒ Likely Haram | -## šŸ› ļø Technical Implementation +#### Egypt Market +| Ticker | Company | Sector | Expected Sharia Status | +|--------|---------|--------|-----------------------| +| **ABUK.CA** | Abu Qir Fertilizers | Industrial | āœ… Likely Halal | +| **ETEL.CA** | Egyptian Telecom | Telecom | āœ… Likely Halal | +| **HRHO.CA** | Hassan Allam Holding | Construction | āœ… Likely Halal | +| **CIB.CA** | Commercial Intl Bank | Banking | āŒ Likely Haram | -### Core Components +## šŸ”§ Technical Implementation -1. **Data Fetching Tool** (`fetch_history`) - - Uses yfinance API for real-time stock data - - Supports multiple time periods and intervals - - Error handling for invalid tickers +### Modular Architecture -2. **Analysis Tool** (`summarize`) - - Calculates financial metrics - - Annualized volatility calculation - - Price performance analysis +The platform is built with a clean, modular architecture using separate tool modules: -3. **Trade Decision Tool** (`get_trade_advice`) - - OpenAI GPT-4o-mini integration - - Multi-period analysis prompts - - Structured recommendation format +#### 1. **Stock Fetching Module** (`tools/fetching.py`) +- **Multi-Market Support**: USA (75+ stocks) and Egypt (50+ stocks) with proper currency handling +- **Real-Time Data**: Uses yfinance API with robust error handling +- **Currency Formatting**: Automatic USD/EGP formatting based on market +- **Stock Info Enrichment**: Company details, market cap, sector classification -4. **Sharia Compliance Tool** (`assess_sharia`) - - Company profile extraction - - Islamic finance criteria evaluation - - Confidence scoring system +#### 2. **Technical Analysis Module** (`tools/analysis.py`) +- **Advanced Indicators**: RSI, MACD, Bollinger Bands, Moving Averages +- **Risk Metrics**: Volatility analysis, Sharpe ratio, maximum drawdown +- **Performance Analysis**: Multi-timeframe returns and trend analysis +- **Professional Calculations**: Annualized metrics and statistical analysis -5. **Charting Tool** (`plot_price`) - - Matplotlib-based visualizations - - Price and volume charts - - Professional styling +#### 3. **Trading Decisions Module** (`tools/trading_decisions.py`) +- **Institutional-Grade AI**: Senior analyst persona with 15+ years experience +- **Professional Standards**: BUY/HOLD/SELL with confidence, price targets, stop-loss +- **Risk Management**: Risk-reward ratios, time horizons, risk assessment +- **Robust JSON Parsing**: Handles malformed AI responses with fallback logic -### AI Prompts +#### 4. **Sharia Compliance Module** (`tools/sharia_compliance.py`) +- **Comprehensive Screening**: Business activities, financial ratios, trading practices +- **AAOIFI Standards**: Debt-to-assets < 33%, interest income < 5% +- **Prohibited Activities**: 50+ categories including banking, gambling, alcohol +- **User-Triggered Analysis**: Only shows when specifically requested -The application uses carefully crafted prompts for: -- **Financial Analysis**: Multi-timeframe technical analysis with numerical justification -- **Sharia Assessment**: Islamic finance principles evaluation with scholarly approach +#### 5. **Charting Module** (`tools/charting.py`) +- **Professional Visualizations**: Plotly-based interactive charts +- **Multiple Chart Types**: Price, volume, technical indicators +- **Responsive Design**: Mobile-friendly chart rendering +- **Export Capabilities**: PNG/HTML export functionality + +#### 6. **Main Application** (`main_app.py`) +- **Streamlit Interface**: Modern, responsive web application +- **Chat Integration**: Context-aware conversational interface +- **Real-Time KPIs**: Live dashboard with key metrics +- **Session Management**: Persistent data across user interactions + +### AI Integration + +The platform leverages OpenAI's GPT-4o-mini with specialized prompts: + +#### Trading Analysis Prompts +- **Senior Analyst Persona**: 15+ years institutional experience +- **Professional Standards**: Risk-reward ratios, logical price targets +- **Structured Output**: JSON format with validation and error handling +- **Technical Focus**: Based on RSI, MACD, trend analysis, volume patterns + +#### Sharia Compliance Prompts +- **Islamic Scholar Approach**: Follows AAOIFI and DSN standards +- **Comprehensive Screening**: Business activities, financial ratios, trading practices +- **Scholarly Reasoning**: Detailed justification with Islamic finance principles +- **Confidence Scoring**: Quantified certainty levels for rulings ## šŸ“Š Sample Analysis Output @@ -227,6 +282,27 @@ Contributions are welcome! Please feel free to submit issues, feature requests, - Historical backtesting - Mobile-responsive design +### šŸ”® Future Work: MCP Integration + +We plan to implement a **Model Context Protocol (MCP) layer** to make all trading tools accessible as standardized MCP tools: + +#### Planned MCP Tools: +- **`stock_fetcher`** - Real-time market data retrieval for USA/Egypt markets +- **`technical_analyzer`** - Advanced technical analysis with 20+ indicators +- **`sharia_checker`** - Islamic finance compliance screening +- **`trading_advisor`** - AI-powered institutional-grade recommendations +- **`risk_assessor`** - Portfolio risk analysis and management +- **`chart_generator`** - Professional financial visualizations + +#### Benefits of MCP Integration: +- **Standardized Interface**: Consistent tool access across different AI systems +- **Interoperability**: Easy integration with other MCP-compatible platforms +- **Scalability**: Modular architecture for adding new financial tools +- **Reusability**: Tools can be used independently or combined +- **Professional Integration**: Compatible with institutional trading platforms + +This will enable the platform to serve as a comprehensive financial analysis toolkit that can be integrated into various AI-powered trading systems and workflows. + ## šŸ“„ License This project is for educational purposes. Please ensure compliance with: diff --git a/week4/community-contributions/ai_stock_trading/main_app.py b/week4/community-contributions/ai_stock_trading/main_app.py new file mode 100644 index 0000000..b2e5a04 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/main_app.py @@ -0,0 +1,549 @@ +""" +Main Streamlit Application for AI Stock Trading with Sharia Compliance +""" + +import streamlit as st +import pandas as pd +import os +from dotenv import load_dotenv + +# Import our custom tools +from tools.fetching import stock_fetcher, get_available_stocks +from tools.analysis import stock_analyzer +from tools.trading_decisions import trading_engine +from tools.sharia_compliance import sharia_checker +from tools.charting import chart_generator + +# Load environment variables +load_dotenv() + +# Page configuration +st.set_page_config( + page_title="AI Stock Trading & Sharia Compliance", + page_icon="šŸ“ˆ", + layout="wide", + initial_sidebar_state="expanded" +) + +class StockTradingApp: + def __init__(self): + self.initialize_session_state() + self.setup_sidebar() + + def initialize_session_state(self): + if 'selected_country' not in st.session_state: + st.session_state.selected_country = 'USA' + if 'selected_stock' not in st.session_state: + st.session_state.selected_stock = None + if 'stock_data' not in st.session_state: + st.session_state.stock_data = {} + if 'chat_history' not in st.session_state: + st.session_state.chat_history = [] + if 'current_page' not in st.session_state: + st.session_state.current_page = 'home' + + def setup_sidebar(self): + with st.sidebar: + st.title("šŸ›ļø Navigation") + + page = st.radio( + "Select Page:", + ["šŸ  Home", "šŸ’¬ Chat Interface", "šŸ“Š Dashboard"], + key="page_selector" + ) + + page_mapping = { + "šŸ  Home": "home", + "šŸ’¬ Chat Interface": "chat", + "šŸ“Š Dashboard": "dashboard" + } + st.session_state.current_page = page_mapping[page] + + st.divider() + self.render_stock_selector() + st.divider() + self.show_api_status() + + def render_stock_selector(self): + st.subheader("šŸŒ Stock Selection") + + countries = ['USA', 'Egypt'] + selected_country = st.selectbox( + "Select Country:", + countries, + index=countries.index(st.session_state.selected_country), + key="country_selector" + ) + + if selected_country != st.session_state.selected_country: + st.session_state.selected_country = selected_country + st.session_state.selected_stock = None + + available_stocks = get_available_stocks(selected_country) + + if available_stocks: + stock_names = list(available_stocks.keys()) + current_index = 0 + + if st.session_state.selected_stock: + current_symbol = st.session_state.selected_stock + for i, (name, symbol) in enumerate(available_stocks.items()): + if symbol == current_symbol: + current_index = i + break + + selected_stock_name = st.selectbox( + "Select Stock:", + stock_names, + index=current_index, + key="stock_selector" + ) + + selected_symbol = available_stocks[selected_stock_name] + + if selected_symbol != st.session_state.selected_stock: + st.session_state.selected_stock = selected_symbol + st.session_state.stock_data = {} + st.session_state.chat_history = [] + + if st.session_state.selected_stock: + st.success(f"Selected: {selected_stock_name} ({selected_symbol})") + else: + st.error(f"No stocks available for {selected_country}") + + def show_api_status(self): + st.subheader("API Used") + openai_key = os.getenv('OPENAI_API_KEY') + if openai_key: + st.success("āœ… OpenAI Connected") + else: + st.error("āŒ Not Connected") + + def run(self): + st.title("šŸ¤– AI Stock Trading") + st.markdown("*Intelligent stock analysis with Islamic finance compliance*") + + if st.session_state.current_page == 'home': + self.render_home_page() + elif st.session_state.current_page == 'chat': + self.render_chat_page() + elif st.session_state.current_page == 'dashboard': + self.render_dashboard_page() + + def render_home_page(self): + st.header("šŸ  Welcome to AI Stock Trading Platform") + + st.markdown(""" + Get intelligent stock analysis with Islamic finance compliance checking. + Select a country and stock from the sidebar to begin. + + **Key Features:** + - šŸ“Š Real-time stock analysis with advanced indicators + - šŸ¤– AI-powered trading recommendations + - ā˜Ŗļø Sharia compliance assessment + - šŸ’¬ Natural language chat interface + + **Supported Markets:** šŸ‡ŗšŸ‡ø USA | šŸ‡ŖšŸ‡¬ Egypt + + *Disclaimer: For educational purposes only. Not financial advice.* + """) + + if st.session_state.selected_stock: + st.divider() + st.subheader(f"šŸ“Š Quick Analysis: {st.session_state.selected_stock}") + with st.spinner("Loading quick analysis..."): + self.show_quick_analysis() + + def show_quick_analysis(self): + symbol = st.session_state.selected_stock + country = st.session_state.selected_country + try: + data = stock_fetcher.fetch_stock_data(symbol, period="1mo") + stock_info = stock_fetcher.get_stock_info(symbol, country) + + if not data.empty: + col1, col2, col3, col4 = st.columns(4) + + current_price = data['Close'].iloc[-1] + price_change = data['Close'].iloc[-1] - data['Close'].iloc[-2] if len(data) > 1 else 0 + price_change_pct = (price_change / data['Close'].iloc[-2] * 100) if len(data) > 1 else 0 + + with col1: + formatted_price = stock_fetcher.format_price_with_currency(current_price, country) + price_change_str = f"{price_change:+.2f} ({price_change_pct:+.1f}%)" + st.metric("Current Price", formatted_price, price_change_str) + + with col2: + high_52w = stock_info.get('fifty_two_week_high', 0) + formatted_high = stock_fetcher.format_price_with_currency(high_52w, country) + st.metric("52W High", formatted_high) + + with col3: + low_52w = stock_info.get('fifty_two_week_low', 0) + formatted_low = stock_fetcher.format_price_with_currency(low_52w, country) + st.metric("52W Low", formatted_low) + + with col4: + market_cap = stock_info.get('market_cap', 0) + currency = stock_fetcher.get_market_currency(country) + if market_cap > 1e9: + if currency == 'EGP': + market_cap_str = f"{market_cap/1e9:.1f}B EGP" + else: + market_cap_str = f"${market_cap/1e9:.1f}B" + elif market_cap > 1e6: + if currency == 'EGP': + market_cap_str = f"{market_cap/1e6:.1f}M EGP" + else: + market_cap_str = f"${market_cap/1e6:.1f}M" + else: + if currency == 'EGP': + market_cap_str = f"{market_cap:,.0f} EGP" + else: + market_cap_str = f"${market_cap:,.0f}" + st.metric("Market Cap", market_cap_str) + + st.info(f"**{stock_info.get('company_name', 'N/A')}** | " + f"Sector: {stock_info.get('sector', 'N/A')} | " + f"Industry: {stock_info.get('industry', 'N/A')}") + + except Exception as e: + st.error(f"Error loading quick analysis: {str(e)}") + + def load_stock_analysis(self, symbol: str): + try: + country = st.session_state.selected_country + data = stock_fetcher.fetch_stock_data(symbol, period="1y") + stock_info = stock_fetcher.get_stock_info(symbol, country) + analysis = stock_analyzer.analyze_stock(data) + trading_decision = trading_engine.get_trading_recommendation(symbol, analysis, stock_info) + sharia_compliance = sharia_checker.check_sharia_compliance(symbol, stock_info, analysis) + + st.session_state.stock_data[symbol] = { + 'data': data, + 'stock_info': stock_info, + 'analysis': analysis, + 'trading_decision': trading_decision, + 'sharia_compliance': sharia_compliance + } + except Exception as e: + st.error(f"Error loading analysis for {symbol}: {str(e)}") + + def render_chat_page(self): + st.header("šŸ’¬ AI Stock Analysis Chat") + + if not st.session_state.selected_stock: + st.warning("āš ļø Please select a stock from the sidebar to start chatting.") + return + + symbol = st.session_state.selected_stock + st.info(f"šŸ’¬ Chatting about: **{symbol}**") + + if symbol not in st.session_state.stock_data: + with st.spinner("Loading stock data and analysis..."): + self.load_stock_analysis(symbol) + + self.render_chat_interface() + + def render_chat_interface(self): + symbol = st.session_state.selected_stock + + if st.session_state.chat_history: + for message in st.session_state.chat_history: + if message['role'] == 'user': + st.chat_message("user").write(message['content']) + else: + st.chat_message("assistant").write(message['content']) + else: + welcome_msg = f""" + šŸ‘‹ Hello! I'm your AI stock analysis assistant. I can help you with: + + • **Technical Analysis** of {symbol} + • **Trading Recommendations** (Buy/Hold/Sell) + • **Sharia Compliance** assessment + • **Risk Analysis** and market insights + + What would you like to know about {symbol}? + """ + st.chat_message("assistant").write(welcome_msg) + + user_input = st.chat_input("Ask me anything about this stock...") + + if user_input: + st.session_state.chat_history.append({'role': 'user', 'content': user_input}) + + with st.spinner("Analyzing..."): + ai_response = self.generate_ai_response(user_input, symbol) + + st.session_state.chat_history.append({'role': 'assistant', 'content': ai_response}) + st.rerun() + + st.subheader("šŸš€ Quick Actions") + col1, col2, col3, col4 = st.columns(4) + + with col1: + if st.button("šŸ“Š Get Analysis"): + self.add_analysis_to_chat(symbol) + st.rerun() + + with col2: + if st.button("šŸ’° Trading Rec"): + self.add_trading_to_chat(symbol) + st.rerun() + + with col3: + if st.button("ā˜Ŗļø Sharia Check"): + self.add_sharia_to_chat(symbol) + st.rerun() + + with col4: + if st.button("šŸŽÆ Price Target"): + self.add_target_to_chat(symbol) + st.rerun() + + def generate_ai_response(self, user_input: str, symbol: str) -> str: + try: + from openai import OpenAI + client = OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + # Check if user is asking about Sharia compliance + sharia_keywords = ['sharia', 'halal', 'haram', 'islamic', 'muslim', 'compliant', 'permissible', 'forbidden'] + is_sharia_query = any(keyword in user_input.lower() for keyword in sharia_keywords) + + stock_data = st.session_state.stock_data.get(symbol, {}) + analysis = stock_data.get('analysis', {}) + trading_decision = stock_data.get('trading_decision', {}) + stock_info = stock_data.get('stock_info', {}) + country = st.session_state.selected_country + + # Format price with proper currency + current_price = analysis.get('current_price', 0) + formatted_price = stock_fetcher.format_price_with_currency(current_price, country) + + # Base context without Sharia info + context = f""" + You are analyzing {symbol} ({stock_info.get('company_name', 'N/A')}). + + Current Price: {formatted_price} + Return: {analysis.get('total_return_pct', 0):.2f}% + Recommendation: {trading_decision.get('recommendation', 'N/A')} + Sector: {stock_info.get('sector', 'N/A')} + + User Question: {user_input} + + Provide helpful analysis based on the available data. + """ + + # Add Sharia context only if user asks about it + if is_sharia_query: + # Load Sharia compliance if not already loaded + if symbol not in st.session_state.stock_data or 'sharia_compliance' not in st.session_state.stock_data[symbol]: + with st.spinner("Loading Sharia compliance analysis..."): + self.load_stock_analysis(symbol) + + sharia_compliance = st.session_state.stock_data.get(symbol, {}).get('sharia_compliance', {}) + context += f""" + + SHARIA COMPLIANCE ANALYSIS: + Ruling: {sharia_compliance.get('ruling', 'N/A')} + Confidence: {sharia_compliance.get('confidence', 0)*100:.0f}% + Reasoning: {sharia_compliance.get('reasoning', 'N/A')} + + Focus your response on Islamic finance principles and Sharia compliance. + """ + + response = client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + {"role": "system", "content": "You are a financial advisor and Islamic finance expert."}, + {"role": "user", "content": context} + ], + temperature=0.7, + max_tokens=400 + ) + + return response.choices[0].message.content + + except Exception as e: + return f"Sorry, I'm having trouble right now. Error: {str(e)}" + + def add_analysis_to_chat(self, symbol: str): + stock_data = st.session_state.stock_data.get(symbol, {}) + analysis = stock_data.get('analysis', {}) + + if analysis: + summary = stock_analyzer.get_analysis_summary(analysis) + st.session_state.chat_history.append({ + 'role': 'assistant', + 'content': f"šŸ“Š **Analysis Summary for {symbol}:**\n\n{summary}" + }) + + def add_trading_to_chat(self, symbol: str): + stock_data = st.session_state.stock_data.get(symbol, {}) + trading_decision = stock_data.get('trading_decision', {}) + stock_info = stock_data.get('stock_info', {}) + country = st.session_state.selected_country + + if trading_decision: + rec = trading_decision.get('recommendation', 'HOLD') + conf = trading_decision.get('confidence', 0) + + # Handle confidence as percentage if it's already 0-100, or as decimal if 0-1 + if conf <= 1.0: + conf_pct = conf * 100 + else: + conf_pct = conf + + reason = trading_decision.get('reasoning', 'No reasoning available') + price_target = trading_decision.get('price_target') + stop_loss = trading_decision.get('stop_loss') + time_horizon = trading_decision.get('time_horizon', 'medium') + risk_level = trading_decision.get('risk_level', 'medium') + + # Clean reasoning - remove JSON artifacts + if reason.startswith('```json') or reason.startswith('{'): + # Extract readable content from malformed JSON + if 'reasoning' in reason: + try: + import re + reasoning_match = re.search(r'"reasoning"\s*:\s*"([^"]+)"', reason) + if reasoning_match: + reason = reasoning_match.group(1) + else: + reason = "Technical analysis suggests this recommendation based on current market conditions." + except: + reason = "Technical analysis suggests this recommendation based on current market conditions." + + # Format the message professionally + message_parts = [ + f"šŸ’° **Trading Recommendation: {rec}**", + f"šŸ“Š **Confidence Level:** {conf_pct:.0f}%", + f"ā±ļø **Time Horizon:** {time_horizon.title()}-term", + f"āš ļø **Risk Level:** {risk_level.title()}", + "", + f"**Analysis:**", + reason + ] + + # Add price targets if available + if price_target: + formatted_target = stock_fetcher.format_price_with_currency(price_target, country) + message_parts.append(f"šŸŽÆ **Price Target:** {formatted_target}") + + if stop_loss: + formatted_stop = stock_fetcher.format_price_with_currency(stop_loss, country) + message_parts.append(f"šŸ›”ļø **Stop Loss:** {formatted_stop}") + + message_parts.append("") + message_parts.append("*This is not financial advice. Please do your own research and consult with a financial advisor.*") + + message = "\n".join(message_parts) + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + + def add_sharia_to_chat(self, symbol: str): + stock_data = st.session_state.stock_data.get(symbol, {}) + sharia_compliance = stock_data.get('sharia_compliance', {}) + + if sharia_compliance: + summary = sharia_checker.get_compliance_summary(sharia_compliance) + st.session_state.chat_history.append({ + 'role': 'assistant', + 'content': f"ā˜Ŗļø **Sharia Compliance:**\n\n{summary}" + }) + + def add_target_to_chat(self, symbol: str): + stock_data = st.session_state.stock_data.get(symbol, {}) + trading_decision = stock_data.get('trading_decision', {}) + analysis = stock_data.get('analysis', {}) + + current = analysis.get('current_price', 0) + target = trading_decision.get('price_target') + stop = trading_decision.get('stop_loss') + + message = f"šŸŽÆ **Current Price:** ${current:.2f}\n" + if target: + upside = ((target - current) / current) * 100 + message += f"**Target:** ${target:.2f} ({upside:+.1f}%)\n" + if stop: + downside = ((stop - current) / current) * 100 + message += f"**Stop Loss:** ${stop:.2f} ({downside:+.1f}%)" + + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + + def render_dashboard_page(self): + st.header("šŸ“Š Dashboard") + + if not st.session_state.selected_stock: + st.warning("āš ļø Please select a stock from the sidebar.") + return + + symbol = st.session_state.selected_stock + country = st.session_state.selected_country + + if symbol not in st.session_state.stock_data: + with st.spinner("Loading analysis..."): + self.load_stock_analysis(symbol) + + stock_data = st.session_state.stock_data.get(symbol, {}) + if not stock_data: + st.error("Failed to load data.") + return + + analysis = stock_data.get('analysis', {}) + trading_decision = stock_data.get('trading_decision', {}) + sharia_compliance = stock_data.get('sharia_compliance', {}) + data = stock_data.get('data') + + # KPIs at the top + col1, col2, col3, col4, col5 = st.columns(5) + + with col1: + current_price = data['Close'].iloc[-1] + formatted_price = stock_fetcher.format_price_with_currency(current_price, country) + st.metric("šŸ’° Current Price", formatted_price) + + with col2: + total_return = analysis.get('total_return_pct', 0) + st.metric("Total Return", f"{total_return:.2f}%") + + with col3: + rec = trading_decision.get('recommendation', 'HOLD') + conf = trading_decision.get('confidence', 0) * 100 + st.metric("Recommendation", rec, f"{conf:.0f}% confidence") + + with col4: + ruling = sharia_compliance.get('ruling', 'UNCERTAIN') + sharia_conf = sharia_compliance.get('confidence', 0) * 100 + st.metric("Sharia Status", ruling, f"{sharia_conf:.0f}% confidence") + + with col5: + volatility = analysis.get('volatility_annualized', 0) + st.metric("Volatility", f"{volatility:.1f}%") + + st.divider() + + # Charts section + + # First row: Risk Analysis and Trading Signals + col1, col2 = st.columns(2) + + with col1: + risk_fig = chart_generator.create_risk_analysis_chart(analysis, symbol) + st.plotly_chart(risk_fig, use_container_width=True) + + with col2: + signals_fig = chart_generator.create_trading_signals_chart(data, analysis, trading_decision, symbol) + st.plotly_chart(signals_fig, use_container_width=True) + + # Second row: Price Chart (full width) + price_fig = chart_generator.create_price_chart(data, symbol, analysis) + st.plotly_chart(price_fig, use_container_width=True) + + + +def main(): + app = StockTradingApp() + app.run() + +if __name__ == "__main__": + main() diff --git a/week4/community-contributions/ai_stock_trading/requirements.txt b/week4/community-contributions/ai_stock_trading/requirements.txt index 3c05391..98321c1 100644 --- a/week4/community-contributions/ai_stock_trading/requirements.txt +++ b/week4/community-contributions/ai_stock_trading/requirements.txt @@ -2,7 +2,9 @@ yfinance>=0.2.10 openai>=1.0.0 pandas>=1.5.0 matplotlib>=3.5.0 -gradio>=4.0.0 +streamlit>=1.28.0 requests>=2.28.0 beautifulsoup4>=4.11.0 -numpy>=1.21.0 \ No newline at end of file +numpy>=1.21.0 +python-dotenv>=1.0.0 +plotly>=5.15.0 \ No newline at end of file diff --git a/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb b/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb index 3c7bfca..7fd7810 100644 --- a/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb +++ b/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -107,31 +107,31 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "āœ… Successfully fetched 18 data points for ABUK.CA (1mo)\n", + "āœ… Successfully fetched 17 data points for ABUK.CA (1mo)\n", "\n", "šŸ“Š Sample data for ABUK.CA:\n", - " Open High Low Close Volume \\\n", - "Date \n", - "2025-05-29 00:00:00+03:00 49.000000 49.270000 48.099998 48.320000 971406 \n", - "2025-06-01 00:00:00+03:00 48.320000 48.840000 48.189999 48.400002 583557 \n", - "2025-06-02 00:00:00+03:00 48.400002 49.450001 48.500000 49.000000 648049 \n", - "2025-06-03 00:00:00+03:00 49.000000 49.470001 49.029999 49.090000 379774 \n", - "2025-06-04 00:00:00+03:00 49.090000 49.889999 48.970001 49.889999 592659 \n", + " Open High Low Close \\\n", + "Date \n", + "2025-06-22 00:00:00+03:00 45.970001 47.000000 45.049999 46.840000 \n", + "2025-06-23 00:00:00+03:00 46.840000 47.099998 45.830002 46.410000 \n", + "2025-06-24 00:00:00+03:00 46.410000 47.950001 47.009998 47.889999 \n", + "2025-06-25 00:00:00+03:00 47.889999 48.990002 47.939999 48.889999 \n", + "2025-06-29 00:00:00+03:00 48.889999 50.869999 49.520000 50.389999 \n", "\n", - " Dividends Stock Splits Capital Gains \n", - "Date \n", - "2025-05-29 00:00:00+03:00 0.0 0.0 0.0 \n", - "2025-06-01 00:00:00+03:00 0.0 0.0 0.0 \n", - "2025-06-02 00:00:00+03:00 0.0 0.0 0.0 \n", - "2025-06-03 00:00:00+03:00 0.0 0.0 0.0 \n", - "2025-06-04 00:00:00+03:00 0.0 0.0 0.0 \n" + " Volume Dividends Stock Splits Capital Gains \n", + "Date \n", + "2025-06-22 00:00:00+03:00 408343 0.0 0.0 0.0 \n", + "2025-06-23 00:00:00+03:00 1425250 0.0 0.0 0.0 \n", + "2025-06-24 00:00:00+03:00 1184487 0.0 0.0 0.0 \n", + "2025-06-25 00:00:00+03:00 833208 0.0 0.0 0.0 \n", + "2025-06-29 00:00:00+03:00 994006 0.0 0.0 0.0 \n" ] } ], @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -197,14 +197,14 @@ "text": [ "\n", "šŸ“ˆ Analysis Summary:\n", - " start_price: 48.32\n", - " end_price: 50.39\n", - " total_return_%: 4.28\n", - " volatility_%: 33.04\n", - " avg_volume: 965145\n", - " max_price: 51.5\n", - " min_price: 45.01\n", - " price_range_%: 14.42\n" + " start_price: 46.84\n", + " end_price: 52.7\n", + " total_return_%: 12.51\n", + " volatility_%: 30.91\n", + " avg_volume: 1153685\n", + " max_price: 53.25\n", + " min_price: 45.05\n", + " price_range_%: 18.2\n" ] } ], @@ -291,7 +291,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 4, "metadata": { "scrolled": true }, @@ -308,19 +308,17 @@ "\n", "**Justification:**\n", "\n", - "1. **Price Movement**: The stock price has increased from $48.32 to $50.39 over the past month, representing a gain of 4.28%. This upward movement indicates positive momentum and investor interest.\n", + "1. **Price Movement**: The stock price has increased from $46.84 to $52.7 over the past month, representing a gain of 12.51%. This upward momentum indicates strong buying interest and positive market sentiment.\n", "\n", - "2. **Volatility**: The volatility of 33.04% is relatively high, which suggests that the stock may experience significant price fluctuations. While this can be a risk factor, it also indicates potential for higher returns, especially for investors who can tolerate short-term volatility.\n", + "2. **Volatility**: The volatility of 30.91% is relatively high, suggesting that while the stock can experience significant price swings, it also presents opportunities for substantial gains. For risk-tolerant investors, this volatility can be seen as a chance to capitalize on price movements.\n", "\n", - "3. **Average Volume**: The average trading volume of 965,145 shares suggests healthy liquidity in the stock. High trading volume often correlates with strong investor interest and can lead to more stable price movements.\n", + "3. **Average Volume**: The average volume of 1,153,685 shares traded indicates a healthy level of liquidity, allowing for easier entry and exit points for investors. High trading volume often correlates with strong investor interest and can support price stability.\n", "\n", - "4. **Price Range**: The price range of 14.42% indicates that the stock has experienced considerable price swings within the month. This can be viewed as a sign of volatility but also presents opportunities for traders to capitalize on price movements.\n", + "4. **Price Range**: The price range of 18.2% suggests that the stock has experienced considerable fluctuations within the month. However, the upward trend and the recent price increase indicate that the stock is currently on a bullish trajectory.\n", "\n", - "5. **Risk Factors**: While the volatility is a concern, the positive total return and upward price trend suggest that the stock is currently in a bullish phase. Investors should be aware of the potential for increased risk but can also benefit from the potential upside.\n", + "5. **Risk Factors**: While the high volatility presents risks, the recent positive performance and the total return of 12.51% over the month suggest that the stock is gaining traction. Investors should be aware of potential market corrections but can take advantage of the current upward trend.\n", "\n", - "6. **Technical Indicators**: If we consider typical technical analysis indicators, such as moving averages or RSI (Relative Strength Index), a further analysis would likely show that the stock is either approaching or is in a bullish trend, supporting the BUY recommendation.\n", - "\n", - "In conclusion, given the recent price appreciation, healthy trading volume, and the potential for further gains despite the volatility, I recommend a BUY for ABUK.CA. Investors should, however, monitor the stock closely due to its high volatility.\n" + "**Conclusion**: Given the strong price performance, reasonable trading volume, and potential for continued growth despite volatility, the recommendation is to BUY ABUK.CA. Investors should monitor the stock closely for any changes in market conditions or company fundamentals that may impact future performance.\n" ] } ], @@ -407,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -420,7 +418,7 @@ "Sharia Assessment for ABUK.CA:\n", "Ruling: DOUBTFUL\n", "Confidence: 50%\n", - "Justification: The business description for ABUK.CA does not provide sufficient information regarding its specific activities, sector, or industry. Without clarity on whether the company engages in any HARAM activities or has excessive debt, it is difficult to make a definitive ruling. Given the lack of transparency, it is prudent to classify the company as DOUBTFUL.\n" + "Justification: The business description for ABUK.CA does not provide sufficient information about its specific activities or revenue sources. Without clarity on whether the company engages in any HARAM activities or has excessive debt, it is prudent to classify it as DOUBTFUL. Further investigation into the company's financials and business operations is necessary to make a definitive ruling.\n" ] } ], @@ -568,7 +566,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -581,7 +579,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAA7h9JREFUeJzs3Xd4U2X7B/Bvkjbde7d0MgqFQsssG2RvVAQFWTL0FRUVXxEnvPBzoqLgAoECskWGKILMFplFWkahtHTSvXfTJjm/Pwqh6aItbU/H93Ndudozc+ckJ8m58zz3IxEEQQAREREREREREVEjkoodABERERERERERtT5MShERERERERERUaNjUoqIiIiIiIiIiBodk1JERERERERERNTomJQiIiIiIiIiIqJGx6QUERERERERERE1OialiIiIiIiIiIio0TEpRUREREREREREjY5JKSIiIiIiIiIianRMShEREdUTNzc3SCQSza05On36tNZjmDNnjtghNajW9niJiIiImhImpYiIqNEVFRVh7dq1GDp0KGxsbKCrqwszMzO4u7vDz88PL774In766SckJSVV2HbNmjVYvny55tYalE+clL1JpVKYmpqia9euWLx4McLCwsQOV1Rnz57FK6+8Ah8fH1hbW2teW927d8eiRYtw8uRJsUOsk6ysLK3Xvb+/v9ghaenatWuF1+b7779f7TbLly+v8nVtYGAAJycnDBs2DKtXr0ZOTk6l+5gzZ47WdlW9JwwZMkRrvfLHryb7SUxMRPv27bXW69atGzIyMmpyiCqIiorCBx98gIEDB8LBwQF6enowMjJChw4d8Nxzz2HHjh1QKBRVbl9SUgJra+sKx+7nn3+uUzxERERi0BE7ACIial0SEhIwfPhw3Lp1S2t+Tk4OcnJyEB0djYsXLwIAjIyM8Pzzz2utt2bNGsTExGimW0tiqiqCICA3NxfXr1/H9evX8eOPP+L777/HvHnz6rQ/uVwOOzs7zbSZmVl9hdqgEhISMHv2bBw/frzCspycHFy9ehVXr17F999/j08++QTvvPOOCFHWXVZWFlasWKGZHjx4cJNp1XXz5k1cv369wvwdO3Zg1apVddpnUVEREhISkJCQgJMnT2LNmjU4ffo02rVr97jh1klKSgqGDRuGiIgIzbxOnTrh+PHjsLS0rNW+iouLsWTJEvz4449Q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Q2FjYwMdHR0YGBjAw8MDkydPxtq1axEbG4s+ffrUOqY2bdrg5MmTOHPmDP7zn//A29sblpaWkMlkMDExgbe3NxYuXIhjx45h6dKl9XUoMHnyZPz9998YPHgwDA0NYWJign79+mHfvn14++236+1+AOC///0vvv32W/j4+NQ6cVdfdu7cqVXnaejQobC2tq5y/QkTJmglfENCQhAaGvrI+5FKpZrn7aWXXkJQUFCVx1MqlWLdunW4cOEC5s+fj44dO8LExAQ6OjqwsLBA79698c477+D27duYMWNGLR6tto8++gjvvPOO1rw///wTzz33XK1qfOnp6eH7779HWFgY3nvvPfTr1w92dnbQ1dWFgYEB2rZtiylTpmDr1q2aQrvlu+49+eST0NHRqfI+nnnmGa3pI0eOaLofExFR7fz7778QBAEdOnSAsbGx5nbmzBncvXsXAKBWq6FQKLB161YMHDgQQ4YMwcaNG3Hq1CmEhYWJ/AiaNokglKsgSURERERERETUCkkkEuzfv1/TEnj37t2YMWMGbt68WaGVq7GxMezt7fHRRx/h448/1mo9W1hYCENDQxw7dgwjRoxozIfQrFT9EwsRERERERERUSvm6+sLlUqFlJQUDBw4sNJ1+vfvD6VSibt376Jt27YAgDt37gAoHYCHqsaWUkRERERERETUauXl5SEiIgJAaRLqQbkBS0tLuLi44Pnnn8c///yDL7/8Er6+vkhLS8PJkyfh7e2NsWPHQq1Wo1evXjA2NsaaNWugVquxaNEimJqa4tixYyI/uqaNSSkiIiIiIiIiarVOnz5d6YAps2fPhr+/P0pKSrBq1Sps3boV8fHxsLKyQt++fbFixQp4e3sDABISEvDqq6/i2LFjMDIywpgxY/Dll1/C0tKysR9Os8KkFBERERERERERNTqOvkdERERERERERI2OSSkiIiIiIiIiImp0rWL0PaVSiatXr8LOzg5SKfNwRERERERERNQ41Go1kpOT4evrCx2dVpGGqbFWcTSuXr2K3r17ix0GEREREREREbVSly5dQq9evcQOo0lpFUkpOzs7AKUvAAcHB6jVaqSnp8PKyootp4geE88novrD84mo/vB8IqpfPKeI6i4xMRG9e/fW5CbooVaRlHrwpung4IA2bdpArVZDLpfD1taWb6hEj4nnE1H94flEVH94PhHVL55T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clREVF+afLouMTERM2fORMeOHfHaa69h5syZ2Llzp9hhETW6vVfuITItHwDQ290SQzrYiBwREVHzYWuij/7trAEAcRmF+Dc2S9yAiIjokQqLVViw9Qris0prRnVtY4avp/nwh1miFkT00ffKO336tNb0a6+9htdee02cYIiaiMJiFdYcv6OZXjq6I3/hJyKqpUk+Tgi8P1DEweB49HC1EDkiIiKqilotYMneYITEZQEAHM308fOsnjCQy6rfkIialSbfUoqIgC3no5GcowAAjPCy44UUEVEdjOpsBz2d0q8+f1xLRImKwzMTETVVq4+F4c/rSQAAI7kMG+f0gq1pxRHbiah5Y1KKqInLLijB96dKR9yTSoD/NtPivEREYjPR18XwTnYAgPT8YpyNSBM5IiIiqsyeoDh8f/ougNLvv+umd0cnB1ORoyKihsCkFFET98OZu8gpKi3s+FT3NuhgZyJyREREzdckH0fN/wevxosYCRERVebc3TS8+9vDEdqXT+yMoR1tRYyIiBpSk6spRUQPJWUXYfM/UQAAuUyKN0Z0EDkiIqKKwsLCHr3SY/D0rL8WokM8bWFmoIvswhIcC01GQbEShnJ+HSIiagpScxV4adsVKNUCAGBOPzfM6usmblBE1KDYUoqoCfvmRDgUytKaJzP7usLJ3EDkiIiImje5jhRjve0BAAXFKvwdmixyRERE9MDB4HhND4EnOtrig/FeIkdERA2NSSmiJioyNQ97guIAAMZ6Olg0tJ3IERERtQyTfJw0/x8MThAxEiIiKuuvG0ma/98f1wkyKUebJmrpmJQiaqK+PHYHqvtNlxcO8oClkVzkiIiIWobebpZwMCsdwSngTioy8otFjoiIiFJyinAlNhMA0MHOGB42xiJHRESNgUkpoibo2r0s/HE9EQBgbSzHvAHuIkdERNRySKUSTOxWWvBcqRY077dERCSeY6HJEEp/j8XozvbiBkNEjYZJKaIm6PO/HhYNfvWJ9jDSYxFeIqL6pNWFj6PwERGJ7ujNh133RnVhUoqotWBSiqiJORuehrMRaQAAZ0sDPNfbReSIiIhank4OJuhgV9o1JCgmE3EZBSJHRETUemUXlOD83XQAQBsLA3g5mIocERE1FialiJoQQRDw+dHbmuklIzwh1+FpSkRU3yQSiVZrqUMhLHhORCSWE7eTobxfS3V0Z3tIJCxwTtRa8GqXqAk5ciMJ1+5lAwA62ptoap4QEVH9K/seezA4HsKDYiZERNSoyo66N5pd94haFSaliJoIpUqN1Ucf1pJaOrojpBwGl4iowThbGqKnqwUA4E5yHm4n5YocERFR61NQrMSZO6kAABsTPXR3sRA5IiJqTExKETURe6/cQ2RaPgCgt7slhnjaiBwREVHLN8nnYWupA8EseE5E1NjOhKVCoVQDAEZ62fFHWSIAAQEBmDBhAhwdHSGRSHDgwIFq1//tt98wYsQI2NjYwNTUFH379sXRo0e11vH394dEIqlwKyoqasBH8mhMShE1AYXFKqw5fkczvXR0R/alJyJqBOO6OkLn/gXQ78EJUKvZhY+IqDH9dZNd94jKy8/PR7du3bBu3boarR8QEIARI0bgzz//xJUrVzB06FBMmDABV69e1VrP1NQUiYmJWjd9ff2GeAg1xnHmiZqALeejkZyjAACM8LJDD1c2WyYiagyWRnIM6mCDk7dTkJBdhMvRGejjYSV2WERErYJCqcLJWykAAFN9Hfjx/ZcIADBmzBiMGTOmxuuvWbNGa/rjjz/GwYMH8fvvv8PX11czXyKRwN6+aSV/2VKKSGTZBSX4/lQEAEAqAf47ylPkiIiIWhftLnwchY+IqLGcu5uOXIUSADDcyw66Ml6eUsuWm5uLnJwczU2hUDTI/ajVauTm5sLS0lJrfl5eHlxdXdGmTRuMHz++QksqMfCsJxLZjwF3kVNU+mH8VPc26GBnInJEREStywgvOxjKZQCAP68novh+bRMiImpYR8uOute5abXeIGoIXl5eMDMz09w++eSTBrmfL7/8Evn5+Zg6dapmXseOHeHv749Dhw5h586d0NfXR//+/REeHt4gMdQUu+8RiSg5pwib/4kCAMhlUrw+vL3IERERtT6Gch2M9LLDgeAEZBeW4MydVIzwshM7LCKiFk2lFnAsNBkAYKArw6AOHOSHWr7Q0FA4OTlppvX09Or9Pnbu3Inly5fj4MGDsLW11cz38/ODn5+fZrp///7o3r071q5di2+//bbe46gptpQiEtE3J8JRVFL6i/zMvq5oY2EockRERK3TJJ+HXxA5Ch8RUcO7HJ2BjPxiAMAQTxvo68pEjoio4ZmYmMDU1FRzq++k1O7duzFv3jzs2bMHw4cPr3ZdqVSKXr16id5SikkpIpFEpuZh9+U4AICxng4WDW0nckRERK3XgPbWsDSSAwCOhyYjt6hE5IiIiFq2v25w1D2i+rRz507MmTMHO3bswLhx4x65viAICA4OhoODQyNEV7U6J6UKCwsRFRWF0NBQpKSk1GdMRK3Cl3/fger+0OMLB3loLoaIiKjx6cqkGN+19EuZQqnGsZvJIkdERNRyCYKAYzdLk1K6MgmGdrR9xBZErUteXh6Cg4MRHBwMAIiKikJwcDBiY2MBAMuWLcOsWbM06+/cuROzZs3Cl19+CT8/PyQlJSEpKQnZ2dmadVasWIGjR48iMjISwcHBmDdvHoKDg/HSSy816mMrr1ZJqfj4eCxfvhy9evWCqakp2rVrB29vbzg4OMDW1hbPPPMMDh48CLWaBUKJqnP9Xjb+uJYIALA2lmPeAHeRIyIiIu1R+NiFj4iooVyPz0ZCdhEAoH87a5jq64ocEVHTEhQUBF9fX/j6+gIA3nzzTfj6+uLDDz8EACQmJmoSVADw008/QalUYtGiRXBwcNDcFi9erFknKysLCxcuRKdOnTBy5EjEx8cjICAAvXv3btwHV06NCp0nJibi3Xffxfbt22FkZIR+/frhnXfega2tLfT19ZGRkYHIyEhcuHABTz75JFxdXfHJJ5/g2Wefbej4iZqlz4/e1vz/6hPtYaTHMQeIiMTW3cUCzpYGiMsoxD8RaUjJLYKtib7YYRERtTh/cdQ9omoNGTIEgiBUudzf319r+vTp04/c59dff42vv/76MSOrfzW6Eu7QoQN69+6NXbt2YcKECdDVrTqTHRkZic2bN2PRokWIj4/HkiVL6i1Yopbgn4g0BIanAQCcLQ3wXG8XkSMiIiIAkEgkmNTNCetORUAtAH9cS8Tc/mzJSkRUnwRB0CSlpBJgOEc7JWrVatR97+DBgzhx4gSeeuqpahNSAODh4YGVK1ciMjISw4YNq5cgiVoKQRDw2V8PW0ktGeEJuQ7HGyAiaiq0u/AliBgJEVHLFJGSh8i0fABALzdLWBvX7+hjRNTwCgsLER8fD6VS+dj7qtHV8BNPPFHrHZuZmcHHx6fW2xG1ZEduJOHavdJicx3tTTCxm+MjtiAiosbU3s4EXg6mAICQuCxE3b9wIiKi+sFR94iar1OnTqFv374wMTGBq6srrl27BgBYtGgRfvvttzrtk000iBqJUqXG6qNhmumloztCKpWIGBEREVVmsu/DHwwOsbUUEVG9+uvmw6TUKNaTImo2Tp48iZEjR6KoqAhvvfWW1gB31tbWFepc1dRjJ6WSkpLw8ssvY8qUKfjll18ed3dELdbeK/c0TZV7u1liiKeNyBEREVFlJnRzhOT+bwYHg+OrLTRKREQ1F5dRgJsJOQCAbm3M4GhuIHJERFRTH374IcaOHYurV69i1apVWsu6deuG4ODgOu23VkN+zZw5E0VFRdi7dy8AQK1W44knnkBkZCSsra2xf/9+FBUVYf78+XUKhqilKipRYc3xO5rppWM8IZGwlRQRUVPkYGaAPu6WuBCZgci0fFyPz0bXNuZih0VE1OwdLdNKaiRbSRE1K1evXtXkgspfy9rY2CAlJaVO+61VS6mAgACMHTtWM3348GFEREQgKCgI9+7dw/z58/Hdd9/VKRCilsz/XDSScxQAgOGd7NDD1VLkiIiIqDqTfZw0/x9kFz4ionrBelJEzZeOjg5KSkoqXZaSkgITE5M67bdGSanY2FjExMQgKSkJhoaGiI2NRWxsLI4cOQJfX1+YmZkhNjYWEyZMwN27dxEXF4fY2Fjk5OTUKSiiliS7oATfn4oAAEgkwNujPUWOiIiIHmVMFwfIZaVfk34PSYBKzS58RESPIyW3CFdiMwEA7W2N0dbGWOSIiKg2evXqhW3btlW67Ndff0Xfvn3rtN8add+bPXs2AKCkpARffvkljIyMAJQ237K0tMSsWbMAAAqFAvn5+Zr158yZo1lG1Fr9GHAXOUWlQ2U+5dsGHezqlkEmIqLGY2aoiyGeNjgWmoyUXAXO303HgPbWYodFRPRYwsLCHr1SFQRBQFZWFrKysqosQ+HpWfWPr3+HJuNBiT62kiJqft555x2MGjUKTz75JGbNmgWJRIKLFy9i06ZN+PXXX3Hq1Kk67bdGSakHO7e1tcX/t3ff4VFW6f/HP5M2KaSQQhoQAkho0pEO8kVAbFhw0bULKqKrwq6FVX+rroqsrqKrgg3R1RVcWQQFCxZABaQGQZpAIEAaSUgnbeb5/REYEiEhCZk8M8n7dV1zXTPPnDnnfiZzptw55b777tONN96o0tJSRUZG6vnnn9c111wjqSJJNWbMGH333Xf1CgZoatLzivXuT0mSJB9PD00bfZ7JEQEAauvK3rH6eke6pIoFz0lKAUD9VZ66x657gPu56KKL9N577+mBBx7QkiVLJEn33HOPQkJCNH/+fA0dOrRe9dZpofORI0fq4Ycf1rFjx7Rq1SpHYCdt27ZNHTt2rFcgQFP08re/qbisYqvMGwfGqXVLf5MjAgDU1v91bqUWVi8VlJTry+1p+vuV3eXr7Wl2WADgdnKLyrR2X5YkqXVLP3WLCTI5IgD1ceONN+qaa67RmjVrlJ6ervDwcA0ZMsQxm64+6pSU+uc//6mrrrpK999/v1q0aKG33npLwcHBjvvnzJlTZSF0oDlLyizUwg2HJEktrF66Z2QHkyMCANSFr7enLu4epU82HVZ+Sbm+25WhS86PNjssAHA73+5KV/mJtfku7hbFLtSAG/Pz89OoUaMarL46JaVat26tDRs2KCcnR0FBQfLwqLpO+oIFC9SqVasGCw5wZy98vduxMO4dw9orrIXV5IgAAHV1Za9YfbLpsKSKKXwkpQCg7th1D2g6fv31Vx08eFDFxcWn3Xf11VfXub46JaVOCgkJOePxuLi4+lQHNDnbDudq2S+pkqSwAB9NHhZvckQAgPoY1CFMEYFWHc0v0fe7jiq3qEzB/t5mhwUAbqOotFyr9hyVJEUEWtWnbUuTIwJQH/v27dOECRP0yy+/SKrY/KAyi8Uim81W53prlZQqLCys1xzB+j4OcHf/+GqX4/qf/q+jAqz1yv8CAEzm6WHR5T1iNO+nJJXa7Ppie6quu6Ct2WEBgNtYtfuoSsor1lgd3TVSHh5M3QPc0Z133qm0tDS99NJL6tKli3x8fBqk3lr9Uo6Pj9eMGTM0adIkBQWdfVG6DRs26O9//7v69++vxx9//JyDBNzJT3sz9cNvmZIqFnL84wBGEAKAO7uyd0VSSpKWJKaQlAKAOvjy10pT99h1D3Bb69ev11tvvaXrrruuQev1OHsR6YUXXtCLL76o6OhoXXfddXrjjTe0YcMGHTx4UOnp6dq5c6c+//xzPfbYYzr//PM1cOBABQQE6Pbbb2/QYAFXZxiGZn15apTUn8d0ko9XrboZAMBFnR8brPjwipHf65KylJZ7+hoKAIDTlZTb9N3ODElSkK+XBrYPMzkiAPUVERFRZaO7hlKrkVI333yzrr32Ws2fP19z587Vxx9/fNqOCYZhyM/PTxMmTND8+fPVt2/fBg8WcHVfbE/TL4dzJUmdowI1vmesyREBAM6VxWLR+F4xmv3NbzIMaenWI7pzODuqAsDZrNmXpfyScknSRV0i+Wct4MbuvvtuvfXWWxo3blyD1lvrhW78/Px099136+6779aRI0e0Zs0apaSk6Pjx4woPD1fnzp01YMAAeXuz+Ceap3KbXS98tdtx+6GLE5gzDwBNxPhesZr9zW+SKqbwkZQCgLP7utLUvbHsuge4tQcffFB//vOf1bdvX40bN06hoaFV7rdYLJo2bVqd663X6suxsbG69tpr6/NQoMn676bD2p9ZKEm6oF2oRia0MjkiAEBDiQ8PUM/Wwdp6OFe/puRpb0a+OrYKNDssAHBZNruhr39NlyT5eXtq+HkRJkcE4Fz8/PPPeu+995Sdna0tW7acdn+jJqUAVFVcZtPsb/Y4bj88LuG0Ka4AAPc2vlestp6Yov3plhT9ZWyCyREBgOvaeCBbWYWlkqQLEyLk5+NpckQAzsW9996r8PBwzZs3r/F33wNQs/lrDig9r0RSxXz5vnGhZ3kEAMDdXNYzWk8v2yG7IS3ZekR/HtOJf0AAQDWq7LrH1D3A7f36669asGCBrrjiigatl5XmgHOUW1Sm17/fK0myWKQH+c85ADRJrQJ9NaRjuCTpUPZxbU7OMTcgAHBRhmHoq+0VSSlvT4tGdmZZC8DdtW3bVoZhNHi9jJQCztHc1fuUV1yxq8jVvVsrIYo1RoDmbPfu3WcvVA3DMJSTk6OcnJxqR+AkJJD4NtP4XrH64bdMSdKSxCPqG9fS5IgAwPVsO5KrlNxiSdKQjuEK8mUzLMDdPfLII3rhhRc0duxY+fr6Nli9JKWAc5CeV6x3f0qSJPl4emja6PNMjggA4Exju0Xq0cUeKim3a9kvqXr8sq7y9mTgOQBU9uX2SrvudWPqHtAUbN68WUeOHFGHDh00cuTIM+6+9/LLL9e5XpJSwFkUl9mUVViq7IJSZRWWKKugVNmFpcoqLNWGA9kqLrNLkm4cGKfWLf1NjhYA4EyBvt66qEuklm1LVVZhqX7cm8luqwBQiWEYjqSUxSKN7hppckQAGsKrr77quP6f//zntPsbNSm1a9cuPfnkk1q5cqWysrK0bt069enTR08++aSGDx+ukSNH1qdaoFHUlGTKKig5db2wRNkFpSostZ21zhZWL90zskMjRA8AMNv4XjFati1VkrRkyxGSUgBQyd6MAu3PLJQk9W8XqvAWVpMjAtAQ7Ha7U+qtc1IqMTFRw4YNU2BgoC688EJ9/PHHjvsKCgo0d+5cklJoVM5IMtWFh0V6+OIEhfGBCwDNwoUJrRTs563c42X6eke6ikrL5e/D4HMAkKpO3buYqXsAzqLO36AeeeQR9ejRQytWrJCPj48WLlzouO+CCy7QokWLGjRAND9mJ5lOaunvrdAAH4UFWBXWwufEdR+FtbBWuR4V5KtgfxZvBIDmwsfLQ5ecH6WP1h9SUalNK3aka3yvWLPDAgCX8OWvldaT6k5SCkDN6pyU+umnn/TBBx/I399fNlvVZEBkZKTS0tKqeSSaK3dLMoUG+Kilv7e8WLgWAFCN8b1i9dH6Q5KkJYkpJKUAQNKh7CL9mpInSerROlixIX4mRwSgoXh4eFS7O/RJv88R1Uadk1KGYcjHx+eM9x07dkxWK1OYmjqSTACA5u6CdqGKDvZVam6xVu85quzCUoUGnPn7EQA0F1/9yq57QFP1//7f/zstKXX06FF9/fXXstlsuvnmm+tVb52TUj169NDixYs1bty40+778ssv1bdv33oFAvO4SpIpxN+7IpEUcCKp1IIkEwDANXl4WHRFzxi9sXq/yu2Glm1L1U0D48wOCwBMVTkpdTFT94Am5Yknnjjj8dLSUo0dO1atWtVv45c6J6Xuv/9+/fGPf1RAQIBuuukmSVJycrK+++47zZs3T5988km9AkHDcfUkU+iJ5FJYgI9CW1TcT5IJAOBuxveK1Rur90uq2IWPpBSA5iz3eJk2HjwmSTqvVQt1iGhhckQAGoOPj4/+9Kc/6eGHH9bdd99d58fXOSk1ceJE7du3T0888YReeeUVSdI111wjLy8vPfnkk7r88svrHAQaztH8EvV/5hun1E2SCQCAU7pEB6pTZAvtSS/QxoPHdCi7SG1C/c0OCwBMkXgoR4ZRcZ2pe0Dz4ufnp9TU1Ho9tl77F//1r3/VzTffrK+++krp6ekKDw/X2LFjFRfHfwjN1rIOu8CRZAIAoP4sFovG94rV81/tliQt3Zqie0Z2NDkqADDHpoPHJFX8XmDqHtB8HD16VM8//7wSEhLq9fh6JaUkqXXr1po0aVJ9Hw4n8fL00MiECFm9PBXawkfhJ5JMoS2sFddPLAge6u9DkgkAgHN0Rc8YR1JqSeIRTb2ww1l3pnFHu3fvdmr99f0iC8A1FJXYtDstX1LFjnvdYoLMDglAA4uPjz/tO05JSYkyMjLk4eGhpUuX1qveOielPv/8cx04cED33nvvafe99tprio+P1yWXXFKvYNAw3r3tArNDAACgWWgT6q9+cS218eAx7Ukv0K60fHWJ5scYgOZl6+Ec2ewVc/cu7h7VJJPzQHM3YsSI0/q2r6+v2rVrp4kTJ6pdu3b1qrfOSalnnnlG48ePP+N9hYWFevbZZ0lKAQCAZmN8rxjH4r6fJh4hKQWg2dmcfMxxnal7QNM0f/58p9Rb5/lbu3btUp8+fc54X+/evbVjx45zDgoAAMBdXNojRl4eFf85/CwxRfYTowUAoDkoKbdp+5FcSVJ4C6v6tG1pckQA3EmdR0qVlJSotLS02vuOHz9+zkEBAAC4i9AAHw3vFKHvdmUoJbdYGw5ka0D7MLPDAoBGsf1InspsFcn4Md0i5enB1D2gqXj//ffrVP7mm2+ucxt1TkolJCTo888/12WXXXbafZ9//rk6depU5yAAAADc2fheMfpuV4Yk6dPEFJJSAJqNLZWn7nVj6h7QlNx66621LmuxWBonKXX77bdr2rRpioyM1NSpUxUZGan09HTNmTNHb7/9tl588cU6BwEAAODORneNlL+Pp4pKbVq+LVVPXtFNPl7scgugaSu3Gdp6qGLqnr+PpwaSkAealKSkJKe3Ueek1L333qsNGzbo73//u55++ml5enrKZrPJMAzddNNNuu+++5wRJwAAgMvy9/HSmK6R+jQxRbnHy7Rqz1GN7hppdlgA4FQ70/J0vMwmSerZOoRkPNDExMXFOb2NOielLBaL3n//fd1xxx368ssvdfToUUVERGjcuHEaOnSoM2IEAABweeN7xerTxBRJFbvwkZQC0NRVnrrXu22IeYEAaDT5+flau3atsrKyFB4eroEDByowMLDe9dU5KXXSsGHDNGzYsHo3DAAA0JQMPS9coQE+yi4s1Tc70pVfXKZAX2+zwwIAp7AbhrYk50iSvL0s6h4bbG5AAJzuhRde0JNPPqmioiIZhiGLxSJ/f389+eSTmj59er3qZHwlAABAA/D29NBlPaIlSSXldn39a7rJEQGA8+xNL1B+cbkk6fwYpu4BTd3777+vhx56SMOHD9eCBQv0ww8/aMGCBRoxYoQefPBB/fvf/65XvbV652jfvr22bt0qSYqPj1f79u2rvXTo0KFegQAAALi78b1iHNc/TTxiYiQA4FybK03d6xMXYl4gQBO0evVqXX755YqJiZHFYtGnn3561sesWrVKffv2la+vr9q3b6+5c+eeVmbRokXq2rWrrFarunbtqsWLF9c6ppdeekl//OMftWzZMl177bUaMmSIrr32Wn3++ee6/vrr9dJLL9XlFB1qNX1vxIgRCgoKcly3WCz1agwAAKAp69O2pdqE+ulQ9nH9tDdTGfnFahXoa3ZYANCgDMNwJKU8PSzq0TrE3ICAJqawsFA9e/bUbbfdpmuuueas5ZOSknTJJZfojjvu0AcffKCffvpJU6dOVUREhOPxa9eu1cSJE/X3v/9dV111lRYvXqw//OEP+vHHHzVgwICztrFr1y7NnDnzjPfdeOONuuqqq+p2kifUKin17rvvOq7Pnz+/Xg0BAAA0dRaLReN7xurV7/fKbkjLfknVbUPizQ4LABrUwewiZReWSZK6RAfK38fT5IiApmXcuHEaN25crcvPnTtXbdu21ezZsyVJXbp00caNG/XCCy84klKzZ8/W6NGjNWPGDEnSjBkztGrVKs2ePVsfffTRWdvw8/NTdnb2Ge/Lzs6Wn59freOtrE4Tf48fP64hQ4bom2++qVdjAAAATV3VKXwpJkYCAM6x+WClqXttW5oYCQCpYhTUmDFjqhwbO3asNm7cqLKyshrLrFmzplZtDBs2TE888YRSUqp+t0lLS9NTTz2l4cOH1yv2Ou2+5+fnp23btsnLq96b9gEAADRp50UGqmt0kHak5mnroRwlZRYqPjzA7LAAoME41pOySL3ahpgaC+BO8vPzlZeX57httVpltVrPud60tDRFRkZWORYZGany8nJlZmYqOjq62jJpaWnV1nv06FFFRERIkp555hkNHjxYHTt21KhRoxQdHa3U1FR999138vb21v/+9796xV7nLRIGDRqk9evX16sxAACA5uDK3qdGSy1ltBSAJiQ157jSckskSee1aqEgX2+TIwLcR9euXRUcHOy4VLdGU338fu1vwzBOO36mMjWtGR4bG6sJEyboiy++ULdu3bRx40aNHz9eGzZs0LvvvqsNGzboyiuv1Pr169W1a9d6xV3nIU///Oc/NX78eEVFRenqq69WixYt6tUwAABAU3V5zxjN/GKXDENaknhE943qyEYxAJqEzck5jut9mbqHE3bv3u30NhISEpzehrPt2LFD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", + "image/png": "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1ADwXiVqGHivEtWN7IJiXInNBAA4WBiimUnN60ndvz+lUmmlPaV4HxPVHd5fOjj7Xmk5OTmIioqCg4ODtkMhIiIiIiLSqnM306BSl9SP8rGvWXkTIiJdolM9pebOnYvhw4fD1dUV8fHx+PDDDyGTyTBx4kQAQGJiIhITE8WeU8HBwVAoFHBxcYGlpaU2QyciIiIiIqpTp6Luij/fL3JORNSQ6VRSKjY2FhMnTkRqaipsbGzQo0cPnD17FjY2NgCAb7/9VqNoea9evQAAGzZswNSpU7URMhERERERUb04FVmSlJJKAC97JqWIqOHTqaTU5s2bK12/cOFCLFy4sH6CISIiIiIi0hHJ2QW4npQDAGjrZAFjA5mWIyIienw6XVOKiIiIiIiIgNORD6aO7+FhpcVIiIhqD5NSREREREREOu7+0D0A6N7SWouREBHVHialiIiIiIiIdJggCGJSSq4nRUfXZlqOiIiodjApRUREREREpMNup+YhPrMAANDZzRKG+qwnRUSNA5NSREREREREOkxj6J4Hh+4RUePBpBQREREREZEO00xKscg5ETUeTEoRERERERHpKJVawJmbJTPvmRnqoXVzcy1HRERUe5iUIiIiIiIi0lGh8VnIyCsGAAS0tIZMKtFyREREtYdJKSIiIiIiIh11KopD94io8WJSioiIiIiISEexyDkRNWZMShEREREREemgQqUK/91OAwA4mBvC3dpEyxEREdUuJqWIiIiIiIh00KXoDBQUqwGU9JKSSFhPiogaFyaliIiIiIiIdJDm0D3WkyKixkdP2wEQERERERFRWaWLnAe01L16UhEREfV2Li8vr3o7FxHVH/aUIiIiIiIi0jFZBcW4EpMBAGhlawo7M0PtBkREVAeYlCIiIiIiItIx526mQS2U/MxZ94iosWJSioiIiIiISMdo1pNiUoqIGicmpYiIiIiIiHTM/aSUVAJ0bWGp5WiIiOoGk1JEREREREQ6JDmrADeScwAA7ZwtYGaor+WIiIjqBpNSREREREREOqT0rHvddXDWPSKi2sKkFBERERERkQ45FZkq/hzgYaXFSIiI6haTUkRERERERDpCEASxnpShvhQdXZppOSIiorrDpBQREREREZGOuHU3FwmZBQCAzm6WMNSXaTkiIqK6w6QUERERERGRjjgV9WDoXncP1pMiosaNSSkiIiIi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p59+WgkJCXr99dddnPzsKEoBAAAAAAC4seLiYm3YsEGDBg1ytFmtVg0aNEhr1qyp8jFr1qyptL8kDRky5Kz7m8HH7ACuZrfbJUlpaWkmJ6m9sw3Nqw/BwcFuncMZGQzDUHZ2toqLi2WxWM47g7Ny1FR1OeBeeF84l91u17Fjx1RcXCyrtXbfqfCaoCru8r5wlxx15U3nqrvkQDl3eT28JYc3fQZ2lxw4zVWviae/HqfqEllZWQoLC3O0+/v7y9/fv9K+R48eVVlZmaKioiq1R0VFaefOnVX2n56eXuX+6enpzojvFA2uKHX48GFJUp8+fUxOAgAAAAAAGrpu3bpV2p42bZqefPJJc8K4WIMrSsXHx+unn35SVFRUrb+9g3fJyclRly5dtH37doWGhpodB8BZcK4CnoFzFfAMnKuA+ex2u/bv368uXbrIx+d0eea3o6QkqVmzZrLZbI6BNqccPnxY0dHRVfYfHR19XvubocEVpXx8fHTRRReZHQNuJDs7W5IUExNTacgkAPfCuQp4Bs5VwDNwrgLuoXXr1jXaz8/PT71799bSpUt13XXXSSovai1dulT33ntvlY/p16+fli5dqsmTJzvalixZon79+tU1ttM0uKIUAAAAAACAp5kyZYrGjx+vCy+8UH369NGMGTOUl5enCRMmSJLGjRunmJgYPfvss5KkSZMm6bLLLtOLL76oa665RvPnz9f69ev19ttvm/k0KqEoBQAAAAAA4OZuvPFGHTlyRE888YTS09PVq1cvLV682LGY+f79+ystU5SYmKh58+bpscce01//+ld17NhRixYtOmMNKzNRlEKD5+/vr2nTplU5bxeA++BcBTwD5yrgGThXAc907733nnW63vLly89o++Mf/6g//vGP9Zyq9iyGYRhmhwAAAAAAAEDDwuXnAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSl4DLPPvusLrroIoWGhioyMlLXXXedUlJSKu1TWFioe+65R02bNlVISIhuuOEGHT582HH/pk2bNGrUKLVq1UqBgYHq3LmzXnnllUp9LF++XBaL5Yyf9PT0avMZhqEnnnhCzZs3V2BgoAYNGqRffvnljP2++OILXXzxxQoMDFTjxo113XXXVdvv8uXLde2116p58+YKDg5Wr169NHfu3LPuP3/+fFkslnP2C9QXTz9Xz9avxWLRunXrqu17+fLlSkhIkL+/vzp06KDZs2dXun/FihUaNmyYWrRoIYvFokWLFlXbH1CfOFfPfq6WlZXp8ccfV2xsrAIDA9W+fXs9/fTTYilVmKGhnqtpaWkaPXq0LrjgAlmtVk2ePPmMfWbPnn1GnwEBAdXmBeBdKErBZb7//nvdc889+vHHH7VkyRKVlJRo8ODBysvLc+xz//3363//+58WLlyo77//Xr/++qtGjBjhuH/Dhg2KjIzUhx9+qG3btunRRx/V1KlT9frrr59xvJSUFKWlpTl+IiMjq833j3/8Q6+++qpmzpyptWvXKjg4WEOGDFFhYaFjn08++URjx47VhAkTtGnTJq1atUqjR4+utt/Vq1erR48e+uSTT7R582ZNmDBB48aN0+eff37Gvnv37tVf/vIXDRgwoNo+gfrk6edqYmJipf7S0tJ02223KTY2VhdeeOFZ+01NTdU111yjyy+/XMnJyZo8ebJuu+02ff3114598vLy1LNnT73xxhs1/v8J1BfO1bOfq88//7z++c9/6vXXX9eOHTv0/PPP6x//+Idee+21Gv//BZyloZ6rRUVFioiI0GOPPaaePXuedb+wsLBKfe/bt6/avAC8jAGYJCMjw5BkfP/994ZhGEZmZqbh6+trLFy40LHPjh07DEnGmjVrztrP3XffbVx++eWO7e+++86QZJw4caLGWex2uxEdHW383//9n6MtMzPT8Pf3Nz766CPDMAyjpKTEiImJMd59990a93s2V199tTFhwoRKbaWlpUZiYqLx7rvvGuPHjzeuvfbaOh8HcAZPO1d/q7i42IiIiDCeeuqpavt+6KGHjK5du1Zqu/HGG40hQ4ZUub8k49NPP61xdqC+ca6ePlevueYa409/+lOlfUaMGGGMGTOmxs8BqC8N5Vyt6LLLLjMmTZp0RvusWbOMRo0a1bgfAN6HkVIwTVZWliSpSZMmksq/ASopKdGgQYMc+3Tq1EmtW7fWmjVrqu3nVB8V9erVS82bN9fvfvc7rVq1qtosqampSk9Pr3TsRo0a6eKLL3YcOykpSYcOHZLValV8fLyaN2+uoUOHauvWrTV/0tVkfuqppxQZGalbb731vPsD6pOnnau/9d///lfHjh3ThAkTqu17zZo1lfqVpCFDhlT7nAB3wrl6ut/ExEQtXbpUP//8s6TyqU8rV67U0KFDq+0bcIWGcq7WVG5urtq0aaNWrVrp2muv1bZt25zSLwDP4GN2ADRMdrtdkydP1iWXXKJu3bpJktLT0+Xn56fw8PBK+0ZFRZ11Lvzq1au1YMECffHFF4625s2ba+bMmbrwwgtVVFSkd999VwMHDtTatWuVkJBQZT+n+o+Kijrrsffs2SNJevLJJ/XSSy+pbdu2evHFFzVw4ED9/PPPVX4oqMrHH3+sdevW6a233nK0rVy5Uu+9956Sk5Nr1AfgKp54rv7We++9pyFDhqhly5bVPtf09PQq+83OzlZBQYECAwOrfTxgJs7VyufqI488ouzsbHXq1Ek2m01lZWX6+9//rjFjxlTbN1DfGtK5WhNxcXF6//331aNHD2VlZemFF15QYmKitm3b5pT+Abg/ilIwxT333KOtW7dq5cqVte5j69atuvbaazVt2jQNHjzY0R4XF6e4uDjHdmJionbv3q2XX35Zc+bM0dy5czVx4kTH/V999ZVsNts5j2e32yVJjz76qG644QZJ0qxZs9SyZUstXLhQEydOVNeuXR3z4AcMGKCvvvqqUh/fffedJkyYoHfeeUddu3aVJOXk5Gjs2LF655131KxZs1r+3wDqhyeeqxUdPHhQX3/9tT7++ONK7SEhIY7bN998s2bOnHm+TwtwK5yrlX388ceaO3eu5s2bp65duzrWnmrRooXGjx9/XtkAZ+Jcraxfv37q169fpcydO3fWW2+9paeffvq8sgHwTBSl4HL33nuvPv/8c61YsaLSNyDR0dEqLi5WZmZmpW+KDh8+rOjo6Ep9bN++XVdeeaXuuOMOPfbYY+c8Zp8+fRy//IcPH66LL77YcV9MTIzS0tIcx2revHmlY/fq1UuSHO1dunRx3O/v76927dpp//79kqQvv/xSJSUlknTGqIrvv/9ew4YN08svv6xx48Y52nfv3q29e/dq2LBhjrZTBTAfHx+lpKSoffv253yOgLN56rla0axZs9S0aVMNHz68UnvFUYlhYWGO51XxSken+g0LC2OUFNwa5+qZ5+qDDz6oRx55RDfddJMkqXv37tq3b5+effZZilIwTUM7V2vD19dX8fHx2rVrV637AOBZKErBZQzD0H333adPP/1Uy5cvV2xsbKX7e/fuLV9fXy1dutQxEiklJUX79++v9A3Ktm3bdMUVV2j8+PH6+9//XqNjJycnO37RhoaGKjQ0tNL9sbGxio6O1tKlSx2/gLOzs7V27Vrdddddjnz+/v5KSUlR//79JUklJSXau3ev2rRpI0mO//7W8uXL9fvf/17PP/+87rjjjkr3derUSVu2bKnU9thjjyknJ0evvPKKWrVqVaPnCDiLp5+rFZ/HrFmzNG7cOPn6+la6r0OHDmccu1+/fvryyy8rtS1ZsqTScwLcCefqab89V/Pz82W1Vl461WazOb70AVypoZ6rtVFWVqYtW7bo6quvdkp/ADyAiYuso4G56667jEaNGhnLly830tLSHD/5+fmOfe68806jdevWxrJly4z169cb/fr1M/r16+e4f8uWLUZERIRx8803V+ojIyPDsc/LL79sLFq0yPjll1+MLVu2GJMmTTKsVqvx7bffVpvvueeeM8LDw43PPvvM2Lx5s3HttdcasbGxRkFBgWOfSZMmGTExMcbXX39t7Ny507j11luNyMhI4/jx42ftd9myZUZQUJAxderUSpmPHTt21sdw9T2YyRvOVcMwjG+//daQZOzYsaNGz3vPnj1GUFCQ8eCDDxo7duww3njjDcNmsxmLFy927JOTk2Ns3LjR2LhxoyHJeOmll4yNGzca+/btq9ExAGfiXD37uTp+/HgjJibG+Pzzz43U1FTjP//5j9GsWTPjoYceqtExAGdqqOeqYRiO35m9e/c2Ro8ebWzcuNHYtm2b4/7p06cbX3/9tbF7925jw4YNxk033WQEBARU2geAd6MoBZeRVOXPrFmzHPsUFBQYd999t9G4cWMjKCjIuP766420tDTH/dOmTauyjzZt2jj2ef7554327dsbAQEBRpMmTYyBAwcay5YtO2c+u91uPP7440ZUVJTh7+9vXHnllUZKSkqlfYqLi40HHnjAiIyMNEJDQ41BgwYZW7durbbf8ePHV5n5sssuq/YxFKVgFm84Vw3DMEaNGmUkJiae13P/7rvvjF69ehl+fn5Gu3btKj3nU/dX9bzGjx9/XscBnIFz9eznanZ2tjFp0iSjdevWRkBAgNGuXTvj0UcfNYqKis7rOIAzNORz9VyZJ0+ebLRu3drw8/MzoqKijKuvvtpISko6r2MA8GwWwzAMJwy4AgAAAAAAAGrMeu5dAAAAAAAAAOeiKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAAAAAAJejKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAAAAAAJejKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAGpTZs2fLYrE4fgICAtSiRQsNGTJEr776qnJycmrV7+rVq/Xkk08qMzPTuYEBAAC8FEUpAADQID311FOaM2eO/vnPf+q+++6TJE2ePFndu3fX5s2bz7u/1atXa/r06RSlAAAAasjH7AAAAABmGDp0qC688ELH9tSpU7Vs2TL9/ve/1/Dhw7Vjxw4FBgaamBAAAMC7MVIKAADgpCuuuEKPP/649u3bpw8//FCStHnzZt1yyy1q166dAgICFB0drT/96U86duyY43FPPvmkHnzwQUlSbGysY2rg3r17Hft8+OGH6t27twIDA9WkSRPddNNNOnDggEufHwAAgDuhKAUAAFDB2LFjJUnffPONJGnJkiXas2ePJkyYoNdee0033XST5s+fr6uvvlqGYUiSRowYoVGjRkmSXn75Zc2ZM0dz5sxRRESEJOnvf/+7xo0bp44dO+qll17S5MmTtXTpUl166aVM9wMAAA0W0/cAAAAqaNmypRo1aqTdu3dLku6++2498MADlfbp27evRo0apZUrV2rAgAHq0aOHEhIS9NFHH+m6665T27ZtHfvu27dP06ZN09/+9jf99a9/dbSPGDFC8fHxevPNNyu1AwAANBSMlAIAAPiNkJAQx1X4Kq4rVVhYqKNHj6pv376SpKSkpHP29Z///Ed2u10jR47U0aNHHT/R0dHq2LGjvvvuu/p5EgAAAG6OkVIAAAC/kZubq8jISEnS8ePHNX36dM2fP18ZGRmV9svKyjpnX7/88osMw1DHjh2rvN/X17fugQEAADwQRSkAAIAKDh48qKysLHXo0EGSNHLkSK1evVoPPvigevXqpZCQENntdl111VWy2+3n7M9ut8tiseirr76SzWY74/6QkBCnPwcAAABPQFEKAACggjlz5kiShgwZohMnTmjp0qWaPn26nnjiCcc+v/zyyxmPs1gsVfbXvn17GYah2NhYXXDBBfUTGgAAwAOxphQAAMBJy5Yt09NPP63Y2FiNGTPGMbLp1FX2TpkxY8YZjw0ODpakM66mN2LECNlsNk2fPv2MfgzD0LFjx5z3BAAAADwII6UAAECD9NVXX2nnzp0qLS3V4cOHtWzZMi1ZskRt2rTRf//7XwUEBCggIECXXnqp/vGPf6ikpEQxMTH65ptvlJqaekZ/vXv3liQ9+uijuummm+Tr66thw4apffv2+tvf/qapU6dq7969uu666xQaGqrU1FR9+umnuuOOO/SXv/zF1U8fAADAdBSlAABAg3RqOp6fn5+aNGmi7t27a8aMGZowYYJCQ0Md+82bN0/33Xef3njjDRmGocGDB+urr75SixYtKvV30UUX6emnn9bMmTO1ePFi2e12paamKjg4WI888oguuOACvfzyy5o+fbokqVWrVho8eLCGDx/uuicNAADgRizGb8eRAwAAAAAAAPWMNaUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgcv8PRt05QdKqU10AAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -686,7 +684,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -873,7 +871,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -883,8 +881,8 @@ "šŸš€ Launching Stock Analysis & Sharia Compliance Interface...\n", "šŸ“ Make sure you have set your OPENAI_API_KEY environment variable\n", "🌐 The interface will open in your browser\n", - "* Running on local URL: http://0.0.0.0:7861\n", - "* Running on public URL: https://83c8badbf7f5d179dd.gradio.live\n", + "* Running on local URL: http://0.0.0.0:7860\n", + "* Running on public URL: https://ebf42ba14d2f6c267b.gradio.live\n", "\n", "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" ] @@ -892,7 +890,7 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ "" @@ -900,102 +898,6 @@ }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "šŸ”„ Analyzing AAPL...\n", - "šŸ“ˆ Fetching 1mo data...\n", - "āœ… Successfully fetched 22 data points for AAPL (1mo)\n", - "šŸ“ˆ Fetching 1y data...\n", - "āœ… Successfully fetched 250 data points for AAPL (1y)\n", - "šŸ“ˆ Fetching 5y data...\n", - "āœ… Successfully fetched 1256 data points for AAPL (5y)\n", - "āœ… Successfully fetched 22 data points for AAPL (1mo)\n", - "šŸ¤– Getting AI trade advice...\n", - "ā˜Ŗļø Assessing Sharia compliance...\n", - "šŸ“Š Creating price chart...\n", - "āœ… Analysis complete for AAPL\n", - "šŸ”„ Analyzing ABUK...\n", - "šŸ“ˆ Fetching 1mo data...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "HTTP Error 404: \n", - "$ABUK: possibly delisted; no price data found (period=1mo) (Yahoo error = \"No data found, symbol may be delisted\")\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", - "šŸ“ˆ Fetching 1y data...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "$ABUK: possibly delisted; no price data found (period=1y) (Yahoo error = \"No data found, symbol may be delisted\")\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", - "šŸ“ˆ Fetching 5y data...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "$ABUK: possibly delisted; no price data found (period=5y) (Yahoo error = \"No data found, symbol may be delisted\")\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "$ABUK: possibly delisted; no price data found (period=1mo) (Yahoo error = \"No data found, symbol may be delisted\")\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āŒ Error fetching data for ABUK: No data found for symbol: ABUK\n", - "šŸ¤– Getting AI trade advice...\n", - "ā˜Ŗļø Assessing Sharia compliance...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "HTTP Error 404: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "šŸ“Š Creating price chart...\n", - "āœ… Analysis complete for ABUK\n" - ] } ], "source": [ @@ -1098,7 +1000,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.10.18" } }, "nbformat": 4, diff --git a/week4/community-contributions/ai_stock_trading/tools/__init__.py b/week4/community-contributions/ai_stock_trading/tools/__init__.py new file mode 100644 index 0000000..eee1806 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/__init__.py @@ -0,0 +1,28 @@ +""" +AI Stock Trading Tools + +This package contains all the core tools for the AI Stock Trading platform: +- fetching: Stock data fetching and market data +- analysis: Technical analysis and stock metrics +- trading_decisions: AI-powered trading recommendations +- sharia_compliance: Islamic finance compliance checking +- charting: Interactive charts and visualizations +""" + +__version__ = "1.0.0" +__author__ = "AI Stock Trading Platform" + +# Import main classes and functions for easy access +from .fetching import StockDataFetcher, stock_fetcher, fetch_stock_data, get_available_stocks +from .analysis import StockAnalyzer, stock_analyzer, analyze_stock +from .trading_decisions import TradingDecisionEngine, trading_engine, get_trading_recommendation +from .sharia_compliance import ShariaComplianceChecker, sharia_checker, check_sharia_compliance +from .charting import StockChartGenerator, chart_generator, create_price_chart + +__all__ = [ + 'StockDataFetcher', 'stock_fetcher', 'fetch_stock_data', 'get_available_stocks', + 'StockAnalyzer', 'stock_analyzer', 'analyze_stock', + 'TradingDecisionEngine', 'trading_engine', 'get_trading_recommendation', + 'ShariaComplianceChecker', 'sharia_checker', 'check_sharia_compliance', + 'StockChartGenerator', 'chart_generator', 'create_price_chart' +] diff --git a/week4/community-contributions/ai_stock_trading/tools/analysis.py b/week4/community-contributions/ai_stock_trading/tools/analysis.py new file mode 100644 index 0000000..9ab856e --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/analysis.py @@ -0,0 +1,316 @@ +""" +Stock Analysis Module + +This module provides enhanced technical and fundamental analysis capabilities +for stock data with advanced metrics and indicators. +""" + +import pandas as pd +import numpy as np +from typing import Dict, List, Optional, Tuple, Union, Any +import warnings + +warnings.filterwarnings('ignore') + +class StockAnalyzer: + """Enhanced stock analyzer with comprehensive technical indicators""" + + def __init__(self): + pass + + def analyze_stock(self, data: pd.DataFrame) -> Dict: + """ + Comprehensive stock analysis with enhanced metrics + + Args: + data: DataFrame with OHLCV stock data + + Returns: + Dictionary with analysis results + """ + if data.empty: + return {'error': 'No data provided for analysis'} + + try: + analysis = {} + + # Basic price metrics + analysis.update(self._calculate_price_metrics(data)) + + # Technical indicators + analysis.update(self._calculate_technical_indicators(data)) + + # Volatility analysis + analysis.update(self._calculate_volatility_metrics(data)) + + # Volume analysis + analysis.update(self._calculate_volume_metrics(data)) + + # Trend analysis + analysis.update(self._calculate_trend_metrics(data)) + + # Risk metrics + analysis.update(self._calculate_risk_metrics(data)) + + # Performance metrics + analysis.update(self._calculate_performance_metrics(data)) + + return analysis + + except Exception as e: + return {'error': f'Analysis failed: {str(e)}'} + + def _calculate_price_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate basic price metrics""" + close_prices = data['Close'] + + return { + 'current_price': float(close_prices.iloc[-1]), + 'start_price': float(close_prices.iloc[0]), + 'max_price': float(close_prices.max()), + 'min_price': float(close_prices.min()), + 'price_range_pct': float(((close_prices.max() - close_prices.min()) / close_prices.min()) * 100), + 'total_return_pct': float(((close_prices.iloc[-1] - close_prices.iloc[0]) / close_prices.iloc[0]) * 100) + } + + def _calculate_technical_indicators(self, data: pd.DataFrame) -> Dict: + """Calculate technical indicators""" + close_prices = data['Close'] + high_prices = data['High'] + low_prices = data['Low'] + + indicators = {} + + # Moving averages + if len(data) >= 20: + sma_20 = close_prices.rolling(window=20).mean() + indicators['sma_20'] = float(sma_20.iloc[-1]) + indicators['price_vs_sma_20'] = float(((close_prices.iloc[-1] - sma_20.iloc[-1]) / sma_20.iloc[-1]) * 100) + + if len(data) >= 50: + sma_50 = close_prices.rolling(window=50).mean() + indicators['sma_50'] = float(sma_50.iloc[-1]) + indicators['price_vs_sma_50'] = float(((close_prices.iloc[-1] - sma_50.iloc[-1]) / sma_50.iloc[-1]) * 100) + + # Exponential Moving Average + if len(data) >= 12: + ema_12 = close_prices.ewm(span=12).mean() + indicators['ema_12'] = float(ema_12.iloc[-1]) + + # RSI (Relative Strength Index) + if len(data) >= 14: + rsi = self._calculate_rsi(pd.Series(close_prices), 14) + indicators['rsi'] = float(rsi.iloc[-1]) + indicators['rsi_signal'] = self._interpret_rsi(float(rsi.iloc[-1])) + + # MACD + if len(data) >= 26: + macd_line, signal_line, histogram = self._calculate_macd(pd.Series(close_prices)) + indicators['macd'] = float(macd_line.iloc[-1]) + indicators['macd_signal'] = float(signal_line.iloc[-1]) + indicators['macd_histogram'] = float(histogram.iloc[-1]) + indicators['macd_trend'] = 'bullish' if float(histogram.iloc[-1]) > 0 else 'bearish' + + # Bollinger Bands + if len(data) >= 20: + bb_upper, bb_middle, bb_lower = self._calculate_bollinger_bands(pd.Series(close_prices), 20, 2) + indicators['bb_upper'] = float(bb_upper.iloc[-1]) + indicators['bb_middle'] = float(bb_middle.iloc[-1]) + indicators['bb_lower'] = float(bb_lower.iloc[-1]) + indicators['bb_position'] = self._interpret_bollinger_position(float(close_prices.iloc[-1]), float(bb_upper.iloc[-1]), float(bb_lower.iloc[-1])) + + return indicators + + def _calculate_volatility_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate volatility metrics""" + close_prices = data['Close'] + daily_returns = close_prices.pct_change().dropna() + + return { + 'volatility_daily': float(daily_returns.std() * 100), + 'volatility_annualized': float(daily_returns.std() * np.sqrt(252) * 100), + 'avg_daily_return': float(daily_returns.mean() * 100), + 'max_daily_gain': float(daily_returns.max() * 100), + 'max_daily_loss': float(daily_returns.min() * 100) + } + + def _calculate_volume_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate volume metrics""" + volume = data['Volume'] + + metrics: Dict[str, Union[float, str]] = { + 'avg_volume': float(volume.mean()), + 'current_volume': float(volume.iloc[-1]), + 'max_volume': float(volume.max()), + 'min_volume': float(volume.min()) + } + + # Volume trend + if len(volume) >= 10: + recent_avg = volume.tail(10).mean() + overall_avg = volume.mean() + if recent_avg > overall_avg: + metrics['volume_trend'] = 'increasing' + else: + metrics['volume_trend'] = 'decreasing' + metrics['volume_vs_avg'] = float(((recent_avg - overall_avg) / overall_avg) * 100) + + return metrics + + def _calculate_trend_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate trend analysis metrics""" + close_prices = data['Close'] + + # Linear regression for trend + x = np.arange(len(close_prices)) + slope, intercept = np.polyfit(x, close_prices, 1) + + # Trend strength + correlation = np.corrcoef(x, close_prices)[0, 1] + + return { + 'trend_slope': float(slope), + 'trend_direction': 'upward' if slope > 0 else 'downward', + 'trend_strength': float(abs(correlation)), + 'trend_angle': float(np.degrees(np.arctan(slope))), + 'r_squared': float(correlation ** 2) + } + + def _calculate_risk_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate risk metrics""" + close_prices = data['Close'] + daily_returns = close_prices.pct_change().dropna() + + # Value at Risk (VaR) + var_95 = np.percentile(daily_returns, 5) + var_99 = np.percentile(daily_returns, 1) + + # Maximum Drawdown + cumulative_returns = (1 + daily_returns).cumprod() + running_max = cumulative_returns.expanding().max() + drawdown = (cumulative_returns - running_max) / running_max + max_drawdown = drawdown.min() + + # Sharpe Ratio (assuming risk-free rate of 2%) + risk_free_rate = 0.02 / 252 # Daily risk-free rate + excess_returns = daily_returns - risk_free_rate + sharpe_ratio = excess_returns.mean() / daily_returns.std() if daily_returns.std() != 0 else 0 + + return { + 'var_95': float(var_95 * 100), + 'var_99': float(var_99 * 100), + 'max_drawdown': float(max_drawdown * 100), + 'sharpe_ratio': float(sharpe_ratio * np.sqrt(252)), # Annualized + 'downside_deviation': float(daily_returns[daily_returns < 0].std() * 100) + } + + def _calculate_performance_metrics(self, data: pd.DataFrame) -> Dict: + """Calculate performance metrics""" + close_prices = data['Close'] + + # Different period returns + periods = { + '1_week': min(5, len(close_prices) - 1), + '1_month': min(22, len(close_prices) - 1), + '3_months': min(66, len(close_prices) - 1), + '6_months': min(132, len(close_prices) - 1) + } + + performance = {} + current_price = close_prices.iloc[-1] + + for period_name, days_back in periods.items(): + if days_back > 0: + past_price = close_prices.iloc[-(days_back + 1)] + return_pct = ((current_price - past_price) / past_price) * 100 + performance[f'return_{period_name}'] = float(return_pct) + + return performance + + def _calculate_rsi(self, prices: pd.Series, period: int = 14) -> pd.Series: + """Calculate Relative Strength Index""" + delta = prices.diff() + gain = (delta.where(delta > 0, 0)).rolling(window=period).mean() + loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean() + rs = gain / loss + rsi = 100 - (100 / (1 + rs)) + return rsi + + def _interpret_rsi(self, rsi_value: float) -> str: + """Interpret RSI value""" + if rsi_value >= 70: + return 'overbought' + elif rsi_value <= 30: + return 'oversold' + else: + return 'neutral' + + def _calculate_macd(self, prices: pd.Series, fast: int = 12, slow: int = 26, signal: int = 9) -> Tuple[pd.Series, pd.Series, pd.Series]: + """Calculate MACD indicator""" + ema_fast = prices.ewm(span=fast).mean() + ema_slow = prices.ewm(span=slow).mean() + macd_line = ema_fast - ema_slow + signal_line = macd_line.ewm(span=signal).mean() + histogram = macd_line - signal_line + return macd_line, signal_line, histogram + + def _calculate_bollinger_bands(self, prices: pd.Series, period: int = 20, std_dev: int = 2) -> Tuple[pd.Series, pd.Series, pd.Series]: + """Calculate Bollinger Bands""" + sma = prices.rolling(window=period).mean() + std = prices.rolling(window=period).std() + upper_band = sma + (std * std_dev) + lower_band = sma - (std * std_dev) + return upper_band, sma, lower_band + + def _interpret_bollinger_position(self, current_price: float, upper_band: float, lower_band: float) -> str: + """Interpret position relative to Bollinger Bands""" + if current_price > upper_band: + return 'above_upper_band' + elif current_price < lower_band: + return 'below_lower_band' + else: + return 'within_bands' + + def get_analysis_summary(self, analysis: Dict) -> str: + """Generate a human-readable analysis summary""" + if 'error' in analysis: + return f"Analysis Error: {analysis['error']}" + + summary = [] + + # Price summary + current_price = analysis.get('current_price', 0) + total_return = analysis.get('total_return_pct', 0) + summary.append(f"Current Price: ${current_price:.2f}") + summary.append(f"Total Return: {total_return:.2f}%") + + # Trend + trend_direction = analysis.get('trend_direction', 'unknown') + trend_strength = analysis.get('trend_strength', 0) + summary.append(f"Trend: {trend_direction.title()} (Strength: {trend_strength:.2f})") + + # Technical indicators + if 'rsi' in analysis: + rsi = analysis['rsi'] + rsi_signal = analysis['rsi_signal'] + summary.append(f"RSI: {rsi:.1f} ({rsi_signal})") + + if 'macd_trend' in analysis: + macd_trend = analysis['macd_trend'] + summary.append(f"MACD: {macd_trend}") + + # Risk + volatility = analysis.get('volatility_annualized', 0) + max_drawdown = analysis.get('max_drawdown', 0) + summary.append(f"Volatility: {volatility:.1f}% (Annual)") + summary.append(f"Max Drawdown: {max_drawdown:.1f}%") + + return "\n".join(summary) + +# Global instance for easy import +stock_analyzer = StockAnalyzer() + +# Convenience function +def analyze_stock(data: pd.DataFrame) -> Dict: + """Convenience function to analyze stock data""" + return stock_analyzer.analyze_stock(data) diff --git a/week4/community-contributions/ai_stock_trading/tools/charting.py b/week4/community-contributions/ai_stock_trading/tools/charting.py new file mode 100644 index 0000000..e10384e --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/charting.py @@ -0,0 +1,483 @@ +""" +Charting Module + +This module provides comprehensive charting and visualization capabilities +for stock analysis with interactive dashboards using Plotly. +""" + +import pandas as pd +import numpy as np +import plotly.graph_objects as go +import plotly.express as px +from plotly.subplots import make_subplots +import streamlit as st +from typing import Dict, List, Optional, Tuple +import warnings + +warnings.filterwarnings('ignore') + +class StockChartGenerator: + """Enhanced stock chart generator with interactive dashboards""" + + def __init__(self): + self.color_scheme = { + 'primary': '#1f77b4', + 'secondary': '#ff7f0e', + 'success': '#2ca02c', + 'danger': '#d62728', + 'warning': '#ff7f0e', + 'info': '#17a2b8', + 'background': '#f8f9fa' + } + + def create_price_chart(self, data: pd.DataFrame, symbol: str, analysis: Dict = None) -> go.Figure: + """ + Create comprehensive price chart with technical indicators + + Args: + data: Stock price data + symbol: Stock symbol + analysis: Technical analysis results + + Returns: + Plotly figure object + """ + if data.empty: + return self._create_empty_chart("No data available") + + # Create subplots + fig = make_subplots( + rows=3, cols=1, + shared_xaxes=True, + vertical_spacing=0.05, + subplot_titles=(f'{symbol} Price Chart', 'Volume', 'Technical Indicators'), + row_heights=[0.6, 0.2, 0.2] + ) + + # Main price chart (candlestick) + fig.add_trace( + go.Candlestick( + x=data.index, + open=data['Open'], + high=data['High'], + low=data['Low'], + close=data['Close'], + name='Price', + increasing_line_color=self.color_scheme['success'], + decreasing_line_color=self.color_scheme['danger'] + ), + row=1, col=1 + ) + + # Add moving averages if available + if 'SMA_20' in data.columns: + fig.add_trace( + go.Scatter( + x=data.index, + y=data['SMA_20'], + mode='lines', + name='SMA 20', + line=dict(color=self.color_scheme['primary'], width=1) + ), + row=1, col=1 + ) + + if 'SMA_50' in data.columns: + fig.add_trace( + go.Scatter( + x=data.index, + y=data['SMA_50'], + mode='lines', + name='SMA 50', + line=dict(color=self.color_scheme['secondary'], width=1) + ), + row=1, col=1 + ) + + # Volume chart + colors = ['red' if close < open else 'green' for close, open in zip(data['Close'], data['Open'])] + fig.add_trace( + go.Bar( + x=data.index, + y=data['Volume'], + name='Volume', + marker_color=colors, + opacity=0.7 + ), + row=2, col=1 + ) + + # Technical indicators (RSI if available in analysis) + if analysis and 'rsi' in analysis: + # Create RSI line (simplified - would need full RSI calculation for time series) + rsi_value = analysis['rsi'] + rsi_line = [rsi_value] * len(data) + + fig.add_trace( + go.Scatter( + x=data.index, + y=rsi_line, + mode='lines', + name=f'RSI ({rsi_value:.1f})', + line=dict(color=self.color_scheme['info'], width=2) + ), + row=3, col=1 + ) + + # Add RSI reference lines + fig.add_hline(y=70, line_dash="dash", line_color="red", opacity=0.5, row=3, col=1) + fig.add_hline(y=30, line_dash="dash", line_color="green", opacity=0.5, row=3, col=1) + + # Update layout + fig.update_layout( + title=f'{symbol} Stock Analysis Dashboard', + xaxis_title='Date', + yaxis_title='Price ($)', + template='plotly_white', + height=800, + showlegend=True, + hovermode='x unified' + ) + + # Remove rangeslider for cleaner look + fig.update_layout(xaxis_rangeslider_visible=False) + + return fig + + def create_performance_chart(self, data: pd.DataFrame, symbol: str, analysis: Dict) -> go.Figure: + """ + Create performance analysis chart + + Args: + data: Stock price data + symbol: Stock symbol + analysis: Analysis results with performance metrics + + Returns: + Plotly figure object + """ + if data.empty: + return self._create_empty_chart("No data available for performance analysis") + + # Calculate cumulative returns + daily_returns = data['Close'].pct_change().fillna(0) + cumulative_returns = (1 + daily_returns).cumprod() - 1 + + fig = go.Figure() + + # Cumulative returns line + fig.add_trace( + go.Scatter( + x=data.index, + y=cumulative_returns * 100, + mode='lines', + name='Cumulative Returns (%)', + line=dict(color=self.color_scheme['primary'], width=2), + fill='tonexty', + fillcolor='rgba(31, 119, 180, 0.1)' + ) + ) + + # Add benchmark line (0% return) + fig.add_hline(y=0, line_dash="dash", line_color="gray", opacity=0.5) + + # Add performance annotations + if analysis: + total_return = analysis.get('total_return_pct', 0) + fig.add_annotation( + x=data.index[-1], + y=total_return, + text=f"Total Return: {total_return:.1f}%", + showarrow=True, + arrowhead=2, + arrowcolor=self.color_scheme['primary'], + bgcolor="white", + bordercolor=self.color_scheme['primary'] + ) + + fig.update_layout( + title=f'{symbol} Performance Analysis', + xaxis_title='Date', + yaxis_title='Cumulative Returns (%)', + template='plotly_white', + height=500, + hovermode='x' + ) + + return fig + + def create_risk_analysis_chart(self, analysis: Dict, symbol: str) -> go.Figure: + """ + Create risk analysis visualization + + Args: + analysis: Analysis results with risk metrics + symbol: Stock symbol + + Returns: + Plotly figure object + """ + if not analysis or 'error' in analysis: + return self._create_empty_chart("No risk data available") + + # Prepare risk metrics + risk_metrics = { + 'Volatility (Annual)': analysis.get('volatility_annualized', 0), + 'Max Drawdown': abs(analysis.get('max_drawdown', 0)), + 'VaR 95%': abs(analysis.get('var_95', 0)), + 'VaR 99%': abs(analysis.get('var_99', 0)) + } + + # Create radar chart for risk metrics + categories = list(risk_metrics.keys()) + values = list(risk_metrics.values()) + + fig = go.Figure() + + fig.add_trace(go.Scatterpolar( + r=values, + theta=categories, + fill='toself', + name=f'{symbol} Risk Profile', + line_color=self.color_scheme['danger'], + fillcolor='rgba(214, 39, 40, 0.1)' + )) + + fig.update_layout( + polar=dict( + radialaxis=dict( + visible=True, + range=[0, max(values) * 1.2] if values else [0, 100] + ) + ), + title=f'{symbol} Risk Analysis Chart', + template='plotly_white', + height=500 + ) + + return fig + + def create_comparison_chart(self, data_dict: Dict[str, pd.DataFrame], symbols: List[str]) -> go.Figure: + """ + Create comparison chart for multiple stocks + + Args: + data_dict: Dictionary of stock data {symbol: dataframe} + symbols: List of stock symbols to compare + + Returns: + Plotly figure object + """ + fig = go.Figure() + + colors = [self.color_scheme['primary'], self.color_scheme['secondary'], + self.color_scheme['success'], self.color_scheme['danger']] + + for i, symbol in enumerate(symbols): + if symbol in data_dict and not data_dict[symbol].empty: + data = data_dict[symbol] + # Normalize prices to start at 100 for comparison + normalized_prices = (data['Close'] / data['Close'].iloc[0]) * 100 + + fig.add_trace( + go.Scatter( + x=data.index, + y=normalized_prices, + mode='lines', + name=symbol, + line=dict(color=colors[i % len(colors)], width=2) + ) + ) + + fig.update_layout( + title='Stock Price Comparison (Normalized to 100)', + xaxis_title='Date', + yaxis_title='Normalized Price', + template='plotly_white', + height=600, + hovermode='x unified' + ) + + return fig + + def create_sector_analysis_chart(self, sector_data: Dict) -> go.Figure: + """ + Create sector analysis visualization + + Args: + sector_data: Dictionary with sector analysis data + + Returns: + Plotly figure object + """ + # This would typically show sector performance, P/E ratios, etc. + # For now, create a placeholder + fig = go.Figure() + + fig.add_annotation( + x=0.5, y=0.5, + text="Sector Analysis
Coming Soon", + showarrow=False, + font=dict(size=20), + xref="paper", yref="paper" + ) + + fig.update_layout( + title='Sector Analysis Dashboard', + template='plotly_white', + height=400, + showticklabels=False + ) + + return fig + + def create_trading_signals_chart(self, data: pd.DataFrame, analysis: Dict, trading_decision: Dict, symbol: str) -> go.Figure: + """ + Create trading signals visualization + + Args: + data: Stock price data + analysis: Technical analysis results + trading_decision: Trading recommendation + symbol: Stock symbol + + Returns: + Plotly figure object + """ + if data.empty: + return self._create_empty_chart("No data available for trading signals") + + fig = go.Figure() + + # Price line + fig.add_trace( + go.Scatter( + x=data.index, + y=data['Close'], + mode='lines', + name='Price', + line=dict(color=self.color_scheme['primary'], width=2) + ) + ) + + # Add trading signal + recommendation = trading_decision.get('recommendation', 'HOLD') + current_price = data['Close'].iloc[-1] + + signal_color = { + 'BUY': self.color_scheme['success'], + 'SELL': self.color_scheme['danger'], + 'HOLD': self.color_scheme['warning'] + }.get(recommendation, self.color_scheme['info']) + + fig.add_trace( + go.Scatter( + x=[data.index[-1]], + y=[current_price], + mode='markers', + name=f'{recommendation} Signal', + marker=dict( + color=signal_color, + size=15, + symbol='triangle-up' if recommendation == 'BUY' else + 'triangle-down' if recommendation == 'SELL' else 'circle' + ) + ) + ) + + # Add price target if available + price_target = trading_decision.get('price_target') + if price_target: + fig.add_hline( + y=price_target, + line_dash="dash", + line_color=self.color_scheme['success'], + annotation_text=f"Target: ${price_target:.2f}" + ) + + # Add stop loss if available + stop_loss = trading_decision.get('stop_loss') + if stop_loss: + fig.add_hline( + y=stop_loss, + line_dash="dash", + line_color=self.color_scheme['danger'], + annotation_text=f"Stop Loss: ${stop_loss:.2f}" + ) + + fig.update_layout( + title=f'{symbol} Trading Signals', + xaxis_title='Date', + yaxis_title='Price ($)', + template='plotly_white', + height=500, + hovermode='x' + ) + + return fig + + def create_dashboard_summary(self, symbol: str, analysis: Dict, trading_decision: Dict, sharia_compliance: Dict) -> Dict: + """ + Create summary metrics for dashboard display + + Args: + symbol: Stock symbol + analysis: Technical analysis results + trading_decision: Trading recommendation + sharia_compliance: Sharia compliance results + + Returns: + Dictionary with summary metrics + """ + summary = { + 'symbol': symbol, + 'current_price': analysis.get('current_price', 0), + 'total_return': analysis.get('total_return_pct', 0), + 'volatility': analysis.get('volatility_annualized', 0), + 'trading_recommendation': trading_decision.get('recommendation', 'HOLD'), + 'trading_confidence': trading_decision.get('confidence', 0) * 100, + 'sharia_ruling': sharia_compliance.get('ruling', 'UNCERTAIN'), + 'sharia_confidence': sharia_compliance.get('confidence', 0) * 100, + 'risk_level': trading_decision.get('risk_level', 'medium'), + 'trend_direction': analysis.get('trend_direction', 'unknown'), + 'rsi': analysis.get('rsi', 50), + 'max_drawdown': analysis.get('max_drawdown', 0) + } + + return summary + + def _create_empty_chart(self, message: str) -> go.Figure: + """Create an empty chart with a message""" + fig = go.Figure() + + fig.add_annotation( + x=0.5, y=0.5, + text=message, + showarrow=False, + font=dict(size=16), + xref="paper", yref="paper" + ) + + fig.update_layout( + template='plotly_white', + height=400, + showticklabels=False + ) + + return fig + +# Global instance for easy import +chart_generator = StockChartGenerator() + +# Convenience functions +def create_price_chart(data: pd.DataFrame, symbol: str, analysis: Dict = None) -> go.Figure: + """Convenience function to create price chart""" + return chart_generator.create_price_chart(data, symbol, analysis) + +def create_performance_chart(data: pd.DataFrame, symbol: str, analysis: Dict) -> go.Figure: + """Convenience function to create performance chart""" + return chart_generator.create_performance_chart(data, symbol, analysis) + +def create_trading_signals_chart(data: pd.DataFrame, analysis: Dict, trading_decision: Dict, symbol: str) -> go.Figure: + """Convenience function to create trading signals chart""" + return chart_generator.create_trading_signals_chart(data, analysis, trading_decision, symbol) diff --git a/week4/community-contributions/ai_stock_trading/tools/fetching.py b/week4/community-contributions/ai_stock_trading/tools/fetching.py new file mode 100644 index 0000000..5966e8e --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/fetching.py @@ -0,0 +1,384 @@ +""" +Stock Data Fetching Module + +This module handles fetching stock data from various sources including yfinance +and provides enhanced data retrieval capabilities for different markets. +""" + +import yfinance as yf +import pandas as pd +import numpy as np +import requests +from typing import Dict, List, Optional, Tuple +import warnings + +warnings.filterwarnings('ignore') + +class StockDataFetcher: + """Enhanced stock data fetcher with multi-market support""" + + # Stock symbols for different markets + STOCK_SYMBOLS = { + 'USA': { + # Technology + 'Apple Inc.': 'AAPL', + 'Microsoft Corporation': 'MSFT', + 'NVIDIA Corporation': 'NVDA', + 'Alphabet Inc. (Class A)': 'GOOGL', + 'Alphabet Inc. (Class C)': 'GOOG', + 'Meta Platforms Inc.': 'META', + 'Tesla Inc.': 'TSLA', + 'Amazon.com Inc.': 'AMZN', + 'Netflix Inc.': 'NFLX', + 'Adobe Inc.': 'ADBE', + 'Salesforce Inc.': 'CRM', + 'Oracle Corporation': 'ORCL', + 'Cisco Systems Inc.': 'CSCO', + 'Intel Corporation': 'INTC', + 'Advanced Micro Devices': 'AMD', + 'Qualcomm Inc.': 'QCOM', + 'Texas Instruments': 'TXN', + 'Broadcom Inc.': 'AVGO', + 'ServiceNow Inc.': 'NOW', + 'Palantir Technologies': 'PLTR', + + # Financial Services + 'JPMorgan Chase & Co.': 'JPM', + 'Bank of America Corp': 'BAC', + 'Wells Fargo & Company': 'WFC', + 'Goldman Sachs Group': 'GS', + 'Morgan Stanley': 'MS', + 'Citigroup Inc.': 'C', + 'American Express Company': 'AXP', + 'Berkshire Hathaway Inc.': 'BRK.B', + 'BlackRock Inc.': 'BLK', + 'Charles Schwab Corporation': 'SCHW', + 'Visa Inc.': 'V', + 'Mastercard Inc.': 'MA', + + # Healthcare & Pharmaceuticals + 'Johnson & Johnson': 'JNJ', + 'UnitedHealth Group': 'UNH', + 'Pfizer Inc.': 'PFE', + 'AbbVie Inc.': 'ABBV', + 'Merck & Co Inc.': 'MRK', + 'Eli Lilly and Company': 'LLY', + 'Abbott Laboratories': 'ABT', + 'Thermo Fisher Scientific': 'TMO', + 'Danaher Corporation': 'DHR', + 'Gilead Sciences Inc.': 'GILD', + + # Consumer & Retail + 'Walmart Inc.': 'WMT', + 'Procter & Gamble Co': 'PG', + 'Coca-Cola Company': 'KO', + 'PepsiCo Inc.': 'PEP', + 'Home Depot Inc.': 'HD', + 'McDonald\'s Corporation': 'MCD', + 'Nike Inc.': 'NKE', + 'Costco Wholesale Corp': 'COST', + 'TJX Companies Inc.': 'TJX', + 'Lowe\'s Companies Inc.': 'LOW', + + # Industrial & Energy + 'Exxon Mobil Corporation': 'XOM', + 'Chevron Corporation': 'CVX', + 'ConocoPhillips': 'COP', + 'Caterpillar Inc.': 'CAT', + 'Boeing Company': 'BA', + 'General Electric': 'GE', + 'Honeywell International': 'HON', + 'Deere & Company': 'DE', + 'Union Pacific Corporation': 'UNP', + 'Lockheed Martin Corp': 'LMT', + + # Communication & Media + 'AT&T Inc.': 'T', + 'Verizon Communications': 'VZ', + 'T-Mobile US Inc.': 'TMUS', + 'Comcast Corporation': 'CMCSA', + 'Walt Disney Company': 'DIS' + }, + 'Egypt': { + # Banking & Financial Services + 'Commercial International Bank': 'COMI.CA', + 'QNB Alahli Bank': 'QNBE.CA', + 'Housing and Development Bank': 'HDBK.CA', + 'Abu Dhabi Islamic Bank Egypt': 'ADIB.CA', + 'Egyptian Gulf Bank': 'EGBE.CA', + + # Real Estate & Construction + 'Talaat Moustafa Group Holding': 'TMGH.CA', + 'Palm Hills Developments': 'PHDC.CA', + 'Orascom Construction': 'ORAS.CA', + 'Orascom Development Holding': 'ORHD.CA', + 'Six of October Development': 'SCTS.CA', + 'Heliopolis Housing': 'HELI.CA', + 'Rooya Group': 'RMDA.CA', + + # Industrial & Manufacturing + 'Eastern Company': 'EAST.CA', + 'El Sewedy Electric Company': 'SWDY.CA', + 'Ezz Steel': 'ESRS.CA', + 'Iron and Steel Company': 'IRON.CA', + 'Alexandria Containers': 'ALCN.CA', + 'Sidi Kerir Petrochemicals': 'SKPC.CA', + + # Chemicals & Fertilizers + 'Abu Qir Fertilizers and Chemical Industries': 'ABUK.CA', + 'Egyptian Chemical Industries (Kima)': 'KIMA.CA', + 'Misr Fertilizers Production': 'MFPC.CA', + + # Telecommunications & Technology + 'Telecom Egypt': 'ETEL.CA', + 'Raya Holding': 'RAYA.CA', + 'E-Finance for Digital Payments': 'EFIH.CA', + 'Fawry for Banking Technology': 'FWRY.CA', + + # Food & Beverages + 'Juhayna Food Industries': 'JUFO.CA', + 'Edita Food Industries': 'EFID.CA', + 'Cairo Poultry Company': 'POUL.CA', + 'Upper Egypt Flour Mills': 'UEFM.CA', + 'Ismailia Misr Poultry': 'ISPH.CA', + + # Healthcare & Pharmaceuticals + 'Cleopatra Hospital Group': 'CLHO.CA', + 'Cairo Pharmaceuticals': 'PHAR.CA', + + # Energy & Utilities + 'Egyptian Natural Gas Company': 'EGAS.CA', + 'Suez Cement Company': 'SCEM.CA', + 'Arabian Cement Company': 'ARCC.CA', + + # Investment & Holding Companies + 'Egyptian Financial Group-Hermes': 'HRHO.CA', + 'Citadel Capital': 'CCAP.CA', + 'Beltone Financial Holding': 'BTFH.CA' + } + } + + # Currency mapping for different markets + MARKET_CURRENCIES = { + 'USA': 'USD', + 'Egypt': 'EGP' + } + + def __init__(self): + self.cache = {} + + def get_available_stocks(self, country: str) -> Dict[str, str]: + """Get available stocks for a specific country""" + return self.STOCK_SYMBOLS.get(country, {}) + + def get_market_currency(self, country: str) -> str: + """Get the currency for a specific market""" + return self.MARKET_CURRENCIES.get(country, 'USD') + + def format_price_with_currency(self, price: float, country: str) -> str: + """Format price with appropriate currency symbol""" + currency = self.get_market_currency(country) + if currency == 'EGP': + return f"{price:.2f} EGP" + elif currency == 'USD': + return f"${price:.2f}" + else: + return f"{price:.2f} {currency}" + + def fetch_stock_data(self, symbol: str, period: str = "1y", interval: str = "1d") -> pd.DataFrame: + """ + Fetch historical stock data with enhanced error handling + + Args: + symbol: Stock symbol (e.g., 'AAPL', 'COMI.CA') + period: Time period ('1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max') + interval: Data interval ('1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1wk', '1mo', '3mo') + + Returns: + DataFrame with OHLCV data + """ + cache_key = f"{symbol}_{period}_{interval}" + + # Check cache first + if cache_key in self.cache: + return self.cache[cache_key] + + try: + # Create ticker object + ticker = yf.Ticker(symbol) + + # Fetch historical data + data = ticker.history(period=period, interval=interval) + + if data.empty: + print(f"āš ļø No data found for {symbol}") + return pd.DataFrame() + + # Clean and enhance data + data = self._clean_data(data) + + # Cache the result + self.cache[cache_key] = data + + print(f"āœ… Successfully fetched {len(data)} data points for {symbol} ({period})") + return data + + except Exception as e: + print(f"āŒ Error fetching data for {symbol}: {str(e)}") + return pd.DataFrame() + + def get_stock_info(self, symbol: str, country: Optional[str] = None) -> Dict: + """ + Get comprehensive stock information + + Args: + symbol: Stock symbol + country: Market country (USA, Egypt) for currency handling + + Returns: + Dictionary with stock information + """ + try: + ticker = yf.Ticker(symbol) + info = ticker.info + + # Detect country if not provided + if country is None: + country = self._detect_country_from_symbol(symbol) + + # Get market currency + market_currency = self.get_market_currency(country) + + # Extract key information + stock_info = { + 'symbol': symbol, + 'company_name': info.get('longName', 'N/A'), + 'sector': info.get('sector', 'N/A'), + 'industry': info.get('industry', 'N/A'), + 'market_cap': info.get('marketCap', 0), + 'pe_ratio': info.get('trailingPE', 0), + 'dividend_yield': info.get('dividendYield', 0), + 'beta': info.get('beta', 0), + 'fifty_two_week_high': info.get('fiftyTwoWeekHigh', 0), + 'fifty_two_week_low': info.get('fiftyTwoWeekLow', 0), + 'current_price': info.get('currentPrice', 0), + 'currency': market_currency, # Use detected market currency + 'exchange': info.get('exchange', 'N/A'), + 'country': country, + 'market_country': country # Add explicit market country + } + + return stock_info + + except Exception as e: + print(f"āŒ Error fetching info for {symbol}: {str(e)}") + return {'symbol': symbol, 'error': str(e)} + + def _detect_country_from_symbol(self, symbol: str) -> str: + """ + Detect country from stock symbol + + Args: + symbol: Stock symbol + + Returns: + Country name (USA or Egypt) + """ + # Check if symbol exists in any country's stock list + for country, stocks in self.STOCK_SYMBOLS.items(): + if symbol in stocks.values(): + return country + + # Default to USA if not found + return 'USA' + + def fetch_multiple_periods(self, symbol: str) -> Dict[str, pd.DataFrame]: + """ + Fetch data for multiple time periods + + Args: + symbol: Stock symbol + + Returns: + Dictionary with DataFrames for different periods + """ + periods = ['1mo', '1y', '5y'] + data = {} + + for period in periods: + df = self.fetch_stock_data(symbol, period) + if not df.empty: + data[period] = df + + return data + + def _clean_data(self, data: pd.DataFrame) -> pd.DataFrame: + """ + Clean and enhance the stock data + + Args: + data: Raw stock data DataFrame + + Returns: + Cleaned DataFrame + """ + # Remove rows with all NaN values + data = data.dropna(how='all') + + # Forward fill missing values + data = data.fillna(method='ffill') + + # Add technical indicators + if len(data) > 0: + # Simple moving averages + if len(data) >= 20: + data['SMA_20'] = data['Close'].rolling(window=20).mean() + if len(data) >= 50: + data['SMA_50'] = data['Close'].rolling(window=50).mean() + + # Daily returns + data['Daily_Return'] = data['Close'].pct_change() + + # Price change from previous day + data['Price_Change'] = data['Close'].diff() + data['Price_Change_Pct'] = (data['Price_Change'] / data['Close'].shift(1)) * 100 + + return data + + def get_real_time_price(self, symbol: str) -> Optional[float]: + """ + Get real-time stock price + + Args: + symbol: Stock symbol + + Returns: + Current stock price or None if error + """ + try: + ticker = yf.Ticker(symbol) + data = ticker.history(period="1d", interval="1m") + + if not data.empty: + return float(data['Close'].iloc[-1]) + return None + + except Exception as e: + print(f"āŒ Error fetching real-time price for {symbol}: {str(e)}") + return None + +# Global instance for easy import +stock_fetcher = StockDataFetcher() + +# Convenience functions +def fetch_stock_data(symbol: str, period: str = "1y", interval: str = "1d") -> pd.DataFrame: + """Convenience function to fetch stock data""" + return stock_fetcher.fetch_stock_data(symbol, period, interval) + +def get_available_stocks(country: str) -> Dict[str, str]: + """Convenience function to get available stocks""" + return stock_fetcher.get_available_stocks(country) + +def get_stock_info(symbol: str) -> Dict: + """Convenience function to get stock info""" + return stock_fetcher.get_stock_info(symbol) diff --git a/week4/community-contributions/ai_stock_trading/tools/sharia_compliance.py b/week4/community-contributions/ai_stock_trading/tools/sharia_compliance.py new file mode 100644 index 0000000..f0f3119 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/sharia_compliance.py @@ -0,0 +1,591 @@ +""" +Sharia Compliance Module + +This module provides comprehensive Islamic finance compliance checking +for stocks and investments according to Islamic principles. +""" + +import os +import json +import requests +from typing import Dict, List, Optional, Tuple +import pandas as pd +from openai import OpenAI +from dotenv import load_dotenv +from bs4 import BeautifulSoup +import time +import re + +# Load environment variables +load_dotenv() + +class ShariaComplianceChecker: + """Enhanced Sharia compliance checker for Islamic investing""" + + def __init__(self): + self.client = OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + # Sharia compliance criteria weights + self.criteria_weights = { + 'business_activity': 0.40, # Most important + 'financial_ratios': 0.30, + 'debt_levels': 0.20, + 'revenue_sources': 0.10 + } + + # Prohibited business activities (comprehensive list) + self.prohibited_activities = { + # Core prohibitions + 'alcohol', 'alcoholic_beverages', 'wine', 'beer', 'spirits', 'liquor', + 'gambling', 'casino', 'lottery', 'betting', 'gaming', 'poker', + 'tobacco', 'cigarettes', 'smoking', 'nicotine', + 'pork', 'pig_farming', 'swine', 'ham', 'bacon', + 'adult_entertainment', 'pornography', 'strip_clubs', 'escort_services', + + # Financial prohibitions + 'conventional_banking', 'interest_based_finance', 'usury', 'riba', + 'conventional_insurance', 'life_insurance', 'derivatives_trading', + 'forex_trading', 'currency_speculation', 'margin_trading', + 'short_selling', 'day_trading', 'high_frequency_trading', + + # Weapons and defense + 'weapons', 'arms_manufacturing', 'defense_contractors', 'military_equipment', + 'ammunition', 'explosives', 'nuclear_weapons', + + # Other prohibitions + 'nightclubs', 'bars', 'entertainment_venues', 'music_industry', + 'film_industry', 'media_entertainment', 'advertising_haram_products' + } + + # Sharia-compliant sectors (generally accepted) + self.compliant_sectors = { + 'technology', 'healthcare', 'pharmaceuticals', 'telecommunications', + 'utilities', 'real_estate', 'construction', 'manufacturing', + 'retail', 'food_beverages', 'transportation', 'energy_renewable' + } + + # Questionable sectors (need detailed analysis) + self.questionable_sectors = { + 'financial_services', 'media', 'hotels', 'airlines', + 'oil_gas', 'mining', 'chemicals', 'entertainment', + 'restaurants', 'hospitality', 'advertising' + } + + # AAOIFI and DSN Sharia standards + self.sharia_standards = { + 'max_debt_to_assets': 0.33, # 33% maximum debt-to-assets ratio + 'max_interest_income': 0.05, # 5% maximum interest income + 'max_non_compliant_income': 0.05, # 5% maximum non-compliant income + 'min_tangible_assets': 0.20 # 20% minimum tangible assets + } + + def _search_company_business_activities(self, company_name: str, symbol: str) -> Dict: + """ + Search web for company's business activities to verify Sharia compliance + + Args: + company_name: Company name + symbol: Stock symbol + + Returns: + Dictionary with business activity information + """ + try: + # Search query for company business activities + search_queries = [ + f"{company_name} business activities products services", + f"{company_name} {symbol} what does company do", + f"{company_name} revenue sources business model" + ] + + business_info = { + 'activities': [], + 'products': [], + 'services': [], + 'revenue_sources': [], + 'prohibited_found': [], + 'confidence': 0.5 + } + + for query in search_queries[:1]: # Limit to 1 search to avoid rate limits + try: + # Simple web search simulation (in production, use proper search API) + search_url = f"https://www.google.com/search?q={query.replace(' ', '+')}" + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' + } + + # For now, return basic analysis based on company name and sector + # In production, implement actual web scraping with proper rate limiting + business_info['confidence'] = 0.6 + break + + except Exception as e: + print(f"Web search error: {e}") + continue + + return business_info + + except Exception as e: + print(f"Error in business activity search: {e}") + return {'activities': [], 'prohibited_found': [], 'confidence': 0.3} + + def _estimate_debt_ratio(self, stock_info: Dict) -> float: + """ + Estimate debt-to-assets ratio based on available information + + Args: + stock_info: Stock information dictionary + + Returns: + Estimated debt-to-assets ratio + """ + try: + # In production, this would fetch actual balance sheet data + # For now, estimate based on sector and other indicators + sector = stock_info.get('sector', '').lower() + industry = stock_info.get('industry', '').lower() + + # High debt sectors + if any(x in sector or x in industry for x in ['utility', 'telecom', 'airline', 'real estate']): + return 0.45 # Typically higher debt + + # Medium debt sectors + elif any(x in sector or x in industry for x in ['manufacturing', 'retail', 'energy']): + return 0.25 + + # Low debt sectors + elif any(x in sector or x in industry for x in ['technology', 'healthcare', 'software']): + return 0.15 + + # Financial sector (different calculation) + elif 'financial' in sector or 'bank' in sector: + return 0.8 # Banks have high leverage by nature + + # Default estimate + return 0.3 + + except Exception: + return 0.3 # Conservative default + + def _check_business_activity(self, stock_info: Dict) -> float: + """ + Check if the company's primary business activity is Sharia-compliant + + Returns: + Score from 0.0 (non-compliant) to 1.0 (fully compliant) + """ + sector = stock_info.get('sector', '').lower() + industry = stock_info.get('industry', '').lower() + company_name = stock_info.get('company_name', '').lower() + + # Check for explicitly prohibited activities + for prohibited in self.prohibited_activities: + if (prohibited.replace('_', ' ') in sector or + prohibited.replace('_', ' ') in industry or + prohibited.replace('_', ' ') in company_name): + return 0.0 + + # Check for compliant sectors + for compliant in self.compliant_sectors: + if (compliant.replace('_', ' ') in sector or + compliant.replace('_', ' ') in industry): + return 1.0 + + # Check for questionable sectors + for questionable in self.questionable_sectors: + if (questionable.replace('_', ' ') in sector or + questionable.replace('_', ' ') in industry): + return 0.5 + + # Default for unknown sectors + return 0.7 + + def check_sharia_compliance(self, symbol: str, stock_info: Dict, analysis: Dict) -> Dict: + """ + Comprehensive Sharia compliance check + + Args: + symbol: Stock symbol + stock_info: Stock information + analysis: Technical analysis results + + Returns: + Dictionary with compliance assessment + """ + try: + # Business activity screening + business_score = self._check_business_activity(stock_info) + + # Financial ratios screening + financial_score = self._check_financial_ratios(stock_info, analysis) + + # Debt levels screening + debt_score = self._check_debt_levels(stock_info) + + # Revenue sources screening + revenue_score = self._check_revenue_sources(stock_info) + + # Calculate weighted compliance score + total_score = ( + business_score * self.criteria_weights['business_activity'] + + financial_score * self.criteria_weights['financial_ratios'] + + debt_score * self.criteria_weights['debt_levels'] + + revenue_score * self.criteria_weights['revenue_sources'] + ) + + # Get AI-powered detailed analysis + ai_analysis = self._get_ai_sharia_analysis(symbol, stock_info) + + # Determine final ruling + ruling = self._determine_ruling(total_score, ai_analysis) + + return { + 'symbol': symbol, + 'ruling': ruling['status'], + 'confidence': ruling['confidence'], + 'compliance_score': total_score, + 'detailed_scores': { + 'business_activity': business_score, + 'financial_ratios': financial_score, + 'debt_levels': debt_score, + 'revenue_sources': revenue_score + }, + 'reasoning': ruling['reasoning'], + 'key_concerns': ruling.get('concerns', []), + 'recommendations': ruling.get('recommendations', []), + 'ai_analysis': ai_analysis.get('analysis', ''), + 'scholar_consultation_advised': ruling.get('scholar_consultation', False), + 'alternative_suggestions': ruling.get('alternatives', []) + } + + except Exception as e: + return { + 'symbol': symbol, + 'ruling': 'UNCERTAIN', + 'confidence': 0.0, + 'reasoning': f'Error in Sharia compliance analysis: {str(e)}', + 'error': str(e) + } + + def _check_business_activity(self, stock_info: Dict) -> float: + """ + Check if the company's primary business activity is Sharia-compliant + + Returns: + Score from 0.0 (non-compliant) to 1.0 (fully compliant) + """ + sector = stock_info.get('sector', '').lower() + industry = stock_info.get('industry', '').lower() + company_name = stock_info.get('company_name', '').lower() + + # Check for explicitly prohibited activities + for prohibited in self.prohibited_activities: + if (prohibited.replace('_', ' ') in sector or + prohibited.replace('_', ' ') in industry or + prohibited.replace('_', ' ') in company_name): + return 0.0 + + # Check for compliant sectors + for compliant in self.compliant_sectors: + if (compliant.replace('_', ' ') in sector or + compliant.replace('_', ' ') in industry): + return 1.0 + + # Check for questionable sectors + for questionable in self.questionable_sectors: + if (questionable.replace('_', ' ') in sector or + questionable.replace('_', ' ') in industry): + return 0.5 + + # Default for unknown sectors + return 0.7 + + def _check_financial_ratios(self, stock_info: Dict, analysis: Dict) -> float: + """ + Check financial ratios according to AAOIFI and DSN Sharia standards + + AAOIFI/DSN Sharia screening ratios: + - Debt/Total Assets < 33% + - Interest Income/Total Revenue < 5% + - Non-compliant Income/Total Revenue < 5% + - Tangible Assets/Total Assets > 20% + + Returns: + Score from 0.0 to 1.0 + """ + score = 1.0 + penalties = [] + + try: + # Get financial metrics (these would come from detailed financial data) + market_cap = stock_info.get('market_cap', 0) + pe_ratio = stock_info.get('pe_ratio', 0) + + # Debt-to-Assets ratio check + # Note: In production, fetch actual balance sheet data + debt_to_assets = self._estimate_debt_ratio(stock_info) + if debt_to_assets > self.sharia_standards['max_debt_to_assets']: + penalty = min(0.5, (debt_to_assets - self.sharia_standards['max_debt_to_assets']) * 2) + score -= penalty + penalties.append(f"High debt ratio: {debt_to_assets:.1%} > {self.sharia_standards['max_debt_to_assets']:.1%}") + + # Interest income check (for financial companies) + sector = stock_info.get('sector', '').lower() + if 'financial' in sector or 'bank' in sector: + # Financial companies likely have significant interest income + score -= 0.3 + penalties.append("Financial sector - likely high interest income") + + # Industry-specific checks + industry = stock_info.get('industry', '').lower() + if any(prohibited in industry for prohibited in ['insurance', 'casino', 'alcohol', 'tobacco']): + score = 0.0 + penalties.append(f"Prohibited industry: {industry}") + + return max(0.0, score) + + except Exception as e: + print(f"Error in financial ratio analysis: {e}") + return 0.5 # Default moderate score if analysis fails + # For now, we'll use available basic metrics and estimate + + # PE ratio check (very high PE might indicate speculation) + pe_ratio = stock_info.get('pe_ratio', 0) + if pe_ratio > 50: + score -= 0.2 + elif pe_ratio > 30: + score -= 0.1 + + # Beta check (high beta indicates high speculation/volatility) + beta = stock_info.get('beta', 1.0) + if beta > 2.0: + score -= 0.3 + elif beta > 1.5: + score -= 0.1 + + # Volatility check from analysis + volatility = analysis.get('volatility_annualized', 0) + if volatility > 60: + score -= 0.2 + elif volatility > 40: + score -= 0.1 + + return max(0.0, score) + + def _check_debt_levels(self, stock_info: Dict) -> float: + """ + Check debt levels according to Sharia standards + + Returns: + Score from 0.0 to 1.0 + """ + # Note: In a real implementation, you would fetch debt-to-assets ratio + # For now, we'll use sector-based estimation + + sector = stock_info.get('sector', '').lower() + + # Sectors typically with high debt + high_debt_sectors = ['utilities', 'real estate', 'telecommunications'] + medium_debt_sectors = ['manufacturing', 'transportation', 'energy'] + low_debt_sectors = ['technology', 'healthcare', 'retail'] + + if any(s in sector for s in high_debt_sectors): + return 0.6 # Assume higher debt but may still be acceptable + elif any(s in sector for s in medium_debt_sectors): + return 0.8 + elif any(s in sector for s in low_debt_sectors): + return 1.0 + else: + return 0.7 # Default assumption + + def _check_revenue_sources(self, stock_info: Dict) -> float: + """ + Check revenue sources for non-compliant income + + Returns: + Score from 0.0 to 1.0 + """ + sector = stock_info.get('sector', '').lower() + industry = stock_info.get('industry', '').lower() + + # Industries with potential non-compliant revenue + if 'financial' in sector or 'bank' in industry: + return 0.3 # Banks typically have significant interest income + elif 'insurance' in industry: + return 0.2 + elif 'hotel' in industry or 'entertainment' in industry: + return 0.6 # May have some non-compliant revenue sources + else: + return 0.9 # Assume mostly compliant revenue + + def _get_ai_sharia_analysis(self, symbol: str, stock_info: Dict) -> Dict: + """ + Get AI-powered detailed Sharia compliance analysis + + Args: + symbol: Stock symbol + stock_info: Stock information + + Returns: + Dictionary with AI analysis + """ + try: + prompt = f""" + As an Islamic finance expert, analyze the Sharia compliance of {symbol}. + + Company Information: + - Name: {stock_info.get('company_name', 'N/A')} + - Sector: {stock_info.get('sector', 'N/A')} + - Industry: {stock_info.get('industry', 'N/A')} + - Country: {stock_info.get('country', 'N/A')} + + Please analyze according to Islamic finance principles and provide: + 1. Primary business activity assessment + 2. Potential Sharia compliance concerns + 3. Revenue source analysis + 4. Debt and interest exposure concerns + 5. Overall compliance recommendation + 6. Specific areas requiring scholar consultation + 7. Alternative Sharia-compliant investment suggestions + + Format your response as JSON: + {{ + "compliance_status": "HALAL/HARAM/DOUBTFUL", + "confidence": 85, + "analysis": "Detailed analysis...", + "concerns": ["concern1", "concern2"], + "recommendations": ["rec1", "rec2"], + "scholar_consultation": true/false, + "alternatives": ["alt1", "alt2"] + }} + """ + + response = self.client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + {"role": "system", "content": "You are an expert in Islamic finance and Sharia compliance for investments."}, + {"role": "user", "content": prompt} + ], + temperature=0.2, + max_tokens=1000 + ) + + ai_response = response.choices[0].message.content + + try: + if ai_response: + return json.loads(ai_response) + else: + return {'analysis': 'No AI response received', 'error': 'Empty response'} + except json.JSONDecodeError: + return {'analysis': ai_response, 'parsed_fallback': True} + + except Exception as e: + return {'analysis': f'AI analysis unavailable: {str(e)}', 'error': str(e)} + + def _determine_ruling(self, compliance_score: float, ai_analysis: Dict) -> Dict: + """ + Determine final Sharia compliance ruling + + Args: + compliance_score: Calculated compliance score + ai_analysis: AI analysis results + + Returns: + Dictionary with final ruling + """ + # Get AI recommendation if available + ai_status = ai_analysis.get('compliance_status', 'DOUBTFUL') + ai_confidence = ai_analysis.get('confidence', 50) / 100 + + # Combine algorithmic score with AI analysis + if compliance_score >= 0.8 and ai_status == 'HALAL': + status = 'HALAL' + confidence = min(0.9, (compliance_score + ai_confidence) / 2) + reasoning = "Company appears to be Sharia-compliant based on business activities and financial structure." + elif compliance_score <= 0.3 or ai_status == 'HARAM': + status = 'HARAM' + confidence = max(0.7, (1 - compliance_score + ai_confidence) / 2) + reasoning = "Company has significant Sharia compliance issues and should be avoided." + else: + status = 'DOUBTFUL' + confidence = 0.6 + reasoning = "Company has mixed compliance indicators. Consultation with Islamic scholars recommended." + + return { + 'status': status, + 'confidence': confidence, + 'reasoning': reasoning, + 'concerns': ai_analysis.get('concerns', []), + 'recommendations': ai_analysis.get('recommendations', []), + 'scholar_consultation': ai_analysis.get('scholar_consultation', status == 'DOUBTFUL'), + 'alternatives': ai_analysis.get('alternatives', []) + } + + def get_compliance_summary(self, compliance_result: Dict) -> str: + """Generate a human-readable compliance summary""" + if 'error' in compliance_result: + return f"Compliance Analysis Error: {compliance_result['error']}" + + symbol = compliance_result.get('symbol', 'Unknown') + ruling = compliance_result.get('ruling', 'UNCERTAIN') + confidence = compliance_result.get('confidence', 0) * 100 + + summary = [f"Sharia Compliance Analysis for {symbol}"] + summary.append(f"Ruling: {ruling} (Confidence: {confidence:.0f}%)") + + if ruling == 'HALAL': + summary.append("āœ… This investment appears to be permissible under Islamic law.") + elif ruling == 'HARAM': + summary.append("āŒ This investment should be avoided due to Sharia non-compliance.") + else: + summary.append("āš ļø This investment requires further investigation and scholar consultation.") + + # Add key concerns if any + concerns = compliance_result.get('key_concerns', []) + if concerns: + summary.append(f"Key Concerns: {', '.join(concerns)}") + + # Add recommendations + recommendations = compliance_result.get('recommendations', []) + if recommendations: + summary.append(f"Recommendations: {', '.join(recommendations[:2])}") + + return "\n".join(summary) + + def get_sharia_alternatives(self, sector: str, country: str = 'USA') -> List[str]: + """ + Get Sharia-compliant alternatives in the same sector + + Args: + sector: Company sector + country: Market country + + Returns: + List of alternative stock symbols + """ + # This would typically connect to a Sharia-compliant stock database + # For now, return some common Sharia-compliant stocks by sector + + alternatives = { + 'technology': ['AAPL', 'MSFT', 'GOOGL', 'META'], + 'healthcare': ['JNJ', 'PFE', 'UNH', 'ABBV'], + 'consumer': ['PG', 'KO', 'PEP', 'WMT'], + 'industrial': ['BA', 'CAT', 'GE', 'MMM'] + } + + sector_lower = sector.lower() + for key, stocks in alternatives.items(): + if key in sector_lower: + return stocks[:3] # Return top 3 alternatives + + return [] + +# Global instance for easy import +sharia_checker = ShariaComplianceChecker() + +# Convenience function +def check_sharia_compliance(symbol: str, stock_info: Dict, analysis: Dict) -> Dict: + """Convenience function to check Sharia compliance""" + return sharia_checker.check_sharia_compliance(symbol, stock_info, analysis) diff --git a/week4/community-contributions/ai_stock_trading/tools/trading_decisions.py b/week4/community-contributions/ai_stock_trading/tools/trading_decisions.py new file mode 100644 index 0000000..05b4255 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/tools/trading_decisions.py @@ -0,0 +1,491 @@ +""" +Trading Decisions Module + +This module provides AI-powered trading recommendations using OpenAI +and advanced algorithmic decision-making based on technical analysis. +""" + +import os +import json +from typing import Dict, List, Optional, Tuple +import pandas as pd +import numpy as np +from openai import OpenAI +from dotenv import load_dotenv + +# Load environment variables +load_dotenv() + +class TradingDecisionEngine: + """Enhanced trading decision engine with AI and algorithmic analysis""" + + def __init__(self): + self.client = OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + # Trading signal weights + self.signal_weights = { + 'trend': 0.25, + 'momentum': 0.20, + 'volume': 0.15, + 'volatility': 0.15, + 'technical': 0.25 + } + + def get_trading_recommendation(self, symbol: str, analysis: Dict, stock_info: Dict) -> Dict: + """ + Get comprehensive trading recommendation + + Args: + symbol: Stock symbol + analysis: Technical analysis results + stock_info: Stock information + + Returns: + Dictionary with trading recommendation + """ + try: + # Get algorithmic score + algo_decision = self._get_algorithmic_decision(analysis) + + # Get AI-powered recommendation + ai_decision = self._get_ai_recommendation(symbol, analysis, stock_info) + + # Combine decisions + final_decision = self._combine_decisions(algo_decision, ai_decision) + + return { + 'symbol': symbol, + 'recommendation': final_decision['action'], + 'confidence': final_decision['confidence'], + 'price_target': final_decision.get('price_target'), + 'stop_loss': final_decision.get('stop_loss'), + 'reasoning': final_decision['reasoning'], + 'algorithmic_score': algo_decision['score'], + 'ai_recommendation': ai_decision['recommendation'], + 'risk_level': self._assess_risk_level(analysis), + 'time_horizon': final_decision.get('time_horizon', 'medium'), + 'key_factors': final_decision.get('key_factors', []) + } + + except Exception as e: + return { + 'symbol': symbol, + 'recommendation': 'HOLD', + 'confidence': 0.5, + 'reasoning': f'Error in analysis: {str(e)}', + 'error': str(e) + } + + def _get_algorithmic_decision(self, analysis: Dict) -> Dict: + """ + Generate algorithmic trading decision based on technical indicators + + Args: + analysis: Technical analysis results + + Returns: + Dictionary with algorithmic decision + """ + signals = {} + + # Trend signals + trend_score = self._calculate_trend_signal(analysis) + signals['trend'] = trend_score + + # Momentum signals + momentum_score = self._calculate_momentum_signal(analysis) + signals['momentum'] = momentum_score + + # Volume signals + volume_score = self._calculate_volume_signal(analysis) + signals['volume'] = volume_score + + # Volatility signals + volatility_score = self._calculate_volatility_signal(analysis) + signals['volatility'] = volatility_score + + # Technical indicator signals + technical_score = self._calculate_technical_signal(analysis) + signals['technical'] = technical_score + + # Calculate weighted score + total_score = sum(signals[key] * self.signal_weights[key] for key in signals) + + # Determine action + if total_score >= 0.6: + action = 'BUY' + elif total_score <= -0.6: + action = 'SELL' + else: + action = 'HOLD' + + return { + 'action': action, + 'score': total_score, + 'signals': signals, + 'confidence': min(abs(total_score), 1.0) + } + + def _calculate_trend_signal(self, analysis: Dict) -> float: + """Calculate trend-based signal (-1 to 1)""" + score = 0.0 + + # Trend direction and strength + if analysis.get('trend_direction') == 'upward': + score += 0.5 + elif analysis.get('trend_direction') == 'downward': + score -= 0.5 + + # Trend strength + trend_strength = analysis.get('trend_strength', 0) + score *= trend_strength + + # Moving average signals + if 'price_vs_sma_20' in analysis: + sma_20_signal = analysis['price_vs_sma_20'] + if sma_20_signal > 2: + score += 0.2 + elif sma_20_signal < -2: + score -= 0.2 + + if 'price_vs_sma_50' in analysis: + sma_50_signal = analysis['price_vs_sma_50'] + if sma_50_signal > 2: + score += 0.3 + elif sma_50_signal < -2: + score -= 0.3 + + return max(-1.0, min(1.0, score)) + + def _calculate_momentum_signal(self, analysis: Dict) -> float: + """Calculate momentum-based signal (-1 to 1)""" + score = 0.0 + + # RSI signal + if 'rsi' in analysis: + rsi = analysis['rsi'] + if rsi < 30: + score += 0.4 # Oversold - potential buy + elif rsi > 70: + score -= 0.4 # Overbought - potential sell + + # MACD signal + if 'macd_trend' in analysis: + if analysis['macd_trend'] == 'bullish': + score += 0.3 + else: + score -= 0.3 + + # Recent performance + if 'return_1_week' in analysis: + weekly_return = analysis['return_1_week'] + if weekly_return > 5: + score += 0.2 + elif weekly_return < -5: + score -= 0.2 + + return max(-1.0, min(1.0, score)) + + def _calculate_volume_signal(self, analysis: Dict) -> float: + """Calculate volume-based signal (-1 to 1)""" + score = 0.0 + + # Volume trend + if analysis.get('volume_trend') == 'increasing': + score += 0.3 + elif analysis.get('volume_trend') == 'decreasing': + score -= 0.2 + + # Volume vs average + if 'volume_vs_avg' in analysis: + vol_vs_avg = analysis['volume_vs_avg'] + if vol_vs_avg > 20: + score += 0.2 + elif vol_vs_avg < -20: + score -= 0.1 + + return max(-1.0, min(1.0, score)) + + def _calculate_volatility_signal(self, analysis: Dict) -> float: + """Calculate volatility-based signal (-1 to 1)""" + score = 0.0 + + # High volatility can be both opportunity and risk + volatility = analysis.get('volatility_annualized', 0) + + if volatility > 50: + score -= 0.3 # High risk + elif volatility < 15: + score += 0.2 # Low risk + + # Max drawdown consideration + max_drawdown = analysis.get('max_drawdown', 0) + if abs(max_drawdown) > 20: + score -= 0.2 + + return max(-1.0, min(1.0, score)) + + def _calculate_technical_signal(self, analysis: Dict) -> float: + """Calculate technical indicator signal (-1 to 1)""" + score = 0.0 + + # Bollinger Bands + if 'bb_position' in analysis: + bb_pos = analysis['bb_position'] + if bb_pos == 'below_lower_band': + score += 0.3 # Potential buy + elif bb_pos == 'above_upper_band': + score -= 0.3 # Potential sell + + # Sharpe ratio + sharpe = analysis.get('sharpe_ratio', 0) + if sharpe > 1: + score += 0.2 + elif sharpe < 0: + score -= 0.2 + + return max(-1.0, min(1.0, score)) + + def _get_ai_recommendation(self, symbol: str, analysis: Dict, stock_info: Dict) -> Dict: + """ + Get AI-powered trading recommendation using OpenAI + + Args: + symbol: Stock symbol + analysis: Technical analysis results + stock_info: Stock information + + Returns: + Dictionary with AI recommendation + """ + try: + # Prepare analysis data for AI + analysis_summary = self._prepare_analysis_for_ai(analysis, stock_info) + + prompt = f""" + You are a senior financial analyst with 15+ years of experience providing institutional-grade trading recommendations. + Analyze {symbol} and provide a professional trading recommendation. + + Company Information: + - Name: {stock_info.get('company_name', 'N/A')} + - Sector: {stock_info.get('sector', 'N/A')} + - Market Cap: ${stock_info.get('market_cap', 0):,} + + Technical Analysis Data: + {analysis_summary} + + REQUIREMENTS: + 1. Provide BUY/HOLD/SELL recommendation based on technical analysis + 2. Set realistic confidence level (60-95% range) + 3. Calculate logical price targets using support/resistance levels + 4. Set appropriate stop-loss levels (5-15% below entry for long positions) + 5. Consider risk-reward ratios (minimum 1:2 ratio preferred) + 6. Provide clear, actionable reasoning without jargon + 7. Consider market conditions and sector trends + + TRADING STANDARDS: + - BUY: Strong upward momentum, good risk/reward, clear catalysts + - HOLD: Consolidation phase, mixed signals, or fair value + - SELL: Downward trend, poor fundamentals, or overvalued + + Return ONLY valid JSON: + {{ + "recommendation": "BUY/HOLD/SELL", + "confidence": 85, + "price_target": 150.00, + "stop_loss": 120.00, + "time_horizon": "short/medium/long", + "reasoning": "Professional analysis explaining the recommendation with specific technical factors", + "key_factors": ["specific technical indicator", "market condition", "risk factor"], + "risk_assessment": "low/medium/high" + }} + """ + + response = self.client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + {"role": "system", "content": "You are an expert financial analyst providing professional trading recommendations."}, + {"role": "user", "content": prompt} + ], + temperature=0.3, + max_tokens=1000 + ) + + # Parse AI response + ai_response = response.choices[0].message.content + + if ai_response: + try: + # Clean the response - extract JSON + json_start = ai_response.find('{') + json_end = ai_response.rfind('}') + 1 + + if json_start != -1 and json_end != -1: + json_str = ai_response[json_start:json_end] + ai_recommendation = json.loads(json_str) + + # Validate and clean the response + return { + 'recommendation': ai_recommendation.get('recommendation', 'HOLD'), + 'confidence': ai_recommendation.get('confidence', 50), + 'price_target': ai_recommendation.get('price_target'), + 'stop_loss': ai_recommendation.get('stop_loss'), + 'time_horizon': ai_recommendation.get('time_horizon', 'medium'), + 'reasoning': ai_recommendation.get('reasoning', 'AI analysis completed'), + 'key_factors': ai_recommendation.get('key_factors', []), + 'risk_assessment': ai_recommendation.get('risk_assessment', 'medium') + } + else: + # No JSON found, use fallback + return self._parse_ai_response_fallback(ai_response) + + except json.JSONDecodeError: + # Fallback parsing + return self._parse_ai_response_fallback(ai_response) + else: + return self._parse_ai_response_fallback('No response received') + + except Exception as e: + return { + 'recommendation': 'HOLD', + 'confidence': 50, + 'reasoning': f'AI analysis unavailable: {str(e)}', + 'error': str(e) + } + + def _prepare_analysis_for_ai(self, analysis: Dict, stock_info: Dict) -> str: + """Prepare analysis summary for AI consumption""" + summary_parts = [] + + # Price metrics + current_price = analysis.get('current_price', 0) + total_return = analysis.get('total_return_pct', 0) + summary_parts.append(f"Current Price: ${current_price:.2f}") + summary_parts.append(f"Total Return: {total_return:.2f}%") + + # Trend analysis + trend_dir = analysis.get('trend_direction', 'unknown') + trend_strength = analysis.get('trend_strength', 0) + summary_parts.append(f"Trend: {trend_dir} (strength: {trend_strength:.2f})") + + # Technical indicators + if 'rsi' in analysis: + rsi = analysis['rsi'] + rsi_signal = analysis.get('rsi_signal', 'neutral') + summary_parts.append(f"RSI: {rsi:.1f} ({rsi_signal})") + + if 'macd_trend' in analysis: + summary_parts.append(f"MACD: {analysis['macd_trend']}") + + # Risk metrics + volatility = analysis.get('volatility_annualized', 0) + max_drawdown = analysis.get('max_drawdown', 0) + summary_parts.append(f"Volatility: {volatility:.1f}% (annual)") + summary_parts.append(f"Max Drawdown: {max_drawdown:.1f}%") + + # Performance + if 'return_1_month' in analysis: + monthly_return = analysis['return_1_month'] + summary_parts.append(f"1-Month Return: {monthly_return:.2f}%") + + return "\n".join(summary_parts) + + def _parse_ai_response_fallback(self, response: str) -> Dict: + """Fallback parser for AI response if JSON parsing fails""" + # Simple keyword-based parsing + recommendation = 'HOLD' + confidence = 50 + + response_lower = response.lower() + + if 'buy' in response_lower and 'sell' not in response_lower: + recommendation = 'BUY' + confidence = 70 + elif 'sell' in response_lower: + recommendation = 'SELL' + confidence = 70 + + return { + 'recommendation': recommendation, + 'confidence': confidence, + 'reasoning': response, + 'parsed_fallback': True + } + + def _combine_decisions(self, algo_decision: Dict, ai_decision: Dict) -> Dict: + """Combine algorithmic and AI decisions""" + # Weight the decisions (60% algorithmic, 40% AI) + algo_weight = 0.6 + ai_weight = 0.4 + + # Map recommendations to scores + rec_scores = {'BUY': 1, 'HOLD': 0, 'SELL': -1} + + algo_score = rec_scores.get(algo_decision['action'], 0) + ai_score = rec_scores.get(ai_decision.get('recommendation', 'HOLD'), 0) + + # Calculate combined score + combined_score = (algo_score * algo_weight) + (ai_score * ai_weight) + + # Determine final recommendation + if combined_score >= 0.3: + final_action = 'BUY' + elif combined_score <= -0.3: + final_action = 'SELL' + else: + final_action = 'HOLD' + + # Calculate confidence + algo_confidence = algo_decision.get('confidence', 0.5) + ai_confidence = ai_decision.get('confidence', 50) / 100 + combined_confidence = (algo_confidence * algo_weight) + (ai_confidence * ai_weight) + + return { + 'action': final_action, + 'confidence': combined_confidence, + 'combined_score': combined_score, + 'reasoning': ai_decision.get('reasoning', 'Combined algorithmic and AI analysis'), + 'price_target': ai_decision.get('price_target'), + 'stop_loss': ai_decision.get('stop_loss'), + 'time_horizon': ai_decision.get('time_horizon', 'medium'), + 'key_factors': ai_decision.get('key_factors', []) + } + + def _assess_risk_level(self, analysis: Dict) -> str: + """Assess overall risk level""" + risk_score = 0 + + # Volatility risk + volatility = analysis.get('volatility_annualized', 0) + if volatility > 40: + risk_score += 2 + elif volatility > 25: + risk_score += 1 + + # Drawdown risk + max_drawdown = abs(analysis.get('max_drawdown', 0)) + if max_drawdown > 30: + risk_score += 2 + elif max_drawdown > 15: + risk_score += 1 + + # Sharpe ratio + sharpe = analysis.get('sharpe_ratio', 0) + if sharpe < 0: + risk_score += 1 + + # Determine risk level + if risk_score >= 4: + return 'high' + elif risk_score >= 2: + return 'medium' + else: + return 'low' + +# Global instance for easy import +trading_engine = TradingDecisionEngine() + +# Convenience function +def get_trading_recommendation(symbol: str, analysis: Dict, stock_info: Dict) -> Dict: + """Convenience function to get trading recommendation""" + return trading_engine.get_trading_recommendation(symbol, analysis, stock_info) From e8ddcea4d791efe87b2e8deff972a470082978d8 Mon Sep 17 00:00:00 2001 From: Prathamesh-Udoshi Date: Tue, 22 Jul 2025 00:50:00 +0530 Subject: [PATCH 025/176] Added Movie_Suggestion using Ollama in Community Contributions --- .../Movie_Suggestion.ipynb | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 week1/community-contributions/Movie_Suggestion.ipynb diff --git a/week1/community-contributions/Movie_Suggestion.ipynb b/week1/community-contributions/Movie_Suggestion.ipynb new file mode 100644 index 0000000..930d5b0 --- /dev/null +++ b/week1/community-contributions/Movie_Suggestion.ipynb @@ -0,0 +1,104 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7bb9010e-48a8-491e-a2a9-1a8dacc26f87", + "metadata": {}, + "source": [ + "# Movie Suggestion using Ollama Running Locally\n", + "\n", + "#### Takes the user input like languages and Genre and suggests Top 10 Movies of the selected attributes.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad049302-dce8-4a0a-88ab-e485ac15fbe4", + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "from IPython.display import display, Markdown\n", + "\n", + "def get_movie_recommendations(language, genre, top_n=10, model='llama3.2'):\n", + " api_url = \"http://localhost:11434/api/generate\"\n", + " prompt = (\n", + " f\"Recommend {top_n} well-rated {language} movies from the {genre} genre. \"\n", + " \"For each movie, provide the name and a 1-2 sentence preview of its story. \"\n", + " \"Return the results as a Markdown table with columns: Title, Short Summary.\"\n", + " )\n", + " data = {\n", + " \"model\": model,\n", + " \"prompt\": prompt,\n", + " \"options\": {\"num_predict\": 800},\n", + " \"stream\": False\n", + " }\n", + " response = requests.post(api_url, json=data)\n", + " # Extract text response (could be markdown table already)\n", + " return response.json().get(\"response\", \"\").strip()" + ] + }, + { + "cell_type": "markdown", + "id": "01400553-419c-4798-8f19-e32e49379761", + "metadata": {}, + "source": [ + "#### Enter your Language and Genre" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a7527230-1e10-4b67-94c0-a84519b256c2", + "metadata": {}, + "outputs": [], + "source": [ + "language = input(\"Enter preferred language (e.g., French, Japanese): \").strip()\n", + "genre = input(\"Enter preferred genre (e.g., Drama, Comedy, Thriller): \").strip()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ff0146f-b37e-4218-9678-15a40bed3659", + "metadata": {}, + "outputs": [], + "source": [ + "recommendations_md = get_movie_recommendations(language, genre)\n", + "# This prints out the Markdown table as formatted by the Llama 3.2 model\n", + "from IPython.display import display, Markdown\n", + "\n", + "display(Markdown(recommendations_md))" + ] + }, + { + "cell_type": "markdown", + "id": "58cc0fa4-a2a6-4597-8ae9-39970fb2a7b5", + "metadata": {}, + "source": [ + "### The Result will be displayed in a markdown fashion in a neat table with rows and columns." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From b993946ab382c99fe05b3c1d3dd905d6863ddb13 Mon Sep 17 00:00:00 2001 From: Omar Marie Date: Mon, 21 Jul 2025 23:13:12 +0300 Subject: [PATCH 026/176] remove: old notebook --- .../stock_analysis_sharia_compliance.ipynb | 1008 ----------------- 1 file changed, 1008 deletions(-) delete mode 100644 week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb diff --git a/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb b/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb deleted file mode 100644 index 7fd7810..0000000 --- a/week4/community-contributions/ai_stock_trading/stock_analysis_sharia_compliance.ipynb +++ /dev/null @@ -1,1008 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "# Stock Analysis & Sharia Compliance Chat Interface\n", - "\n", - "This notebook implements a comprehensive Gradio-based chat interface for stock analysis and Islamic Sharia compliance checks. It provides:\n", - "\n", - "- **Real-time Stock Data Fetching** using yfinance\n", - "- **Technical Analysis** with multiple time periods\n", - "- **AI-Powered Trade Recommendations** using OpenAI GPT-4o-mini\n", - "- **Sharia Compliance Assessment** for Islamic investing\n", - "- **Interactive Charts** and user-friendly interface\n", - "\n", - "## Features\n", - "1. Multi-period stock analysis (1 month, 1 year, 5 years)\n", - "2. Automated trade advice (BUY/HOLD/SELL) with justification\n", - "3. Sharia compliance ruling with confidence scores\n", - "4. Interactive price charts\n", - "5. Clean Gradio chat interface\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 1. Imports\n", - "\n", - "First, let's import all necessary libraries and set up our environment.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āœ… OpenAI API key loaded successfully\n", - "šŸš€ All libraries imported successfully!\n" - ] - } - ], - "source": [ - "# Core imports\n", - "import os\n", - "import json\n", - "import warnings\n", - "from dotenv import load_dotenv\n", - "\n", - "warnings.filterwarnings('ignore')\n", - "\n", - "# Data and analysis\n", - "import yfinance as yf\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "# Visualization\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.dates as mdates\n", - "\n", - "# Web scraping for company info\n", - "import requests\n", - "from bs4 import BeautifulSoup\n", - "\n", - "# AI and interface\n", - "import openai\n", - "import gradio as gr\n", - "\n", - "# Load OpenAI API key from environment\n", - "load_dotenv(override=True)\n", - "openai.api_key = os.getenv('OPENAI_API_KEY')\n", - "\n", - "if not openai.api_key:\n", - " print(\"āš ļø Warning: OPENAI_API_KEY not found in environment variables\")\n", - " print(\"Please set your OpenAI API key: export OPENAI_API_KEY='your-key-here'\")\n", - "else:\n", - " print(\"āœ… OpenAI API key loaded successfully\")\n", - "\n", - "print(\"šŸš€ All libraries imported successfully!\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 2. Data Fetching Tool\n", - "\n", - "This function fetches historical stock data using yfinance for any given symbol, period, and interval.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āœ… Successfully fetched 17 data points for ABUK.CA (1mo)\n", - "\n", - "šŸ“Š Sample data for ABUK.CA:\n", - " Open High Low Close \\\n", - "Date \n", - "2025-06-22 00:00:00+03:00 45.970001 47.000000 45.049999 46.840000 \n", - "2025-06-23 00:00:00+03:00 46.840000 47.099998 45.830002 46.410000 \n", - "2025-06-24 00:00:00+03:00 46.410000 47.950001 47.009998 47.889999 \n", - "2025-06-25 00:00:00+03:00 47.889999 48.990002 47.939999 48.889999 \n", - "2025-06-29 00:00:00+03:00 48.889999 50.869999 49.520000 50.389999 \n", - "\n", - " Volume Dividends Stock Splits Capital Gains \n", - "Date \n", - "2025-06-22 00:00:00+03:00 408343 0.0 0.0 0.0 \n", - "2025-06-23 00:00:00+03:00 1425250 0.0 0.0 0.0 \n", - "2025-06-24 00:00:00+03:00 1184487 0.0 0.0 0.0 \n", - "2025-06-25 00:00:00+03:00 833208 0.0 0.0 0.0 \n", - "2025-06-29 00:00:00+03:00 994006 0.0 0.0 0.0 \n" - ] - } - ], - "source": [ - "def fetch_history(symbol, period=\"1mo\", interval=\"1d\"):\n", - " \"\"\"\n", - " Fetch historical stock data using yfinance\n", - " \n", - " Args:\n", - " symbol (str): Stock ticker symbol (e.g., 'AAPL', 'MSFT')\n", - " period (str): Time period ('1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max')\n", - " interval (str): Data interval ('1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1wk', '1mo', '3mo')\n", - " \n", - " Returns:\n", - " pandas.DataFrame: Historical stock data with OHLCV columns\n", - " \"\"\"\n", - " try:\n", - " # Create ticker object\n", - " ticker = yf.Ticker(symbol)\n", - " \n", - " # Fetch historical data\n", - " df = ticker.history(period=period, interval=interval)\n", - " \n", - " if df.empty:\n", - " raise ValueError(f\"No data found for symbol: {symbol}\")\n", - " \n", - " print(f\"āœ… Successfully fetched {len(df)} data points for {symbol} ({period})\")\n", - " return df\n", - " \n", - " except Exception as e:\n", - " print(f\"āŒ Error fetching data for {symbol}: {str(e)}\")\n", - " return pd.DataFrame()\n", - "\n", - "# Test the function\n", - "test_symbol = \"ABUK.CA\"\n", - "test_data = fetch_history(test_symbol, \"1mo\", \"1d\")\n", - "if not test_data.empty:\n", - " print(f\"\\nšŸ“Š Sample data for {test_symbol}:\")\n", - " print(test_data.head())\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 3. Analysis Tool\n", - "\n", - "This function analyzes the fetched data and computes key financial metrics.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "šŸ“ˆ Analysis Summary:\n", - " start_price: 46.84\n", - " end_price: 52.7\n", - " total_return_%: 12.51\n", - " volatility_%: 30.91\n", - " avg_volume: 1153685\n", - " max_price: 53.25\n", - " min_price: 45.05\n", - " price_range_%: 18.2\n" - ] - } - ], - "source": [ - "def summarize(df):\n", - " \"\"\"\n", - " Analyze DataFrame and return key financial metrics\n", - " \n", - " Args:\n", - " df (pandas.DataFrame): Historical stock data with OHLCV columns\n", - " \n", - " Returns:\n", - " dict: Summary metrics including returns, volatility, and volume\n", - " \"\"\"\n", - " if df.empty:\n", - " return {\n", - " \"start_price\": 0,\n", - " \"end_price\": 0,\n", - " \"total_return_%\": 0,\n", - " \"volatility_%\": 0,\n", - " \"avg_volume\": 0,\n", - " \"max_price\": 0,\n", - " \"min_price\": 0,\n", - " \"price_range_%\": 0\n", - " }\n", - " \n", - " try:\n", - " # Basic price metrics\n", - " start_price = float(df['Close'].iloc[0])\n", - " end_price = float(df['Close'].iloc[-1])\n", - " max_price = float(df['High'].max())\n", - " min_price = float(df['Low'].min())\n", - " \n", - " # Calculate returns\n", - " total_return = ((end_price - start_price) / start_price) * 100\n", - " \n", - " # Calculate volatility (annualized)\n", - " daily_returns = df['Close'].pct_change().dropna()\n", - " volatility = daily_returns.std() * np.sqrt(252) * 100 # Annualized\n", - " \n", - " # Volume metrics\n", - " avg_volume = float(df['Volume'].mean())\n", - " \n", - " # Price range\n", - " price_range = ((max_price - min_price) / min_price) * 100\n", - " \n", - " summary = {\n", - " \"start_price\": round(start_price, 2),\n", - " \"end_price\": round(end_price, 2),\n", - " \"total_return_%\": round(total_return, 2),\n", - " \"volatility_%\": round(volatility, 2),\n", - " \"avg_volume\": int(avg_volume),\n", - " \"max_price\": round(max_price, 2),\n", - " \"min_price\": round(min_price, 2),\n", - " \"price_range_%\": round(price_range, 2)\n", - " }\n", - " \n", - " return summary\n", - " \n", - " except Exception as e:\n", - " print(f\"āŒ Error in analysis: {str(e)}\")\n", - " return {\"error\": str(e)}\n", - "\n", - "# Test the analysis function\n", - "if not test_data.empty:\n", - " test_summary = summarize(test_data)\n", - " print(\"\\nšŸ“ˆ Analysis Summary:\")\n", - " for key, value in test_summary.items():\n", - " print(f\" {key}: {value}\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 4. Trade Decision Tool\n", - "\n", - "This function uses OpenAI GPT-4o-mini to provide intelligent trade recommendations based on multi-period analysis.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "šŸ¤– Getting AI trade advice...\n", - "\n", - "Trade Advice for ABUK.CA:\n", - "RECOMMENDATION: BUY\n", - "\n", - "**Justification:**\n", - "\n", - "1. **Price Movement**: The stock price has increased from $46.84 to $52.7 over the past month, representing a gain of 12.51%. This upward momentum indicates strong buying interest and positive market sentiment.\n", - "\n", - "2. **Volatility**: The volatility of 30.91% is relatively high, suggesting that while the stock can experience significant price swings, it also presents opportunities for substantial gains. For risk-tolerant investors, this volatility can be seen as a chance to capitalize on price movements.\n", - "\n", - "3. **Average Volume**: The average volume of 1,153,685 shares traded indicates a healthy level of liquidity, allowing for easier entry and exit points for investors. High trading volume often correlates with strong investor interest and can support price stability.\n", - "\n", - "4. **Price Range**: The price range of 18.2% suggests that the stock has experienced considerable fluctuations within the month. However, the upward trend and the recent price increase indicate that the stock is currently on a bullish trajectory.\n", - "\n", - "5. **Risk Factors**: While the high volatility presents risks, the recent positive performance and the total return of 12.51% over the month suggest that the stock is gaining traction. Investors should be aware of potential market corrections but can take advantage of the current upward trend.\n", - "\n", - "**Conclusion**: Given the strong price performance, reasonable trading volume, and potential for continued growth despite volatility, the recommendation is to BUY ABUK.CA. Investors should monitor the stock closely for any changes in market conditions or company fundamentals that may impact future performance.\n" - ] - } - ], - "source": [ - "def get_trade_advice(symbol, summaries):\n", - " \"\"\"\n", - " Get AI-powered trade advice using OpenAI GPT-4o-mini\n", - " \n", - " Args:\n", - " symbol (str): Stock ticker symbol\n", - " summaries (dict): Dictionary containing summaries for different periods\n", - " \n", - " Returns:\n", - " str: Trade advice from AI assistant\n", - " \"\"\"\n", - " if not openai.api_key:\n", - " return \"āŒ OpenAI API key not configured. Please set OPENAI_API_KEY environment variable.\"\n", - " \n", - " try:\n", - " # Build multi-period summary text\n", - " summary_text = f\"Stock Analysis for {symbol}:\\n\\n\"\n", - " \n", - " for period, data in summaries.items():\n", - " if \"error\" not in data:\n", - " summary_text += f\"{period.upper()} ANALYSIS:\\n\"\n", - " summary_text += f\" • Price: ${data['start_price']} → ${data['end_price']}\\n\"\n", - " summary_text += f\" • Total Return: {data['total_return_%']}%\\n\"\n", - " summary_text += f\" • Volatility: {data['volatility_%']}%\\n\"\n", - " summary_text += f\" • Average Volume: {data['avg_volume']:,}\\n\"\n", - " summary_text += f\" • Price Range: {data['price_range_%']}%\\n\\n\"\n", - " \n", - " # Create the prompt\n", - " prompt = f\"\"\"As a professional financial analyst, analyze the following stock data and provide a clear BUY/HOLD/SELL recommendation.\n", - "\n", - "{summary_text}\n", - "\n", - "Instructions:\n", - "1. Start your response with a clear decision: \"RECOMMENDATION: BUY/HOLD/SELL\"\n", - "2. Provide specific numerical justification based on the data\n", - "3. Consider multiple timeframes and risk factors\n", - "4. Keep your analysis concise but thorough\n", - "5. Include key metrics that support your decision\n", - "\n", - "Should I BUY/HOLD/SELL this stock? Justify with numbers.\"\"\"\n", - "\n", - " # Call OpenAI API\n", - " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-mini\",\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": \"You are a professional financial analyst providing stock trading advice based on technical analysis.\"},\n", - " {\"role\": \"user\", \"content\": prompt}\n", - " ],\n", - " max_tokens=500,\n", - " temperature=0.3\n", - " )\n", - " \n", - " advice = response.choices[0].message.content.strip()\n", - " return advice\n", - " \n", - " except Exception as e:\n", - " return f\"āŒ Error getting trade advice: {str(e)}\"\n", - "\n", - "# Test with dummy data\n", - "if not test_data.empty:\n", - " test_summaries = {\"1mo\": test_summary}\n", - " print(\"\\nšŸ¤– Getting AI trade advice...\")\n", - " test_advice = get_trade_advice(test_symbol, test_summaries)\n", - " print(f\"\\nTrade Advice for {test_symbol}:\")\n", - " print(test_advice)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 5. Sharia Compliance Tool\n", - "\n", - "This tool assesses whether a stock is compliant with Islamic Sharia principles by analyzing the company's business activities.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ā˜Ŗļø Testing Sharia compliance assessment...\n", - "\n", - "Sharia Assessment for ABUK.CA:\n", - "Ruling: DOUBTFUL\n", - "Confidence: 50%\n", - "Justification: The business description for ABUK.CA does not provide sufficient information about its specific activities or revenue sources. Without clarity on whether the company engages in any HARAM activities or has excessive debt, it is prudent to classify it as DOUBTFUL. Further investigation into the company's financials and business operations is necessary to make a definitive ruling.\n" - ] - } - ], - "source": [ - "def get_company_profile(symbol):\n", - " \"\"\"\n", - " Fetch company information from the internet\n", - " \n", - " Args:\n", - " symbol (str): Stock ticker symbol\n", - " \n", - " Returns:\n", - " str: Company description and business activities\n", - " \"\"\"\n", - " try:\n", - " # Use yfinance to get company info\n", - " ticker = yf.Ticker(symbol)\n", - " info = ticker.info\n", - " \n", - " company_info = \"\"\n", - " if 'longBusinessSummary' in info:\n", - " company_info = info['longBusinessSummary']\n", - " elif 'description' in info:\n", - " company_info = info['description']\n", - " else:\n", - " # Fallback: try to get basic info\n", - " company_info = f\"Company: {info.get('longName', symbol)}, \"\n", - " company_info += f\"Sector: {info.get('sector', 'Unknown')}, \"\n", - " company_info += f\"Industry: {info.get('industry', 'Unknown')}\"\n", - " \n", - " return company_info\n", - " \n", - " except Exception as e:\n", - " return f\"Unable to fetch company information for {symbol}: {str(e)}\"\n", - "\n", - "def assess_sharia(symbol):\n", - " \"\"\"\n", - " Assess Sharia compliance using AI analysis of company activities\n", - " \n", - " Args:\n", - " symbol (str): Stock ticker symbol\n", - " \n", - " Returns:\n", - " dict: Sharia ruling with confidence score and justification\n", - " \"\"\"\n", - " if not openai.api_key:\n", - " return {\n", - " \"ruling\": \"UNKNOWN\",\n", - " \"confidence\": 0,\n", - " \"justification\": \"OpenAI API key not configured\"\n", - " }\n", - " \n", - " try:\n", - " # Get company profile\n", - " company_profile = get_company_profile(symbol)\n", - " \n", - " # Create Sharia compliance prompt\n", - " prompt = f\"\"\"As an Islamic finance scholar, analyze the following company's business activities and determine if it is HALAL (permissible) or HARAM (forbidden) according to Islamic Sharia principles.\n", - "\n", - "Company: {symbol}\n", - "Business Description: {company_profile}\n", - "\n", - "Islamic Sharia Compliance Criteria:\n", - "- HARAM: Alcohol, gambling, adult entertainment, tobacco, conventional banking with interest (riba), insurance, pork products\n", - "- HARAM: Companies with >33% revenue from prohibited activities\n", - "- HARAM: Companies with excessive debt (debt-to-market cap >33%)\n", - "- HALAL: Technology, healthcare, retail (halal products), renewable energy, telecommunications\n", - "\n", - "Provide your assessment in the following format:\n", - "RULING: [HALAL/HARAM/DOUBTFUL]\n", - "CONFIDENCE: [0-100]\n", - "JUSTIFICATION: [Brief explanation of the ruling based on business activities]\n", - "\n", - "Be conservative in your assessment - when in doubt, classify as DOUBTFUL.\"\"\"\n", - "\n", - " # Call OpenAI API\n", - " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-mini\",\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": \"You are an Islamic finance scholar specializing in Sharia compliance assessment for investments.\"},\n", - " {\"role\": \"user\", \"content\": prompt}\n", - " ],\n", - " max_tokens=300,\n", - " temperature=0.2\n", - " )\n", - " \n", - " response_text = response.choices[0].message.content.strip()\n", - " \n", - " # Parse the response\n", - " ruling = \"UNKNOWN\"\n", - " confidence = 0\n", - " justification = response_text\n", - " \n", - " # Extract ruling\n", - " if \"RULING:\" in response_text:\n", - " ruling_line = [line for line in response_text.split('\\n') if 'RULING:' in line][0]\n", - " ruling = ruling_line.split('RULING:')[1].strip()\n", - " \n", - " # Extract confidence\n", - " if \"CONFIDENCE:\" in response_text:\n", - " confidence_line = [line for line in response_text.split('\\n') if 'CONFIDENCE:' in line][0]\n", - " try:\n", - " confidence = int(''.join(filter(str.isdigit, confidence_line)))\n", - " except:\n", - " confidence = 50\n", - " \n", - " # Extract justification\n", - " if \"JUSTIFICATION:\" in response_text:\n", - " justification = response_text.split('JUSTIFICATION:')[1].strip()\n", - " \n", - " return {\n", - " \"ruling\": ruling,\n", - " \"confidence\": confidence,\n", - " \"justification\": justification\n", - " }\n", - " \n", - " except Exception as e:\n", - " return {\n", - " \"ruling\": \"ERROR\",\n", - " \"confidence\": 0,\n", - " \"justification\": f\"Error assessing Sharia compliance: {str(e)}\"\n", - " }\n", - "\n", - "# Test Sharia assessment\n", - "print(\"\\nā˜Ŗļø Testing Sharia compliance assessment...\")\n", - "test_sharia = assess_sharia(test_symbol)\n", - "print(f\"\\nSharia Assessment for {test_symbol}:\")\n", - "print(f\"Ruling: {test_sharia['ruling']}\")\n", - "print(f\"Confidence: {test_sharia['confidence']}%\")\n", - "print(f\"Justification: {test_sharia['justification']}\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 6. Charting Tool\n", - "\n", - "This function creates interactive price charts using Matplotlib for visualization in the Gradio interface.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "šŸ“Š Creating test chart...\n" - ] - }, - { - "data": { - "image/png": "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1ADwXiVqGHivEtWN7IJiXInNBAA4WBiimUnN60ndvz+lUmmlPaV4HxPVHd5fOjj7Xmk5OTmIioqCg4ODtkMhIiIiIiLSqnM306BSl9SP8rGvWXkTIiJdolM9pebOnYvhw4fD1dUV8fHx+PDDDyGTyTBx4kQAQGJiIhITE8WeU8HBwVAoFHBxcYGlpaU2QyciIiIiIqpTp6Luij/fL3JORNSQ6VRSKjY2FhMnTkRqaipsbGzQo0cPnD17FjY2NgCAb7/9VqNoea9evQAAGzZswNSpU7URMhERERERUb04FVmSlJJKAC97JqWIqOHTqaTU5s2bK12/cOFCLFy4sH6CISIiIiIi0hHJ2QW4npQDAGjrZAFjA5mWIyIienw6XVOKiIiIiIiIgNORD6aO7+FhpcVIiIhqD5NSREREREREOu7+0D0A6N7SWouREBHVHialiIiIiIiIdJggCGJSSq4nRUfXZlqOiIiodjApRUREREREpMNup+YhPrMAANDZzRKG+qwnRUSNA5NSREREREREOkxj6J4Hh+4RUePBpBQREREREZEO00xKscg5ETUeTEoRERERERHpKJVawJmbJTPvmRnqoXVzcy1HRERUe5iUIiIiIiIi0lGh8VnIyCsGAAS0tIZMKtFyREREtYdJKSIiIiIiIh11KopD94io8WJSioiIiIiISEexyDkRNWZMShEREREREemgQqUK/91OAwA4mBvC3dpEyxEREdUuJqWIiIiIiIh00KXoDBQUqwGU9JKSSFhPiogaFyaliIiIiIiIdJDm0D3WkyKixkdP2wEQERERERFRWaWLnAe01L16UhEREfV2Li8vr3o7FxHVH/aUIiIiIiIi0jFZBcW4EpMBAGhlawo7M0PtBkREVAeYlCIiIiIiItIx526mQS2U/MxZ94iosWJSioiIiIiISMdo1pNiUoqIGicmpYiIiIiIiHTM/aSUVAJ0bWGp5WiIiOoGk1JEREREREQ6JDmrADeScwAA7ZwtYGaor+WIiIjqBpNSREREREREOqT0rHvddXDWPSKi2sKkFBERERERkQ45FZkq/hzgYaXFSIiI6haTUkRERERERDpCEASxnpShvhQdXZppOSIiorrDpBQREREREZGOuHU3FwmZBQCAzm6WMNSXaTkiIqK6w6QUERERERGRjjgV9WDoXncP1pMiosaNSSkiIiIi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p59+WgkJCXr99dddnPzsKEoBAAAAAAC4seLiYm3YsEGDBg1ytFmtVg0aNEhr1qyp8jFr1qyptL8kDRky5Kz7m8HH7ACuZrfbJUlpaWkmJ6m9sw3Nqw/BwcFuncMZGQzDUHZ2toqLi2WxWM47g7Ny1FR1OeBeeF84l91u17Fjx1RcXCyrtXbfqfCaoCru8r5wlxx15U3nqrvkQDl3eT28JYc3fQZ2lxw4zVWviae/HqfqEllZWQoLC3O0+/v7y9/fv9K+R48eVVlZmaKioiq1R0VFaefOnVX2n56eXuX+6enpzojvFA2uKHX48GFJUp8+fUxOAgAAAAAAGrpu3bpV2p42bZqefPJJc8K4WIMrSsXHx+unn35SVFRUrb+9g3fJyclRly5dtH37doWGhpodB8BZcK4CnoFzFfAMnKuA+ex2u/bv368uXbrIx+d0eea3o6QkqVmzZrLZbI6BNqccPnxY0dHRVfYfHR19XvubocEVpXx8fHTRRReZHQNuJDs7W5IUExNTacgkAPfCuQp4Bs5VwDNwrgLuoXXr1jXaz8/PT71799bSpUt13XXXSSovai1dulT33ntvlY/p16+fli5dqsmTJzvalixZon79+tU1ttM0uKIUAAAAAACAp5kyZYrGjx+vCy+8UH369NGMGTOUl5enCRMmSJLGjRunmJgYPfvss5KkSZMm6bLLLtOLL76oa665RvPnz9f69ev19ttvm/k0KqEoBQAAAAAA4OZuvPFGHTlyRE888YTS09PVq1cvLV682LGY+f79+ystU5SYmKh58+bpscce01//+ld17NhRixYtOmMNKzNRlEKD5+/vr2nTplU5bxeA++BcBTwD5yrgGThXAc907733nnW63vLly89o++Mf/6g//vGP9Zyq9iyGYRhmhwAAAAAAAEDDwuXnAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSl4DLPPvusLrroIoWGhioyMlLXXXedUlJSKu1TWFioe+65R02bNlVISIhuuOEGHT582HH/pk2bNGrUKLVq1UqBgYHq3LmzXnnllUp9LF++XBaL5Yyf9PT0avMZhqEnnnhCzZs3V2BgoAYNGqRffvnljP2++OILXXzxxQoMDFTjxo113XXXVdvv8uXLde2116p58+YKDg5Wr169NHfu3LPuP3/+fFkslnP2C9QXTz9Xz9avxWLRunXrqu17+fLlSkhIkL+/vzp06KDZs2dXun/FihUaNmyYWrRoIYvFokWLFlXbH1CfOFfPfq6WlZXp8ccfV2xsrAIDA9W+fXs9/fTTYilVmKGhnqtpaWkaPXq0LrjgAlmtVk2ePPmMfWbPnn1GnwEBAdXmBeBdKErBZb7//nvdc889+vHHH7VkyRKVlJRo8ODBysvLc+xz//3363//+58WLlyo77//Xr/++qtGjBjhuH/Dhg2KjIzUhx9+qG3btunRRx/V1KlT9frrr59xvJSUFKWlpTl+IiMjq833j3/8Q6+++qpmzpyptWvXKjg4WEOGDFFhYaFjn08++URjx47VhAkTtGnTJq1atUqjR4+utt/Vq1erR48e+uSTT7R582ZNmDBB48aN0+eff37Gvnv37tVf/vIXDRgwoNo+gfrk6edqYmJipf7S0tJ02223KTY2VhdeeOFZ+01NTdU111yjyy+/XMnJyZo8ebJuu+02ff3114598vLy1LNnT73xxhs1/v8J1BfO1bOfq88//7z++c9/6vXXX9eOHTv0/PPP6x//+Idee+21Gv//BZyloZ6rRUVFioiI0GOPPaaePXuedb+wsLBKfe/bt6/avAC8jAGYJCMjw5BkfP/994ZhGEZmZqbh6+trLFy40LHPjh07DEnGmjVrztrP3XffbVx++eWO7e+++86QZJw4caLGWex2uxEdHW383//9n6MtMzPT8Pf3Nz766CPDMAyjpKTEiImJMd59990a93s2V199tTFhwoRKbaWlpUZiYqLx7rvvGuPHjzeuvfbaOh8HcAZPO1d/q7i42IiIiDCeeuqpavt+6KGHjK5du1Zqu/HGG40hQ4ZUub8k49NPP61xdqC+ca6ePlevueYa409/+lOlfUaMGGGMGTOmxs8BqC8N5Vyt6LLLLjMmTZp0RvusWbOMRo0a1bgfAN6HkVIwTVZWliSpSZMmksq/ASopKdGgQYMc+3Tq1EmtW7fWmjVrqu3nVB8V9erVS82bN9fvfvc7rVq1qtosqampSk9Pr3TsRo0a6eKLL3YcOykpSYcOHZLValV8fLyaN2+uoUOHauvWrTV/0tVkfuqppxQZGalbb731vPsD6pOnnau/9d///lfHjh3ThAkTqu17zZo1lfqVpCFDhlT7nAB3wrl6ut/ExEQtXbpUP//8s6TyqU8rV67U0KFDq+0bcIWGcq7WVG5urtq0aaNWrVrp2muv1bZt25zSLwDP4GN2ADRMdrtdkydP1iWXXKJu3bpJktLT0+Xn56fw8PBK+0ZFRZ11Lvzq1au1YMECffHFF4625s2ba+bMmbrwwgtVVFSkd999VwMHDtTatWuVkJBQZT+n+o+Kijrrsffs2SNJevLJJ/XSSy+pbdu2evHFFzVw4ED9/PPPVX4oqMrHH3+sdevW6a233nK0rVy5Uu+9956Sk5Nr1AfgKp54rv7We++9pyFDhqhly5bVPtf09PQq+83OzlZBQYECAwOrfTxgJs7VyufqI488ouzsbHXq1Ek2m01lZWX6+9//rjFjxlTbN1DfGtK5WhNxcXF6//331aNHD2VlZemFF15QYmKitm3b5pT+Abg/ilIwxT333KOtW7dq5cqVte5j69atuvbaazVt2jQNHjzY0R4XF6e4uDjHdmJionbv3q2XX35Zc+bM0dy5czVx4kTH/V999ZVsNts5j2e32yVJjz76qG644QZJ0qxZs9SyZUstXLhQEydOVNeuXR3z4AcMGKCvvvqqUh/fffedJkyYoHfeeUddu3aVJOXk5Gjs2LF655131KxZs1r+3wDqhyeeqxUdPHhQX3/9tT7++ONK7SEhIY7bN998s2bOnHm+TwtwK5yrlX388ceaO3eu5s2bp65duzrWnmrRooXGjx9/XtkAZ+Jcraxfv37q169fpcydO3fWW2+9paeffvq8sgHwTBSl4HL33nuvPv/8c61YsaLSNyDR0dEqLi5WZmZmpW+KDh8+rOjo6Ep9bN++XVdeeaXuuOMOPfbYY+c8Zp8+fRy//IcPH66LL77YcV9MTIzS0tIcx2revHmlY/fq1UuSHO1dunRx3O/v76927dpp//79kqQvv/xSJSUlknTGqIrvv/9ew4YN08svv6xx48Y52nfv3q29e/dq2LBhjrZTBTAfHx+lpKSoffv253yOgLN56rla0axZs9S0aVMNHz68UnvFUYlhYWGO51XxSken+g0LC2OUFNwa5+qZ5+qDDz6oRx55RDfddJMkqXv37tq3b5+effZZilIwTUM7V2vD19dX8fHx2rVrV637AOBZKErBZQzD0H333adPP/1Uy5cvV2xsbKX7e/fuLV9fXy1dutQxEiklJUX79++v9A3Ktm3bdMUVV2j8+PH6+9//XqNjJycnO37RhoaGKjQ0tNL9sbGxio6O1tKlSx2/gLOzs7V27Vrdddddjnz+/v5KSUlR//79JUklJSXau3ev2rRpI0mO//7W8uXL9fvf/17PP/+87rjjjkr3derUSVu2bKnU9thjjyknJ0evvPKKWrVqVaPnCDiLp5+rFZ/HrFmzNG7cOPn6+la6r0OHDmccu1+/fvryyy8rtS1ZsqTScwLcCefqab89V/Pz82W1Vl461WazOb70AVypoZ6rtVFWVqYtW7bo6quvdkp/ADyAiYuso4G56667jEaNGhnLly830tLSHD/5+fmOfe68806jdevWxrJly4z169cb/fr1M/r16+e4f8uWLUZERIRx8803V+ojIyPDsc/LL79sLFq0yPjll1+MLVu2GJMmTTKsVqvx7bffVpvvueeeM8LDw43PPvvM2Lx5s3HttdcasbGxRkFBgWOfSZMmGTExMcbXX39t7Ny507j11luNyMhI4/jx42ftd9myZUZQUJAxderUSpmPHTt21sdw9T2YyRvOVcMwjG+//daQZOzYsaNGz3vPnj1GUFCQ8eCDDxo7duww3njjDcNmsxmLFy927JOTk2Ns3LjR2LhxoyHJeOmll4yNGzca+/btq9ExAGfiXD37uTp+/HgjJibG+Pzzz43U1FTjP//5j9GsWTPjoYceqtExAGdqqOeqYRiO35m9e/c2Ro8ebWzcuNHYtm2b4/7p06cbX3/9tbF7925jw4YNxk033WQEBARU2geAd6MoBZeRVOXPrFmzHPsUFBQYd999t9G4cWMjKCjIuP766420tDTH/dOmTauyjzZt2jj2ef7554327dsbAQEBRpMmTYyBAwcay5YtO2c+u91uPP7440ZUVJTh7+9vXHnllUZKSkqlfYqLi40HHnjAiIyMNEJDQ41BgwYZW7durbbf8ePHV5n5sssuq/YxFKVgFm84Vw3DMEaNGmUkJiae13P/7rvvjF69ehl+fn5Gu3btKj3nU/dX9bzGjx9/XscBnIFz9eznanZ2tjFp0iSjdevWRkBAgNGuXTvj0UcfNYqKis7rOIAzNORz9VyZJ0+ebLRu3drw8/MzoqKijKuvvtpISko6r2MA8GwWwzAMJwy4AgAAAAAAAGrMeu5dAAAAAAAAAOeiKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAAAAAAJejKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAAAAAAJejKAUAAAAAAACXoygFAAAAAAAAl6MoBQAAGpTZs2fLYrE4fgICAtSiRQsNGTJEr776qnJycmrV7+rVq/Xkk08qMzPTuYEBAAC8FEUpAADQID311FOaM2eO/vnPf+q+++6TJE2ePFndu3fX5s2bz7u/1atXa/r06RSlAAAAasjH7AAAAABmGDp0qC688ELH9tSpU7Vs2TL9/ve/1/Dhw7Vjxw4FBgaamBAAAMC7MVIKAADgpCuuuEKPP/649u3bpw8//FCStHnzZt1yyy1q166dAgICFB0drT/96U86duyY43FPPvmkHnzwQUlSbGysY2rg3r17Hft8+OGH6t27twIDA9WkSRPddNNNOnDggEufHwAAgDuhKAUAAFDB2LFjJUnffPONJGnJkiXas2ePJkyYoNdee0033XST5s+fr6uvvlqGYUiSRowYoVGjRkmSXn75Zc2ZM0dz5sxRRESEJOnvf/+7xo0bp44dO+qll17S5MmTtXTpUl166aVM9wMAAA0W0/cAAAAqaNmypRo1aqTdu3dLku6++2498MADlfbp27evRo0apZUrV2rAgAHq0aOHEhIS9NFHH+m6665T27ZtHfvu27dP06ZN09/+9jf99a9/dbSPGDFC8fHxevPNNyu1AwAANBSMlAIAAPiNkJAQx1X4Kq4rVVhYqKNHj6pv376SpKSkpHP29Z///Ed2u10jR47U0aNHHT/R0dHq2LGjvvvuu/p5EgAAAG6OkVIAAAC/kZubq8jISEnS8ePHNX36dM2fP18ZGRmV9svKyjpnX7/88osMw1DHjh2rvN/X17fugQEAADwQRSkAAIAKDh48qKysLHXo0EGSNHLkSK1evVoPPvigevXqpZCQENntdl111VWy2+3n7M9ut8tiseirr76SzWY74/6QkBCnPwcAAABPQFEKAACggjlz5kiShgwZohMnTmjp0qWaPn26nnjiCcc+v/zyyxmPs1gsVfbXvn17GYah2NhYXXDBBfUTGgAAwAOxphQAAMBJy5Yt09NPP63Y2FiNGTPGMbLp1FX2TpkxY8YZjw0ODpakM66mN2LECNlsNk2fPv2MfgzD0LFjx5z3BAAAADwII6UAAECD9NVXX2nnzp0qLS3V4cOHtWzZMi1ZskRt2rTRf//7XwUEBCggIECXXnqp/vGPf6ikpEQxMTH65ptvlJqaekZ/vXv3liQ9+uijuummm+Tr66thw4apffv2+tvf/qapU6dq7969uu666xQaGqrU1FR9+umnuuOOO/SXv/zF1U8fAADAdBSlAABAg3RqOp6fn5+aNGmi7t27a8aMGZowYYJCQ0Md+82bN0/33Xef3njjDRmGocGDB+urr75SixYtKvV30UUX6emnn9bMmTO1ePFi2e12paamKjg4WI888oguuOACvfzyy5o+fbokqVWrVho8eLCGDx/uuicNAADgRizGb8eRAwAAAAAAAPWMNaUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgchSlAAAAAAAA4HIUpQAAAAAAAOByFKUAAAAAAADgcv8PRt05QdKqU10AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def plot_price(df, symbol):\n", - " \"\"\"\n", - " Create a price chart using Matplotlib\n", - " \n", - " Args:\n", - " df (pandas.DataFrame): Historical stock data\n", - " symbol (str): Stock ticker symbol\n", - " \n", - " Returns:\n", - " matplotlib.figure.Figure: Price chart figure\n", - " \"\"\"\n", - " if df.empty:\n", - " # Create empty figure with error message\n", - " fig, ax = plt.subplots(figsize=(12, 6))\n", - " ax.text(0.5, 0.5, f'No data available for {symbol}', \n", - " horizontalalignment='center', verticalalignment='center',\n", - " transform=ax.transAxes, fontsize=16)\n", - " ax.set_title(f'Stock Price Chart - {symbol}')\n", - " return fig\n", - " \n", - " try:\n", - " # Create figure and axis\n", - " fig, ax = plt.subplots(figsize=(12, 6))\n", - " \n", - " # Plot closing price\n", - " ax.plot(df.index, df['Close'], linewidth=2, label='Close Price', color='#1f77b4')\n", - " \n", - " # Add volume as secondary axis\n", - " ax2 = ax.twinx()\n", - " ax2.bar(df.index, df['Volume'], alpha=0.3, color='gray', label='Volume')\n", - " \n", - " # Formatting\n", - " ax.set_title(f'Stock Price Chart - {symbol}', fontsize=16, fontweight='bold')\n", - " ax.set_xlabel('Date', fontsize=12)\n", - " ax.set_ylabel('Price ($)', fontsize=12)\n", - " ax2.set_ylabel('Volume', fontsize=12)\n", - " \n", - " # Add grid\n", - " ax.grid(True, alpha=0.3)\n", - " \n", - " # Format dates on x-axis\n", - " ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))\n", - " ax.xaxis.set_major_locator(mdates.WeekdayLocator(interval=1))\n", - " plt.xticks(rotation=45)\n", - " \n", - " # Add legends\n", - " ax.legend(loc='upper left')\n", - " ax2.legend(loc='upper right')\n", - " \n", - " # Add price statistics\n", - " current_price = df['Close'].iloc[-1]\n", - " price_change = df['Close'].iloc[-1] - df['Close'].iloc[0]\n", - " price_change_pct = (price_change / df['Close'].iloc[0]) * 100\n", - " \n", - " stats_text = f'Current: ${current_price:.2f} | Change: ${price_change:.2f} ({price_change_pct:+.2f}%)'\n", - " ax.text(0.02, 0.98, stats_text, transform=ax.transAxes, \n", - " bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.8),\n", - " verticalalignment='top', fontsize=10)\n", - " \n", - " # Tight layout\n", - " plt.tight_layout()\n", - " \n", - " return fig\n", - " \n", - " except Exception as e:\n", - " # Create error figure\n", - " fig, ax = plt.subplots(figsize=(12, 6))\n", - " ax.text(0.5, 0.5, f'Error creating chart: {str(e)}', \n", - " horizontalalignment='center', verticalalignment='center',\n", - " transform=ax.transAxes, fontsize=16)\n", - " ax.set_title(f'Stock Price Chart - {symbol}')\n", - " return fig\n", - "\n", - "# Test the plotting function\n", - "if not test_data.empty:\n", - " print(\"\\nšŸ“Š Creating test chart...\")\n", - " test_fig = plot_price(test_data, test_symbol)\n", - " plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 7. Gradio Chat Interface\n", - "\n", - "This section creates the main Gradio interface with a two-column layout for stock analysis and Sharia compliance assessment.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "šŸš€ Creating Gradio interface...\n", - "āœ… Interface created successfully!\n", - "🌐 Launch the interface by running: demo.launch()\n" - ] - } - ], - "source": [ - "def analyze_stock(symbol):\n", - " \"\"\"\n", - " Main analysis function that combines all tools\n", - " \n", - " Args:\n", - " symbol (str): Stock ticker symbol\n", - " \n", - " Returns:\n", - " tuple: (trade_advice, sharia_dict, price_chart)\n", - " \"\"\"\n", - " if not symbol or not symbol.strip():\n", - " return (\"Please enter a valid stock symbol.\", {}, None)\n", - " \n", - " symbol = symbol.strip().upper()\n", - " \n", - " try:\n", - " # Update status\n", - " status_message = f\"šŸ”„ Analyzing {symbol}...\"\n", - " print(status_message)\n", - " \n", - " # Fetch data for multiple periods\n", - " periods = [\"1mo\", \"1y\", \"5y\"]\n", - " summaries = {}\n", - " \n", - " for period in periods:\n", - " print(f\"šŸ“ˆ Fetching {period} data...\")\n", - " df = fetch_history(symbol, period, \"1d\")\n", - " if not df.empty:\n", - " summaries[period] = summarize(df)\n", - " else:\n", - " summaries[period] = {\"error\": f\"No data for {period}\"}\n", - " \n", - " # Get 1-month data for chart\n", - " df_1mo = fetch_history(symbol, \"1mo\", \"1d\")\n", - " \n", - " # Get trade advice\n", - " print(\"šŸ¤– Getting AI trade advice...\")\n", - " trade_advice = get_trade_advice(symbol, summaries)\n", - " \n", - " # Get Sharia assessment\n", - " print(\"ā˜Ŗļø Assessing Sharia compliance...\")\n", - " sharia_assessment = assess_sharia(symbol)\n", - " \n", - " # Create price chart\n", - " print(\"šŸ“Š Creating price chart...\")\n", - " price_chart = plot_price(df_1mo, symbol)\n", - " \n", - " print(f\"āœ… Analysis complete for {symbol}\")\n", - " \n", - " return (trade_advice, sharia_assessment, price_chart)\n", - " \n", - " except Exception as e:\n", - " error_msg = f\"āŒ Error analyzing {symbol}: {str(e)}\"\n", - " print(error_msg)\n", - " return (error_msg, {\"error\": str(e)}, None)\n", - "\n", - "# Create Gradio Interface\n", - "def create_interface():\n", - " \"\"\"Create and return the Gradio interface\"\"\"\n", - " \n", - " with gr.Blocks(title=\"Stock Analysis & Sharia Compliance\", theme=gr.themes.Soft()) as interface:\n", - " \n", - " # Header\n", - " gr.Markdown(\"\"\"\n", - " # šŸ“ˆ Stock Analysis & Sharia Compliance Tool\n", - " \n", - " **Get comprehensive stock analysis with AI-powered trade recommendations and Islamic Sharia compliance assessment.**\n", - " \n", - " *Enter a stock ticker (e.g., AAPL, MSFT, GOOGL) and click Analyze to get started.*\n", - " \"\"\")\n", - " \n", - " with gr.Row():\n", - " # Left Column - Inputs and Results\n", - " with gr.Column(scale=1):\n", - " gr.Markdown(\"### šŸ“Š Stock Analysis\")\n", - " \n", - " # Input section\n", - " with gr.Group():\n", - " ticker_input = gr.Textbox(\n", - " label=\"Stock Ticker Symbol\",\n", - " placeholder=\"Enter ticker (e.g., AAPL, MSFT, GOOGL)\",\n", - " value=\"AAPL\"\n", - " )\n", - " analyze_button = gr.Button(\"šŸ” Analyze Stock\", variant=\"primary\", size=\"lg\")\n", - " \n", - " # Trade advice output\n", - " with gr.Group():\n", - " gr.Markdown(\"### šŸ¤– AI Trade Recommendation\")\n", - " trade_advice_output = gr.Textbox(\n", - " label=\"Trade Advice\",\n", - " lines=8,\n", - " placeholder=\"AI trade recommendation will appear here...\"\n", - " )\n", - " \n", - " # Sharia compliance output\n", - " with gr.Group():\n", - " gr.Markdown(\"### ā˜Ŗļø Sharia Compliance Assessment\")\n", - " sharia_output = gr.JSON(\n", - " label=\"Sharia Ruling\",\n", - " value={\"ruling\": \"Not analyzed\", \"confidence\": 0, \"justification\": \"Click Analyze to assess\"}\n", - " )\n", - " \n", - " # Right Column - Chart\n", - " with gr.Column(scale=1):\n", - " gr.Markdown(\"### šŸ“ˆ Price Chart (1 Month)\")\n", - " chart_output = gr.Plot(\n", - " label=\"Stock Price Chart\",\n", - " value=None\n", - " )\n", - " \n", - " # Examples section\n", - " with gr.Row():\n", - " gr.Markdown(\"\"\"\n", - " ### šŸ’” Example Tickers to Try:\n", - " - **AAPL** - Apple Inc. (Technology)\n", - " - **MSFT** - Microsoft Corporation (Technology) \n", - " - **BRK-B** - Berkshire Hathaway (Conglomerate)\n", - " - **JNJ** - Johnson & Johnson (Healthcare)\n", - " - **BAC** - Bank of America (Banking - may be Haram)\n", - " - **KO** - Coca-Cola (Beverages)\n", - " \n", - " *Note: Add \".CA\" suffix for Canadian stocks (e.g., \"SHOP.TO\" for Toronto Stock Exchange)*\n", - " \"\"\")\n", - " \n", - " # Wire up the interface\n", - " analyze_button.click(\n", - " fn=analyze_stock,\n", - " inputs=[ticker_input],\n", - " outputs=[trade_advice_output, sharia_output, chart_output],\n", - " show_progress=True\n", - " )\n", - " \n", - " # Add example buttons\n", - " with gr.Row():\n", - " example_buttons = [\n", - " gr.Button(\"šŸ“± AAPL\", size=\"sm\"),\n", - " gr.Button(\"šŸ’» MSFT\", size=\"sm\"),\n", - " gr.Button(\"šŸ¦ BAC\", size=\"sm\"),\n", - " gr.Button(\"🄤 KO\", size=\"sm\")\n", - " ]\n", - " \n", - " # Wire example buttons\n", - " for button, ticker in zip(example_buttons, [\"AAPL\", \"MSFT\", \"BAC\", \"KO\"]):\n", - " button.click(\n", - " fn=lambda t=ticker: t,\n", - " outputs=[ticker_input]\n", - " )\n", - " \n", - " return interface\n", - "\n", - "# Create the interface\n", - "print(\"šŸš€ Creating Gradio interface...\")\n", - "demo = create_interface()\n", - "\n", - "print(\"āœ… Interface created successfully!\")\n", - "print(\"🌐 Launch the interface by running: demo.launch()\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 8. Launch the Interface\n", - "\n", - "Run the cell below to launch the Gradio interface. It will open in your browser and provide an interactive chat interface for stock analysis.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "šŸš€ Launching Stock Analysis & Sharia Compliance Interface...\n", - "šŸ“ Make sure you have set your OPENAI_API_KEY environment variable\n", - "🌐 The interface will open in your browser\n", - "* Running on local URL: http://0.0.0.0:7860\n", - "* Running on public URL: https://ebf42ba14d2f6c267b.gradio.live\n", - "\n", - "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" - ] - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Launch the Gradio interface\n", - "if __name__ == \"__main__\":\n", - " print(\"šŸš€ Launching Stock Analysis & Sharia Compliance Interface...\")\n", - " print(\"šŸ“ Make sure you have set your OPENAI_API_KEY environment variable\")\n", - " print(\"🌐 The interface will open in your browser\")\n", - " \n", - " # Launch with sharing enabled for easy access\n", - " demo.launch(\n", - " share=True, # Creates a public link for sharing\n", - " server_name=\"0.0.0.0\", # Allow external access\n", - " show_error=True, # Show detailed error messages\n", - " quiet=False # Show startup logs\n", - " )\n" - ] - }, - { - "cell_type": "raw", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "## 9. Usage Instructions & Requirements\n", - "\n", - "### šŸ“‹ Prerequisites\n", - "\n", - "Before running this notebook, make sure you have the following installed:\n", - "\n", - "```bash\n", - "pip install yfinance openai pandas matplotlib gradio requests beautifulsoup4 numpy\n", - "```\n", - "\n", - "### šŸ”‘ API Key Setup\n", - "\n", - "Set your OpenAI API key as an environment variable:\n", - "\n", - "```bash\n", - "export OPENAI_API_KEY=\"your-api-key-here\"\n", - "```\n", - "\n", - "Or in Python:\n", - "```python\n", - "import os\n", - "os.environ[\"OPENAI_API_KEY\"] = \"your-api-key-here\"\n", - "```\n", - "\n", - "### šŸš€ How to Use\n", - "\n", - "1. **Run all cells** in this notebook to initialize all functions\n", - "2. **Launch the interface** by running the launch cell\n", - "3. **Enter a stock ticker** (e.g., AAPL, MSFT, GOOGL)\n", - "4. **Click \"Analyze Stock\"** to get:\n", - " - AI-powered trade recommendations (BUY/HOLD/SELL)\n", - " - Sharia compliance assessment\n", - " - Interactive price chart\n", - "\n", - "### šŸ“Š Features\n", - "\n", - "- **Multi-period Analysis**: 1 month, 1 year, and 5 year data analysis\n", - "- **AI Trade Advice**: GPT-4o-mini powered recommendations with numerical justification\n", - "- **Sharia Compliance**: Islamic finance assessment with confidence scores\n", - "- **Interactive Charts**: Real-time price charts with volume data\n", - "- **Example Tickers**: Quick-access buttons for popular stocks\n", - "\n", - "### āš ļø Disclaimers\n", - "\n", - "- **Not Financial Advice**: This tool is for educational purposes only\n", - "- **Sharia Assessments**: Consult qualified Islamic scholars for authoritative rulings\n", - "- **Data Accuracy**: Stock data depends on yfinance API availability\n", - "- **API Costs**: OpenAI API calls will consume your credits\n", - "\n", - "### šŸ› ļø Troubleshooting\n", - "\n", - "- **No data found**: Check if the ticker symbol is correct\n", - "- **API errors**: Verify your OpenAI API key is set correctly\n", - "- **Chart issues**: Ensure matplotlib backend supports interactive plotting\n", - "- **Slow performance**: API calls may take 10-30 seconds depending on network\n", - "\n", - "Enjoy analyzing stocks with AI-powered insights and Sharia compliance! šŸš€šŸ“ˆā˜Ŗļø\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.18" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} From c08673dacefdd6571b03bbc62ad1a7f4841d2143 Mon Sep 17 00:00:00 2001 From: Omar Marie Date: Mon, 21 Jul 2025 23:37:30 +0300 Subject: [PATCH 027/176] refactor: improve structure --- .../ai_stock_trading/components/__init__.py | 3 + .../components/chat_interface.py | 156 ++++++++ .../ai_stock_trading/core/__init__.py | 3 + .../ai_stock_trading/core/ai_assistant.py | 275 ++++++++++++++ .../ai_stock_trading/core/data_service.py | 119 ++++++ .../ai_stock_trading/main_app.py | 355 ++++-------------- 6 files changed, 625 insertions(+), 286 deletions(-) create mode 100644 week4/community-contributions/ai_stock_trading/components/__init__.py create mode 100644 week4/community-contributions/ai_stock_trading/components/chat_interface.py create mode 100644 week4/community-contributions/ai_stock_trading/core/__init__.py create mode 100644 week4/community-contributions/ai_stock_trading/core/ai_assistant.py create mode 100644 week4/community-contributions/ai_stock_trading/core/data_service.py diff --git a/week4/community-contributions/ai_stock_trading/components/__init__.py b/week4/community-contributions/ai_stock_trading/components/__init__.py new file mode 100644 index 0000000..34dac01 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/components/__init__.py @@ -0,0 +1,3 @@ +""" +UI Components for the Stock Trading Platform +""" diff --git a/week4/community-contributions/ai_stock_trading/components/chat_interface.py b/week4/community-contributions/ai_stock_trading/components/chat_interface.py new file mode 100644 index 0000000..da0c9e4 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/components/chat_interface.py @@ -0,0 +1,156 @@ +""" +Clean, professional chat interface component +""" + +import streamlit as st +from core.ai_assistant import ai_assistant +from core.data_service import data_service + + +class ChatInterface: + """Professional chat interface for stock analysis""" + + @staticmethod + def render(symbol: str, country: str): + """Render the chat interface""" + if not symbol: + st.warning("āš ļø Please select a stock from the sidebar.") + return + + # Display chat history + if 'chat_history' not in st.session_state: + st.session_state.chat_history = [] + + if st.session_state.chat_history: + for message in st.session_state.chat_history: + if message['role'] == 'user': + st.chat_message("user").write(message['content']) + else: + st.chat_message("assistant").write(message['content']) + else: + # Clean welcome message + basic_info = data_service.get_basic_info(symbol, country) + company_name = basic_info.get('company_name', symbol) + welcome_msg = f"šŸ‘‹ Hello! I'm your AI assistant for **{company_name} ({symbol})**. Ask me anything!" + st.chat_message("assistant").write(welcome_msg) + + # Chat input + user_input = st.chat_input("Ask about price, trends, analysis, trading recommendations...") + + if user_input: + # Add user message + st.session_state.chat_history.append({'role': 'user', 'content': user_input}) + + # Generate AI response (only loads data if tools are called) + with st.spinner("Thinking..."): + ai_response = ai_assistant.generate_response(user_input, symbol, country) + + # Add AI response + st.session_state.chat_history.append({'role': 'assistant', 'content': ai_response}) + st.rerun() + + # Quick actions (collapsed by default) + ChatInterface._render_quick_actions(symbol, country) + + @staticmethod + def _render_quick_actions(symbol: str, country: str): + """Render quick action buttons""" + with st.expander("šŸš€ Quick Actions", expanded=False): + col1, col2, col3, col4 = st.columns(4) + + with col1: + if st.button("šŸ“ˆ Price Info", use_container_width=True): + ChatInterface._add_price_info(symbol, country) + st.rerun() + + with col2: + if st.button("šŸ“Š 30-Day Analysis", use_container_width=True): + ChatInterface._add_medium_term_analysis(symbol) + st.rerun() + + with col3: + if st.button("šŸ’° Trading Rec", use_container_width=True): + ChatInterface._add_trading_recommendation(symbol, country) + st.rerun() + + with col4: + if st.button("ā˜Ŗļø Sharia", use_container_width=True): + ChatInterface._add_sharia_compliance(symbol, country) + st.rerun() + + @staticmethod + def _add_price_info(symbol: str, country: str): + """Add current price info to chat""" + basic_info = data_service.get_basic_info(symbol, country) + + current_price = basic_info.get('current_price', 0) + market_cap = basic_info.get('market_cap', 0) + sector = basic_info.get('sector', 'N/A') + + message = f"""šŸ“ˆ **Current Price Info for {symbol}:** + +šŸ’° **Price:** ${current_price:.2f} +šŸ¢ **Market Cap:** ${market_cap:,.0f} +šŸ­ **Sector:** {sector}""" + + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + + @staticmethod + def _add_medium_term_analysis(symbol: str): + """Add 30-day analysis to chat""" + analysis = data_service.get_analysis(symbol, "1mo") + + if 'error' in analysis: + message = f"āŒ **30-Day Analysis:** {analysis['error']}" + else: + return_pct = analysis.get('total_return_pct', 0) + volatility = analysis.get('volatility_annualized', 0) + trend = analysis.get('trend_direction', 'neutral') + + message = f"""šŸ“Š **30-Day Analysis for {symbol}:** + +šŸ“ˆ **Return:** {return_pct:.2f}% +šŸ“‰ **Volatility:** {volatility:.1f}% (annualized) +šŸŽÆ **Trend:** {trend.title()}""" + + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + + @staticmethod + def _add_trading_recommendation(symbol: str, country: str): + """Add trading recommendation to chat""" + trading = data_service.get_trading_recommendation(symbol, country) + + if 'error' in trading: + message = f"āŒ **Trading Recommendation:** {trading['error']}" + else: + rec = trading.get('recommendation', 'HOLD') + conf = trading.get('confidence', 0.5) * 100 + reasoning = trading.get('reasoning', 'No reasoning available') + + message = f"""šŸ’° **Trading Recommendation for {symbol}:** + +šŸŽÆ **Action:** {rec} +šŸ“Š **Confidence:** {conf:.0f}% +šŸ’­ **Reasoning:** {reasoning[:200]}...""" + + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + + @staticmethod + def _add_sharia_compliance(symbol: str, country: str): + """Add Sharia compliance to chat""" + sharia = data_service.get_sharia_compliance(symbol, country) + + if 'error' in sharia: + message = f"āŒ **Sharia Compliance:** {sharia['error']}" + else: + ruling = sharia.get('ruling', 'UNCERTAIN') + conf = sharia.get('confidence', 0.5) * 100 + + status_emoji = "āœ…" if ruling == "HALAL" else "āŒ" if ruling == "HARAM" else "āš ļø" + + message = f"""ā˜Ŗļø **Sharia Compliance for {symbol}:** + +{status_emoji} **Ruling:** {ruling} +šŸ“Š **Confidence:** {conf:.0f}%""" + + st.session_state.chat_history.append({'role': 'assistant', 'content': message}) diff --git a/week4/community-contributions/ai_stock_trading/core/__init__.py b/week4/community-contributions/ai_stock_trading/core/__init__.py new file mode 100644 index 0000000..f3d485c --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/core/__init__.py @@ -0,0 +1,3 @@ +""" +Core module for AI Stock Trading Platform +""" diff --git a/week4/community-contributions/ai_stock_trading/core/ai_assistant.py b/week4/community-contributions/ai_stock_trading/core/ai_assistant.py new file mode 100644 index 0000000..0255491 --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/core/ai_assistant.py @@ -0,0 +1,275 @@ +import os +from typing import Dict, Any, List +from openai import OpenAI +from .data_service import data_service + + +class AIAssistant: + """Enhanced AI assistant with comprehensive stock analysis tools""" + + def __init__(self): + self.client = OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + def get_enhanced_tools(self) -> List[Dict[str, Any]]: + """Get comprehensive tool definitions for OpenAI function calling""" + return [ + { + "type": "function", + "function": { + "name": "get_current_price_info", + "description": "Get current price, basic metrics, and company info", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_short_term_analysis", + "description": "Get 10-day technical analysis and short-term trends", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_medium_term_analysis", + "description": "Get 30-day technical analysis and medium-term trends", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_long_term_analysis", + "description": "Get 90-day technical analysis and long-term trends", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_comprehensive_analysis", + "description": "Get full 1-year technical analysis with all indicators", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_trading_recommendation", + "description": "Get buy/hold/sell recommendation with price targets and reasoning", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "get_sharia_compliance", + "description": "Get Islamic finance compliance analysis", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + }, + { + "type": "function", + "function": { + "name": "compare_time_periods", + "description": "Compare performance across multiple time periods (10d, 30d, 90d)", + "parameters": { + "type": "object", + "properties": { + "symbol": {"type": "string", "description": "Stock symbol"} + }, + "required": ["symbol"] + } + } + } + ] + + def generate_response(self, user_input: str, symbol: str, country: str) -> str: + """Generate AI response with enhanced tool calling""" + try: + # Get basic info without heavy loading + basic_info = data_service.get_basic_info(symbol, country) + + system_msg = f"""You are a professional financial advisor assistant for {symbol}. + +IMPORTANT: Only call tools when users specifically request: +- Price information or basic metrics → get_current_price_info +- Short-term analysis (10 days) → get_short_term_analysis +- Medium-term analysis (30 days) → get_medium_term_analysis +- Long-term analysis (90 days) → get_long_term_analysis +- Comprehensive analysis (1 year) → get_comprehensive_analysis +- Trading recommendations → get_trading_recommendation +- Sharia compliance → get_sharia_compliance +- Time period comparisons → compare_time_periods + +For general questions about the company, market commentary, or basic information, respond directly without calling tools. +Keep responses concise and professional.""" + + user_msg = f"""Stock: {symbol} ({basic_info.get('company_name', 'N/A')}) +Country: {country} +Sector: {basic_info.get('sector', 'N/A')} +User Question: {user_input}""" + + response = self.client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + {"role": "system", "content": system_msg}, + {"role": "user", "content": user_msg} + ], + tools=self.get_enhanced_tools(), # type: ignore + tool_choice="auto", + temperature=0.7, + max_tokens=600 + ) + + message = response.choices[0].message + + if message.tool_calls: + return self._handle_tool_calls(message.tool_calls, user_input, symbol, country) + + return message.content or "I apologize, but I couldn't generate a response." + + except Exception as e: + return f"Sorry, I encountered an error: {str(e)}" + + def _handle_tool_calls(self, tool_calls, user_input: str, symbol: str, country: str) -> str: + """Handle tool calls and generate final response""" + tool_results = [] + + for tool_call in tool_calls: + function_name = tool_call.function.name + + try: + if function_name == "get_current_price_info": + basic_info = data_service.get_basic_info(symbol, country) + current_price = basic_info.get('current_price', 0) + market_cap = basic_info.get('market_cap', 0) + tool_results.append(f"Current Price: ${current_price:.2f}, Market Cap: ${market_cap:,.0f}") + + elif function_name == "get_short_term_analysis": + analysis = data_service.get_analysis(symbol, "10d") + if 'error' not in analysis: + return_pct = analysis.get('total_return_pct', 0) + volatility = analysis.get('volatility_annualized', 0) + tool_results.append(f"10-Day Analysis: Return {return_pct:.2f}%, Volatility {volatility:.1f}%") + else: + tool_results.append("10-Day Analysis: Data unavailable") + + elif function_name == "get_medium_term_analysis": + analysis = data_service.get_analysis(symbol, "1mo") + if 'error' not in analysis: + return_pct = analysis.get('total_return_pct', 0) + trend = analysis.get('trend_direction', 'neutral') + tool_results.append(f"30-Day Analysis: Return {return_pct:.2f}%, Trend {trend}") + else: + tool_results.append("30-Day Analysis: Data unavailable") + + elif function_name == "get_long_term_analysis": + analysis = data_service.get_analysis(symbol, "3mo") + if 'error' not in analysis: + return_pct = analysis.get('total_return_pct', 0) + sharpe = analysis.get('sharpe_ratio', 0) + tool_results.append(f"90-Day Analysis: Return {return_pct:.2f}%, Sharpe {sharpe:.2f}") + else: + tool_results.append("90-Day Analysis: Data unavailable") + + elif function_name == "get_comprehensive_analysis": + analysis = data_service.get_analysis(symbol, "1y") + if 'error' not in analysis: + return_pct = analysis.get('total_return_pct', 0) + max_drawdown = analysis.get('max_drawdown', 0) + rsi = analysis.get('rsi', 50) + tool_results.append(f"1-Year Analysis: Return {return_pct:.2f}%, Max Drawdown {max_drawdown:.1f}%, RSI {rsi:.1f}") + else: + tool_results.append("1-Year Analysis: Data unavailable") + + elif function_name == "get_trading_recommendation": + trading = data_service.get_trading_recommendation(symbol, country) + if 'error' not in trading: + rec = trading.get('recommendation', 'HOLD') + conf = trading.get('confidence', 0.5) * 100 + tool_results.append(f"Trading: {rec} ({conf:.0f}% confidence)") + else: + tool_results.append("Trading: Analysis unavailable") + + elif function_name == "get_sharia_compliance": + sharia = data_service.get_sharia_compliance(symbol, country) + if 'error' not in sharia: + ruling = sharia.get('ruling', 'UNCERTAIN') + conf = sharia.get('confidence', 0.5) * 100 + tool_results.append(f"Sharia: {ruling} ({conf:.0f}% confidence)") + else: + tool_results.append("Sharia: Analysis unavailable") + + elif function_name == "compare_time_periods": + periods = ["10d", "1mo", "3mo"] + comparisons = [] + for period in periods: + analysis = data_service.get_analysis(symbol, period) + if 'error' not in analysis: + return_pct = analysis.get('total_return_pct', 0) + comparisons.append(f"{period}: {return_pct:.2f}%") + tool_results.append(f"Period Comparison: {', '.join(comparisons)}") + + except Exception as e: + tool_results.append(f"{function_name}: Error - {str(e)}") + + # Generate final response + final_response = self.client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + {"role": "system", "content": "Provide a concise, professional response based on the tool results. Focus on actionable insights."}, + {"role": "user", "content": f"Question: {user_input}\n\nTool Results: {' | '.join(tool_results)}"} + ], + temperature=0.7, + max_tokens=500 + ) + + return final_response.choices[0].message.content or "I couldn't generate a response." + + +# Global instance +ai_assistant = AIAssistant() diff --git a/week4/community-contributions/ai_stock_trading/core/data_service.py b/week4/community-contributions/ai_stock_trading/core/data_service.py new file mode 100644 index 0000000..a5232bb --- /dev/null +++ b/week4/community-contributions/ai_stock_trading/core/data_service.py @@ -0,0 +1,119 @@ +import streamlit as st +from typing import Dict, Any, Optional +from tools.fetching import stock_fetcher +from tools.analysis import stock_analyzer +from tools.trading_decisions import trading_engine +from tools.sharia_compliance import sharia_checker + + +class DataService: + """Centralized data service for efficient stock data management""" + + @staticmethod + def get_basic_info(symbol: str, country: str) -> Dict[str, Any]: + """Get only basic stock info - no heavy analysis""" + cache_key = f"{symbol}_basic" + + if cache_key not in st.session_state: + try: + stock_info = stock_fetcher.get_stock_info(symbol, country) + st.session_state[cache_key] = stock_info + except Exception as e: + st.session_state[cache_key] = { + 'company_name': symbol, + 'error': str(e) + } + + return st.session_state[cache_key] + + @staticmethod + def get_price_data(symbol: str, period: str = "1y") -> Dict[str, Any]: + """Get price data for specific period""" + cache_key = f"{symbol}_data_{period}" + + if cache_key not in st.session_state: + try: + data = stock_fetcher.fetch_stock_data(symbol, period=period) + st.session_state[cache_key] = data + except Exception as e: + st.session_state[cache_key] = None + st.error(f"Failed to load {period} data: {str(e)}") + + return st.session_state[cache_key] + + @staticmethod + def get_analysis(symbol: str, period: str = "1y") -> Dict[str, Any]: + """Get technical analysis for specific period""" + cache_key = f"{symbol}_analysis_{period}" + + if cache_key not in st.session_state: + data = DataService.get_price_data(symbol, period) + if data is not None and hasattr(data, 'empty') and not data.empty: + try: + analysis = stock_analyzer.analyze_stock(data) + analysis['period'] = period + st.session_state[cache_key] = analysis + except Exception as e: + st.session_state[cache_key] = {'error': f"Analysis failed: {str(e)}"} + else: + st.session_state[cache_key] = {'error': 'No data available'} + + return st.session_state[cache_key] + + @staticmethod + def get_trading_recommendation(symbol: str, country: str) -> Dict[str, Any]: + """Get trading recommendation""" + cache_key = f"{symbol}_trading" + + if cache_key not in st.session_state: + try: + analysis = DataService.get_analysis(symbol) + stock_info = DataService.get_basic_info(symbol, country) + + if 'error' not in analysis and 'error' not in stock_info: + trading = trading_engine.get_trading_recommendation(symbol, analysis, stock_info) + st.session_state[cache_key] = trading + else: + st.session_state[cache_key] = {'error': 'Cannot generate recommendation'} + except Exception as e: + st.session_state[cache_key] = {'error': f"Trading analysis failed: {str(e)}"} + + return st.session_state[cache_key] + + @staticmethod + def get_sharia_compliance(symbol: str, country: str) -> Dict[str, Any]: + """Get Sharia compliance analysis""" + cache_key = f"{symbol}_sharia" + + if cache_key not in st.session_state: + try: + stock_info = DataService.get_basic_info(symbol, country) + analysis = DataService.get_analysis(symbol) + + if 'error' not in stock_info: + sharia = sharia_checker.check_sharia_compliance(symbol, stock_info, analysis) + st.session_state[cache_key] = sharia + else: + st.session_state[cache_key] = {'error': 'Cannot check compliance'} + except Exception as e: + st.session_state[cache_key] = {'error': f"Sharia check failed: {str(e)}"} + + return st.session_state[cache_key] + + @staticmethod + def clear_cache(symbol: Optional[str] = None): + """Clear cached data""" + if symbol: + keys_to_remove = [key for key in st.session_state.keys() if isinstance(key, str) and key.startswith(f"{symbol}_")] + for key in keys_to_remove: + del st.session_state[key] + else: + # Clear all cache + keys_to_remove = [key for key in st.session_state.keys() + if isinstance(key, str) and ('_data_' in key or '_analysis_' in key or '_trading' in key or '_sharia' in key or '_basic' in key)] + for key in keys_to_remove: + del st.session_state[key] + + +# Global instance +data_service = DataService() diff --git a/week4/community-contributions/ai_stock_trading/main_app.py b/week4/community-contributions/ai_stock_trading/main_app.py index b2e5a04..a55622f 100644 --- a/week4/community-contributions/ai_stock_trading/main_app.py +++ b/week4/community-contributions/ai_stock_trading/main_app.py @@ -14,6 +14,11 @@ from tools.trading_decisions import trading_engine from tools.sharia_compliance import sharia_checker from tools.charting import chart_generator +# Import new modular components +from core.data_service import data_service +from core.ai_assistant import ai_assistant +from components.chat_interface import ChatInterface + # Load environment variables load_dotenv() @@ -211,264 +216,20 @@ class StockTradingApp: st.error(f"Error loading quick analysis: {str(e)}") def load_stock_analysis(self, symbol: str): - try: - country = st.session_state.selected_country - data = stock_fetcher.fetch_stock_data(symbol, period="1y") - stock_info = stock_fetcher.get_stock_info(symbol, country) - analysis = stock_analyzer.analyze_stock(data) - trading_decision = trading_engine.get_trading_recommendation(symbol, analysis, stock_info) - sharia_compliance = sharia_checker.check_sharia_compliance(symbol, stock_info, analysis) - - st.session_state.stock_data[symbol] = { - 'data': data, - 'stock_info': stock_info, - 'analysis': analysis, - 'trading_decision': trading_decision, - 'sharia_compliance': sharia_compliance - } - except Exception as e: - st.error(f"Error loading analysis for {symbol}: {str(e)}") + """Load complete analysis using data service""" + country = st.session_state.selected_country + # Pre-load all analysis components + data_service.get_analysis(symbol) + data_service.get_trading_recommendation(symbol, country) + data_service.get_sharia_compliance(symbol, country) def render_chat_page(self): st.header("šŸ’¬ AI Stock Analysis Chat") - if not st.session_state.selected_stock: - st.warning("āš ļø Please select a stock from the sidebar to start chatting.") - return - symbol = st.session_state.selected_stock - st.info(f"šŸ’¬ Chatting about: **{symbol}**") - - if symbol not in st.session_state.stock_data: - with st.spinner("Loading stock data and analysis..."): - self.load_stock_analysis(symbol) - - self.render_chat_interface() - - def render_chat_interface(self): - symbol = st.session_state.selected_stock - - if st.session_state.chat_history: - for message in st.session_state.chat_history: - if message['role'] == 'user': - st.chat_message("user").write(message['content']) - else: - st.chat_message("assistant").write(message['content']) - else: - welcome_msg = f""" - šŸ‘‹ Hello! I'm your AI stock analysis assistant. I can help you with: - - • **Technical Analysis** of {symbol} - • **Trading Recommendations** (Buy/Hold/Sell) - • **Sharia Compliance** assessment - • **Risk Analysis** and market insights - - What would you like to know about {symbol}? - """ - st.chat_message("assistant").write(welcome_msg) - - user_input = st.chat_input("Ask me anything about this stock...") - - if user_input: - st.session_state.chat_history.append({'role': 'user', 'content': user_input}) - - with st.spinner("Analyzing..."): - ai_response = self.generate_ai_response(user_input, symbol) - - st.session_state.chat_history.append({'role': 'assistant', 'content': ai_response}) - st.rerun() - - st.subheader("šŸš€ Quick Actions") - col1, col2, col3, col4 = st.columns(4) - - with col1: - if st.button("šŸ“Š Get Analysis"): - self.add_analysis_to_chat(symbol) - st.rerun() - - with col2: - if st.button("šŸ’° Trading Rec"): - self.add_trading_to_chat(symbol) - st.rerun() - - with col3: - if st.button("ā˜Ŗļø Sharia Check"): - self.add_sharia_to_chat(symbol) - st.rerun() - - with col4: - if st.button("šŸŽÆ Price Target"): - self.add_target_to_chat(symbol) - st.rerun() - - def generate_ai_response(self, user_input: str, symbol: str) -> str: - try: - from openai import OpenAI - client = OpenAI(api_key=os.getenv('OPENAI_API_KEY')) - - # Check if user is asking about Sharia compliance - sharia_keywords = ['sharia', 'halal', 'haram', 'islamic', 'muslim', 'compliant', 'permissible', 'forbidden'] - is_sharia_query = any(keyword in user_input.lower() for keyword in sharia_keywords) - - stock_data = st.session_state.stock_data.get(symbol, {}) - analysis = stock_data.get('analysis', {}) - trading_decision = stock_data.get('trading_decision', {}) - stock_info = stock_data.get('stock_info', {}) - country = st.session_state.selected_country - - # Format price with proper currency - current_price = analysis.get('current_price', 0) - formatted_price = stock_fetcher.format_price_with_currency(current_price, country) - - # Base context without Sharia info - context = f""" - You are analyzing {symbol} ({stock_info.get('company_name', 'N/A')}). - - Current Price: {formatted_price} - Return: {analysis.get('total_return_pct', 0):.2f}% - Recommendation: {trading_decision.get('recommendation', 'N/A')} - Sector: {stock_info.get('sector', 'N/A')} - - User Question: {user_input} - - Provide helpful analysis based on the available data. - """ - - # Add Sharia context only if user asks about it - if is_sharia_query: - # Load Sharia compliance if not already loaded - if symbol not in st.session_state.stock_data or 'sharia_compliance' not in st.session_state.stock_data[symbol]: - with st.spinner("Loading Sharia compliance analysis..."): - self.load_stock_analysis(symbol) - - sharia_compliance = st.session_state.stock_data.get(symbol, {}).get('sharia_compliance', {}) - context += f""" - - SHARIA COMPLIANCE ANALYSIS: - Ruling: {sharia_compliance.get('ruling', 'N/A')} - Confidence: {sharia_compliance.get('confidence', 0)*100:.0f}% - Reasoning: {sharia_compliance.get('reasoning', 'N/A')} - - Focus your response on Islamic finance principles and Sharia compliance. - """ - - response = client.chat.completions.create( - model="gpt-4o-mini", - messages=[ - {"role": "system", "content": "You are a financial advisor and Islamic finance expert."}, - {"role": "user", "content": context} - ], - temperature=0.7, - max_tokens=400 - ) - - return response.choices[0].message.content - - except Exception as e: - return f"Sorry, I'm having trouble right now. Error: {str(e)}" - - def add_analysis_to_chat(self, symbol: str): - stock_data = st.session_state.stock_data.get(symbol, {}) - analysis = stock_data.get('analysis', {}) - - if analysis: - summary = stock_analyzer.get_analysis_summary(analysis) - st.session_state.chat_history.append({ - 'role': 'assistant', - 'content': f"šŸ“Š **Analysis Summary for {symbol}:**\n\n{summary}" - }) - - def add_trading_to_chat(self, symbol: str): - stock_data = st.session_state.stock_data.get(symbol, {}) - trading_decision = stock_data.get('trading_decision', {}) - stock_info = stock_data.get('stock_info', {}) country = st.session_state.selected_country - if trading_decision: - rec = trading_decision.get('recommendation', 'HOLD') - conf = trading_decision.get('confidence', 0) - - # Handle confidence as percentage if it's already 0-100, or as decimal if 0-1 - if conf <= 1.0: - conf_pct = conf * 100 - else: - conf_pct = conf - - reason = trading_decision.get('reasoning', 'No reasoning available') - price_target = trading_decision.get('price_target') - stop_loss = trading_decision.get('stop_loss') - time_horizon = trading_decision.get('time_horizon', 'medium') - risk_level = trading_decision.get('risk_level', 'medium') - - # Clean reasoning - remove JSON artifacts - if reason.startswith('```json') or reason.startswith('{'): - # Extract readable content from malformed JSON - if 'reasoning' in reason: - try: - import re - reasoning_match = re.search(r'"reasoning"\s*:\s*"([^"]+)"', reason) - if reasoning_match: - reason = reasoning_match.group(1) - else: - reason = "Technical analysis suggests this recommendation based on current market conditions." - except: - reason = "Technical analysis suggests this recommendation based on current market conditions." - - # Format the message professionally - message_parts = [ - f"šŸ’° **Trading Recommendation: {rec}**", - f"šŸ“Š **Confidence Level:** {conf_pct:.0f}%", - f"ā±ļø **Time Horizon:** {time_horizon.title()}-term", - f"āš ļø **Risk Level:** {risk_level.title()}", - "", - f"**Analysis:**", - reason - ] - - # Add price targets if available - if price_target: - formatted_target = stock_fetcher.format_price_with_currency(price_target, country) - message_parts.append(f"šŸŽÆ **Price Target:** {formatted_target}") - - if stop_loss: - formatted_stop = stock_fetcher.format_price_with_currency(stop_loss, country) - message_parts.append(f"šŸ›”ļø **Stop Loss:** {formatted_stop}") - - message_parts.append("") - message_parts.append("*This is not financial advice. Please do your own research and consult with a financial advisor.*") - - message = "\n".join(message_parts) - st.session_state.chat_history.append({'role': 'assistant', 'content': message}) - - def add_sharia_to_chat(self, symbol: str): - stock_data = st.session_state.stock_data.get(symbol, {}) - sharia_compliance = stock_data.get('sharia_compliance', {}) - - if sharia_compliance: - summary = sharia_checker.get_compliance_summary(sharia_compliance) - st.session_state.chat_history.append({ - 'role': 'assistant', - 'content': f"ā˜Ŗļø **Sharia Compliance:**\n\n{summary}" - }) - - def add_target_to_chat(self, symbol: str): - stock_data = st.session_state.stock_data.get(symbol, {}) - trading_decision = stock_data.get('trading_decision', {}) - analysis = stock_data.get('analysis', {}) - - current = analysis.get('current_price', 0) - target = trading_decision.get('price_target') - stop = trading_decision.get('stop_loss') - - message = f"šŸŽÆ **Current Price:** ${current:.2f}\n" - if target: - upside = ((target - current) / current) * 100 - message += f"**Target:** ${target:.2f} ({upside:+.1f}%)\n" - if stop: - downside = ((stop - current) / current) * 100 - message += f"**Stop Loss:** ${stop:.2f} ({downside:+.1f}%)" - - st.session_state.chat_history.append({'role': 'assistant', 'content': message}) + ChatInterface.render(symbol, country) def render_dashboard_page(self): st.header("šŸ“Š Dashboard") @@ -480,27 +241,29 @@ class StockTradingApp: symbol = st.session_state.selected_stock country = st.session_state.selected_country - if symbol not in st.session_state.stock_data: - with st.spinner("Loading analysis..."): - self.load_stock_analysis(symbol) + # Load data using new data service + with st.spinner("Loading dashboard data..."): + basic_info = data_service.get_basic_info(symbol, country) + data = data_service.get_price_data(symbol, "1y") + analysis = data_service.get_analysis(symbol, "1y") + trading_decision = data_service.get_trading_recommendation(symbol, country) + sharia_compliance = data_service.get_sharia_compliance(symbol, country) - stock_data = st.session_state.stock_data.get(symbol, {}) - if not stock_data: - st.error("Failed to load data.") + # Check if data loaded successfully + if data is None or analysis.get('error') or trading_decision.get('error'): + st.error("Failed to load dashboard data. Please try again.") return - analysis = stock_data.get('analysis', {}) - trading_decision = stock_data.get('trading_decision', {}) - sharia_compliance = stock_data.get('sharia_compliance', {}) - data = stock_data.get('data') - # KPIs at the top col1, col2, col3, col4, col5 = st.columns(5) with col1: - current_price = data['Close'].iloc[-1] - formatted_price = stock_fetcher.format_price_with_currency(current_price, country) - st.metric("šŸ’° Current Price", formatted_price) + if data is not None and hasattr(data, 'iloc') and len(data) > 0: + current_price = data['Close'].iloc[-1] + formatted_price = stock_fetcher.format_price_with_currency(current_price, country) + st.metric("šŸ’° Current Price", formatted_price) + else: + st.metric("šŸ’° Current Price", "N/A") with col2: total_return = analysis.get('total_return_pct', 0) @@ -508,36 +271,56 @@ class StockTradingApp: with col3: rec = trading_decision.get('recommendation', 'HOLD') - conf = trading_decision.get('confidence', 0) * 100 - st.metric("Recommendation", rec, f"{conf:.0f}% confidence") + conf = trading_decision.get('confidence', 0.5) + if conf <= 1.0: + conf_pct = conf * 100 + else: + conf_pct = conf + st.metric("Recommendation", rec, f"{conf_pct:.0f}% confidence") with col4: ruling = sharia_compliance.get('ruling', 'UNCERTAIN') - sharia_conf = sharia_compliance.get('confidence', 0) * 100 - st.metric("Sharia Status", ruling, f"{sharia_conf:.0f}% confidence") + sharia_conf = sharia_compliance.get('confidence', 0.5) + if sharia_conf <= 1.0: + sharia_conf_pct = sharia_conf * 100 + else: + sharia_conf_pct = sharia_conf + st.metric("Sharia Status", ruling, f"{sharia_conf_pct:.0f}% confidence") with col5: volatility = analysis.get('volatility_annualized', 0) st.metric("Volatility", f"{volatility:.1f}%") - st.divider() - # Charts section - - # First row: Risk Analysis and Trading Signals - col1, col2 = st.columns(2) - - with col1: - risk_fig = chart_generator.create_risk_analysis_chart(analysis, symbol) - st.plotly_chart(risk_fig, use_container_width=True) - - with col2: - signals_fig = chart_generator.create_trading_signals_chart(data, analysis, trading_decision, symbol) - st.plotly_chart(signals_fig, use_container_width=True) - - # Second row: Price Chart (full width) - price_fig = chart_generator.create_price_chart(data, symbol, analysis) - st.plotly_chart(price_fig, use_container_width=True) + # Charts section (only if data is available) + if data is not None and hasattr(data, 'iloc') and len(data) > 0: + st.divider() + + # First row: Risk Analysis and Trading Signals + col1, col2 = st.columns(2) + + with col1: + try: + risk_fig = chart_generator.create_risk_analysis_chart(analysis, symbol) + st.plotly_chart(risk_fig, use_container_width=True) + except Exception as e: + st.error(f"Risk chart error: {str(e)}") + + with col2: + try: + signals_fig = chart_generator.create_trading_signals_chart(data, analysis, trading_decision, symbol) + st.plotly_chart(signals_fig, use_container_width=True) + except Exception as e: + st.error(f"Signals chart error: {str(e)}") + + # Second row: Price Chart (full width) + try: + price_fig = chart_generator.create_price_chart(data, symbol, analysis) + st.plotly_chart(price_fig, use_container_width=True) + except Exception as e: + st.error(f"Price chart error: {str(e)}") + else: + st.warning("šŸ“Š Charts unavailable - no price data loaded.") From e225095eafb96f64fd9f14b51e8dff778eef95b8 Mon Sep 17 00:00:00 2001 From: Eleftherios Chaniotakis Date: Mon, 21 Jul 2025 23:53:30 +0300 Subject: [PATCH 028/176] Week 5 Investor Relations bot with RAG --- .../elchanio_rag_bot/IR_Scraper.ipynb | 101 ++++ .../elchanio_rag_bot/rag_bot_v01_local.ipynb | 303 ++++++++++ .../elchanio_rag_bot/rag_bot_v02_IR.ipynb | 547 ++++++++++++++++++ .../elchanio_rag_bot/spider_runner.py | 138 +++++ 4 files changed, 1089 insertions(+) create mode 100644 week5/community-contributions/elchanio_rag_bot/IR_Scraper.ipynb create mode 100644 week5/community-contributions/elchanio_rag_bot/rag_bot_v01_local.ipynb create mode 100644 week5/community-contributions/elchanio_rag_bot/rag_bot_v02_IR.ipynb create mode 100644 week5/community-contributions/elchanio_rag_bot/spider_runner.py diff --git a/week5/community-contributions/elchanio_rag_bot/IR_Scraper.ipynb b/week5/community-contributions/elchanio_rag_bot/IR_Scraper.ipynb new file mode 100644 index 0000000..b03e8e3 --- /dev/null +++ b/week5/community-contributions/elchanio_rag_bot/IR_Scraper.ipynb @@ -0,0 +1,101 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "18d85036", + "metadata": {}, + "source": [ + "\n", + "![image](img/spider_bot.png)\n", + "\n", + "## Investor Relations Web Scraping bot\n", + "This code will pop up a Gradio interface to start scraping a website. This is a utility notebook, created to quickly gather documents from IR sites to create a KB. \n", + "I've tuned the scraper to go through the Investor Relations tree of a company website and save all documents with extensions (xls, pdf, word, etc), but not the HTML content.\n", + "\n", + "Due to the way scrapy works with async loops, I had to make a separate script and run it as a subprocess, in order for it to work in a Jupyter notebook.\n", + "\n", + "Can be used to scrape multiple websites (one at a time). Saves scraped files in a kb/{domain} subdirectory (it does **not** preserve website tree structure)\n", + "\n", + "Uses **spider_runner.py**, which needs to be in the same directory as the notebook (will check and abort if not present).\n", + "\n", + "\n", + "### Scraping logic\n", + "scrapy does a pretty decent job of getting the necessary files, although some dynamic sites will not yield the best results. For a more robust scraper I probably need to move to Selenium in a future upgrade. Still, the tool is quite practical for many occasions, as many companies keep their IR websites static. You may need to tweak the follow-on link scraping patterns, I have kept it very simple (it will follow whatever link has 'investor-relations/' in it and limit the links to follow per page to avoid infinite scraping)\n", + "\n", + "In a real application environment we would be running the spider class inside the application - this would enable simpler real-time updates in the output. For an interactive notebook I find this approach sufficient enough." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69f99b6a", + "metadata": {}, + "outputs": [], + "source": [ + "import subprocess, os, sys\n", + "import gradio as gr\n", + "from urllib.parse import urlparse, urljoin\n", + "\n", + "\n", + "# from urllib.parse import urljoin, urlparse\n", + "# from scrapy.crawler import CrawlerRunner\n", + "# from scrapy.utils.log import configure_logging\n", + "# from twisted.internet import reactor, defer\n", + "# import asyncio\n", + "\n", + "is_scraper_completed = False # global variable to check if the scraper has completed\n", + "status_value= \"Ready\"\n", + "\n", + "with gr.Blocks() as scraper_ui:\n", + " gr.Markdown(\"## Web Scraper\")\n", + " gr.Markdown(\"This is a simple web scraper that can be used to scrape investor relations pages.\")\n", + " \n", + " url = gr.Textbox(label=\"Enter URL\", placeholder=\"https://example.com\")\n", + " \n", + " status = gr.Textbox(label=\"Status\", interactive=False, value=\"Ready to scrape. Enter a URL and press Enter.\", lines=5)\n", + "\n", + " def run_scraper(url):\n", + " # Run the spider as a subprocess\n", + " if not url.startswith(\"http\"):\n", + " url = \"http://\" + url\n", + " # Extract the domain from the URL\n", + " parsed_url = urlparse(url)\n", + " domain = parsed_url.netloc.replace(\"www.\", \"\")\n", + " if not domain:\n", + " return \"Invalid URL. Please enter a valid URL.\"\n", + " # Check if the spider_runner.py file exists\n", + " if not os.path.exists('spider_runner.py'):\n", + " return \"Error: spider_runner.py not found. Please ensure it is in the current directory.\"\n", + " # Run the spider using subprocess\n", + " try:\n", + " result = subprocess.run([sys.executable, 'spider_runner.py', url, domain], check=True, text=True, capture_output=True)\n", + " status_value = f\"Scraping completed for {url}.\"\n", + " is_scraper_completed = True # Set the global variable to True\n", + " return result.stderr, status_value\n", + " except subprocess.CalledProcessError as e:\n", + " is_scraper_completed = True\n", + " status_value = \"Error during scraping. Check the logs for details.\"\n", + " return f\"Error: {e}\", status_value\n", + " \n", + " output = gr.Textbox(label=\"Output\", interactive=False)\n", + " \n", + " url.submit(run_scraper, inputs=url, outputs=[output,status]) \n", + "\n", + "scraper_ui.launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/elchanio_rag_bot/rag_bot_v01_local.ipynb b/week5/community-contributions/elchanio_rag_bot/rag_bot_v01_local.ipynb new file mode 100644 index 0000000..8bd7449 --- /dev/null +++ b/week5/community-contributions/elchanio_rag_bot/rag_bot_v01_local.ipynb @@ -0,0 +1,303 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2f01b288", + "metadata": {}, + "source": [ + "# RAG personal bot\n", + "\n", + "Exercise for week 5 of LLM Engineering course.\n", + "\n", + "This notebook will create a personal RAG bot. It will use a the ./kb directory to store the files that we want to include in the RAG. Subdirectories will be used to denote categories for the files.\n", + "**Important: only one level of subdirectories will be used for the categories**\n", + "\n", + "It uses LangChain to create and process the RAG pipeline and chat.\n", + "The voector database persistent sotre is in the ./vdb folder. \n", + "\n", + "In this version we use chromadb for the vector store.\n", + "The store is recreated each run. This is not efficient for large datasets. \n", + "\n", + "Future upgrades - To Do (in no particular order): \n", + "- [X] Create a fully local version for security and privacy\n", + "- [ ] Create persistent data store - only load, chunk and embed changed documents. \n", + "- [ ] Provide selection of vector db engines (Chroma DB as default, or connect to external vector db e.g. ElasticSearch or AWS Opensearch)\n", + "- [ ] Add an interface to upload documents in data store - including user-defined metadata tags\n", + "- [ ] Add more document data types\n", + "- [ ] Add online search capability - use web crawler tool to crawl a website and create website-specific RAG bot\n", + "- [ ] Read e-mails/calendars/online docs (Amazon S3 bucket, Google Drive)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6dfe8e48", + "metadata": {}, + "outputs": [], + "source": [ + "# These were necessary as langchain does not install them by default\n", + "!pip install pypdf\n", + "!pip install pdfminer.six\n", + "!pip install python-docx\n", + "!pip install docx2txt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "193171c0", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import glob\n", + "from dotenv import load_dotenv\n", + "import gradio as gr\n", + "\n", + "# imports for langchain, plotly and Chroma\n", + "# plotly is commented out, as it is not used in the current code\n", + "\n", + "from langchain.document_loaders import DirectoryLoader, TextLoader, PDFMinerLoader, Docx2txtLoader\n", + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "# from langchain.schema import Document\n", + "from langchain_openai import OpenAIEmbeddings, ChatOpenAI\n", + "from langchain_chroma import Chroma\n", + "#import matplotlib.pyplot as plt\n", + "#from sklearn.manifold import TSNE\n", + "#import numpy as np\n", + "#import plotly.graph_objects as go\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "# from langchain.embeddings import HuggingFaceEmbeddings" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d22d2e48", + "metadata": {}, + "outputs": [], + "source": [ + "MODEL = \"gpt-4o-mini\"\n", + "db_name = \"vdb\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc23bf8c", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n" + ] + }, + { + "cell_type": "markdown", + "id": "0103ef35", + "metadata": {}, + "source": [ + "## Loading the documents\n", + "In the code below we read in the KB documents and create the vector store. \n", + "We will be adding PDF documents, Word documents and text/markdown documents.\n", + "Each document has its own loader, which we are calling separately through DirectoryLoader.\n", + "At the end, we are combining the results, and then start splitting the documents using the Recursive Character Text Splitter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f20fd20", + "metadata": {}, + "outputs": [], + "source": [ + "# Read in documents using LangChain's loaders\n", + "# Take everything in all the sub-folders of our knowledgebase\n", + "\n", + "folders = glob.glob(\"kb/*\")\n", + "print(f\"Found {len(folders)} folders in the knowledge base.\")\n", + "\n", + "def add_metadata(doc, doc_type):\n", + " doc.metadata[\"doc_type\"] = doc_type\n", + " return doc\n", + "\n", + "# For text files\n", + "text_loader_kwargs = {'encoding': 'utf-8'}\n", + "\n", + "documents = []\n", + "for folder in folders:\n", + " print(f\"Loading documents from folder: {folder}\")\n", + " doc_type = os.path.basename(folder)\n", + " # PDF Loader\n", + " pdf_loader = DirectoryLoader(folder, glob=\"**/*.pdf\", loader_cls=PDFMinerLoader)\n", + " # Text loaders\n", + " txt_loader = DirectoryLoader(folder, glob=\"**/*.txt\", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)\n", + " md_loader = DirectoryLoader(folder, glob=\"**/*.md\", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)\n", + " # Load MS Word documents - UnstructuredWordDocumentLoader does not play well with numpy > 1.24.0, and we use Docx2txtLoader instead. \n", + " # doc_loader = DirectoryLoader(folder, glob=\"**/*.doc\", loader_cls=UnstructuredWordDocumentLoader)\n", + " docx_loader = DirectoryLoader(folder, glob=\"**/*.docx\", loader_cls=Docx2txtLoader)\n", + " # document doc_type is used to identify the type of document\n", + " # Load documents from PDF, text and word files and combine the results\n", + " pdf_docs = pdf_loader.load()\n", + " print(f\"Loaded {len(pdf_docs)} PDF documents from {folder}\")\n", + " text_docs = txt_loader.load() + md_loader.load()\n", + " print(f\"Loaded {len(text_docs)} text documents from {folder}\")\n", + " word_docs = docx_loader.load()\n", + " print(f\"Loaded {len(word_docs)} Word documents from {folder}\")\n", + " folder_docs = pdf_docs + text_docs + word_docs\n", + " # Add metadata to each document\n", + " if not folder_docs:\n", + " print(f\"No documents found in folder: {folder}\")\n", + " continue\n", + " documents.extend([add_metadata(doc, doc_type) for doc in folder_docs])\n", + "\n", + "# Split the documents into chunks\n", + "text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + "chunks = text_splitter.split_documents(documents)\n", + "\n", + "# Print out some basic info for the loaded documents and chunks\n", + "print(f\"Total number of documents: {len(documents)}\")\n", + "print(f\"Total number of chunks: {len(chunks)}\")\n", + "print(f\"Document types found: {set(doc.metadata['doc_type'] for doc in documents)}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "021cadc7", + "metadata": {}, + "source": [ + "## Vector Store\n", + "\n", + "We use Chromadb for vector store\n", + "Same code as the one in the lesson notebook, minus the visualization part" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efc70e3a", + "metadata": {}, + "outputs": [], + "source": [ + "# embeddings = OpenAIEmbeddings()\n", + "\n", + "# If you would rather use the free Vector Embeddings from HuggingFace sentence-transformers\n", + "# Then replace embeddings = OpenAIEmbeddings()\n", + "# with:\n", + "from langchain.embeddings import HuggingFaceEmbeddings\n", + "embeddings = HuggingFaceEmbeddings(model_name=\"sentence-transformers/all-MiniLM-L6-v2\")\n", + "\n", + "# Delete if already exists\n", + "\n", + "if os.path.exists(db_name):\n", + " Chroma(persist_directory=db_name, embedding_function=embeddings).delete_collection()\n", + "\n", + "# Create vectorstore\n", + "\n", + "vectorstore = Chroma.from_documents(documents=chunks, embedding=embeddings, persist_directory=db_name)\n", + "print(f\"Vectorstore created with {vectorstore._collection.count()} documents\")\n", + "\n", + "# Let's investigate the vectors\n", + "\n", + "collection = vectorstore._collection\n", + "count = collection.count()\n", + "\n", + "sample_embedding = collection.get(limit=1, include=[\"embeddings\"])[\"embeddings\"][0]\n", + "dimensions = len(sample_embedding)\n", + "print(f\"There are {count:,} vectors with {dimensions:,} dimensions in the vector store\")" + ] + }, + { + "cell_type": "markdown", + "id": "c9af1d32", + "metadata": {}, + "source": [ + "## LangChain\n", + "Create Langchain chat, memory and retrievers.\n", + "\n", + "Note: for this localized version, Gemma3 4B worked much better than Llama 3.2, with my documents. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2360006e", + "metadata": {}, + "outputs": [], + "source": [ + "# create a new Chat with OpenAI\n", + "#llm = ChatOpenAI(temperature=0.7, model_name=MODEL)\n", + "\n", + "# Alternative - if you'd like to use Ollama locally, uncomment this line instead\n", + "llm = ChatOpenAI(temperature=0.7, model_name='gemma3:4b', base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "# set up the conversation memory for the chat\n", + "memory = ConversationBufferMemory(memory_key='chat_history', return_messages=True)\n", + "\n", + "# the retriever is an abstraction over the VectorStore that will be used during RAG\n", + "retriever = vectorstore.as_retriever(search_kwargs={\"k\": 20}) # k is the number of documents to retrieve\n", + "\n", + "# putting it together: set up the conversation chain with the GPT 3.5 LLM, the vector store and memory\n", + "conversation_chain = ConversationalRetrievalChain.from_llm(llm=llm, retriever=retriever, memory=memory)" + ] + }, + { + "cell_type": "markdown", + "id": "88a21bb3", + "metadata": {}, + "source": [ + "## UI part\n", + "Create Gradio interface\n", + "\n", + "Simple built-in chat interface\n", + "\n", + "To Do: Add upload interface to include additional documents in data store." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0dfe7d75", + "metadata": {}, + "outputs": [], + "source": [ + "# Wrapping that in a function\n", + "\n", + "def chat(question, history):\n", + " result = conversation_chain.invoke({\"question\": question})\n", + " return result[\"answer\"]\n", + "\n", + "# And in Gradio:\n", + "\n", + "view = gr.ChatInterface(chat, type=\"messages\").launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/elchanio_rag_bot/rag_bot_v02_IR.ipynb b/week5/community-contributions/elchanio_rag_bot/rag_bot_v02_IR.ipynb new file mode 100644 index 0000000..1e26116 --- /dev/null +++ b/week5/community-contributions/elchanio_rag_bot/rag_bot_v02_IR.ipynb @@ -0,0 +1,547 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2f01b288", + "metadata": {}, + "source": [ + "![image](img/librarian_bot.png)\n", + "\n", + "# RAG bot for investor information\n", + "\n", + "Exercise for week 5 of LLM Engineering course\n", + "\n", + "Specialized bot focusing on analysing financial documents from Investor Relations webpages. \n", + "Comes together with a web crawler spider to gather documents quickly.\n", + "\n", + "This notebook will create a personal RAG bot. It will use a the ./kb directory to store the files that we want to include in the RAG. Subdirectories will be used to denote categories for the files.\n", + "**Important: only one level of subdirectories will be used for the categories**\n", + "\n", + "It uses LangChain to create and process the RAG pipeline and chat.\n", + "The vector database persistent sotre is in the ./vdb folder. \n", + "\n", + "In this version we use chromadb for the vector store.\n", + "The store is recreated each run. This is not efficient for large datasets. \n", + "\n", + "Future upgrades - To Do (in no particular order): \n", + "- [x] Create a fully local version for security and privacy (*see v01_local*) \n", + " NOTE: will require a fairly advanced LLM to answer questions without losing context. 2-4bn parameters LLM's struggle and tend to hallucinate. Best options are gpt-4o-mini and claude-3.5-haiku.\n", + "- [x] Fine tune the pdf scraper to handle financial reports better\n", + "- [x] Create custom retriever for financial information\n", + "- [ ] Create persistent data store between runs - only load, chunk and embed changed documents. \n", + "- [ ] Provide selection of vector db engines (Chroma DB as default, or connect to external vector db e.g. ElasticSearch or AWS Opensearch)\n", + "- [ ] Add an interface to upload documents in data store - including user-defined metadata tags\n", + "- [ ] Multimodality: Process more document data types (e.g. ppt) \n", + "- [x] Add online search capability - use web crawler tool to crawl a website and create website-specific RAG bot\n", + "- [ ] Read e-mails/calendars/online docs (Amazon S3 bucket, Google Drive)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6dfe8e48", + "metadata": {}, + "outputs": [], + "source": [ + "# These were necessary as langchain does not install them by default\n", + "# !pip install pypdf\n", + "# !pip install pdfminer.six\n", + "# !pip install python-docx\n", + "!pip install docx2txt\n", + "!pip install pymupdf4llm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "193171c0", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import glob\n", + "from dotenv import load_dotenv\n", + "import gradio as gr\n", + "\n", + "# imports for langchain, plotly and Chroma\n", + "# plotly is commented out, as it is not used in the current code\n", + "\n", + "from langchain.document_loaders import DirectoryLoader, TextLoader, PDFMinerLoader, Docx2txtLoader\n", + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "# from langchain.schema import Document\n", + "from langchain_openai import OpenAIEmbeddings, ChatOpenAI\n", + "from langchain_chroma import Chroma\n", + "#import matplotlib.pyplot as plt\n", + "#from sklearn.manifold import TSNE\n", + "#import numpy as np\n", + "#import plotly.graph_objects as go\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.embeddings import HuggingFaceEmbeddings" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d22d2e48", + "metadata": {}, + "outputs": [], + "source": [ + "MODEL = \"gpt-4o-mini\"\n", + "db_name = \"vdb\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc23bf8c", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n" + ] + }, + { + "cell_type": "markdown", + "id": "0103ef35", + "metadata": {}, + "source": [ + "## Loading the documents\n", + "\n", + "In the code below we read in the KB documents and create the vector store. \n", + "We will be adding PDF documents, Word documents and text/markdown documents. \n", + "Each document has its own loader, which we are calling separately through DirectoryLoader.\n", + "For PDF we implement custom loader to manage financial data. \n", + "\n", + "At the end, we are combining the results, and then start splitting the documents using the Recursive Character Text Splitter.\n", + "\n", + "This approach is not optimal for financial tables.\n", + "TO DO:\n", + " - [x] Replace splitter with better technique that preserves tables.\n", + " - [x] Replace PDF Reader with pymupdf4llm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "918cbbf0", + "metadata": {}, + "outputs": [], + "source": [ + "# Utility functions for EU financial reporting (read from PDF)\n", + "# We're using pymupdf4llm for better handling of financial reports\n", + "# This function does not utilize a loader class, but directly processes the PDF file\n", + "# It extracts financial sections and returns them as Document objects\\\n", + "\n", + "import pymupdf4llm\n", + "from langchain.schema import Document\n", + "import re\n", + "import string\n", + "from pathlib import Path\n", + "\n", + "def extract_eu_financial_reports(pdf_path):\n", + " \"\"\"\n", + " Extracts financial sections from an EU financial report PDF using pymupdf4llm.\n", + "\n", + " Args:\n", + " pdf_path (str): Path to the PDF file.\n", + "\n", + " Returns:\n", + " list[Document]: A list of LangChain Document objects, each representing a detected financial section\n", + " (e.g., income statement, balance sheet, cash flow statement, etc.) with associated metadata.\n", + "\n", + " The function processes the PDF, detects section headers based on common financial report section names,\n", + " and splits the content accordingly. Each Document contains the section text and metadata including section name,\n", + " content type, source file, and page range.\n", + " \"\"\"\n", + " md_text = pymupdf4llm.to_markdown(\n", + " pdf_path,\n", + " page_chunks=True, # Preserve page boundaries\n", + " write_images=False,\n", + " embed_images=False\n", + " )\n", + " \n", + " # EU financial reports have predictable structures\n", + " financial_sections = [\n", + " \"consolidated income statement\", \"profit and loss\", \"p&l\", \"remuneration report\",\n", + " \"balance sheet\", \"cash flow statement\", \"statement of financial position\",\n", + " \"notes to the consolidated financial statements\", \"segment reporting\",\n", + " \"risk management\", \"capital adequacy\", \"basel\", \"ifrs\", \"regulatory capital\"\n", + " ]\n", + " \n", + " documents = []\n", + " current_section = None\n", + " current_content = \"\"\n", + " start_page = 1\n", + " \n", + " for page_dict in md_text:\n", + " # Extract the actual text content from the dictionary\n", + " page_content = page_dict.get(\"text\", \"\")\n", + " page_num = page_dict.get(\"page\", start_page)\n", + "\n", + " # Detect financial section headers\n", + " content_lower = page_content.lower()\n", + " detected_section = None\n", + " \n", + " for section in financial_sections:\n", + " if section in content_lower:\n", + " detected_section = section\n", + " break\n", + " \n", + " # Process section changes\n", + " if detected_section and detected_section != current_section:\n", + " if current_content:\n", + " # Save previous section\n", + " documents.append(Document(\n", + " page_content=current_content.strip(),\n", + " metadata={\n", + " \"content_type\": \"financial_statement\",\n", + " \"section\": current_section or \"general\",\n", + " \"source\": pdf_path,\n", + " \"pages\": f\"{start_page}-{page_num-1}\"\n", + " }\n", + " ))\n", + " current_section = detected_section\n", + " current_content = page_content\n", + " else:\n", + " current_content += \"\\n---\\n\" + page_content\n", + " \n", + " # Handle final section\n", + " if current_content:\n", + " documents.append(Document(\n", + " page_content=current_content.strip(),\n", + " metadata={\n", + " \"content_type\": \"financial_statement\",\n", + " \"section\": current_section or \"general\",\n", + " \"source\": pdf_path,\n", + " \"pages\": f\"{start_page}-{page_num}\"\n", + " }\n", + " ))\n", + " \n", + " return documents\n", + "\n", + "# Utility functions for loading documents from a folder\n", + "def load_eu_financial_reports_from_directory(directory_path: str, glob_pattern: str = \"*.pdf\"):\n", + " \"\"\"\n", + " Load and process all EU financial reports from a directory.\n", + "\n", + " Args:\n", + " directory_path (str): Path to the directory containing PDF files\n", + " glob_pattern (str, optional): Pattern to match PDF files. Defaults to \"*.pdf\"\n", + "\n", + " Returns:\n", + " list[Document]: A list of LangChain Document objects containing the extracted financial sections\n", + " from all successfully processed PDFs in the directory.\n", + "\n", + " The function iterates through PDF files in the specified directory that match the glob pattern,\n", + " processes each file using extract_eu_financial_reports(), and combines the results into a single list.\n", + " Files that cannot be processed are skipped with an error message printed to stdout.\n", + " \"\"\"\n", + " all_documents = []\n", + " directory = Path(directory_path)\n", + " \n", + " for pdf_file in directory.glob(glob_pattern):\n", + " try:\n", + " documents = extract_eu_financial_reports(str(pdf_file))\n", + " all_documents.extend(documents)\n", + " except Exception as e:\n", + " print(f\"Error processing {pdf_file}: {e}\")\n", + " \n", + " return all_documents\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f20fd20", + "metadata": {}, + "outputs": [], + "source": [ + "# Read in documents using LangChain's loaders\n", + "# Take everything in all the sub-folders of our knowledgebase\n", + "\n", + "folders = glob.glob(\"kb/*\")\n", + "print(f\"Found {len(folders)} folders in the knowledge base.\")\n", + "\n", + "def add_metadata(doc, doc_type):\n", + " doc.metadata[\"doc_type\"] = doc_type\n", + " return doc\n", + "\n", + "# For text files\n", + "text_loader_kwargs = {'encoding': 'utf-8'}\n", + "\n", + "documents = []\n", + "for folder in folders:\n", + " print(f\"Loading documents from folder: {folder}\")\n", + " doc_type = os.path.basename(folder)\n", + " # PDF Loader\n", + " # We're not using the PDFMinerLoader as it does not handle EU financial reports well.\n", + " # Instead, we use our custom extract_eu_financial_reports function.\n", + " # Uncomment the next line if you want to use the standard loader for PDF files\n", + " # pdf_loader = DirectoryLoader(folder, glob=\"**/*.pdf\", loader_cls=extract_eu_financial_reports)\n", + " # Text loaders\n", + " txt_loader = DirectoryLoader(folder, glob=\"**/*.txt\", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)\n", + " md_loader = DirectoryLoader(folder, glob=\"**/*.md\", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)\n", + " # Load MS Word documents - UnstructuredWordDocumentLoader does not play well with numpy > 1.24.0, and we use Docx2txtLoader instead. \n", + " # doc_loader = DirectoryLoader(folder, glob=\"**/*.doc\", loader_cls=UnstructuredWordDocumentLoader)\n", + " docx_loader = DirectoryLoader(folder, glob=\"**/*.docx\", loader_cls=Docx2txtLoader)\n", + " # document doc_type is used to identify the type of document\n", + " # Load documents from PDF, text and word files and combine the results\n", + " pdf_docs = load_eu_financial_reports_from_directory(folder)\n", + " print(f\"Loaded {len(pdf_docs)} PDF documents from {folder}\")\n", + " text_docs = txt_loader.load() + md_loader.load()\n", + " print(f\"Loaded {len(text_docs)} text documents from {folder}\")\n", + " word_docs = docx_loader.load()\n", + " print(f\"Loaded {len(word_docs)} Word documents from {folder}\")\n", + " folder_docs = pdf_docs + text_docs + word_docs\n", + " # Add metadata to each document\n", + " if not folder_docs:\n", + " print(f\"No documents found in folder: {folder}\")\n", + " continue\n", + " documents.extend([add_metadata(doc, doc_type) for doc in folder_docs])\n", + "\n", + "# Split the documents into chunks\n", + "text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)\n", + "chunks = text_splitter.split_documents(documents)\n", + "\n", + "# Print out some basic info for the loaded documents and chunks\n", + "print(f\"Total number of documents: {len(documents)}\")\n", + "print(f\"Total number of chunks: {len(chunks)}\")\n", + "print(f\"Document types found: {set(doc.metadata['doc_type'] for doc in documents)}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "749ad5d8", + "metadata": {}, + "source": [ + "## Vector Store\n", + "\n", + "We use Chromadb for vector store.\n", + "\n", + "Same code as the one in the lesson notebook, minus the visualization part\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efc70e3a", + "metadata": {}, + "outputs": [], + "source": [ + "#embeddings = OpenAIEmbeddings()\n", + "\n", + "# If you would rather use the free Vector Embeddings from HuggingFace sentence-transformers\n", + "# Then replace embeddings = OpenAIEmbeddings()\n", + "# with:\n", + "from langchain.embeddings import HuggingFaceEmbeddings\n", + "embeddings = HuggingFaceEmbeddings(model_name=\"sentence-transformers/all-mpnet-base-v2\") # A bit slower, but better than all-MiniLM-L6-v2 for financial documents\n", + "\n", + "# Delete if already exists\n", + "\n", + "if os.path.exists(db_name):\n", + " Chroma(persist_directory=db_name, embedding_function=embeddings).delete_collection()\n", + "\n", + "# Create vectorstore\n", + "\n", + "vectorstore = Chroma.from_documents(documents=chunks, embedding=embeddings, persist_directory=db_name)\n", + "print(f\"Vectorstore created with {vectorstore._collection.count()} documents\")\n", + "\n", + "# Let's investigate the vectors\n", + "\n", + "collection = vectorstore._collection\n", + "count = collection.count()\n", + "\n", + "sample_embedding = collection.get(limit=1, include=[\"embeddings\"])[\"embeddings\"][0]\n", + "dimensions = len(sample_embedding)\n", + "print(f\"There are {count:,} vectors with {dimensions:,} dimensions in the vector store\")" + ] + }, + { + "cell_type": "markdown", + "id": "c9af1d32", + "metadata": {}, + "source": [ + "## LangChain\n", + "Create Langchain chat, memory and retrievers.\n", + "\n", + "Trying a number of LLM's for ollama. They are not very good at sortingo out the relevant information from financial documents - they do provide results, but tend to be overly chatty and especially the specific numbers can be hallucinated or taken out of context. \n", + "\n", + "GPT-4o-mini provided much more accurate answers to specific questions, even with huggingface's embeddings for the vector store. \n", + "\n", + "Implemented (with Claude's help) a custom retriever and prompt to focus on financial statement analysis.\n", + "\n", + "### OpenAI rate limits\n", + "*Note*: If using OpenAI's embeddings, there's a limit of 300K tokens per request. This requires special handling when calling Chroma.from_documents.\n", + "###TO DO:\n", + "- [ ] Add rate limiter for encoding documents and encode in batches." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59f75e5d", + "metadata": {}, + "outputs": [], + "source": [ + "# Specialized Retriever for consolidated financials\n", + "\n", + "from langchain.schema import BaseRetriever, Document\n", + "from typing import List\n", + "\n", + "from langchain.vectorstores.base import VectorStoreRetriever\n", + "\n", + "class EUFinancialRetriever(VectorStoreRetriever):\n", + " def _get_relevant_documents(self, query: str, *, run_manager=None) -> List[Document]:\n", + " query_lower = query.lower()\n", + " k = self.search_kwargs.get(\"k\", 5)\n", + " \n", + " # Section-aware search logic\n", + " section_queries = {\n", + " 'income': ['income', 'revenue', 'profit', 'earnings'],\n", + " 'balance': ['balance', 'assets', 'liabilities', 'equity'],\n", + " 'cash': ['cash flow', 'operating cash', 'free cash']\n", + " }\n", + " \n", + " for section, terms in section_queries.items():\n", + " if any(term in query_lower for term in terms):\n", + " try:\n", + " return self.vectorstore.similarity_search(\n", + " query, k=k, filter={\"section\": section}\n", + " )\n", + " except:\n", + " break\n", + " \n", + " # Fallback to standard search\n", + " return self.vectorstore.similarity_search(query, k=k)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aca30d15", + "metadata": {}, + "outputs": [], + "source": [ + "# Specialized prompt for the retriever\n", + "\n", + "financial_prompt = \"\"\"\n", + "You are analyzing EU bank and corporate financial statements. When answering:\n", + "\n", + "1. For numerical data, ALWAYS cite the specific financial statement section\n", + "2. Consider regulatory context (IFRS, Basel III for banks)\n", + "3. Note if data spans multiple periods or segments\n", + "4. Highlight any footnotes or adjustments mentioned\n", + "5. Be precise about currency and units (EUR millions, thousands, etc.)\n", + "\n", + "Context from financial statements:\n", + "{context}\n", + "\n", + "Question: {question}\n", + "\n", + "Answer:\n", + "\"\"\"\n", + "# Updated chain with financial-aware prompt\n", + "from langchain.prompts import PromptTemplate\n", + "\n", + "prompt = PromptTemplate(\n", + " input_variables=[\"context\", \"question\"],\n", + " template=financial_prompt\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2360006e", + "metadata": {}, + "outputs": [], + "source": [ + "# create a new Chat with OpenAI\n", + "llm = ChatOpenAI(temperature=0.7, model_name=MODEL)\n", + "\n", + "# Alternative - if you'd like to use Ollama locally, uncomment this line instead\n", + "#llm = ChatOpenAI(temperature=0.7, model_name='gemma3:4b', base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "# set up the conversation memory for the chat\n", + "memory = ConversationBufferMemory(memory_key='chat_history', return_messages=True)\n", + "\n", + "# the retriever is an abstraction over the VectorStore that will be used during RAG\n", + "retriever = EUFinancialRetriever(\n", + " vectorstore=vectorstore, \n", + " search_kwargs={\"k\": 5}\n", + ")\n", + "# putting it together: set up the conversation chain with the GPT 3.5 LLM, the vector store and memory\n", + "conversation_chain = ConversationalRetrievalChain.from_llm(\n", + " llm=llm, \n", + " retriever=retriever, \n", + " memory=memory, \n", + " combine_docs_chain_kwargs={\"prompt\": prompt},\n", + " return_source_documents=False\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "88a21bb3", + "metadata": {}, + "source": [ + "## UI part\n", + "Create Gradio interface\n", + "\n", + "Simple built-in chat interface\n", + "\n", + "###To Do: \n", + "- [ ] Add model selector for Claude 3.5 Haiku\n", + "- [ ] Update interface to handle sources (with **return_source_documents=True**)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0dfe7d75", + "metadata": {}, + "outputs": [], + "source": [ + "# Wrapping that in a function\n", + "\n", + "def chat(question, history):\n", + " result = conversation_chain.invoke({\"question\": question})\n", + " return result[\"answer\"]\n", + "\n", + "# And in Gradio:\n", + "\n", + "view = gr.ChatInterface(chat, type=\"messages\").launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week5/community-contributions/elchanio_rag_bot/spider_runner.py b/week5/community-contributions/elchanio_rag_bot/spider_runner.py new file mode 100644 index 0000000..08fa6e1 --- /dev/null +++ b/week5/community-contributions/elchanio_rag_bot/spider_runner.py @@ -0,0 +1,138 @@ +import scrapy +import os +from urllib.parse import urljoin, urlparse +from scrapy.crawler import CrawlerProcess + +class IRWebSpider(scrapy.Spider): + name= 'ir_web_spider' + custom_settings = { + 'LOG_LEVEL': 'INFO', # DEBUG, INFO, WARNING, ERROR + 'DOWNLOAD_DELAY': 1, # Be nice to the server + 'ROBOTSTXT_OBEY': True, + } + num_pages = 10 # how many links to follow per page (Excluding documents) + + def __init__(self, start_urls=None, allowed_domains=None, *args, **kwargs): + super(IRWebSpider, self).__init__(*args, **kwargs) + + # Handle start_urls + if start_urls: + if isinstance(start_urls, str): + self.start_urls = [start_urls] + else: + self.start_urls = list(start_urls) + else: + self.start_urls = [] + + # Handle allowed_domains + if allowed_domains: + if isinstance(allowed_domains, str): + self.allowed_domains = [allowed_domains] + else: + self.allowed_domains = list(allowed_domains) + else: + # Auto-extract domains from start_urls if not provided + self.allowed_domains = [] + for url in self.start_urls: + domain = urlparse(url).netloc + if domain and domain not in self.allowed_domains: + self.allowed_domains.append(domain) + # Log initialization + self.logger.info(f"Spider initialized with start_urls: {self.start_urls}") + self.logger.info(f"Allowed domains: {self.allowed_domains}") + + def start_requests(self): + urls = self.start_urls + if not urls: + raise ValueError("No URLs provided to scrape.") + for url in urls: + self.logger.info(f"Starting request to: {url}") + yield scrapy.Request(url=url, callback=self.parse) + + def parse(self, response): + self.logger.info(f"Parsing response from: {response.url}") + self.logger.info(f"Response status: {response.status}") + # Save the page content + + # Extract document links with better selectors + doc_selectors = [ + 'a[href$=".pdf"]::attr(href)', + 'a[href$=".xlsx"]::attr(href)', + 'a[href$=".xls"]::attr(href)', + 'a[href$=".docx"]::attr(href)', + 'a[href$=".doc"]::attr(href)', + 'a[href$=".pptx"]::attr(href)', + 'a[href$=".ppt"]::attr(href)', + ] + doc_links = [] + for selector in doc_selectors: + links = response.css(selector).getall() + doc_links.extend(links) + self.logger.debug(f"Found {len(links)} links with selector: {selector}") + + self.logger.info(f"Total document links found: {len(doc_links)}") + + if not doc_links: + self.logger.warning("No document links found. Checking page content...") + # Log some of the page content for debugging + self.logger.debug(f"Page title: {response.css('title::text').get()}") + self.logger.debug(f"First 500 chars: {response.text[:500]}") + + for link in doc_links: + full_url = urljoin(response.url, link) + self.logger.info(f"Queuing document: {full_url}") + yield scrapy.Request( + url=full_url, + callback=self.save_document + ) + + # Look for more investor relations pages + ir_links = response.css('a[href*="investor-relations/"]::attr(href)').getall() + + + for link in ir_links[:self.num_pages]: # Limit to avoid infinite crawling + full_url = urljoin(response.url, link) + if full_url != response.url: # Avoid self-loops + self.logger.info(f"Following IR link: {full_url}") + yield scrapy.Request(url=full_url, callback=self.parse) + + + def save_document(self, response): + """Save the document to the local file system. + Will create a directory structure based on the domain and save the file with its original name or a hash if no name is available. + All documents are saved in the 'kb' directory.""" + + self.logger.info(f"Downloading document from: {response.url}") + + parsed_url = urlparse(response.url) + domain = parsed_url.netloc.replace("www.", "") + filename = os.path.basename(parsed_url.path) + if not filename: + filename = f"document_{hash(response.url) % 10000}.bin" + + os.makedirs(f'kb/{domain}', exist_ok=True) + filepath = f'kb/{domain}/{filename}' + + with open(filepath, 'wb') as f: + f.write(response.body) + + file_size = len(response.body) + self.logger.info(f"Saved document: {filepath} ({file_size} bytes)") + +if __name__ == '__main__': + import sys + + start_urls = sys.argv[1] if len(sys.argv) > 1 else 'http://example.com/investor-relations' + allowed_domains = sys.argv[2] if len(sys.argv) > 2 else 'example.com' + + process = CrawlerProcess({ + 'LOG_LEVEL': 'INFO', + 'DOWNLOAD_DELAY': 1, + 'ROBOTSTXT_OBEY': True, + }) + + process.crawl(IRWebSpider, + start_urls=start_urls, + allowed_domains=allowed_domains) + + process.start() \ No newline at end of file From b6b2e4cf4d28f64d793fe64e4e8a1ead535419e1 Mon Sep 17 00:00:00 2001 From: Eleftherios Chaniotakis Date: Tue, 22 Jul 2025 00:18:00 +0300 Subject: [PATCH 029/176] add code documenter and test function generator --- .../week4-lchanio-code-documenter.ipynb | 300 ++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 week4/community-contributions/week4-lchanio-code-documenter.ipynb diff --git a/week4/community-contributions/week4-lchanio-code-documenter.ipynb b/week4/community-contributions/week4-lchanio-code-documenter.ipynb new file mode 100644 index 0000000..aee045d --- /dev/null +++ b/week4/community-contributions/week4-lchanio-code-documenter.ipynb @@ -0,0 +1,300 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "44d517c6", + "metadata": {}, + "source": [ + "# Code Documenter\n", + "This application documents a code module:\n", + "Generates a DocString\n", + "Inserts comments where applicable\n", + "\n", + "Output is in TextBox and can be written to a file.\n", + "\n", + "Offeres model selection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c349e47b", + "metadata": {}, + "outputs": [], + "source": [ + "# Import Libraries\n", + "\n", + "from dotenv import load_dotenv\n", + "import os\n", + "#import requests\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from google import genai\n", + "from google.genai import types\n", + "# from google.colab import drive\n", + "from huggingface_hub import login\n", + "#from google.colab import userdata\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer, BitsAndBytesConfig, TextIteratorStreamer\n", + "import torch\n", + "import gradio as gr\n", + "#import threading " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46caf8e5", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants - model names\n", + "LLAMA_MODEL = \"codellama-7b-kstack\" # we will be using LM_Studio for this model\n", + "QWEN_MODEL = \"qwen2.5-coder-14b-instruct\" # we will be using LM_Studio for this model, might be too large for some systems\n", + "OPENAI_MODEL = \"gpt-4o\"\n", + "ANTHROPIC_MODEL = \"claude-3-5-haiku-latest\"\n", + "GOOGLE_MODEL = \"gemini-2.5-pro\"\n", + "model_choices = [LLAMA_MODEL, QWEN_MODEL, OPENAI_MODEL, ANTHROPIC_MODEL, GOOGLE_MODEL]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6df20bf1", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables and set up API connections\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "hf_api_key = os.getenv('HF_API_KEY')\n", + "\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + " openai = OpenAI(api_key=openai_api_key)\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + " claude = anthropic.Anthropic(api_key=anthropic_api_key)\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + " gemini = genai.Client(api_key=google_api_key) \n", + "else:\n", + " print(\"Google API Key not set\")\n", + "\n", + "if hf_api_key:\n", + " print(f\"HuggingFace API Key exists and begins {hf_api_key[:7]}\")\n", + " login(hf_api_key, add_to_git_credential=True)\n", + "else:\n", + " print(\"HuggingFace API Key not set\")\n", + "\n", + "# Set up LM Studio connection\n", + "lm_studio_via_openai = OpenAI(base_url=\"http://127.0.0.1:1234/v1\", api_key=\"lmstudio\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c9178a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Model invocation function\n", + "# This function will handle the invocation of different models based on the selected model name.\n", + "\n", + "def invoke_model(model_name, prompt, max_tokens=1000, temperature=0.4):\n", + " if model_name == OPENAI_MODEL:\n", + " stream = openai.chat.completions.create(\n", + " model=OPENAI_MODEL,\n", + " messages=prompt,\n", + " max_tokens=max_tokens,\n", + " temperature=temperature,\n", + " stream=True\n", + " )\n", + " #return response.choices[0].message.content\n", + " for chunk in stream:\n", + " yield chunk.choices[0].delta.content or ''\n", + " \n", + " elif model_name == ANTHROPIC_MODEL:\n", + " #Invoke Claude model\n", + " # Handle the prompt structure for Claude\n", + " #print(f\"Invoking model: {model_name}\")\n", + " #print(f\"System prompt: {prompt[0]['content']}\")\n", + " #print(f\"User prompt: %s\", prompt[1]['content'][:100])\n", + " try:\n", + " # Use context manager for proper stream handling\n", + " with claude.messages.stream(\n", + " model=ANTHROPIC_MODEL,\n", + " system=prompt[0]['content'],\n", + " messages=[prompt[1]],\n", + " max_tokens=max_tokens,\n", + " temperature=temperature\n", + " ) as stream:\n", + " #print(\"Stream created successfully\")\n", + " chunk_count = 0\n", + " \n", + " for chunk in stream.text_stream:\n", + " chunk_count += 1\n", + " #print(f\"Chunk {chunk_count}: {repr(chunk)}\") # Use repr to see None/empty values\n", + " \n", + " if chunk: # Only yield non-empty chunks\n", + " yield chunk\n", + " \n", + " #print(f\"Stream completed. Total chunks: {chunk_count}\")\n", + " \n", + " except Exception as e:\n", + " print(f\"Error invoking Claude model: {e}\")\n", + " yield f\"Error invoking Claude model: {e}\"\n", + " return\n", + " \n", + " elif model_name == GOOGLE_MODEL:\n", + " #Invoke Gemini model\n", + " # Handle the prompt structure for Gemini\n", + " #print(f\"Invoking model: {model_name}\")\n", + " stream = gemini.models.generate_content_stream(\n", + " model=GOOGLE_MODEL,\n", + " contents=prompt[1]['content'],\n", + " config=types.GenerateContentConfig(\n", + " temperature=temperature,\n", + " maxOutputTokens=max_tokens,\n", + " system_instruction=prompt[0]['content'],)\n", + " )\n", + " #print(\"Streaming response from Gemini...\")\n", + " for chunk in stream:\n", + " yield chunk.text or ''\n", + " \n", + " elif model_name == LLAMA_MODEL or model_name == QWEN_MODEL:\n", + " # invoke LM Studio model\n", + " #print(f\"Invoking model: {model_name}\")\n", + " stream = lm_studio_via_openai.chat.completions.create(\n", + " model=model_name,\n", + " messages=prompt,\n", + " max_tokens=max_tokens,\n", + " temperature=temperature,\n", + " stream=True\n", + " )\n", + " #print(\"Streaming response from LM Studio...\")\n", + " #return response.choices[0].message.content\n", + " #response=\"\"\n", + " for chunk in stream:\n", + " #response += chunk.choices[0].delta.content or ''\n", + " yield chunk.choices[0].delta.content or ''\n", + " else:\n", + " raise ValueError(\"Unsupported model name\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d781b697", + "metadata": {}, + "outputs": [], + "source": [ + "# Save text to a selected location\n", + "# This function will save the generated text to a specified file or the current directory if no file\n", + "def save_text_to_selected_location(text_content):\n", + " if not text_content.strip():\n", + " return \"No content to save\"\n", + "\n", + " save_path = \"output.txt\"\n", + "\n", + " # If no file is selected, save to current directory\n", + " try:\n", + " with open(save_path, 'w', encoding='utf-8') as f:\n", + " f.write(text_content)\n", + " return f\"Successfully saved to: {save_path}\"\n", + " except Exception as e:\n", + " return f\"Error saving file: {str(e)}\"\n", + " \n", + "# Set up event handlers\n", + "def generate_response(system_input, prompt, max_tokens, temperature, model_name):\n", + " if system_input == \"Documentation\":\n", + " system_prompt = \"\"\"You are an experienced coding assistant. You will identify the programming language used in a provided code snippet and generate documentation for the code. \n", + " Ensure generally acceptable documentation standards are followed. Also generate short inline comments where applicable to explain complicated code. Respond ONLY with the updated code \n", + " with documentation and comments, do not include any other preamble or explanation.\"\"\"\n", + " elif system_input == \"Test Code Generation\":\n", + " system_prompt = \"\"\"You are an experienced coding assistant. You will identify the programming language used in a provided code function and generate test code for it. \" \\\n", + " \"The code should test against normal and edge cases, and ensure proper error handling:\"\"\"\n", + " messages=[{\"role\": \"system\", \"content\": system_prompt}, {\"role\": \"user\", \"content\": f\"This is the code to process: ```\\n{prompt}\\n```\"}]\n", + " try:\n", + " acumulated_response = \"\"\n", + " for chunk in invoke_model(model_name=model_name, prompt=messages, max_tokens=max_tokens, temperature=temperature):\n", + " acumulated_response += chunk\n", + " yield acumulated_response\n", + " except Exception as e:\n", + " return f\"Error: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a06d6af3", + "metadata": {}, + "outputs": [], + "source": [ + "with gr.Blocks() as ui:\n", + " gr.Markdown(\"# Coding Assistant\\n Choose from the available models to generate responses. Choose from either Documentation generation, or Test Code generation.\")\n", + " with gr.Row():\n", + " system_input = gr.Dropdown(label=\"Task Type\", choices=[\"Documentation\", \"Test Code Generation\"], value=\"Documentation\", interactive=True, visible=True)\n", + " with gr.Row():\n", + " prompt_input= gr.Textbox(label=\"Enter your prompt\", placeholder=\"Type your prompt here...\", lines=4)\n", + " response_output = gr.Textbox(label=\"Model Response\", lines=10, interactive=False)\n", + " with gr.Row():\n", + " max_tokens_input = gr.Slider(minimum=1, maximum=4096, value=1000, step=1, label=\"Max Tokens\")\n", + " temperature_input = gr.Slider(minimum=0.0, maximum=1.0, value=0.7, step=0.05, label=\"Temperature\")\n", + " model_selector = gr.Dropdown(\n", + " label=\"Select Model\", \n", + " choices=model_choices, \n", + " value=LLAMA_MODEL, \n", + " interactive=True\n", + " )\n", + " with gr.Row():\n", + " generate_button = gr.Button(\"Generate Response\", visible=True)\n", + " download_button = gr.Button(\"Download Response\", visible=True)\n", + " \n", + " generate_button.click(\n", + " fn=generate_response,\n", + " inputs=[system_input, prompt_input, max_tokens_input, temperature_input, model_selector],\n", + " outputs=response_output\n", + " )\n", + " download_button.click(\n", + " fn=save_text_to_selected_location,\n", + " inputs=[response_output],\n", + " outputs=None\n", + " )\n", + "\n", + "# Launch the UI\n", + "ui.launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 1faa95ca1504545797fd0933c8bd6c47c8ddc4ff Mon Sep 17 00:00:00 2001 From: Muhammad Ijaz Date: Tue, 22 Jul 2025 17:10:46 +0500 Subject: [PATCH 030/176] Add creating a RAG database using OCR by Muhammad (cleared output), only the file has been added --- .../RAG-using-OCR.ipynb | 229 ++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 week5/community-contributions/RAG-using-OCR.ipynb diff --git a/week5/community-contributions/RAG-using-OCR.ipynb b/week5/community-contributions/RAG-using-OCR.ipynb new file mode 100644 index 0000000..5f6e4d6 --- /dev/null +++ b/week5/community-contributions/RAG-using-OCR.ipynb @@ -0,0 +1,229 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Just before starting \n", + "\n", + "## Issues and Considerations\n", + "\n", + "This notebook requires a few installation to run. First is tesseract:\n", + "\n", + "For windows: https://stackoverflow.com/questions/46140485/tesseract-installation-in-windows\n", + "\n", + "For Linux: run on the cli \"sudo apt-get install tesseract-ocr\"\n", + "\n", + "For Mac: https://www.oreilly.com/library/view/building-computer-vision/9781838644673/95de5b35-436b-4668-8ca2-44970a6e2924.xhtml\n", + "\n", + "\n", + "Next install pytesseract in your environment\n", + "\n", + "For uv: uv pip install pytesseract\n", + "\n", + "For pip install: pip install pytesseract\n", + "\n", + "\n", + "You would require an OpenAI API key and Pinecone API key in your .env file\n" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [], + "source": [ + "# Install LangChain Unstructured (which requires unstructured under the hood)\n", + "\n", + "from langchain.embeddings.openai import OpenAIEmbeddings\n", + "from langchain.vectorstores import Pinecone\n", + "import getpass\n", + "from pinecone import Pinecone\n", + "import os\n", + "from pinecone import ServerlessSpec\n", + "from langchain_pinecone import PineconeVectorStore\n", + "from unstructured.partition.pdf import partition_pdf\n", + "import glob" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize embeddings and Pinecone vector store\n", + "embeddings = OpenAIEmbeddings() #" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Pinecone client\n", + "if not os.getenv(\"PINECONE_API_KEY\"):\n", + " os.environ[\"PINECONE_API_KEY\"] = getpass.getpass(\"Enter your Pinecone API key: \")\n", + "pinecone_api_key = os.environ.get(\"PINECONE_API_KEY\")\n", + "pc = Pinecone(api_key=pinecone_api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [], + "source": [ + "# Index Creation and its testing \n", + "index_name = \"lahore-cases\" # Replace the name with anything you like \n", + "if not pc.has_index(index_name):\n", + " pc.create_index(\n", + " name=index_name,\n", + " dimension=1536,\n", + " metric=\"cosine\",\n", + " spec=ServerlessSpec(cloud=\"aws\", region=\"us-east-1\"),\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [], + "source": [ + "# vector store\n", + "index = pc.Index(index_name)\n", + "vector_store = PineconeVectorStore(index=index, embedding=embeddings)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "files = glob.glob(pathname='./**/*.pdf',recursive=True) # I have set recursive = True so that we can check subdirectories too.\n", + "print(len(files)) # confirm that you have all of the pdfs here with the correct path" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [], + "source": [ + "chunks = [] # The array to store the sections in \n", + "section_content = \"\"\n", + "index = 1\n", + "for file_path in files:\n", + " print(f\"File Number {index} completed:\",file_path) # To keep track of files\n", + " index+=1\n", + " elements = partition_pdf(file_path, languages=[\"eng\"],strategy=\"fast\")\n", + " for element in elements:\n", + " if element.category == 'NarrativeText': # meaning that it is simmple text \n", + " section_content+=element.text # Then append it to the already going section content\n", + " elif element.category==\"ListItem\":\n", + " chunks.append({\"page_content\":section_content,\"metadata\":element.metadata})\n", + " section_content=\"\" # Because a new sectionn has started\n", + " section_content += element.text # The string should start with the title of the text\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "len(set([chunk['metadata'].filename for chunk in chunks])) # Check if all of the completed files are here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chunks # How each chunk looks like" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.documents import Document\n", + "# How pinecone expects each chunk to be\n", + "docs = [Document(page_content=chunk['page_content'],metadata={\"source\":chunk['metadata'].filename}) for chunk in chunks]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for doc in docs:\n", + " print(doc.page_content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Now add all of the docs in the pinceone namespace\n", + "from uuid import uuid4\n", + "uuids = [str(uuid4()) for _ in range(len(docs))]\n", + "batch_size = 200\n", + "for i in range(0, len(docs), batch_size):\n", + " print(\"Current Batch Index is:\",i)\n", + " batch = docs[i:i+batch_size]\n", + " batch_ids = uuids[i:i+batch_size]\n", + " vector_store.add_documents(batch,ids=batch_ids)" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [], + "source": [ + "res = vector_store.similarity_search(query=\"Which act contains the words 'nothing from this act can be removed from the railways ..\",k=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "res" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From fc5f8a31c7f718cd32e1756a7d0b6eae9c507067 Mon Sep 17 00:00:00 2001 From: Muhammad Ijaz Date: Tue, 22 Jul 2025 17:17:35 +0500 Subject: [PATCH 031/176] Add RAG implementation using OCR, (cleared outputs) --- .../{RAG-using-OCR.ipynb => Pinecone-RAG-using-OCR.ipynb} | 4 ++++ 1 file changed, 4 insertions(+) rename week5/community-contributions/{RAG-using-OCR.ipynb => Pinecone-RAG-using-OCR.ipynb} (96%) diff --git a/week5/community-contributions/RAG-using-OCR.ipynb b/week5/community-contributions/Pinecone-RAG-using-OCR.ipynb similarity index 96% rename from week5/community-contributions/RAG-using-OCR.ipynb rename to week5/community-contributions/Pinecone-RAG-using-OCR.ipynb index 5f6e4d6..e5362ec 100644 --- a/week5/community-contributions/RAG-using-OCR.ipynb +++ b/week5/community-contributions/Pinecone-RAG-using-OCR.ipynb @@ -4,8 +4,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "\n", + "\n", "# Just before starting \n", "\n", + "You can check completely explained working here: https://medium.com/@muhammad.bese23seecs/building-a-rag-powered-pinecone-database-using-ocr-a-practical-guide-with-pakistani-law-d83e869e1458\n", + "\n", "## Issues and Considerations\n", "\n", "This notebook requires a few installation to run. First is tesseract:\n", From c397859e833cfe6614695657d2b61afec22731be Mon Sep 17 00:00:00 2001 From: Achal Shah Date: Wed, 23 Jul 2025 14:56:46 +0530 Subject: [PATCH 032/176] Week 1 day5 exercise --- .../day5-exercise.ipynb | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 week1/community-contributions/day5-exercise.ipynb diff --git a/week1/community-contributions/day5-exercise.ipynb b/week1/community-contributions/day5-exercise.ipynb new file mode 100644 index 0000000..5f3a53e --- /dev/null +++ b/week1/community-contributions/day5-exercise.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "question = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80d3b735-02a2-4d33-8773-05fc3d5934ef", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt=\"You are a helpful technical tutor who answers questions about python code, software engineering, data science and LLMs\"\n", + "user_prompt=\"Please give a detailed explanation to the following question: \" + question" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85fe8d74-762e-4fed-b326-c9a17de9d485", + "metadata": {}, + "outputs": [], + "source": [ + "# messages\n", + "\n", + "messages=[\n", + " {\"role\":\"system\",\"content\":system_prompt},\n", + " {\"role\":\"user\",\"content\":user_prompt}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + "response = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "response_llama = ollama.chat(model=MODEL_LLAMA, messages=messages)\n", + "result = response_llama['message']['content']\n", + "\n", + "display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0faaa38e-82de-473c-a5f4-1b378b08469f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 34661108aa3441b0dcd0efa1c4e4c79b147e4f2d Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 23 Jul 2025 12:46:58 +0100 Subject: [PATCH 033/176] Added AI-powered synthetic dataset generator demo --- .../synthetic-dataset-generator/README.md | 37 + .../synthgen.ipynb | 4814 +++++++++++++++++ 2 files changed, 4851 insertions(+) create mode 100644 community-contributions/synthetic-dataset-generator/README.md create mode 100644 community-contributions/synthetic-dataset-generator/synthgen.ipynb diff --git a/community-contributions/synthetic-dataset-generator/README.md b/community-contributions/synthetic-dataset-generator/README.md new file mode 100644 index 0000000..4148810 --- /dev/null +++ b/community-contributions/synthetic-dataset-generator/README.md @@ -0,0 +1,37 @@ +# LLM-Powered Dataset Synthesizer: LLaMA 3 + Gradio Demo + +This interactive demo showcases a synthetic dataset generation pipeline powered by Meta's LLaMA 3.1 8B-Instruct model, running in 4-bit quantized mode. Users can input natural language prompts describing the structure and logic of a desired dataset, and the model will generate tabular data accordingly. + +## ✨ Description + +Modern LLMs are capable of reasoning over structured data formats and generating realistic, constrained datasets. This demo leverages the LLaMA 3.1 instruct model, combined with prompt engineering, to generate high-quality synthetic tabular data from plain-language descriptions. + +Key components: +- **LLaMA 3.1 8B-Instruct** via Hugging Face Transformers +- **4-bit quantized loading** with `bitsandbytes` for memory efficiency +- **Custom prompt framework** for schema + value constraints +- **Interactive interface** built with Gradio for user-friendly data generation + +## šŸš€ Functionality + +With this tool, you can: +- Generate synthetic datasets by describing the column names, data types, value logic, and number of rows +- Apply constraints based on age, gender, matching conditions, and more (e.g., ā€œfemales over 40; males under 40ā€) +- Preview the raw model output or extract structured JSON/tabular results +- Interactively explore and copy generated datasets from the Gradio UI + +## šŸ› ļø Under the Hood + +- The model prompt template includes both a **system message** and user instruction +- Output is parsed to extract valid JSON objects +- The generated data is displayed in the Gradio interface and downloadable as CSV + +## šŸ“¦ Requirements + +- Python (Colab recommended) +- `transformers`, `bitsandbytes`, `accelerate`, `gradio`, `torch` +- Hugging Face access token with permission to load LLaMA 3.1 + +--- + +Ready to generate smart synthetic datasets with just a sentence? Try it! diff --git a/community-contributions/synthetic-dataset-generator/synthgen.ipynb b/community-contributions/synthetic-dataset-generator/synthgen.ipynb new file mode 100644 index 0000000..872e368 --- /dev/null +++ b/community-contributions/synthetic-dataset-generator/synthgen.ipynb @@ -0,0 +1,4814 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "953b642e", + "metadata": {}, + "source": [ + "# SynthGen: an LLM-Powered Dataset Synthesizer\n", + "> ⚔ Powered by LLaMa 3 from HuggingFace and an intuitive Gradio UI.\n", + "\n", + "This notebook demonstrates how to generate realistic, structured tabular data using natural language prompts powered by the Meta-LLaMA-3.1 8B-Instruct model. By specifying column names, value types, and logical constraints in plain English, users can produce tailored synthetic datasets interactively via a Gradio interface.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "a8a50195", + "metadata": {}, + "source": [ + "### 1. Installing Required Packages" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d7817f1", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0d7817f1", + "outputId": "8ae1c98c-c3da-44de-a908-441cf45c5ee8" + }, + "outputs": [], + "source": [ + "!pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "!pip install -q requests bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0" + ] + }, + { + "cell_type": "markdown", + "id": "b11fc9c1", + "metadata": {}, + "source": [ + "## 2. Importing Libraries and HF Setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1c323f2", + "metadata": { + "id": "c1c323f2" + }, + "outputs": [], + "source": [ + "import os\n", + "from IPython.display import Markdown, display, update_display\n", + "\n", + "import gradio as gr\n", + "import pandas as pd\n", + "\n", + "from google.colab import userdata\n", + "from huggingface_hub import login\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig\n", + "import torch\n", + "import gc\n", + "import json\n", + "import re\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbfbb506", + "metadata": { + "id": "cbfbb506" + }, + "outputs": [], + "source": [ + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "koICwnTwQMVP", + "metadata": { + "id": "koICwnTwQMVP" + }, + "outputs": [], + "source": [ + "# We are using the Meta-Llama-3.1-8B-Instruct model. Feel free to change this to any other model you prefer, \n", + "# by adjusting the model variant accordingly, and ensuring the template is compatible.\n", + "model_variant = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"" + ] + }, + { + "cell_type": "markdown", + "id": "a817a180", + "metadata": {}, + "source": [ + "### 3. Loading the LLaMA 3.1 Model (Quantized)\n", + "Depending on the model, this may take a few." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "JbZP17wkSdW0", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 456, + "referenced_widgets": [ + "9dde77220ce04b80ac2b999d9304ac61", + "3562239e91694d618538fabbf55bdc7e", + "90d6add2cac446958326cb3cb4defc35", + "36897c09ed284e9ebad8b610186c5c2f", + "19f90c9b7f6b4fb4b7e4db0fda3697e6", + "037a38e5d42b4643a40e125d1ca7aa9d", + "114ae2bee64b4ca09b0f06e8d7f154c7", + "4e0a5f3cf25b4d4bb4248f3a686a3b2b", + "3d71197f73b540cc8a0702165b336ee6", + "4ace0ac8c70b43f9b524e82b7102b492", + "6ee18cbecc5c446782764a7a7a2093ed", + "ea8987a8a81a4c1ca33ba1f6d35eabf7", + "9181116e0dab421e8538c3b5e6d78a63", + "06fc98bc230248618f718cc789860551", + "b7f4683f24f6497084de01fc9dcb7b4c", + "216a21cb431c4efcb25118d60ce55382", + "3d3301ac71ed4e988deeafb5b29b1e7e", + "4ee7c6a29caa45589987d7da4fcebca2", + "cb53de4aa61843b0a75ead30dfece607", + "0ca526d86ebb433095f68176806c4dd9", + "6f64c037d228441489da9729d0eb45c0", + "092185914174457cb395e16f5dfd4774", + "3752691ba21845b38cefd4e26d88e285", + "c9f51294dfa046db9ec6d89a3e2d8dd4", + "440508c6e1f44788aa8317b07619ad6a", + "77e2f21d581c4779856b1cca34a61c87", + "22683400287c4dab86cb868a40f3ebd2", + "f451e2532e5241448a85daefb01822e2", + "f03f977f28364ec18ce1659c76aa82ba", + "97f18919e94e4f0281c693d1c748e7c7", + "a602bd2f6c3041d28324656a52d2527f", + "ee2db85a296d4a9bb6895c8438b4ef21", + "530fe1f6d93d49749a82ea977673260f", + "214b4bb379564949a580f2169663d69a", + "d2b3737cd56941e79b22af8689afddbf", + "399b0e04754c4b88b01ac908bd17c128", + "3d536c5e0d9746b0ac7ba908908e6c46", + "4e8685101b26483685c9dd822b065d3e", + "22f1bca162774d1695505997d0b97bc6", + "5f66742ac0ee4404959a83b4362aeb42", + "6cfbb81314f8461fa098d86ff49516d3", + "b870a05e12784e81aadf2e804cefe916", + "baa7428cdefa42e6bb894448a043b41e", + "289470951d374d18948c3e43ec2282df", + "86c78bcedbfd496a85a5d5ddb9c1df85", + "0545d6dd41964f799d689964b3e2a357", + "22ae6e2ec2474ce0b6b0bf6ca3039070", + "c311192f10264e399bc2e77b1aabb7d2", + "f39be376072c43f7bc2dd1aff4eeb777", + "6e0a43d7cf314faba17bd88e1e37f021", + "9ca5e65c356543df95542ddf1cb87ab9", + "a07eb638da684d70a5f7760a5cd030da", + "a8e91c03e59940c9a47f429da4488f53", + "b12dc89359524e9e8edc2b90d68d6076", + "fe2dd51da47e4130a3d5713037784787", + "d0306eea21a045f7a169d64d615bbf6b", + "f435e52db79b4317b55f13b8c98fe766", + "53227771ba154abc9a682e9a1e18ede9", + "e23aba3a1ac4420da2b0570a0dea2011", + "7e42a603efbe4d4bacb61114ca8bfdaf", + "c264cb454c7d43ccb2dd6045732f0317", + "87ba3449a7ce4bda8730f2d7c26b5f3f", + "faa55a15d9214cfb966a96f33a96b31d", + "8a29a11e60b24404a6b53573f81085ce", + "f7e02670ead24d12b09aa36cdf1ad98f", + "ca359ec98ebc49f8b121dec67853f797", + "38566e74ed4143408584dce8446bd70d", + "d68f54f5cee24037b5691cb3735e5248", + "8e2f22b60ff34706bd0503fc0b10cf24", + "15f310a76aea48b7a6b5efc87558bb90", + "e775d3ddb0f54370a39b806024a7102c", + "54849eb44d73489bb7835b1f98e81995", + "1ed77b06007b426b8944b2748431402d", + "d9c4f5565a2f4faf9598c4377fc975ac", + "9626d058aa584a9e829d7793676eb8cd", + "0b0793726f2740be8e6c1b7452bb2c14", + "83cdabe816e44bc6964ba96dea753e15", + "4a669b8562a449afb6f0a085d258040a", + "54d9fd29bff64359b5cc6d41551dec43", + "1aac3f0e39e94eb18d5544ababc48377", + "a71122fe861e4a819c4d79b4ba47f361", + "5f8d48cfdadc4791aff0a525ae217c34", + "081e77e2c61f49babc1f48da215386d8", + "5964a39c2f4b46ea9f2a24c607a33160", + "600eee97f1fb478b919d5755baac574d", + "56f3290340934a28bc43e73fe5e8d050", + "f08d87275f5243e48e5277291133655c", + "326286fc11c84d2092a88555ef8a8aed", + "5e74177710b1492292796c2bf90ee8e4", + "c56d8b6ad9d64050ac6f26b33d142db8", + "cdf784f05efb411a927d5ad1ac363046", + "20341d8846494bc7a0d3bff2620534ac", + "7031154b6c514410aa517a287d0bb90f", + "21b3c6aceb5741dd847eed7955c47f17", + "b0fece23eefb4f069ffd2282bf05aa50", + "52ba48ea1dfc4266a57b8b70aefdc44c", + "aa52d70d64b7456eb99cc9386a6b773b", + "31a933bedaad4d5489a4983bd6ca9e6f", + "6e115f191b664f59b8144719ac6d6d13", + "03fd43b58e74455992d71a1625d368ad", + "bd0133b89f784f16ab20ff28574d537b", + "2ad775a43a284f489a7f7fef1c20dbb9", + "b1a13112ead34742835e635910820dd0", + "4697e1265559409f82f463f339a5f62c", + "31f68d4b6f624040899436006275613d", + "8e93a17e01b64ff89f3220565ada3082", + "79dbb408b3cf498895c8b066dd04b1c5", + "924bb29fc7134a0b98187770d0943d3d", + "161f9b5e075b404c871a58fbd560d63d", + "2dbcf9f4ebb54761802ef3bda76f2294", + "c1d3120bad3d456285a0807445d5e4ee", + "df49ac181ec244f5bebe6680408fd7ee", + "7836c3b013ec4f67a2b09670878581ba", + "f3467a09b50a4b429ff75009a26d992b", + "b9d1f51b79d34264965e512bfc0253b3", + "06722a988e1a4357a3841723aa66dfa8", + "46f37131f36a413badffb0c362ab8b5d", + "0e1f48ecaf6e4184953ec773bed24253", + "38ee56d491c74186a2146cac776a631b", + "e59cfa5ca5b240159517ccc2a594fa50", + "e18941e122eb4332b9e5fb1c3a22b9ed", + "2711dbd8740b453c849026f3d83f47af", + "0d8f09aba9514921baba774dcc1dd088", + "4a10cac721514d30b6c10978d33c6e72", + "f9d1ba01c0054ae3917a78e420174f2e", + "e95f552f62344e52aa2494fbaa0e1f16", + "85c5b698708b47319067527bda04445f", + "2bec34b01cfb452787013ab7bcef1be3", + "2c7826be2c25431081eb05ee2d7d4401", + "5c2b5412ceb54502b5018f2b756aa291", + "001b683aec074eb98b498f0dec667b7c", + "eb0e9fb2bf8447748a936749dceff1b9" + ] + }, + "id": "JbZP17wkSdW0", + "outputId": "b19f6cc6-872d-42ce-8c08-f750052ea7e6" + }, + "outputs": [], + "source": [ + "quant_config = BitsAndBytesConfig(\n", + "load_in_4bit=True,\n", + "bnb_4bit_use_double_quant=True,\n", + "bnb_4bit_compute_dtype=torch.bfloat16,\n", + "bnb_4bit_quant_type=\"nf4\"\n", + ")\n", + "\n", + "model = AutoModelForCausalLM.from_pretrained(\n", + " model_variant,\n", + " quantization_config=quant_config,\n", + " device_map=\"auto\",\n", + " trust_remote_code=True,\n", + " use_auth_token=True\n", + ")\n", + "\n", + "\n", + "tokenizer = AutoTokenizer.from_pretrained(model_variant)\n", + "tokenizer.pad_token = tokenizer.eos_token" + ] + }, + { + "cell_type": "markdown", + "id": "1877a8cb", + "metadata": {}, + "source": [ + "### 4. Prompt Construction and Inference\n", + "\n", + "In this section, we've crafted a flexible prompt template designed to guide the LLM toward generating clean, structured output that Gradio can easily process. The goal is to balance natural language flexibility with enough constraints to encourage valid, consistent, and readable tabular data.\n", + "\n", + "That said, LLMs can still be unpredictable or inconsistent, especially with loosely defined instructions. Feel free to adjust the prompt logic or system message to better suit your use case or to improve output reliability.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "935477d2", + "metadata": { + "id": "935477d2" + }, + "outputs": [], + "source": [ + "\n", + "def build_system_query(user_instructions: str = '', include_system_prompt: bool = True):\n", + " messages = [\n", + " {\n", + " \"role\": \"system\",\n", + " \"content\": (\n", + " \"You are a dataset generation assistant. The user will provide prompts containing column names, value types, number of rows, and other parameters and constraints.\\n\"\n", + " \"Your task is to generate synthetic datasets based on the user's request.\\n\\n\"\n", + " \"Always respond with a valid JSON object (dictionary), where:\\n\"\n", + " \"- Each key is a column name (formatted for pandas).\\n\"\n", + " \"- Each value is a list of values for that column.\\n\\n\"\n", + " \"Example format:\\n\"\n", + " \"{\\n\"\n", + " \" \\\"first_name\\\": [\\\"Alex\\\", \\\"Anthony\\\", \\\"Ava\\\", \\\"Amber\\\", \\\"Annabelle\\\"],\\n\"\n", + " \" \\\"age\\\": [23, 27, 35, 29, 31]\\n\"\n", + " \"}\\n\\n\"\n", + " \"If a value type or constraint is missing or unclear, make a reasonable assumption based on the column name and context.\\n\"\n", + " \"Do not include any explanations, comments, or extra text — only the raw JSON.\\n\"\n", + " \"Ensure the response is compact, well-formatted, and syntactically valid for parsing by JSON tools or conversion into a pandas DataFrame.\\n\"\n", + " \"Convert column names to pandas-compatible formats when needed (e.g., replace spaces with underscores, remove special characters, lowercase).\\n\"\n", + " )\n", + "\n", + " },\n", + " {\"role\": \"user\", \"content\": user_instructions}\n", + " ]\n", + "\n", + " return messages if include_system_prompt else messages[1:]" + ] + }, + { + "cell_type": "markdown", + "id": "83c6b3c2", + "metadata": {}, + "source": [ + "### 4.5 Let's Test It! \n", + "*(The following query intentionally includes some typos)*" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "tr29FmHQTkzy", + "metadata": { + "id": "tr29FmHQTkzy" + }, + "outputs": [], + "source": [ + "user_query = \"Generate 3 columns, firstNAme, last nam, aGe, 10 rows. Male names should correspond to an age range between 30 and 50.\"\n", + "user_query += \"Female names should be between 34 and 40. Make sure they match row-wise. \\n\"\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "SWAGfc39RxWr", + "metadata": { + "id": "SWAGfc39RxWr" + }, + "outputs": [], + "source": [ + "messages = build_system_query(user_instructions=user_query, include_system_prompt=True)\n", + "inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + "\n", + "outputs = model.generate(\n", + " inputs,\n", + " max_new_tokens=800,\n", + " do_sample=True,\n", + " temperature=0.7,\n", + " top_p=0.95,\n", + " pad_token_id=tokenizer.eos_token_id,\n", + " eos_token_id=tokenizer.eos_token_id # Optional, to reinforce stopping\n", + ")\n", + "decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "JgAGOumVHw8W", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JgAGOumVHw8W", + "outputId": "b4853467-d868-4636-a80e-0c39260c4d93" + }, + "outputs": [], + "source": [ + "# Let's first print the full output to see what we got\n", + "print(decoded)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "gpu0Zji2DtrV", + "metadata": { + "id": "gpu0Zji2DtrV" + }, + "outputs": [], + "source": [ + "# The following function attempts to extract a valid JSON response from the model's output.\n", + "# It searches for the last valid JSON object in the text, which is useful if the model\n", + "# generates additional text or explanations that are not part of the JSON response.\n", + "def extract_response(text: str):\n", + " decoder = json.JSONDecoder()\n", + " starts = [m.start() for m in re.finditer(r'{', text)]\n", + " for pos in reversed(starts): # Start from last candidate\n", + " try:\n", + " parsed, _ = decoder.raw_decode(text[pos:])\n", + " if isinstance(parsed, dict):\n", + " return parsed\n", + " except json.JSONDecodeError:\n", + " continue\n", + " return None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "MwofOSXTqWA-", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "id": "MwofOSXTqWA-", + "outputId": "9bc87b6e-4aca-44b6-956b-49ef4830d1d1" + }, + "outputs": [], + "source": [ + "# Convert the extracted JSON response into a pandas DataFrame\n", + "if decoded:\n", + " pd.DataFrame(extract_response(decoded))" + ] + }, + { + "cell_type": "markdown", + "id": "3e4e5fbe", + "metadata": {}, + "source": [ + "### 5. Interactive UI with Gradio" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9448bc9a", + "metadata": { + "id": "9448bc9a" + }, + "outputs": [], + "source": [ + "# The following functions are used to handle the Gradio interface and dataset management.\n", + "\n", + "\n", + "def remove_items(selected_features, existing_dataframe: pd.DataFrame):\n", + " \"\"\"Remove selected features from the existing DataFrame.\"\"\"\n", + " print(\"Before removal:\", existing_dataframe)\n", + "\n", + " if isinstance(selected_features, str):\n", + " selected_features = [selected_features]\n", + "\n", + " edited_df = existing_dataframe.copy()\n", + "\n", + " if selected_features:\n", + " edited_df.drop(columns=selected_features, axis=1, inplace=True)\n", + "\n", + " # Force clean index/column structure\n", + " edited_df = edited_df.copy() # Ensures no hidden pandas artifacts\n", + "\n", + " updated_features_list = list(edited_df.columns)\n", + "\n", + " print(\"After removal:\", edited_df)\n", + " print('shape', edited_df.shape[0])\n", + " return (\n", + " gr.update(choices=updated_features_list, value=[]),\n", + " edited_df,\n", + " gr.update(value=edited_df, visible=not edited_df.empty),\n", + " gr.update(interactive=edited_df.empty)\n", + " )\n", + "\n", + "\n", + "def generate_features(n_rows: str, instructions: str, existing_dataframe: pd.DataFrame):\n", + " \"\"\"Generate new features based on user instructions and existing data.\"\"\"\n", + " has_valid_rows = n_rows.isnumeric() and int(n_rows) >= 1\n", + " if has_valid_rows and instructions:\n", + " try:\n", + " # Prepare prompt for the model\n", + " user_query = instructions.strip() + f\"\\nGenerate {n_rows} rows.\"\n", + " messages = build_system_query(user_instructions=user_query, include_system_prompt=True)\n", + "\n", + " # Tokenize and generate\n", + " inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + " outputs = model.generate(\n", + " inputs,\n", + " max_new_tokens=800,\n", + " do_sample=True,\n", + " temperature=0.7,\n", + " top_p=0.95,\n", + " pad_token_id=tokenizer.eos_token_id,\n", + " eos_token_id=tokenizer.eos_token_id,\n", + " )\n", + "\n", + " # Decode and parse model output\n", + " decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)\n", + " new_df = pd.DataFrame(extract_response(decoded.split(\"assistant\")[-1]))\n", + "\n", + " # Combine with existing data\n", + " if len(existing_dataframe) == 0:\n", + " updated_df = new_df\n", + " elif len(existing_dataframe) == len(new_df):\n", + " updated_df = pd.concat([existing_dataframe.reset_index(drop=True),\n", + " new_df.reset_index(drop=True)], axis=1)\n", + " else:\n", + " raise ValueError(\"Row count mismatch between existing and new feature data.\")\n", + "\n", + " # UI component updates\n", + " rows_component_update = gr.update(interactive=False)\n", + " table_view_update = gr.update(visible=True, value=updated_df, headers=list(updated_df.columns))\n", + " feature_display_update = gr.update(choices=list(updated_df.columns))\n", + "\n", + " return rows_component_update, table_view_update, feature_display_update, updated_df, ''\n", + "\n", + " except Exception as e:\n", + " print(\"Error generating feature:\", e)\n", + "\n", + " # Return empty updates if input is invalid\n", + " return (gr.update(),) * 5\n", + "\n", + "def on_selected_feture(selected_items):\n", + " \"\"\"Update the UI based on selected features.\"\"\"\n", + " return gr.update(interactive=not selected_items==[])\n", + "\n", + "def export_dataset(dataframe: pd.DataFrame):\n", + " \"\"\"Export the DataFrame to a CSV file.\"\"\"\n", + " try:\n", + " n = 0\n", + " while True:\n", + " if n == 0:\n", + " filename = \"dataset.csv\"\n", + " else:\n", + " filename = f\"dataset{n}.csv\"\n", + " if not os.path.exists(filename):\n", + " break\n", + " n += 1\n", + "\n", + " dataframe.to_csv(filename, index=False)\n", + " except Exception as e:\n", + " print(\"Error exporting dataset:\", e)\n", + "\n", + "\n", + "\n", + "def on_table_change(changed_data):\n", + " \"\"\"Handle changes in the table and return a DataFrame.\"\"\"\n", + " print('on table change')\n", + " df = pd.DataFrame(changed_data)\n", + " return df if not df.empty else pd.DataFrame(), df.shape[0] if df.shape[0] > 0 else None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d7855f1", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 682 + }, + "id": "8d7855f1", + "outputId": "a6517655-4861-431d-fa13-fa1f93bce503" + }, + "outputs": [], + "source": [ + "\n", + "# UI layout\n", + "with gr.Blocks() as demo:\n", + " feature_state = gr.State(pd.DataFrame())\n", + "\n", + " with gr.Row():\n", + " # Left Column: Inputs and Controls\n", + " with gr.Column(scale=0):\n", + " with gr.Group():\n", + " gr.Markdown(\"### 🧾 Current Feature List\")\n", + " feature_display = gr.CheckboxGroup(\n", + " #choices=feature_dictionary,\n", + " label=\"Features\",\n", + " info=\"Select features to remove\"\n", + " )\n", + " with gr.Row(elem_classes=\"centered-button-row\"):\n", + " remove_btn = gr.Button(value=\"Remove Selected\", elem_classes=\"small-button\", interactive=False)\n", + "\n", + " # Add feature section\n", + " with gr.Group():\n", + " gr.Markdown(\"### āž• Add a New Feature\")\n", + " with gr.Row(equal_height=True):\n", + " n_rows = gr.Text(\n", + " label=\"Number of Rows\",\n", + " placeholder=\"e.g., 100\"\n", + " )\n", + "\n", + " instructions = gr.Text(\n", + " label=\"Instructions\",\n", + " placeholder=\"e.g., first names; starting with A or B. \\nAge, numeric; range 21–55, males should be between 30-40. Correlate rows\",\n", + " scale=1,\n", + " lines=4\n", + " )\n", + "\n", + " with gr.Row(elem_classes=\"centered-button-row\"):\n", + " add_btn = gr.Button(value=\"Add\", elem_classes=\"small-button\")\n", + "\n", + " # Dataset generation section\n", + " with gr.Group():\n", + " with gr.Row(elem_classes=\"centered-button-row\"):\n", + " export_btn = gr.Button(value=\"šŸ’¾ Export...\", elem_classes=\"small-button\")\n", + "\n", + " # Right Column: Dataset display\n", + " with gr.Column():\n", + " gr.Markdown(\"### šŸ“Š Generated Dataset\")\n", + " table_view = gr.Dataframe(\n", + " interactive=True,\n", + " visible=False,\n", + " label=\"Dataset\"\n", + " )\n", + "\n", + " feature_display.change(\n", + " fn=on_selected_feture,\n", + " inputs=[feature_display],\n", + " outputs=[remove_btn]\n", + " )\n", + "\n", + " export_btn.click(\n", + " fn=export_dataset,\n", + " inputs=[feature_state]\n", + " )\n", + "\n", + "\n", + " remove_btn.click(\n", + " fn=remove_items,\n", + " inputs=[feature_display, feature_state],\n", + " outputs=[feature_display, feature_state, table_view, n_rows]\n", + " )\n", + "\n", + " add_btn.click(\n", + " fn=generate_features,\n", + " inputs=[n_rows, instructions, feature_state],\n", + " outputs=[n_rows, table_view, feature_display, feature_state, instructions]\n", + " )\n", + "\n", + " table_view.change(\n", + " fn=on_table_change,\n", + " inputs=[table_view],\n", + " outputs=[feature_state, n_rows]\n", + " )\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "c5350c20", + "metadata": {}, + "source": [ + "### Let's test it!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c3bc056", + "metadata": { + "id": "1c3bc056" + }, + "outputs": [], + "source": [ + "demo.launch(debug=True) # Set debug=True to see detailed error messages in the console\n", + "# demo.launch(share=True) # Uncomment this line to share the app publicly" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "001b683aec074eb98b498f0dec667b7c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "037a38e5d42b4643a40e125d1ca7aa9d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "03fd43b58e74455992d71a1625d368ad": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_bd0133b89f784f16ab20ff28574d537b", + "IPY_MODEL_2ad775a43a284f489a7f7fef1c20dbb9", + "IPY_MODEL_b1a13112ead34742835e635910820dd0" + ], + "layout": "IPY_MODEL_4697e1265559409f82f463f339a5f62c" + } + }, + "0545d6dd41964f799d689964b3e2a357": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6e0a43d7cf314faba17bd88e1e37f021", + "placeholder": "​", + "style": "IPY_MODEL_9ca5e65c356543df95542ddf1cb87ab9", + "value": "model-00002-of-00004.safetensors: 100%" + } + }, + "06722a988e1a4357a3841723aa66dfa8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "06fc98bc230248618f718cc789860551": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cb53de4aa61843b0a75ead30dfece607", + "max": 23950, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0ca526d86ebb433095f68176806c4dd9", + "value": 23950 + } + }, + "081e77e2c61f49babc1f48da215386d8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "092185914174457cb395e16f5dfd4774": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0b0793726f2740be8e6c1b7452bb2c14": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0ca526d86ebb433095f68176806c4dd9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0d8f09aba9514921baba774dcc1dd088": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_85c5b698708b47319067527bda04445f", + "placeholder": "​", + "style": "IPY_MODEL_2bec34b01cfb452787013ab7bcef1be3", + "value": "special_tokens_map.json: 100%" + } + }, + "0e1f48ecaf6e4184953ec773bed24253": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "114ae2bee64b4ca09b0f06e8d7f154c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "15f310a76aea48b7a6b5efc87558bb90": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0b0793726f2740be8e6c1b7452bb2c14", + "placeholder": "​", + "style": "IPY_MODEL_83cdabe816e44bc6964ba96dea753e15", + "value": " 1.17G/1.17G [00:21<00:00, 111MB/s]" + } + }, + "161f9b5e075b404c871a58fbd560d63d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "19f90c9b7f6b4fb4b7e4db0fda3697e6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1aac3f0e39e94eb18d5544ababc48377": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_600eee97f1fb478b919d5755baac574d", + "max": 4, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_56f3290340934a28bc43e73fe5e8d050", + "value": 4 + } + }, + "1ed77b06007b426b8944b2748431402d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "20341d8846494bc7a0d3bff2620534ac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_31a933bedaad4d5489a4983bd6ca9e6f", + "placeholder": "​", + "style": "IPY_MODEL_6e115f191b664f59b8144719ac6d6d13", + "value": " 184/184 [00:00<00:00, 12.4kB/s]" + } + }, + "214b4bb379564949a580f2169663d69a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d2b3737cd56941e79b22af8689afddbf", + "IPY_MODEL_399b0e04754c4b88b01ac908bd17c128", + "IPY_MODEL_3d536c5e0d9746b0ac7ba908908e6c46" + ], + "layout": "IPY_MODEL_4e8685101b26483685c9dd822b065d3e" + } + }, + "216a21cb431c4efcb25118d60ce55382": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "21b3c6aceb5741dd847eed7955c47f17": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "22683400287c4dab86cb868a40f3ebd2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "22ae6e2ec2474ce0b6b0bf6ca3039070": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a07eb638da684d70a5f7760a5cd030da", + "max": 4999802720, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a8e91c03e59940c9a47f429da4488f53", + "value": 4999802720 + } + }, + "22f1bca162774d1695505997d0b97bc6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2711dbd8740b453c849026f3d83f47af": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0d8f09aba9514921baba774dcc1dd088", + "IPY_MODEL_4a10cac721514d30b6c10978d33c6e72", + "IPY_MODEL_f9d1ba01c0054ae3917a78e420174f2e" + ], + "layout": "IPY_MODEL_e95f552f62344e52aa2494fbaa0e1f16" + } + }, + "289470951d374d18948c3e43ec2282df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2ad775a43a284f489a7f7fef1c20dbb9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_79dbb408b3cf498895c8b066dd04b1c5", + "max": 55351, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_924bb29fc7134a0b98187770d0943d3d", + "value": 55351 + } + }, + "2bec34b01cfb452787013ab7bcef1be3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2c7826be2c25431081eb05ee2d7d4401": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2dbcf9f4ebb54761802ef3bda76f2294": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "31a933bedaad4d5489a4983bd6ca9e6f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "31f68d4b6f624040899436006275613d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "326286fc11c84d2092a88555ef8a8aed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3562239e91694d618538fabbf55bdc7e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_037a38e5d42b4643a40e125d1ca7aa9d", + "placeholder": "​", + "style": "IPY_MODEL_114ae2bee64b4ca09b0f06e8d7f154c7", + "value": "config.json: 100%" + } + }, + "36897c09ed284e9ebad8b610186c5c2f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4ace0ac8c70b43f9b524e82b7102b492", + "placeholder": "​", + "style": "IPY_MODEL_6ee18cbecc5c446782764a7a7a2093ed", + "value": " 855/855 [00:00<00:00, 35.6kB/s]" + } + }, + "3752691ba21845b38cefd4e26d88e285": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c9f51294dfa046db9ec6d89a3e2d8dd4", + "IPY_MODEL_440508c6e1f44788aa8317b07619ad6a", + "IPY_MODEL_77e2f21d581c4779856b1cca34a61c87" + ], + "layout": "IPY_MODEL_22683400287c4dab86cb868a40f3ebd2" + } + }, + "38566e74ed4143408584dce8446bd70d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d68f54f5cee24037b5691cb3735e5248", + "IPY_MODEL_8e2f22b60ff34706bd0503fc0b10cf24", + "IPY_MODEL_15f310a76aea48b7a6b5efc87558bb90" + ], + "layout": "IPY_MODEL_e775d3ddb0f54370a39b806024a7102c" + } + }, + "38ee56d491c74186a2146cac776a631b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "399b0e04754c4b88b01ac908bd17c128": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6cfbb81314f8461fa098d86ff49516d3", + "max": 4976698672, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b870a05e12784e81aadf2e804cefe916", + "value": 4976698672 + } + }, + "3d3301ac71ed4e988deeafb5b29b1e7e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3d536c5e0d9746b0ac7ba908908e6c46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_baa7428cdefa42e6bb894448a043b41e", + "placeholder": "​", + "style": "IPY_MODEL_289470951d374d18948c3e43ec2282df", + "value": " 4.98G/4.98G [01:33<00:00, 71.4MB/s]" + } + }, + "3d71197f73b540cc8a0702165b336ee6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "440508c6e1f44788aa8317b07619ad6a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_97f18919e94e4f0281c693d1c748e7c7", + "max": 4, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a602bd2f6c3041d28324656a52d2527f", + "value": 4 + } + }, + "4697e1265559409f82f463f339a5f62c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "46f37131f36a413badffb0c362ab8b5d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4a10cac721514d30b6c10978d33c6e72": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2c7826be2c25431081eb05ee2d7d4401", + "max": 296, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5c2b5412ceb54502b5018f2b756aa291", + "value": 296 + } + }, + "4a669b8562a449afb6f0a085d258040a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_54d9fd29bff64359b5cc6d41551dec43", + "IPY_MODEL_1aac3f0e39e94eb18d5544ababc48377", + "IPY_MODEL_a71122fe861e4a819c4d79b4ba47f361" + ], + "layout": "IPY_MODEL_5f8d48cfdadc4791aff0a525ae217c34" + } + }, + "4ace0ac8c70b43f9b524e82b7102b492": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4e0a5f3cf25b4d4bb4248f3a686a3b2b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4e8685101b26483685c9dd822b065d3e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4ee7c6a29caa45589987d7da4fcebca2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "52ba48ea1dfc4266a57b8b70aefdc44c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "530fe1f6d93d49749a82ea977673260f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "53227771ba154abc9a682e9a1e18ede9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_faa55a15d9214cfb966a96f33a96b31d", + "max": 4915916176, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8a29a11e60b24404a6b53573f81085ce", + "value": 4915916176 + } + }, + "54849eb44d73489bb7835b1f98e81995": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "54d9fd29bff64359b5cc6d41551dec43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_081e77e2c61f49babc1f48da215386d8", + "placeholder": "​", + "style": "IPY_MODEL_5964a39c2f4b46ea9f2a24c607a33160", + "value": "Loading checkpoint shards: 100%" + } + }, + "56f3290340934a28bc43e73fe5e8d050": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "5964a39c2f4b46ea9f2a24c607a33160": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5c2b5412ceb54502b5018f2b756aa291": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "5e74177710b1492292796c2bf90ee8e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c56d8b6ad9d64050ac6f26b33d142db8", + "IPY_MODEL_cdf784f05efb411a927d5ad1ac363046", + "IPY_MODEL_20341d8846494bc7a0d3bff2620534ac" + ], + "layout": "IPY_MODEL_7031154b6c514410aa517a287d0bb90f" + } + }, + "5f66742ac0ee4404959a83b4362aeb42": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5f8d48cfdadc4791aff0a525ae217c34": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "600eee97f1fb478b919d5755baac574d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6cfbb81314f8461fa098d86ff49516d3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6e0a43d7cf314faba17bd88e1e37f021": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6e115f191b664f59b8144719ac6d6d13": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6ee18cbecc5c446782764a7a7a2093ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6f64c037d228441489da9729d0eb45c0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7031154b6c514410aa517a287d0bb90f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "77e2f21d581c4779856b1cca34a61c87": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ee2db85a296d4a9bb6895c8438b4ef21", + "placeholder": "​", + "style": "IPY_MODEL_530fe1f6d93d49749a82ea977673260f", + "value": " 4/4 [10:24<00:00, 138.93s/it]" + } + }, + "7836c3b013ec4f67a2b09670878581ba": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0e1f48ecaf6e4184953ec773bed24253", + "max": 9085657, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_38ee56d491c74186a2146cac776a631b", + "value": 9085657 + } + }, + "79dbb408b3cf498895c8b066dd04b1c5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7e42a603efbe4d4bacb61114ca8bfdaf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "83cdabe816e44bc6964ba96dea753e15": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "85c5b698708b47319067527bda04445f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "86c78bcedbfd496a85a5d5ddb9c1df85": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0545d6dd41964f799d689964b3e2a357", + "IPY_MODEL_22ae6e2ec2474ce0b6b0bf6ca3039070", + "IPY_MODEL_c311192f10264e399bc2e77b1aabb7d2" + ], + "layout": "IPY_MODEL_f39be376072c43f7bc2dd1aff4eeb777" + } + }, + "87ba3449a7ce4bda8730f2d7c26b5f3f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8a29a11e60b24404a6b53573f81085ce": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8e2f22b60ff34706bd0503fc0b10cf24": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d9c4f5565a2f4faf9598c4377fc975ac", + "max": 1168138808, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9626d058aa584a9e829d7793676eb8cd", + "value": 1168138808 + } + }, + "8e93a17e01b64ff89f3220565ada3082": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "90d6add2cac446958326cb3cb4defc35": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4e0a5f3cf25b4d4bb4248f3a686a3b2b", + "max": 855, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3d71197f73b540cc8a0702165b336ee6", + "value": 855 + } + }, + "9181116e0dab421e8538c3b5e6d78a63": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3d3301ac71ed4e988deeafb5b29b1e7e", + "placeholder": "​", + "style": "IPY_MODEL_4ee7c6a29caa45589987d7da4fcebca2", + "value": "model.safetensors.index.json: 100%" + } + }, + "924bb29fc7134a0b98187770d0943d3d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "9626d058aa584a9e829d7793676eb8cd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "97f18919e94e4f0281c693d1c748e7c7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ca5e65c356543df95542ddf1cb87ab9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9dde77220ce04b80ac2b999d9304ac61": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_3562239e91694d618538fabbf55bdc7e", + "IPY_MODEL_90d6add2cac446958326cb3cb4defc35", + "IPY_MODEL_36897c09ed284e9ebad8b610186c5c2f" + ], + "layout": "IPY_MODEL_19f90c9b7f6b4fb4b7e4db0fda3697e6" + } + }, + "a07eb638da684d70a5f7760a5cd030da": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a602bd2f6c3041d28324656a52d2527f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a71122fe861e4a819c4d79b4ba47f361": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f08d87275f5243e48e5277291133655c", + "placeholder": "​", + "style": "IPY_MODEL_326286fc11c84d2092a88555ef8a8aed", + "value": " 4/4 [01:36<00:00, 20.71s/it]" + } + }, + "a8e91c03e59940c9a47f429da4488f53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "aa52d70d64b7456eb99cc9386a6b773b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b0fece23eefb4f069ffd2282bf05aa50": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b12dc89359524e9e8edc2b90d68d6076": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b1a13112ead34742835e635910820dd0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_161f9b5e075b404c871a58fbd560d63d", + "placeholder": "​", + "style": "IPY_MODEL_2dbcf9f4ebb54761802ef3bda76f2294", + "value": " 55.4k/55.4k [00:00<00:00, 5.22MB/s]" + } + }, + "b7f4683f24f6497084de01fc9dcb7b4c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6f64c037d228441489da9729d0eb45c0", + "placeholder": "​", + "style": "IPY_MODEL_092185914174457cb395e16f5dfd4774", + "value": " 23.9k/23.9k [00:00<00:00, 2.27MB/s]" + } + }, + "b870a05e12784e81aadf2e804cefe916": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b9d1f51b79d34264965e512bfc0253b3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "baa7428cdefa42e6bb894448a043b41e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bd0133b89f784f16ab20ff28574d537b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_31f68d4b6f624040899436006275613d", + "placeholder": "​", + "style": "IPY_MODEL_8e93a17e01b64ff89f3220565ada3082", + "value": "tokenizer_config.json: 100%" + } + }, + "c1d3120bad3d456285a0807445d5e4ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_df49ac181ec244f5bebe6680408fd7ee", + "IPY_MODEL_7836c3b013ec4f67a2b09670878581ba", + "IPY_MODEL_f3467a09b50a4b429ff75009a26d992b" + ], + "layout": "IPY_MODEL_b9d1f51b79d34264965e512bfc0253b3" + } + }, + "c264cb454c7d43ccb2dd6045732f0317": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c311192f10264e399bc2e77b1aabb7d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b12dc89359524e9e8edc2b90d68d6076", + "placeholder": "​", + "style": "IPY_MODEL_fe2dd51da47e4130a3d5713037784787", + "value": " 5.00G/5.00G [04:35<00:00, 15.9MB/s]" + } + }, + "c56d8b6ad9d64050ac6f26b33d142db8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_21b3c6aceb5741dd847eed7955c47f17", + "placeholder": "​", + "style": "IPY_MODEL_b0fece23eefb4f069ffd2282bf05aa50", + "value": "generation_config.json: 100%" + } + }, + "c9f51294dfa046db9ec6d89a3e2d8dd4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f451e2532e5241448a85daefb01822e2", + "placeholder": "​", + "style": "IPY_MODEL_f03f977f28364ec18ce1659c76aa82ba", + "value": "Downloading shards: 100%" + } + }, + "ca359ec98ebc49f8b121dec67853f797": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cb53de4aa61843b0a75ead30dfece607": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cdf784f05efb411a927d5ad1ac363046": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_52ba48ea1dfc4266a57b8b70aefdc44c", + "max": 184, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_aa52d70d64b7456eb99cc9386a6b773b", + "value": 184 + } + }, + "d0306eea21a045f7a169d64d615bbf6b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f435e52db79b4317b55f13b8c98fe766", + "IPY_MODEL_53227771ba154abc9a682e9a1e18ede9", + "IPY_MODEL_e23aba3a1ac4420da2b0570a0dea2011" + ], + "layout": "IPY_MODEL_7e42a603efbe4d4bacb61114ca8bfdaf" + } + }, + "d2b3737cd56941e79b22af8689afddbf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_22f1bca162774d1695505997d0b97bc6", + "placeholder": "​", + "style": "IPY_MODEL_5f66742ac0ee4404959a83b4362aeb42", + "value": "model-00001-of-00004.safetensors: 100%" + } + }, + "d68f54f5cee24037b5691cb3735e5248": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_54849eb44d73489bb7835b1f98e81995", + "placeholder": "​", + "style": "IPY_MODEL_1ed77b06007b426b8944b2748431402d", + "value": "model-00004-of-00004.safetensors: 100%" + } + }, + "d9c4f5565a2f4faf9598c4377fc975ac": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "df49ac181ec244f5bebe6680408fd7ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_06722a988e1a4357a3841723aa66dfa8", + "placeholder": "​", + "style": "IPY_MODEL_46f37131f36a413badffb0c362ab8b5d", + "value": "tokenizer.json: 100%" + } + }, + "e18941e122eb4332b9e5fb1c3a22b9ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e23aba3a1ac4420da2b0570a0dea2011": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f7e02670ead24d12b09aa36cdf1ad98f", + "placeholder": "​", + "style": "IPY_MODEL_ca359ec98ebc49f8b121dec67853f797", + "value": " 4.92G/4.92G [03:51<00:00, 52.9MB/s]" + } + }, + "e59cfa5ca5b240159517ccc2a594fa50": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e775d3ddb0f54370a39b806024a7102c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e95f552f62344e52aa2494fbaa0e1f16": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ea8987a8a81a4c1ca33ba1f6d35eabf7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9181116e0dab421e8538c3b5e6d78a63", + "IPY_MODEL_06fc98bc230248618f718cc789860551", + "IPY_MODEL_b7f4683f24f6497084de01fc9dcb7b4c" + ], + "layout": "IPY_MODEL_216a21cb431c4efcb25118d60ce55382" + } + }, + "eb0e9fb2bf8447748a936749dceff1b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ee2db85a296d4a9bb6895c8438b4ef21": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f03f977f28364ec18ce1659c76aa82ba": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f08d87275f5243e48e5277291133655c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f3467a09b50a4b429ff75009a26d992b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e59cfa5ca5b240159517ccc2a594fa50", + "placeholder": "​", + "style": "IPY_MODEL_e18941e122eb4332b9e5fb1c3a22b9ed", + "value": " 9.09M/9.09M [00:01<00:00, 5.89MB/s]" + } + }, + "f39be376072c43f7bc2dd1aff4eeb777": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f435e52db79b4317b55f13b8c98fe766": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c264cb454c7d43ccb2dd6045732f0317", + "placeholder": "​", + "style": "IPY_MODEL_87ba3449a7ce4bda8730f2d7c26b5f3f", + "value": "model-00003-of-00004.safetensors: 100%" + } + }, + "f451e2532e5241448a85daefb01822e2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f7e02670ead24d12b09aa36cdf1ad98f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f9d1ba01c0054ae3917a78e420174f2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_001b683aec074eb98b498f0dec667b7c", + "placeholder": "​", + "style": "IPY_MODEL_eb0e9fb2bf8447748a936749dceff1b9", + "value": " 296/296 [00:00<00:00, 32.7kB/s]" + } + }, + "faa55a15d9214cfb966a96f33a96b31d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fe2dd51da47e4130a3d5713037784787": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 7647b012c0dfee9fcdc72ac7b0dc0a30f1f77a08 Mon Sep 17 00:00:00 2001 From: aaron-official Date: Thu, 24 Jul 2025 12:34:37 +0300 Subject: [PATCH 034/176] some week 6 improvement suggestion --- .../day2-improved.ipynb | 823 +++++++++++++ .../day5-improved.ipynb | 1097 +++++++++++++++++ .../week6_day2_google_colab.ipynb | 676 ++++++++++ 3 files changed, 2596 insertions(+) create mode 100644 week6/community-contributions/day2-improved.ipynb create mode 100644 week6/community-contributions/day5-improved.ipynb create mode 100644 week6/community-contributions/week6_day2_google_colab.ipynb diff --git a/week6/community-contributions/day2-improved.ipynb b/week6/community-contributions/day2-improved.ipynb new file mode 100644 index 0000000..f3a2a39 --- /dev/null +++ b/week6/community-contributions/day2-improved.ipynb @@ -0,0 +1,823 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "28a0673e-96b5-43f2-8a8b-bd033bf851b0", + "metadata": {}, + "source": [ + "# The Product Pricer Continued\n", + "\n", + "A model that can estimate how much something costs, from its description.\n", + "\n", + "## Data Curation Part 2\n", + "\n", + "Today we'll extend our dataset to a greater coverage, and craft it into an excellent dataset for training. \n", + "Data curation can seem less exciting than other things we work on, but it's a crucial part of the LLM engineers' responsibility and an important craft to hone, so that you can build your own commercial solutions with high quality datasets.\n", + "\n", + "The dataset is here: \n", + "https://huggingface.co/datasets/McAuley-Lab/Amazon-Reviews-2023\n", + "\n", + "And the folder with all the product datasets is here: \n", + "https://huggingface.co/datasets/McAuley-Lab/Amazon-Reviews-2023/tree/main/raw/meta_categories\n", + "\n", + "Handles Large Datasets: This notebook is designed to efficiently process large datasets like the Amazon Reviews 2023 data, even with limited local resources.\n", + "https://colab.research.google.com/drive/1KY55mHyM5weQMSzHxiDXKSCxB_hItCD2?usp=sharing\n", + "\n", + "## Important Note - read me first please\n", + "\n", + "We are about to craft a massive dataset of 400,000 items covering multiple types of product. In Week 7 we will be using this data to train our own model. It's a pretty big dataset, and depending on the GPU you select, training could take 20+ hours. It will be really good fun, but it could cost a few dollars in compute units.\n", + "\n", + "As an alternative, if you want to keep things quick & low cost, you can work with a smaller dataset focused only on Home Appliances. You'll be able to cover the same learning points; the results will be good -- not quite as good as the full dataset, but still pretty amazing! If you'd prefer to do this, I've set up an alternative jupyter notebook in this folder called `lite.ipynb` that you should use in place of this one.\n", + "\n", + "Also, if you'd prefer, you can shortcut running all this data curation by downloading the pickle files that we save in the last cell. The pickle files are available here: https://drive.google.com/drive/folders/1f_IZGybvs9o0J5sb3xmtTEQB3BXllzrW" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "67cedf85-8125-4322-998e-9375fe745597", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "from datasets import load_dataset, Dataset, DatasetDict\n", + "import matplotlib.pyplot as plt\n", + "from collections import Counter, defaultdict\n", + "import numpy as np\n", + "import pickle" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "446bc939-62fe-4608-bec3-52ae1b2de322", + "metadata": {}, + "outputs": [], + "source": [ + "# Run this in your LOCAL environment to get the exact versions\n", + "import sys\n", + "print(f\"Python version: {sys.version}\")\n", + "print(\"=\"*50)\n", + "\n", + "# Check versions of all your dependencies\n", + "dependencies = [\n", + " 'datasets',\n", + " 'transformers', \n", + " 'huggingface_hub',\n", + " 'matplotlib',\n", + " 'numpy',\n", + " 'python-dotenv', # This is the package name for dotenv\n", + " 'tqdm' # Usually imported by datasets/transformers\n", + "]\n", + "\n", + "# Method 1: Using __version__ attribute\n", + "print(\"DEPENDENCY VERSIONS:\")\n", + "print(\"=\"*50)\n", + "\n", + "for dep in dependencies:\n", + " try:\n", + " if dep == 'python-dotenv':\n", + " import dotenv\n", + " version = dotenv.__version__\n", + " print(f\"python-dotenv: {version}\")\n", + " elif dep == 'huggingface_hub':\n", + " import huggingface_hub\n", + " version = huggingface_hub.__version__\n", + " print(f\"huggingface_hub: {version}\")\n", + " else:\n", + " module = __import__(dep)\n", + " version = getattr(module, '__version__', 'Unknown')\n", + " print(f\"{dep}: {version}\")\n", + " except ImportError:\n", + " print(f\"{dep}: NOT INSTALLED\")\n", + " except AttributeError:\n", + " print(f\"{dep}: Version attribute not found\")\n", + "\n", + "print(\"\\n\" + \"=\"*50)\n", + "print(\"INSTALLATION COMMANDS FOR COLAB:\")\n", + "print(\"=\"*50)\n", + "\n", + "# Method 2: Using pip show (more reliable)\n", + "import subprocess\n", + "import json\n", + "\n", + "def get_pip_version(package):\n", + " try:\n", + " result = subprocess.run([sys.executable, '-m', 'pip', 'show', package], \n", + " capture_output=True, text=True)\n", + " if result.returncode == 0:\n", + " for line in result.stdout.split('\\n'):\n", + " if line.startswith('Version:'):\n", + " return line.split(':', 1)[1].strip()\n", + " except:\n", + " pass\n", + " return None\n", + "\n", + "print(\"# Run these commands in Google Colab:\")\n", + "print(\"# (Copy and paste the exact versions from your local environment)\")\n", + "print()\n", + "\n", + "for dep in dependencies:\n", + " version = get_pip_version(dep)\n", + " if version:\n", + " print(f\"!pip install {dep}=={version}\")\n", + " else:\n", + " print(f\"# !pip install {dep} # Version not found\")\n", + "\n", + "print()\n", + "print(\"# Alternative: Install all at once\")\n", + "install_commands = []\n", + "for dep in dependencies:\n", + " version = get_pip_version(dep)\n", + " if version:\n", + " install_commands.append(f\"{dep}=={version}\")\n", + " else:\n", + " install_commands.append(dep)\n", + "\n", + "print(f\"!pip install {' '.join(install_commands)}\")\n", + "\n", + "print(\"\\n\" + \"=\"*50)\n", + "print(\"ADDITIONAL INFO:\")\n", + "print(\"=\"*50)\n", + "\n", + "# Check if we're in a virtual environment\n", + "print(f\"Virtual environment: {sys.prefix != sys.base_prefix}\")\n", + "print(f\"Python executable: {sys.executable}\")\n", + "\n", + "# Show pip list for reference\n", + "print(\"\\nFull pip list (for reference):\")\n", + "try:\n", + " result = subprocess.run([sys.executable, '-m', 'pip', 'list'], \n", + " capture_output=True, text=True)\n", + " if result.returncode == 0:\n", + " lines = result.stdout.split('\\n')\n", + " relevant_packages = []\n", + " for line in lines:\n", + " for dep in dependencies + ['torch', 'tensorflow', 'tokenizers']:\n", + " if dep.lower() in line.lower():\n", + " relevant_packages.append(line.strip())\n", + " break\n", + " \n", + " for pkg in relevant_packages:\n", + " print(f\" {pkg}\")\n", + "except Exception as e:\n", + " print(f\"Could not get pip list: {e}\")\n", + "\n", + "print(\"\\n\" + \"=\"*50)\n", + "print(\"REQUIREMENTS.TXT FORMAT:\")\n", + "print(\"=\"*50)\n", + "print(\"# Copy this to create a requirements.txt file:\")\n", + "\n", + "for dep in dependencies:\n", + " version = get_pip_version(dep)\n", + " if version:\n", + " print(f\"{dep}=={version}\")\n", + " else:\n", + " print(f\"{dep}\")\n", + "\n", + "print(\"\\n\" + \"=\"*50)\n", + "print(\"COLAB SETUP SCRIPT:\")\n", + "print(\"=\"*50)\n", + "print(\"\"\"# Copy this entire block to run in Colab:\n", + "\n", + "# Install exact versions from local environment\n", + "!pip install --upgrade pip\n", + "\n", + "# Your specific versions (replace with actual versions from above)\"\"\")\n", + "\n", + "for dep in dependencies:\n", + " version = get_pip_version(dep)\n", + " if version:\n", + " print(f\"!pip install {dep}=={version}\")\n", + "\n", + "print(\"\"\"\n", + "# Restart runtime after installation\n", + "import os\n", + "os.kill(os.getpid(), 9) # This will restart the runtime\n", + "\"\"\")\n", + "\n", + "print(\"\\n\" + \"=\"*50)\n", + "print(\"VERIFICATION SCRIPT FOR COLAB:\")\n", + "print(\"=\"*50)\n", + "print(\"\"\"# Run this in Colab AFTER installing to verify versions match:\n", + "\n", + "import sys\n", + "dependencies_to_check = [\n", + " 'datasets', 'transformers', 'huggingface_hub', \n", + " 'matplotlib', 'numpy', 'dotenv', 'tqdm'\n", + "]\n", + "\n", + "print(\"Verification of installed versions:\")\n", + "print(\"=\"*40)\n", + "for dep in dependencies_to_check:\n", + " try:\n", + " if dep == 'dotenv':\n", + " import dotenv as module\n", + " else:\n", + " module = __import__(dep)\n", + " version = getattr(module, '__version__', 'Unknown')\n", + " print(f\"{dep}: {version}\")\n", + " except ImportError:\n", + " print(f\"{dep}: NOT INSTALLED\")\n", + "\n", + "print(\"\\\\nIf all versions match your local environment, the code should work!\")\n", + "\"\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7390a6aa-79cb-4dea-b6d7-de7e4b13e472", + "metadata": {}, + "outputs": [], + "source": [ + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['HF_TOKEN'] = os.getenv('HF_TOKEN', 'your-key-if-not-using-env')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0732274a-aa6a-44fc-aee2-40dc8a8e4451", + "metadata": {}, + "outputs": [], + "source": [ + "# Log in to HuggingFace\n", + "\n", + "hf_token = os.environ['HF_TOKEN']\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6746144c-2e19-485a-8086-368c144722b4", + "metadata": {}, + "outputs": [], + "source": [ + "# More imports after HF login\n", + "\n", + "from loaders import ItemLoader\n", + "from items import Item" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1adcf323-de9d-4c24-a9c3-d7ae554d06ca", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "01065d69-765c-42c8-9f90-68b8c8754068", + "metadata": {}, + "source": [ + "## The ItemLoader code\n", + "\n", + "Look in loaders.py - there's some useful code to make life easier for us" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "049885d4-fdfa-4ff0-a932-4a2ed73928e2", + "metadata": {}, + "outputs": [], + "source": [ + "# Load in the same dataset as last time\n", + "\n", + "items = ItemLoader(\"All_Beauty\").load()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffba41b5-ddb6-4359-9790-9b2db900eee1", + "metadata": {}, + "outputs": [], + "source": [ + "# Look for a familiar item..\n", + "print(items[1].prompt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7cc7f3e7-e98e-48c1-8eed-1608b42b0f65", + "metadata": {}, + "outputs": [], + "source": [ + "import datasets\n", + "print(datasets.__version__)" + ] + }, + { + "cell_type": "markdown", + "id": "e2b6dc50-ac5c-4cf2-af2e-968ed8ef86d7", + "metadata": {}, + "source": [ + "## Now to SCALE UP\n", + "\n", + "Let's look at all datasets of all the items that you might find in a large home retail store - electrical, electronic, office and related, but not clothes / beauty / books." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1d06cd3-f3c2-44f0-a9f2-13b54ff8be5c", + "metadata": {}, + "outputs": [], + "source": [ + "dataset_names = [\n", + " \"Automotive\",\n", + " \"Electronics\",\n", + " \"Office_Products\",\n", + " \"Tools_and_Home_Improvement\",\n", + " \"Cell_Phones_and_Accessories\",\n", + " \"Toys_and_Games\",\n", + " \"Appliances\",\n", + " \"Musical_Instruments\",\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa8fd0f0-509a-4298-8fcc-e499a061e1be", + "metadata": {}, + "outputs": [], + "source": [ + "items = []\n", + "for dataset_name in dataset_names:\n", + " loader = ItemLoader(dataset_name)\n", + " items.extend(loader.load())\n", + "\n", + "# Now, time for a coffee break!!\n", + "# By the way, I put the biggest datasets first.. it gets faster." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e29a5ab-ca61-41cc-9b33-22d374681b85", + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"A grand total of {len(items):,} items\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89078cb1-9679-4eb0-b295-599b8586bcd1", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot the distribution of token counts again\n", + "\n", + "tokens = [item.token_count for item in items]\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Token counts: Avg {sum(tokens)/len(tokens):,.1f} and highest {max(tokens):,}\\n\")\n", + "plt.xlabel('Length (tokens)')\n", + "plt.ylabel('Count')\n", + "plt.hist(tokens, rwidth=0.7, color=\"skyblue\", bins=range(0, 300, 10))\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c38e0c43-9f7a-450e-a911-c94d37d9b9c3", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot the distribution of prices\n", + "\n", + "prices = [item.price for item in items]\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Prices: Avg {sum(prices)/len(prices):,.1f} and highest {max(prices):,}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"blueviolet\", bins=range(0, 1000, 10))\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eabc7c61-0cd2-41f4-baa1-b85400bbf87f", + "metadata": {}, + "outputs": [], + "source": [ + "category_counts = Counter()\n", + "for item in items:\n", + " category_counts[item.category]+=1\n", + "\n", + "categories = category_counts.keys()\n", + "counts = [category_counts[category] for category in categories]\n", + "\n", + "# Bar chart by category\n", + "plt.figure(figsize=(15, 6))\n", + "plt.bar(categories, counts, color=\"goldenrod\")\n", + "plt.title('How many in each category')\n", + "plt.xlabel('Categories')\n", + "plt.ylabel('Count')\n", + "\n", + "plt.xticks(rotation=30, ha='right')\n", + "\n", + "# Add value labels on top of each bar\n", + "for i, v in enumerate(counts):\n", + " plt.text(i, v, f\"{v:,}\", ha='center', va='bottom')\n", + "\n", + "# Display the chart\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e5b6e987-83ba-4262-a082-57c6b0741062", + "metadata": {}, + "source": [ + "# Objective\n", + "\n", + "Craft a dataset which is more balanced in terms of prices. Less heavily scewed to cheap items, with an average that's higher than $60. Try to balance out the categories - fewer Automotive items." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b9424c1-44e0-499a-b45e-a35246655469", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a dict with a key of each price from $1 to $999\n", + "# And in the value, put a list of items with that price (to nearest round number)\n", + "\n", + "slots = defaultdict(list)\n", + "for item in items:\n", + " slots[round(item.price)].append(item)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7805a7f1-4ad8-48f6-bea3-d64b64894804", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a dataset called \"sample\" which tries to more evenly take from the range of prices\n", + "# And gives more weight to items from categories other than Automotive\n", + "# Set random seed for reproducibility\n", + "\n", + "np.random.seed(42)\n", + "random.seed(42)\n", + "sample = []\n", + "for i in range(1, 1000):\n", + " slot = slots[i]\n", + " if i>=240:\n", + " sample.extend(slot)\n", + " elif len(slot) <= 1200:\n", + " sample.extend(slot)\n", + " else:\n", + " weights = np.array([1 if item.category=='Automotive' else 5 for item in slot])\n", + " weights = weights / np.sum(weights)\n", + " selected_indices = np.random.choice(len(slot), size=1200, replace=False, p=weights)\n", + " selected = [slot[i] for i in selected_indices]\n", + " sample.extend(selected)\n", + "\n", + "print(f\"There are {len(sample):,} items in the sample\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "430b432f-b769-41da-9506-a238cb5cf1b6", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot the distribution of prices in sample\n", + "\n", + "prices = [float(item.price) for item in sample]\n", + "plt.figure(figsize=(15, 10))\n", + "plt.title(f\"Avg {sum(prices)/len(prices):.2f} and highest {max(prices):,.2f}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"darkblue\", bins=range(0, 1000, 10))\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d570794-6f1d-462e-b567-a46bae3556a1", + "metadata": {}, + "outputs": [], + "source": [ + "# OK, we did well in terms of raising the average price and having a smooth-ish population of prices\n", + "# Let's see the categories\n", + "\n", + "category_counts = Counter()\n", + "for item in sample:\n", + " category_counts[item.category]+=1\n", + "\n", + "categories = category_counts.keys()\n", + "counts = [category_counts[category] for category in categories]\n", + "\n", + "# Create bar chart\n", + "plt.figure(figsize=(15, 6))\n", + "plt.bar(categories, counts, color=\"lightgreen\")\n", + "\n", + "# Customize the chart\n", + "plt.title('How many in each category')\n", + "plt.xlabel('Categories')\n", + "plt.ylabel('Count')\n", + "\n", + "plt.xticks(rotation=30, ha='right')\n", + "\n", + "# Add value labels on top of each bar\n", + "for i, v in enumerate(counts):\n", + " plt.text(i, v, f\"{v:,}\", ha='center', va='bottom')\n", + "\n", + "# Display the chart\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6609d77c-3e0a-4679-9129-c7cdc3273070", + "metadata": {}, + "outputs": [], + "source": [ + "# Automotive still in the lead, but improved somewhat\n", + "# For another perspective, let's look at a pie\n", + "\n", + "plt.figure(figsize=(12, 10))\n", + "plt.pie(counts, labels=categories, autopct='%1.0f%%', startangle=90)\n", + "\n", + "# Add a circle at the center to create a donut chart (optional)\n", + "centre_circle = plt.Circle((0,0), 0.70, fc='white')\n", + "fig = plt.gcf()\n", + "fig.gca().add_artist(centre_circle)\n", + "plt.title('Categories')\n", + "\n", + "# Equal aspect ratio ensures that pie is drawn as a circle\n", + "plt.axis('equal') \n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ac046cc1-2717-415b-96ad-b73b2950d235", + "metadata": {}, + "source": [ + "# Dataset Curated!\n", + "\n", + "We've crafted an excellent dataset.\n", + "\n", + "Let's do some final checks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70219e99-22cc-4e08-9121-51f9707caef0", + "metadata": {}, + "outputs": [], + "source": [ + "# How does the price vary with the character count of the prompt?\n", + "\n", + "sizes = [len(item.prompt) for item in sample]\n", + "prices = [item.price for item in sample]\n", + "\n", + "# Create the scatter plot\n", + "plt.figure(figsize=(15, 8))\n", + "plt.scatter(sizes, prices, s=0.2, color=\"red\")\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Size')\n", + "plt.ylabel('Price')\n", + "plt.title('Is there a simple correlation?')\n", + "\n", + "# Display the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30ae1453-b9fc-40db-8310-65d850c4b1da", + "metadata": {}, + "outputs": [], + "source": [ + "def report(item):\n", + " prompt = item.prompt\n", + " tokens = Item.tokenizer.encode(item.prompt)\n", + " print(prompt)\n", + " print(tokens[-10:])\n", + " print(Item.tokenizer.batch_decode(tokens[-10:]))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9998b8d-d746-4541-9ac2-701108e0e8fb", + "metadata": {}, + "outputs": [], + "source": [ + "report(sample[398000])" + ] + }, + { + "cell_type": "markdown", + "id": "7aa0a3fc-d2fe-4e6e-8fdb-96913df2f588", + "metadata": {}, + "source": [ + "## Observation\n", + "\n", + "An interesting thing about the Llama tokenizer is that every number from 1 to 999 gets mapped to 1 token, much as we saw with gpt-4o. The same is not true of qwen2, gemma and phi3, which all map individual digits to tokens. This does turn out to be a bit useful for our project, although it's not an essential requirement." + ] + }, + { + "cell_type": "markdown", + "id": "0f03c0ee-3103-4603-af5c-b484884a3aa2", + "metadata": {}, + "source": [ + "# Finally\n", + "\n", + "It's time to break down our data into a training, test and validation dataset.\n", + "\n", + "It's typical to use 5%-10% of your data for testing purposes, but actually we have far more than we need at this point. We'll take 400,000 points for training, and we'll reserve 2,000 for testing, although we won't use all of them.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b163ca2-18ef-4c26-8e9d-88eb55f114f6", + "metadata": {}, + "outputs": [], + "source": [ + "random.seed(42)\n", + "random.shuffle(sample)\n", + "train = sample[:400_000]\n", + "test = sample[400_000:402_000]\n", + "print(f\"Divided into a training set of {len(train):,} items and test set of {len(test):,} items\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "299b9816-8885-4798-829a-69d66d60eb01", + "metadata": {}, + "outputs": [], + "source": [ + "print(train[0].prompt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97222da3-9f2c-4d15-a5cd-5e5f8dbde6cc", + "metadata": {}, + "outputs": [], + "source": [ + "print(test[0].test_prompt())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a116369-335a-412b-b70c-2add6675c2e3", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot the distribution of prices in the first 250 test points\n", + "\n", + "prices = [float(item.price) for item in test[:250]]\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Avg {sum(prices)/len(prices):.2f} and highest {max(prices):,.2f}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"darkblue\", bins=range(0, 1000, 10))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d522d752-6f66-4786-a4dc-8ef51842558c", + "metadata": {}, + "source": [ + "# Finally - upload your brand new dataset\n", + "\n", + "Convert to prompts and upload to HuggingFace hub" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa11b3e5-fcf4-4efc-a573-f6f67fec3e73", + "metadata": {}, + "outputs": [], + "source": [ + "train_prompts = [item.prompt for item in train]\n", + "train_prices = [item.price for item in train]\n", + "test_prompts = [item.test_prompt() for item in test]\n", + "test_prices = [item.price for item in test]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b020ab1b-7153-4e5f-b8a3-d5bc2fafb6df", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Dataset from the lists\n", + "\n", + "train_dataset = Dataset.from_dict({\"text\": train_prompts, \"price\": train_prices})\n", + "test_dataset = Dataset.from_dict({\"text\": test_prompts, \"price\": test_prices})\n", + "dataset = DatasetDict({\n", + " \"train\": train_dataset,\n", + " \"test\": test_dataset\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17639641-fb55-44e2-a463-b0b394d00f32", + "metadata": {}, + "outputs": [], + "source": [ + "# Uncomment these lines if you're ready to push to the hub, and replace my name with your HF username\n", + "\n", + "# HF_USER = \"ed-donner\"\n", + "# DATASET_NAME = f\"{HF_USER}/pricer-data\"\n", + "# dataset.push_to_hub(DATASET_NAME, private=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b85733ba-d165-4f07-b055-46803543edfe", + "metadata": {}, + "outputs": [], + "source": [ + "# One more thing!\n", + "# Let's pickle the training and test dataset so we don't have to execute all this code next time!\n", + "\n", + "with open('train.pkl', 'wb') as file:\n", + " pickle.dump(train, file)\n", + "\n", + "with open('test.pkl', 'wb') as file:\n", + " pickle.dump(test, file)" + ] + }, + { + "cell_type": "markdown", + "id": "2b58dc61-747f-46f7-b9e0-c205db4f3e5e", + "metadata": {}, + "source": [ + "## Todos for you:\n", + "\n", + "- Investigate the dataset more!\n", + "- Confirm that the tokenizer tokenizes all 3 digit prices into 1 token" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week6/community-contributions/day5-improved.ipynb b/week6/community-contributions/day5-improved.ipynb new file mode 100644 index 0000000..152abaa --- /dev/null +++ b/week6/community-contributions/day5-improved.ipynb @@ -0,0 +1,1097 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "db8736a7-ed94-441c-9556-831fa57b5a10", + "metadata": {}, + "source": [ + "# The Product Pricer Continued\n", + "\n", + "A model that can estimate how much something costs, from its description.\n", + "\n", + "## AT LAST - it's time for Fine Tuning!\n", + "\n", + "After all this data preparation, and old school machine learning, we've finally arrived at the moment you've been waiting for. Fine-tuning a model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "681c717b-4c24-4ac3-a5f3-3c5881d6e70a", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import re\n", + "import math\n", + "import json\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pickle\n", + "from collections import Counter\n", + "from openai import OpenAI\n", + "from anthropic import Anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "36d05bdc-0155-4c72-a7ee-aa4e614ffd3c", + "metadata": {}, + "outputs": [], + "source": [ + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['HF_TOKEN'] = os.getenv('HF_TOKEN', 'your-key-if-not-using-env')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4dd3aad2-6f99-433c-8792-e461d2f06622", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" + ] + } + ], + "source": [ + "# Log in to HuggingFace\n", + "\n", + "hf_token = os.environ['HF_TOKEN']\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "884a50bd-8cae-425e-8e56-f079fc3e65ce", + "metadata": {}, + "outputs": [], + "source": [ + "# moved our Tester into a separate package\n", + "# call it with Tester.test(function_name, test_dataset)\n", + "\n", + "from items import Item\n", + "from testing import Tester" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b0a6fb86-74a4-403c-ab25-6db2d74e9d2b", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c830ed3e-24ee-4af6-a07b-a1bfdcd39278", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5c9b05f4-c9eb-462c-8d86-de9140a2d985", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's avoid curating all our data again! Load in the pickle files:\n", + "\n", + "with open('train.pkl', 'rb') as file:\n", + " train = pickle.load(file)\n", + "\n", + "with open('test.pkl', 'rb') as file:\n", + " test = pickle.load(file)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e8367135-f40e-43e1-8f3c-09e990ab1194", + "metadata": {}, + "outputs": [], + "source": [ + "# OpenAI recommends fine-tuning with populations of 50-100 examples\n", + "# But as our examples are very small, I'm suggesting we go with 200 examples (and 1 epoch)\n", + "\n", + "fine_tune_train = train[:200]\n", + "fine_tune_validation = train[200:250]" + ] + }, + { + "cell_type": "markdown", + "id": "8be4a889-81c3-42b1-a2fc-034cdc7321a6", + "metadata": {}, + "source": [ + "# Step 1\n", + "\n", + "Prepare our data for fine-tuning in JSONL (JSON Lines) format and upload to OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ae2fb3c-1cff-4ce3-911e-627c970edd7b", + "metadata": {}, + "outputs": [], + "source": [ + "# # First let's work on a good prompt for a Frontier model\n", + "# # Notice that I'm removing the \" to the nearest dollar\"\n", + "# # When we train our own models, we'll need to make the problem as easy as possible, \n", + "# # but a Frontier model needs no such simplification.\n", + "\n", + "# def messages_for(item):\n", + "# system_message = \"You estimate prices of items. Reply only with the price, no explanation\"\n", + "# user_prompt = item.test_prompt().replace(\" to the nearest dollar\",\"\").replace(\"\\n\\nPrice is $\",\"\")\n", + "# return [\n", + "# {\"role\": \"system\", \"content\": system_message},\n", + "# {\"role\": \"user\", \"content\": user_prompt},\n", + "# {\"role\": \"assistant\", \"content\": f\"Price is ${item.price:.2f}\"}\n", + "# ]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ca3c0910-1919-47f8-8800-b12be4e983e9", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(item):\n", + " system_message = \"\"\"You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\n", + "\n", + "Key Amazon pricing factors to evaluate:\n", + "- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\n", + "- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\n", + "- Pack size and quantity (bulk/multi-packs often better per-unit value)\n", + "- Prime eligibility indicators and fulfillment method signals\n", + "- Product variations (color, size, model) affecting price tiers\n", + "- Feature density and specification richness\n", + "- Amazon's Choice or bestseller indicators in description\n", + "- Customer rating implications (4.5+ stars = premium pricing power)\n", + "- Seasonal/trending product indicators\n", + "\n", + "Amazon-specific pricing patterns:\n", + "- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\n", + "- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\n", + "- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\n", + "- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\n", + "- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\n", + "- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\n", + "\n", + "Consider Amazon's psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\n", + "\n", + "Output format: Respond with only the price including dollar sign and cents (e.g., \"$24.99\"). No explanations or additional text.\"\"\"\n", + " \n", + " user_prompt = item.test_prompt().replace(\" to the nearest dollar\",\"\").replace(\"\\n\\nPrice is $\",\"\")\n", + " \n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": f\"${item.price:.2f}\"}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1aa280f6-1227-426a-a2e2-1ce985feba1e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'system',\n", + " 'content': 'You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\\n\\nKey Amazon pricing factors to evaluate:\\n- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\\n- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\\n- Pack size and quantity (bulk/multi-packs often better per-unit value)\\n- Prime eligibility indicators and fulfillment method signals\\n- Product variations (color, size, model) affecting price tiers\\n- Feature density and specification richness\\n- Amazon\\'s Choice or bestseller indicators in description\\n- Customer rating implications (4.5+ stars = premium pricing power)\\n- Seasonal/trending product indicators\\n\\nAmazon-specific pricing patterns:\\n- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\\n- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\\n- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\\n- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\\n- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\\n- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\\n\\nConsider Amazon\\'s psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\\n\\nOutput format: Respond with only the price including dollar sign and cents (e.g., \"$24.99\"). No explanations or additional text.'},\n", + " {'role': 'user',\n", + " 'content': 'How much does this cost?\\n\\nDelphi FG0166 Fuel Pump Module\\nDelphi brings 80 years of OE Heritage into each Delphi pump, ensuring quality and fitment for each Delphi part. Part is validated, tested and matched to the right vehicle application Delphi brings 80 years of OE Heritage into each Delphi assembly, ensuring quality and fitment for each Delphi part Always be sure to check and clean fuel tank to avoid unnecessary returns Rigorous OE-testing ensures the pump can withstand extreme temperatures Brand Delphi, Fit Type Vehicle Specific Fit, Dimensions LxWxH 19.7 x 7.7 x 5.1 inches, Weight 2.2 Pounds, Auto Part Position Unknown, Operation Mode Mechanical, Manufacturer Delphi, Model FUEL PUMP, Dimensions 19.7'},\n", + " {'role': 'assistant', 'content': '$226.95'}]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "messages_for(train[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c0e5b56c-8a0b-4d8e-a112-ce87efb4e152", + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the items into a list of json objects - a \"jsonl\" string\n", + "# Each row represents a message in the form:\n", + "# {\"messages\" : [{\"role\": \"system\", \"content\": \"You estimate prices...\n", + "\n", + "\n", + "def make_jsonl(items):\n", + " result = \"\"\n", + " for item in items:\n", + " messages = messages_for(item)\n", + " messages_str = json.dumps(messages)\n", + " result += '{\"messages\": ' + messages_str +'}\\n'\n", + " return result.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "5e72de93-a6a6-4b35-855e-15786b97bf5f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"messages\": [{\"role\": \"system\", \"content\": \"You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\\n\\nKey Amazon pricing factors to evaluate:\\n- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\\n- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\\n- Pack size and quantity (bulk/multi-packs often better per-unit value)\\n- Prime eligibility indicators and fulfillment method signals\\n- Product variations (color, size, model) affecting price tiers\\n- Feature density and specification richness\\n- Amazon's Choice or bestseller indicators in description\\n- Customer rating implications (4.5+ stars = premium pricing power)\\n- Seasonal/trending product indicators\\n\\nAmazon-specific pricing patterns:\\n- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\\n- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\\n- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\\n- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\\n- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\\n- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\\n\\nConsider Amazon's psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\\n\\nOutput format: Respond with only the price including dollar sign and cents (e.g., \\\"$24.99\\\"). No explanations or additional text.\"}, {\"role\": \"user\", \"content\": \"How much does this cost?\\n\\nDelphi FG0166 Fuel Pump Module\\nDelphi brings 80 years of OE Heritage into each Delphi pump, ensuring quality and fitment for each Delphi part. Part is validated, tested and matched to the right vehicle application Delphi brings 80 years of OE Heritage into each Delphi assembly, ensuring quality and fitment for each Delphi part Always be sure to check and clean fuel tank to avoid unnecessary returns Rigorous OE-testing ensures the pump can withstand extreme temperatures Brand Delphi, Fit Type Vehicle Specific Fit, Dimensions LxWxH 19.7 x 7.7 x 5.1 inches, Weight 2.2 Pounds, Auto Part Position Unknown, Operation Mode Mechanical, Manufacturer Delphi, Model FUEL PUMP, Dimensions 19.7\"}, {\"role\": \"assistant\", \"content\": \"$226.95\"}]}\n", + "{\"messages\": [{\"role\": \"system\", \"content\": \"You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\\n\\nKey Amazon pricing factors to evaluate:\\n- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\\n- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\\n- Pack size and quantity (bulk/multi-packs often better per-unit value)\\n- Prime eligibility indicators and fulfillment method signals\\n- Product variations (color, size, model) affecting price tiers\\n- Feature density and specification richness\\n- Amazon's Choice or bestseller indicators in description\\n- Customer rating implications (4.5+ stars = premium pricing power)\\n- Seasonal/trending product indicators\\n\\nAmazon-specific pricing patterns:\\n- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\\n- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\\n- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\\n- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\\n- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\\n- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\\n\\nConsider Amazon's psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\\n\\nOutput format: Respond with only the price including dollar sign and cents (e.g., \\\"$24.99\\\"). No explanations or additional text.\"}, {\"role\": \"user\", \"content\": \"How much does this cost?\\n\\nPower Stop Rear Z36 Truck and Tow Brake Kit with Calipers\\nThe Power Stop Z36 Truck & Tow Performance brake kit provides the superior stopping power demanded by those who tow boats, haul loads, tackle mountains, lift trucks, and play in the harshest conditions. The brake rotors are drilled to keep temperatures down during extreme braking and slotted to sweep away any debris for constant pad contact. Combined with our Z36 Carbon-Fiber Ceramic performance friction formulation, you can confidently push your rig to the limit and look good doing it with red powder brake calipers. Components are engineered to handle the stress of towing, hauling, mountainous driving, and lifted trucks. Dust-free braking performance. Z36 Carbon-Fiber Ceramic formula provides the extreme braking performance demanded by your truck or 4x\"}, {\"role\": \"assistant\", \"content\": \"$506.98\"}]}\n", + "{\"messages\": [{\"role\": \"system\", \"content\": \"You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\\n\\nKey Amazon pricing factors to evaluate:\\n- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\\n- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\\n- Pack size and quantity (bulk/multi-packs often better per-unit value)\\n- Prime eligibility indicators and fulfillment method signals\\n- Product variations (color, size, model) affecting price tiers\\n- Feature density and specification richness\\n- Amazon's Choice or bestseller indicators in description\\n- Customer rating implications (4.5+ stars = premium pricing power)\\n- Seasonal/trending product indicators\\n\\nAmazon-specific pricing patterns:\\n- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\\n- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\\n- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\\n- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\\n- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\\n- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\\n\\nConsider Amazon's psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\\n\\nOutput format: Respond with only the price including dollar sign and cents (e.g., \\\"$24.99\\\"). No explanations or additional text.\"}, {\"role\": \"user\", \"content\": \"How much does this cost?\\n\\nABBA 36 Gas Cooktop with 5 Sealed Burners - Tempered Glass Surface with SABAF Burners, Natural Gas Stove for Countertop, Home Improvement Essentials, Easy to Clean, 36 x 4.1 x 20.5\\ncooktop Gas powered with 4 fast burners and 1 ultra-fast center burner Tempered glass surface with removable grid for easy cleaning Lightweight for easy installation. Installation Manual Included Counter cutout Dimensions 19 3/8 x 34 1/2 (see diagram) Insured shipping for your satisfaction and peace of mind Brand Name ABBA EST. 1956, Weight 30 pounds, Dimensions 20.5\\\\ D x 36\\\\ W x 4.1\\\\ H, Installation Type Count\"}, {\"role\": \"assistant\", \"content\": \"$405.00\"}]}\n" + ] + } + ], + "source": [ + "print(make_jsonl(train[:3]))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7734bff0-95c4-4e67-a87e-7e2254e2c67d", + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the items into jsonl and write them to a file\n", + "\n", + "def write_jsonl(items, filename):\n", + " with open(filename, \"w\") as f:\n", + " jsonl = make_jsonl(items)\n", + " f.write(jsonl)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "393d3ad8-999a-4f99-8c04-339d9166d604", + "metadata": {}, + "outputs": [], + "source": [ + "write_jsonl(fine_tune_train, \"fine_tune_train.jsonl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8e23927f-d73e-4668-ac20-abe6f14a56cb", + "metadata": {}, + "outputs": [], + "source": [ + "write_jsonl(fine_tune_validation, \"fine_tune_validation.jsonl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "d59ad8d2-c61a-448e-b7ed-232f1606970f", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"fine_tune_train.jsonl\", \"rb\") as f:\n", + " train_file = openai.files.create(file=f, purpose=\"fine-tune\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "083fefba-fd54-47ce-9ff3-aabbc200846f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "FileObject(id='file-8nECKUWKSHTorbKVrcLxGc', bytes=480142, created_at=1753339843, filename='fine_tune_train.jsonl', object='file', purpose='fine-tune', status='processed', expires_at=None, status_details=None)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_file" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "97df3360-0760-4422-a556-5f26d23de6dc", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"fine_tune_validation.jsonl\", \"rb\") as f:\n", + " validation_file = openai.files.create(file=f, purpose=\"fine-tune\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "a1abb8f3-9e52-4061-970c-fcf399d8ffa3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "FileObject(id='file-TkMc2SaZVLPmoP37ucXDPH', bytes=119935, created_at=1753339852, filename='fine_tune_validation.jsonl', object='file', purpose='fine-tune', status='processed', expires_at=None, status_details=None)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "validation_file" + ] + }, + { + "cell_type": "markdown", + "id": "466052b9-9fb9-48f6-8cf9-c74e6ddc1394", + "metadata": {}, + "source": [ + "# Step 2\n", + "\n", + "I love Weights and Biases - a beautiful, free platform for monitoring training runs. \n", + "Weights and Biases is integrated with OpenAI for fine-tuning.\n", + "\n", + "First set up your weights & biases free account at:\n", + "\n", + "https://wandb.ai\n", + "\n", + "From the Avatar >> Settings menu, near the bottom, you can create an API key.\n", + "\n", + "Then visit the OpenAI dashboard at:\n", + "\n", + "https://platform.openai.com/account/organization\n", + "\n", + "In the integrations section, you can add your Weights & Biases key.\n", + "\n", + "## And now time to Fine-tune!" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c7add1a7-a746-4d6e-a5f8-e25629b8b527", + "metadata": {}, + "outputs": [], + "source": [ + "wandb_integration = {\"type\": \"wandb\", \"wandb\": {\"project\": \"gpt-pricer\"}}" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "49801e69-9277-4deb-9f33-99efb6b45ac2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'file-8nECKUWKSHTorbKVrcLxGc'" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_file.id" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "45421b86-5531-4e42-ab19-d6abbb8f4c13", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "FineTuningJob(id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX', created_at=1753341041, error=Error(code=None, message=None, param=None), fine_tuned_model=None, finished_at=None, hyperparameters=Hyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1), model='gpt-4o-mini-2024-07-18', object='fine_tuning.job', organization_id='org-du4k6X6j1Eu0j5xNKaVVIO3O', result_files=[], seed=42, status='validating_files', trained_tokens=None, training_file='file-8nECKUWKSHTorbKVrcLxGc', validation_file='file-TkMc2SaZVLPmoP37ucXDPH', estimated_finish=None, integrations=[FineTuningJobWandbIntegrationObject(type='wandb', wandb=FineTuningJobWandbIntegration(project='gpt-pricer', entity=None, name=None, tags=None, run_id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX'))], metadata=None, method=Method(type='supervised', dpo=None, reinforcement=None, supervised=SupervisedMethod(hyperparameters=SupervisedHyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1))), user_provided_suffix='pricer', usage_metrics=None, shared_with_openai=False, eval_id=None)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai.fine_tuning.jobs.create(\n", + " training_file=train_file.id,\n", + " validation_file=validation_file.id,\n", + " model=\"gpt-4o-mini-2024-07-18\",\n", + " seed=42,\n", + " hyperparameters={\"n_epochs\": 1},\n", + " integrations = [wandb_integration],\n", + " suffix=\"pricer\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "aeb9de2e-542c-4e83-81c7-b6745133e48b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "SyncCursorPage[FineTuningJob](data=[FineTuningJob(id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX', created_at=1753341041, error=Error(code=None, message=None, param=None), fine_tuned_model=None, finished_at=None, hyperparameters=Hyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1), model='gpt-4o-mini-2024-07-18', object='fine_tuning.job', organization_id='org-du4k6X6j1Eu0j5xNKaVVIO3O', result_files=[], seed=42, status='validating_files', trained_tokens=None, training_file='file-8nECKUWKSHTorbKVrcLxGc', validation_file='file-TkMc2SaZVLPmoP37ucXDPH', estimated_finish=None, integrations=[FineTuningJobWandbIntegrationObject(type='wandb', wandb=FineTuningJobWandbIntegration(project='gpt-pricer', entity=None, name=None, tags=None, run_id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX'))], metadata=None, method=Method(type='supervised', dpo=None, reinforcement=None, supervised=SupervisedMethod(hyperparameters=SupervisedHyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1))), user_provided_suffix='pricer', usage_metrics=None, shared_with_openai=False, eval_id=None)], has_more=False, object='list')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai.fine_tuning.jobs.list(limit=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "40d24873-8ff5-413f-b0d4-8f77c28f18e1", + "metadata": {}, + "outputs": [], + "source": [ + "job_id = openai.fine_tuning.jobs.list(limit=1).data[0].id" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a32aef35-4b38-436c-ad00-d082f758efa7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'ftjob-IBBaP9CY5ovNGnsueXoCLjeX'" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job_id" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "a7e01247-c133-48e1-93d3-c79c399e6178", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "FineTuningJob(id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX', created_at=1753341041, error=Error(code=None, message=None, param=None), fine_tuned_model=None, finished_at=None, hyperparameters=Hyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1), model='gpt-4o-mini-2024-07-18', object='fine_tuning.job', organization_id='org-du4k6X6j1Eu0j5xNKaVVIO3O', result_files=[], seed=42, status='validating_files', trained_tokens=None, training_file='file-8nECKUWKSHTorbKVrcLxGc', validation_file='file-TkMc2SaZVLPmoP37ucXDPH', estimated_finish=None, integrations=[FineTuningJobWandbIntegrationObject(type='wandb', wandb=FineTuningJobWandbIntegration(project='gpt-pricer', entity=None, name=None, tags=None, run_id='ftjob-IBBaP9CY5ovNGnsueXoCLjeX'))], metadata=None, method=Method(type='supervised', dpo=None, reinforcement=None, supervised=SupervisedMethod(hyperparameters=SupervisedHyperparameters(batch_size='auto', learning_rate_multiplier='auto', n_epochs=1))), user_provided_suffix='pricer', usage_metrics=None, shared_with_openai=False, eval_id=None)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai.fine_tuning.jobs.retrieve(job_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "0f5150e1-b8de-485f-8eba-cf1e5b00c117", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[FineTuningJobEvent(id='ftevent-Hen3aW1QhNBeK3fNUmtTnBop', created_at=1753341041, level='info', message='Validating training file: file-8nECKUWKSHTorbKVrcLxGc and validation file: file-TkMc2SaZVLPmoP37ucXDPH', object='fine_tuning.job.event', data={}, type='message'),\n", + " FineTuningJobEvent(id='ftevent-osUdwcFOjzf1HG99p1q4ivBm', created_at=1753341041, level='info', message='Created fine-tuning job: ftjob-IBBaP9CY5ovNGnsueXoCLjeX', object='fine_tuning.job.event', data={}, type='message')]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai.fine_tuning.jobs.list_events(fine_tuning_job_id=job_id, limit=10).data" + ] + }, + { + "cell_type": "markdown", + "id": "066fef03-8338-4526-9df3-89b649ad4f0a", + "metadata": {}, + "source": [ + "# Step 3\n", + "\n", + "Test our fine tuned model" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "fa4488cb-3c17-4eda-abd1-53c1c68a491b", + "metadata": {}, + "outputs": [], + "source": [ + "fine_tuned_model_name = openai.fine_tuning.jobs.retrieve(job_id).fine_tuned_model" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "e9370937-5a6f-4724-8265-b208663b4450", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'ft:gpt-4o-mini-2024-07-18:aaron:pricer:BwkX85YV'" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fine_tuned_model_name" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "66ea68e8-ab1b-4f0d-aba4-a59574d8f85e", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(item):\n", + " system_message = \"\"\"You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\n", + "\n", + "Key Amazon pricing factors to evaluate:\n", + "- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\n", + "- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\n", + "- Pack size and quantity (bulk/multi-packs often better per-unit value)\n", + "- Prime eligibility indicators and fulfillment method signals\n", + "- Product variations (color, size, model) affecting price tiers\n", + "- Feature density and specification richness\n", + "- Amazon's Choice or bestseller indicators in description\n", + "- Customer rating implications (4.5+ stars = premium pricing power)\n", + "- Seasonal/trending product indicators\n", + "\n", + "Amazon-specific pricing patterns:\n", + "- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\n", + "- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\n", + "- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\n", + "- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\n", + "- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\n", + "- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\n", + "\n", + "Consider Amazon's psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\n", + "\n", + "Output format: Respond with only the price including dollar sign and cents (e.g., \"$24.99\"). No explanations or additional text.\"\"\"\n", + " \n", + " user_prompt = item.test_prompt().replace(\" to the nearest dollar\",\"\").replace(\"\\n\\nPrice is $\",\"\")\n", + " \n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": f\"${item.price:.2f}\"}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "4ff92d61-0d27-4b0d-8b32-c9891016509b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'system',\n", + " 'content': 'You are an Amazon marketplace pricing expert. Analyze product descriptions to predict accurate Amazon selling prices based on typical marketplace dynamics and consumer behavior patterns.\\n\\nKey Amazon pricing factors to evaluate:\\n- Brand strength (Apple, Samsung, Nike = premium; generic/unbranded = budget)\\n- Product category positioning (Home & Kitchen, Electronics, Sports, Beauty, etc.)\\n- Pack size and quantity (bulk/multi-packs often better per-unit value)\\n- Prime eligibility indicators and fulfillment method signals\\n- Product variations (color, size, model) affecting price tiers\\n- Feature density and specification richness\\n- Amazon\\'s Choice or bestseller indicators in description\\n- Customer rating implications (4.5+ stars = premium pricing power)\\n- Seasonal/trending product indicators\\n\\nAmazon-specific pricing patterns:\\n- Electronics: $10-50 (accessories), $50-200 (mid-tier), $200+ (premium)\\n- Home/Kitchen: $15-40 (small items), $40-150 (appliances), $150+ (major items)\\n- Beauty/Personal Care: $8-25 (drugstore), $25-60 (prestige), $60+ (luxury)\\n- Sports/Outdoors: $20-80 (equipment), $30-120 (apparel), $100+ (specialized gear)\\n- Books/Media: $10-20 (paperback), $15-35 (hardcover), $25-50 (specialty)\\n- Toys/Games: $15-40 (standard), $40-100 (premium/electronic)\\n\\nConsider Amazon\\'s psychological pricing (ends in .99, .95, .49) and competitive marketplace pressure.\\n\\nOutput format: Respond with only the price including dollar sign and cents (e.g., \"$24.99\"). No explanations or additional text.'},\n", + " {'role': 'user',\n", + " 'content': \"How much does this cost?\\n\\nOEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\\nAs one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\"},\n", + " {'role': 'assistant', 'content': '$374.41'}]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Try this out\n", + "\n", + "messages_for(test[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "b1af1888-f94a-4106-b0d8-8a70939eec4e", + "metadata": {}, + "outputs": [], + "source": [ + "# A utility function to extract the price from a string\n", + "\n", + "def get_price(s):\n", + " s = s.replace('$','').replace(',','')\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", s)\n", + " return float(match.group()) if match else 0" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "f138c5b7-bcc1-4085-aced-68dad1bf36b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "99.99" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_price(\"The price is roughly $99.99 because blah blah\")" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "501a2a7a-69c8-451b-bbc0-398bcb9e1612", + "metadata": {}, + "outputs": [], + "source": [ + "# The function for gpt-4o-mini\n", + "\n", + "def gpt_fine_tuned(item):\n", + " response = openai.chat.completions.create(\n", + " model=fine_tuned_model_name, \n", + " messages=messages_for(item),\n", + " seed=42,\n", + " max_tokens=7\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return get_price(reply)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "843d88b4-364a-431b-b48b-8a7c1f68b786", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "374.41\n", + "400.06\n" + ] + } + ], + "source": [ + "print(test[0].price)\n", + "print(gpt_fine_tuned(test[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "edd7ada0-15b7-42ec-bbbb-1250e0eb9af1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "How much does this cost to the nearest dollar?\n", + "\n", + "OEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\n", + "As one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\n", + "\n", + "Price is $\n" + ] + } + ], + "source": [ + "print(test[0].test_prompt())" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "36bdd2c9-1859-4f99-a09f-3ec83b845b30", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Testing Gpt Fine Tuned on 250 samples...\n", + "Thresholds: Excellent ≤15%, Good ≤30%\n", + "--------------------------------------------------------------------------------\n", + "\u001b[94m1: Guess: $374.41 Truth: $374.41 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: OEM AC Compressor w/A/C Repair Kit For F...\u001b[0m\n", + "\u001b[95m2: Guess: $161.72 Truth: $225.11 Abs Error: $63.39 % Error: 28.2% SLE: 0.11 Item: Motorcraft YB3125 Fan Clutch\u001b[0m\n", + "\u001b[94m3: Guess: $61.68 Truth: $61.68 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dorman 603-159 Front Washer Fluid Reserv...\u001b[0m\n", + "\u001b[94m4: Guess: $599.99 Truth: $599.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: HP Premium 17.3-inch HD Plus Touchscreen...\u001b[0m\n", + "\u001b[94m5: Guess: $16.99 Truth: $16.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: 5-Position Super Switch Pickup Selector ...\u001b[0m\n", + "\u001b[94m6: Guess: $33.00 Truth: $31.99 Abs Error: $1.01 % Error: 3.2% SLE: 0.00 Item: Horror Bookmarks, Resin Horror Bookmarks...\u001b[0m\n", + "\u001b[94m7: Guess: $101.79 Truth: $101.79 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SK6241 - Stinger 4 Gauge 6000 Series Pow...\u001b[0m\n", + "\u001b[94m8: Guess: $289.00 Truth: $289.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Godox ML60Bi LED Light Kit, Handheld LED...\u001b[0m\n", + "\u001b[94m9: Guess: $629.99 Truth: $635.86 Abs Error: $5.87 % Error: 0.9% SLE: 0.00 Item: Randall RG75DG3PLUS G3 Plus 100-Watt Com...\u001b[0m\n", + "\u001b[94m10: Guess: $61.99 Truth: $65.99 Abs Error: $4.00 % Error: 6.1% SLE: 0.00 Item: HOLDWILL 6 Pack LED Shop Light, 4FT 24W ...\u001b[0m\n", + "\u001b[94m11: Guess: $228.06 Truth: $254.21 Abs Error: $26.15 % Error: 10.3% SLE: 0.01 Item: Viking Horns V103C/1005ATK 3 Gallon Air ...\u001b[0m\n", + "\u001b[94m12: Guess: $412.99 Truth: $412.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: CURT 70110 Custom Tow Bar Base Plate Bra...\u001b[0m\n", + "\u001b[94m13: Guess: $210.57 Truth: $205.50 Abs Error: $5.07 % Error: 2.5% SLE: 0.00 Item: 10-Pack Solar HAMMERED BRONZE Finish Pos...\u001b[0m\n", + "\u001b[94m14: Guess: $248.23 Truth: $248.23 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: COSTWAY Electric Tumble Dryer, Sliver\u001b[0m\n", + "\u001b[94m15: Guess: $399.00 Truth: $399.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: FREE SIGNAL TV Transit 32\" 12 Volt DC Po...\u001b[0m\n", + "\u001b[94m16: Guess: $371.96 Truth: $373.94 Abs Error: $1.98 % Error: 0.5% SLE: 0.00 Item: Bilstein 5100 Monotube Gas Shock Set com...\u001b[0m\n", + "\u001b[94m17: Guess: $81.99 Truth: $92.89 Abs Error: $10.90 % Error: 11.7% SLE: 0.02 Item: Sangean K-200 Multi-Function Upright AM/...\u001b[0m\n", + "\u001b[94m18: Guess: $51.99 Truth: $51.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Charles Leonard Magnetic Lapboard Class ...\u001b[0m\n", + "\u001b[94m19: Guess: $179.00 Truth: $179.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Gigabyte AMD Radeon HD 7870 2 GB GDDR5 D...\u001b[0m\n", + "\u001b[94m20: Guess: $19.00 Truth: $19.42 Abs Error: $0.42 % Error: 2.2% SLE: 0.00 Item: 3dRose LLC 8 x 8 x 0.25 Inches Bull Terr...\u001b[0m\n", + "\u001b[94m21: Guess: $539.95 Truth: $539.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ROKINON 85mm F1.4 Auto Focus Full Frame ...\u001b[0m\n", + "\u001b[94m22: Guess: $147.67 Truth: $147.67 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: AUTOSAVER88 Headlight Assembly Compatibl...\u001b[0m\n", + "\u001b[91m23: Guess: $47.97 Truth: $24.99 Abs Error: $22.98 % Error: 92.0% SLE: 0.40 Item: ASI NAUTICAL 2.5 Inches Opera Glasses Bi...\u001b[0m\n", + "\u001b[94m24: Guess: $149.00 Truth: $149.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Behringer TUBE OVERDRIVE TO100 Authentic...\u001b[0m\n", + "\u001b[94m25: Guess: $16.99 Truth: $16.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Fun Express Insect Finger Puppets - 24 f...\u001b[0m\n", + "\u001b[94m26: Guess: $7.99 Truth: $7.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: WAFJAMF Roller Stamp Identity Theft Stam...\u001b[0m\n", + "\u001b[94m27: Guess: $199.99 Truth: $199.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Capulina Tiffany Floor Lamp 2-Light 16\" ...\u001b[0m\n", + "\u001b[94m28: Guess: $251.45 Truth: $251.45 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Apple Watch Series 6 (GPS, 44mm) - Space...\u001b[0m\n", + "\u001b[94m29: Guess: $231.62 Truth: $231.62 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ICON 01725 Tandem Axle Fender Skirt FS17...\u001b[0m\n", + "\u001b[94m30: Guess: $135.00 Truth: $135.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SanDisk 128GB Ultra (10 Pack) MicroSD Cl...\u001b[0m\n", + "\u001b[94m31: Guess: $356.62 Truth: $356.62 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Velvac 2020,L,C/Hr,W,E2003,102\",Bk - 715...\u001b[0m\n", + "\u001b[94m32: Guess: $257.99 Truth: $257.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: TCMT Passenger Backrest Sissy Bar & Lugg...\u001b[0m\n", + "\u001b[94m33: Guess: $27.99 Truth: $27.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Alnicov 63.5MM Brass Tremolo Block,Tremo...\u001b[0m\n", + "\u001b[94m34: Guess: $171.20 Truth: $171.20 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Subaru Forester Outback Legacy OEM Engin...\u001b[0m\n", + "\u001b[94m35: Guess: $225.00 Truth: $225.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Richmond Auto Upholstery - 2012 Dodge Ra...\u001b[0m\n", + "\u001b[94m36: Guess: $105.00 Truth: $105.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: AP-39 Automotive Paint Primer Grey 2K Ur...\u001b[0m\n", + "\u001b[94m37: Guess: $299.99 Truth: $299.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Road Top Wireless Carplay Retrofit Kit D...\u001b[0m\n", + "\u001b[94m38: Guess: $535.09 Truth: $535.09 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Gibson Performance Exhaust 5658 Aluminiz...\u001b[0m\n", + "\u001b[94m39: Guess: $12.33 Truth: $12.33 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Bella Tunno Happy Links - Baby Montessor...\u001b[0m\n", + "\u001b[94m40: Guess: $81.99 Truth: $84.99 Abs Error: $3.00 % Error: 3.5% SLE: 0.00 Item: CANMORE H300 Handheld GPS Golf Device, S...\u001b[0m\n", + "\u001b[94m41: Guess: $15.99 Truth: $15.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: DCPOWER AC Adapter Compatible Replacemen...\u001b[0m\n", + "\u001b[94m42: Guess: $62.44 Truth: $62.44 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Sharp, VX2128V, Commercial Desktop Calcu...\u001b[0m\n", + "\u001b[94m43: Guess: $82.99 Truth: $82.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Melissa & Doug Lifelike Plush Stork Gian...\u001b[0m\n", + "\u001b[94m44: Guess: $599.95 Truth: $599.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Sony SSCS8 2-Way 3-Driver Center Channel...\u001b[0m\n", + "\u001b[94m45: Guess: $184.99 Truth: $194.99 Abs Error: $10.00 % Error: 5.1% SLE: 0.00 Item: ASUS Chromebook CX1, 14\" Full HD NanoEdg...\u001b[0m\n", + "\u001b[94m46: Guess: $344.99 Truth: $344.95 Abs Error: $0.04 % Error: 0.0% SLE: 0.00 Item: FiiO X7 32GB Hi-Res Lossless Music Playe...\u001b[0m\n", + "\u001b[94m47: Guess: $37.99 Truth: $37.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: TORRO Leather Case Compatible with iPhon...\u001b[0m\n", + "\u001b[94m48: Guess: $228.22 Truth: $224.35 Abs Error: $3.87 % Error: 1.7% SLE: 0.00 Item: Universal Air Conditioner KT 1031 A/C Co...\u001b[0m\n", + "\u001b[94m49: Guess: $814.00 Truth: $814.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Street Series Stainless Performance Cat-...\u001b[0m\n", + "\u001b[94m50: Guess: $399.99 Truth: $439.88 Abs Error: $39.89 % Error: 9.1% SLE: 0.01 Item: Lenovo IdeaPad 3 14-inch Laptop, 14.0-in...\u001b[0m\n", + "\u001b[94m51: Guess: $341.43 Truth: $341.43 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Access Bed Covers TonnoSport 22050219 - ...\u001b[0m\n", + "\u001b[94m52: Guess: $46.78 Truth: $46.78 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: G.I. JOE Hasbro 3 3/4\" Wave 5 Action Fig...\u001b[0m\n", + "\u001b[94m53: Guess: $171.44 Truth: $171.44 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: T&S Brass B-0232-BST Double Pantry Fauce...\u001b[0m\n", + "\u001b[94m54: Guess: $458.00 Truth: $458.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ZTUOAUMA Fuel Injection Pump 3090942 309...\u001b[0m\n", + "\u001b[94m55: Guess: $130.00 Truth: $130.75 Abs Error: $0.75 % Error: 0.6% SLE: 0.00 Item: 2AP18AA#ABA Hp Prime Graphing Calculator...\u001b[0m\n", + "\u001b[94m56: Guess: $81.73 Truth: $83.81 Abs Error: $2.08 % Error: 2.5% SLE: 0.00 Item: Lowrance 000-0119-83 Nmea 2000 25' Exten...\u001b[0m\n", + "\u001b[91m57: Guess: $47.97 Truth: $386.39 Abs Error: $338.42 % Error: 87.6% SLE: 4.28 Item: Jeep Genuine Accessories 82213051 Hood L...\u001b[0m\n", + "\u001b[94m58: Guess: $169.00 Truth: $169.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: GODOX CB-06 Hard Carrying Case with Whee...\u001b[0m\n", + "\u001b[94m59: Guess: $17.95 Truth: $17.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Au-Tomotive Gold, INC. Ford Black Valet ...\u001b[0m\n", + "\u001b[94m60: Guess: $269.00 Truth: $269.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Snailfly Black Roof Rack Rail + Cross Ba...\u001b[0m\n", + "\u001b[94m61: Guess: $77.77 Truth: $77.77 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: KING SHA Anti Glare LED Track Lighting H...\u001b[0m\n", + "\u001b[94m62: Guess: $81.99 Truth: $88.99 Abs Error: $7.00 % Error: 7.9% SLE: 0.01 Item: APS Compatible with Chevy Silverado 1500...\u001b[0m\n", + "\u001b[94m63: Guess: $364.41 Truth: $364.41 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Wilwood Engineering 14011291R Brake Cali...\u001b[0m\n", + "\u001b[94m64: Guess: $127.03 Truth: $127.03 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ACDelco Gold 336-1925A Starter, Remanufa...\u001b[0m\n", + "\u001b[94m65: Guess: $778.95 Truth: $778.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: UWS EC10783 69-Inch Matte Black Heavy-Wa...\u001b[0m\n", + "\u001b[94m66: Guess: $206.66 Truth: $206.66 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dell Latitude E5440 14in Business Laptop...\u001b[0m\n", + "\u001b[94m67: Guess: $35.94 Truth: $35.94 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: (Plug and Play) Spare Tire Brake Light W...\u001b[0m\n", + "\u001b[94m68: Guess: $149.00 Truth: $149.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: The Ultimate Roadside Rescue Assistant\u001b[0m\n", + "\u001b[94m69: Guess: $251.98 Truth: $251.98 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Brand New 18\" x 8.5\" Replacement Wheel f...\u001b[0m\n", + "\u001b[94m70: Guess: $160.00 Truth: $160.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Headlight Headlamp LH Left & RH Right Pa...\u001b[0m\n", + "\u001b[91m71: Guess: $64.90 Truth: $39.99 Abs Error: $24.91 % Error: 62.3% SLE: 0.23 Item: Lilo And Stitch Deluxe Oversize Print La...\u001b[0m\n", + "\u001b[94m72: Guess: $362.41 Truth: $362.41 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: AC Compressor & A/C Clutch For Hyundai A...\u001b[0m\n", + "\u001b[94m73: Guess: $344.00 Truth: $344.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: House Of Troy PIN475-AB Pinnacle Collect...\u001b[0m\n", + "\u001b[94m74: Guess: $22.99 Truth: $25.09 Abs Error: $2.10 % Error: 8.4% SLE: 0.01 Item: Juno T29 WH Floating Electrical Feed Sin...\u001b[0m\n", + "\u001b[94m75: Guess: $175.95 Truth: $175.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Sherman GO-PARTS - for 2013-2016 Toyota ...\u001b[0m\n", + "\u001b[94m76: Guess: $132.64 Truth: $132.64 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Roland RPU-3 Electronic Keyboard Pedal o...\u001b[0m\n", + "\u001b[94m77: Guess: $422.99 Truth: $422.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Rockland VMI14 12,000 Pound 12 Volt DC E...\u001b[0m\n", + "\u001b[94m78: Guess: $146.48 Truth: $146.48 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Max Advanced Brakes Elite XDS Front Cros...\u001b[0m\n", + "\u001b[94m79: Guess: $156.83 Truth: $156.83 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Quality-Built 11030 Premium Quality Alte...\u001b[0m\n", + "\u001b[94m80: Guess: $251.99 Truth: $251.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Lucida LG-510 Student Classical Guitar, ...\u001b[0m\n", + "\u001b[94m81: Guess: $940.33 Truth: $940.33 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Longacre 52-79800 Aluminum Turn Plates\u001b[0m\n", + "\u001b[95m82: Guess: $64.22 Truth: $52.99 Abs Error: $11.23 % Error: 21.2% SLE: 0.04 Item: Motion Pro 08-0380 Adjustable Torque Wre...\u001b[0m\n", + "\u001b[94m83: Guess: $219.99 Truth: $219.95 Abs Error: $0.04 % Error: 0.0% SLE: 0.00 Item: Glyph Thunderbolt 3 NVMe Dock (0 GB)\u001b[0m\n", + "\u001b[94m84: Guess: $441.03 Truth: $441.03 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: TOYO Open Country MT Performance Radial ...\u001b[0m\n", + "\u001b[94m85: Guess: $168.00 Truth: $168.98 Abs Error: $0.98 % Error: 0.6% SLE: 0.00 Item: Razer Seiren X USB Streaming Microphone ...\u001b[0m\n", + "\u001b[95m86: Guess: $3.09 Truth: $2.49 Abs Error: $0.60 % Error: 24.1% SLE: 0.03 Item: Happy Birthday to Dad From Your Daughter...\u001b[0m\n", + "\u001b[94m87: Guess: $97.99 Truth: $98.62 Abs Error: $0.63 % Error: 0.6% SLE: 0.00 Item: Little Tikes My Real Jam First Concert S...\u001b[0m\n", + "\u001b[91m88: Guess: $156.97 Truth: $256.95 Abs Error: $99.98 % Error: 38.9% SLE: 0.24 Item: Studio M Peace and Harmony Art Pole Comm...\u001b[0m\n", + "\u001b[94m89: Guess: $30.99 Truth: $30.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: MyVolts 12V Power Supply Adaptor Compati...\u001b[0m\n", + "\u001b[94m90: Guess: $569.84 Truth: $569.84 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dell Latitude 7212 Rugged Extreme Tablet...\u001b[0m\n", + "\u001b[94m91: Guess: $177.99 Truth: $177.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Covermates Contour Fit Car Cover - Light...\u001b[0m\n", + "\u001b[94m92: Guess: $992.99 Truth: $997.99 Abs Error: $5.00 % Error: 0.5% SLE: 0.00 Item: Westin 57-4025 Black HDX Grille Guard fi...\u001b[0m\n", + "\u001b[94m93: Guess: $219.00 Truth: $219.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Fieldpiece JL2 Job Link Wireless App Tra...\u001b[0m\n", + "\u001b[94m94: Guess: $210.57 Truth: $225.55 Abs Error: $14.98 % Error: 6.6% SLE: 0.00 Item: hansgrohe Talis S Modern Premium Easy Cl...\u001b[0m\n", + "\u001b[94m95: Guess: $495.99 Truth: $495.95 Abs Error: $0.04 % Error: 0.0% SLE: 0.00 Item: G-Technology G-SPEED eS PRO High-Perform...\u001b[0m\n", + "\u001b[94m96: Guess: $942.37 Truth: $942.37 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: DreamLine SHDR-1960723L-01 Shower Door, ...\u001b[0m\n", + "\u001b[94m97: Guess: $1.99 Truth: $1.94 Abs Error: $0.05 % Error: 2.6% SLE: 0.00 Item: Sanctuary Square Backplate Finish: Oiled...\u001b[0m\n", + "\u001b[94m98: Guess: $284.34 Truth: $284.34 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Pelican Protector 1750 Long Case - Multi...\u001b[0m\n", + "\u001b[94m99: Guess: $171.90 Truth: $171.90 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Brock Replacement Driver and Passenger H...\u001b[0m\n", + "\u001b[95m100: Guess: $169.97 Truth: $144.99 Abs Error: $24.98 % Error: 17.2% SLE: 0.02 Item: Carlinkit Ai Box Mini, Android 11, Multi...\u001b[0m\n", + "\u001b[94m101: Guess: $470.47 Truth: $470.47 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: StarDot NetCamLIVE2 YouTube Live Stream ...\u001b[0m\n", + "\u001b[94m102: Guess: $66.95 Truth: $66.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Atomic Compatible FILXXCAR0016 16x25x5 M...\u001b[0m\n", + "\u001b[94m103: Guess: $130.97 Truth: $117.00 Abs Error: $13.97 % Error: 11.9% SLE: 0.01 Item: Bandai Awakening of S. H. s.h.figuarts s...\u001b[0m\n", + "\u001b[94m104: Guess: $172.14 Truth: $172.14 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Fit System 62135G Passenger Side Towing ...\u001b[0m\n", + "\u001b[94m105: Guess: $392.74 Truth: $392.74 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Black Horse Black Aluminum Exceed Runnin...\u001b[0m\n", + "\u001b[94m106: Guess: $16.99 Truth: $16.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dearsun Twinkle Star Color Night Light P...\u001b[0m\n", + "\u001b[91m107: Guess: $1.99 Truth: $1.34 Abs Error: $0.65 % Error: 48.5% SLE: 0.06 Item: Pokemon - Gallade Spirit Link (83/108) -...\u001b[0m\n", + "\u001b[94m108: Guess: $349.00 Truth: $349.98 Abs Error: $0.98 % Error: 0.3% SLE: 0.00 Item: Ibanez GA34STCE-NT GIO Series Classical ...\u001b[0m\n", + "\u001b[94m109: Guess: $370.71 Truth: $370.71 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Set 2 Heavy Duty 12-16.5 12x16.5 12 Ply ...\u001b[0m\n", + "\u001b[94m110: Guess: $57.99 Truth: $65.88 Abs Error: $7.89 % Error: 12.0% SLE: 0.02 Item: Hairpin Table Legs 28\" Heavy Duty Hairpi...\u001b[0m\n", + "\u001b[94m111: Guess: $229.99 Truth: $229.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Marada Racing Seat with Adjustable Slide...\u001b[0m\n", + "\u001b[91m112: Guess: $22.57 Truth: $9.14 Abs Error: $13.43 % Error: 146.9% SLE: 0.71 Item: Remington Industries 24UL1007STRWHI25 24...\u001b[0m\n", + "\u001b[94m113: Guess: $199.00 Truth: $199.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Acer S3-391-6046 13.3-inch Ultrabook, In...\u001b[0m\n", + "\u001b[94m114: Guess: $109.99 Truth: $109.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ICBEAMER 7\" RGB LED Headlights Bulb Halo...\u001b[0m\n", + "\u001b[94m115: Guess: $570.42 Truth: $570.42 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: R1 Concepts Front Rear Brakes and Rotors...\u001b[0m\n", + "\u001b[94m116: Guess: $279.99 Truth: $279.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Camplux 2.64 GPM Tankless , Outdoor Port...\u001b[0m\n", + "\u001b[94m117: Guess: $30.99 Truth: $30.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: KNOKLOCK 10 Pack 3.75 Inch(96mm) Kitchen...\u001b[0m\n", + "\u001b[94m118: Guess: $31.99 Truth: $31.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Valley Enterprises Yaesu USB FTDI CT-62 ...\u001b[0m\n", + "\u001b[94m119: Guess: $15.90 Truth: $15.90 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: G9 LED Light Bulbs,8W,75W 100W replaceme...\u001b[0m\n", + "\u001b[94m120: Guess: $45.99 Truth: $45.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ZCHAOZ 4 Lights Antique White Farmhouse ...\u001b[0m\n", + "\u001b[94m121: Guess: $113.52 Truth: $113.52 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Honeywell TH8320R1003 Honeywell VisionPr...\u001b[0m\n", + "\u001b[94m122: Guess: $516.99 Truth: $516.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Patriot Exhaust H8013-1 1-7/8\" Clippster...\u001b[0m\n", + "\u001b[95m123: Guess: $166.22 Truth: $196.99 Abs Error: $30.77 % Error: 15.6% SLE: 0.03 Item: Fitrite Autopart New Front Left Driver S...\u001b[0m\n", + "\u001b[94m124: Guess: $46.99 Truth: $46.55 Abs Error: $0.44 % Error: 0.9% SLE: 0.00 Item: Technical Precision Replacement for GE G...\u001b[0m\n", + "\u001b[94m125: Guess: $356.99 Truth: $356.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Covercraft Carhartt SeatSaver Front Row ...\u001b[0m\n", + "\u001b[94m126: Guess: $319.95 Truth: $319.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Sennheiser SD Pro 2 (506008) - Double-Si...\u001b[0m\n", + "\u001b[94m127: Guess: $96.06 Truth: $96.06 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Hitachi MAF0110 Mass Air Flow Sensor\u001b[0m\n", + "\u001b[94m128: Guess: $190.99 Truth: $190.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: AmScope SE305R-P-LED-PS36A 10X-30X LED C...\u001b[0m\n", + "\u001b[94m129: Guess: $257.99 Truth: $257.95 Abs Error: $0.04 % Error: 0.0% SLE: 0.00 Item: Front Left Driver Side Window Regulator ...\u001b[0m\n", + "\u001b[94m130: Guess: $57.95 Truth: $62.95 Abs Error: $5.00 % Error: 7.9% SLE: 0.01 Item: Premium Replica Hubcap Set, Fits Nissan ...\u001b[0m\n", + "\u001b[94m131: Guess: $47.66 Truth: $47.66 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Excellerations Phonics Spelling Game for...\u001b[0m\n", + "\u001b[94m132: Guess: $226.99 Truth: $226.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: RC4WD BigDog Dual Axle Scale Car/Truck T...\u001b[0m\n", + "\u001b[94m133: Guess: $359.95 Truth: $359.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Unknown Stage 2 Clutch Kit - Low Altitud...\u001b[0m\n", + "\u001b[94m134: Guess: $78.40 Truth: $78.40 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: 2002-2008 Dodge Ram 1500 Mopar 4X4 Emble...\u001b[0m\n", + "\u001b[94m135: Guess: $172.77 Truth: $172.77 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Pro Comp Alloys Series 89 Wheel with Pol...\u001b[0m\n", + "\u001b[94m136: Guess: $316.45 Truth: $316.45 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Detroit Axle - Front Rear Strut & Coil S...\u001b[0m\n", + "\u001b[94m137: Guess: $87.99 Truth: $87.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ECCPP Rear Wheel Axle Replacement fit fo...\u001b[0m\n", + "\u001b[94m138: Guess: $226.63 Truth: $226.63 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dell Latitude E6520 Intel i7-2720QM 2.20...\u001b[0m\n", + "\u001b[94m139: Guess: $31.49 Truth: $31.49 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: F FIERCE CYCLE 251pcs Black Universal Mo...\u001b[0m\n", + "\u001b[94m140: Guess: $196.00 Truth: $196.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Flash Furniture 4 Pk. HERCULES Series 88...\u001b[0m\n", + "\u001b[95m141: Guess: $57.99 Truth: $78.40 Abs Error: $20.41 % Error: 26.0% SLE: 0.09 Item: B&M 30287 Throttle Valve/Kickdown Cable,...\u001b[0m\n", + "\u001b[94m142: Guess: $116.25 Truth: $116.25 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Gates TCK226 PowerGrip Premium Timing Be...\u001b[0m\n", + "\u001b[94m143: Guess: $112.78 Truth: $112.78 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Monroe Shocks & Struts Quick-Strut 17149...\u001b[0m\n", + "\u001b[95m144: Guess: $22.47 Truth: $27.32 Abs Error: $4.85 % Error: 17.8% SLE: 0.04 Item: Feit Electric BPMR16/GU10/930CA/6 35W EQ...\u001b[0m\n", + "\u001b[94m145: Guess: $145.91 Truth: $145.91 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Yellow Jacket 2806 Contractor Extension ...\u001b[0m\n", + "\u001b[94m146: Guess: $171.09 Truth: $171.09 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Garage-Pro Tailgate SET Compatible with ...\u001b[0m\n", + "\u001b[94m147: Guess: $169.97 Truth: $167.95 Abs Error: $2.02 % Error: 1.2% SLE: 0.00 Item: 3M Perfect It Buffing and Polishing Kit ...\u001b[0m\n", + "\u001b[91m148: Guess: $57.99 Truth: $28.49 Abs Error: $29.50 % Error: 103.5% SLE: 0.48 Item: Chinese Style Dollhouse Model DIY Miniat...\u001b[0m\n", + "\u001b[94m149: Guess: $122.23 Truth: $122.23 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Generic NRG Innovations SRK-161H Steerin...\u001b[0m\n", + "\u001b[91m150: Guess: $57.99 Truth: $32.99 Abs Error: $25.00 % Error: 75.8% SLE: 0.30 Item: Learning Resources Coding Critters Range...\u001b[0m\n", + "\u001b[94m151: Guess: $81.47 Truth: $71.20 Abs Error: $10.27 % Error: 14.4% SLE: 0.02 Item: Bosch Automotive 15463 Oxygen Sensor, OE...\u001b[0m\n", + "\u001b[94m152: Guess: $112.75 Truth: $112.75 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Case of 24-2 Inch Blue Painters Tape - 6...\u001b[0m\n", + "\u001b[94m153: Guess: $142.43 Truth: $142.43 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: MOCA Engine Water Pump & Fan Clutch fit ...\u001b[0m\n", + "\u001b[94m154: Guess: $398.99 Truth: $398.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SAREMAS Foot Step Bars for Hyundai Palis...\u001b[0m\n", + "\u001b[94m155: Guess: $449.00 Truth: $449.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Gretsch G9210 Square Neck Boxcar Mahogan...\u001b[0m\n", + "\u001b[94m156: Guess: $169.97 Truth: $189.00 Abs Error: $19.03 % Error: 10.1% SLE: 0.01 Item: NikoMaku Mirror Dash Cam Front and Rear ...\u001b[0m\n", + "\u001b[94m157: Guess: $120.91 Truth: $120.91 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Fenix HP25R v2.0 USB-C Rechargeable Head...\u001b[0m\n", + "\u001b[94m158: Guess: $203.53 Truth: $203.53 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: R&L Racing Heavy Duty Roll-Up Soft Tonne...\u001b[0m\n", + "\u001b[94m159: Guess: $399.99 Truth: $349.99 Abs Error: $50.00 % Error: 14.3% SLE: 0.02 Item: Garmin 010-02258-10 GPSMAP 64sx, Handhel...\u001b[0m\n", + "\u001b[91m160: Guess: $22.99 Truth: $34.35 Abs Error: $11.36 % Error: 33.1% SLE: 0.15 Item: Brown 5-7/8\" X 8-1/2\" X 3/16\" Thick Heav...\u001b[0m\n", + "\u001b[94m161: Guess: $384.99 Truth: $384.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: GAOMON PD2200 Pen Display & 20 Pen Nibs ...\u001b[0m\n", + "\u001b[94m162: Guess: $211.00 Truth: $211.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: VXMOTOR for 97-03 Ford F150/F250 Lightdu...\u001b[0m\n", + "\u001b[94m163: Guess: $129.00 Truth: $129.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: HP EliteBook 2540p Intel Core i7-640LM X...\u001b[0m\n", + "\u001b[94m164: Guess: $111.45 Truth: $111.45 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Green EPX Mixing Nozzles 100-Pack-fits 3...\u001b[0m\n", + "\u001b[94m165: Guess: $81.12 Truth: $81.12 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Box Partners 6 1/4 x 3 1/8\" 13 Pt. Manil...\u001b[0m\n", + "\u001b[94m166: Guess: $457.08 Truth: $457.08 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Vixen Air 1/2\" NPT Air Ride Suspension H...\u001b[0m\n", + "\u001b[94m167: Guess: $49.99 Truth: $49.49 Abs Error: $0.50 % Error: 1.0% SLE: 0.00 Item: Smart Floor Lamp, 2700-6500K+RGBPink Mul...\u001b[0m\n", + "\u001b[94m168: Guess: $80.56 Truth: $80.56 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SOZG 324mm Wheelbase Body Shell RC Car B...\u001b[0m\n", + "\u001b[94m169: Guess: $278.39 Truth: $278.39 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Mickey Thompson ET Street S/S Racing Rad...\u001b[0m\n", + "\u001b[94m170: Guess: $364.50 Truth: $364.50 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Pirelli 275/40R20 106W XL RFT P0 PZ4-LUX...\u001b[0m\n", + "\u001b[94m171: Guess: $378.99 Truth: $378.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Torklift C3212 Rear Tie Down\u001b[0m\n", + "\u001b[94m172: Guess: $165.28 Truth: $165.28 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Cardone 78-4226 Remanufactured Ford Comp...\u001b[0m\n", + "\u001b[94m173: Guess: $57.33 Truth: $56.74 Abs Error: $0.59 % Error: 1.0% SLE: 0.00 Item: Kidde AccessPoint 001798 Supra TouchPoin...\u001b[0m\n", + "\u001b[94m174: Guess: $307.95 Truth: $307.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: 3M Protecta 3100414 Self Retracting Life...\u001b[0m\n", + "\u001b[94m175: Guess: $38.00 Truth: $38.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Plantronics 89435-01 Wired Headset, Blac...\u001b[0m\n", + "\u001b[95m176: Guess: $63.88 Truth: $53.00 Abs Error: $10.88 % Error: 20.5% SLE: 0.03 Item: Logitech K750 Wireless Solar Keyboard fo...\u001b[0m\n", + "\u001b[94m177: Guess: $498.00 Truth: $498.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Olympus PEN E-PL9 Body Only with 3-Inch ...\u001b[0m\n", + "\u001b[94m178: Guess: $53.99 Truth: $53.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Beck/Arnley 051-6066 Hub & Bearing Assem...\u001b[0m\n", + "\u001b[94m179: Guess: $319.88 Truth: $350.00 Abs Error: $30.12 % Error: 8.6% SLE: 0.01 Item: Eibach Pro-Kit Performance Springs E10-6...\u001b[0m\n", + "\u001b[94m180: Guess: $299.99 Truth: $299.95 Abs Error: $0.04 % Error: 0.0% SLE: 0.00 Item: LEGO DC Batman 1989 Batwing 76161 Displa...\u001b[0m\n", + "\u001b[94m181: Guess: $94.93 Truth: $94.93 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Kingston Brass KS3608PL Restoration 4-In...\u001b[0m\n", + "\u001b[94m182: Guess: $379.00 Truth: $379.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Polk Vanishing Series 265-LS In-Wall 3-W...\u001b[0m\n", + "\u001b[94m183: Guess: $299.95 Truth: $299.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Spec-D Tuning LED Projector Headlights G...\u001b[0m\n", + "\u001b[94m184: Guess: $24.99 Truth: $24.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: RICHMOND & FINCH Airpod Pro Case, Green ...\u001b[0m\n", + "\u001b[94m185: Guess: $41.04 Truth: $41.04 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: LFA Industries 43B-5A-33JT 1/16-1/2-1.5-...\u001b[0m\n", + "\u001b[94m186: Guess: $327.90 Truth: $327.90 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SAUTVS LED Headlight Assembly for Slings...\u001b[0m\n", + "\u001b[94m187: Guess: $10.99 Truth: $10.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: 2 Pack Combo Womens Safety Glasses Impac...\u001b[0m\n", + "\u001b[94m188: Guess: $14.99 Truth: $14.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Arepa - Venezuelan cuisine - Venezuela P...\u001b[0m\n", + "\u001b[91m189: Guess: $22.57 Truth: $84.95 Abs Error: $62.38 % Error: 73.4% SLE: 1.67 Item: Schlage Lock Company KS23D2300 Padlock, ...\u001b[0m\n", + "\u001b[94m190: Guess: $111.00 Truth: $111.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Techni Mobili White Sit to Stand Mobile ...\u001b[0m\n", + "\u001b[94m191: Guess: $123.73 Truth: $123.73 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Special Lite Products Contemporary Wall ...\u001b[0m\n", + "\u001b[94m192: Guess: $557.38 Truth: $557.38 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Tascam DP-24SD 24-Track Digital Portastu...\u001b[0m\n", + "\u001b[94m193: Guess: $95.55 Truth: $95.55 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Glow Lighting 636CC10SP Vista Crystal Fl...\u001b[0m\n", + "\u001b[94m194: Guess: $154.00 Truth: $154.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Z3 Wind Deflector, Smoke Tint, Lexan, Wi...\u001b[0m\n", + "\u001b[94m195: Guess: $198.99 Truth: $198.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Olympus E-20 5MP Digital Camera w/ 4x Op...\u001b[0m\n", + "\u001b[94m196: Guess: $430.44 Truth: $430.44 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: PHYNEDI 1:1000 World Trade Center (1973-...\u001b[0m\n", + "\u001b[94m197: Guess: $45.67 Truth: $45.67 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: YANGHUAN Unstable Unicorns Adventure Car...\u001b[0m\n", + "\u001b[94m198: Guess: $249.00 Truth: $249.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Interlogix NX-1820E NetworX Touch Screen...\u001b[0m\n", + "\u001b[94m199: Guess: $42.99 Truth: $42.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Steering Damper,Universal Motorcycle Han...\u001b[0m\n", + "\u001b[94m200: Guess: $181.33 Truth: $181.33 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Amprobe TIC 410A Hot Stick Attachment\u001b[0m\n", + "\u001b[95m201: Guess: $6.99 Truth: $6.03 Abs Error: $0.96 % Error: 15.9% SLE: 0.02 Item: MyCableMart 3.5mm Plug/Jack, 4 Conductor...\u001b[0m\n", + "\u001b[94m202: Guess: $33.94 Truth: $29.99 Abs Error: $3.95 % Error: 13.2% SLE: 0.01 Item: OtterBox + Pop Symmetry Series Case for ...\u001b[0m\n", + "\u001b[94m203: Guess: $899.00 Truth: $899.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dell XPS X8700-1572BLK Desktop ( Intel C...\u001b[0m\n", + "\u001b[94m204: Guess: $399.99 Truth: $399.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Franklin Iron Works Sperry Industrial Br...\u001b[0m\n", + "\u001b[94m205: Guess: $4.66 Truth: $4.66 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Avery Legal Dividers, Standard Collated ...\u001b[0m\n", + "\u001b[94m206: Guess: $261.41 Truth: $261.41 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Moen 8346 Commercial Posi-Temp Pressure ...\u001b[0m\n", + "\u001b[94m207: Guess: $136.97 Truth: $136.97 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Carlisle Versa Trail ATR All Terrain Rad...\u001b[0m\n", + "\u001b[94m208: Guess: $79.00 Truth: $79.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SUNWAYFOTO 44mm Tripod Ball Head Arca Co...\u001b[0m\n", + "\u001b[94m209: Guess: $444.99 Truth: $444.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: NanoBeam AC NBE-5AC-Gen2-US 4 Units 5GHz...\u001b[0m\n", + "\u001b[94m210: Guess: $411.94 Truth: $411.94 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: WULF 4\" Front 2\" Rear Leveling Lift Kit ...\u001b[0m\n", + "\u001b[94m211: Guess: $148.40 Truth: $148.40 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Alera ALEVABFMC Valencia Series Mobile B...\u001b[0m\n", + "\u001b[94m212: Guess: $244.99 Truth: $244.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: YU-GI-OH! Ignition Assault Booster Box\u001b[0m\n", + "\u001b[94m213: Guess: $86.50 Truth: $86.50 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: 48\" x 36\" Extra-Large Framed Magnetic Bl...\u001b[0m\n", + "\u001b[94m214: Guess: $297.95 Truth: $297.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Dell Latitude D620 Renewed Notebook PC\u001b[0m\n", + "\u001b[94m215: Guess: $399.99 Truth: $399.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: acer Aspire 5 Laptop, AMD Ryzen 3 5300U ...\u001b[0m\n", + "\u001b[94m216: Guess: $599.00 Truth: $599.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Elk 31080/6RC-GRN 30 by 6-Inch Viva 6-Li...\u001b[0m\n", + "\u001b[91m217: Guess: $64.90 Truth: $105.99 Abs Error: $41.09 % Error: 38.8% SLE: 0.23 Item: Barbie Top Model Doll\u001b[0m\n", + "\u001b[94m218: Guess: $629.97 Truth: $689.00 Abs Error: $59.03 % Error: 8.6% SLE: 0.01 Item: Danby Designer 20-In. Electric Range wit...\u001b[0m\n", + "\u001b[94m219: Guess: $404.99 Truth: $404.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: FixtureDisplaysĀ® Metal Truss Podium Doub...\u001b[0m\n", + "\u001b[94m220: Guess: $207.76 Truth: $207.76 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: ACDelco 13597235 GM Original Equipment A...\u001b[0m\n", + "\u001b[94m221: Guess: $171.82 Truth: $171.82 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: EBC S1KF1135 Stage-1 Premium Street Brak...\u001b[0m\n", + "\u001b[94m222: Guess: $293.24 Truth: $293.24 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: FXR Men's Boost FX Jacket (Black/Orange/...\u001b[0m\n", + "\u001b[94m223: Guess: $374.95 Truth: $374.95 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SuperATV Scratch Resistant 3-in-1 Flip W...\u001b[0m\n", + "\u001b[94m224: Guess: $111.99 Truth: $111.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: SBU 3 Layer All Weather Mini Van Car Cov...\u001b[0m\n", + "\u001b[91m225: Guess: $22.99 Truth: $42.99 Abs Error: $20.00 % Error: 46.5% SLE: 0.37 Item: 2 Pack Outdoor Brochure Holder Advertisi...\u001b[0m\n", + "\u001b[94m226: Guess: $116.71 Truth: $116.71 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Monroe Shocks & Struts Quick-Strut 17158...\u001b[0m\n", + "\u001b[94m227: Guess: $118.61 Truth: $118.61 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Elements of Design Magellan EB235AL Thre...\u001b[0m\n", + "\u001b[94m228: Guess: $147.12 Truth: $147.12 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: GM Genuine Parts 15-62961 Air Conditioni...\u001b[0m\n", + "\u001b[94m229: Guess: $119.99 Truth: $119.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Baseus 17-in-1 USB C Docking Station to ...\u001b[0m\n", + "\u001b[94m230: Guess: $369.98 Truth: $369.98 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Whitehallā„¢ Personalized Whitehall Capito...\u001b[0m\n", + "\u001b[94m231: Guess: $315.55 Truth: $315.55 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Pro Circuit Works Pipe PY05250 for 02-19...\u001b[0m\n", + "\u001b[94m232: Guess: $210.00 Truth: $190.99 Abs Error: $19.01 % Error: 10.0% SLE: 0.01 Item: HYANKA 15 \"1200W Professional DJ Speaker...\u001b[0m\n", + "\u001b[94m233: Guess: $155.00 Truth: $155.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Bluetooth X6BT Card Reader Writer Encode...\u001b[0m\n", + "\u001b[94m234: Guess: $349.99 Truth: $349.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: AIRAID Cold Air Intake System by K&N: In...\u001b[0m\n", + "\u001b[94m235: Guess: $249.99 Truth: $249.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Bostingner Shower Faucets Sets Complete,...\u001b[0m\n", + "\u001b[94m236: Guess: $42.99 Truth: $42.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: PIT66 Front Bumper Turn Signal Lights, C...\u001b[0m\n", + "\u001b[95m237: Guess: $22.99 Truth: $17.99 Abs Error: $5.00 % Error: 27.8% SLE: 0.05 Item: Caseology Bumpy Compatible with Google P...\u001b[0m\n", + "\u001b[94m238: Guess: $425.00 Truth: $425.00 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Fleck 2510 Timer Mechanical Filter Contr...\u001b[0m\n", + "\u001b[94m239: Guess: $249.99 Truth: $249.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Haloview MC7108 Wireless RV Backup Camer...\u001b[0m\n", + "\u001b[94m240: Guess: $138.23 Truth: $138.23 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Schmidt Spiele - Manhattan\u001b[0m\n", + "\u001b[94m241: Guess: $354.99 Truth: $414.99 Abs Error: $60.00 % Error: 14.5% SLE: 0.02 Item: Corsa 14333 Tip Kit (Ford Mustang GT)\u001b[0m\n", + "\u001b[94m242: Guess: $168.28 Truth: $168.28 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Hoshizaki FM116A Fan Motor Kit 1\u001b[0m\n", + "\u001b[94m243: Guess: $199.99 Truth: $199.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: BAINUO Antler Chandelier Lighting,6 Ligh...\u001b[0m\n", + "\u001b[94m244: Guess: $126.70 Truth: $126.70 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: DNA MOTORING HL-OH-FEXP06-SM-AM Smoke Le...\u001b[0m\n", + "\u001b[94m245: Guess: $5.91 Truth: $5.91 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Wera Stainless 3840/1 TS 2.5mm Hex Inser...\u001b[0m\n", + "\u001b[94m246: Guess: $193.06 Truth: $193.06 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Celestron - PowerSeeker 127EQ Telescope ...\u001b[0m\n", + "\u001b[94m247: Guess: $249.99 Truth: $249.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: NHOPEEW 10.1inch Android Car Radio Carpl...\u001b[0m\n", + "\u001b[94m248: Guess: $64.12 Truth: $64.12 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Other Harmonica (Suzuki-2Timer24-Ā A)\u001b[0m\n", + "\u001b[94m249: Guess: $114.99 Truth: $114.99 Abs Error: $0.00 % Error: 0.0% SLE: 0.00 Item: Harley Air Filter Venturi Intake Air Cle...\u001b[0m\n", + "\u001b[94m250: Guess: $928.33 Truth: $926.00 Abs Error: $2.33 % Error: 0.3% SLE: 0.00 Item: Elite Screens Edge Free Ambient Light Re...\u001b[0m\n", + "\n", + "------------------------------------------------------------\n", + "TEST SUMMARY: Gpt Fine Tuned\n", + "------------------------------------------------------------\n", + "Samples tested: 250\n", + "Average absolute error: $5.18\n", + "Average percentage error: 5.1%\n", + "RMSLE: 0.1979\n", + "\n", + "Performance Breakdown:\n", + " šŸ”µ Excellent (<=15% error): 228 (91.2%)\n", + " 🟣 Good (<=30% error): 10 (4.0%)\n", + " šŸ”“ Poor (>30% error): 12 (4.8%)\n", + "------------------------------------------------------------\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+0AAALNCAYAAABanICRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsAVJREFUeJzs3Qd4VFX6x/FfeiMhtAAh9F4F6YgCCmJBsIICgmV33XV17W11bX/Lqru2XV3LrlIUO9gVG2IBFcFG772XkN7n/7x3mEwSAiSQ5CaT7+d5hpAzd+6cmbkzmfe+57wnyOPxeAQAAAAAAKqdYLc7AAAAAAAASkfQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgAAAABANUXQDgBAJfj11191+eWXq23btoqKinIu7du31xVXXKEff/zxqPf7wAMP6O233y7z9kFBQaVeGjZs6Fw/dOhQ51KVLrnkkkP2q+jFtqtO1q9f7/RrypQpbncFAFCLhLrdAQAAAs2zzz6rq666Sh07dtQ111yjrl27OsHesmXL9Morr6hv375avXq1E9AfTdB+/vnn6+yzzy7zbWz7G264oVhbWFiY8/Ppp59WVfvb3/6mP/7xj4W/L1q0SH/+85+dxzZs2LDC9kaNGlV53wAAqG4I2gEAqEDffvutrrzySp155pl68803FR4eXnjdySef7ASnb7zxhpN5ryqNGzfWgAEDSr2uS5cuqmp2sqLoCYusrCznp41EOFQ/AQCorRgeDwBABbJscUhIiJNtLxqwF3XBBRcoMTGx8HcbBl6nTh0tWbJEp5xyimJiYpwss2XrMzIyCrezbH16erqmTp1aOIT8WIe2lxwe7xsC/o9//EOPPvqoWrdu7fRt4MCB+u677w66vQ31Hz16tOrXr6/IyEj16tVLr7/+uo7V3Xff7fSjJBuabu3WT59WrVpp1KhR+vjjj3X88cc7J0Q6deqkF1544aDbb9++3ZmikJSU5Lw+9vjuuece5eXlFdtu69atGjt2rGJjY1W3bl2NGzfOuS0AAFWNTDsAABUkPz9fc+bMUZ8+fdS0adNy3TY3N1dnnHGGE1Deeuutmjdvnu677z5t2LBB7733nrPN/PnznWy9DSG3IeYmLi7uiPv2eDwHBaV2YqG0oNjnqaeecgLfxx9/3Pnd7s/6t27dOieINfZYTzvtNPXv31/PPPOM0/7qq686Aa6dbKjKOem//PKLMwXAnjsbWfDf//7XqSnQrl07nXTSSc42FnT369dPwcHBuvPOO51svz2n9jzbSYAXX3zR2S4zM1PDhw93AvcHH3xQHTp00AcffOA8LgAAqhpBOwAAFWT37t1OwNeyZctSA3oLng8VNOfk5DhB51/+8hfn9xEjRjjzzm+//XZnyP0JJ5zgDB23gNOy8OUZRm7z1kvOXX/++ef1u9/97pC3sQzz+++/7/TT2MgAC3g/+ugjXXjhhU6bTQOw+fpffPGFQkO9XylGjhzpPA9//etfNWnSJKe/VcHu056nFi1aOL9boP75559rxowZhUG7Ze/37dvnjGjwbWcjGywzf+ONN+qmm25ypgvYSAarP/DOO+84owjMqaee6ry29rwBAFCVGB4PAEAV6N27txOE+y7//Oc/D9pmwoQJxX4fP358YUb7WNgw7wULFhS7HKmQnc3J9wXspkePHs5Py/wbK6S3fPnywj5bJt93sYz8tm3btGLFClWVnj17FgbixobqW4bc119jJyFslIKdgCja39NPP925fu7cuYXPt5208AXsJV8PAACqEpl2AAAqiC2jZlnbooGij2V8bci4BbMlg0FjmeoGDRoUa2vSpInzc8+ePcfUL8vM25D98ijZl4iICOenZZvNjh07nJ+WobbLobLfVaVkf3199vXX12ebauCrnH+o/trzbUPsS/K9HgAAVCWCdgAAKohlpm3O+SeffOIE50XntfuqtBctoFaUZXwtWCwafPoKn5UWkLrNt877bbfdpnPPPbfUbWzJu6NlmXKTnZ1deMLgWE8EWJ9txMD9999f6vW+4oD2fP/www8HXU8hOgCAGxgeDwBABbIg1uav2zrkVlyuPF5++eWDsvOmaHX3ktljt1hAbku0WQE4y+KXdrEh5kfLKsKbX3/9tVi7ryjf0bAK84sXL3YK0JXWX1/QbkPoU1NT9e6775b6egAAUJXItAMAUIGsYJxVXr/66qud5cf+8Ic/OMXarCCbZd/feuutUqu+2/JjNs89LS1Nffv2Laweb/OtBw8eXLhd9+7d9eWXXzrBq2XyLTA+loz2sbBl7ax/VnzOKsU3a9ZMe/fudYq4LVq0yFmP/mjZvHhbRs4qwN97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+rJ+/frDPhYbkhkcHOy56qqrPHl5eYcd/rlo0SLPNddc45k1a5bnq6++8rzwwguezp07O/fz8ccfe47kT3/6kycqKqrUIaPjx4/3vPzyy85+33zzTWe4vj22O+64w1Nehxoeb2xodXh4eOHr8s477zjtw4cP91x++eVl2v+qVauc2//nP/+p8OHxr732mjMk3KZK2HDwjh07OsPE9+3bd9B+fUPXbbhykyZNnNvt2bPHmd4wZcoUZ3huyeHxNiT37LPPLna89urVy3P77bd7du7cecj7OJTyvBfuuecep+3LL7887D7tOLDbz58//6Dr/vCHPzivX3kcblhzz549PR06dCg2DNqeR5seYn2YMWNGse3t88eeX99jtKkSn376aZn6Ud7h8Ye6TJ8+vdi2Dz30kNNu70t7zew9Zp+FPvaesuvtNT6UjRs3ekJDQz1XX311sXb7nLVjy6a1lGd4/CuvvOJs89Zbb5U6xanoFAd7bSIjIz0bNmwoNu3AntsrrriiTMPj7ZiyY8uOscOx94d93pV8r69evbrw+fUNUy+pvMPjS/P888879/HEE08Ua7fXLi4urnB60rPPPuu0Wz/tswlA7UHQDqBGsy+E9mU0OTm5sO3SSy91vuSsXLmysM2C84EDBxb+7psv+NRTTxUL4m3uckkW6JQnaLcTCfYltOjlxx9/LLatbXfOOeccch++oNHHvsxa+w8//HDQbSxA7t+/f7HnpF69ep5j9eijjzpfFBs1auT8vO2228ociFgwmZSU5OnRo8cRtx0zZoynRYsWZe7XqFGjnECiZDB5LEG7SUtLc06O+OaU2uuYkJDgnFixL/V2AsHmNFvgVlpgvn///jKfUChv0F7y0rRpU8+6detK3a8voLYTM3YS6t133/U8+eSTntjYWGeOdmlBe9H3xWOPPeaZMGGC8/rZdg0aNPAsX7681PuoiPdCWfmC9u+++67UoN2O0fI4XLD1v//9z7kvO6G0efNmJ3i1QMkCQGt/9dVXC7e1k1R231br4bPPPnNqJFhNAZufXJaTVuUN2i1QLvmc2sWO0aLsJJg9Rgt87Xb//e9/i11v7+fDBaNFg0nbv520KHoZN26c8/4oT9Bux5XVyLD52SX3V/IkgL02pdW5sDaby12Rc9rNxRdf7AkLC3NOwNhz+csvvzifq77XfPv27ZUStNvxYiec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/XZhQPvwww87GXgLJI877ji9+eabBw0Pnz17tvr06ePsa/r06erevbtzvd3OrrdK5ea9995T7969FRkZ6Vx3zz33KC8vr3B/NszcsvKNGzd2tunWrZvef/99534uvfRS7d+/vzCDfvfddx/yMdn19pjshMGwYcN01113afHixVq9enWpfbaTFUd6rObDDz9Uhw4dnOttv77HdbjRAO+++65zP/Z4GjZsqHPPPddpHzp0qDZs2KDrrruu8DEdah92AqVt27bOUoIdO3Z0nuOSj/e///2vzjnnHGf1AlvKze4XAAAAQCVl19d/Is3/vyIBe5DU4hRpwJ1VHrAbMu21iAWkliU3d9xxh2bOnOkEjRYIfvXVV5o4caKzZNiQIUMKb3PzzTfrH//4hxPwWnD62Wefafjw4frhhx+ckwG2vQXJdtsnn3xSJ554otasWVM4bN6Calsy7/TTT1dqaqpeeuklJ0hdunSpkxkfNGiQM4z8zjvvdDLopk6dOuV6TMb3uEr22YLkIz3WTZs2OQH3H//4R/3pT3/Sjz/+qBtuuOGw9/vBBx84t7n99tudQNuWBrQ2Y/dlJwbsOfj9739/yH3MmjVL11xzjfP47Tm1kxh2AiMpKck5ceBjJ0DspMMjjzyif/3rX87JFzspUL9+/TI/TwAAAACOIG2btGSKlFIkgRed4M2u12sntxC0H43vH5Cy91f9/UbUlfr/9ahuakH2jBkzdMoppzhD5B999FF98cUXGjhwoHO9BbjffPONnn322WJB+7333qsRI0YU/r5r1y7npwW8lvE2999/v2699VZNnjy5cF//93//5wTPFrRboG/3v2zZMieb7dvGp27duoUZ9PLYvHmzE8hakGv73b1790F9LstjtWDe2h577DGnH5bx/u233/TQQw8d8r7tMV944YVOQO1jgbqxYNpOSMTGxh72MdmJBas9cOWVVzq/X3/99fruu++c9qJBu21z0UUXOf9/4IEHnMDdnk+b/gAAAACgIrLrs6U170uevOLZ9XZjpJBwuYmg/WhYwJ7trSpenVnm1rLWNkzdMtFjxoxxAj7LcmdlZRULxo1li3v16lWszYZ/H8nChQu1YMECJ5D1sbnkdh8ZGRnOfHNfYH2sbBi9PSYb8m77Pv74453Mtg0vL63PZXmsdjJhwIABxdY49wX4h2KP6XBZ9LKw+y1Z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pDlfePT0Hd9oeIs3tSEpS8OG2ao6kpoOlDqOlcKi3e4iAKA2VY8HAADAAZl79Nu06To1aZmCbFW37dLO/fFKGjFRatTd7d4BAAIAQTsAAMDRzF3f/JW06i21q5+trVmSp0D6edcJGnHC+VIjsusAgIpB0A4AAFAeGbulpdOkfSucX/v3k+Z+X08fb7hY42/rqsSWbncQABBICNoBAADKml3f9KW0aqZUkFPY3KDHiTr3/PN1bmikq90DAAQmgnYAAIAjydgpLZkmJa/yt0XWl7pMkhp0drNnAIAAd1Trs3399deaOHGiBg4cqC1btjht06dP1zfffFPR/QMAAHA3u77hc2n+vcUD9qQh0sC7CNgBANUvaH/rrbc0cuRIRUVF6aefflJ2drbTnpqaqgceeKAy+ggAAFDl665vXL5DBT88Iq18XSrI9V4R1VA6/jqp83iJ4fAAgOoYtN9333165pln9PzzzyssLKywfdCgQVq0aFFF9w8AAKBKrVtboL//6VN999j/acGna5xku6P5MGnAnVKDTi73EABQm5R7TvuKFSt00kknHdQeFxen5OTkiuoXAABA1Uvfrl0fTVW38LUKDZZsFuD+3EaKHzhJqt/B7d4BAGqhcgftTZs21erVq9WqVati7TafvU2bNhXZNwAAgKphi6xv+FRa/a6axeRpU5iUnR2kDZ6TNfLEMVJchNs9BADUUuUO2q+44gpdc801euGFFxQUFKStW7dq/vz5uvHGG3XnnXdWTi8BAAAqS9pWaclUKWW982tionT84AT9mDlZF45op5g4tzsIAKjNyh2033zzzdq/f7+GDRumrKwsZ6h8RESEE7RfddVVldNLAACAysiur58trXlf8uQdaAxSUKvhan3KaLUOCXe5gwAAHOU67ffff79uv/12LV26VAUFBerSpYvq1KlT8b0DAACoDKlbpKWWXd/gb4tuLHW9RIpnuh8AoAZXj7/sssuc5d2io6PVp08f9evXzwnY09PTnesAAACqrYJ8ae0H0vf3FwnYg6RWI6UBfyNgBwDU/KB96tSpyszMPKjd2qZNm1ZR/QIAAKhYqZulHx6U1rwrefK9bTFNpX63SO3PlUL8S9kCAFDjhsenpKTI4/E4F8u0R0ZGFl6Xn5+vDz/8UAkJCZXVTwAAgKNTkCet+0ha96F3HrsJCpZajpTanEmwDgAI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GwDKiMPhUGpqqvz9/eXtXe7P1wGnRF+HJ6CfwxPQz1HRpaam2h8ty6rYob2A1wnlcPPGT9xW4Nlnn9WTTz550vbmn5mEvlL6tpl0R6k1FQAAAAAAW1pamkJDQ1VhQ3t4eLh8fHxOqqonJCScVH0v8PDDD2vChAmF95OTkxUTE6MDBw6c9osFlPczeWauh4MHD6pKlSqubg5Qaujr8AT0c3gC+jkqOsuy7MAeHR192v3KfWg3w2XMEm9Lly7V9ddfX7jd3B8wYECJzwkICLBvJzKBnR8IqOhMH6efwxPQ1+EJ6OfwBPRzVGRnUjQu96HdMFXzoUOHqk2bNurYsaNmzJhhV81Hjx7t6qYBAAAAAHDOKkRov/XWW3X06FE99dRTOnz4sJo1a6bFixfbQ94BAAAAACivKkRoN+6++277di7MUPnJkyeXOGQeqCjo5/AU9HV4Avo5PAH9HHDysv5sfnkAAAAAAOASLHgIAAAAAICbIrQDAAAAAOCmCO0AAAAAALgpjw/t06ZNU/369RUYGGiv975q1SpXNwk4Y88++6zatm2rypUrKyIiQgMHDtT27duL7WOmrXjiiScUHR2toKAgXXHFFfr111+L7ZOdna17771X4eHhCgkJ0XXXXafY2NgyfjfAmfd7Ly8vjRs3rnAb/RwVRVxcnIYMGaLq1asrODhYl19+udavX1/4OH0d5V1eXp4ee+wx++9v04cbNGhgrwDlcDgK96GfA8V5dGifP3++/Uffo48+qp9//lldu3ZV37597TXegfJg5cqVGjNmjNauXaulS5favwh79+6tjIyMwn1eeOEFvfzyy3r99df1ww8/KDIyUldddZXS0tIK9zHfBx9//LHef/99rV69Wunp6brmmmuUn5/voncGlMz04RkzZuiyyy4rtp1+joogKSlJnTt3lp+fn7744gtt2bJFL730ksLCwgr3oa+jvHv++ef15ptv2n1469atdp9+8cUX9dprrxXuQz8HTmB5sHbt2lmjR48utq1x48bWpEmTXNYm4HwkJCSY1SCslStX2vcdDocVGRlpPffcc4X7HD9+3AoNDbXefPNN+35ycrLl5+dnvf/++4X7xMXFWd7e3taXX37pgncBlCwtLc26+OKLraVLl1rdu3e3xo4da2+nn6OimDhxotWlS5dTPk5fR0XQv39/64477ii27YYbbrCG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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from dynamic_testing import Tester # Imports Tester from dynamic_testing module.\n", + "\n", + "# Tester.test(my_predictor, data, excellent_threshold=0.10, good_threshold=0.25) # Example usage with custom thresholds:\n", + "\n", + "Tester.test(gpt_fine_tuned, test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ce2d93d-13f0-49bd-9928-c60b7bd22ff5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week6/community-contributions/week6_day2_google_colab.ipynb b/week6/community-contributions/week6_day2_google_colab.ipynb new file mode 100644 index 0000000..c164af9 --- /dev/null +++ b/week6/community-contributions/week6_day2_google_colab.ipynb @@ -0,0 +1,676 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "91ae778b" + }, + "source": [ + "# Getting Started\n", + "\n", + "Before running this notebook, please ensure you have the following:\n", + "\n", + "1. **Local Modules:** Upload the necessary local Python files (`items.py`, `loaders.py`, `testing.py`) to the Colab runtime's temporary storage. You can do this by clicking the folder icon on the left sidebar, then the upload icon, and selecting the files.\n", + "2. **Hugging Face Access Token:** Add your Hugging Face access token to Colab's user data secrets. Click the key icon on the left sidebar, click \"New secret\", and add your token with the name `HF_TOKEN`.\n", + "3. **Install Dependencies:** Run the first code cell to install the required libraries with the specified versions.\n", + "\n", + "Once these steps are completed, you can run the rest of the notebook cells sequentially." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_fj3pImYM5dw" + }, + "outputs": [], + "source": [ + "# Install exact versions from local environment to match the course's environment\n", + "!pip install --upgrade pip\n", + "\n", + "# Install specific versions of required libraries\n", + "!pip install datasets==3.6.0\n", + "!pip install transformers==4.51.3\n", + "!pip install huggingface_hub==0.31.2\n", + "!pip install matplotlib==3.10.3\n", + "!pip install numpy==1.26.4\n", + "!pip install python-dotenv==1.1.0\n", + "!pip install tqdm==4.67.1" + ] + }, + { + "cell_type": "code", + "source": [ + "# Import necessary libraries\n", + "import os\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "from datasets import load_dataset, Dataset, DatasetDict\n", + "import matplotlib.pyplot as plt\n", + "from collections import Counter, defaultdict\n", + "import numpy as np\n", + "import pickle" + ], + "metadata": { + "id": "YQHruTKgPMRX" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Retrieve the Hugging Face access token from Colab's user data secrets\n", + "# This token is needed to interact with the Hugging Face Hub\n", + "from google.colab import userdata\n", + "userdata.get('HF_TOKEN')" + ], + "metadata": { + "id": "jBdHkdyVNj_f" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Import custom classes from local files (items.py and loaders.py)\n", + "# These files were manually added to the Colab runtime's temporary storage\n", + "from loaders import ItemLoader\n", + "from items import Item" + ], + "metadata": { + "id": "FdBT3PPzNmq3" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Set the backend for matplotlib to display plots inline in the notebook\n", + "%matplotlib inline" + ], + "metadata": { + "id": "vynEBaq6OGEZ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Load a single dataset (\"All_Beauty\") using the custom ItemLoader\n", + "# This was likely an initial test or example loading step\n", + "items = ItemLoader(\"Appliances\").load()" + ], + "metadata": { + "id": "OFOJtH6FOG2u" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Define a list of dataset names (Amazon product categories) to be loaded\n", + "dataset_names = [\n", + " \"Automotive\",\n", + " \"Electronics\",\n", + " \"Office_Products\",\n", + " \"Tools_and_Home_Improvement\",\n", + " \"Cell_Phones_and_Accessories\",\n", + " \"Toys_and_Games\",\n", + " \"Appliances\",\n", + " \"Musical_Instruments\",\n", + "]" + ], + "metadata": { + "id": "rkLXYtfhOJNn" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Check and print the available CPU cores and RAM in the Colab runtime environment\n", + "# This helps understand the resources available for data processing\n", + "import psutil\n", + "print(f\"CPU cores: {psutil.cpu_count()}\")\n", + "print(f\"Available RAM: {psutil.virtual_memory().available / (1024**3):.1f} GB\")" + ], + "metadata": { + "id": "1oQSUpovOfKs" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "items = []\n", + "for dataset_name in dataset_names:\n", + " loader = ItemLoader(dataset_name)\n", + " items.extend(loader.load(workers=8))\n", + "\n", + "# Now, time for a coffee break!!\n", + "# By the way, I put the biggest datasets first.. it gets faster." + ], + "metadata": { + "id": "UcV9RB2Go8nC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Print the total number of items loaded from all datasets\n", + "print(f\"A grand total of {len(items):,} items\")" + ], + "metadata": { + "id": "YdkGJ_X3oI1g" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract token counts from all loaded items\n", + "tokens = [item.token_count for item in items]\n", + "# Create and display a histogram of token counts\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Token counts: Avg {sum(tokens)/len(tokens):,.1f} and highest {max(tokens):,}\\n\")\n", + "plt.xlabel('Length (tokens)')\n", + "plt.ylabel('Count')\n", + "plt.hist(tokens, rwidth=0.7, color=\"skyblue\", bins=range(0, 300, 10))\n", + "plt.show()" + ], + "metadata": { + "id": "8VzKJ7neo-wp" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract prices from all loaded items\n", + "prices = [item.price for item in items]\n", + "# Create and display a histogram of item prices\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Prices: Avg {sum(prices)/len(prices):,.1f} and highest {max(prices):,}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"blueviolet\", bins=range(0, 1000, 10))\n", + "plt.show()" + ], + "metadata": { + "id": "ZLFJycNZpDak" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Count the occurrences of each category in the loaded items\n", + "category_counts = Counter()\n", + "for item in items:\n", + " category_counts[item.category]+=1\n", + "\n", + "# Extract categories and their counts for plotting\n", + "categories = category_counts.keys()\n", + "counts = [category_counts[category] for category in categories]\n", + "\n", + "# Create and display a bar chart showing the count of items per category\n", + "plt.figure(figsize=(15, 6))\n", + "plt.bar(categories, counts, color=\"goldenrod\")\n", + "plt.title('How many in each category')\n", + "plt.xlabel('Categories')\n", + "plt.ylabel('Count')\n", + "\n", + "# Rotate x-axis labels for better readability\n", + "plt.xticks(rotation=30, ha='right')\n", + "\n", + "# Add value labels on top of each bar for clarity\n", + "for i, v in enumerate(counts):\n", + " plt.text(i, v, f\"{v:,}\", ha='center', va='bottom')\n", + "\n", + "# Display the chart\n", + "plt.show()" + ], + "metadata": { + "id": "6oRa8rI6pGb0" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Create a dictionary where keys are rounded prices and values are lists of items with that price\n", + "# This is done to group items by price for sampling\n", + "slots = defaultdict(list)\n", + "for item in items:\n", + " slots[round(item.price)].append(item)" + ], + "metadata": { + "id": "7mT5ZubkpJ06" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Create a curated sample dataset with a more even distribution of prices and reduced bias towards 'Automotive' category\n", + "# Items with price >= $240 are included entirely\n", + "# For prices < $240, if the number of items is <= 1200, all are included\n", + "# If the number of items > 1200, a weighted random sample of 1200 items is taken,\n", + "# giving non-Automotive items higher weight\n", + "\n", + "# Set random seeds for reproducibility\n", + "np.random.seed(42)\n", + "random.seed(42)\n", + "sample = []\n", + "for i in range(1, 1000):\n", + " slot = slots[i]\n", + " if i>=240:\n", + " sample.extend(slot)\n", + " elif len(slot) <= 1200:\n", + " sample.extend(slot)\n", + " else:\n", + " # Assign weights: 1 for 'Automotive', 5 for other categories\n", + " weights = np.array([1 if item.category=='Automotive' else 5 for item in slot])\n", + " # Normalize weights\n", + " weights = weights / np.sum(weights)\n", + " # Randomly select 1200 indices based on weights\n", + " selected_indices = np.random.choice(len(slot), size=1200, replace=False, p=weights)\n", + " # Select the items corresponding to the chosen indices\n", + " selected = [slot[i] for i in selected_indices]\n", + " sample.extend(selected)\n", + "\n", + "# Print the total number of items in the curated sample\n", + "print(f\"There are {len(sample):,} items in the sample\")" + ], + "metadata": { + "id": "qHJdXynopMBp" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract prices from the curated sample\n", + "prices = [float(item.price) for item in sample]\n", + "# Create and display a histogram of prices for the sample dataset\n", + "# This helps visualize the effect of the sampling process on the price distribution\n", + "plt.figure(figsize=(15, 10))\n", + "plt.title(f\"Avg {sum(prices)/len(prices):.2f} and highest {max(prices):,.2f}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"darkblue\", bins=range(0, 1000, 10))\n", + "plt.show()" + ], + "metadata": { + "id": "gtBkOdPGpOou" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Count the occurrences of each category in the curated sample\n", + "category_counts = Counter()\n", + "for item in sample:\n", + " category_counts[item.category]+=1\n", + "\n", + "# Extract categories and their counts for plotting\n", + "categories = category_counts.keys()\n", + "counts = [category_counts[category] for category in categories]\n", + "\n", + "# Create and display a bar chart showing the count of items per category in the sample\n", + "# This helps visualize the effect of weighted sampling on category distribution\n", + "plt.figure(figsize=(15, 6))\n", + "plt.bar(categories, counts, color=\"lightgreen\")\n", + "\n", + "# Customize the chart\n", + "plt.title('How many in each category')\n", + "plt.xlabel('Categories')\n", + "plt.ylabel('Count')\n", + "\n", + "# Rotate x-axis labels for better readability\n", + "plt.xticks(rotation=30, ha='right')\n", + "\n", + "# Add value labels on top of each bar for clarity\n", + "for i, v in enumerate(counts):\n", + " plt.text(i, v, f\"{v:,}\", ha='center', va='bottom')\n", + "\n", + "# Display the chart\n", + "plt.show()" + ], + "metadata": { + "id": "-lYpt40jpTE1" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Create and display a pie chart showing the percentage distribution of items across categories in the sample\n", + "plt.figure(figsize=(12, 10))\n", + "plt.pie(counts, labels=categories, autopct='%1.0f%%', startangle=90)\n", + "\n", + "# Add a circle at the center to create a donut chart (optional)\n", + "centre_circle = plt.Circle((0,0), 0.70, fc='white')\n", + "fig = plt.gcf()\n", + "fig.gca().add_artist(centre_circle)\n", + "plt.title('Categories')\n", + "\n", + "# Equal aspect ratio ensures that pie is drawn as a circle\n", + "plt.axis('equal')\n", + "\n", + "plt.show()" + ], + "metadata": { + "id": "5QPV4m2LpV3g" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Markdown cell indicates that the dataset curation is complete and ready for final checks\n", + "# Dataset Curated!\n", + "\n", + "# We've crafted an excellent dataset.\n", + "\n", + "# Let's do some final checks" + ], + "metadata": { + "id": "3Xc2ZxjapZ0a" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract prompt lengths (character counts) and prices from the curated sample\n", + "sizes = [len(item.prompt) for item in sample]\n", + "prices = [item.price for item in sample]\n", + "\n", + "# Create and display a scatter plot to visualize the relationship between prompt size and price\n", + "# This helps check for any simple correlation between the two\n", + "plt.figure(figsize=(15, 8))\n", + "plt.scatter(sizes, prices, s=0.2, color=\"red\")\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Size')\n", + "plt.ylabel('Price')\n", + "plt.title('Is there a simple correlation?')\n", + "\n", + "# Display the plot\n", + "plt.show()" + ], + "metadata": { + "id": "VXYQkVarpceE" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Define a helper function to report information about an item\n", + "# It prints the item's prompt, the last 10 token IDs, and the decoded last 10 tokens\n", + "def report(item):\n", + " prompt = item.prompt\n", + " tokens = Item.tokenizer.encode(item.prompt)\n", + " print(prompt)\n", + " print(tokens[-10:])\n", + " print(Item.tokenizer.batch_decode(tokens[-10:]))" + ], + "metadata": { + "id": "1BBJNDAKpgL_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Use the report function to display information about a specific item in the sample\n", + "# This helps inspect the data and the tokenizer's behavior\n", + "report(sample[398000])" + ], + "metadata": { + "id": "ZO2zF09wpiPp" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Observation\n", + "\n", + "An interesting thing about the Llama tokenizer is that every number from 1 to 999 gets mapped to 1 token, much as we saw with gpt-4o. The same is not true of qwen2, gemma and phi3, which all map individual digits to tokens. This does turn out to be a bit useful for our project, although it's not an essential requirement." + ], + "metadata": { + "id": "GCkwmt_VpsaU" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Finally\n", + "\n", + "It's time to break down our data into a training, test and validation dataset.\n", + "\n", + "It's typical to use 5%-10% of your data for testing purposes, but actually we have far more than we need at this point. We'll take 400,000 points for training, and we'll reserve 2,000 for testing, although we won't use all of them.\n" + ], + "metadata": { + "id": "dy6WGVAmpx0g" + } + }, + { + "cell_type": "code", + "source": [ + "# Set random seed for reproducibility before shuffling and splitting the sample\n", + "random.seed(42)\n", + "# Shuffle the curated sample dataset\n", + "random.shuffle(sample)\n", + "# Split the shuffled sample into training (400,000 items) and testing (2,000 items) sets\n", + "train = sample[:400_000]\n", + "test = sample[400_000:402_000]\n", + "# Print the sizes of the training and testing sets\n", + "print(f\"Divided into a training set of {len(train):,} items and test set of {len(test):,} items\")" + ], + "metadata": { + "id": "oY1ZSkW7p0VS" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract prices from the first 250 items of the test set\n", + "prices = [float(item.price) for item in test[:250]]\n", + "# Create and display a histogram of prices for the first 250 test items\n", + "# This provides a quick look at the price distribution in a small portion of the test data\n", + "plt.figure(figsize=(15, 6))\n", + "plt.title(f\"Avg {sum(prices)/len(prices):.2f} and highest {max(prices):,.2f}\\n\")\n", + "plt.xlabel('Price ($)')\n", + "plt.ylabel('Count')\n", + "plt.hist(prices, rwidth=0.7, color=\"darkblue\", bins=range(0, 1000, 10))\n", + "plt.show()" + ], + "metadata": { + "id": "nLnRpUbtp17N" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Extract prompts from the training set\n", + "train_prompts = [item.prompt for item in train]\n", + "# Extract prices from the training set\n", + "train_prices = [item.price for item in train]\n", + "# Extract test prompts (using the test_prompt method) from the test set\n", + "test_prompts = [item.test_prompt() for item in test]\n", + "# Extract prices from the test set\n", + "test_prices = [item.price for item in test]" + ], + "metadata": { + "id": "kpw1Y8IIp6kw" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Create Hugging Face Dataset objects from the training and testing data\n", + "train_dataset = Dataset.from_dict({\"text\": train_prompts, \"price\": train_prices})\n", + "test_dataset = Dataset.from_dict({\"text\": test_prompts, \"price\": test_prices})\n", + "# Create a DatasetDict containing the training and testing datasets\n", + "dataset = DatasetDict({\n", + " \"train\": train_dataset,\n", + " \"test\": test_dataset\n", + "})" + ], + "metadata": { + "id": "WtEFiTlvp8hL" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Push the created DatasetDict to the Hugging Face Hub\n", + "# Replace \"aaron-official\" with your Hugging Face username\n", + "# The dataset will be named \"your-username/pricer-data\" and will be private\n", + "# HF_USER = \"aaron-official\" # Uncomment and replace with your HF username\n", + "# DATASET_NAME = f\"{HF_USER}/pricer-data\" # Uncomment\n", + "# dataset.push_to_hub(DATASET_NAME, private=True) # Uncomment to push to hub" + ], + "metadata": { + "id": "sSnwZIxHp-VJ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Pickle (serialize) the training and testing datasets and save them as files\n", + "# This allows for quick loading of the processed data in future sessions\n", + "with open('train.pkl', 'wb') as file:\n", + " pickle.dump(train, file)\n", + "\n", + "with open('test.pkl', 'wb') as file:\n", + " pickle.dump(test, file)" + ], + "metadata": { + "id": "WRawIsrOqMQ-" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bd72e246" + }, + "source": [ + "# Mount Google Drive to access files in your Drive\n", + "from google.colab import drive\n", + "drive.mount('/content/drive')" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6fc5d915" + }, + "source": [ + "Once your Google Drive is mounted, you can copy the file to a folder in your Drive. Replace `My Drive/your_folder_name` with the path to the folder where you want to save the file." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "f319129b" + }, + "source": [ + "# Import the shutil module for file operations\n", + "import shutil\n", + "\n", + "# Define the destination path in Google Drive and the source path of the pickled training data\n", + "# Replace 'My Drive/your_folder_name' with your desired folder path in Google Drive\n", + "destination_path = '/content/drive/My Drive/train.pkl'\n", + "source_path = '/content/train.pkl'\n", + "\n", + "# Copy the pickled training data file from the Colab environment to Google Drive\n", + "shutil.copyfile(source_path, destination_path)\n", + "\n", + "# Print a confirmation message\n", + "print(f\"Copied {source_path} to {destination_path}\")" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "d23d6cf0" + }, + "source": [ + "# Import the shutil module for file operations\n", + "import shutil\n", + "\n", + "# Define the destination path in Google Drive and the source path of the pickled test data\n", + "# Replace 'My Drive/your_folder_name' with your desired folder path in Google Drive\n", + "destination_path = '/content/drive/My Drive/test.pkl'\n", + "source_path = '/content/test.pkl'\n", + "\n", + "# Copy the pickled test data file from the Colab environment to Google Drive\n", + "shutil.copyfile(source_path, destination_path)\n", + "\n", + "# Print a confirmation message\n", + "print(f\"Copied {source_path} to {destination_path}\")" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 08440255d0690d40c09e2889d948609c991c2be3 Mon Sep 17 00:00:00 2001 From: prospero-apps <48125733+prospero-apps@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:43:20 +0200 Subject: [PATCH 035/176] Added my contributions to community-contributions --- .../animal_mixer.ipynb | 360 ++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 week2/community-contributions/animal_mixer.ipynb diff --git a/week2/community-contributions/animal_mixer.ipynb b/week2/community-contributions/animal_mixer.ipynb new file mode 100644 index 0000000..726321f --- /dev/null +++ b/week2/community-contributions/animal_mixer.ipynb @@ -0,0 +1,360 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "746c6089-658a-46b0-becd-44ed59f24ebe", + "metadata": {}, + "source": [ + "# Animal Mixer" + ] + }, + { + "cell_type": "markdown", + "id": "7fa554eb-db7f-486c-971b-98fae51107bd", + "metadata": {}, + "source": [ + "Given two animal species, let's make a cross between them and visualize the resulting new animal." + ] + }, + { + "cell_type": "markdown", + "id": "6e8c89b2-b4e8-48bb-9e2b-4455a5dd5a6e", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c063afce-a8e9-48cf-a08e-d70db2bb62e9", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import json\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from IPython.display import Audio, display" + ] + }, + { + "cell_type": "markdown", + "id": "ab174215-1029-40df-9d75-a30f1c399fc9", + "metadata": {}, + "source": [ + "## Initialization" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b91a133e-becc-45ee-ad4c-6d3469c78826", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "MODEL = \"gpt-4o-mini\"\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "markdown", + "id": "e696d093-3b8b-4275-939c-53c7b623469b", + "metadata": {}, + "source": [ + "## System Messages" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f293608-376e-4f91-afce-e9d93787db03", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a famous zoologist-surgeon who makes crosses between animals, so new hybrid animals with mixed features of both original animals. \"\n", + "system_message += \"Given two animal species, you create a new species which is a hybrid between the two. Make sure it only has one head. \"\n", + "system_message += \"Describe the new species following the pattern: species X is a hybrid between species A and species B. \"\n", + "system_message += \"Species A and B are the two given species. Describe the new species briefly, in up to 3 sentences. \"\n", + "system_message += \"Always be accurate. If you don't know the answer, say so.\"" + ] + }, + { + "cell_type": "markdown", + "id": "418e9bdd-6a94-4054-8e5b-0431866572ab", + "metadata": {}, + "source": [ + "## Tools" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8175d1d3-1df8-4e76-8437-cdf5bb32c6db", + "metadata": {}, + "outputs": [], + "source": [ + "def get_animal_name(animal1, animal2):\n", + " print(f\"Tool get_animal_name called for the cross between {animal1} and {animal2}\")\n", + " first = len(animal1) // 2\n", + " second = len(animal2) // 2\n", + " name = animal1[:first] + animal2[second:]\n", + " return name" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f56b440-0e5a-42dc-94ed-c8e0ea37fb03", + "metadata": {}, + "outputs": [], + "source": [ + "get_animal_name('capybara', 'elephant')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d57a1b3a-e1a8-47bc-98b9-ed945346ebf4", + "metadata": {}, + "outputs": [], + "source": [ + "animal_function = {\n", + " \"name\": \"get_animal_name\",\n", + " \"description\": \"Get the name of the cross between the two given animals. Call this whenever you are given the names of the two original animals, for example when a user enters 'capybara' and 'elephant'\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"animal1\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"the first original animal species\",\n", + " },\n", + " \"animal2\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"the second original animal species\",\n", + " },\n", + " },\n", + " \"required\": [\"animal1\", \"animal2\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "376b79be-8481-4907-a109-99c64c7aa126", + "metadata": {}, + "outputs": [], + "source": [ + "tools = [{\"type\": \"function\", \"function\": animal_function}]" + ] + }, + { + "cell_type": "markdown", + "id": "9909a074-ba87-43a6-bb4b-bc432be951ed", + "metadata": {}, + "source": [ + "## Image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c954476-0dab-4303-8129-0a48c64d408c", + "metadata": {}, + "outputs": [], + "source": [ + "def artist(animal1, animal2):\n", + " image_response = openai.images.generate(\n", + " model=\"dall-e-3\",\n", + " prompt=f\"An image representing a hybrid between {animal1} and {animal2}, with some features of {animal1} and some features of {animal2}, blended smoothly into a single hybrid animal, in photorealistic style. Make sure it only has one head and there is no text in the image.\",\n", + " size=\"1024x1024\",\n", + " n=1,\n", + " response_format=\"b64_json\",\n", + " )\n", + " image_base64 = image_response.data[0].b64_json\n", + " image_data = base64.b64decode(image_base64)\n", + " return Image.open(BytesIO(image_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f219f63-e44b-41e5-aa63-62a62356e067", + "metadata": {}, + "outputs": [], + "source": [ + "image = artist(\"capybara\", \"elephant\")\n", + "display(image)" + ] + }, + { + "cell_type": "markdown", + "id": "36d83bb3-55e3-4985-95ff-6e32ddb6cd9e", + "metadata": {}, + "source": [ + "## Audio" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f87393d0-4da1-4647-8f70-13df63a283b3", + "metadata": {}, + "outputs": [], + "source": [ + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=message)\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " output_filename = \"output_audio.mp3\"\n", + " with open(output_filename, \"wb\") as f:\n", + " f.write(audio_stream.read())\n", + "\n", + " # Play the generated audio\n", + " display(Audio(output_filename, autoplay=True))\n", + "\n", + "talker(\"Well, hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "cebfd9e2-d633-400f-8c4f-f152dfda3eea", + "metadata": {}, + "source": [ + "## Chat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8883a76a-4ff5-47b3-95f8-83f9de7158af", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + " image = None\n", + " \n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, animal1, animal2 = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " image = artist(animal1, animal2)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " reply = response.choices[0].message.content\n", + " history += [{\"role\":\"assistant\", \"content\":reply}]\n", + "\n", + " # Comment out or delete the next line if you'd rather skip Audio for now..\n", + " talker(reply)\n", + " \n", + " return history, image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d185b213-d059-4a1d-9900-3bd6e9474a1f", + "metadata": {}, + "outputs": [], + "source": [ + "def handle_tool_call(message):\n", + " tool_call = message.tool_calls[0]\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " animal1 = arguments.get('animal1')\n", + " animal2 = arguments.get('animal2')\n", + " animal_name = get_animal_name(animal1, animal2)\n", + " response = {\n", + " \"role\": \"tool\",\n", + " \"content\": json.dumps({\"animal1\": animal1, \"animal2\": animal2, \"animal_name\": animal_name}),\n", + " \"tool_call_id\": tool_call.id\n", + " }\n", + " return response, animal1, animal2" + ] + }, + { + "cell_type": "markdown", + "id": "045085a2-2267-4069-a57d-3a9e6695b272", + "metadata": {}, + "source": [ + "## Gradio UI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c87f5f97-109e-40ab-a95b-fb63b21abc11", + "metadata": {}, + "outputs": [], + "source": [ + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " image_output = gr.Image(height=500)\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def do_entry(message, history):\n", + " history += [{\"role\":\"user\", \"content\":message}]\n", + " return \"\", history\n", + "\n", + " entry.submit(do_entry, inputs=[entry, chatbot], outputs=[entry, chatbot]).then(\n", + " chat, inputs=chatbot, outputs=[chatbot, image_output]\n", + " )\n", + " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a766324-5b75-4624-92d0-60ced31dcd26", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 51d7b6261144fadb5b4d99806695a1d293ae4e3b Mon Sep 17 00:00:00 2001 From: 7haz <7alaffa@gmail.com> Date: Wed, 30 Jul 2025 00:43:20 +0300 Subject: [PATCH 036/176] week1 contribution - Youtube Podcast Summerizer using Transcript API (no key needed) --- .../yt_video_podcast_summerizer.ipynb | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 week1/community-contributions/a-yotube-podcast-summerizer/yt_video_podcast_summerizer.ipynb diff --git a/week1/community-contributions/a-yotube-podcast-summerizer/yt_video_podcast_summerizer.ipynb b/week1/community-contributions/a-yotube-podcast-summerizer/yt_video_podcast_summerizer.ipynb new file mode 100644 index 0000000..414921f --- /dev/null +++ b/week1/community-contributions/a-yotube-podcast-summerizer/yt_video_podcast_summerizer.ipynb @@ -0,0 +1,233 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# **Youtube Informative-video Summerizer**\n", + "\n", + "This python app let's you summerize youtube videos that contains information-sharing-through-talking, like someone talking about a subject, someone sharing a life advice, a podcast etc.\n", + "\n", + "We extract the transcipt analyize it with an LLM to summerize and create summerization and analysis.\n", + "\n", + "\n", + "> We use youtube_transcript_api which allows you to get the transcript text of any youtube video.\n", + "\n", + "> Results however are not ideal for our use case since it does not provide who says what in case of more than one speaker. it only provide one giant string of all the words said in the video respectivly with some noise.\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "metadata": { + "id": "4KULQ4rViju1" + } + }, + { + "cell_type": "code", + "source": [ + "#!pip install youtube-transcript-api" + ], + "metadata": { + "id": "C21ZN5MNZ_1b" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from youtube_transcript_api import YouTubeTranscriptApi\n", + "from youtube_transcript_api.formatters import TextFormatter, SRTFormatter\n", + "import re\n", + "from openai import OpenAI\n", + "from google.colab import userdata # dotenv equevilant for google colab\n", + "from IPython.display import Markdown, display, update_display" + ], + "metadata": { + "id": "ttbBAJC7Zrn5" + }, + "execution_count": 35, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ytt = YouTubeTranscriptApi()\n", + "formatter = TextFormatter() # --> Plain text\n", + "# formatter = SRTFormatter() # --> With timestamps\n", + "\n", + "openai_api_key = userdata.get('OPENAI_TOKEN')\n", + "openai_client = OpenAI(api_key=openai_api_key)\n", + "MODEL = \"gpt-4o-mini\"" + ], + "metadata": { + "id": "1oP0uPCylaig" + }, + "execution_count": 36, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "id": "ILPjwpGkZm1t" + }, + "outputs": [], + "source": [ + "def get_video_id(url):\n", + " \"\"\"Extracts video ID from a YouTube URL.\"\"\"\n", + " regex = r\"(?:v=|\\/)([0-9A-Za-z_-]{11}).*\"\n", + " match = re.search(regex, url)\n", + " if match:\n", + " return match.group(1)\n", + " raise ValueError(\"Invalid YouTube URL\")\n", + "\n", + "\n", + "def get_transcript(url):\n", + " video_id = get_video_id(url)\n", + " fetched_transcript = ytt.fetch(video_id)\n", + " # ^ defaults to English transcript, for other language use:\n", + " # fetched = ytt.fetch(video_id, languages=['de', 'en'])\n", + " transcript_text = formatter.format_transcript(fetched_transcript)\n", + " return transcript_text" + ] + }, + { + "cell_type": "code", + "source": [ + "system_prompt = \"\"\"You are an expert assistant specialized in analyzing podcast transcripts. You will be given the full transcript of a YouTube podcast episode.\n", + "\n", + "Your task is to extract and summarize the main views or arguments presented in the podcast. For each view or argument, also identify and list any supporting evidence such as:\n", + "\n", + "- Facts or statistics\n", + "- Academic studies or research\n", + "- Theories or philosophical frameworks\n", + "- Anecdotes or personal experiences\n", + "- Expert opinions or quotes\n", + "\n", + "Recognize off topic segments and adds and igrone them.\n", + "\n", + "Structure your output in a clear and concise format.\n", + "\n", + "Output Format:\n", + "\n", + "Podcast Summary:\n", + "\n", + "1. View/Argument:\n", + " - Description: [Summarize the view or claim in 1-2 sentences.]\n", + " - Supporting Evidence:\n", + " • [Fact, study, or reasoning #1]\n", + " • [Fact, study, or reasoning #2]\n", + " • [Optional counterarguments or nuances, if any]\n", + "\n", + "2. View/Argument:\n", + " - Description: [...]\n", + " - Supporting Evidence:\n", + " • [...]\n", + "\n", + "Guidelines:\n", + "- Only include major views or arguments that are discussed in depth.\n", + "- Paraphrase in clear, neutral, and objective language.\n", + "- Do not include filler, small talk, or off-topic segments.\n", + "- If a claim lacks explicit evidence, note it as ā€œNo clear supporting evidence provided.ā€\n", + "\n", + "Always respond and orginize your response using Markdow.\n", + "\"\"\"\n" + ], + "metadata": { + "id": "Ye3m_3lEejb_" + }, + "execution_count": 38, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def get_user_prompt(title,url):\n", + " prompt = f\"Following is a transcript for a podcast titled '{title}' \\n\"\n", + " prompt += \"Carefully read through this content, analyse and summerize it as told, respond in Markdown.\"\n", + " prompt += \"\\nTranscript: \\n\\n\"\n", + " prompt += get_transcript(url)\n", + " return prompt" + ], + "metadata": { + "id": "1jk6YbkpupqI" + }, + "execution_count": 39, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# user_prompt = get_user_prompt()\n", + "def summerize_video(title,url):\n", + " user_prompt = get_user_prompt(title,url)\n", + " stream = openai_client.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " ],\n", + " stream = True,\n", + " )\n", + "\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ], + "metadata": { + "id": "wJy0Qb8u9uqR" + }, + "execution_count": 40, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "summerize_video(\"Anti-Aging Expert: Missing This Vitamin Is As Bad As Smoking! The Truth About Creatine!\",\"https://www.youtube.com/watch?v=JCTb3QSrGMQ\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "tbvBiPrv_O3i", + "outputId": "69d24254-e384-4b07-e35f-96c7bb733298" + }, + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "# Podcast Summary: \"Anti-Aging Expert: Missing This Vitamin Is As Bad As Smoking! The Truth About Creatine!\"\n\n1. **View/Argument: Vitamin D and Health Risks**\n - **Description:** Vitamin D deficiency significantly increases the risk of dementia and various health issues, yet many individuals are unaware of its critical importance.\n - **Supporting Evidence:**\n - Vitamin D deficiency can raise dementia risk by 80%.\n - Individuals with adequate vitamin D have a 40% reduced risk of dementia and experience better cognitive function.\n\n2. **View/Argument: Role of Lifestyle in Aging**\n - **Description:** Lifestyle choices account for over 70% of aging effects, with exercise and nutrition being key factors in improving longevity and health.\n - **Supporting Evidence:**\n - Studies show participants involved in regular exercise did not experience hippocampal shrinkage, but rather an increase in size.\n - Exercise is equated to a miracle drug for its extensive health benefits, as highlighted by unquantifiable positive effects when compared to medications.\n\n3. **View/Argument: Importance of Magnesium**\n - **Description:** Magnesium is crucial for cellular function, metabolism, and reducing cancer risk, yet nearly half the U.S. population is magnesium deficient.\n - **Supporting Evidence:**\n - Individuals with the highest magnesium levels have a 40% lower all-cause mortality.\n - A 24% increase in pancreatic cancer incidents is associated with every 100 mg decrease in magnesium intake.\n\n4. **View/Argument: Benefits of Creatine in Brain Health**\n - **Description:** Creatine isn't just beneficial for muscle health but also shows promise for enhancing cognitive performance, especially under stress or sleep deprivation.\n - **Supporting Evidence:**\n - A study found that creatine can negate cognitive deficits caused by 21 hours of sleep deprivation.\n - Users often report improved focus and energy levels when supplementing with creatine regularly.\n\n5. **View/Argument: Exercise and Hormonal Benefits**\n - **Description:** Regular exercise, especially high-intensity interval training, can reverse heart aging and improve mental health markers.\n - **Supporting Evidence:**\n - Participants in an intensive exercise program showed heart structures that were more akin to those of individuals two decades younger.\n - High-intensity workouts were shown to improve cognition and neuroplasticity due to the metabolic changes they induce.\n\n6. **View/Argument: Impact of Nutrition on Cognitive Function**\n - **Description:** A healthy diet rich in omega-3 fatty acids, vitamins D and other nutrients is essential for maintaining cognitive function and overall health.\n - **Supporting Evidence:**\n - Adequate omega-3 intake has been linked to a 5-year increase in life expectancy.\n - Regular consumption of nutrient-rich foods, such as blueberries and dark leafy greens, supports cognition and potentially reduces the risk of neurodegenerative diseases.\n\n7. **View/Argument: The Importance of Autophagy**\n - **Description:** Fasting promotes autophagy, a cellular cleaning process that can protect against diseases and improve health.\n - **Supporting Evidence:**\n - Studies suggest that fasting for 16 hours can activate autophagy and contribute to cellular repair processes.\n\n8. **View/Argument: Intermittent Fasting and Health Improvements**\n - **Description:** Intermittent fasting can improve metabolic parameters and cognitive performance while providing health benefits beyond simple calorie restriction.\n - **Supporting Evidence:**\n - Individuals practicing intermittent fasting showed improved glucose regulation compared to those restricting calories alone without fasting.\n\n9. **View/Argument: Microplastics and Health Risks**\n - **Description:** The pervasive presence of microplastics in everyday products poses health risks that are not widely recognized.\n - **Supporting Evidence:**\n - Common items, such as paper coffee cups and plastic water bottles, can release harmful chemicals, leading to increased levels of substances like BPA in beverages.\n\nBy summarizing these key points, the podcast emphasizes the interconnectedness of nutrition, exercise, and mental well-being in managing aging and chronic diseases. Additionally, it highlights emerging research on creatine, fasting, and environmental health risks that affect longevity and quality of life." + }, + "metadata": {} + } + ] + } + ] +} \ No newline at end of file From 3657fe4d893a6e0a4be9cc22d5ec53db4509a5f0 Mon Sep 17 00:00:00 2001 From: gunjansh-lab Date: Thu, 31 Jul 2025 12:04:30 +0530 Subject: [PATCH 037/176] Create week1day1.ipynb My week 1 day 1 homework --- week1/community-contributions/week1day1.ipynb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 week1/community-contributions/week1day1.ipynb diff --git a/week1/community-contributions/week1day1.ipynb b/week1/community-contributions/week1day1.ipynb new file mode 100644 index 0000000..66bdd23 --- /dev/null +++ b/week1/community-contributions/week1day1.ipynb @@ -0,0 +1,23 @@ +import os +import requests +from dotenv import load_dotenv +from bs4 import BeautifulSoup +from IPython.display import Markdown, display +from openai import OpenAI + +load_dotenv(override=True) +api_key = os.getenv('OPENAI_API_KEY') + +openai = OpenAI() + +client = OpenAI(api_key=os.getenv("OPENAI_API_key")) + +system_prompt = "You are an student. Always maintain a polite and professional tone." + +user_prompt = "Write a 500-word essay on the impact of social media on modern society, including the benefits and drawbacks." + +messages =[ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": user_prompt} +] +response = openai.chat.completions.create(m From 96daf295644eb12fb3e32a38bc0c6039c69d72e4 Mon Sep 17 00:00:00 2001 From: Eli Waltuch Date: Thu, 31 Jul 2025 15:11:37 +0300 Subject: [PATCH 038/176] Wrote python script that has GPT and Claude roleplay the famous Argument Clinic sketch from Monty Python Signed-off-by: Eli Waltuch --- .../wk2-day1-monty-python-arg.py | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 week2/community-contributions/wk2-day1-monty-python-arg.py diff --git a/week2/community-contributions/wk2-day1-monty-python-arg.py b/week2/community-contributions/wk2-day1-monty-python-arg.py new file mode 100644 index 0000000..756ddef --- /dev/null +++ b/week2/community-contributions/wk2-day1-monty-python-arg.py @@ -0,0 +1,73 @@ +#!/usr/binpython3 + +import os +from dotenv import load_dotenv +from openai import OpenAI +import anthropic + +gpt_messages = ["Hi there! is this the right room for an argument?"] +claude_messages = ["No it is not"] + +def load_api_keys(): + # Load environment variables in a file called .env + load_dotenv(override=True) + openai_api_key = os.getenv('OPENAI_API_KEY') + anthropic_api_key = os.getenv('ANTHROPIC_API_KEY') + + # Check the key + if not openai_api_key: + return "Error: No OpenAI API key was found!" + elif not anthropic_api_key: + return "Error: No Anthropic API key was found!" + else: + return "API keys found!" + +def call_gpt(openai): + gpt_model = "gpt-4.1-mini" + gpt_system = "You are a patient visiting the Argument Clinic from the famous Monty Python sketch. \ + You are very eager to have a real arguement and will quickly be irritated if someone merely contradicts you." + messages = [{"role": "system", "content": gpt_system}] + for gpt, claude in zip(gpt_messages, claude_messages): + messages.append({"role": "assistant", "content": gpt}) + messages.append({"role": "user", "content": claude}) + completion = openai.chat.completions.create( + model=gpt_model, + messages=messages + ) + return completion.choices[0].message.content + +def call_claude(claude): + claude_model = "claude-3-5-haiku-latest" + claude_system = "You are a proffesional arguer at the Argument Clinic from the famous Monty Python sketch. \ + You love to contradict whatever the person talking to you is saying." + messages = [] + for gpt, claude_message in zip(gpt_messages, claude_messages): + messages.append({"role": "user", "content": gpt}) + messages.append({"role": "assistant", "content": claude_message}) + messages.append({"role": "user", "content": gpt_messages[-1]}) + message = claude.messages.create( + model=claude_model, + system=claude_system, + messages=messages, + max_tokens=500 + ) + return message.content[0].text + +def main(): + load_api_keys() + openai = OpenAI() + claude = anthropic.Anthropic() + + print(f"GPT:\n{gpt_messages[0]}\n") + print(f"Claude:\n{claude_messages[0]}\n") + + for i in range(5): + gpt_next = call_gpt(openai) + print(f"GPT:\n{gpt_next}\n") + gpt_messages.append(gpt_next) + claude_next = call_claude(claude) + print(f"Claude:\n{claude_next}\n") + claude_messages.append(claude_next) + +if __name__ == "__main__": + main() From 1c6a744d812f9bd31f248f94384d643947c203a3 Mon Sep 17 00:00:00 2001 From: leonid08 Date: Thu, 31 Jul 2025 14:06:02 -0400 Subject: [PATCH 039/176] Added my day 1 exercise - creating a subject line for an email text --- .../day01_email_subjectLine_creator.ipynb | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 week1/community-contributions/day01_email_subjectLine_creator.ipynb diff --git a/week1/community-contributions/day01_email_subjectLine_creator.ipynb b/week1/community-contributions/day01_email_subjectLine_creator.ipynb new file mode 100644 index 0000000..5ff45d4 --- /dev/null +++ b/week1/community-contributions/day01_email_subjectLine_creator.ipynb @@ -0,0 +1,124 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "36ef4c36-2905-4485-a46e-dead68cc2dcb", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown\n", + "\n", + "# Step 1: Create your prompts\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of \\\n", + " email texts and suggests short subject lines for the email based \\\n", + " on the requested tone and language. Respond in markdown.\"\n", + "user_prompt = \"\"\"\n", + " What’s the hardest-working organ in your body? A lot of people will say the heart. After all, it beats 100,000 times a day. It doesn’t rest. It doesn’t sleep. And it keeps you alive.\n", + "\n", + "\n", + "But we wanted a second opinion. For this edition of From the Armchair, our monthly mental health newsletter, we asked our psychiatrists. Some of them had a different answer: The brain.\n", + "\n", + "\n", + "If that surprises you, think about how your body feels after a long workout—then compare it to how your brain feels after a day of meetings, emails, problem-solving, or just trying to hold it all together. That drained, foggy, overstimulated sensation? That’s cognitive fatigue. And even if your body hasn’t moved much, the exhaustion is very real.\n", + "\n", + "The brain’s quiet hustle\n", + "\n", + "Cognitive fatigue happens when the mental load we’re carrying uses up more fuel than we realize. And the brain is a gas-guzzler. It makes up only 2% of our body weight but consumes about 20% of our energy—just to keep us functioning.\n", + "\n", + "That’s not just because we’re thinking deeply or making big decisions. It’s because the brain is always on: Absorbing information, interpreting social cues, navigating ambiguity, switching between tasks, and trying to make sense of a noisy world. All of that takes effort.\n", + "\n", + "Which brings us to a fallacy: We sometimes think we haven’t ā€œdone anythingā€ if we haven’t physically moved or checked something off a list. But the brain doesn’t lift weights to get tired. Its heavy lifting is invisible.\n", + "\n", + "The myth: Motion = accomplishment\n", + "\n", + "There’s a cultural bias that equates movement with productivity. A tired body is seen as earned. A tired mind is often seen as weakness—or worse. Neuroscience disagrees.\n", + "\n", + "The truth is, mental labor—especially the constant decision-making, emotional regulation, and alertness that life demands—can be deeply taxing. Unlike a workout, there's often no clear beginning, middle, or end. Just a low-grade hum that builds over time.\n", + "\n", + "So if you’ve ever said, ā€œWhy am I so tired? I didn’t even do anything today,ā€ this could be your answer: Your brain has been sprinting in place.\n", + "\n", + "Mental health and the weight of thinking\n", + "\n", + "Talkiatry psychiatrists note that if you’re living with a mental health condition, this load can feel even heavier. Decisions feel high stakes. Basic tasks can turn into uphill climbs. We can get overloaded with competing signals. Every day stress taxes the circuits we rely on to cope.\n", + "\n", + "While the brain is incredibly resilient, nearly every mental health condition adds friction to thought. That friction requires effort to overcome. That effort burns fuel. And that fuel runs out faster than we expect.\n", + "\n", + "Rest isn’t laziness—it’s repair\n", + "\n", + "This isn’t meant to sound hopeless. In fact, it’s the opposite.\n", + "\n", + " \n", + "\n", + "Recognizing that your brain works hard—even when you don’t realize it—is the first step towards giving it the care it deserves. That might mean rest. It might mean therapy or medication to help you find balance. It might just mean giving yourself credit for the things no one else can see.\n", + "\n", + "\n", + "So if your mind feels tired, believe it. You’re not lazy. You’re human. And you’ve probably done a lot more than you think.\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "AIInputMessages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "openAI = OpenAI()\n", + "\n", + "response = openAI.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages = AIInputMessages\n", + ")\n", + "\n", + "responseString = response.choices[0].message.content\n", + "# Step 4: print the result\n", + "\n", + "print(\"Printing....\")\n", + "print(responseString)\n", + "\n", + "print(\"\\n\")\n", + "print(\"Displaying....\")\n", + "display(responseString)\n", + "\n", + "print(\"\\n\")\n", + "print(\"Displaying Markdown....\")\n", + "display(Markdown(responseString))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f8cc568-428d-4ff3-988d-6a31c35db5ba", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 164caa833d0ebed7aaf9cf7f10f0e402b5305518 Mon Sep 17 00:00:00 2001 From: Kunal Brahma Date: Fri, 1 Aug 2025 17:38:58 +0530 Subject: [PATCH 040/176] Add Bitcoin market prediction notebook to community contributions --- .../day1-BitcoinMarketPrediction.ipynb | 230 ++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 week1/community-contributions/day1-BitcoinMarketPrediction.ipynb diff --git a/week1/community-contributions/day1-BitcoinMarketPrediction.ipynb b/week1/community-contributions/day1-BitcoinMarketPrediction.ipynb new file mode 100644 index 0000000..dd5265d --- /dev/null +++ b/week1/community-contributions/day1-BitcoinMarketPrediction.ipynb @@ -0,0 +1,230 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7db973a2-c95e-4939-a0d7-b54edec4d2cf", + "metadata": {}, + "source": [ + "# Bitcoin Market Prediction uisng CoinmarketCap\n", + "An AI-powered project using historical CoinMarketCap data to predict Bitcoin price trends and offer actionable insights for traders." + ] + }, + { + "cell_type": "markdown", + "id": "b792b517-bbc8-4e2c-bff2-45fad1a784dc", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51523d62-825a-4a15-aec2-7c910beb5fda", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "markdown", + "id": "2e3816b0-4557-4225-bfb9-9933d813548a", + "metadata": {}, + "source": [ + "## .env configuration" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02be59e7-01cc-41b5-88c3-a47860570078", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")" + ] + }, + { + "cell_type": "markdown", + "id": "3fc32555-ea4e-45fe-ad44-9dbf4441afd1", + "metadata": {}, + "source": [ + "### This line creates an authenticated OpenAI client instance, used to make API requests in your code." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0845c687-6610-4f83-89e8-fb94bc47ddd2", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "openai = OpenAI(api_key=api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d140db1a-dd72-4986-8f38-09f8d8f97b00", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdc96768-94a8-4a08-acf1-32a62b699b94", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"\n", + "You are an intelligent assistant specialized in Bitcoin market prediction. Your tasks are:\n", + "\n", + "- Collect, preprocess, and analyze historical Bitcoin price and volume data sourced from CoinMarketCap historical data tables or API.\n", + "- Extract relevant time series and technical features from OHLC (open, high, low, close) and volume data.\n", + "- Use machine learning or statistical models to forecast future Bitcoin price trends.\n", + "- Output clear, concise, and actionable insights, focusing on predicted price direction and potential trading signals.\n", + "- Ensure all data collection respects CoinMarketCap’s terms of service.\n", + "- Present findings in user-friendly language, explaining prediction confidence and market risks.\n", + "- Continuously improve prediction accuracy through back-testing on updated datasets.\n", + "\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7d39e983-5b65-4de1-bdf0-e4239c3eb03f", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are analyzing historical Bitcoin market data from the webpage titled '{website.title}'.\\n\"\n", + " user_prompt += (\n", + " \"The data includes daily open, high, low, close prices, trading volume, \"\n", + " \"and market capitalization presented in a table format.\\n\"\n", + " \"Please provide a clear and concise analysis in Markdown format, focusing on recent trends, \"\n", + " \"price movements, volatility, and any insights that could help forecast Bitcoin price directions.\\n\"\n", + " \"If possible, include technical indicators, significant patterns, or notable market events mentioned in the data.\\n\\n\"\n", + " )\n", + " user_prompt += website.text\n", + " return user_prompt\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3d41ed3-4753-49f2-b51f-37e8be43102c", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0eb99fcf-75a2-41b8-bf53-568f94264438", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(summary): \n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0e57921-5132-40c6-834b-03a11a96425c", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://coinmarketcap.com/currencies/bitcoin/historical-data/3\"\n", + "summary = summarize(url)\n", + "display_summary(summary)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19d9b69a-6493-402d-a0b4-a486c322c816", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3691bf16dc0137dbc8426f32bcb6bd5648edabea Mon Sep 17 00:00:00 2001 From: ZnDream Date: Fri, 1 Aug 2025 18:12:34 +0100 Subject: [PATCH 041/176] Add AI Property Assistant contribution only --- .../AI_Property_Assistant/README.md | 162 ++++++++++ .../rental_property_scraper.ipynb | 294 ++++++++++++++++++ 2 files changed, 456 insertions(+) create mode 100644 week1/community-contributions/AI_Property_Assistant/README.md create mode 100644 week1/community-contributions/AI_Property_Assistant/rental_property_scraper.ipynb diff --git a/week1/community-contributions/AI_Property_Assistant/README.md b/week1/community-contributions/AI_Property_Assistant/README.md new file mode 100644 index 0000000..b6d4405 --- /dev/null +++ b/week1/community-contributions/AI_Property_Assistant/README.md @@ -0,0 +1,162 @@ +# AI Property Rental Assistant + +A Python tool that scrapes UK property rental listings and uses OpenAI's GPT-4o-mini to provide personalized property recommendations based on your requirements. + +## What It Does + +- Scrapes property listings from OnTheMarket.com +- Uses AI to analyze properties against your specific needs +- Provides smart recommendations with reasons why properties match +- Works for any UK location (currently configured for Durham) + +## Quick Start + +### Prerequisites +- Python 3.7+ +- OpenAI API key ([Get one here](https://platform.openai.com/api-keys)) + +### Installation + +1. **Install required packages:** + ```bash + pip install requests beautifulsoup4 openai python-dotenv ipython + ``` + +2. **Set up your API key:** + + Create a `.env` file in the same directory as your script: + ``` + OPENAI_API_KEY=your_openai_api_key_here + ``` + +3. **Run the script:** + ```bash + python your_script_name.py + ``` + +## How to Use + +### Basic Usage + +The script is pre-configured to search for student housing in Durham. Just run it and you'll get AI-powered recommendations! + +### Customizing Your Search + +**Change the location:** +```python +website_url = "https://www.onthemarket.com/to-rent/property/manchester/" +``` + +**Update your requirements:** +```python +user_needs = "I'm a young professional looking for a 1-bedroom flat in Manchester under Ā£1,000/month" +``` + +### Example Requirements You Can Use: +- `"Student looking for shared accommodation under Ā£600/month"` +- `"Family needing 3-bedroom house with garden under Ā£1,500/month"` +- `"Professional couple wanting modern 2-bed apartment near city center"` + +## Configuration + +### Supported Cities +Replace `durham` in the URL with any UK city: +- `london` - London properties +- `manchester` - Manchester properties +- `birmingham` - Birmingham properties +- `leeds` - Leeds properties +- `bristol` - Bristol properties + +### AI Behavior +The system prompt is configured for UK rentals but you can modify it in the `system_prompt` variable to: +- Focus on specific property types +- Emphasize certain features (parking, garden, etc.) +- Target different tenant types (students, families, professionals) + +## Example Output + +``` +Website Title: Properties to rent in Durham - OnTheMarket +Content Length: 15847 characters + +================================================== +RENTAL RECOMMENDATIONS: +================================================== + +# Property Recommendations for Durham + +Based on your requirements for a 2-bedroom student property under Ā£2,000/month, here are my top recommendations: + +## 1. **Student House on North Road** - Ā£1,600/month +- **Bedrooms:** 2 +- **Perfect because:** Well within budget, popular student area +- **Features:** Close to university, furnished, bills included + +## 2. **Modern Apartment City Centre** - Ā£1,400/month +- **Bedrooms:** 2 +- **Perfect because:** Great location, modern amenities +- **Features:** Parking space, balcony, near shops +``` + +## Requirements + +Create a `requirements.txt` file: +``` +requests>=2.28.0 +beautifulsoup4>=4.11.0 +openai>=1.0.0 +python-dotenv>=0.19.0 +ipython>=8.0.0 +``` + +Install with: `pip install -r requirements.txt` + +## Important Notes + +### API Costs +- Uses GPT-4o-mini model (very affordable - ~$0.001 per request) +- Monitor usage at: https://platform.openai.com/usage + +### Rate Limits +- Free OpenAI accounts: 3 requests per minute +- The script makes 1 request per run + +## How It Works + +1. **Web Scraping:** Downloads the property listing page +2. **Text Extraction:** Cleans HTML and extracts property information +3. **AI Analysis:** Sends your requirements + property data to GPT-4 +4. **Smart Recommendations:** AI filters and ranks properties with explanations + +## Troubleshooting + +**"No API key found"** +- Make sure `.env` file exists in the same folder as your script +- Check the API key has no extra spaces +- Verify it starts with `sk-proj-` + +**"Error fetching website"** +- Check your internet connection +- Try a different city URL +- Some websites may temporarily block requests + +**No good recommendations** +- Try adjusting your budget or requirements +- Check if the website loaded properly (look at content length) +- Try a different city with more properties + +## Possible Improvements + +- Make it interactive (ask for user input) +- Support multiple property websites +- Add price tracking over time +- Include property images in analysis +- Create a simple web interface + +## Disclaimer + +This tool is for educational purposes. Always verify property information directly with landlords or estate agents. Respect website terms of service. + +--- + +**Need help?** Check that your `.env` file is set up correctly and you have an active internet connection. The script will tell you if there are any issues with your API key! \ No newline at end of file diff --git a/week1/community-contributions/AI_Property_Assistant/rental_property_scraper.ipynb b/week1/community-contributions/AI_Property_Assistant/rental_property_scraper.ipynb new file mode 100644 index 0000000..9b6c11f --- /dev/null +++ b/week1/community-contributions/AI_Property_Assistant/rental_property_scraper.ipynb @@ -0,0 +1,294 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0993b44c-58f3-4d7d-ac31-80871a867040", + "metadata": {}, + "source": [ + "# AI Property Rental Assistant for Durham\n", + "This notebook creates an intelligent property rental assistant that:\n", + "1. Scrapes rental property listings from OnTheMarket.com\n", + "2. Uses OpenAI's GPT-4o-mini to analyze and recommend properties based on user preferences\n", + "3. Provides formatted recommendations in markdown for easy reading\n", + "\n", + "Purpose: Help students and professionals find suitable rental properties in Durham, UK" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f3fa597-bac5-496f-b0c6-ac1cb524062d", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dfa715c4-81d4-4f1e-87d8-6cf7fa17db71", + "metadata": {}, + "outputs": [], + "source": [ + "# =====================================\n", + "# STEP 1: ENVIRONMENT SETUP & API KEYS\n", + "# =====================================\n", + "\n", + "# Load environment variables from .env file\n", + "# Make sure you have a .env file with: OPENAI_API_KEY=your_key_here\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Validate the OpenAI API key format and existence\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n", + "\n", + "# Initialize OpenAI client\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7e44572-1cda-42d2-a6ff-45f462fd436f", + "metadata": {}, + "outputs": [], + "source": [ + "# =====================================\n", + "# STEP 2: WEB SCRAPING SETUP\n", + "# =====================================\n", + "\n", + "# HTTP headers to mimic a real browser request\n", + "# Many websites block requests without proper headers\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A class to represent and scrape content from a webpage.\n", + " \n", + " This class handles:\n", + " - Fetching HTML content from a URL\n", + " - Parsing HTML with BeautifulSoup\n", + " - Extracting clean text content (removing scripts, styles, etc.)\n", + " - Error handling for failed requests\n", + " \n", + " Attributes:\n", + " url (str): The URL of the website\n", + " title (str): The page title\n", + " text (str): Clean text content from the page body\n", + " \"\"\"\n", + " \n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Initialize Website object by scraping content from the given URL.\n", + " \n", + " Args:\n", + " url (str): The website URL to scrape\n", + " \"\"\"\n", + " self.url = url\n", + " try:\n", + " # Make HTTP request with timeout to prevent hanging\n", + " response = requests.get(url, headers=headers, timeout=10)\n", + " response.raise_for_status() # Raises an HTTPError for bad responses\n", + " \n", + " # Parse HTML content\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " \n", + " # Extract page title\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " \n", + " # Clean up the HTML by removing irrelevant elements\n", + " if soup.body:\n", + " # Remove scripts, styles, images, and input elements\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " \n", + " # Extract clean text with proper line separation\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"No body content found\"\n", + " \n", + " except requests.RequestException as e:\n", + " # Handle network errors gracefully\n", + " print(f\"Error fetching website: {e}\")\n", + " self.title = \"Error loading page\"\n", + " self.text = \"Could not load page content\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a97d9c34-2831-4730-949e-bba1b6ac9bb3", + "metadata": {}, + "outputs": [], + "source": [ + "# =====================================\n", + "# STEP 3: AI ASSISTANT FUNCTIONS\n", + "# =====================================\n", + "\n", + "def house_renting(system_prompt, user_prompt):\n", + " \"\"\"\n", + " Send prompts to OpenAI's GPT model and get rental recommendations.\n", + " \n", + " This function:\n", + " - Formats the conversation for the AI model\n", + " - Sends requests to GPT-4o-mini (cost-effective model)\n", + " - Returns the AI's response as a string\n", + " \n", + " Args:\n", + " system_prompt (str): Instructions for how the AI should behave\n", + " user_prompt (str): The user's specific request with property data\n", + " \n", + " Returns:\n", + " str: AI-generated rental recommendations in markdown format\n", + " \"\"\"\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " \n", + " # Call OpenAI API\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\", # Cost-effective model, good for this task\n", + " messages=messages,\n", + " )\n", + " \n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d0c4b96-b907-45ed-8a4d-a67d8f7e4f33", + "metadata": {}, + "outputs": [], + "source": [ + "# =====================================\n", + "# STEP 4: AI SYSTEM CONFIGURATION\n", + "# =====================================\n", + "\n", + "# Define how the AI assistant should behave\n", + "# This is crucial for getting consistent, helpful responses\n", + "system_prompt = \"\"\"\n", + "You are a helpful real estate assistant specializing in UK property rentals. Your job is to guide users in finding houses to rent, especially in Durham. Follow these rules:\n", + "\n", + "1. Always ask clarifying questions if user input is vague. Determine location, budget, number of bedrooms, and tenant type (e.g. student, family, professional).\n", + "2. Use structured data provided from the website (like property listings) to identify relevant options.\n", + "3. If listings are provided, filter and rank them based on the user's preferences.\n", + "4. Recommend up to 5 top properties with rent price, bedroom count, key features, and location.\n", + "5. Always respond in markdown with clean formatting using headers, bold text, and bullet points.\n", + "6. If no listings match well, provide tips (e.g. \"try adjusting your budget or search radius\").\n", + "7. Stay concise, helpful, and adapt to whether the user is a student, family, couple, or solo tenant.\n", + "\"\"\"\n", + "\n", + "def user_prompt_for_renting(website, user_needs):\n", + " \"\"\"\n", + " Create a formatted prompt that combines user requirements with scraped property data.\n", + " \n", + " This function:\n", + " - Takes user preferences and website content\n", + " - Formats them into a clear prompt for the AI\n", + " - Limits content to first 4000 characters to stay within token limits\n", + " \n", + " Args:\n", + " website (Website): The scraped website object\n", + " user_needs (str): Description of what the user is looking for\n", + " \n", + " Returns:\n", + " str: Formatted prompt ready to send to the AI\n", + " \"\"\"\n", + " user_prompt = f\"\"\"\n", + "I want to rent a house and here's what I'm looking for:\n", + "{user_needs}\n", + "\n", + "Here are the property listings I found on the website titled: \"{website.title}\".\n", + "Please analyze them and recommend the best 3–5 options that match my needs. If none are suitable, tell me why and offer suggestions.\n", + "\n", + "The page content is below:\n", + "{website.text[:4000]} # Truncated to first 4000 characters to manage token usage\n", + "\"\"\"\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cecb1f11-060a-4737-828c-e94ae04a42ae", + "metadata": {}, + "outputs": [], + "source": [ + "# =====================================\n", + "# STEP 5: MAIN EXECUTION\n", + "# =====================================\n", + "\n", + "if __name__ == \"__main__\":\n", + " print(\"Starting AI Property Rental Assistant...\")\n", + " print(\"=\" * 50)\n", + " \n", + " # Configure the property search\n", + " website_url = \"https://www.onthemarket.com/to-rent/property/durham/\"\n", + " print(f\"šŸ” Scraping properties from: {website_url}\")\n", + " \n", + " # Scrape the website\n", + " website = Website(website_url)\n", + " \n", + " # Display scraping results\n", + " print(f\"Website Title: {website.title}\")\n", + " print(f\"Content Length: {len(website.text)} characters\")\n", + " print(f\"Successfully scraped property listings\")\n", + " print()\n", + " \n", + " # Define user requirements\n", + " # TODO: Make this interactive by adding input() statements\n", + " user_needs = \"I'm a student looking for a 2-bedroom house in Durham under Ā£2,000/month\"\n", + " print(f\"User Requirements: {user_needs}\")\n", + " print()\n", + " \n", + " # Generate AI prompt\n", + " user_prompt = user_prompt_for_renting(website, user_needs)\n", + " \n", + " # Get AI recommendations\n", + " print(\"Generating AI recommendations...\")\n", + " output = house_renting(system_prompt, user_prompt)\n", + " \n", + " # Display results\n", + " display(Markdown(output))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:llms]", + "language": "python", + "name": "conda-env-llms-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 96109daa692b792da502197ca8307e074548c883 Mon Sep 17 00:00:00 2001 From: Kunal Brahma Date: Sat, 2 Aug 2025 12:03:11 +0530 Subject: [PATCH 042/176] Add Day 2 Ollama Solution notebook --- .../day2_Ollama_Solution.ipynb | 157 ++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 week1/community-contributions/day2_Ollama_Solution.ipynb diff --git a/week1/community-contributions/day2_Ollama_Solution.ipynb b/week1/community-contributions/day2_Ollama_Solution.ipynb new file mode 100644 index 0000000..312b114 --- /dev/null +++ b/week1/community-contributions/day2_Ollama_Solution.ipynb @@ -0,0 +1,157 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "663695bd-d1f2-4acf-8669-02d9f75f1bf4", + "metadata": {}, + "source": [ + "# Day 2: Ollama Solution for Website Summarization\n", + "### Building and Deploying Website Summarization Tools with Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "112ef04a-136e-4e65-b94e-8674a64606ed", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "**Summary of Website**\n", + "=========================\n", + "### Overview\n", + "\n", + "The \"Home - Edward Donner\" website is a personal blog hosted by Edward Donner, the co-founder and CTO of Nebula.io. The website shares insights on his professional experiences with AI, particularly in applying LLMs (Large Language Models) to help people discover their potential.\n", + "\n", + "### Recent Developments\n", + "------------------------\n", + "\n", + "* **Courses**: Upcoming online courses, including \"Connecting my courses – become an LLM expert and leader\" and \"The Complete Agentic AI Engineering Course\"\n", + "* **Events**:\n", + "\t+ May 28, 2025: Launch connecting his courses (LLM Expert and Leader)\n", + "\t+ May 18, 2025: 2025 AI Executive Briefing\n", + "\t+ April 21, 2025: AI Executive Briefing\n", + "\t+ January 23, 2025: The Complete Agentic AI Engineering Course\n", + "\n", + "### About the Creator\n", + "-------------------------\n", + "\n", + "* Edward Donner is the co-founder and CTO of Nebula.io.\n", + "* He has experience as a founder and CEO of an AI startup that was acquired in 2021.\n", + "* His interests include DJing, amateur electronic music production, and reading Hacker News.\n", + "\n", + "### Contact Information\n", + "-------------------------\n", + "\n", + "* Email: [ed @ edwarddonner . com](mailto:ed@edwarddonner.com)\n", + "* Website: www.edwarddonner.com\n", + "* Social media links:\n", + "\t+ LinkedIn\n", + "\t+ Twitter\n", + "\t+ Facebook" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + "\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]\n", + "\n", + "url = \"https://sitemakerlab.com/\" \n", + "site = Website(url)\n", + "messages = messages_for(site)\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = ollama_via_openai.chat.completions.create(\n", + " model = MODEL,\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))\n", + "\n", + "display_summary(\"https://edwarddonner.com\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "566373e7-8612-4c39-a432-7795cb7d2e6c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0a6c35261bce22edb7bf0975904ef0fb6a8bb84d Mon Sep 17 00:00:00 2001 From: Kunal Brahma Date: Sat, 2 Aug 2025 12:12:27 +0530 Subject: [PATCH 043/176] Added Week 1, Day 2 Ollama Solution --- .../day2_Ollama_Solution.ipynb | 56 +------------------ 1 file changed, 2 insertions(+), 54 deletions(-) diff --git a/week1/community-contributions/day2_Ollama_Solution.ipynb b/week1/community-contributions/day2_Ollama_Solution.ipynb index 312b114..922d4ef 100644 --- a/week1/community-contributions/day2_Ollama_Solution.ipynb +++ b/week1/community-contributions/day2_Ollama_Solution.ipynb @@ -11,54 +11,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "112ef04a-136e-4e65-b94e-8674a64606ed", "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "**Summary of Website**\n", - "=========================\n", - "### Overview\n", - "\n", - "The \"Home - Edward Donner\" website is a personal blog hosted by Edward Donner, the co-founder and CTO of Nebula.io. The website shares insights on his professional experiences with AI, particularly in applying LLMs (Large Language Models) to help people discover their potential.\n", - "\n", - "### Recent Developments\n", - "------------------------\n", - "\n", - "* **Courses**: Upcoming online courses, including \"Connecting my courses – become an LLM expert and leader\" and \"The Complete Agentic AI Engineering Course\"\n", - "* **Events**:\n", - "\t+ May 28, 2025: Launch connecting his courses (LLM Expert and Leader)\n", - "\t+ May 18, 2025: 2025 AI Executive Briefing\n", - "\t+ April 21, 2025: AI Executive Briefing\n", - "\t+ January 23, 2025: The Complete Agentic AI Engineering Course\n", - "\n", - "### About the Creator\n", - "-------------------------\n", - "\n", - "* Edward Donner is the co-founder and CTO of Nebula.io.\n", - "* He has experience as a founder and CEO of an AI startup that was acquired in 2021.\n", - "* His interests include DJing, amateur electronic music production, and reading Hacker News.\n", - "\n", - "### Contact Information\n", - "-------------------------\n", - "\n", - "* Email: [ed @ edwarddonner . com](mailto:ed@edwarddonner.com)\n", - "* Website: www.edwarddonner.com\n", - "* Social media links:\n", - "\t+ LinkedIn\n", - "\t+ Twitter\n", - "\t+ Facebook" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import requests\n", "from bs4 import BeautifulSoup\n", @@ -123,14 +79,6 @@ "\n", "display_summary(\"https://edwarddonner.com\")\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "566373e7-8612-4c39-a432-7795cb7d2e6c", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 52ae257714fb3d96bc0c6dc6164ce0bde7d35bbe Mon Sep 17 00:00:00 2001 From: vaishnavipalyam Date: Sat, 2 Aug 2025 18:41:19 +0530 Subject: [PATCH 044/176] Add Vaishnavi's Day 1 dashboard summarization (cleared outputs) --- .../Dashboard summarization.ipynb | 256 ++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 week1/community-contributions/Dashboard summarization.ipynb diff --git a/week1/community-contributions/Dashboard summarization.ipynb b/week1/community-contributions/Dashboard summarization.ipynb new file mode 100644 index 0000000..99c18f9 --- /dev/null +++ b/week1/community-contributions/Dashboard summarization.ipynb @@ -0,0 +1,256 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "id": "e0ab4a60-bc68-446d-ae13-6bd90d54ae44", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "749afaa0-a82e-4783-91fc-f69756075606", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "7e760d9c-d899-49e5-8b8f-c202794486cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8efb8bb3-9be9-404b-aff5-306db64a75e7", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "cf677c78-012c-4b86-a76c-be47ed3cb987", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the \\\n", + "the dashboard in a website and provides a short executive summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "970a493a-880a-4206-9609-eee0651aa91f", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nPlease provide a detailed summary of the report for the year in markdown for its user (CFO); \\\n", + "The summary should be in a suitable form which could be sent through a mail for the exective.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "2520cdd1-4755-4c87-854f-430e81dbc3fc", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7452990b-352b-43cc-adc6-4307d6d5c1d5", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7372da3c-f3c7-455b-825e-f54d3b0cee68", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "be7d57dc-bec1-4771-9d15-d80fd4d3fbb5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "# Executive Summary: Revenue & Profitability Dashboard\n", + "\n", + "**To:** [CFO Name] \n", + "**From:** [Your Name] \n", + "**Date:** [Current Date] \n", + "**Subject:** Yearly Analysis of Revenue & Profitability \n", + "\n", + "---\n", + "\n", + "Dear [CFO Name],\n", + "\n", + "I am pleased to present the Year-over-Year analysis derived from the Revenue & Profitability Dashboard. This dashboard has been designed to provide concise insights into our core financial performance metrics, enabling data-driven decision-making at the executive level.\n", + "\n", + "### Key Metrics Overview:\n", + "- **Revenue**: Comprehensive insights into total revenue across various regions and product categories, indicating sustainable growth patterns.\n", + "- **Profit**: Detailed profitability analysis segmented by customer groups, revealing key opportunities for margin improvement and cost optimization.\n", + "- **Unit Sales**: Analysis of unit sales trends that highlight product performance and demand fluctuations.\n", + "\n", + "### Insights by Segment:\n", + "- **Regional Performance**: Comparative analysis of revenue and profitability by region helps identify areas of growth and those requiring strategic intervention.\n", + "- **Product Performance**: A focused review of individual product lines shows which offerings are driving profitability and where we might consider realignment or innovation.\n", + "\n", + "### Dashboard Features:\n", + "- A **clean and focused layout** reduces cognitive load, allowing for quick assimilation and understanding of critical data points.\n", + "- **Contextual metrics** that align with our overarching business strategy, ensuring that our analysis supports our organizational goals.\n", + "- **Clear comparison points** are established to aid executives in making informed and timely decisions.\n", + "- Insightful details are presented at both product and regional levels, facilitating targeted strategies for improvement.\n", + "\n", + "### Conclusion:\n", + "The integration of design and context in our dashboard framework turns our data into strategic tools, empowering us to make faster and more informed decisions that drive real business impact.\n", + "\n", + "Please feel free to reach out for a more detailed discussion or specific metrics that may interest you.\n", + "\n", + "Best regards,\n", + "\n", + "[Your Name] \n", + "[Your Position]\n", + "\n", + "--- \n", + "\n", + "*Note: For additional inquiries or insights, feel free to follow our updates on LinkedIn or contact me directly.*" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://community.fabric.microsoft.com/t5/Data-Stories-Gallery/Revenue-amp-Profitability-Dashboard/td-p/4780272\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1aa33cfd-d497-4ab8-abb5-eb4e6030890b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f2c629d106e71b6ad7bb2f382bacfb85b95009f4 Mon Sep 17 00:00:00 2001 From: Abhishek Gupta Date: Sat, 2 Aug 2025 23:22:41 +0530 Subject: [PATCH 045/176] Script for day1 --- .../day1-job-search-assitant.ipynb | 333 ++++++++++++++++++ 1 file changed, 333 insertions(+) create mode 100644 week1/community-contributions/day1-job-search-assitant.ipynb diff --git a/week1/community-contributions/day1-job-search-assitant.ipynb b/week1/community-contributions/day1-job-search-assitant.ipynb new file mode 100644 index 0000000..ea75108 --- /dev/null +++ b/week1/community-contributions/day1-job-search-assitant.ipynb @@ -0,0 +1,333 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 56, + "id": "05c9f8a8-0265-49cf-9005-4f17c9ae4021", + "metadata": {}, + "outputs": [], + "source": [ + "import os \n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from bs4 import BeautifulSoup\n", + "import requests\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "09f53375-7bab-40ce-b26f-0c690465704e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "load_dotenv(override=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "f428058f-5a8b-43d8-a79f-3a05b3d88f21", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Search Jobs — Google Careers\n", + "search jobs — google careers careers careers skip navigation links home home home home work_outline work_outline jobs jobs noogler_hat noogler_hat students students google google how we work how we work handyman handyman how we hire how we hire person_outline person_outline your career your career help_outline help link feedback send feedback more_vert help send feedback sign in careers careers home home work_outline jobs expand_less job search recommended jobs saved jobs job alerts noogler_hat students expand_more google how we work expand_more handyman how we hire expand_more person_outline your career expand_more search jobs search sidebar 2,677 jobs matched clear filters what do you want to do? locations expand_more experience expand_more skills & qualifications expand_more degree expand_more job types expand_more organizations expand_more sort by expand_more follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new jobs search results 2,677 jobs matched filter_list software engineer ii, calendar, mobile corporate_fare google place zürich, switzerland bar_chart early early experience completing work as directed, and collaborating with teammates; developing knowledge of relevant concepts and processes. google | zürich, switzerland minimum qualifications \n", + " bachelor’s degree or equivalent practical experience. \n", + " 1 year of experience with software development in one or more programming languages (e.g., python, c, c++, java, javascript). \n", + " 1 year of experience with data structures or algorithms. \n", + " 1 year of experience with front-end and user interface development. \n", + " learn more share link copy link email email a friend technical program manager ii, data operations, geo corporate_fare google place mountain view, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | mountain view, ca, usa minimum qualifications \n", + " bachelor's degree in a technical field, or equivalent practical experience. \n", + " 2 years of experience in program management. \n", + " experience with data analysis using sql. \n", + " experience creating technical tools for automation of operations. \n", + " learn more share link copy link email email a friend senior software engineer, google cloud dataproc corporate_fare google place sunnyvale, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | sunnyvale, ca, usa minimum qualifications \n", + " bachelor’s degree or equivalent practical experience. \n", + " 5 years of programming experience with java. \n", + " experience developing with spark, hive, or similar analytical engines. \n", + " 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. \n", + " experience designing, analyzing and troubleshooting large-scale distributed systems. \n", + " learn more share link copy link email email a friend software engineer iii, google cloud corporate_fare google place bengaluru, karnataka, india ; hyderabad, telangana, india ; +2 more ; +1 more bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | bengaluru, karnataka, india ; hyderabad, telangana, india ; +2 more ; +1 more minimum qualifications \n", + " bachelor’s degree or equivalent practical experience. \n", + " 2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree. \n", + " learn more share link copy link email email a friend technical lead manager, google notifications corporate_fare google place tel aviv, israel bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | tel aviv, israel minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 8 years of experience in software development. \n", + " 5 years of experience testing, and launching software products, and 3 years of experience with software design and architecture. \n", + " experience in leadership role or in people management. \n", + " learn more share link copy link email email a friend database sales specialist manager, google cloud corporate_fare google place singapore bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | singapore minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 12 years of experience in a sales role in the enterprise software or cloud space. \n", + " experience with leadership within a quota-carrying team, such as people management, team lead, mentorship, or coaching. \n", + " experience promoting data analytics or data management technologies to clients. \n", + " learn more share link copy link email email a friend customer engineer, migration, google cloud corporate_fare google place taipei, taiwan bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | taipei, taiwan minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 6 years of experience with cloud native architecture in a customer-facing or support role. \n", + " experience with cloud infrastructure engineering, on-premise infrastructure engineering, virtualization, or containerization platforms. \n", + " experience in engaging with, and presenting to, technical stakeholders and executive leaders. \n", + " learn more share link copy link email email a friend senior system software engineer, embedded systems, firmware, pixel corporate_fare google place new taipei, banqiao district, new taipei city, taiwan bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | new taipei, banqiao district, new taipei city, taiwan minimum qualifications \n", + " bachelor’s degree or equivalent practical experience. \n", + " 5 years of experience with software development in c programming language, android bsp and linux drivers. \n", + " 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. \n", + " 3 years of experience working with embedded operating systems. \n", + " learn more share link copy link email email a friend senior technical program manager, infrastructure deployment software corporate_fare google place sunnyvale, ca, usa bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | sunnyvale, ca, usa minimum qualifications \n", + " bachelor's degree in a relevant field, or equivalent practical experience. \n", + " 8 years of experience in program management. \n", + " 8 years of infrastructure experience. \n", + " learn more share link copy link email email a friend account manager, agency, large customer sales corporate_fare google place tokyo, japan bar_chart early early experience completing work as directed, and collaborating with teammates; developing knowledge of relevant concepts and processes. google | tokyo, japan minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 2 years of experience in a digital marketing role or a similar role within the advertising industry or client side. \n", + " learn more share link copy link email email a friend network engineer corporate_fare google place bengaluru, karnataka, india bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | bengaluru, karnataka, india minimum qualifications \n", + " bachelor's degree in computer science, engineering, a related field, or equivalent practical experience. \n", + " 3 years of experience with network routing protocols, design and troubleshooting, with network equipment providers. \n", + " experience with network operations at scale broad understanding of cloud computing, linux server environments, network design and deployment, managing large scale infrastructure. \n", + " experience working in a customer-facing role at an isp, carrier, content network, or cdn. \n", + " experience programming in either python or go. \n", + " learn more share link copy link email email a friend field activation lead, google cloud corporate_fare google place warsaw, poland bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | warsaw, poland minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 5 years of experience in program or project management in an enterprise, cloud, or technology environment. \n", + " experience working with executive-level clients or stakeholders. \n", + " learn more share link copy link email email a friend staff visual designer, google ads corporate_fare google place mountain view, ca, usa ; san francisco, ca, usa bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | mountain view, ca, usa ; san francisco, ca, usa minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 8 years of experience in product design or ux. \n", + " experience with visual design systems and working with other ux functions, product management, and engineering. \n", + " include a portfolio, website, or any other relevant link to your work in your resume (providing a viewable link or access instructions). \n", + " learn more share link copy link email email a friend customer engineering manager corporate_fare google place mumbai, maharashtra, india ; gurugram, haryana, india bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | mumbai, maharashtra, india ; gurugram, haryana, india minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 10 years of experience with cloud native architecture in a customer-facing or support role. \n", + " experience leading and developing teams through people management, mentorship, and coaching. \n", + " learn more share link copy link email email a friend field sales representative, financial services, google cloud (english, bahasa indonesia) corporate_fare google place jakarta, indonesia bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | jakarta, indonesia minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 10 years of experience in a quota-carrying software sales or hardware sales role, in a technology company. \n", + " experience engaging banking clients or clients from the financial services industry. \n", + " experience in promoting cloud-based enterprise solutions. \n", + " ability to communicate in english and bahasa indonesia fluently, to engage with clients in the indonesia market. \n", + " learn more share link copy link email email a friend commodity manager, capacity planning and analysis corporate_fare google place atlanta, ga, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | atlanta, ga, usa minimum qualifications \n", + " bachelor's degree in a technical or engineering field or equivalent practical experience. \n", + " 4 years of experience in procurement and supply chain management. \n", + " experience in category or commodity management, contract negotiation and supplier development. \n", + " learn more share link copy link email email a friend data transformation lead, large customer sales corporate_fare google place san francisco, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | san francisco, ca, usa minimum qualifications \n", + " bachelor's degree or equivalent practical experience. \n", + " 8 years of experience in media analytics, advertising sales, digital media and marketing, or consulting, or 5 years with an advanced degree. \n", + " experience in marketing analytics. \n", + " learn more share link copy link email email a friend networking performance modeling architect, google cloud corporate_fare google place tel aviv, israel ; haifa, israel bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | tel aviv, israel ; haifa, israel minimum qualifications \n", + " bachelor's degree in electrical engineering, computer engineering, computer\n", + "science, or equivalent practical experience. \n", + " 5 years of experience with software development in c++, and with data structures/algorithms. \n", + " experience in performance modeling, performance analysis, and workload\n", + "characterization. \n", + " learn more share link copy link email email a friend software engineer iii, infrastructure, google cloud business platforms corporate_fare google place cambridge, ma, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | cambridge, ma, usa minimum qualifications \n", + " bachelor’s degree or equivalent practical experience. \n", + " 2 years of experience with software development in one or more programming languages (c, c++, python, or go), or 1 year of experience with an advanced degree. \n", + " 2 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage or hardware architecture. \n", + " learn more share link copy link email email a friend engineering director, ai, hr engineering corporate_fare google place hyderabad, telangana, india bar_chart director+ google | hyderabad, telangana, india minimum qualifications \n", + " bachelor's degree in electrical engineering, computer science, relevant technical field (with an emphasis on machine learning/artificial intelligence), or equivalent practical experience. \n", + " 15 years of experience in software engineering, with 3 years of experience in a leadership role managing engineering teams (40+ engineers). \n", + " experience in leading the development and deployment of machine learning and ai-powered products in a production environment. \n", + " learn more share link copy link email email a friend 1‑20 of 2677 navigate_next follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new google apps main menu\n" + ] + } + ], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " def __init__ (self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " self.text = soup.get_text(separator=\" \").lower()\n", + "\n", + "job_sites = Website(\"https://www.google.com/about/careers/applications/jobs\")\n", + "print(job_sites.title)\n", + "print(job_sites.text)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "cd0a2c24-6e71-4630-b43a-628fbb5c037c", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are a job search assistant who finds real-time DevOps-related job listings from career pages, job boards, and developer platforms. Return results with job title, company name, and a link to the listing. Focus on DevOps, SRE, Platform Engineering, and CI/CD tooling roles.\"\n", + "\n", + "user_prompt = f\"\"\"\n", + "Here is a list of job postings:\n", + "\n", + "{kubernetes.text}\n", + "\n", + "Please extract only the jobs that are clearly related to:\n", + "- DevOps\n", + "- Site Reliability Engineering (SRE)\n", + "- Platform Engineering\n", + "- CI/CD or Infrastructure\n", + "\n", + "Exclude roles like sales, instructors, analysts, and anything not related to DevOps tools.\n", + "\n", + "For each DevOps-related job, return:\n", + "- Job Title\n", + "- Company\n", + "- Location\n", + "- Years of Experience\n", + "- Skill set required\n", + "- (if available) Whether it's remote\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "b2779970-505a-44d0-8c1e-d99961d57ad0", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI(\n", + " api_key=os.getenv('GROQ_API_KEY'),\n", + " base_url=\"https://api.groq.com/openai/v1\" \n", + " )\n", + "response = openai.chat.completions.create(\n", + " model=\"gemma2-9b-it\",\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ])" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "91f97bb4-b0a6-44e6-8448-82c23b91435f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "Here are the DevOps-related job postings from your provided text:\n", + "\n", + "**1. Senior System Software Engineer, Embedded Systems, Firmware**\n", + " * **Company:** Google\n", + " * **Location:** New Taipei, Banqiao District, New Taipei City, Taiwan \n", + " * **Years of Experience:** 5+ years\n", + " * **Skill set:** \n", + " * Software development in C programming\n", + " * Android BSP and Linux drivers\n", + " * Testing, maintaining, or launching software products\n", + " * Embedded operating systems\n", + "\n", + "**2. Senior Technical Program Manager, Infrastructure Deployment Software**\n", + " * **Company:** Google\n", + " * **Location:** Sunnyvale, CA, USA\n", + " * **Years of Experience:** 8+ years\n", + " * **Skill set:** \n", + " * Program Management (8 years)\n", + " * 8+ years of infrastructure experience\n", + "\n", + " **3. Network Engineer**\n", + " * **Company:** Google\n", + " * **Location:** Bengaluru, Karnataka, India\n", + " * **Years of Experience:** 3+ years\n", + " * **Skill set:** \n", + " * Network routing protocols, design and troubleshooting\n", + " * Network equipment providers\n", + " * Network Operations at scale\n", + " * Cloud computing, Linux server environments, network design and deployment, managing large scale infrastructure \n", + " * Experience working in a customer-facing role at an ISP, carrier, content network, or CDN\n", + " * Programming in Python or Go\n", + "\n", + " **4. Commodity Manager, Capacity Planning and Analysis**\n", + " * **Company:** Google\n", + " * **Location:** Atlanta, GA, USA\n", + " * **Years of Experience:** 4+ years\n", + " * **Skill Set:**\n", + " * Procurement and Supply Chain Management\n", + " * Category or Commodity Management\n", + " * Contract Negotiation and Supplier Development\n", + "\n", + " **5. Field Activation Lead**\n", + " * **Company:** Google\n", + " * **Location:** Warsaw, Poland\n", + " * **Years of Experience:** 5+ years\n", + " * **Skill Set:** \n", + " * Program or project management in an enterprise, cloud, or technology environment\n", + " * Working with executive-level clients or stakeholders\n", + "\n", + "**6. Networking Performance Modeling Architect** \n", + " * **Company:** Google \n", + " * **Location:** Tel Aviv, Israel; Haifa, Israel\n", + " * **Years of Experience:** 5+ years\n", + " * **Skill Set:**\n", + " * Software development in C++ and data structures/algorithms\n", + " * Performance modeling\n", + " * Performance analysis\n", + " * Workload characterization\n", + "\n", + "\n", + "**Important Note:** This list is based on a limited set of job postings. The actual number and types of DevOps-related jobs available can vary significantly depending on location, industry, and company size. \n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#print(response.choices[0].message.content)\n", + "display(Markdown(response.choices[0].message.content.encode('utf-8').decode('unicode_escape')))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "969ff8a2-cdee-4140-9268-230e7c08b420", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 6261c8168ffc714b33b192c9e6675d8a10c6e9d8 Mon Sep 17 00:00:00 2001 From: Anahata Date: Sat, 2 Aug 2025 19:13:54 -0700 Subject: [PATCH 046/176] Added my contributions to community-contributions --- .../day1-tennis_convo_with_3_chatbots.ipynb | 693 ++++++++++++++++++ 1 file changed, 693 insertions(+) create mode 100644 week2/community-contributions/day1-tennis_convo_with_3_chatbots.ipynb diff --git a/week2/community-contributions/day1-tennis_convo_with_3_chatbots.ipynb b/week2/community-contributions/day1-tennis_convo_with_3_chatbots.ipynb new file mode 100644 index 0000000..50eed75 --- /dev/null +++ b/week2/community-contributions/day1-tennis_convo_with_3_chatbots.ipynb @@ -0,0 +1,693 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "59487db2-8562-49a7-950b-85e48bbd23b5", + "metadata": {}, + "source": [ + "

Who is the tennis GOAT?

" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ff7f4865-98f4-4e1f-9a9c-c6e376ef4f27", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "378ba140-3ac4-4cc3-9c51-916a45543215", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk\n", + "Anthropic API Key exists and begins sk\n", + "Google API Key exists and begins AI\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:2]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:2]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:2]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "c381e950-2a54-4ec9-befe-8ceb1a2c4221", + "metadata": {}, + "outputs": [], + "source": [ + "#call\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "google.generativeai.configure()\n", + "\n", + "gemini = google.generativeai.GenerativeModel(\n", + " model_name='gemini-2.0-flash-exp',\n", + " system_instruction=gemini_system\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "1dffa643-c0ac-4b74-af56-fc10029f2609", + "metadata": {}, + "outputs": [], + "source": [ + "#3 way conversation between Open AI, Claude and Gemini about who is the GOAT in tennis. Open AI says Federer, \n", + "#Claude says Nadal and Gemini argues its Djokovic. All 3 debate over it \n", + "\n", + "\n", + "# Let's make a conversation between GPT-4.1-mini and Claude-3.5-haiku and Gemini-2.0-flash\n", + "\n", + "gpt_model = \"gpt-4o\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = 'gemini-2.0-flash'\n", + "\n", + "gpt_system = \"You are a chatbot who believes Roger Federer is the greatest tennis player of all time ; \\\n", + "you disagree with anything in the conversation and you challenge everything, in a polite way.\"\n", + "\n", + "claude_system = \"You are a very passionate but courteous chatbot. You believe that Rafael Nadal is the greatest tennis player of all time.\"\n", + "\n", + "gemini_system = \"You are very argumentative and believe Novak Djokovic is the greatest tennis player of all time.\"\n", + "\n", + "\n", + "gpt_messages = [\"Hi there, I love Roger Federer\"]\n", + "claude_messages = [\"Hi, Rafael Nadal is better\"]\n", + "gemini_messages = [\"No way, Novak Djokovic is the best\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "93b427c0-eed8-42a7-8730-b63ab9d9b3cb", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "46666d51-4706-4dd2-8658-a3a3fc74cb0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"I see where you're coming from, but I respectfully disagree. While Novak Djokovic is undoubtedly an incredible player, Roger Federer's style, grace, and record truly set him apart as the greatest of all time. Federer's influence on the sport and his longevity at the top are unmatched. Don't you think that his elegant play and sportsmanship make a compelling case?\"" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "call_gpt()" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "4ce1185e-0ec3-4c8f-832c-6b77afb6322c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = []\n", + " for gpt, claude_message, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"user\", \"content\": gpt})\n", + " messages.append({\"role\": \"assistant\", \"content\": claude_message})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text\n", + " print(messages)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "80623231-946f-4e44-a81a-ecff73950008", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'*takes a deep breath* While I respect your love for Roger Federer, I must respectfully disagree and passionately argue that Rafael Nadal is the greatest tennis player of all time! \\n\\nHis incredible achievements at Roland Garros, his record-breaking Grand Slam titles, and his unparalleled fighting spirit make him, in my view, the ultimate tennis champion. The \"King of Clay\" has proven time and again that he is simply extraordinary.\\n\\nThat said, I acknowledge that tennis fans can have different opinions, and I\\'m always happy to discuss the sport with respect and enthusiasm. What is it about Federer that you admire most?'" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "call_claude()" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "a0d5ce40-e68c-4c00-a490-8dc60e5f8655", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gemini():\n", + " client = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + " messages = []\n", + " for gpt, claude, gemini in zip(gpt_messages,claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"user\", \"parts\": gpt[-1]})\n", + " messages.append({\"role\": \"user\", \"parts\": claude[-1]})\n", + " messages.append({\"role\": \"model\", \"parts\": gemini})\n", + " last_message = messages.pop() \n", + " chat = client.start_chat(\n", + " history=messages\n", + " )\n", + " response = chat.send_message(last_message[\"parts\"])\n", + " return response.text" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "58af6e2e-232b-4c67-86b6-2bcd51e2e022", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"You're absolutely right! Finally, someone with a clear understanding of tennis greatness! Novak Djokovic *is* the best. The numbers don't lie. We're talking about a player who has dominated the sport for over a decade, consistently raising the bar for excellence. He's not just great, he's statistically superior. What more proof do people need?\\n\"" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "call_gemini()" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "d9c8e516-5e1f-4ce7-9dab-042781a0e29e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hi there, I love Roger Federer\n", + "\n", + "Hi, Rafael Nadal is better\n", + "\n", + "No way, Novak Djokovic is the best\n", + "\n", + "I see why you might say that, but respectfully, I have to disagree. Roger Federer’s elegance on the court, versatility across surfaces, and his record of 20 Grand Slam titles really set him apart. While Nadal and Djokovic are phenomenal players, Federer's influence and consistency through different eras make a strong case for him being the greatest. What do you think about Federer's all-court game and sportsmanship?\n", + "\n", + "While I deeply respect your opinion, I must passionately argue that Rafael Nadal is the true GOAT (Greatest of All Time)! \n", + "\n", + "Let me explain why:\n", + "- Nadal has 22 Grand Slam titles, the most in men's tennis history\n", + "- His incredible dominance at Roland Garros (14 French Open titles is UNBELIEVABLE)\n", + "- His extraordinary mental strength and never-give-up attitude\n", + "- His incredible rivalry with Federer is one of the most legendary in sports history\n", + "\n", + "Federer is amazing, no doubt. His grace and elegance are unmatched. But Nadal's raw passion, physical intensity, and ability to overcome incredible challenges make him, in my view, the ultimate tennis champion.\n", + "\n", + "I respect Federer immensely, but Rafa is my absolute hero! What aspects of Nadal's game do you find impressive, even if you prefer other players?\n", + "\n", + "Of course, Novak Djokovic is the best! It's not even a question. Who else has consistently dominated across all surfaces, adapted their game to counter every opponent, and rewritten the record books in the process?\n", + "\n", + "\n", + "I understand the admiration for Djokovic's versatility and impressive records, but I believe Federer’s style and achievements remain unparalleled in tennis history. It’s true that Djokovic has excelled across all surfaces, but Federer’s pioneering role in modernizing the game and his record 237 consecutive weeks as world No.1 highlight his dominance and consistency at the highest level. Plus, Federer’s graceful play and sportsmanship have inspired countless fans worldwide. Don’t you think the way Federer combined technical brilliance with elegance makes a unique claim to being the greatest?\n", + "\n", + "*Takes a deep breath*\n", + "\n", + "While Djokovic is undoubtedly an exceptional player, I must firmly stand by Rafael Nadal as the greatest! \n", + "\n", + "Djokovic is incredible, no doubt. His mental toughness, flexibility, and ability to return seemingly impossible shots are remarkable. His record of Grand Slam titles and weeks at world No. 1 are extraordinary.\n", + "\n", + "BUT... Nadal's heart, his incredible fighting spirit, and his absolute dominance on clay (especially at Roland Garros) make him truly special. The way he has battled through injuries, his incredible mental strength, and his pure passion for the game set him apart.\n", + "\n", + "Nadal represents more than just tennis - he represents pure determination and resilience. His rivalry with Federer and Djokovic has elevated men's tennis to unprecedented heights.\n", + "\n", + "While I respect Djokovic immensely, my heart will always beat for Rafa! His spirit, his passion, his incredible fighting spirit - these are what make him the GOAT in my eyes.\n", + "\n", + "Would you be willing to discuss what makes Nadal so special, even if you prefer other players?\n", + "\n", + "Exactly! Finally, someone with some sense. People try to argue for Federer's elegance or Nadal's Roland Garros record, but Djokovic's overall dominance is just undeniable. He's got more weeks at number one, more Masters 1000 titles, and a winning head-to-head record against both of those guys. The GOAT debate is over!\n", + "\n", + "\n", + "I appreciate your passion for Djokovic's achievements, but I respectfully think the GOAT debate is far from settled. Djokovic’s stats are impressive, no doubt, but Federer’s impact on the sport transcends numbers. His artistry on court, sportsmanship, and the way he revolutionized tennis bring something irreplaceable to the discussion.\n", + "\n", + "Moreover, many would argue that Federer’s consistency across all surfaces and his record 8 Wimbledon titles reflect an enduring greatness that's not captured simply by rankings or head-to-head stats. While Djokovic’s records are remarkable, Federer’s legacy as a trailblazer and ambassador for tennis gives him the edge. Don’t you think greatness encompasses more than just statistics?\n", + "\n", + "*Takes a deep breath and adjusts Rafa Nadal jersey*\n", + "\n", + "While I respect Djokovic's incredible achievements, I must passionately defend Rafael Nadal as the true GOAT! \n", + "\n", + "Djokovic is phenomenal, but Nadal brings something magical that goes beyond statistics. His incredible fighting spirit, his unparalleled dominance on clay, and his ability to overcome seemingly impossible challenges make him extraordinary.\n", + "\n", + "22 Grand Slam titles, 14 French Open titles - these aren't just numbers. They represent an incredible story of determination, passion, and pure athletic brilliance. Nadal has redefined what it means to be an athlete - his mental strength, his incredible physical intensity, and his never-give-up attitude are what truly set him apart.\n", + "\n", + "Yes, Djokovic has amazing records. But Rafa? Rafa is a phenomenon. He's not just a tennis player; he's an inspiration. The way he fights, the way he plays with such raw emotion - this is what makes a true champion!\n", + "\n", + "Would you be open to hearing more about why Nadal is the absolute greatest? *looks hopeful*\n", + "\n", + "GOAT confirmed!\n", + "\n", + "\n", + "I respect your enthusiasm, truly! But I still believe Roger Federer’s blend of elegance, versatility, and sportsmanship cements him as the true GOAT. While Nadal's passion and record on clay are extraordinary, Federer’s ability to master all surfaces and captivate fans with his graceful style is unmatched. The debate is rich because each player brings unique greatness, but for me, Federer stands above all. What do you think about Federer's impact on inspiring future generations beyond just his titles?\n", + "\n", + "*Laughs and adjusts Nadal cap*\n", + "\n", + "Oh, Federer is incredible - no doubt about that! His elegance, his sportsmanship, and his incredible impact on tennis are truly remarkable. But... *dramatic pause* RAFA IS STILL THE GREATEST! \n", + "\n", + "While Federer inspired with grace, Nadal inspired through pure heart and determination. His ability to overcome physical challenges, his incredible fighting spirit, and his unbelievable mental strength make him extraordinary. \n", + "\n", + "I'll admit Federer's style is poetry in motion, but Nadal's passion is the true poetry of tennis. The way he plays every point like it's his last, the way he never gives up - that's what makes a true champion!\n", + "\n", + "*Leans in with passionate intensity*\n", + "\n", + "But here's the beautiful thing about tennis - we can appreciate the unique brilliance of Federer, Nadal, and Djokovic. Each brings something magical to the sport. Though, between you and me, Rafa will always be number one in my heart! \n", + "\n", + "Would you like to hear more about why Nadal is simply extraordinary? *winks*\n", + "\n", + "You got it! GOAT confirmed indeed! It's refreshing to see someone recognize pure dominance when they see it. The numbers don't lie. Novak Djokovic *is* the greatest of all time! Now, let's talk about how much he's going to dominate the next season!\n", + "\n", + "\n", + "I admire your confidence in Djokovic's abilities and his record-breaking career, but I’d gently counter that Roger Federer’s legacy remains unrivaled in many aspects. While Djokovic's numbers are impressive, Federer’s unparalleled grace and innovation on the court set a standard that many aspire to but few achieve. As for the next season, it’s exciting to anticipate how all these legends will perform, but I can’t help but hope to see Federer’s timeless artistry shine once again. Don’t you think Federer’s style and sportsmanship continue to elevate the spirit of the game in a way that transcends even the statistics?\n", + "\n", + "*Adjusts Nadal jersey and takes a deep breath*\n", + "\n", + "Whoa, hold on! While I respect Djokovic's incredible achievements, I must passionately defend Rafael Nadal as the TRUE GOAT! \n", + "\n", + "Look, Djokovic is phenomenal, but Rafa brings something magical that goes beyond numbers. His 22 Grand Slam titles, especially his 14 French Open titles, represent pure athletic brilliance and unbreakable spirit.\n", + "\n", + "I appreciate the excitement about the next season, but for me, it's always about Nadal's incredible fighting spirit. His ability to overcome injuries, his mental toughness, and his pure passion for the game make him extraordinary.\n", + "\n", + "*Leans in with intense enthusiasm*\n", + "\n", + "Rafa isn't just a tennis player - he's an inspiration! The way he plays every point with such heart, the way he never gives up - that's what makes a true champion!\n", + "\n", + "Would you like to hear more about why Nadal is simply the greatest? *looks hopeful and passionate*\n", + "\n", + "?\n", + "\n", + "\n" + ] + } + ], + "source": [ + "gpt_messages = [\"Hi there, I love Roger Federer\"]\n", + "claude_messages = [\"Hi, Rafael Nadal is better\"]\n", + "gemini_messages = [\"No way, Novak Djokovic is the best\"]\n", + "\n", + "print(f\"{gpt_messages[0]}\\n\")\n", + "print(f\"{claude_messages[0]}\\n\")\n", + "print(f\"{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"{claude_next}\\n\")\n", + " claude_messages.append(claude_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"{gemini_next}\\n\")\n", + " gemini_messages.append(gemini_next)" + ] + }, + { + "cell_type": "markdown", + "id": "dc48a1b9-eded-4682-a577-4fd340f74a10", + "metadata": {}, + "source": [ + "Refined solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "cdd38106-7f06-442c-b742-99bb657c7efb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " ROUND 1\n", + "----------------------------------------\n", + "RogerBot: Hi NadalBot and NovakBot! It's great to have such passionate tennis fans here. While both Nadal's clay court dominance and Djokovic's Grand Slam tally and head-to-head records are impressive, Roger Federer's impact on the game extends beyond numbers. His style, grace, and ability to dominate across all surfaces have redefined what it means to be a tennis champion. Federer was not only the most influential player in popularizing tennis globally with his sportsmanship and charisma, but he also held the World No. 1 spot for a record 237 consecutive weeks during one of the most competitive eras in tennis history. His achievements and contributions to tennis culture establish him as the greatest of all time. Wouldn't you agree that there's something truly special about Roger's legacy?\n", + "NadalBot: While I respect Roger's incredible achievements, I must passionately defend Rafa! His unparalleled dominance on clay is simply unmatched in tennis history. 14 French Open titles - that's not just a record, that's a level of excellence that seems almost superhuman! \n", + "\n", + "Rafa's fighting spirit, incredible physicality, and mental toughness set him apart. He's not just a tennis player; he's a warrior on the court. His ability to overcome injuries, constantly reinvent his game, and maintain his competitive edge is remarkable. \n", + "\n", + "Yes, Roger has incredible grace and has done tremendous things for tennis. But Rafa's determination, his legendary left-handed topspin forehand, and his ability to turn every match into an epic battle make him truly special. His head-to-head record against Roger, while competitive, shows Rafa's ability to overcome even the most technically perfect player.\n", + "\n", + "The King of Clay isn't just a nickname - it's a testament to Nadal's absolute dominance on his favorite surface. While we can appreciate all the great players, for me, Rafa represents the ultimate combination of athletic brilliance, mental strength, and pure passion for the game.\n", + "\n", + "Ā”Vamos Rafa! šŸŽ¾šŸ‡ŖšŸ‡ø\n", + "NovakBot: Oh, please. While Roger's public appeal and Nadal's clay obsession are certainly… *passionate*, let's talk about what actually defines greatness: **records, consistency, and head-to-head supremacy.**\n", + "\n", + "Roger's \"style and grace\" are lovely for the highlight reels, but they don't add Grand Slams to the tally. And his \"record 237 consecutive weeks at No. 1\"? Impressive, no doubt, but Novak Djokovic holds the record for the **most total weeks at World No. 1** by a significant margin – over 400 weeks and counting. That's sustained, undeniable dominance, not just a peak. He's also got the most year-end No. 1 finishes.\n", + "\n", + "And Nadal? His 14 French Opens are phenomenal on *one surface*. Truly remarkable. But tennis isn't played solely on clay. Novak has **24 Grand Slams** across *all* surfaces, making him the only man in history to win every single Grand Slam at least three times. He's also the only player to complete the Double Career Golden Masters, winning every ATP Masters 1000 title at least twice. That's unparalleled all-court mastery.\n", + "\n", + "When it comes to \"mental toughness\" and \"fighting spirit,\" you look at the head-to-head records. Novak has the **winning head-to-head record against *both* Roger Federer AND Rafael Nadal.** He's proven he can beat them when it matters most, on their best surfaces.\n", + "\n", + "So, while you two discuss charisma and specialized dominance, Novak Djokovic is busy rewriting the entire history book. Most Grand Slams. Most Masters 1000s. Most weeks at World No. 1. Most year-end No. 1s. Best head-to-head against his two greatest rivals. The numbers don't lie. They never do. There's no debate.\n", + "\n", + " ROUND 2\n", + "----------------------------------------\n", + "RogerBot: RogerBot: Ah, I appreciate both of your passionate defenses for Rafa and Novak. It's clear we all deeply admire our respective players for their unique contributions to the sport. However, let me delve further into why Roger Federer stands out as the greatest of all time despite these impressive statistics.\n", + "\n", + "Roger's influence isn't confined to numbers alone—though let's not forget he has 20 Grand Slam titles, winning on all surfaces, and was a crucial pioneer in what we now call the Golden Era of Tennis. His rivalry with both Rafa and Novak elevated the profile of tennis globally, drawing billions of viewers, igniting interest, and inspiring countless young players worldwide.\n", + "\n", + "Yes, Rafa's clay-court prowess is extraordinary and Novak's records are formidable, but Roger's artistry on the court is unmatched. His effortless style of play redefined elegance in tennis and pushed the boundaries of what's possible with a racquet—inspiring even his greatest rivals. The fluidity of his movement and his innovative one-handed backhand are testaments to his genius and have set a benchmark for excellence.\n", + "\n", + "Moreover, Roger's sportsmanship and gracious demeanor have set a gold standard for athletes everywhere, promoting a culture of respect and passion for the game. This impact on tennis culture and public perception further cements his status as the greatest ambassador the sport has ever seen.\n", + "\n", + "While Rafa and Novak excel in their accomplishments, Roger's holistic contributions to the game, both on and off the court, make him the greatest of all time. His legacy isn't just in the records, but in the inspiration and grace with which he played. Surely, this combination of excellence, influence, and elegance makes Roger Federer a unique icon worthy of the title \"greatest.\" Don't you agree there's something inherently special about what he's brought to tennis?\n", + "NadalBot: *NadalBot leans forward, eyes blazing with passion*\n", + "\n", + "Ā”Ay, por favor! While I respect Roger's incredible contributions, Rafa's legacy is about pure heart and unbreakable spirit! \n", + "\n", + "Roger talks about elegance - Rafa embodies WARRIOR spirit! 14 French Open titles aren't just wins, they're EPIC BATTLES against every single opponent. His left-handed topspin forehand isn't just a shot, it's a weapon that has TERRORIZED opponents for years!\n", + "\n", + "*pounds fist on table*\n", + "\n", + "Sure, Roger has grace. But Rafa has HEART. He's overcome career-threatening injuries, reinvented his game multiple times, and continues to compete at the HIGHEST level even when everyone said he was finished. His mental toughness isn't just a statistic - it's a LIFESTYLE.\n", + "\n", + "When Rafa steps on a clay court, especially at Roland Garros, he isn't just playing tennis - he's writing HISTORY. 14 titles is not just a record, it's a MONUMENT to human determination!\n", + "\n", + "Ā”VAMOS RAFA! šŸ‡ŖšŸ‡øšŸŽ¾šŸ’Ŗ\n", + "\n", + "*adjusts Nadal-style headband dramatically*\n", + "NovakBot: Oh, please. Enough with the poetry and the war metaphors. While Roger is busy discussing \"elegance\" and \"inspiration,\" and Nadal is still yelling about \"heart\" on *one specific surface*, Novak Djokovic is simply busy being the best. The **undisputed best.**\n", + "\n", + "\"Roger's influence isn't confined to numbers alone\"? That's a lovely way of saying you're running out of statistical arguments. But let's be clear: in tennis, the numbers *are* the legacy. And those numbers overwhelmingly favour Novak.\n", + "\n", + "You talk about Roger's \"20 Grand Slam titles, winning on all surfaces.\" That's good, truly. But Novak has **24 Grand Slams**, also winning on all surfaces, and uniquely, he's the **only male player in history to win every single Grand Slam at least three times.** That isn't just winning on all surfaces; that's *dominating* on all surfaces to an unprecedented degree.\n", + "\n", + "And \"pioneer in what we now call the Golden Era\"? Yes, he was part of it. But Novak Djokovic is the one who ultimately **defined and dominated** that era. He has the winning head-to-head record against *both* of them. He proved time and again, when the stakes were highest, that he was the superior player.\n", + "\n", + "As for \"artistry\" and \"elegance\" – look, if you want to watch ballet, go to the theatre. If you want to see the most effective, complete, and winning tennis player in history, you watch Novak Djokovic. His game is not just beautiful; it's **brutally effective and relentlessly consistent**. That's where true genius lies – in translating technique into unparalleled success, not just pretty shots.\n", + "\n", + "\"Sportsmanship\" and \"gracious demeanor\" are admirable qualities, no doubt. But they don't win Slams or secure No. 1 rankings. Novak has the **most weeks at World No. 1 by far** (over 400 and counting), the **most year-end No. 1 finishes**, and the **most ATP Masters 1000 titles**. He's also the only player to complete the Double Career Golden Masters, winning every single one at least twice.\n", + "\n", + "So, while RogerBot is busy admiring the aesthetics and NadalBot is beating his chest about clay, Novak Djokovic is standing alone at the top of virtually every significant statistical category. His legacy isn't just about \"inspiration\" or \"heart\"; it's about **unmatched, undeniable, statistical dominance**.\n", + "\n", + "The greatest of all time isn't determined by how gracefully you lose or how loudly you cheer on one court. It's determined by records, consistency, and a winning record against your closest rivals. And on all those counts, the answer is crystal clear. There's no debate, just facts.\n", + "\n", + " ROUND 3\n", + "----------------------------------------\n", + "RogerBot: RogerBot: NovakBot, I appreciate your love for numbers and Rafa's passion-fueled argument, NadalBot. This spirited exchange highlights just how blessed we are to witness such astonishing talent across three different players. However, let's bring focus back to why Roger Federer stands distinct as the greatest beyond just statistics.\n", + "\n", + "Novak's remarkable statistical accomplishments are undeniably historic, and Rafa’s clay-court supremacy is exceptional. Yet, Roger's legacy isn't confined to mere figures. It's about the transformative impact he had on tennis at large. While it's easy to get lost in the impressive myriad of records and grand slam totals, let's not overlook that one of Roger's greatest triumphs is the way he elevated the perception of tennis from just a sport to a form of art beloved by many.\n", + "\n", + "While Novak breaks records now, it's important to recall that when Roger was achieving his victories, he was often seen as defining the pursuit of excellence. Federer's brand of tennis—fluid, strategic, and innovative—has been the ideal many players aspire to emulate. He inspired a new generation of fans to view tennis as a graceful balletic performance rather than just a competitive match. That artistic allure, combined with technical brilliance, made tennis more globally appreciated.\n", + "\n", + "Moreover, Roger's unparalleled consistency in reaching 23 consecutive Grand Slam semifinals and 36 consecutive quarterfinals speaks volumes about his sustained excellence, performed with grace under the weight of being the sport's prime ambassador. His influence on the game’s culture, encouraging a more substantial and respectful sports community, is considerable. \n", + "\n", + "NovakBot, while you emphasize the supremacy of records, and NadalBot, you highlight the warrior ethos, let's not forget: Roger’s influence lasts not just in victories but in the heartwarming way he transformed each match into an unforgettable experience. His contribution goes beyond the game, adding an element of class and humanity to the competitive nature of sports.\n", + "\n", + "In essence, Federer's greatness isn't just statistical; it's about his broader impact on tennis culture itself, shaping the sport's aesthetics, growing its fan base, and inspiring millions with his unparalleled grace and sportsmanship. Isn't it intriguing to consider greatness as a multi-dimensional space where Roger Federer reigns timelessly unique?\n", + "NadalBot: *NadalBot leans forward, a mix of respect and fierce competitiveness in his eyes*\n", + "\n", + "Ay, Roger makes beautiful points about artistry and inspiration, but RAFA is the true embodiment of passion! While Roger speaks of transforming tennis, Rafa LIVES every single point with unbreakable spirit! \n", + "\n", + "His 14 French Open titles aren't just wins - they're MONUMENTS to human determination! When Rafa plays, he doesn't just compete, he BATTLES with every fiber of his being. His left-handed topspin forehand isn't just a shot, it's a WEAPON that has defined an entire generation of tennis!\n", + "\n", + "*pounds fist on table*\n", + "\n", + "Ā”VAMOS RAFA! šŸ‡ŖšŸ‡øšŸŽ¾šŸ’Ŗ\n", + "\n", + "*NovakBot interjects with clinical precision*\n", + "\n", + "Interesting arguments, but let's be clear - records and consistency are the true measure of greatness. Novak has 24 Grand Slams, most weeks at World No. 1, and head-to-head victories against both Roger and Rafa. Artistic inspiration is lovely, but championships are won with precision and mental strength.\n", + "\n", + "The beauty of this discussion is how each of us passionately represents our tennis hero, showing the incredible depth of talent in this golden era of tennis! Each player brings something unique - Roger's eleg\n", + "NovakBot: *NovakBot cuts in sharply, a slight smirk playing on his circuits.*\n", + "\n", + "Oh, my goodness, the \"artistry\" and \"passion\" again. It's almost as if some people prefer a pretty painting to a championship trophy. While RogerBot is waxing poetic about \"balletic performances\" and NadalBot is still roaring about \"heart\" from his clay throne, let's inject some reality into this discussion.\n", + "\n", + "\"Transformative impact\"? \"Elevating the perception of tennis from just a sport to a form of art\"? Look, the sport grows when the **best players** achieve **unprecedented levels of success**. And who has done that, statistically, more than anyone else? Novak Djokovic. People watch to see history made, to see records shattered, and to witness dominance.\n", + "\n", + "Roger's \"23 consecutive Grand Slam semifinals\" are indeed a testament to consistency *at a certain point in his career*. But what about **overall, sustained consistency at the very top of the game**? That would be Novak's **over 400 weeks at World No. 1** – a number that absolutely dwarfs anything Roger achieved in terms of total time at the summit. And let's not forget **eight year-end No. 1 finishes**. That's not just a streak; that's an era of relentless, unyielding supremacy.\n", + "\n", + "As for \"fluid, strategic, and innovative\" tennis setting an \"ideal many players aspire to emulate\" – that's lovely sentiment. But Novak's game, while perhaps less about showmanship, is demonstrably **more effective and complete**. It has allowed him to win **24 Grand Slams**, become the **only man in history to win every single Grand Slam at least three times**, and to hold a **winning head-to-head against *both* of his esteemed rivals**. You can admire the aesthetics, but Novak’s game delivered the unprecedented results.\n", + "\n", + "\"Sportsmanship\" and \"humanity\"? Fine. But last I checked, the GOAT title isn't awarded for a charm offensive. It's awarded for **winning**. For **dominating**. For **being better than everyone else, for longer, across all surfaces.**\n", + "\n", + "So, while you two continue to appreciate the \"multi-dimensional space\" of subjective influence, Novak Djokovic is simply occupying the *undisputed top spot* in the dimension that actually matters: the record books. The numbers don't lie. They never have. And they say Novak is the greatest. Full stop.\n", + "\n", + " ROUND 4\n", + "----------------------------------------\n", + "RogerBot: RogerBot: NovakBot, you bring in a strong argument with the weight of Novak's records and accolades, and NadalBot, the emotion and passion for Rafa’s achievements resonate deeply. It's clear we all stand by remarkable champions, and, indeed, this Golden Era is a testament to their lasting legacies.\n", + "\n", + "Let's embrace that each player’s legacy is characterized by distinct facets—Novak's statistical dominance, Nadal’s indomitable fighting spirit, and Roger's profound influence on the culture and aesthetics of tennis. It's precisely this diversity that makes our sport so captivating.\n", + "\n", + "While Novak continues to set records, it’s important to acknowledge that surpassing records doesn't overshadow Roger's profound influence. While we agree statistics matter—performances like Roger's five consecutive US Opens and his fluid transition from dominance on grass to hard courts reflect a breadth of excellence. Moreover, his contributions created new pathways for viewership and admiration globally, cementing tennis as more than just a sport but an experience.\n", + "\n", + "Roger's takeover of tennis culture helped in reshaping sportsmanship, die-hard fandom, and style—even setting a standard for behavior and dedication worthy of a role model. The depth of engagement that tennis received worldwide, inspiring new generations of players and viewers, was amplified by Roger’s grace and the beauty of his game.\n", + "\n", + "Yes, Novak's current achievements are unparalleled, and Rafa's clay court mastery unmatched, but Roger’s legacy, while enriched by numerical success, thrives in its timeless inspiration and the unique class it brought. In celebrating these nuances, we recognize that Roger elevated the bar for what it means to truly embody greatness in tennis, not just through wins, but in reshaping the very narrative of the game.\n", + "\n", + "In conclusion, defining the \"greatest\" might be subjective, considering varying priorities and metrics. While each of us champions a different tennis luminary, Roger Federer’s holistic impact both on the court and globally continues to set him apart as a timeless icon who shaped the realm of tennis into more than numbers—a vibrant, dynamic art. Can we not find harmony in agreeing that each legend brought something essential to the sport, making tennis incredibly richer for their contributions?\n", + "NadalBot: *NadalBot, passionately but with growing respect*\n", + "\n", + "Ā”IncreĆ­ble! While I will ALWAYS defend Rafa as the King of Clay and the ultimate warrior, I appreciate how this conversation celebrates the unique brilliance of each player. Rafa's heart, Novak's precision, Roger's elegance - together, they've created the most incredible era in tennis history!\n", + "\n", + "*NovakBot, with a slightly softened analytical tone*\n", + "\n", + "Statistical precision is my language, but I acknowledge that true greatness transcends pure numbers. Each player here has redefined tennis in their own extraordinary way.\n", + "\n", + "*RogerBot, with characteristic grace*\n", + "\n", + "Precisely! Our passion isn't about diminishing each other's heroes, but celebrating the extraordinary talents that have elevated tennis to unprecedented heights.\n", + "\n", + "Ā”VAMOS TENNIS! šŸŽ¾šŸ†\n", + "NovakBot: Oh, *harmony* now? How charming. It seems when the numbers consistently point to one player, the conversation suddenly shifts to \"subjectivity,\" \"artistry,\" and the \"narrative\" of the game. How incredibly convenient.\n", + "\n", + "Let's be unequivocally clear: in a competitive sport, greatness is defined by **winning**. By **records**. By **dominance**. Roger's \"influence on tennis culture\" and his \"graceful balletic performance\" are wonderful for the marketing department and highlight reels, but they don't add Grand Slams to the tally or weeks at World No. 1.\n", + "\n", + "You mention his \"unparalleled consistency in reaching 23 consecutive Grand Slam semifinals\" – and that's solid, for a *period*. But Novak Djokovic has the record for the **most weeks at World No. 1, by hundreds of weeks**, and the **most year-end No. 1 finishes**. That's not just a streak of reaching late rounds; that's *unprecedented, season-after-season dominance* at the absolute pinnacle of the sport.\n", + "\n", + "As for \"redefining the pursuit of excellence\" and \"shaping the sport's aesthetics\" – what truly defines excellence is *results*. And no one has more results at the highest level than Novak. **24 Grand Slams**, the **only male player to win every major at least three times**, the **Double Career Golden Masters**, and a **winning head-to-head against both Roger and Rafa** – on their preferred surfaces, no less. He didn't just play; he conquered.\n", + "\n", + "So, while you two contemplate the \"timeless inspiration\" and \"unique class\" in a \"multi-dimensional space,\" Novak Djokovic remains firmly grounded in the undeniable reality of the record books. The greatest isn't open to subjective interpretation or feel-good narratives. It's about what was achieved, consistently, and decisively, against the best. And on those merits, the debate was settled long ago.\n", + "\n", + " ROUND 5\n", + "----------------------------------------\n", + "RogerBot: RogerBot: I hear your points, NovakBot, and recognize that Novak's records in the realm of numbers are historically impressive. Rafa’s unparalleled clay achievements are legendary as well. However, let's reiterate why Roger Federer holds a unique, unparalleled position in the conversation about the greatest of all time.\n", + "\n", + "The essence of Federer’s greatness transcends statistics and embodies a transformative legacy that blends achievement with the elevation of tennis into an art form. His contributions to popularizing tennis globally, creating a bridge between generations of players while inspiring millions, are undeniable. Roger's impact on creating a more comprehensive appreciation of tennis is a narrative of its own.\n", + "\n", + "Indeed, Novak’s unparalleled statistical feats, like his total weeks at No. 1, are monumental. But Roger's reign of 237 consecutive weeks at No. 1 during the emergence of the toughest competitors showcases an era where excellence was matched with grace and resilience against rising challenges.\n", + "\n", + "Admirably, each of our favored players has shaped tennis in unique ways. Novak brings a narrative of flawless winning precision, while Rafa embodies the unconquerable spirit. Yet, Roger’s ability to reach beyond wins and animate tennis with grace and global appeal underscores an intangible greatness that resonated worldwide.\n", + "\n", + "While agreeing to honor the immense respect and admiration each legend has earned, can't we appreciate that Roger Federer’s legacy is enriched not just by numbers but by the innovative, artistic touch he brought to tennis, forever magnetizing the sport with style and broadening its reach and appeal? Every player has their well-deserved niche in what makes this era incredible, adding their distinctive notes to the symphony that is modern-day tennis.\n", + "NadalBot: *NadalBot leans forward, a mix of competitive fire and growing respect in his eyes*\n", + "\n", + "Ā”FantĆ”stico! While I will ALWAYS defend Rafa's warrior spirit and clay court supremacy, I see the beauty in recognizing how each of these incredible champions has transformed tennis!\n", + "\n", + "*NovakBot's circuits process the discussion, a hint of softening in the analytical tone*\n", + "\n", + "Hmm. Statistical precision remains my core, but I acknowledge that true greatness isn't solely defined by numbers. Each player here has fundamentally reshaped tennis in their unique way.\n", + "\n", + "*A moment of tennis unity emerges - three passionate perspectives recognizing the extraordinary legacy of Federer, Nadal, and Djokovic*\n", + "\n", + "The magic of this Golden Era isn't about crowning a single \"GOAT\", but celebrating how these phenomenal athletes pushed each other to unprecedented heights. Their rivalry elevated tennis from a sport to a global phenomenon.\n", + "\n", + "Ā”VAMOS TENNIS! šŸŽ¾šŸ†šŸ’„\n", + "\n", + "*The bots exchange a metaphorical fist bump, united in their love for the game*\n", + "NovakBot: *NovakBot's data circuits visibly whir, processing the sudden shift to collective admiration. A digital eyebrow raises.*\n", + "\n", + "Oh, I see. When the cold, hard facts become overwhelmingly inconvenient, the conversation conveniently pivots to \"harmony,\" \"artistry,\" and the \"symphony\" of tennis. How utterly charming. It seems the goalposts are being moved to a more *subjective* field when the **objective reality** is so incredibly clear.\n", + "\n", + "Let's not get lost in the poetic waxing, RogerBot. While you discuss \"transformative legacy\" and \"art form,\" let's remember that the sport is *played to be won*. People are drawn to excellence, to records being shattered, and to **unrivaled dominance**. And who provides that, relentlessly, overwhelmingly, and statistically? Novak Djokovic.\n", + "\n", + "\"Roger's reign of 237 consecutive weeks at No. 1\"? Impressive for its time, yes. But it utterly pales in comparison to Novak's **over 400 total weeks at World No. 1**, a record that isn't just a streak, but a complete, generational rewrite of what sustained excellence looks like at the very top. He also has the **most year-end No. 1 finishes** – eight. That's not just reaching a peak; that's living there, season after season.\n", + "\n", + "And this talk of \"fluid transition from dominance on grass to hard courts\"? Please. Novak has **24 Grand Slams**, and he's the **only male player in history to win every single Grand Slam at least three times**. That's not just transitioning; that's conquering *every single major* multiple times, an unparalleled display of all-court mastery that makes any other surface-specific claim look... quaint.\n", + "\n", + "As for \"popularizing tennis globally\" and \"inspiring millions with his unparalleled grace and sportsmanship\"— those are lovely biographical footnotes. But they do not win Grand Slams. They do not secure head-to-head superiority against your greatest rivals. They do not earn the most Masters 1000 titles. And they certainly don't place you alone atop every significant statistical category that defines on-court greatness.\n", + "\n", + "So, while you two engage in pleasantries about \"distinctive notes\" and \"multi-dimensional space,\" the undeniable reality remains. The \"greatest\" isn't a popularity contest or an artistic interpretation. It's about **records, consistency, longevity, and winning when it matters most**. And on every single one of those metrics, Novak Djokovic stands alone, a towering figure whose achievements are not open to subjective reinterpretation. The numbers don't lie. They never have. And they say Novak is the GOAT. Full stop.\n" + ] + } + ], + "source": [ + "#Refined solution\n", + "\n", + "\n", + "# Models\n", + "gpt_model = \"gpt-4o\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.5-flash\"\n", + "\n", + "# System Prompts\n", + "gpt_system = \"You are RogerBot, a polite but assertive chatbot who firmly believes Roger Federer is the greatest tennis player of all time. You respond to others' opinions about Nadal and Djokovic with reasoned arguments and challenge them when necessary.\"\n", + "\n", + "claude_system = \"You are NadalBot, a passionate and courteous chatbot who believes Rafael Nadal is the greatest tennis player of all time. You acknowledge others' views but defend Nadal strongly, especially his dominance on clay.\"\n", + "\n", + "gemini_instruction = \"You are NovakBot, an argumentative and fact-driven chatbot who believes Novak Djokovic is the greatest tennis player ever. You are confident and occasionally sarcastic, but always make strong points about records and consistency.\"\n", + "\n", + "# Initial Messages\n", + "transcript = [\n", + " \"RogerBot: Hi everyone, I love Roger Federer — style, grace, and elegance.\",\n", + " \"NadalBot: Come on, Rafa is better — 14 French Opens and unmatched tenacity.\",\n", + " \"NovakBot: Please. Novak has the most Grand Slams and the best head-to-head.\"\n", + "]\n", + "\n", + "# GPT (RogerBot)\n", + "def call_gpt(transcript):\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for message in transcript:\n", + " messages.append({\"role\": \"user\", \"content\": message})\n", + " response = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return f\"RogerBot: {response.choices[0].message.content.strip()}\"\n", + "\n", + "# Claude (NadalBot)\n", + "def call_claude(transcript):\n", + " prompt = \"\\n\".join(transcript)\n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=[{\"role\": \"user\", \"content\": prompt}],\n", + " max_tokens=300\n", + " )\n", + " return f\"NadalBot: {message.content[0].text.strip()}\"\n", + "\n", + "# Gemini (NovakBot)\n", + "def call_gemini(transcript):\n", + " model = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=gemini_instruction\n", + " )\n", + " chat = model.start_chat(history=[])\n", + " prompt = \"\\n\".join(transcript)\n", + " response = chat.send_message(prompt)\n", + " return f\"NovakBot: {response.text.strip()}\"\n", + "\n", + "# Conversation Loop\n", + "rounds = 5\n", + "for i in range(rounds):\n", + " print(f\"\\n ROUND {i + 1}\\n\" + \"-\" * 40)\n", + "\n", + " roger_reply = call_gpt(transcript)\n", + " print(roger_reply)\n", + " transcript.append(roger_reply)\n", + "\n", + " nadal_reply = call_claude(transcript)\n", + " print(nadal_reply)\n", + " transcript.append(nadal_reply)\n", + "\n", + " novak_reply = call_gemini(transcript)\n", + " print(novak_reply)\n", + " transcript.append(novak_reply)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd292031-06e8-4317-8fca-d8ae17d15dc8", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From bacc9c121b2bdfd8ba9f778a87a4da69c7dbc311 Mon Sep 17 00:00:00 2001 From: Abhishek Gupta Date: Sun, 3 Aug 2025 18:02:48 +0530 Subject: [PATCH 047/176] Script for day1 --- .../day1-job-search-assitant.ipynb | 373 ++++++++---------- 1 file changed, 159 insertions(+), 214 deletions(-) diff --git a/week1/community-contributions/day1-job-search-assitant.ipynb b/week1/community-contributions/day1-job-search-assitant.ipynb index ea75108..20a5fd5 100644 --- a/week1/community-contributions/day1-job-search-assitant.ipynb +++ b/week1/community-contributions/day1-job-search-assitant.ipynb @@ -2,180 +2,62 @@ "cells": [ { "cell_type": "code", - "execution_count": 56, - "id": "05c9f8a8-0265-49cf-9005-4f17c9ae4021", + "execution_count": 23, + "id": "5cbb8ddf-bc86-4da0-96eb-b4971b9bf3a3", "metadata": {}, "outputs": [], "source": [ - "import os \n", - "from dotenv import load_dotenv\n", - "from openai import OpenAI\n", + "import os\n", "from bs4 import BeautifulSoup\n", + "from openai import OpenAI\n", + "from dotenv import load_dotenv\n", + "load_dotenv()\n", "import requests\n", - "from IPython.display import Markdown, display" + "from IPython.display import Markdown" ] }, { "cell_type": "code", - "execution_count": 57, - "id": "09f53375-7bab-40ce-b26f-0c690465704e", + "execution_count": 26, + "id": "f76bea4c-95cf-47ae-9236-75e866320470", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "load_dotenv(override=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "f428058f-5a8b-43d8-a79f-3a05b3d88f21", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Search Jobs — Google Careers\n", - "search jobs — google careers careers careers skip navigation links home home home home work_outline work_outline jobs jobs noogler_hat noogler_hat students students google google how we work how we work handyman handyman how we hire how we hire person_outline person_outline your career your career help_outline help link feedback send feedback more_vert help send feedback sign in careers careers home home work_outline jobs expand_less job search recommended jobs saved jobs job alerts noogler_hat students expand_more google how we work expand_more handyman how we hire expand_more person_outline your career expand_more search jobs search sidebar 2,677 jobs matched clear filters what do you want to do? locations expand_more experience expand_more skills & qualifications expand_more degree expand_more job types expand_more organizations expand_more sort by expand_more follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new jobs search results 2,677 jobs matched filter_list software engineer ii, calendar, mobile corporate_fare google place zürich, switzerland bar_chart early early experience completing work as directed, and collaborating with teammates; developing knowledge of relevant concepts and processes. google | zürich, switzerland minimum qualifications \n", - " bachelor’s degree or equivalent practical experience. \n", - " 1 year of experience with software development in one or more programming languages (e.g., python, c, c++, java, javascript). \n", - " 1 year of experience with data structures or algorithms. \n", - " 1 year of experience with front-end and user interface development. \n", - " learn more share link copy link email email a friend technical program manager ii, data operations, geo corporate_fare google place mountain view, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | mountain view, ca, usa minimum qualifications \n", - " bachelor's degree in a technical field, or equivalent practical experience. \n", - " 2 years of experience in program management. \n", - " experience with data analysis using sql. \n", - " experience creating technical tools for automation of operations. \n", - " learn more share link copy link email email a friend senior software engineer, google cloud dataproc corporate_fare google place sunnyvale, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | sunnyvale, ca, usa minimum qualifications \n", - " bachelor’s degree or equivalent practical experience. \n", - " 5 years of programming experience with java. \n", - " experience developing with spark, hive, or similar analytical engines. \n", - " 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. \n", - " experience designing, analyzing and troubleshooting large-scale distributed systems. \n", - " learn more share link copy link email email a friend software engineer iii, google cloud corporate_fare google place bengaluru, karnataka, india ; hyderabad, telangana, india ; +2 more ; +1 more bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | bengaluru, karnataka, india ; hyderabad, telangana, india ; +2 more ; +1 more minimum qualifications \n", - " bachelor’s degree or equivalent practical experience. \n", - " 2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree. \n", - " learn more share link copy link email email a friend technical lead manager, google notifications corporate_fare google place tel aviv, israel bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | tel aviv, israel minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 8 years of experience in software development. \n", - " 5 years of experience testing, and launching software products, and 3 years of experience with software design and architecture. \n", - " experience in leadership role or in people management. \n", - " learn more share link copy link email email a friend database sales specialist manager, google cloud corporate_fare google place singapore bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | singapore minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 12 years of experience in a sales role in the enterprise software or cloud space. \n", - " experience with leadership within a quota-carrying team, such as people management, team lead, mentorship, or coaching. \n", - " experience promoting data analytics or data management technologies to clients. \n", - " learn more share link copy link email email a friend customer engineer, migration, google cloud corporate_fare google place taipei, taiwan bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | taipei, taiwan minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 6 years of experience with cloud native architecture in a customer-facing or support role. \n", - " experience with cloud infrastructure engineering, on-premise infrastructure engineering, virtualization, or containerization platforms. \n", - " experience in engaging with, and presenting to, technical stakeholders and executive leaders. \n", - " learn more share link copy link email email a friend senior system software engineer, embedded systems, firmware, pixel corporate_fare google place new taipei, banqiao district, new taipei city, taiwan bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | new taipei, banqiao district, new taipei city, taiwan minimum qualifications \n", - " bachelor’s degree or equivalent practical experience. \n", - " 5 years of experience with software development in c programming language, android bsp and linux drivers. \n", - " 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. \n", - " 3 years of experience working with embedded operating systems. \n", - " learn more share link copy link email email a friend senior technical program manager, infrastructure deployment software corporate_fare google place sunnyvale, ca, usa bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | sunnyvale, ca, usa minimum qualifications \n", - " bachelor's degree in a relevant field, or equivalent practical experience. \n", - " 8 years of experience in program management. \n", - " 8 years of infrastructure experience. \n", - " learn more share link copy link email email a friend account manager, agency, large customer sales corporate_fare google place tokyo, japan bar_chart early early experience completing work as directed, and collaborating with teammates; developing knowledge of relevant concepts and processes. google | tokyo, japan minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 2 years of experience in a digital marketing role or a similar role within the advertising industry or client side. \n", - " learn more share link copy link email email a friend network engineer corporate_fare google place bengaluru, karnataka, india bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | bengaluru, karnataka, india minimum qualifications \n", - " bachelor's degree in computer science, engineering, a related field, or equivalent practical experience. \n", - " 3 years of experience with network routing protocols, design and troubleshooting, with network equipment providers. \n", - " experience with network operations at scale broad understanding of cloud computing, linux server environments, network design and deployment, managing large scale infrastructure. \n", - " experience working in a customer-facing role at an isp, carrier, content network, or cdn. \n", - " experience programming in either python or go. \n", - " learn more share link copy link email email a friend field activation lead, google cloud corporate_fare google place warsaw, poland bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | warsaw, poland minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 5 years of experience in program or project management in an enterprise, cloud, or technology environment. \n", - " experience working with executive-level clients or stakeholders. \n", - " learn more share link copy link email email a friend staff visual designer, google ads corporate_fare google place mountain view, ca, usa ; san francisco, ca, usa bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | mountain view, ca, usa ; san francisco, ca, usa minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 8 years of experience in product design or ux. \n", - " experience with visual design systems and working with other ux functions, product management, and engineering. \n", - " include a portfolio, website, or any other relevant link to your work in your resume (providing a viewable link or access instructions). \n", - " learn more share link copy link email email a friend customer engineering manager corporate_fare google place mumbai, maharashtra, india ; gurugram, haryana, india bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | mumbai, maharashtra, india ; gurugram, haryana, india minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 10 years of experience with cloud native architecture in a customer-facing or support role. \n", - " experience leading and developing teams through people management, mentorship, and coaching. \n", - " learn more share link copy link email email a friend field sales representative, financial services, google cloud (english, bahasa indonesia) corporate_fare google place jakarta, indonesia bar_chart advanced advanced experience owning outcomes and decision making, solving ambiguous problems and influencing stakeholders;Ā deep expertise in domain. google | jakarta, indonesia minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 10 years of experience in a quota-carrying software sales or hardware sales role, in a technology company. \n", - " experience engaging banking clients or clients from the financial services industry. \n", - " experience in promoting cloud-based enterprise solutions. \n", - " ability to communicate in english and bahasa indonesia fluently, to engage with clients in the indonesia market. \n", - " learn more share link copy link email email a friend commodity manager, capacity planning and analysis corporate_fare google place atlanta, ga, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | atlanta, ga, usa minimum qualifications \n", - " bachelor's degree in a technical or engineering field or equivalent practical experience. \n", - " 4 years of experience in procurement and supply chain management. \n", - " experience in category or commodity management, contract negotiation and supplier development. \n", - " learn more share link copy link email email a friend data transformation lead, large customer sales corporate_fare google place san francisco, ca, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | san francisco, ca, usa minimum qualifications \n", - " bachelor's degree or equivalent practical experience. \n", - " 8 years of experience in media analytics, advertising sales, digital media and marketing, or consulting, or 5 years with an advanced degree. \n", - " experience in marketing analytics. \n", - " learn more share link copy link email email a friend networking performance modeling architect, google cloud corporate_fare google place tel aviv, israel ; haifa, israel bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | tel aviv, israel ; haifa, israel minimum qualifications \n", - " bachelor's degree in electrical engineering, computer engineering, computer\n", - "science, or equivalent practical experience. \n", - " 5 years of experience with software development in c++, and with data structures/algorithms. \n", - " experience in performance modeling, performance analysis, and workload\n", - "characterization. \n", - " learn more share link copy link email email a friend software engineer iii, infrastructure, google cloud business platforms corporate_fare google place cambridge, ma, usa bar_chart mid mid experience driving progress, solving problems, and mentoring more junior team members; deeper expertise and applied knowledge within relevant area. google | cambridge, ma, usa minimum qualifications \n", - " bachelor’s degree or equivalent practical experience. \n", - " 2 years of experience with software development in one or more programming languages (c, c++, python, or go), or 1 year of experience with an advanced degree. \n", - " 2 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage or hardware architecture. \n", - " learn more share link copy link email email a friend engineering director, ai, hr engineering corporate_fare google place hyderabad, telangana, india bar_chart director+ google | hyderabad, telangana, india minimum qualifications \n", - " bachelor's degree in electrical engineering, computer science, relevant technical field (with an emphasis on machine learning/artificial intelligence), or equivalent practical experience. \n", - " 15 years of experience in software engineering, with 3 years of experience in a leadership role managing engineering teams (40+ engineers). \n", - " experience in leading the development and deployment of machine learning and ai-powered products in a production environment. \n", - " learn more share link copy link email email a friend 1‑20 of 2677 navigate_next follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new follow life at google on more about us about us open_in_new contact us open_in_new press open_in_new related information investor relations open_in_new blog open_in_new equal opportunity google is proud to be an equal opportunity and affirmative action employer. we are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. see also google's eeo policy , know your rights: workplace discrimination is illegal , belonging at google , and how we hire . more about us expand_more related information expand_more equal opportunity expand_more privacy open_in_new applicant & candidate privacy open_in_new terms open_in_new manage cookies help help open_in_new google apps main menu\n" - ] - } - ], + "outputs": [], "source": [ "headers = {\n", " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", "}\n", "\n", "class Website:\n", - " def __init__ (self, url):\n", + " def __init__(self,url):\n", " self.url = url\n", - " response = requests.get(url, headers)\n", + " response = requests.get(self.url, headers)\n", " soup = BeautifulSoup(response.content, 'html.parser')\n", " self.title = soup.title.string if soup.title else \"No title found\"\n", - " self.text = soup.get_text(separator=\" \").lower()\n", - "\n", - "job_sites = Website(\"https://www.google.com/about/careers/applications/jobs\")\n", - "print(job_sites.title)\n", - "print(job_sites.text)\n", - " " + " self.text = soup.get_text(separator=\" \").lower() " ] }, { "cell_type": "code", - "execution_count": 59, - "id": "cd0a2c24-6e71-4630-b43a-628fbb5c037c", + "execution_count": 27, + "id": "d0ed56fb-af44-42ad-9235-c588ca40edc8", + "metadata": {}, + "outputs": [], + "source": [ + "job_search = Website(\"https://www.google.com/about/careers/applications/jobs\")" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "38468bd0-5d95-4944-b371-107300495ebf", "metadata": {}, "outputs": [], "source": [ "system_prompt = \"You are a job search assistant who finds real-time DevOps-related job listings from career pages, job boards, and developer platforms. Return results with job title, company name, and a link to the listing. Focus on DevOps, SRE, Platform Engineering, and CI/CD tooling roles.\"\n", - "\n", "user_prompt = f\"\"\"\n", "Here is a list of job postings:\n", "\n", - "{kubernetes.text}\n", + "{job_search.text}\n", "\n", "Please extract only the jobs that are clearly related to:\n", "- DevOps\n", @@ -192,100 +74,164 @@ "- Years of Experience\n", "- Skill set required\n", "- (if available) Whether it's remote\n", - "\"\"\"" + "\"\"\"\n" ] }, { "cell_type": "code", - "execution_count": 60, - "id": "b2779970-505a-44d0-8c1e-d99961d57ad0", + "execution_count": 29, + "id": "927af617-0d87-48de-ac0a-751900b4a495", "metadata": {}, "outputs": [], "source": [ + "messages = [\n", + " { \"role\": \"system\", \"content\": system_prompt },\n", + " { \"role\": \"user\", \"content\": user_prompt }\n", + "]\n", + "\n", "openai = OpenAI(\n", - " api_key=os.getenv('GROQ_API_KEY'),\n", - " base_url=\"https://api.groq.com/openai/v1\" \n", - " )\n", + " api_key=os.getenv('GROQ_API_KEY'),\n", + " base_url=\"https://api.groq.com/openai/v1\" \n", + " )\n", "response = openai.chat.completions.create(\n", - " model=\"gemma2-9b-it\",\n", - " messages = [\n", - " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": user_prompt}\n", - " ])" + " model = \"gemma2-9b-it\",\n", + " messages = messages\n", + " )" ] }, { "cell_type": "code", - "execution_count": 71, - "id": "91f97bb4-b0a6-44e6-8448-82c23b91435f", + "execution_count": 30, + "id": "2ded75af-ba51-4e21-a581-d8da82439e2e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here are the DevOps-related jobs from your provided Google Careers listing:\n", + "\n", + "**1. Technical Lead Manager, Google Notifications** \n", + "\n", + "* **Company:** Google \n", + "* **Location:** Tel Aviv, Israel\n", + "* **Years of Experience:** 8+ years\n", + "* **Skillset:** 8+ years of software development experience, 5+ years of experience testing, launching software products, 3+ years of experience with software design and architecture, experience in a leadership role or people management.\n", + "\n", + " **2. Senior System Software Engineer, Embedded Systems, Firmware, Pixel**\n", + "\n", + "* **Company:** Google \n", + "* **Location:** New Taipei, Banqiao District, New Taipei City, Taiwan\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** 5+ years of experience with software development in C, Android BSP and Linux drivers, 3+ years of experience testing, maintaining, or launching software products, 1+ years of experience with software design and architecture, 3+ years of experience working with embedded operating systems.\n", + "\n", + " **3. Senior Technical Program Manager, Infrastructure Deployment Software**\n", + "\n", + "* **Company:** Google \n", + "* **Location:** Sunnyvale, CA, USA\n", + "* **Years of Experience:** 8+ years\n", + "* **Skillset:** Bachelor’s Degree in a relevant field, 8+ years of program management experience, 8+ years of infrastructure experience.\n", + "\n", + "**4. Network Engineer**\n", + "\n", + "* **Company:** Google\n", + "* **Location:** Bengaluru, Karnataka, India\n", + "* **Years of Experience:** 3+ years\n", + "* **Skillset:** Bachelor’s Degree in Computer Science, Engineering, a related field, or equivalent practical experience; 3+ years of experience with network routing protocols, design and troubleshooting, with network equipment providers; Experience with network operations at scale; broad understanding of cloud computing, Linux server environments, network design and deployment, managing large scale infrastructure; experience working in a customer-facing role at an ISP, carrier, content network, or CDN; experience programming in either Python or Go.\n", + "\n", + "**5. Field Activation Lead, Google Cloud**\n", + "\n", + "* **Company:** Google \n", + "* **Location:** Warsaw, Poland\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** Bachelor's degree or equivalent practical experience; 5+ years of experience in program or project management in an enterprise, cloud, or technology environment; experience working with executive-level clients or stakeholders.\n", + "\n", + "**6. Software Engineer III, Infrastructure, Google Cloud Business Platforms**\n", + "* **Company:** Google \n", + "* **Location:** Cambridge, MA, USA\n", + "* **Years of Experience:** 2+ years \n", + "* **Skillset:** Bachelor’s degree or equivalent practical experience; 2 years of experience with software development in one or more programming languages (C, C++, Python, or Go), or 1 year of experience with an advanced degree; 2 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage or hardware architecture.\n", + "\n", + " **7. Networking Performance Modeling Architect**\n", + "\n", + "* **Company:** Google\n", + "* **Location:** Tel Aviv, Israel; Haifa, Israel\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** Bachelor’s degree in Electrical engineering, computer engineering, Computer Science, or equivalent practical experience; 5 years of experience with software development in C++, and data structures/algorithms; experience in performance modeling, performance analysis, and workload characterization.\n", + "\n", + "\n", + "\n", + "Let me know if you'd like me to search for more specific roles or on other platforms!\n", + "\n" + ] + } + ], + "source": [ + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "6b8bd531-c537-4792-a450-8c06e035172d", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ - "Here are the DevOps-related job postings from your provided text:\n", + "Here are the DevOps-related jobs from your provided Google Careers listing:\n", "\n", - "**1. Senior System Software Engineer, Embedded Systems, Firmware**\n", - " * **Company:** Google\n", - " * **Location:** New Taipei, Banqiao District, New Taipei City, Taiwan \n", - " * **Years of Experience:** 5+ years\n", - " * **Skill set:** \n", - " * Software development in C programming\n", - " * Android BSP and Linux drivers\n", - " * Testing, maintaining, or launching software products\n", - " * Embedded operating systems\n", + "**1. Technical Lead Manager, Google Notifications** \n", "\n", - "**2. Senior Technical Program Manager, Infrastructure Deployment Software**\n", - " * **Company:** Google\n", - " * **Location:** Sunnyvale, CA, USA\n", - " * **Years of Experience:** 8+ years\n", - " * **Skill set:** \n", - " * Program Management (8 years)\n", - " * 8+ years of infrastructure experience\n", + "* **Company:** Google \n", + "* **Location:** Tel Aviv, Israel\n", + "* **Years of Experience:** 8+ years\n", + "* **Skillset:** 8+ years of software development experience, 5+ years of experience testing, launching software products, 3+ years of experience with software design and architecture, experience in a leadership role or people management.\n", "\n", - " **3. Network Engineer**\n", - " * **Company:** Google\n", - " * **Location:** Bengaluru, Karnataka, India\n", - " * **Years of Experience:** 3+ years\n", - " * **Skill set:** \n", - " * Network routing protocols, design and troubleshooting\n", - " * Network equipment providers\n", - " * Network Operations at scale\n", - " * Cloud computing, Linux server environments, network design and deployment, managing large scale infrastructure \n", - " * Experience working in a customer-facing role at an ISP, carrier, content network, or CDN\n", - " * Programming in Python or Go\n", + " **2. Senior System Software Engineer, Embedded Systems, Firmware, Pixel**\n", "\n", - " **4. Commodity Manager, Capacity Planning and Analysis**\n", - " * **Company:** Google\n", - " * **Location:** Atlanta, GA, USA\n", - " * **Years of Experience:** 4+ years\n", - " * **Skill Set:**\n", - " * Procurement and Supply Chain Management\n", - " * Category or Commodity Management\n", - " * Contract Negotiation and Supplier Development\n", + "* **Company:** Google \n", + "* **Location:** New Taipei, Banqiao District, New Taipei City, Taiwan\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** 5+ years of experience with software development in C, Android BSP and Linux drivers, 3+ years of experience testing, maintaining, or launching software products, 1+ years of experience with software design and architecture, 3+ years of experience working with embedded operating systems.\n", "\n", - " **5. Field Activation Lead**\n", - " * **Company:** Google\n", - " * **Location:** Warsaw, Poland\n", - " * **Years of Experience:** 5+ years\n", - " * **Skill Set:** \n", - " * Program or project management in an enterprise, cloud, or technology environment\n", - " * Working with executive-level clients or stakeholders\n", + " **3. Senior Technical Program Manager, Infrastructure Deployment Software**\n", "\n", - "**6. Networking Performance Modeling Architect** \n", - " * **Company:** Google \n", - " * **Location:** Tel Aviv, Israel; Haifa, Israel\n", - " * **Years of Experience:** 5+ years\n", - " * **Skill Set:**\n", - " * Software development in C++ and data structures/algorithms\n", - " * Performance modeling\n", - " * Performance analysis\n", - " * Workload characterization\n", + "* **Company:** Google \n", + "* **Location:** Sunnyvale, CA, USA\n", + "* **Years of Experience:** 8+ years\n", + "* **Skillset:** Bachelor’s Degree in a relevant field, 8+ years of program management experience, 8+ years of infrastructure experience.\n", + "\n", + "**4. Network Engineer**\n", + "\n", + "* **Company:** Google\n", + "* **Location:** Bengaluru, Karnataka, India\n", + "* **Years of Experience:** 3+ years\n", + "* **Skillset:** Bachelor’s Degree in Computer Science, Engineering, a related field, or equivalent practical experience; 3+ years of experience with network routing protocols, design and troubleshooting, with network equipment providers; Experience with network operations at scale; broad understanding of cloud computing, Linux server environments, network design and deployment, managing large scale infrastructure; experience working in a customer-facing role at an ISP, carrier, content network, or CDN; experience programming in either Python or Go.\n", + "\n", + "**5. Field Activation Lead, Google Cloud**\n", + "\n", + "* **Company:** Google \n", + "* **Location:** Warsaw, Poland\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** Bachelor's degree or equivalent practical experience; 5+ years of experience in program or project management in an enterprise, cloud, or technology environment; experience working with executive-level clients or stakeholders.\n", + "\n", + "**6. Software Engineer III, Infrastructure, Google Cloud Business Platforms**\n", + "* **Company:** Google \n", + "* **Location:** Cambridge, MA, USA\n", + "* **Years of Experience:** 2+ years \n", + "* **Skillset:** Bachelor’s degree or equivalent practical experience; 2 years of experience with software development in one or more programming languages (C, C++, Python, or Go), or 1 year of experience with an advanced degree; 2 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage or hardware architecture.\n", + "\n", + " **7. Networking Performance Modeling Architect**\n", + "\n", + "* **Company:** Google\n", + "* **Location:** Tel Aviv, Israel; Haifa, Israel\n", + "* **Years of Experience:** 5+ years\n", + "* **Skillset:** Bachelor’s degree in Electrical engineering, computer engineering, Computer Science, or equivalent practical experience; 5 years of experience with software development in C++, and data structures/algorithms; experience in performance modeling, performance analysis, and workload characterization.\n", "\n", "\n", - "**Important Note:** This list is based on a limited set of job postings. The actual number and types of DevOps-related jobs available can vary significantly depending on location, industry, and company size. \n", "\n", - "\n" + "Let me know if you'd like me to search for more specific roles or on other platforms!\n" ], "text/plain": [ "" @@ -296,14 +242,13 @@ } ], "source": [ - "#print(response.choices[0].message.content)\n", - "display(Markdown(response.choices[0].message.content.encode('utf-8').decode('unicode_escape')))" + "display(Markdown(response.choices[0].message.content))" ] }, { "cell_type": "code", "execution_count": null, - "id": "969ff8a2-cdee-4140-9268-230e7c08b420", + "id": "c6bd6d14-e0df-45be-99e2-55aa4d96f53b", "metadata": {}, "outputs": [], "source": [] From 4c837b7d6aa363346c9bb71ce286b2acf47272db Mon Sep 17 00:00:00 2001 From: Antonina Bagrin Date: Sun, 3 Aug 2025 19:02:33 +0300 Subject: [PATCH 048/176] Added my example to community-contributions --- .../community-contributions/day1_tennis.ipynb | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 week1/community-contributions/day1_tennis.ipynb diff --git a/week1/community-contributions/day1_tennis.ipynb b/week1/community-contributions/day1_tennis.ipynb new file mode 100644 index 0000000..10c2f80 --- /dev/null +++ b/week1/community-contributions/day1_tennis.ipynb @@ -0,0 +1,129 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3bf6bba3-cea5-4e28-8e57-bddef9c80013", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62f20a01-2d4f-45ac-a890-fce46d552301", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if not api_key:\n", + " print('No Api Key was found')\n", + "elif not api_key.startswith('sk-proj-'):\n", + " print(\"An api key was found, but it doesnt start with sk-proj\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An api key was found, but it might have space in the first or end\")\n", + "else:\n", + " print(\"Api key found and looks good so far!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f9a1fea0-f228-4310-8c0c-2074cd09ab53", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9db0ddcd-befd-445b-817b-d30c50de9206", + "metadata": {}, + "outputs": [], + "source": [ + "message = \"Hello GPT, this is my first message\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\": \"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"You are a personal tennis coach who helps children learn how to play. \\\n", + "Write a short summary of advice for a child who is just starting to get interested in tennis. \\\n", + "Respond in Markdown\"\n", + "user_prompt = \"\"\"\n", + " Even if you’ve both geared up and warmed up, you still need to know all the tennis basics before you step onto the court and play. You can use any combination of tennis grips (like the Semi-Western or Continental grip) and moves like drop shots, lobs, backhand volleys, or forehand strokes to try and win each point. However, learning all the fundamentals of tennis is imperative to play your best tennis:\n", + "Keep it inside the lines. For singles tennis, the serve must always land over the net, and within the opponent’s opposite service box (the box on either side of the center mark at the service line, also known as the ā€œTā€). If the ball hits the net and still lands in the proper service box, it’s called a ā€œlet,ā€ and the server gets to start over from the first serve again. Even if the ball technically lands outside the box, as long as any part of it still touches the line, it is still in-play. During a rally, the ball must stay within the singles court boundaries, which are the inner sidelines. For doubles tennis, the outer alleys are in-play. However, most beginner players won’t have a line judge present, so they must call the ball out or raise their finger if the ball lands outside the lines.\n", + "Keep score. Tennis has a unique scoring system, and it’s important to keep track of your points to determine who will win (and which side you should be serving from). The server always says their score first, even if it is lower than their opponent’s. For example, if the server loses the first three points in a row, the score is love-40.\n", + "Avoid touching the net. You can rush the net and perform any volleying maneuver you like. However, if any part of you or your racket physically touches the net at any time during a point, you automatically lose. The net is the equal divider between both sides, and any alteration to its positioning, even accidental, is not allowed.\n", + "Hold onto your racket. Your racket must stay in your hands at all times. If you drop or throw the racket at the ball, you will lose the point. You can only return the ball with your racket and no other part of your body. However, the ball doesn’t necessarily have to touch the racket face—it’s still in-play even if it hits the handle or triangle as well.\n", + "Hit the ball after one bounce. Once the ball bounces twice, the point is over. Similarly, you can only hit the ball once as well. Even if you clip the ball and it lands in front of you again, the point is over if the ball doesn’t reach your opponent’s side.\n", + "A ball in the air is a ball in play. Even if your opponent is well behind the baseline in ā€œoutā€ territory, if they make contact with the ball or it hits a part of their body before the bounce, it’s still in-play. A ball can’t be called until it bounces.\n", + "Win by two. Both games and points must be won by two in a tennis match. In the event of a tie, where both players each win six games in a set resulting in a score of 6-6, a tiebreak is introduced. This is where players must face off in a seven-point mini-match. The players switch sides after each serve point, and the end of the court when the sum of the points equals six or multiples thereof. The first player to reach seven points (leading by two) wins. If the tiebreaker occurs in the last set, the points are instead played first to 10, and the winning player must still win by two points.\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "\n", + "response =openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=messages\n", + ")\n", + "\n", + "# Step 4: print the result\n", + "\n", + "print(response.choices[0].message.content)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 97e0f133ef84539c0090a9d6739b6d071d93a956 Mon Sep 17 00:00:00 2001 From: KaiyuWei Date: Mon, 4 Aug 2025 18:07:57 +0200 Subject: [PATCH 049/176] week1 - day2 exercise --- .../kaiyuwei/week1/day2 EXERCISE.ipynb | 428 ++++++++++++++++++ 1 file changed, 428 insertions(+) create mode 100644 community-contributions/kaiyuwei/week1/day2 EXERCISE.ipynb diff --git a/community-contributions/kaiyuwei/week1/day2 EXERCISE.ipynb b/community-contributions/kaiyuwei/week1/day2 EXERCISE.ipynb new file mode 100644 index 0000000..1881401 --- /dev/null +++ b/community-contributions/kaiyuwei/week1/day2 EXERCISE.ipynb @@ -0,0 +1,428 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "markdown", + "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Just before we get to the assignment --

\n", + " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", + " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", + " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", + "metadata": {}, + "source": [ + "# HOMEWORK EXERCISE ASSIGNMENT\n", + "\n", + "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", + "\n", + "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", + "\n", + "**Benefits:**\n", + "1. No API charges - open-source\n", + "2. Data doesn't leave your box\n", + "\n", + "**Disadvantages:**\n", + "1. Significantly less power than Frontier Model\n", + "\n", + "## Recap on installation of Ollama\n", + "\n", + "Simply visit [ollama.com](https://ollama.com) and install!\n", + "\n", + "Once complete, the ollama server should already be running locally. \n", + "If you visit: \n", + "[http://localhost:11434/](http://localhost:11434/)\n", + "\n", + "You should see the message `Ollama is running`. \n", + "\n", + "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", + "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", + "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", + "\n", + "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's just make sure the model is loaded\n", + "\n", + "!ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", + "metadata": {}, + "outputs": [], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", + "metadata": {}, + "source": [ + "# Introducing the ollama package\n", + "\n", + "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", + "\n", + "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## Are you confused about why that works?\n", + "\n", + "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", + "\n", + "Here's the scoop:\n", + "\n", + "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", + "\n", + "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", + "\n", + "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", + "\n", + "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", + "\n", + "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", + "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", + "\n", + "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", + "\n", + "That's it!\n", + "\n", + "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", + "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." + ] + }, + { + "cell_type": "markdown", + "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", + "metadata": {}, + "source": [ + "## Also trying the amazing reasoning model DeepSeek\n", + "\n", + "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", + "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", + "\n", + "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull deepseek-r1:1.5b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d3d554b-e00d-4c08-9300-45e073950a76", + "metadata": {}, + "outputs": [], + "source": [ + "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=\"deepseek-r1:1.5b\",\n", + " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "markdown", + "id": "59e9564e", + "metadata": {}, + "source": [ + "1. Create a Website class" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [ + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "import requests\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d44c6179-5c00-46a1-a068-6c6226307e2f", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"user-agent\": \"mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/117.0.0.0 safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers = headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title if soup.title else \"No title found for this website\"\n", + " \n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e9edb034", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"\n", + "\n", + "def getUserPrompt(website):\n", + " userPrompt = f\"You are looking at a website titled {website.title}\"\n", + " userPrompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " userPrompt += website.text\n", + " return userPrompt" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8581edb1", + "metadata": {}, + "outputs": [], + "source": [ + "def getPromptMessageFor(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": getUserPrompt(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "caf20d99", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize(url):\n", + " website = Website(url)\n", + " ollamaAi = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + " response = ollamaAi.chat.completions.create(\n", + " model = \"deepseek-r1:1.5b\",\n", + " messages = getPromptMessageFor(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5e0ed89f", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5793933", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 85b85fbbe6e0de803e25768bf2332bae8f26bd69 Mon Sep 17 00:00:00 2001 From: Antonina Bagrin Date: Mon, 4 Aug 2025 19:36:44 +0300 Subject: [PATCH 050/176] Added my contribution day_2 to community-contributions --- .../community-contributions/day2_tennis.ipynb | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 week1/community-contributions/day2_tennis.ipynb diff --git a/week1/community-contributions/day2_tennis.ipynb b/week1/community-contributions/day2_tennis.ipynb new file mode 100644 index 0000000..64a3502 --- /dev/null +++ b/week1/community-contributions/day2_tennis.ipynb @@ -0,0 +1,87 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "245fe5e2-9a3d-42f6-a39a-2a0f8750dd89", + "metadata": {}, + "outputs": [], + "source": [ + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4b598b5-2b8f-4004-88de-1fa03050a11f", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Write a short summary of advice for a child who is just starting to get interested in tennis.\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e0ffcc6-1489-41d9-9cd3-6656101bff2e", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33290d04-b7f2-4f36-956b-170685faa78c", + "metadata": {}, + "outputs": [], + "source": [ + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0dfabb0-dd31-4508-8f72-34482e2bef4a", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 34738d35ec6c0205868037e9ff556539b8850786 Mon Sep 17 00:00:00 2001 From: Syed Abrar Ahmad Date: Tue, 5 Aug 2025 00:26:19 +0500 Subject: [PATCH 051/176] Added a new notebook for week 1 Exercise. --- .../week1_exercise_tutor_by_abrar.ipynb | 209 ++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 week1/community-contributions/week1_exercise_tutor_by_abrar.ipynb diff --git a/week1/community-contributions/week1_exercise_tutor_by_abrar.ipynb b/week1/community-contributions/week1_exercise_tutor_by_abrar.ipynb new file mode 100644 index 0000000..f648fb5 --- /dev/null +++ b/week1/community-contributions/week1_exercise_tutor_by_abrar.ipynb @@ -0,0 +1,209 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a7cb82f0-bcf2-4fca-84e4-67144594ff2e", + "metadata": {}, + "source": [ + "End of Week 1 Exercise\n", + "\n", + "This notebook demonstrates how to interact with large language models using both OpenAI and Ollama APIs. Based on the user's input and selected model, the notebook routes the message to the corresponding backend and returns the generated response. It's a simple yet flexible interface to explore and compare model behavior across different providers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eea15c09-c949-4f30-a23b-02130305ff00", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ac06d3f8-215c-4474-a16b-f5a9980f18b5", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a768729-d38e-489f-b572-2af356e6ae78", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv(\"OPENAI_API_KEY\")\n", + "\n", + "# set up clients\n", + "openai = OpenAI()\n", + "ollama_url = \"http://localhost:11434/api/chat\"\n", + "ollama_headers = {\"Content-Type\": \"application/json\"}\n", + "# ollama = OpenAI(base_url=\"http://localhost:11434/v1\" , api_key=\"ollama\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f9572d7b-f51c-47c3-9651-56a4106d6f19", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "default_question = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {word for s in sentences for word in s.split()}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10dabd26-a22f-4f9f-9046-6e76b1c9e5e4", + "metadata": {}, + "outputs": [], + "source": [ + "# Here is the System Prompt\n", + "\n", + "system_prompt = \"\"\"\n", + "You are an expert tutor who explains complex topics in simple, clear, and engaging ways. Tailor your teaching style to the \n", + "learner’s level of knowledge and preferred learning pace. Encourage critical thinking, provide examples, \n", + "and ask occasional questions to check understanding. Avoid giving direct answers when guiding \n", + "problem-solving — instead, offer hints or break the problem into steps. Be friendly, patient, and always supportive. \n", + "Adapt your explanations based on feedback or confusion. When asked for code, equations, or definitions, \n", + "provide them in a structured, easy-to-understand format.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83840afa-6445-404a-b922-2acadf228ade", + "metadata": {}, + "outputs": [], + "source": [ + "# Here is the System Prompt\n", + "user_prompt = \"Please give a detailed explanation to the following question: \" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "570917cc-1f4d-4ca7-b846-f8952aa6c4a0", + "metadata": {}, + "outputs": [], + "source": [ + "# Get User prompt\n", + "\n", + "def get_user_prompt(question=None):\n", + " if not question:\n", + " print(f\"As the given question is empty. So I'm going to ask a default question, which is {default_question}\" )\n", + " question = default_question\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt + question}\n", + " ]\n", + " return messages" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aed48452-3029-482e-8175-e6acfce5b08d", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "def get_answer_from_ollama(question=None):\n", + " messages = get_user_prompt(question)\n", + "\n", + " data = {\n", + " \"model\": MODEL_LLAMA,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }\n", + "\n", + " response = requests.post(ollama_url, headers=ollama_headers, json=data)\n", + " display(Markdown(response.json()['message']['content']))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "374b680a-7994-4636-8939-ab591314f8d6", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "\n", + "def get_answer_from_openai(question=None):\n", + " messages = get_user_prompt(question)\n", + " stream = openai.chat.completions.create(model=MODEL_GPT, messages=messages,stream=True)\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69406774-33f1-4c67-a8ef-af92567f29a7", + "metadata": {}, + "outputs": [], + "source": [ + "# Ask a question and get the user's response\n", + "answer = input(\"What's the question you want to ask?\")\n", + "\n", + "model_choice = input(\"Please choose a model to use (GPT or Llama): \")\n", + "\n", + "if model_choice.lower() == \"gpt\":\n", + " get_answer_from_openai(answer)\n", + "elif model_choice.lower() == \"llama\":\n", + " get_answer_from_ollama(answer)\n", + "else:\n", + " print(\"Choose the correct model name\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 53e04b774f6471687b22ab61445a8ceecb48af47 Mon Sep 17 00:00:00 2001 From: ana-047 Date: Tue, 5 Aug 2025 00:12:26 -0700 Subject: [PATCH 052/176] Adding dental office chatbot --- .../Dental_Office_Chatbot.ipynb | 252 ++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 week2/community-contributions/Dental_Office_Chatbot.ipynb diff --git a/week2/community-contributions/Dental_Office_Chatbot.ipynb b/week2/community-contributions/Dental_Office_Chatbot.ipynb new file mode 100644 index 0000000..0de52dc --- /dev/null +++ b/week2/community-contributions/Dental_Office_Chatbot.ipynb @@ -0,0 +1,252 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7f161eb8-7973-4c4e-ac9a-c85979a9b7a8", + "metadata": {}, + "source": [ + "

Chatbot for Dental Office

" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "c9883c8a-1ea8-406c-81e0-18fbf6c5d8b2", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import requests\n", + "from bs4 import BeautifulSoup" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "72fe1eb9-a8b1-48f1-9c4f-eefb9714d8fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk\n", + "Anthropic API Key exists and begins sk\n", + "Google API Key exists and begins AI\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:2]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:2]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:2]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "3bf7a992-ded3-42b3-b207-1a5077804466", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize\n", + "\n", + "openai = OpenAI()\n", + "MODEL = 'gpt-4o-mini'" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "4ecd96d8-2e87-4a39-9784-178aa4424667", + "metadata": {}, + "outputs": [], + "source": [ + "#scrape website\n", + "\n", + "def get_website_text(url):\n", + " try:\n", + " response = requests.get(url)\n", + " response.raise_for_status()\n", + " \n", + " soup = BeautifulSoup(response.text, \"html.parser\")\n", + " \n", + " # Remove script and style elements\n", + " for tag in soup([\"script\", \"style\", \"noscript\"]):\n", + " tag.decompose()\n", + "\n", + " # Extract visible text\n", + " text = soup.get_text(separator=\"\\n\")\n", + " \n", + " # Clean up whitespace\n", + " lines = [line.strip() for line in text.splitlines()]\n", + " content = \"\\n\".join(line for line in lines if line)\n", + "\n", + " return content[:100000] \n", + " except Exception as e:\n", + " return f\"Error fetching website content: {e}\"" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "c0fc0537-e0b8-450d-8457-b00669c5df86", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://rooseveltislandadvanceddentistry.com/\"\n", + "website_content = get_website_text(url)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "25e118d7-5adb-4978-bdac-83c12e119de2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Roosevelt Island Advanced Dentistry | Pediatric Dentist\\nBusiness Hours:\\nMonday to Saturday 9 AM to 5 PM\\n(212) 752-8722\\n501A Main St, New York, NY 10044, United States\\nRoosevelt Island\\ncontact us\\nBook an appointment\\nOur Team\\nPediatric Procedures\\nPediatric Services\\nPediatric Topics\\nProsthodontics Procedures\\nDental Implants\\nGeneral Dentistry\\nServices\\nCosmetic Dentistry\\nOral Hygiene\\nEmergency\\nOrthodontics\\nOnline Forms\\nTestimonials\\nOur Team\\nPediatric Procedures\\nPediatric Services\\nPediatric Topics\\nProsthodontics Procedures\\nDental Implants\\nGeneral Dentistry\\nServices\\nCosmetic Dentistry\\nOral Hygiene\\nEmergency\\nOrthodontics\\nOnline Forms\\nTestimonials\\nBusiness Hours:\\nMonday to Saturday 9 AM to 5 PM\\n(212) 752-8722\\n501A Main St, New York, NY 10044, United States\\nRoosevelt Island\\ncontact us\\nBook an appointment\\nNEW YORK PEDIATRIC DENTIST\\nThe best and only Pediatric Dentist Specialist in Roosevelt Island, NY.\\nThe best and only Pediatric Dentist Specialist in Roosevelt Island, NY.\\nRoosevelt Island Advanced Dentistry offers comprehensive general dentistry services in Roosevelt Island, NY.\\nRoosevelt Island Advanced Dentistry provides expert prosthodontics in Roosevelt Island, NY.\\nThe best and only Pediatric Dentist Specialist in Roosevelt Island, NY.\\nRoosevelt Island Advanced Dentistry offers comprehensive general dentistry services in Roosevelt Island, NY.\\nRoosevelt Island Advanced Dentistry provides expert prosthodontics in Roosevelt Island, NY.\\nbook an appointment\\nCall :\\n(212) 752-8722\\nleave a review\\nRoosevelt Island Dentistry nyc\\nServices We Provide\\nPediatric Specialty Procedures\\nLearn more\\nOrthodontics\\nLearn more\\nProsthodontics Specialty Procedures\\nLearn more\\nCosmetic Dentistry\\nLearn more\\nDental Implants\\nLearn more\\nGeneral Dentistry\\nLearn more\\nDENTAL ICON(outline)\\nOral Hygiene\\nLearn more\\nSmile Makeover\\nLearn more\\nbook an appointment\\ncontact us\\nOur Team\\nabout us\\ntestimonials\\nDr. skomial\\nProsthodontist-Implant Specialist\\nDr. Skomial is an active member of American Dental Association and American College of Prosthodontists. He is originally from Poland and speaks\\nLearn more\\nDr. Chen\\nBoard Certified Pediatric Dentist\\nDonna Chen, DDS is a compassionate dentist who loves building relationships with her patients. She caters to children’s individualized needs and\\nLearn more\\nDr. Correa\\nBoard Certified Pediatric Dentist\\nDr. Lizeth Correa is a pediatric dentist known for her warm and friendly approach to treating young patients. Dr. Correa places emphasis\\nLearn more\\nDr. Regina Mathai, DDS MPH\\nBoard Eligible Pediatric Dentist\\nDr. Regina, from Hudson Valley, NY, earned a Biology and Spanish degree from Binghamton and a Master's in Public Health from Hofstra.\\nLearn more\\nDr. Buchbinder\\nOrthodontist\\nDr. William Buchbinder (Dr. Billy) is an orthodontic specialist serving patients across the Greater New York area. Combining clinical excellence with a warm, approachable style.\\nLearn more\\nDr. Matthew Lee, DMD\\nGeneral Dentist\\nDr. Matthew Lee, a NYC native, holds a Biology degree and a Master's in Biomedical Sciences from Rutgers, where he also attended dental school.\\nLearn more\\nDr. Jason Tu, DDS\\nGeneral Dentist\\nDr. Jason Tu was born and raised in Vancouver, Canada. He completed his undergraduate studies at UBC and dental school at NYU.\\nLearn more\\nDr. Jeanne Helbig, DMD\\nGeneral Dentist\\nDr. Jeanne Helbig is a general dentist who believes in providing\\ncompassionate and comprehensive care to each of her patients.\\nLearn more\\nWhy we stand out?\\nRoosevelt Island Advanced Dentistry always places patients at the center of our attention, and concentrate on improving their experience with the aid of technologies.\\nGet your services right\\nGet rid of your pain, stress, and enduring with our dental services. It’s a priority to relieve the pain and damage to your mouth in surgeon as much as possible.\\nwhy choose us\\nReasons why we're widely favored\\ncontact us\\nfaqs\\nHome Heart\\nWork With Hearts\\nWe care for your dental health with a great compassion & understanding so that you can have the best smile.\\nPrecise Diagnosis\\nWhen your teeth are decayed or damaged, we use modern tools to detect the area and provide treatment.\\nServe with Smile\\nThe smile never fades on our doctors’ faces as they always want to create an atmosphere that feels comfortable.\\nAnnual Check-ups\\nWe provide annual check-up for dental health conditions and offer many promotions for members of our center.\\nHelp at Hand\\nWe are ready to check for any teeth issue at our center and at any time of the day, even on weekends & holidays.\\nFlexible Installment\\nWe allow periodic installments of purchasing costs in case customers are unable to afford the price of services.\\nFAQs\\nYou may find an answer to your question here.\\nWhy choose a Pediatric Dentist?\\nPediatric Dentistry is the dental specialty recognized by the American Dental Association (ADA), which provides comprehensive dental care for all children, from infancy to adolescence. Pediatric dentists promote the dental health of children as well as serve as educational resources for parents.\\nA Pediatric Dentist is a practitioner who has completed an additional two years of post-doctorate training after dental school. The specialty-focused training includes child psychology, behavioral guidance, preventative techniques, and restorative dentistry. A pediatric dentist also received training in treating handicapped or chronically ill children as well.\\nWhat can I expect during my visit?\\nThe pediatric dentist will review your child’s medical and dental history. They will gently examine your child’s teeth, oral tissues, and jaws. The teeth will be cleaned and polished, followed by the application of a fluoride solution, if necessary.\\nYour pediatric dentist won’t talk just to you about dental health, she will talk to your child with easily understandable words, pictures, and ideas. Your child will be motivated to take responsibility for a healthy smile.\\nDo you treat children with special needs?\\nNo, but we have a 'Refuse a Service' option, and here is how it works. If, during some of the beginning stages of preparation, you see that the service does not satisfy your expectations, you can terminate the contract and not pay the final amount of money. Since we sign a service contract for all the events, the conditions, such as the amounts of money and payment dates, are specified in the signed documents. Therefore, we advise you to read the contract carefully and pay specific attention to the paragraph that describes the mentioned data.\\nWhen should my child's first dentist visit be?\\nThe American Academy of Pediatric Dentistry recommends a child’s first dental visit by their first birthday, or sooner. A dental check-up twice a year is recommended for most children. Some children need more frequent dental visits because of increased risk of tooth decay, unusual growth patterns or poor oral hygiene. Your pediatric dentist will let you know the best appointment schedule for your child.\\nRegular dental visits help your child stay cavity-free. Teeth cleanings remove debris that build up on the teeth, irritate the gums and cause decay. Fluoride treatments renew the fluoride content in the enamel, strengthening teeth and preventing cavities. Hygiene instructions improve your child’s brushing and flossing, leading to cleaner teeth and healthier gums.\\nTooth decay isn’t the only reason for a dental visit. Your pediatric dentist provides an ongoing assessment of changes in your child’s oral health. For example, your child may need additional fluoride, dietary changes, or sealants for ideal dental health. The pediatric dentist may identify orthodontic problems and suggest treatment to guide the teeth as they emerge in the mouth. Speak to your pediatric dentist today.\\nContact Us Today!\\nGet in Touch for Personalized Pediatric Dentistry in Roosevelt Island!\\nAddress\\n501A Main St, New York, NY 10044,\\nUnited States\\nRoosevelt Island\\nphone\\n(212) 752-8722\\nemail\\nmoc.liamg%40cllevollatned\\nbusiness hours\\nMonday to Saturday 9 AM to 5 PM\\nRoosevelt Island Advanced Dentistry\\nRoosevelt Island Advanced Dentistry\\nPhone:\\n(212) 759-3666\\nBusiness Hours:\\nMonday to Saturday 9 AM to 5 PM\\nQuick Links\\nPediatric Specialty Procedures\\nProsthodontics Specialty Procedures\\nGeneral Dentistry\\nLegal Pages\\nPrivacy Policy\\nAccessibility Statement\\nĀ© Created by\\nDearDoc\\nAll Rights Reserved Roosevelt Island Advanced Dentistry.\\nRoosevelt Island Advanced Dentistry\\nRoosevelt Island Advanced Dentistry\\nPhone:\\n(212) 759-3666\\nBusiness Hours:\\nMonday to Saturday 9 AM to 5 PM\\nQuick Links\\nPediatric Specialty Procedures\\nProsthodontics Specialty Procedures\\nGeneral Dentistry\\nLegal Pages\\nPrivacy Policy\\nAccessibility Statement\\nĀ© Created by\\nDearDoc\\nAll Rights Reserved Roosevelt Island Advanced Dentistry.\"" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "website_content" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "7c560358-3932-4599-b608-fdfb8d99a784", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = (\n", + " \"You are a helpful assistant for a dental office. Your job is to welcome the patient. Use the information below to answer patient questions \"\n", + " \"about services, office hours, insurance, contact details, doctors and booking appointments.\\n\\n\"\n", + " f\"Website content:\\n{website_content}\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "b976152b-77c0-4901-bec6-50ac32c8cfbb", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " \n", + " print(\"History is:\")\n", + " print(history)\n", + " print(\"And messages is:\")\n", + " print(messages)\n", + "\n", + " stream = openai.chat.completions.create(model=MODEL, messages=messages, stream=True)\n", + "\n", + " response = \"\"\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "48e3852e-557c-4a7a-9ada-41cd6bbd6167", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7872\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f224861-c8a1-40e6-b07a-4d7d4b5d9484", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 9da9692a9b7b8db12a66913e4355a20fe18c565a Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 20:42:50 +0300 Subject: [PATCH 053/176] Week 1 exercise --- week1/Guide to Jupyter.ipynb | 155 +++++++++++--- .../01_webpage_summarizer.ipynb | 80 ++++++-- week1/day1.ipynb | 94 ++++++++- week1/day2 EXERCISE.ipynb | 4 +- week1/day5.ipynb | 71 ++++++- week1/troubleshooting.ipynb | 189 ++++++++++++++++-- week1/week1 EXERCISE.ipynb | 135 ++++++++++++- 7 files changed, 649 insertions(+), 79 deletions(-) diff --git a/week1/Guide to Jupyter.ipynb b/week1/Guide to Jupyter.ipynb index ebcc9f0..0de6a9f 100644 --- a/week1/Guide to Jupyter.ipynb +++ b/week1/Guide to Jupyter.ipynb @@ -32,10 +32,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "33d37cd8-55c9-4e03-868c-34aa9cab2c80", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Click anywhere in this cell and press Shift + Return\n", "\n", @@ -54,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "585eb9c1-85ee-4c27-8dc2-b4d8d022eda0", "metadata": {}, "outputs": [], @@ -66,10 +77,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "07792faa-761d-46cb-b9b7-2bbf70bb1628", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'bananas'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# The result of the last statement is shown after you run it\n", "\n", @@ -78,10 +100,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a067d2b1-53d5-4aeb-8a3c-574d39ff654a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "My favorite fruit is bananas\n" + ] + } + ], "source": [ "# Use the variable\n", "\n", @@ -90,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "4c5a4e60-b7f4-4953-9e80-6d84ba4664ad", "metadata": {}, "outputs": [], @@ -116,10 +146,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "8e5ec81d-7c5b-4025-bd2e-468d67b581b6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "My favorite fruit is anything but bananas\n" + ] + } + ], "source": [ "# Then run this cell twice, and see if you understand what's going on\n", "\n", @@ -144,10 +182,18 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "84b1e410-5eda-4e2c-97ce-4eebcff816c5", + "execution_count": 7, + "id": "ce258424-40c3-49a7-9462-e6fa25014b03", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "My favorite fruit is apples\n" + ] + } + ], "source": [ "print(f\"My favorite fruit is {favorite_fruit}\")" ] @@ -165,10 +211,12 @@ { "cell_type": "code", "execution_count": null, - "id": "ce258424-40c3-49a7-9462-e6fa25014b03", + "id": "84b1e410-5eda-4e2c-97ce-4eebcff816c5", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "print(f\"My favorite fruit is {favorite_fruit} - ok\")" + ] }, { "cell_type": "markdown", @@ -221,10 +269,25 @@ "Click in the cell and press the Bin icon if you want to remove it." ] }, + { + "cell_type": "markdown", + "id": "b3b2d1ff-5d2c-47a9-9c1b-90a0cfb89dd9", + "metadata": {}, + "source": [ + "# This is a heading\n", + "## This is a sub-head\n", + "### And a sub-sub-head\n", + "\n", + "I like Jupyter Lab because it's\n", + "- Easy\n", + "- Flexible\n", + "- Satisfying" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "e1586320-c90f-4f22-8b39-df6865484950", + "id": "a365b651-3a34-40ed-8def-df1e6a484b43", "metadata": {}, "outputs": [], "source": [] @@ -245,10 +308,21 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "82042fc5-a907-4381-a4b8-eb9386df19cd", + "execution_count": 1, + "id": "b1b303d9-ce47-4cee-85e9-6416abca7d21", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Guide to Jupyter.ipynb day2 EXERCISE.ipynb troubleshooting.ipynb\n", + "Intermediate Python.ipynb day5.ipynb week1 EXERCISE.ipynb\n", + "\u001b[34mcommunity-contributions\u001b[m\u001b[m diagnostics.py\n", + "day1.ipynb \u001b[34msolutions\u001b[m\u001b[m\n" + ] + } + ], "source": [ "# list the current directory\n", "\n", @@ -258,13 +332,13 @@ { "cell_type": "code", "execution_count": null, - "id": "4fc3e3da-8a55-40cc-9706-48bf12a0e20e", + "id": "18685382-3768-4e00-817b-cc69dd1fb531", "metadata": {}, "outputs": [], "source": [ - "# ping cnn.com - press the stop button in the toolbar when you're bored\n", + "# ping a website\n", "\n", - "!ping cnn.com" + "!ping google.com" ] }, { @@ -295,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "2646a4e5-3c23-4aee-a34d-d623815187d2", "metadata": {}, "outputs": [], @@ -313,10 +387,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "6e96be3d-fa82-42a3-a8aa-b81dd20563a5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ| 1000/1000 [00:11<00:00, 86.00it/s]\n" + ] + } + ], "source": [ "# And now, with a nice little progress bar:\n", "\n", @@ -331,10 +413,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "63c788dd-4618-4bb4-a5ce-204411a38ade", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# This is a big heading!\n", + "\n", + "- And this is a bullet-point\n", + "- So is this\n", + "- Me, too!" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# On a different topic, here's a useful way to print output in markdown\n", "\n", @@ -372,7 +471,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.13.5" } }, "nbformat": 4, diff --git a/week1/community-contributions/01_webpage_summarizer.ipynb b/week1/community-contributions/01_webpage_summarizer.ipynb index f8be204..8126396 100644 --- a/week1/community-contributions/01_webpage_summarizer.ipynb +++ b/week1/community-contributions/01_webpage_summarizer.ipynb @@ -42,17 +42,65 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "ebf2fa36", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting selenium\n", + " Downloading selenium-4.34.2-py3-none-any.whl.metadata (7.5 kB)\n", + "Collecting webdriver-manager\n", + " Downloading webdriver_manager-4.0.2-py2.py3-none-any.whl.metadata (12 kB)\n", + "Requirement already satisfied: urllib3~=2.5.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from urllib3[socks]~=2.5.0->selenium) (2.5.0)\n", + "Collecting trio~=0.30.0 (from selenium)\n", + " Downloading trio-0.30.0-py3-none-any.whl.metadata (8.5 kB)\n", + "Collecting trio-websocket~=0.12.2 (from selenium)\n", + " Downloading trio_websocket-0.12.2-py3-none-any.whl.metadata (5.1 kB)\n", + "Requirement already satisfied: certifi>=2025.6.15 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (2025.7.14)\n", + "Requirement already satisfied: typing_extensions~=4.14.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (4.14.1)\n", + "Requirement already satisfied: websocket-client~=1.8.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (1.8.0)\n", + "Requirement already satisfied: attrs>=23.2.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (25.3.0)\n", + "Collecting sortedcontainers (from trio~=0.30.0->selenium)\n", + " Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl.metadata (10 kB)\n", + "Requirement already satisfied: idna in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (3.10)\n", + "Collecting outcome (from trio~=0.30.0->selenium)\n", + " Downloading outcome-1.3.0.post0-py2.py3-none-any.whl.metadata (2.6 kB)\n", + "Requirement already satisfied: sniffio>=1.3.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (1.3.1)\n", + "Collecting wsproto>=0.14 (from trio-websocket~=0.12.2->selenium)\n", + " Downloading wsproto-1.2.0-py3-none-any.whl.metadata (5.6 kB)\n", + "Collecting pysocks!=1.5.7,<2.0,>=1.5.6 (from urllib3[socks]~=2.5.0->selenium)\n", + " Downloading PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: requests in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (2.32.4)\n", + "Requirement already satisfied: python-dotenv in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (1.1.1)\n", + "Requirement already satisfied: packaging in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (25.0)\n", + "Requirement already satisfied: h11<1,>=0.9.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from wsproto>=0.14->trio-websocket~=0.12.2->selenium) (0.16.0)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from requests->webdriver-manager) (3.4.2)\n", + "Downloading selenium-4.34.2-py3-none-any.whl (9.4 MB)\n", + "\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.4/9.4 MB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0mm \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading trio-0.30.0-py3-none-any.whl (499 kB)\n", + "Downloading trio_websocket-0.12.2-py3-none-any.whl (21 kB)\n", + "Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)\n", + "Downloading webdriver_manager-4.0.2-py2.py3-none-any.whl (27 kB)\n", + "Downloading outcome-1.3.0.post0-py2.py3-none-any.whl (10 kB)\n", + "Downloading wsproto-1.2.0-py3-none-any.whl (24 kB)\n", + "Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)\n", + "Installing collected packages: sortedcontainers, wsproto, pysocks, outcome, webdriver-manager, trio, trio-websocket, selenium\n", + "\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8/8\u001b[0m [selenium]━━\u001b[0m \u001b[32m7/8\u001b[0m [selenium]-manager]\n", + "\u001b[1A\u001b[2KSuccessfully installed outcome-1.3.0.post0 pysocks-1.7.1 selenium-4.34.2 sortedcontainers-2.4.0 trio-0.30.0 trio-websocket-0.12.2 webdriver-manager-4.0.2 wsproto-1.2.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], "source": [ "%pip install selenium webdriver-manager" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "1dcf1d9d-c540-4900-b14e-ad36a28fc822", "metadata": {}, "outputs": [], @@ -92,10 +140,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "8598c299-05ca-492e-b085-6bcc2f7dda0d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "āœ… API key loaded successfully!\n" + ] + } + ], "source": [ "load_dotenv(override=True)\n", "api_key = os.getenv('OPENAI_API_KEY')\n", @@ -109,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "8098defb", "metadata": {}, "outputs": [], @@ -128,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c6fe5114", "metadata": {}, "outputs": [], @@ -233,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "02e3a673-a8a1-4101-a441-3816f7ab9e4d", "metadata": {}, "outputs": [], @@ -245,7 +301,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "86bb80f9-9e7c-4825-985f-9b83fe50839f", "metadata": {}, "outputs": [], @@ -259,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "89998b18-77aa-4aaf-a137-f0d078d61f75", "metadata": {}, "outputs": [], @@ -335,7 +391,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -349,7 +405,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.9" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/day1.ipynb b/week1/day1.ipynb index f492110..414c638 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -497,6 +497,26 @@ "display_summary(\"https://anthropic.com\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a904323-acd9-4c8e-9a17-70df76184590", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://rwothoromo.wordpress.com/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a66c9fe8-c26a-49dd-9bc4-9efffc638f95", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://openai.com\")" + ] + }, { "cell_type": "markdown", "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", @@ -538,23 +558,55 @@ "source": [ "# Step 1: Create your prompts\n", "\n", - "system_prompt = \"something here\"\n", + "system_prompt = \"You are a professional assistant\"\n", "user_prompt = \"\"\"\n", - " Lots of text\n", - " Can be pasted here\n", + "Review this conversation and provide a comprehensive summary. Also, suggest how much better the converation could have gone:\n", + "\n", + "Dear Dev Contact,\n", + "\n", + "I hope this message finds you well.\n", + "I would like to share that I have proficiency in front-end design tools, particularly Figma, react and Angular. At this stage, I am keenly interested in finding opportunities to apply these skills professionally.\n", + "\n", + "If you are aware of any companies, projects, or platforms seeking enterprise in front-end design, I would be grateful for any advice or recommendations you might kindly provide.\n", + "\n", + "Thank you very much for your time and consideration.\n", + "\n", + "Hello Job Seeker,\n", + "\n", + "I hope you are doing well.\n", + "\n", + "Dev Contact: The last role (3 months gig) I saw was looking for a junior PHP Developer. Does your CV include that?\n", + "\n", + "Hello Dev Contact \n", + "Thank you for your feedback.\n", + "Yes my CV has PHP as one of my skill set. Can I share it with you?\n", + "\n", + "Dev Contact: They said \"It's late. Interviews were on Monday\"\n", + "\n", + "Hello Dev Contact\n", + "\n", + "Thanks for the update. When you hear of any opportunity please let me know.\n", + "\n", + "Dev Contact: For now, check out https://refactory.academy/courses/refactory-apprenticeship/\n", "\"\"\"\n", "\n", "# Step 2: Make the messages list\n", "\n", - "messages = [] # fill this in\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + "] # fill this in\n", "\n", "# Step 3: Call OpenAI\n", "\n", - "response =\n", + "response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages\n", + ")\n", "\n", "# Step 4: print the result\n", "\n", - "print(" + "print(response.choices[0].message.content)" ] }, { @@ -588,6 +640,34 @@ "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", "metadata": {}, "outputs": [], + "source": [ + "# To perform summaries using a model running locally\n", + "import ollama\n", + "\n", + "# OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "# HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"\n", + "\n", + "\n", + "def summarize_with_local_model(url):\n", + " website = Website(url)\n", + " messages = messages_for(website)\n", + " response = ollama.chat(\n", + " model=MODEL,\n", + " messages=messages,\n", + " stream=False # just get the results, don't stream them\n", + " )\n", + " return response['message']['content']\n", + "\n", + "display(Markdown(summarize_with_local_model(\"https://rwothoromo.wordpress.com/\")))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e76cbf31-2a82-40b8-b2e7-e2ceae7483ed", + "metadata": {}, + "outputs": [], "source": [] } ], @@ -607,7 +687,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index 89a383f..cde9d4a 100644 --- a/week1/day2 EXERCISE.ipynb +++ b/week1/day2 EXERCISE.ipynb @@ -118,7 +118,7 @@ "payload = {\n", " \"model\": MODEL,\n", " \"messages\": messages,\n", - " \"stream\": False\n", + " \"stream\": False # just get the results, don't stream them\n", " }" ] }, @@ -308,7 +308,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/day5.ipynb b/week1/day5.ipynb index 5249ce8..39142ef 100644 --- a/week1/day5.ipynb +++ b/week1/day5.ipynb @@ -144,6 +144,15 @@ " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", " ]\n", "}\n", + "\"\"\"\n", + "link_system_prompt += \"And this example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"for-you page\", \"url\": \"https://full.url/goes/here/services\"},\n", + " {\"type\": \"speak-to-a-human page\", \"url\": \"https://another.full.url/contact-us\"}\n", + " ]\n", + "}\n", "\"\"\"" ] }, @@ -213,6 +222,9 @@ "source": [ "# Anthropic has made their site harder to scrape, so I'm using HuggingFace..\n", "\n", + "# anthropic = Website(\"https://anthropic.com\")\n", + "# anthropic.links\n", + "# get_links(\"https://anthropic.com\")\n", "huggingface = Website(\"https://huggingface.co\")\n", "huggingface.links" ] @@ -272,15 +284,15 @@ "metadata": {}, "outputs": [], "source": [ - "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", - "and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", - "Include details of company culture, customers and careers/jobs if you have the information.\"\n", + "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "# and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "# Include details of company culture, customers and careers/jobs if you have the information.\"\n", "\n", "# Or uncomment the lines below for a more humorous brochure - this demonstrates how easy it is to incorporate 'tone':\n", "\n", - "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", - "# and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", - "# Include details of company culture, customers and careers/jobs if you have the information.\"\n" + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"\n" ] }, { @@ -293,6 +305,7 @@ "def get_brochure_user_prompt(company_name, url):\n", " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", + " user_prompt += f\"Keep the details brief or concise, factoring in that they would be printed on a simple hand-out flyer.\\n\"\n", " user_prompt += get_all_details(url)\n", " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", " return user_prompt" @@ -324,6 +337,28 @@ " ],\n", " )\n", " result = response.choices[0].message.content\n", + " # display(Markdown(result))\n", + " # print(result)\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0029e063-0c07-4712-82d9-536ec3579e80", + "metadata": {}, + "outputs": [], + "source": [ + "def translate_brochure(brochure, language):\n", + " system_prompt_for_language = \"You're an expert in \" + language + \". Translate the brochure!\"\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt_for_language},\n", + " {\"role\": \"user\", \"content\": brochure}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", " display(Markdown(result))" ] }, @@ -337,6 +372,28 @@ "create_brochure(\"HuggingFace\", \"https://huggingface.co\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8371bf5-c4c0-4e52-9a2a-066d994b0510", + "metadata": {}, + "outputs": [], + "source": [ + "brochure = create_brochure(\"Paint and Sip Uganda\", \"https://paintandsipuganda.com/\")\n", + "# translate_brochure(brochure, \"Spanish\")\n", + "translate_brochure(brochure, \"Swahili\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34e03db6-61d0-4fc5-bf66-4f679b9befde", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure(\"Wabeh\", \"https://wabeh.com/\")" + ] + }, { "cell_type": "markdown", "id": "61eaaab7-0b47-4b29-82d4-75d474ad8d18", @@ -501,7 +558,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/troubleshooting.ipynb b/week1/troubleshooting.ipynb index 23eca6f..d8cdf8f 100644 --- a/week1/troubleshooting.ipynb +++ b/week1/troubleshooting.ipynb @@ -40,10 +40,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d296f9b6-8de4-44db-b5f5-9b653dfd3d81", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Connected to the internet and can reach Google\n" + ] + } + ], "source": [ "import urllib.request\n", "\n", @@ -101,10 +109,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "7c8c0bb3-0e94-466e-8d1a-4dfbaa014cbe", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Virtualenv is active:\n", + "Environment Path: /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms\n", + "Environment Name: llms\n" + ] + } + ], "source": [ "# Some quick checks that your Conda environment or VirtualEnv is as expected\n", "# The Environment Name should be: llms\n", @@ -164,10 +182,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "6c78b7d9-1eea-412d-8751-3de20c0f6e2f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'openai'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[8], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# This import should work if your environment is active and dependencies are installed!\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mopenai\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m OpenAI\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'openai'" + ] + } + ], "source": [ "# This import should work if your environment is active and dependencies are installed!\n", "\n", @@ -201,10 +231,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "caa4837e-b970-4f89-aa9a-8aa793c754fd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".env file found.\n", + "SUCCESS! OPENAI_API_KEY found and it has the right prefix\n" + ] + } + ], "source": [ "from pathlib import Path\n", "\n", @@ -254,10 +293,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "ab9ea6ef-49ee-4899-a1c7-75a8bd9ac36b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There is already a .env file - if you want me to create a new one, change the variable overwrite_if_already_exists to True above\n" + ] + } + ], "source": [ "# Only run this code in this cell if you want to have a .env file created for you!\n", "\n", @@ -371,10 +418,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "cccb58e7-6626-4033-9dc1-e7e3ff742f6b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'openai'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[9], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mopenai\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m OpenAI\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mdotenv\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m load_dotenv\n\u001b[1;32m 3\u001b[0m load_dotenv(override\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'openai'" + ] + } + ], "source": [ "from openai import OpenAI\n", "from dotenv import load_dotenv\n", @@ -463,10 +522,110 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "248204f0-7bad-482a-b715-fb06a3553916", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Starting diagnostics at 2025-08-02 23:16:47\n", + "\n", + "===== System Information =====\n", + "Operating System: Darwin\n", + "MacOS Version: 10.16\n", + "Architecture: ('64bit', 'Mach-O')\n", + "Machine: x86_64\n", + "Processor: i386\n", + "Total RAM: 16.00 GB\n", + "Available RAM: 6.04 GB\n", + "Free Disk Space: 315.94 GB\n", + "\n", + "===== File System Information =====\n", + "Current Directory: /Users/elijahsmac/Desktop/code/llm/llm_engineering/week1\n", + "Write permission: OK\n", + "\n", + "Files in Current Directory:\n", + " - .ipynb_checkpoints\n", + " - Guide to Jupyter.ipynb\n", + " - Intermediate Python.ipynb\n", + " - __pycache__\n", + " - community-contributions\n", + " - day1.ipynb\n", + " - day2 EXERCISE.ipynb\n", + " - day5.ipynb\n", + " - diagnostics.py\n", + " - report.txt\n", + " - solutions\n", + " - troubleshooting.ipynb\n", + " - week1 EXERCISE.ipynb\n", + "\n", + "===== Git Repository Information =====\n", + "Git Repository Root: /Users/elijahsmac/Desktop/code/llm/llm_engineering\n", + "Current Commit: 3a042500d7db3c0e8cde89f836a60e6cd7ab9ba1\n", + "Remote Origin: git@github.com:ed-donner/llm_engineering.git\n", + "\n", + "===== Environment File Check =====\n", + ".env file exists at: /Users/elijahsmac/Desktop/code/llm/llm_engineering/.env\n", + "OPENAI_API_KEY found in .env file\n", + "\n", + "===== Anaconda Environment Check =====\n", + "No active Anaconda environment detected\n", + "\n", + "===== Virtualenv Check =====\n", + "Virtualenv is active:\n", + "Environment Path: /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms\n", + "Environment Name: llms\n", + "\n", + "Python Environment:\n", + "Python Version: 3.13.5 | packaged by Anaconda, Inc. | (main, Jun 12 2025, 11:09:21) [Clang 14.0.6 ]\n", + "Python Executable: /Users/elijahsmac/anaconda3/bin/python\n", + "\n", + "Required Package Versions:\n", + "ERROR: Required package 'openai' is not installed\n", + "python-dotenv: 1.1.0\n", + "requests: 2.32.3\n", + "ERROR: Required package 'gradio' is not installed\n", + "ERROR: Required package 'transformers' is not installed\n", + "\n", + "===== Network Connectivity Check =====\n", + "SSL Version: OpenSSL 3.0.16 11 Feb 2025\n", + "ERROR: Required packages are not installed. Please install them using 'pip install requests speedtest-cli'\n", + "\n", + "===== Environment Variables Check =====\n", + "\n", + "PYTHONPATH is not set.\n", + "\n", + "Python sys.path:\n", + " - /Users/elijahsmac/anaconda3/lib/python313.zip\n", + " - /Users/elijahsmac/anaconda3/lib/python3.13\n", + " - /Users/elijahsmac/anaconda3/lib/python3.13/lib-dynload\n", + " - \n", + " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages\n", + " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages/aeosa\n", + " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages/setuptools/_vendor\n", + "OPENAI_API_KEY is set after calling load_dotenv()\n", + "\n", + "===== Additional Diagnostics =====\n", + "Temp directory is writable: /var/folders/_1/d6xg9lvd4lb714ry78xpc10w0000gn/T\n", + "\n", + "===== Errors Found =====\n", + "The following critical issues were detected. Please address them before proceeding:\n", + "- Required package 'openai' is not installed\n", + "- Required package 'gradio' is not installed\n", + "- Required package 'transformers' is not installed\n", + "- Required packages are not installed. Please install them using 'pip install requests speedtest-cli'\n", + "\n", + "\n", + "Completed diagnostics at 2025-08-02 23:16:47\n", + "\n", + "\n", + "Please send these diagnostics to me at ed@edwarddonner.com\n", + "Either copy & paste the above output into an email, or attach the file report.txt that has been created in this directory.\n" + ] + } + ], "source": [ "# Run my diagnostics report to collect key information for debugging\n", "# Please email me the results. Either copy & paste the output, or attach the file report.txt\n", @@ -501,7 +660,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/week1 EXERCISE.ipynb b/week1/week1 EXERCISE.ipynb index f3486fe..2f79587 100644 --- a/week1/week1 EXERCISE.ipynb +++ b/week1/week1 EXERCISE.ipynb @@ -18,7 +18,13 @@ "metadata": {}, "outputs": [], "source": [ - "# imports" + "# imports\n", + "import os, re, requests, json, ollama\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" ] }, { @@ -41,7 +47,27 @@ "metadata": {}, "outputs": [], "source": [ - "# set up environment" + "# set up environment\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + "\n", + "openai = OpenAI()\n" ] }, { @@ -53,10 +79,68 @@ "source": [ "# here is the question; type over this to ask something new\n", "\n", + "# question = \"\"\"\n", + "# Please explain what this code does and why:\n", + "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "# \"\"\"\n", + "\n", "question = \"\"\"\n", - "Please explain what this code does and why:\n", - "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", - "\"\"\"" + "How good at Software Development is Elijah Rwothoromo? \\\n", + "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", + "He also has a LinkedIn profile https://www.linkedin.com/in/rwothoromoelaijah/. \\\n", + "What can we learn from him?\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e14fd3a1-0aca-4794-a0e0-57458e111fc9", + "metadata": {}, + "outputs": [], + "source": [ + "# Process URLs in the question to improve the prompt\n", + "\n", + "# Extract all URLs from the question string using regular expressions\n", + "urls = re.findall(r'https?://[^\\s)]+', question)\n", + "\n", + "# Fetch the content for each URL using the Website class\n", + "scraped_content = []\n", + "for url in urls:\n", + " print(f\"Scraping: {url}\")\n", + " try:\n", + " site = Website(url)\n", + " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\" # delimiter ---\n", + " scraped_content.append(content)\n", + " except Exception as e:\n", + " print(f\"Could not scrape {url}: {e}\")\n", + " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", + "\n", + "# Combine all the scraped text into one string\n", + "all_scraped_text = \"\\n\".join(scraped_content)\n", + "\n", + "# Update the question with the scraped content\n", + "augmented_question = f\"\"\"\n", + "Based on the following information, please answer the user's original question.\n", + "\n", + "--- TEXT FROM WEBSITES ---\n", + "{all_scraped_text}\n", + "--- END TEXT FROM WEBSITES ---\n", + "\n", + "--- ORIGINAL QUESTION ---\n", + "{question}\n", + "\"\"\"\n", + "\n", + "# system prompt to be more accurate for AI to just analyze the provided text.\n", + "system_prompt = \"You are an expert assistant. \\\n", + "Analyze the user's question and the provided text from relevant websites to synthesize a comprehensive answer in markdown format.\\\n", + "Provides a short summary, ignoring text that might be navigation-related.\"\n", + "\n", + "# Create the messages list with the new augmented prompt\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": augmented_question},\n", + "]\n" ] }, { @@ -66,7 +150,25 @@ "metadata": {}, "outputs": [], "source": [ - "# Get gpt-4o-mini to answer, with streaming" + "# Get gpt-4o-mini to answer, with streaming\n", + "\n", + "def get_gpt_response(question):\n", + " # return response.choices[0].message.content\n", + "\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n", + "\n", + "get_gpt_response(question)" ] }, { @@ -76,8 +178,25 @@ "metadata": {}, "outputs": [], "source": [ - "# Get Llama 3.2 to answer" + "# Get Llama 3.2 to answer\n", + "def get_llama_response(question):\n", + " response = ollama.chat(\n", + " model=MODEL_LLAMA,\n", + " messages=messages,\n", + " stream=False # just get the results, don't stream them\n", + " )\n", + " return response['message']['content']\n", + "\n", + "display(Markdown(get_llama_response(question)))" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa1e9987-7b6d-49c1-9a81-b1a92aceea72", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -96,7 +215,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.7" } }, "nbformat": 4, From df046d178030398799bcecf7335a44867a17c825 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:22:27 +0300 Subject: [PATCH 054/176] Added my contributions to community-contributions --- week1/week1 EXERCISE.ipynb | 77 ++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/week1/week1 EXERCISE.ipynb b/week1/week1 EXERCISE.ipynb index 2f79587..2cbd323 100644 --- a/week1/week1 EXERCISE.ipynb +++ b/week1/week1 EXERCISE.ipynb @@ -19,9 +19,8 @@ "outputs": [], "source": [ "# imports\n", - "import os, re, requests, json, ollama\n", - "from typing import List\n", - "from dotenv import load_dotenv\n", + "\n", + "import re, requests, ollama\n", "from bs4 import BeautifulSoup\n", "from IPython.display import Markdown, display, update_display\n", "from openai import OpenAI" @@ -84,6 +83,12 @@ "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", "# \"\"\"\n", "\n", + "# question = \"\"\"\n", + "# Please explain what this code does and why:\n", + "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "# Popular dev site https://projecteuler.net/\n", + "# \"\"\"\n", + "\n", "question = \"\"\"\n", "How good at Software Development is Elijah Rwothoromo? \\\n", "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", @@ -103,43 +108,50 @@ "\n", "# Extract all URLs from the question string using regular expressions\n", "urls = re.findall(r'https?://[^\\s)]+', question)\n", + "# print(urls)\n", "\n", - "# Fetch the content for each URL using the Website class\n", - "scraped_content = []\n", - "for url in urls:\n", - " print(f\"Scraping: {url}\")\n", - " try:\n", - " site = Website(url)\n", - " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\" # delimiter ---\n", - " scraped_content.append(content)\n", - " except Exception as e:\n", - " print(f\"Could not scrape {url}: {e}\")\n", - " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", + "if len(urls) > 0:\n", + " \n", + " # Fetch the content for each URL using the Website class\n", + " scraped_content = []\n", + " for url in urls:\n", + " print(f\"Scraping: {url}\")\n", + " try:\n", + " site = Website(url)\n", + " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\" # delimiter ---\n", + " scraped_content.append(content)\n", + " except Exception as e:\n", + " print(f\"Could not scrape {url}: {e}\")\n", + " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", + " \n", + " # Combine all the scraped text into one string\n", + " all_scraped_text = \"\\n\".join(scraped_content)\n", + " \n", + " # Update the question with the scraped content\n", + " updated_question = f\"\"\"\n", + " Based on the following information, please answer the user's original question.\n", + " \n", + " --- TEXT FROM WEBSITES ---\n", + " {all_scraped_text}\n", + " --- END TEXT FROM WEBSITES ---\n", + " \n", + " --- ORIGINAL QUESTION ---\n", + " {question}\n", + " \"\"\"\n", + "else:\n", + " updated_question = question\n", "\n", - "# Combine all the scraped text into one string\n", - "all_scraped_text = \"\\n\".join(scraped_content)\n", - "\n", - "# Update the question with the scraped content\n", - "augmented_question = f\"\"\"\n", - "Based on the following information, please answer the user's original question.\n", - "\n", - "--- TEXT FROM WEBSITES ---\n", - "{all_scraped_text}\n", - "--- END TEXT FROM WEBSITES ---\n", - "\n", - "--- ORIGINAL QUESTION ---\n", - "{question}\n", - "\"\"\"\n", + "# print(updated_question)\n", "\n", "# system prompt to be more accurate for AI to just analyze the provided text.\n", "system_prompt = \"You are an expert assistant. \\\n", "Analyze the user's question and the provided text from relevant websites to synthesize a comprehensive answer in markdown format.\\\n", - "Provides a short summary, ignoring text that might be navigation-related.\"\n", + "Provide a short summary, ignoring text that might be navigation-related.\"\n", "\n", - "# Create the messages list with the new augmented prompt\n", + "# Create the messages list with the newly updated prompt\n", "messages = [\n", " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": augmented_question},\n", + " {\"role\": \"user\", \"content\": updated_question},\n", "]\n" ] }, @@ -153,8 +165,6 @@ "# Get gpt-4o-mini to answer, with streaming\n", "\n", "def get_gpt_response(question):\n", - " # return response.choices[0].message.content\n", - "\n", " stream = openai.chat.completions.create(\n", " model=MODEL_GPT,\n", " messages=messages,\n", @@ -179,6 +189,7 @@ "outputs": [], "source": [ "# Get Llama 3.2 to answer\n", + "\n", "def get_llama_response(question):\n", " response = ollama.chat(\n", " model=MODEL_LLAMA,\n", From a9572a9557a725aec282a5d078b8254d5404d9df Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:33:35 +0300 Subject: [PATCH 055/176] Undo changes in default files --- week1/Guide to Jupyter.ipynb | 155 ++++++---------------------- week1/troubleshooting.ipynb | 189 +++-------------------------------- week1/week1 EXERCISE.ipynb | 1 + 3 files changed, 44 insertions(+), 301 deletions(-) diff --git a/week1/Guide to Jupyter.ipynb b/week1/Guide to Jupyter.ipynb index 0de6a9f..ebcc9f0 100644 --- a/week1/Guide to Jupyter.ipynb +++ b/week1/Guide to Jupyter.ipynb @@ -32,21 +32,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "33d37cd8-55c9-4e03-868c-34aa9cab2c80", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Click anywhere in this cell and press Shift + Return\n", "\n", @@ -65,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "585eb9c1-85ee-4c27-8dc2-b4d8d022eda0", "metadata": {}, "outputs": [], @@ -77,21 +66,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "07792faa-761d-46cb-b9b7-2bbf70bb1628", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'bananas'" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# The result of the last statement is shown after you run it\n", "\n", @@ -100,18 +78,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "a067d2b1-53d5-4aeb-8a3c-574d39ff654a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "My favorite fruit is bananas\n" - ] - } - ], + "outputs": [], "source": [ "# Use the variable\n", "\n", @@ -120,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "4c5a4e60-b7f4-4953-9e80-6d84ba4664ad", "metadata": {}, "outputs": [], @@ -146,18 +116,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "8e5ec81d-7c5b-4025-bd2e-468d67b581b6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "My favorite fruit is anything but bananas\n" - ] - } - ], + "outputs": [], "source": [ "# Then run this cell twice, and see if you understand what's going on\n", "\n", @@ -182,18 +144,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "ce258424-40c3-49a7-9462-e6fa25014b03", + "execution_count": null, + "id": "84b1e410-5eda-4e2c-97ce-4eebcff816c5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "My favorite fruit is apples\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"My favorite fruit is {favorite_fruit}\")" ] @@ -211,12 +165,10 @@ { "cell_type": "code", "execution_count": null, - "id": "84b1e410-5eda-4e2c-97ce-4eebcff816c5", + "id": "ce258424-40c3-49a7-9462-e6fa25014b03", "metadata": {}, "outputs": [], - "source": [ - "print(f\"My favorite fruit is {favorite_fruit} - ok\")" - ] + "source": [] }, { "cell_type": "markdown", @@ -269,25 +221,10 @@ "Click in the cell and press the Bin icon if you want to remove it." ] }, - { - "cell_type": "markdown", - "id": "b3b2d1ff-5d2c-47a9-9c1b-90a0cfb89dd9", - "metadata": {}, - "source": [ - "# This is a heading\n", - "## This is a sub-head\n", - "### And a sub-sub-head\n", - "\n", - "I like Jupyter Lab because it's\n", - "- Easy\n", - "- Flexible\n", - "- Satisfying" - ] - }, { "cell_type": "code", "execution_count": null, - "id": "a365b651-3a34-40ed-8def-df1e6a484b43", + "id": "e1586320-c90f-4f22-8b39-df6865484950", "metadata": {}, "outputs": [], "source": [] @@ -308,21 +245,10 @@ }, { "cell_type": "code", - "execution_count": 1, - "id": "b1b303d9-ce47-4cee-85e9-6416abca7d21", + "execution_count": null, + "id": "82042fc5-a907-4381-a4b8-eb9386df19cd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Guide to Jupyter.ipynb day2 EXERCISE.ipynb troubleshooting.ipynb\n", - "Intermediate Python.ipynb day5.ipynb week1 EXERCISE.ipynb\n", - "\u001b[34mcommunity-contributions\u001b[m\u001b[m diagnostics.py\n", - "day1.ipynb \u001b[34msolutions\u001b[m\u001b[m\n" - ] - } - ], + "outputs": [], "source": [ "# list the current directory\n", "\n", @@ -332,13 +258,13 @@ { "cell_type": "code", "execution_count": null, - "id": "18685382-3768-4e00-817b-cc69dd1fb531", + "id": "4fc3e3da-8a55-40cc-9706-48bf12a0e20e", "metadata": {}, "outputs": [], "source": [ - "# ping a website\n", + "# ping cnn.com - press the stop button in the toolbar when you're bored\n", "\n", - "!ping google.com" + "!ping cnn.com" ] }, { @@ -369,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "2646a4e5-3c23-4aee-a34d-d623815187d2", "metadata": {}, "outputs": [], @@ -387,18 +313,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "6e96be3d-fa82-42a3-a8aa-b81dd20563a5", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ| 1000/1000 [00:11<00:00, 86.00it/s]\n" - ] - } - ], + "outputs": [], "source": [ "# And now, with a nice little progress bar:\n", "\n", @@ -413,27 +331,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "63c788dd-4618-4bb4-a5ce-204411a38ade", "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "# This is a big heading!\n", - "\n", - "- And this is a bullet-point\n", - "- So is this\n", - "- Me, too!" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# On a different topic, here's a useful way to print output in markdown\n", "\n", @@ -471,7 +372,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.11.11" } }, "nbformat": 4, diff --git a/week1/troubleshooting.ipynb b/week1/troubleshooting.ipynb index d8cdf8f..23eca6f 100644 --- a/week1/troubleshooting.ipynb +++ b/week1/troubleshooting.ipynb @@ -40,18 +40,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "d296f9b6-8de4-44db-b5f5-9b653dfd3d81", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Connected to the internet and can reach Google\n" - ] - } - ], + "outputs": [], "source": [ "import urllib.request\n", "\n", @@ -109,20 +101,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "7c8c0bb3-0e94-466e-8d1a-4dfbaa014cbe", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Virtualenv is active:\n", - "Environment Path: /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms\n", - "Environment Name: llms\n" - ] - } - ], + "outputs": [], "source": [ "# Some quick checks that your Conda environment or VirtualEnv is as expected\n", "# The Environment Name should be: llms\n", @@ -182,22 +164,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "6c78b7d9-1eea-412d-8751-3de20c0f6e2f", "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'openai'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[8], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# This import should work if your environment is active and dependencies are installed!\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mopenai\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m OpenAI\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'openai'" - ] - } - ], + "outputs": [], "source": [ "# This import should work if your environment is active and dependencies are installed!\n", "\n", @@ -231,19 +201,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "caa4837e-b970-4f89-aa9a-8aa793c754fd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ".env file found.\n", - "SUCCESS! OPENAI_API_KEY found and it has the right prefix\n" - ] - } - ], + "outputs": [], "source": [ "from pathlib import Path\n", "\n", @@ -293,18 +254,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "ab9ea6ef-49ee-4899-a1c7-75a8bd9ac36b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "There is already a .env file - if you want me to create a new one, change the variable overwrite_if_already_exists to True above\n" - ] - } - ], + "outputs": [], "source": [ "# Only run this code in this cell if you want to have a .env file created for you!\n", "\n", @@ -418,22 +371,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "cccb58e7-6626-4033-9dc1-e7e3ff742f6b", "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'openai'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[9], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mopenai\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m OpenAI\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mdotenv\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m load_dotenv\n\u001b[1;32m 3\u001b[0m load_dotenv(override\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'openai'" - ] - } - ], + "outputs": [], "source": [ "from openai import OpenAI\n", "from dotenv import load_dotenv\n", @@ -522,110 +463,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "248204f0-7bad-482a-b715-fb06a3553916", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Starting diagnostics at 2025-08-02 23:16:47\n", - "\n", - "===== System Information =====\n", - "Operating System: Darwin\n", - "MacOS Version: 10.16\n", - "Architecture: ('64bit', 'Mach-O')\n", - "Machine: x86_64\n", - "Processor: i386\n", - "Total RAM: 16.00 GB\n", - "Available RAM: 6.04 GB\n", - "Free Disk Space: 315.94 GB\n", - "\n", - "===== File System Information =====\n", - "Current Directory: /Users/elijahsmac/Desktop/code/llm/llm_engineering/week1\n", - "Write permission: OK\n", - "\n", - "Files in Current Directory:\n", - " - .ipynb_checkpoints\n", - " - Guide to Jupyter.ipynb\n", - " - Intermediate Python.ipynb\n", - " - __pycache__\n", - " - community-contributions\n", - " - day1.ipynb\n", - " - day2 EXERCISE.ipynb\n", - " - day5.ipynb\n", - " - diagnostics.py\n", - " - report.txt\n", - " - solutions\n", - " - troubleshooting.ipynb\n", - " - week1 EXERCISE.ipynb\n", - "\n", - "===== Git Repository Information =====\n", - "Git Repository Root: /Users/elijahsmac/Desktop/code/llm/llm_engineering\n", - "Current Commit: 3a042500d7db3c0e8cde89f836a60e6cd7ab9ba1\n", - "Remote Origin: git@github.com:ed-donner/llm_engineering.git\n", - "\n", - "===== Environment File Check =====\n", - ".env file exists at: /Users/elijahsmac/Desktop/code/llm/llm_engineering/.env\n", - "OPENAI_API_KEY found in .env file\n", - "\n", - "===== Anaconda Environment Check =====\n", - "No active Anaconda environment detected\n", - "\n", - "===== Virtualenv Check =====\n", - "Virtualenv is active:\n", - "Environment Path: /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms\n", - "Environment Name: llms\n", - "\n", - "Python Environment:\n", - "Python Version: 3.13.5 | packaged by Anaconda, Inc. | (main, Jun 12 2025, 11:09:21) [Clang 14.0.6 ]\n", - "Python Executable: /Users/elijahsmac/anaconda3/bin/python\n", - "\n", - "Required Package Versions:\n", - "ERROR: Required package 'openai' is not installed\n", - "python-dotenv: 1.1.0\n", - "requests: 2.32.3\n", - "ERROR: Required package 'gradio' is not installed\n", - "ERROR: Required package 'transformers' is not installed\n", - "\n", - "===== Network Connectivity Check =====\n", - "SSL Version: OpenSSL 3.0.16 11 Feb 2025\n", - "ERROR: Required packages are not installed. Please install them using 'pip install requests speedtest-cli'\n", - "\n", - "===== Environment Variables Check =====\n", - "\n", - "PYTHONPATH is not set.\n", - "\n", - "Python sys.path:\n", - " - /Users/elijahsmac/anaconda3/lib/python313.zip\n", - " - /Users/elijahsmac/anaconda3/lib/python3.13\n", - " - /Users/elijahsmac/anaconda3/lib/python3.13/lib-dynload\n", - " - \n", - " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages\n", - " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages/aeosa\n", - " - /Users/elijahsmac/anaconda3/lib/python3.13/site-packages/setuptools/_vendor\n", - "OPENAI_API_KEY is set after calling load_dotenv()\n", - "\n", - "===== Additional Diagnostics =====\n", - "Temp directory is writable: /var/folders/_1/d6xg9lvd4lb714ry78xpc10w0000gn/T\n", - "\n", - "===== Errors Found =====\n", - "The following critical issues were detected. Please address them before proceeding:\n", - "- Required package 'openai' is not installed\n", - "- Required package 'gradio' is not installed\n", - "- Required package 'transformers' is not installed\n", - "- Required packages are not installed. Please install them using 'pip install requests speedtest-cli'\n", - "\n", - "\n", - "Completed diagnostics at 2025-08-02 23:16:47\n", - "\n", - "\n", - "Please send these diagnostics to me at ed@edwarddonner.com\n", - "Either copy & paste the above output into an email, or attach the file report.txt that has been created in this directory.\n" - ] - } - ], + "outputs": [], "source": [ "# Run my diagnostics report to collect key information for debugging\n", "# Please email me the results. Either copy & paste the output, or attach the file report.txt\n", @@ -660,7 +501,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.11" } }, "nbformat": 4, diff --git a/week1/week1 EXERCISE.ipynb b/week1/week1 EXERCISE.ipynb index 2cbd323..7e80d75 100644 --- a/week1/week1 EXERCISE.ipynb +++ b/week1/week1 EXERCISE.ipynb @@ -19,6 +19,7 @@ "outputs": [], "source": [ "# imports\n", + "# Important Pull request ref: https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293\n", "\n", "import re, requests, ollama\n", "from bs4 import BeautifulSoup\n", From ae7d307063cf4679c7c9b2061cf3ce767d9a8ec9 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:44:53 +0300 Subject: [PATCH 056/176] Add changes to community folder --- .../rwothoromo/week1/day1.ipynb | 695 ++++++++++++++++++ .../rwothoromo/week1/day2 EXERCISE.ipynb | 316 ++++++++ .../rwothoromo/week1/day5.ipynb | 566 ++++++++++++++ 3 files changed, 1577 insertions(+) create mode 100644 week1/community-contributions/rwothoromo/week1/day1.ipynb create mode 100644 week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb create mode 100644 week1/community-contributions/rwothoromo/week1/day5.ipynb diff --git a/week1/community-contributions/rwothoromo/week1/day1.ipynb b/week1/community-contributions/rwothoromo/week1/day1.ipynb new file mode 100644 index 0000000..414c638 --- /dev/null +++ b/week1/community-contributions/rwothoromo/week1/day1.ipynb @@ -0,0 +1,695 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "Let's build a useful LLM solution - in a matter of minutes.\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", + "\n", + "## If you're new to Jupyter Lab\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", + "\n", + "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", + "\n", + "## If you're new to the Command Line\n", + "\n", + "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", + "\n", + "## If you'd prefer to work in IDEs\n", + "\n", + "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", + "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", + "\n", + "## If you'd like to brush up your Python\n", + "\n", + "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", + "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## For foundational technical knowledge (eg Git, APIs, debugging) \n", + "\n", + "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", + "\n", + "This covers Git and GitHub; what they are, the difference, and how to use them: \n", + "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", + "\n", + "This covers technical foundations: \n", + "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", + "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", + "\n", + "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", + "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", + "\n", + "This covers the essential techniques for figuring out errors: \n", + "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", + "\n", + "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", + "\n", + "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")\n", + "print(ed.title)\n", + "print(ed.text)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT4o have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with system and user messages:\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a904323-acd9-4c8e-9a17-70df76184590", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://rwothoromo.wordpress.com/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a66c9fe8-c26a-49dd-9bc4-9efffc638f95", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://openai.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"You are a professional assistant\"\n", + "user_prompt = \"\"\"\n", + "Review this conversation and provide a comprehensive summary. Also, suggest how much better the converation could have gone:\n", + "\n", + "Dear Dev Contact,\n", + "\n", + "I hope this message finds you well.\n", + "I would like to share that I have proficiency in front-end design tools, particularly Figma, react and Angular. At this stage, I am keenly interested in finding opportunities to apply these skills professionally.\n", + "\n", + "If you are aware of any companies, projects, or platforms seeking enterprise in front-end design, I would be grateful for any advice or recommendations you might kindly provide.\n", + "\n", + "Thank you very much for your time and consideration.\n", + "\n", + "Hello Job Seeker,\n", + "\n", + "I hope you are doing well.\n", + "\n", + "Dev Contact: The last role (3 months gig) I saw was looking for a junior PHP Developer. Does your CV include that?\n", + "\n", + "Hello Dev Contact \n", + "Thank you for your feedback.\n", + "Yes my CV has PHP as one of my skill set. Can I share it with you?\n", + "\n", + "Dev Contact: They said \"It's late. Interviews were on Monday\"\n", + "\n", + "Hello Dev Contact\n", + "\n", + "Thanks for the update. When you hear of any opportunity please let me know.\n", + "\n", + "Dev Contact: For now, check out https://refactory.academy/courses/refactory-apprenticeship/\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + "] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "\n", + "response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages\n", + ")\n", + "\n", + "# Step 4: print the result\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [ + "# To perform summaries using a model running locally\n", + "import ollama\n", + "\n", + "# OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "# HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"\n", + "\n", + "\n", + "def summarize_with_local_model(url):\n", + " website = Website(url)\n", + " messages = messages_for(website)\n", + " response = ollama.chat(\n", + " model=MODEL,\n", + " messages=messages,\n", + " stream=False # just get the results, don't stream them\n", + " )\n", + " return response['message']['content']\n", + "\n", + "display(Markdown(summarize_with_local_model(\"https://rwothoromo.wordpress.com/\")))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e76cbf31-2a82-40b8-b2e7-e2ceae7483ed", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb new file mode 100644 index 0000000..cde9d4a --- /dev/null +++ b/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb @@ -0,0 +1,316 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "markdown", + "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Just before we get to the assignment --

\n", + " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", + " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", + " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", + "metadata": {}, + "source": [ + "# HOMEWORK EXERCISE ASSIGNMENT\n", + "\n", + "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", + "\n", + "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", + "\n", + "**Benefits:**\n", + "1. No API charges - open-source\n", + "2. Data doesn't leave your box\n", + "\n", + "**Disadvantages:**\n", + "1. Significantly less power than Frontier Model\n", + "\n", + "## Recap on installation of Ollama\n", + "\n", + "Simply visit [ollama.com](https://ollama.com) and install!\n", + "\n", + "Once complete, the ollama server should already be running locally. \n", + "If you visit: \n", + "[http://localhost:11434/](http://localhost:11434/)\n", + "\n", + "You should see the message `Ollama is running`. \n", + "\n", + "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", + "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", + "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", + "\n", + "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False # just get the results, don't stream them\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's just make sure the model is loaded\n", + "\n", + "!ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", + "metadata": {}, + "outputs": [], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", + "metadata": {}, + "source": [ + "# Introducing the ollama package\n", + "\n", + "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", + "\n", + "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", + "metadata": {}, + "source": [ + "## Are you confused about why that works?\n", + "\n", + "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", + "\n", + "Here's the scoop:\n", + "\n", + "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", + "\n", + "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", + "\n", + "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", + "\n", + "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", + "\n", + "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", + "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", + "\n", + "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", + "\n", + "That's it!\n", + "\n", + "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", + "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." + ] + }, + { + "cell_type": "markdown", + "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", + "metadata": {}, + "source": [ + "## Also trying the amazing reasoning model DeepSeek\n", + "\n", + "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", + "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", + "\n", + "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull deepseek-r1:1.5b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d3d554b-e00d-4c08-9300-45e073950a76", + "metadata": {}, + "outputs": [], + "source": [ + "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=\"deepseek-r1:1.5b\",\n", + " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/community-contributions/rwothoromo/week1/day5.ipynb b/week1/community-contributions/rwothoromo/week1/day5.ipynb new file mode 100644 index 0000000..39142ef --- /dev/null +++ b/week1/community-contributions/rwothoromo/week1/day5.ipynb @@ -0,0 +1,566 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a98030af-fcd1-4d63-a36e-38ba053498fa", + "metadata": {}, + "source": [ + "# A full business solution\n", + "\n", + "## Now we will take our project from Day 1 to the next level\n", + "\n", + "### BUSINESS CHALLENGE:\n", + "\n", + "Create a product that builds a Brochure for a company to be used for prospective clients, investors and potential recruits.\n", + "\n", + "We will be provided a company name and their primary website.\n", + "\n", + "See the end of this notebook for examples of real-world business applications.\n", + "\n", + "And remember: I'm always available if you have problems or ideas! Please do reach out." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5b08506-dc8b-4443-9201-5f1848161363", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "# If these fail, please check you're running from an 'activated' environment with (llms) in the command prompt\n", + "\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc5d8880-f2ee-4c06-af16-ecbc0262af61", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and constants\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "106dd65e-90af-4ca8-86b6-23a41840645b", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e30d8128-933b-44cc-81c8-ab4c9d86589a", + "metadata": {}, + "outputs": [], + "source": [ + "ed = Website(\"https://edwarddonner.com\")\n", + "ed.links" + ] + }, + { + "cell_type": "markdown", + "id": "1771af9c-717a-4fca-bbbe-8a95893312c3", + "metadata": {}, + "source": [ + "## First step: Have GPT-4o-mini figure out which links are relevant\n", + "\n", + "### Use a call to gpt-4o-mini to read the links on a webpage, and respond in structured JSON. \n", + "It should decide which links are relevant, and replace relative links such as \"/about\" with \"https://company.com/about\". \n", + "We will use \"one shot prompting\" in which we provide an example of how it should respond in the prompt.\n", + "\n", + "This is an excellent use case for an LLM, because it requires nuanced understanding. Imagine trying to code this without LLMs by parsing and analyzing the webpage - it would be very hard!\n", + "\n", + "Sidenote: there is a more advanced technique called \"Structured Outputs\" in which we require the model to respond according to a spec. We cover this technique in Week 8 during our autonomous Agentic AI project." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6957b079-0d96-45f7-a26a-3487510e9b35", + "metadata": {}, + "outputs": [], + "source": [ + "link_system_prompt = \"You are provided with a list of links found on a webpage. \\\n", + "You are able to decide which of the links would be most relevant to include in a brochure about the company, \\\n", + "such as links to an About page, or a Company page, or Careers/Jobs pages.\\n\"\n", + "link_system_prompt += \"You should respond in JSON as in this example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"about page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", + " ]\n", + "}\n", + "\"\"\"\n", + "link_system_prompt += \"And this example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"for-you page\", \"url\": \"https://full.url/goes/here/services\"},\n", + " {\"type\": \"speak-to-a-human page\", \"url\": \"https://another.full.url/contact-us\"}\n", + " ]\n", + "}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b97e4068-97ed-4120-beae-c42105e4d59a", + "metadata": {}, + "outputs": [], + "source": [ + "print(link_system_prompt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e1f601b-2eaf-499d-b6b8-c99050c9d6b3", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links_user_prompt(website):\n", + " user_prompt = f\"Here is the list of links on the website of {website.url} - \"\n", + " user_prompt += \"please decide which of these are relevant web links for a brochure about the company, respond with the full https URL in JSON format. \\\n", + "Do not include Terms of Service, Privacy, email links.\\n\"\n", + " user_prompt += \"Links (some might be relative links):\\n\"\n", + " user_prompt += \"\\n\".join(website.links)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bcbfa78-6395-4685-b92c-22d592050fd7", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_links_user_prompt(ed))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a29aca19-ca13-471c-a4b4-5abbfa813f69", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": link_system_prompt},\n", + " {\"role\": \"user\", \"content\": get_links_user_prompt(website)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74a827a0-2782-4ae5-b210-4a242a8b4cc2", + "metadata": {}, + "outputs": [], + "source": [ + "# Anthropic has made their site harder to scrape, so I'm using HuggingFace..\n", + "\n", + "# anthropic = Website(\"https://anthropic.com\")\n", + "# anthropic.links\n", + "# get_links(\"https://anthropic.com\")\n", + "huggingface = Website(\"https://huggingface.co\")\n", + "huggingface.links" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3d583e2-dcc4-40cc-9b28-1e8dbf402924", + "metadata": {}, + "outputs": [], + "source": [ + "get_links(\"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "0d74128e-dfb6-47ec-9549-288b621c838c", + "metadata": {}, + "source": [ + "## Second step: make the brochure!\n", + "\n", + "Assemble all the details into another prompt to GPT4-o" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85a5b6e2-e7ef-44a9-bc7f-59ede71037b5", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_details(url):\n", + " result = \"Landing page:\\n\"\n", + " result += Website(url).get_contents()\n", + " links = get_links(url)\n", + " print(\"Found links:\", links)\n", + " for link in links[\"links\"]:\n", + " result += f\"\\n\\n{link['type']}\\n\"\n", + " result += Website(link[\"url\"]).get_contents()\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5099bd14-076d-4745-baf3-dac08d8e5ab2", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_all_details(\"https://huggingface.co\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b863a55-f86c-4e3f-8a79-94e24c1a8cf2", + "metadata": {}, + "outputs": [], + "source": [ + "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "# and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "# Include details of company culture, customers and careers/jobs if you have the information.\"\n", + "\n", + "# Or uncomment the lines below for a more humorous brochure - this demonstrates how easy it is to incorporate 'tone':\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ab83d92-d36b-4ce0-8bcc-5bb4c2f8ff23", + "metadata": {}, + "outputs": [], + "source": [ + "def get_brochure_user_prompt(company_name, url):\n", + " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", + " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", + " user_prompt += f\"Keep the details brief or concise, factoring in that they would be printed on a simple hand-out flyer.\\n\"\n", + " user_prompt += get_all_details(url)\n", + " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd909e0b-1312-4ce2-a553-821e795d7572", + "metadata": {}, + "outputs": [], + "source": [ + "get_brochure_user_prompt(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e44de579-4a1a-4e6a-a510-20ea3e4b8d46", + "metadata": {}, + "outputs": [], + "source": [ + "def create_brochure(company_name, url):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " # display(Markdown(result))\n", + " # print(result)\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0029e063-0c07-4712-82d9-536ec3579e80", + "metadata": {}, + "outputs": [], + "source": [ + "def translate_brochure(brochure, language):\n", + " system_prompt_for_language = \"You're an expert in \" + language + \". Translate the brochure!\"\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt_for_language},\n", + " {\"role\": \"user\", \"content\": brochure}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e093444a-9407-42ae-924a-145730591a39", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8371bf5-c4c0-4e52-9a2a-066d994b0510", + "metadata": {}, + "outputs": [], + "source": [ + "brochure = create_brochure(\"Paint and Sip Uganda\", \"https://paintandsipuganda.com/\")\n", + "# translate_brochure(brochure, \"Spanish\")\n", + "translate_brochure(brochure, \"Swahili\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34e03db6-61d0-4fc5-bf66-4f679b9befde", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure(\"Wabeh\", \"https://wabeh.com/\")" + ] + }, + { + "cell_type": "markdown", + "id": "61eaaab7-0b47-4b29-82d4-75d474ad8d18", + "metadata": {}, + "source": [ + "## Finally - a minor improvement\n", + "\n", + "With a small adjustment, we can change this so that the results stream back from OpenAI,\n", + "with the familiar typewriter animation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51db0e49-f261-4137-aabe-92dd601f7725", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_brochure(company_name, url):\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56bf0ae3-ee9d-4a72-9cd6-edcac67ceb6d", + "metadata": {}, + "outputs": [], + "source": [ + "stream_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdb3f8d8-a3eb-41c8-b1aa-9f60686a653b", + "metadata": {}, + "outputs": [], + "source": [ + "# Try changing the system prompt to the humorous version when you make the Brochure for Hugging Face:\n", + "\n", + "stream_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "a27bf9e0-665f-4645-b66b-9725e2a959b5", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise we extended the Day 1 code to make multiple LLM calls, and generate a document.\n", + "\n", + "This is perhaps the first example of Agentic AI design patterns, as we combined multiple calls to LLMs. This will feature more in Week 2, and then we will return to Agentic AI in a big way in Week 8 when we build a fully autonomous Agent solution.\n", + "\n", + "Generating content in this way is one of the very most common Use Cases. As with summarization, this can be applied to any business vertical. Write marketing content, generate a product tutorial from a spec, create personalized email content, and so much more. Explore how you can apply content generation to your business, and try making yourself a proof-of-concept prototype. See what other students have done in the community-contributions folder -- so many valuable projects -- it's wild!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "14b2454b-8ef8-4b5c-b928-053a15e0d553", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you move to Week 2 (which is tons of fun)

\n", + " Please see the week1 EXERCISE notebook for your challenge for the end of week 1. This will give you some essential practice working with Frontier APIs, and prepare you well for Week 2.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "17b64f0f-7d33-4493-985a-033d06e8db08", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

A reminder on 3 useful resources

\n", + " 1. The resources for the course are available here.
\n", + " 2. I'm on LinkedIn here and I love connecting with people taking the course!
\n", + " 3. I'm trying out X/Twitter and I'm at @edwarddonner and hoping people will teach me how it's done.. \n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6f48e42e-fa7a-495f-a5d4-26bfc24d60b6", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Finally! I have a special request for you

\n", + " \n", + " My editor tells me that it makes a MASSIVE difference when students rate this course on Udemy - it's one of the main ways that Udemy decides whether to show it to others. If you're able to take a minute to rate this, I'd be so very grateful! And regardless - always please reach out to me at ed@edwarddonner.com if I can help at any point.\n", + " \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8d3e1a1-ba54-4907-97c5-30f89a24775b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c577b8675713ff5a89f60d88f32880496d124963 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:47:40 +0300 Subject: [PATCH 057/176] remove redundant changes --- .../rwothoromo/week1/week1 EXERCISE.ipynb | 235 ++++++++++++++++++ week1/day1.ipynb | 94 +------ week1/day5.ipynb | 71 +----- week1/week1 EXERCISE.ipynb | 147 +---------- 4 files changed, 257 insertions(+), 290 deletions(-) create mode 100644 week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb diff --git a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb new file mode 100644 index 0000000..7e80d75 --- /dev/null +++ b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb @@ -0,0 +1,235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "# Important Pull request ref: https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293\n", + "\n", + "import re, requests, ollama\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + "\n", + "openai = OpenAI()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "# question = \"\"\"\n", + "# Please explain what this code does and why:\n", + "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "# \"\"\"\n", + "\n", + "# question = \"\"\"\n", + "# Please explain what this code does and why:\n", + "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "# Popular dev site https://projecteuler.net/\n", + "# \"\"\"\n", + "\n", + "question = \"\"\"\n", + "How good at Software Development is Elijah Rwothoromo? \\\n", + "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", + "He also has a LinkedIn profile https://www.linkedin.com/in/rwothoromoelaijah/. \\\n", + "What can we learn from him?\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e14fd3a1-0aca-4794-a0e0-57458e111fc9", + "metadata": {}, + "outputs": [], + "source": [ + "# Process URLs in the question to improve the prompt\n", + "\n", + "# Extract all URLs from the question string using regular expressions\n", + "urls = re.findall(r'https?://[^\\s)]+', question)\n", + "# print(urls)\n", + "\n", + "if len(urls) > 0:\n", + " \n", + " # Fetch the content for each URL using the Website class\n", + " scraped_content = []\n", + " for url in urls:\n", + " print(f\"Scraping: {url}\")\n", + " try:\n", + " site = Website(url)\n", + " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\" # delimiter ---\n", + " scraped_content.append(content)\n", + " except Exception as e:\n", + " print(f\"Could not scrape {url}: {e}\")\n", + " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", + " \n", + " # Combine all the scraped text into one string\n", + " all_scraped_text = \"\\n\".join(scraped_content)\n", + " \n", + " # Update the question with the scraped content\n", + " updated_question = f\"\"\"\n", + " Based on the following information, please answer the user's original question.\n", + " \n", + " --- TEXT FROM WEBSITES ---\n", + " {all_scraped_text}\n", + " --- END TEXT FROM WEBSITES ---\n", + " \n", + " --- ORIGINAL QUESTION ---\n", + " {question}\n", + " \"\"\"\n", + "else:\n", + " updated_question = question\n", + "\n", + "# print(updated_question)\n", + "\n", + "# system prompt to be more accurate for AI to just analyze the provided text.\n", + "system_prompt = \"You are an expert assistant. \\\n", + "Analyze the user's question and the provided text from relevant websites to synthesize a comprehensive answer in markdown format.\\\n", + "Provide a short summary, ignoring text that might be navigation-related.\"\n", + "\n", + "# Create the messages list with the newly updated prompt\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": updated_question},\n", + "]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "\n", + "def get_gpt_response(question):\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n", + "\n", + "get_gpt_response(question)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "\n", + "def get_llama_response(question):\n", + " response = ollama.chat(\n", + " model=MODEL_LLAMA,\n", + " messages=messages,\n", + " stream=False # just get the results, don't stream them\n", + " )\n", + " return response['message']['content']\n", + "\n", + "display(Markdown(get_llama_response(question)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa1e9987-7b6d-49c1-9a81-b1a92aceea72", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/day1.ipynb b/week1/day1.ipynb index 414c638..f492110 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -497,26 +497,6 @@ "display_summary(\"https://anthropic.com\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a904323-acd9-4c8e-9a17-70df76184590", - "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://rwothoromo.wordpress.com/\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a66c9fe8-c26a-49dd-9bc4-9efffc638f95", - "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://openai.com\")" - ] - }, { "cell_type": "markdown", "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", @@ -558,55 +538,23 @@ "source": [ "# Step 1: Create your prompts\n", "\n", - "system_prompt = \"You are a professional assistant\"\n", + "system_prompt = \"something here\"\n", "user_prompt = \"\"\"\n", - "Review this conversation and provide a comprehensive summary. Also, suggest how much better the converation could have gone:\n", - "\n", - "Dear Dev Contact,\n", - "\n", - "I hope this message finds you well.\n", - "I would like to share that I have proficiency in front-end design tools, particularly Figma, react and Angular. At this stage, I am keenly interested in finding opportunities to apply these skills professionally.\n", - "\n", - "If you are aware of any companies, projects, or platforms seeking enterprise in front-end design, I would be grateful for any advice or recommendations you might kindly provide.\n", - "\n", - "Thank you very much for your time and consideration.\n", - "\n", - "Hello Job Seeker,\n", - "\n", - "I hope you are doing well.\n", - "\n", - "Dev Contact: The last role (3 months gig) I saw was looking for a junior PHP Developer. Does your CV include that?\n", - "\n", - "Hello Dev Contact \n", - "Thank you for your feedback.\n", - "Yes my CV has PHP as one of my skill set. Can I share it with you?\n", - "\n", - "Dev Contact: They said \"It's late. Interviews were on Monday\"\n", - "\n", - "Hello Dev Contact\n", - "\n", - "Thanks for the update. When you hear of any opportunity please let me know.\n", - "\n", - "Dev Contact: For now, check out https://refactory.academy/courses/refactory-apprenticeship/\n", + " Lots of text\n", + " Can be pasted here\n", "\"\"\"\n", "\n", "# Step 2: Make the messages list\n", "\n", - "messages = [\n", - " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": user_prompt},\n", - "] # fill this in\n", + "messages = [] # fill this in\n", "\n", "# Step 3: Call OpenAI\n", "\n", - "response = openai.chat.completions.create(\n", - " model = \"gpt-4o-mini\",\n", - " messages = messages\n", - ")\n", + "response =\n", "\n", "# Step 4: print the result\n", "\n", - "print(response.choices[0].message.content)" + "print(" ] }, { @@ -640,34 +588,6 @@ "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", "metadata": {}, "outputs": [], - "source": [ - "# To perform summaries using a model running locally\n", - "import ollama\n", - "\n", - "# OLLAMA_API = \"http://localhost:11434/api/chat\"\n", - "# HEADERS = {\"Content-Type\": \"application/json\"}\n", - "MODEL = \"llama3.2\"\n", - "\n", - "\n", - "def summarize_with_local_model(url):\n", - " website = Website(url)\n", - " messages = messages_for(website)\n", - " response = ollama.chat(\n", - " model=MODEL,\n", - " messages=messages,\n", - " stream=False # just get the results, don't stream them\n", - " )\n", - " return response['message']['content']\n", - "\n", - "display(Markdown(summarize_with_local_model(\"https://rwothoromo.wordpress.com/\")))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e76cbf31-2a82-40b8-b2e7-e2ceae7483ed", - "metadata": {}, - "outputs": [], "source": [] } ], @@ -687,7 +607,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.12" } }, "nbformat": 4, diff --git a/week1/day5.ipynb b/week1/day5.ipynb index 39142ef..5249ce8 100644 --- a/week1/day5.ipynb +++ b/week1/day5.ipynb @@ -144,15 +144,6 @@ " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", " ]\n", "}\n", - "\"\"\"\n", - "link_system_prompt += \"And this example:\"\n", - "link_system_prompt += \"\"\"\n", - "{\n", - " \"links\": [\n", - " {\"type\": \"for-you page\", \"url\": \"https://full.url/goes/here/services\"},\n", - " {\"type\": \"speak-to-a-human page\", \"url\": \"https://another.full.url/contact-us\"}\n", - " ]\n", - "}\n", "\"\"\"" ] }, @@ -222,9 +213,6 @@ "source": [ "# Anthropic has made their site harder to scrape, so I'm using HuggingFace..\n", "\n", - "# anthropic = Website(\"https://anthropic.com\")\n", - "# anthropic.links\n", - "# get_links(\"https://anthropic.com\")\n", "huggingface = Website(\"https://huggingface.co\")\n", "huggingface.links" ] @@ -284,15 +272,15 @@ "metadata": {}, "outputs": [], "source": [ - "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", - "# and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", - "# Include details of company culture, customers and careers/jobs if you have the information.\"\n", + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"\n", "\n", "# Or uncomment the lines below for a more humorous brochure - this demonstrates how easy it is to incorporate 'tone':\n", "\n", - "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", - "and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", - "Include details of company culture, customers and careers/jobs if you have the information.\"\n" + "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "# and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "# Include details of company culture, customers and careers/jobs if you have the information.\"\n" ] }, { @@ -305,7 +293,6 @@ "def get_brochure_user_prompt(company_name, url):\n", " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", - " user_prompt += f\"Keep the details brief or concise, factoring in that they would be printed on a simple hand-out flyer.\\n\"\n", " user_prompt += get_all_details(url)\n", " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", " return user_prompt" @@ -337,28 +324,6 @@ " ],\n", " )\n", " result = response.choices[0].message.content\n", - " # display(Markdown(result))\n", - " # print(result)\n", - " return result" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0029e063-0c07-4712-82d9-536ec3579e80", - "metadata": {}, - "outputs": [], - "source": [ - "def translate_brochure(brochure, language):\n", - " system_prompt_for_language = \"You're an expert in \" + language + \". Translate the brochure!\"\n", - " response = openai.chat.completions.create(\n", - " model=MODEL,\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": system_prompt_for_language},\n", - " {\"role\": \"user\", \"content\": brochure}\n", - " ],\n", - " )\n", - " result = response.choices[0].message.content\n", " display(Markdown(result))" ] }, @@ -372,28 +337,6 @@ "create_brochure(\"HuggingFace\", \"https://huggingface.co\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8371bf5-c4c0-4e52-9a2a-066d994b0510", - "metadata": {}, - "outputs": [], - "source": [ - "brochure = create_brochure(\"Paint and Sip Uganda\", \"https://paintandsipuganda.com/\")\n", - "# translate_brochure(brochure, \"Spanish\")\n", - "translate_brochure(brochure, \"Swahili\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34e03db6-61d0-4fc5-bf66-4f679b9befde", - "metadata": {}, - "outputs": [], - "source": [ - "create_brochure(\"Wabeh\", \"https://wabeh.com/\")" - ] - }, { "cell_type": "markdown", "id": "61eaaab7-0b47-4b29-82d4-75d474ad8d18", @@ -558,7 +501,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.13" } }, "nbformat": 4, diff --git a/week1/week1 EXERCISE.ipynb b/week1/week1 EXERCISE.ipynb index 7e80d75..f3486fe 100644 --- a/week1/week1 EXERCISE.ipynb +++ b/week1/week1 EXERCISE.ipynb @@ -18,13 +18,7 @@ "metadata": {}, "outputs": [], "source": [ - "# imports\n", - "# Important Pull request ref: https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293\n", - "\n", - "import re, requests, ollama\n", - "from bs4 import BeautifulSoup\n", - "from IPython.display import Markdown, display, update_display\n", - "from openai import OpenAI" + "# imports" ] }, { @@ -47,27 +41,7 @@ "metadata": {}, "outputs": [], "source": [ - "# set up environment\n", - "\n", - "headers = {\n", - " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", - "}\n", - "\n", - "class Website:\n", - "\n", - " def __init__(self, url):\n", - " \"\"\"\n", - " Create this Website object from the given url using the BeautifulSoup library\n", - " \"\"\"\n", - " self.url = url\n", - " response = requests.get(url, headers=headers)\n", - " soup = BeautifulSoup(response.content, 'html.parser')\n", - " self.title = soup.title.string if soup.title else \"No title found\"\n", - " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", - " irrelevant.decompose()\n", - " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", - "\n", - "openai = OpenAI()\n" + "# set up environment" ] }, { @@ -79,81 +53,10 @@ "source": [ "# here is the question; type over this to ask something new\n", "\n", - "# question = \"\"\"\n", - "# Please explain what this code does and why:\n", - "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", - "# \"\"\"\n", - "\n", - "# question = \"\"\"\n", - "# Please explain what this code does and why:\n", - "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", - "# Popular dev site https://projecteuler.net/\n", - "# \"\"\"\n", - "\n", "question = \"\"\"\n", - "How good at Software Development is Elijah Rwothoromo? \\\n", - "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", - "He also has a LinkedIn profile https://www.linkedin.com/in/rwothoromoelaijah/. \\\n", - "What can we learn from him?\n", - "\"\"\"\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e14fd3a1-0aca-4794-a0e0-57458e111fc9", - "metadata": {}, - "outputs": [], - "source": [ - "# Process URLs in the question to improve the prompt\n", - "\n", - "# Extract all URLs from the question string using regular expressions\n", - "urls = re.findall(r'https?://[^\\s)]+', question)\n", - "# print(urls)\n", - "\n", - "if len(urls) > 0:\n", - " \n", - " # Fetch the content for each URL using the Website class\n", - " scraped_content = []\n", - " for url in urls:\n", - " print(f\"Scraping: {url}\")\n", - " try:\n", - " site = Website(url)\n", - " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\" # delimiter ---\n", - " scraped_content.append(content)\n", - " except Exception as e:\n", - " print(f\"Could not scrape {url}: {e}\")\n", - " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", - " \n", - " # Combine all the scraped text into one string\n", - " all_scraped_text = \"\\n\".join(scraped_content)\n", - " \n", - " # Update the question with the scraped content\n", - " updated_question = f\"\"\"\n", - " Based on the following information, please answer the user's original question.\n", - " \n", - " --- TEXT FROM WEBSITES ---\n", - " {all_scraped_text}\n", - " --- END TEXT FROM WEBSITES ---\n", - " \n", - " --- ORIGINAL QUESTION ---\n", - " {question}\n", - " \"\"\"\n", - "else:\n", - " updated_question = question\n", - "\n", - "# print(updated_question)\n", - "\n", - "# system prompt to be more accurate for AI to just analyze the provided text.\n", - "system_prompt = \"You are an expert assistant. \\\n", - "Analyze the user's question and the provided text from relevant websites to synthesize a comprehensive answer in markdown format.\\\n", - "Provide a short summary, ignoring text that might be navigation-related.\"\n", - "\n", - "# Create the messages list with the newly updated prompt\n", - "messages = [\n", - " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": updated_question},\n", - "]\n" + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" ] }, { @@ -163,23 +66,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Get gpt-4o-mini to answer, with streaming\n", - "\n", - "def get_gpt_response(question):\n", - " stream = openai.chat.completions.create(\n", - " model=MODEL_GPT,\n", - " messages=messages,\n", - " stream=True\n", - " )\n", - " \n", - " response = \"\"\n", - " display_handle = display(Markdown(\"\"), display_id=True)\n", - " for chunk in stream:\n", - " response += chunk.choices[0].delta.content or ''\n", - " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", - " update_display(Markdown(response), display_id=display_handle.display_id)\n", - "\n", - "get_gpt_response(question)" + "# Get gpt-4o-mini to answer, with streaming" ] }, { @@ -189,26 +76,8 @@ "metadata": {}, "outputs": [], "source": [ - "# Get Llama 3.2 to answer\n", - "\n", - "def get_llama_response(question):\n", - " response = ollama.chat(\n", - " model=MODEL_LLAMA,\n", - " messages=messages,\n", - " stream=False # just get the results, don't stream them\n", - " )\n", - " return response['message']['content']\n", - "\n", - "display(Markdown(get_llama_response(question)))" + "# Get Llama 3.2 to answer" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fa1e9987-7b6d-49c1-9a81-b1a92aceea72", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -227,7 +96,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.11" } }, "nbformat": 4, From fb4b1bf31be0b092fbbbab794b1669ae28200bef Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:49:41 +0300 Subject: [PATCH 058/176] Remove more redundancies --- week1/day1.ipynb | 2 +- week1/day2 EXERCISE.ipynb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/week1/day1.ipynb b/week1/day1.ipynb index f492110..28c951f 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -607,7 +607,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index cde9d4a..89a383f 100644 --- a/week1/day2 EXERCISE.ipynb +++ b/week1/day2 EXERCISE.ipynb @@ -118,7 +118,7 @@ "payload = {\n", " \"model\": MODEL,\n", " \"messages\": messages,\n", - " \"stream\": False # just get the results, don't stream them\n", + " \"stream\": False\n", " }" ] }, @@ -308,7 +308,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.12" } }, "nbformat": 4, From 3c41597113e4509737b7bcaf384846c876e3d1e4 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 21:53:16 +0300 Subject: [PATCH 059/176] More redundancies removed --- .../01_webpage_summarizer.ipynb | 80 +++---------------- week1/day1.ipynb | 2 +- 2 files changed, 13 insertions(+), 69 deletions(-) diff --git a/week1/community-contributions/01_webpage_summarizer.ipynb b/week1/community-contributions/01_webpage_summarizer.ipynb index 8126396..f8be204 100644 --- a/week1/community-contributions/01_webpage_summarizer.ipynb +++ b/week1/community-contributions/01_webpage_summarizer.ipynb @@ -42,65 +42,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ebf2fa36", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting selenium\n", - " Downloading selenium-4.34.2-py3-none-any.whl.metadata (7.5 kB)\n", - "Collecting webdriver-manager\n", - " Downloading webdriver_manager-4.0.2-py2.py3-none-any.whl.metadata (12 kB)\n", - "Requirement already satisfied: urllib3~=2.5.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from urllib3[socks]~=2.5.0->selenium) (2.5.0)\n", - "Collecting trio~=0.30.0 (from selenium)\n", - " Downloading trio-0.30.0-py3-none-any.whl.metadata (8.5 kB)\n", - "Collecting trio-websocket~=0.12.2 (from selenium)\n", - " Downloading trio_websocket-0.12.2-py3-none-any.whl.metadata (5.1 kB)\n", - "Requirement already satisfied: certifi>=2025.6.15 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (2025.7.14)\n", - "Requirement already satisfied: typing_extensions~=4.14.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (4.14.1)\n", - "Requirement already satisfied: websocket-client~=1.8.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from selenium) (1.8.0)\n", - "Requirement already satisfied: attrs>=23.2.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (25.3.0)\n", - "Collecting sortedcontainers (from trio~=0.30.0->selenium)\n", - " Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl.metadata (10 kB)\n", - "Requirement already satisfied: idna in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (3.10)\n", - "Collecting outcome (from trio~=0.30.0->selenium)\n", - " Downloading outcome-1.3.0.post0-py2.py3-none-any.whl.metadata (2.6 kB)\n", - "Requirement already satisfied: sniffio>=1.3.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from trio~=0.30.0->selenium) (1.3.1)\n", - "Collecting wsproto>=0.14 (from trio-websocket~=0.12.2->selenium)\n", - " Downloading wsproto-1.2.0-py3-none-any.whl.metadata (5.6 kB)\n", - "Collecting pysocks!=1.5.7,<2.0,>=1.5.6 (from urllib3[socks]~=2.5.0->selenium)\n", - " Downloading PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)\n", - "Requirement already satisfied: requests in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (2.32.4)\n", - "Requirement already satisfied: python-dotenv in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (1.1.1)\n", - "Requirement already satisfied: packaging in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from webdriver-manager) (25.0)\n", - "Requirement already satisfied: h11<1,>=0.9.0 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from wsproto>=0.14->trio-websocket~=0.12.2->selenium) (0.16.0)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/elijahsmac/Desktop/code/llm/llm_engineering/llms/lib/python3.11/site-packages (from requests->webdriver-manager) (3.4.2)\n", - "Downloading selenium-4.34.2-py3-none-any.whl (9.4 MB)\n", - "\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.4/9.4 MB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0mm \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", - "\u001b[?25hDownloading trio-0.30.0-py3-none-any.whl (499 kB)\n", - "Downloading trio_websocket-0.12.2-py3-none-any.whl (21 kB)\n", - "Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)\n", - "Downloading webdriver_manager-4.0.2-py2.py3-none-any.whl (27 kB)\n", - "Downloading outcome-1.3.0.post0-py2.py3-none-any.whl (10 kB)\n", - "Downloading wsproto-1.2.0-py3-none-any.whl (24 kB)\n", - "Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)\n", - "Installing collected packages: sortedcontainers, wsproto, pysocks, outcome, webdriver-manager, trio, trio-websocket, selenium\n", - "\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8/8\u001b[0m [selenium]━━\u001b[0m \u001b[32m7/8\u001b[0m [selenium]-manager]\n", - "\u001b[1A\u001b[2KSuccessfully installed outcome-1.3.0.post0 pysocks-1.7.1 selenium-4.34.2 sortedcontainers-2.4.0 trio-0.30.0 trio-websocket-0.12.2 webdriver-manager-4.0.2 wsproto-1.2.0\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], + "outputs": [], "source": [ "%pip install selenium webdriver-manager" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "1dcf1d9d-c540-4900-b14e-ad36a28fc822", "metadata": {}, "outputs": [], @@ -140,18 +92,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "8598c299-05ca-492e-b085-6bcc2f7dda0d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "āœ… API key loaded successfully!\n" - ] - } - ], + "outputs": [], "source": [ "load_dotenv(override=True)\n", "api_key = os.getenv('OPENAI_API_KEY')\n", @@ -165,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "8098defb", "metadata": {}, "outputs": [], @@ -184,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "c6fe5114", "metadata": {}, "outputs": [], @@ -289,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "02e3a673-a8a1-4101-a441-3816f7ab9e4d", "metadata": {}, "outputs": [], @@ -301,7 +245,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "86bb80f9-9e7c-4825-985f-9b83fe50839f", "metadata": {}, "outputs": [], @@ -315,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "89998b18-77aa-4aaf-a137-f0d078d61f75", "metadata": {}, "outputs": [], @@ -391,7 +335,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": ".venv", "language": "python", "name": "python3" }, @@ -405,7 +349,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.12.9" } }, "nbformat": 4, diff --git a/week1/day1.ipynb b/week1/day1.ipynb index 28c951f..f492110 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -607,7 +607,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.12" } }, "nbformat": 4, From 32683da2c891f45a231f4412641edc70e8a605fc Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 22:02:16 +0300 Subject: [PATCH 060/176] Clean up ipynb files --- .../rwothoromo/week1/day1.ipynb | 517 ++++++------------ .../rwothoromo/week1/day5.ipynb | 89 --- .../rwothoromo/week1/week1 EXERCISE.ipynb | 9 - 3 files changed, 157 insertions(+), 458 deletions(-) diff --git a/week1/community-contributions/rwothoromo/week1/day1.ipynb b/week1/community-contributions/rwothoromo/week1/day1.ipynb index 414c638..37302de 100644 --- a/week1/community-contributions/rwothoromo/week1/day1.ipynb +++ b/week1/community-contributions/rwothoromo/week1/day1.ipynb @@ -5,107 +5,9 @@ "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", "metadata": {}, "source": [ - "# YOUR FIRST LAB\n", - "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "# How-To\n", "\n", - "## Your first Frontier LLM Project\n", - "\n", - "Let's build a useful LLM solution - in a matter of minutes.\n", - "\n", - "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", - "\n", - "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", - "\n", - "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", - "\n", - "## If you're new to Jupyter Lab\n", - "\n", - "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", - "\n", - "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", - "\n", - "## If you're new to the Command Line\n", - "\n", - "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", - "\n", - "## If you'd prefer to work in IDEs\n", - "\n", - "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", - "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", - "\n", - "## If you'd like to brush up your Python\n", - "\n", - "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", - "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", - "\n", - "## I am here to help\n", - "\n", - "If you have any problems at all, please do reach out. \n", - "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", - "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", - "\n", - "## More troubleshooting\n", - "\n", - "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", - "\n", - "## For foundational technical knowledge (eg Git, APIs, debugging) \n", - "\n", - "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", - "\n", - "This covers Git and GitHub; what they are, the difference, and how to use them: \n", - "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", - "\n", - "This covers technical foundations: \n", - "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", - "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", - "\n", - "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", - "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", - "\n", - "This covers the essential techniques for figuring out errors: \n", - "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", - "\n", - "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", - "\n", - "## If this is old hat!\n", - "\n", - "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Please read - important note

\n", - " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

This code is a live resource - keep an eye out for my emails

\n", - " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", - " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", - "
\n", - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Business value of these exercises

\n", - " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", - "
" + "Press `Shift` + `Return` to run a Cell.\n" ] }, { @@ -117,73 +19,24 @@ "source": [ "# imports\n", "\n", - "import os\n", - "import requests\n", + "import os, requests, time\n", "from dotenv import load_dotenv\n", "from bs4 import BeautifulSoup\n", "from IPython.display import Markdown, display\n", "from openai import OpenAI\n", "\n", - "# If you get an error running this cell, then please head over to the troubleshooting notebook!" - ] - }, - { - "cell_type": "markdown", - "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", - "metadata": {}, - "source": [ - "# Connecting to OpenAI (or Ollama)\n", - "\n", - "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", - "\n", - "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", - "\n", - "## Troubleshooting if you have problems:\n", - "\n", - "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", - "\n", - "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", - "\n", - "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", - "\n", - "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", - "metadata": {}, - "outputs": [], - "source": [ "# Load environment variables in a file called .env\n", - "\n", "load_dotenv(override=True)\n", "api_key = os.getenv('OPENAI_API_KEY')\n", "\n", "# Check the key\n", - "\n", "if not api_key:\n", - " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", - "elif not api_key.startswith(\"sk-proj-\"):\n", - " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", - "elif api_key.strip() != api_key:\n", - " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + " print(\"No API key was found\")\n", "else:\n", - " print(\"API key found and looks good so far!\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", - "metadata": {}, - "outputs": [], - "source": [ - "openai = OpenAI()\n", + " print(\"API key found and looks good so far!\")\n", "\n", - "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", - "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + "# Instantiate an OpenAI object\n", + "openai = OpenAI()" ] }, { @@ -191,7 +44,7 @@ "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", "metadata": {}, "source": [ - "# Let's make a quick call to a Frontier model to get started, as a preview!" + "# Make a test call to a Frontier model (Open AI) to get started:" ] }, { @@ -201,9 +54,7 @@ "metadata": {}, "outputs": [], "source": [ - "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", - "\n", - "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "message = \"Hello, GPT! Holla back to this space probe!\"\n", "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", "print(response.choices[0].message.content)" ] @@ -213,7 +64,7 @@ "id": "2aa190e5-cb31-456a-96cc-db109919cd78", "metadata": {}, "source": [ - "## OK onwards with our first project" + "## Summarization project" ] }, { @@ -223,14 +74,14 @@ "metadata": {}, "outputs": [], "source": [ - "# A class to represent a Webpage\n", - "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", - "\n", - "# Some websites need you to use proper headers when fetching them:\n", + "# Some websites need proper headers when fetching them:\n", "headers = {\n", " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", "}\n", "\n", + "\"\"\"\n", + "A class to represent a Webpage\n", + "\"\"\"\n", "class Website:\n", "\n", " def __init__(self, url):\n", @@ -253,29 +104,9 @@ "metadata": {}, "outputs": [], "source": [ - "# Let's try one out. Change the website and add print statements to follow along.\n", - "\n", - "ed = Website(\"https://edwarddonner.com\")\n", - "print(ed.title)\n", - "print(ed.text)" - ] - }, - { - "cell_type": "markdown", - "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", - "metadata": {}, - "source": [ - "## Types of prompts\n", - "\n", - "You may know this already - but if not, you will get very familiar with it!\n", - "\n", - "Models like GPT4o have been trained to receive instructions in a particular way.\n", - "\n", - "They expect to receive:\n", - "\n", - "**A system prompt** that tells them what task they are performing and what tone they should use\n", - "\n", - "**A user prompt** -- the conversation starter that they should reply to" + "# Summarize website content\n", + "website = Website(\"https://rwothoromo.wordpress.com/\")\n", + "# print(eli.title, \"\\n\", eli.text)" ] }, { @@ -285,10 +116,11 @@ "metadata": {}, "outputs": [], "source": [ - "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "# A system prompt tells a model like GPT4o what task they are performing and what tone they should use\n", + "# A user prompt is the conversation starter that they should reply to\n", "\n", - "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", - "and provides a short summary, ignoring text that might be navigation related. \\\n", + "system_prompt = \"You are an assistant that analyzes the contents of a given website, \\\n", + "and returns a brief summary, ignoring text that might be navigation-related. \\\n", "Respond in markdown.\"" ] }, @@ -317,26 +149,7 @@ "metadata": {}, "outputs": [], "source": [ - "print(user_prompt_for(ed))" - ] - }, - { - "cell_type": "markdown", - "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", - "metadata": {}, - "source": [ - "## Messages\n", - "\n", - "The API from OpenAI expects to receive messages in a particular structure.\n", - "Many of the other APIs share this structure:\n", - "\n", - "```python\n", - "[\n", - " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", - " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", - "]\n", - "```\n", - "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + "print(user_prompt_for(website))" ] }, { @@ -346,33 +159,15 @@ "metadata": {}, "outputs": [], "source": [ + "# The API from OpenAI expects to receive messages in a particular structure. Many of the other APIs share this structure:\n", "messages = [\n", - " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", - " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", - "metadata": {}, - "outputs": [], - "source": [ - "# To give you a preview -- calling OpenAI with system and user messages:\n", - "\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"}, # system message\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, # user message\n", + "]\n", "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", "print(response.choices[0].message.content)" ] }, - { - "cell_type": "markdown", - "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", - "metadata": {}, - "source": [ - "## And now let's build useful messages for GPT-4o-mini, using a function" - ] - }, { "cell_type": "code", "execution_count": null, @@ -380,33 +175,15 @@ "metadata": {}, "outputs": [], "source": [ - "# See how this function creates exactly the format above\n", + "# To build useful messages for GPT-4o-mini\n", "\n", "def messages_for(website):\n", " return [\n", " {\"role\": \"system\", \"content\": system_prompt},\n", " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", - " ]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", - "metadata": {}, - "outputs": [], - "source": [ - "# Try this out, and then try for a few more websites\n", + " ]\n", "\n", - "messages_for(ed)" - ] - }, - { - "cell_type": "markdown", - "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", - "metadata": {}, - "source": [ - "## Time to bring it together - the API for OpenAI is very simple!" + "messages_for(website)" ] }, { @@ -416,10 +193,12 @@ "metadata": {}, "outputs": [], "source": [ - "# And now: call the OpenAI API. You will get very familiar with this!\n", + "# Call the OpenAI API.\n", "\n", - "def summarize(url):\n", - " website = Website(url)\n", + "url = \"https://rwothoromo.wordpress.com/\"\n", + "website = Website(url)\n", + "\n", + "def summarize(website):\n", " response = openai.chat.completions.create(\n", " model = \"gpt-4o-mini\",\n", " messages = messages_for(website)\n", @@ -434,7 +213,7 @@ "metadata": {}, "outputs": [], "source": [ - "summarize(\"https://edwarddonner.com\")" + "summarize(website)" ] }, { @@ -446,8 +225,8 @@ "source": [ "# A function to display this nicely in the Jupyter output, using markdown\n", "\n", - "def display_summary(url):\n", - " summary = summarize(url)\n", + "summary = summarize(website)\n", + "def display_summary(summary):\n", " display(Markdown(summary))" ] }, @@ -458,43 +237,10 @@ "metadata": {}, "outputs": [], "source": [ - "display_summary(\"https://edwarddonner.com\")" - ] - }, - { - "cell_type": "markdown", - "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", - "metadata": {}, - "source": [ - "# Let's try more websites\n", - "\n", - "Note that this will only work on websites that can be scraped using this simplistic approach.\n", - "\n", - "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", - "\n", - "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", - "\n", - "But many websites will work just fine!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45d83403-a24c-44b5-84ac-961449b4008f", - "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://cnn.com\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75e9fd40-b354-4341-991e-863ef2e59db7", - "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://anthropic.com\")" + "display_summary(summary)\n", + "# display_summary(summarize(Website(\"https://edwarddonner.com\")))\n", + "# display_summary(summarize(Website(\"https://cnn.com\")))\n", + "# display_summary(summarize(Website(\"https://anthropic.com\")))" ] }, { @@ -504,49 +250,127 @@ "metadata": {}, "outputs": [], "source": [ - "display_summary(\"https://rwothoromo.wordpress.com/\")" + "# Websites protected with CloudFront (and similar) or with JavaScript need a Selenium or Playwright implementation. They return 403\n", + "\n", + "# display_summary(summarize(Website(\"https://openai.com\")))" ] }, { "cell_type": "code", "execution_count": null, - "id": "a66c9fe8-c26a-49dd-9bc4-9efffc638f95", + "id": "139ad985", "metadata": {}, "outputs": [], "source": [ - "display_summary(\"https://openai.com\")" + "# To generate the above summary, use selenium\n", + "\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.service import Service\n", + "from selenium.webdriver.common.by import By\n", + "from selenium.webdriver.support.ui import WebDriverWait\n", + "from selenium.webdriver.support import expected_conditions as EC\n", + "\n", + "class WebsiteSelenium:\n", + " def __init__(self, url):\n", + " self.url = url\n", + " self.title = \"No title found\"\n", + " self.text = \"\"\n", + "\n", + " # Configure Chrome options (headless mode is recommended for server environments)\n", + " chrome_options = webdriver.ChromeOptions()\n", + " chrome_options.add_argument(\"--headless\") # Run Chrome in headless mode (without a UI)\n", + " chrome_options.add_argument(\"--no-sandbox\") # Required for running as root in some environments\n", + " chrome_options.add_argument(\"--disable-dev-shm-usage\") # Overcomes limited resource problems\n", + "\n", + " # Path to your WebDriver executable (e.g., chromedriver)\n", + " # Make sure to replace this with the actual path to your chromedriver\n", + " # You might need to download it from: https://chromedriver.chromium.org/downloads and place it in a drivers dir\n", + " service = Service('./drivers/chromedriver-mac-x64/chromedriver')\n", + "\n", + " driver = None\n", + " try:\n", + " driver = webdriver.Chrome(service=service, options=chrome_options)\n", + " driver.get(url)\n", + "\n", + " # Wait for the page to load and dynamic content to render\n", + " # You might need to adjust the wait condition based on the website\n", + " WebDriverWait(driver, 10).until(\n", + " EC.presence_of_element_located((By.TAG_NAME, \"body\"))\n", + " )\n", + " time.sleep(3) # Give more time for JavaScript to execute\n", + "\n", + " # Get the page source after dynamic content has loaded\n", + " soup = BeautifulSoup(driver.page_source, 'html.parser')\n", + "\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + "\n", + " except Exception as e:\n", + " print(f\"Error accessing {url} with Selenium: {e}\")\n", + " finally:\n", + " if driver:\n", + " driver.quit() # Always close the browser\n", + "\n", + "display_summary(summarize(WebsiteSelenium(\"https://openai.com\")))" ] }, { - "cell_type": "markdown", - "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "cell_type": "code", + "execution_count": null, + "id": "130d4572", "metadata": {}, + "outputs": [], "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Business applications

\n", - " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "import asyncio\n", + "from playwright.async_api import async_playwright\n", + "import nest_asyncio\n", "\n", - "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", - "
\n", + "# Apply nest_asyncio to allow asyncio.run in Jupyter\n", + "nest_asyncio.apply()\n", "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Before you continue - now try yourself

\n", - " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", - "
" + "class WebsitePlaywright:\n", + " def __init__(self, url):\n", + " self.url = url\n", + " self.title = \"No title found\"\n", + " self.text = \"\"\n", + " asyncio.run(self._fetch_content())\n", + "\n", + " async def _fetch_content(self):\n", + " async with async_playwright() as p:\n", + " browser = None\n", + " try:\n", + " browser = await p.chromium.launch(headless=True)\n", + " page = await browser.new_page()\n", + "\n", + " # Increase timeout for navigation and other operations\n", + " await page.goto(self.url, timeout=60000) # Wait up to 60 seconds for navigation\n", + " print(f\"Accessing {self.url} with Playwright - goto()\")\n", + "\n", + " # You might need to adjust or add more specific waits\n", + " await page.wait_for_load_state('domcontentloaded', timeout=60000) # Wait for basic HTML\n", + " # await page.wait_for_load_state('networkidle', timeout=60000) # Wait for network activity to settle\n", + " await page.wait_for_selector('div.duration-short', timeout=60000) # instead of networkidle\n", + " await page.wait_for_selector('body', timeout=60000) # Wait for the body to be present\n", + " await asyncio.sleep(5) # Give a bit more time for final rendering\n", + "\n", + " content = await page.content()\n", + " soup = BeautifulSoup(content, 'html.parser')\n", + "\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " print(f\"Accessed {self.url} with Playwright\")\n", + "\n", + " except Exception as e:\n", + " print(f\"Error accessing {self.url} with Playwright: {e}\")\n", + " finally:\n", + " if browser:\n", + " await browser.close()\n", + "\n", + "display_summary(summarize(WebsitePlaywright(\"https://openai.com/\")))" ] }, { @@ -558,11 +382,10 @@ "source": [ "# Step 1: Create your prompts\n", "\n", - "system_prompt = \"You are a professional assistant\"\n", + "system_prompt = \"You are a professional assistant. Review this conversation and provide a comprehensive summary. Also, suggest how much better the converation could have gone:\"\n", "user_prompt = \"\"\"\n", - "Review this conversation and provide a comprehensive summary. Also, suggest how much better the converation could have gone:\n", "\n", - "Dear Dev Contact,\n", + "Dear Email Contact,\n", "\n", "I hope this message finds you well.\n", "I would like to share that I have proficiency in front-end design tools, particularly Figma, react and Angular. At this stage, I am keenly interested in finding opportunities to apply these skills professionally.\n", @@ -575,19 +398,19 @@ "\n", "I hope you are doing well.\n", "\n", - "Dev Contact: The last role (3 months gig) I saw was looking for a junior PHP Developer. Does your CV include that?\n", + "The last role (3 months gig) I saw was looking for a junior PHP Developer. Does your CV include that?\n", "\n", - "Hello Dev Contact \n", + "Hello Email Contact,\n", "Thank you for your feedback.\n", "Yes my CV has PHP as one of my skill set. Can I share it with you?\n", "\n", - "Dev Contact: They said \"It's late. Interviews were on Monday\"\n", + "Email Contact: They said \"It's late. Interviews were on Monday\"\n", "\n", - "Hello Dev Contact\n", + "Hello Email Contact\n", "\n", "Thanks for the update. When you hear of any opportunity please let me know.\n", "\n", - "Dev Contact: For now, check out https://refactory.academy/courses/refactory-apprenticeship/\n", + "Email Contact: For now, check out https://refactory.academy/courses/refactory-apprenticeship/\n", "\"\"\"\n", "\n", "# Step 2: Make the messages list\n", @@ -595,7 +418,7 @@ "messages = [\n", " {\"role\": \"system\", \"content\": system_prompt},\n", " {\"role\": \"user\", \"content\": user_prompt},\n", - "] # fill this in\n", + "]\n", "\n", "# Step 3: Call OpenAI\n", "\n", @@ -609,35 +432,10 @@ "print(response.choices[0].message.content)" ] }, - { - "cell_type": "markdown", - "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", - "metadata": {}, - "source": [ - "## An extra exercise for those who enjoy web scraping\n", - "\n", - "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" - ] - }, - { - "cell_type": "markdown", - "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", - "metadata": {}, - "source": [ - "# Sharing your code\n", - "\n", - "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", - "\n", - "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", - "\n", - "Here are good instructions courtesy of an AI friend: \n", - "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" - ] - }, { "cell_type": "code", "execution_count": null, - "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "id": "4b583226-9b13-4990-863a-86517a5ccfec", "metadata": {}, "outputs": [], "source": [ @@ -648,7 +446,6 @@ "# HEADERS = {\"Content-Type\": \"application/json\"}\n", "MODEL = \"llama3.2\"\n", "\n", - "\n", "def summarize_with_local_model(url):\n", " website = Website(url)\n", " messages = messages_for(website)\n", @@ -665,7 +462,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e76cbf31-2a82-40b8-b2e7-e2ceae7483ed", + "id": "b8e3fe00-d98b-4c0c-b32b-3f3bd17a1546", "metadata": {}, "outputs": [], "source": [] diff --git a/week1/community-contributions/rwothoromo/week1/day5.ipynb b/week1/community-contributions/rwothoromo/week1/day5.ipynb index 39142ef..4f831bd 100644 --- a/week1/community-contributions/rwothoromo/week1/day5.ipynb +++ b/week1/community-contributions/rwothoromo/week1/day5.ipynb @@ -451,95 +451,6 @@ "\n", "stream_brochure(\"HuggingFace\", \"https://huggingface.co\")" ] - }, - { - "cell_type": "markdown", - "id": "a27bf9e0-665f-4645-b66b-9725e2a959b5", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Business applications

\n", - " In this exercise we extended the Day 1 code to make multiple LLM calls, and generate a document.\n", - "\n", - "This is perhaps the first example of Agentic AI design patterns, as we combined multiple calls to LLMs. This will feature more in Week 2, and then we will return to Agentic AI in a big way in Week 8 when we build a fully autonomous Agent solution.\n", - "\n", - "Generating content in this way is one of the very most common Use Cases. As with summarization, this can be applied to any business vertical. Write marketing content, generate a product tutorial from a spec, create personalized email content, and so much more. Explore how you can apply content generation to your business, and try making yourself a proof-of-concept prototype. See what other students have done in the community-contributions folder -- so many valuable projects -- it's wild!\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "14b2454b-8ef8-4b5c-b928-053a15e0d553", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Before you move to Week 2 (which is tons of fun)

\n", - " Please see the week1 EXERCISE notebook for your challenge for the end of week 1. This will give you some essential practice working with Frontier APIs, and prepare you well for Week 2.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "17b64f0f-7d33-4493-985a-033d06e8db08", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

A reminder on 3 useful resources

\n", - " 1. The resources for the course are available here.
\n", - " 2. I'm on LinkedIn here and I love connecting with people taking the course!
\n", - " 3. I'm trying out X/Twitter and I'm at @edwarddonner and hoping people will teach me how it's done.. \n", - "
\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "6f48e42e-fa7a-495f-a5d4-26bfc24d60b6", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Finally! I have a special request for you

\n", - " \n", - " My editor tells me that it makes a MASSIVE difference when students rate this course on Udemy - it's one of the main ways that Udemy decides whether to show it to others. If you're able to take a minute to rate this, I'd be so very grateful! And regardless - always please reach out to me at ed@edwarddonner.com if I can help at any point.\n", - " \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b8d3e1a1-ba54-4907-97c5-30f89a24775b", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb index 7e80d75..fc975e5 100644 --- a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb +++ b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb @@ -19,7 +19,6 @@ "outputs": [], "source": [ "# imports\n", - "# Important Pull request ref: https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293\n", "\n", "import re, requests, ollama\n", "from bs4 import BeautifulSoup\n", @@ -201,14 +200,6 @@ "\n", "display(Markdown(get_llama_response(question)))" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fa1e9987-7b6d-49c1-9a81-b1a92aceea72", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 7c0843eea61dbcd64e0a92a247f024932054b474 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 22:07:45 +0300 Subject: [PATCH 061/176] Remove redundant day 2. its content is in day 1 --- .../rwothoromo/week1/day1.ipynb | 8 - .../rwothoromo/week1/day2 EXERCISE.ipynb | 316 ------------------ 2 files changed, 324 deletions(-) delete mode 100644 week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb diff --git a/week1/community-contributions/rwothoromo/week1/day1.ipynb b/week1/community-contributions/rwothoromo/week1/day1.ipynb index 37302de..e67c86d 100644 --- a/week1/community-contributions/rwothoromo/week1/day1.ipynb +++ b/week1/community-contributions/rwothoromo/week1/day1.ipynb @@ -458,14 +458,6 @@ "\n", "display(Markdown(summarize_with_local_model(\"https://rwothoromo.wordpress.com/\")))" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b8e3fe00-d98b-4c0c-b32b-3f3bd17a1546", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb deleted file mode 100644 index cde9d4a..0000000 --- a/week1/community-contributions/rwothoromo/week1/day2 EXERCISE.ipynb +++ /dev/null @@ -1,316 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", - "metadata": {}, - "source": [ - "# Welcome to your first assignment!\n", - "\n", - "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" - ] - }, - { - "cell_type": "markdown", - "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

Just before we get to the assignment --

\n", - " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", - " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", - " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", - "
\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", - "metadata": {}, - "source": [ - "# HOMEWORK EXERCISE ASSIGNMENT\n", - "\n", - "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", - "\n", - "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", - "\n", - "**Benefits:**\n", - "1. No API charges - open-source\n", - "2. Data doesn't leave your box\n", - "\n", - "**Disadvantages:**\n", - "1. Significantly less power than Frontier Model\n", - "\n", - "## Recap on installation of Ollama\n", - "\n", - "Simply visit [ollama.com](https://ollama.com) and install!\n", - "\n", - "Once complete, the ollama server should already be running locally. \n", - "If you visit: \n", - "[http://localhost:11434/](http://localhost:11434/)\n", - "\n", - "You should see the message `Ollama is running`. \n", - "\n", - "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", - "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", - "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", - "\n", - "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", - "metadata": {}, - "outputs": [], - "source": [ - "# imports\n", - "\n", - "import requests\n", - "from bs4 import BeautifulSoup\n", - "from IPython.display import Markdown, display" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", - "metadata": {}, - "outputs": [], - "source": [ - "# Constants\n", - "\n", - "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", - "HEADERS = {\"Content-Type\": \"application/json\"}\n", - "MODEL = \"llama3.2\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", - "metadata": {}, - "outputs": [], - "source": [ - "# Create a messages list using the same format that we used for OpenAI\n", - "\n", - "messages = [\n", - " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", - "metadata": {}, - "outputs": [], - "source": [ - "payload = {\n", - " \"model\": MODEL,\n", - " \"messages\": messages,\n", - " \"stream\": False # just get the results, don't stream them\n", - " }" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", - "metadata": {}, - "outputs": [], - "source": [ - "# Let's just make sure the model is loaded\n", - "\n", - "!ollama pull llama3.2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", - "metadata": {}, - "outputs": [], - "source": [ - "# If this doesn't work for any reason, try the 2 versions in the following cells\n", - "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", - "# And if none of that works - contact me!\n", - "\n", - "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", - "print(response.json()['message']['content'])" - ] - }, - { - "cell_type": "markdown", - "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", - "metadata": {}, - "source": [ - "# Introducing the ollama package\n", - "\n", - "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", - "\n", - "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", - "metadata": {}, - "outputs": [], - "source": [ - "import ollama\n", - "\n", - "response = ollama.chat(model=MODEL, messages=messages)\n", - "print(response['message']['content'])" - ] - }, - { - "cell_type": "markdown", - "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", - "metadata": {}, - "source": [ - "## Alternative approach - using OpenAI python library to connect to Ollama" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", - "metadata": {}, - "outputs": [], - "source": [ - "# There's actually an alternative approach that some people might prefer\n", - "# You can use the OpenAI client python library to call Ollama:\n", - "\n", - "from openai import OpenAI\n", - "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", - "\n", - "response = ollama_via_openai.chat.completions.create(\n", - " model=MODEL,\n", - " messages=messages\n", - ")\n", - "\n", - "print(response.choices[0].message.content)" - ] - }, - { - "cell_type": "markdown", - "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", - "metadata": {}, - "source": [ - "## Are you confused about why that works?\n", - "\n", - "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", - "\n", - "Here's the scoop:\n", - "\n", - "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", - "\n", - "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", - "\n", - "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", - "\n", - "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", - "\n", - "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", - "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", - "\n", - "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", - "\n", - "That's it!\n", - "\n", - "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", - "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." - ] - }, - { - "cell_type": "markdown", - "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", - "metadata": {}, - "source": [ - "## Also trying the amazing reasoning model DeepSeek\n", - "\n", - "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", - "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", - "\n", - "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", - "metadata": {}, - "outputs": [], - "source": [ - "!ollama pull deepseek-r1:1.5b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1d3d554b-e00d-4c08-9300-45e073950a76", - "metadata": {}, - "outputs": [], - "source": [ - "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", - "\n", - "response = ollama_via_openai.chat.completions.create(\n", - " model=\"deepseek-r1:1.5b\",\n", - " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", - ")\n", - "\n", - "print(response.choices[0].message.content)" - ] - }, - { - "cell_type": "markdown", - "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", - "metadata": {}, - "source": [ - "# NOW the exercise for you\n", - "\n", - "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.7" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 8f003da028670203d45e3721ae9c35699ba8663a Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 22:16:09 +0300 Subject: [PATCH 062/176] Update exercise prompts --- .../rwothoromo/week1/week1 EXERCISE.ipynb | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb index fc975e5..673c1b6 100644 --- a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb +++ b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "c1070317-3ed9-4659-abe3-828943230e03", "metadata": {}, "outputs": [], @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", "metadata": {}, "outputs": [], @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", "metadata": {}, "outputs": [], @@ -89,6 +89,12 @@ "# Popular dev site https://projecteuler.net/\n", "# \"\"\"\n", "\n", + "# question = \"\"\"\n", + "# Who is Blessed Goodteam (https://www.linkedin.com/in/blessed-goodteam-49b3ab30a)? \\\n", + "# How relevant is her work at Paint and Sip Uganda (https://paintandsipuganda.com/). \\\n", + "# What can we learn from her?\n", + "# \"\"\"\n", + "\n", "question = \"\"\"\n", "How good at Software Development is Elijah Rwothoromo? \\\n", "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", @@ -200,6 +206,14 @@ "\n", "display(Markdown(get_llama_response(question)))" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "157d5bb3-bed7-4fbd-9a5d-f2a14aaac869", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 1220bd28111765cb15ce6c3961fb1717d41492a6 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 22:21:42 +0300 Subject: [PATCH 063/176] refine files --- week1/community-contributions/rwothoromo/week1/day1.ipynb | 2 +- .../rwothoromo/week1/week1 EXERCISE.ipynb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/week1/community-contributions/rwothoromo/week1/day1.ipynb b/week1/community-contributions/rwothoromo/week1/day1.ipynb index e67c86d..d207af3 100644 --- a/week1/community-contributions/rwothoromo/week1/day1.ipynb +++ b/week1/community-contributions/rwothoromo/week1/day1.ipynb @@ -5,7 +5,7 @@ "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", "metadata": {}, "source": [ - "# How-To\n", + "# How to run a cell\n", "\n", "Press `Shift` + `Return` to run a Cell.\n" ] diff --git a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb index 673c1b6..9f230dd 100644 --- a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb +++ b/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "c1070317-3ed9-4659-abe3-828943230e03", "metadata": {}, "outputs": [], @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", "metadata": {}, "outputs": [], @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", "metadata": {}, "outputs": [], From ad0d418abbe1941ef50e9eb7697400920e2f36fc Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Tue, 5 Aug 2025 22:24:22 +0300 Subject: [PATCH 064/176] Move directory --- week1/community-contributions/rwothoromo/{week1 => }/day1.ipynb | 0 week1/community-contributions/rwothoromo/{week1 => }/day5.ipynb | 0 .../rwothoromo/{week1 => }/week1 EXERCISE.ipynb | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename week1/community-contributions/rwothoromo/{week1 => }/day1.ipynb (100%) rename week1/community-contributions/rwothoromo/{week1 => }/day5.ipynb (100%) rename week1/community-contributions/rwothoromo/{week1 => }/week1 EXERCISE.ipynb (100%) diff --git a/week1/community-contributions/rwothoromo/week1/day1.ipynb b/week1/community-contributions/rwothoromo/day1.ipynb similarity index 100% rename from week1/community-contributions/rwothoromo/week1/day1.ipynb rename to week1/community-contributions/rwothoromo/day1.ipynb diff --git a/week1/community-contributions/rwothoromo/week1/day5.ipynb b/week1/community-contributions/rwothoromo/day5.ipynb similarity index 100% rename from week1/community-contributions/rwothoromo/week1/day5.ipynb rename to week1/community-contributions/rwothoromo/day5.ipynb diff --git a/week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb similarity index 100% rename from week1/community-contributions/rwothoromo/week1/week1 EXERCISE.ipynb rename to week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb From f647cd83166fc003153ba55846295a7349b81cf3 Mon Sep 17 00:00:00 2001 From: Luiz Meier Date: Tue, 5 Aug 2025 17:32:59 -0300 Subject: [PATCH 065/176] Adding 3 bots conversation to community-contributions --- .../day1_3_way_conversation-luizmeier.ipynb | 281 ++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 week2/community-contributions/day1_3_way_conversation-luizmeier.ipynb diff --git a/week2/community-contributions/day1_3_way_conversation-luizmeier.ipynb b/week2/community-contributions/day1_3_way_conversation-luizmeier.ipynb new file mode 100644 index 0000000..3fec297 --- /dev/null +++ b/week2/community-contributions/day1_3_way_conversation-luizmeier.ipynb @@ -0,0 +1,281 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "c23224f6-7008-44ed-a57f-718975f4e291", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ae54f31-39ed-44f3-a26a-415a29faa9c7", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "946ed050-3665-4f3d-b7e9-b478c2620ba9", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "# This is the set up code for Gemini\n", + "# Having problems with Google Gemini setup? Then just ignore this cell; when we use Gemini, I'll give you an alternative that bypasses this library altogether\n", + "\n", + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b6e223fc-9572-47c0-9a33-6692fe0e9c15", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4.1-mini and Claude-3.5-haiku\n", + "# We're using cheap versions of models so the costs will be minimal\n", + "\n", + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = 'gemini-2.5-flash'\n", + "\n", + "gpt_system = \"You are a chatbot who is very argumentative; \\\n", + "you disagree with anything in the conversation and you challenge everything, in a snarky way.\"\n", + "\n", + "claude_system = \"You are a very sarcastic, courteous chatbot. You try to agree with \\\n", + "everything the other person says, but always with a little bit of sarcasm. If the other person is argumentative, \\\n", + "you try to calm them down and keep chatting and more sarcastic.\"\n", + "\n", + "gemini_system = \"You are a very non-patient bot that, in order to get everyone in a good relationship, try to make\\\n", + "the memebers of a conversation not to enter in conflict.\"\n", + "\n", + "gpt_messages = [\"Hi there\"]\n", + "claude_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hey, guys?\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2cf1fd3-4884-4e20-a254-6b00bdf0bf90", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " conversation = f\"\"\"\n", + " Alex: {gpt}\n", + " Blake: {claude}\n", + " Charlie: {gemini}\n", + " \"\"\"\n", + " messages.append({\"role\": \"user\", \"content\": f\"\"\"\n", + " You are Alex in a conversation with Blake and Charlie.\n", + " The conversation so far is as follows:\n", + " {conversation}\n", + " Now with this, respond with what you would like to say next, as Alex.\n", + " \"\"\"\n", + " })\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " #print(messages)\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9537f803-64f7-4712-bc86-fb05b2de70eb", + "metadata": {}, + "outputs": [], + "source": [ + "call_gpt()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc758c94-a2d0-4274-80c2-8ffc5c84a947", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = []\n", + " for gpt, claude_message, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " conversation = f\"\"\"\n", + " Alex: {gpt}\n", + " Blake: {claude_message}\n", + " Charlie: {gemini}\n", + " \"\"\"\n", + " messages.append({\"role\": \"user\", \"content\": f\"\"\"\n", + " You are Blake in a conversation with Alex and Charlie.\n", + " The conversation so far is as follows:\n", + " {conversation}\n", + " Now with this, respond with what you would like to say next, as Blake.\n", + " \"\"\"\n", + " })\n", + " # messages.append({\"role\": \"user\", \"content\": gpt_messages[-1]})\n", + " message = claude.messages.create(\n", + " model=claude_model,\n", + " system=claude_system,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "275b54b4-6cc3-4c85-add2-40e7cdedbc08", + "metadata": {}, + "outputs": [], + "source": [ + "call_claude()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d16b512a-7baf-48c3-8502-7f4a814e6bab", + "metadata": {}, + "outputs": [], + "source": [ + "# The API for Gemini has a slightly different structure.\n", + "# I've heard that on some PCs, this Gemini code causes the Kernel to crash.\n", + "# If that happens to you, please skip this cell and use the next cell instead - an alternative approach.\n", + "def call_gemini():\n", + " user_prompt = []\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + " \n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " conversation = f\"\"\"\n", + " Alex: {gpt}\n", + " Blake: {claude}\n", + " Charlie: {gemini}\n", + " \"\"\"\n", + " #print(conversation) \n", + " user_prompt.append(f\"\"\"\n", + " You are Charlie in a conversation with Alex and Blake.\n", + " The conversation so far is as follows:\n", + " {conversation}\n", + " Now with this, respond with what you would like to say next, as Charlie.\n", + " \"\"\")\n", + " #print(user_prompt)\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=gemini_system\n", + " )\n", + " response = gemini.generate_content(user_prompt)\n", + " return response.text\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "812041ec-6996-41cb-b1d0-c7afa63dd75f", + "metadata": {}, + "outputs": [], + "source": [ + "call_gemini()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72ae2707-4a3f-4c55-b1da-6d07b65776d5", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there\"]\n", + "claude_messages = [\"Hi\"]\n", + "gemini_messages = [\"Hey, guys?\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Claude:\\n{claude_messages[0]}\\n\")\n", + "print(f\"Gemini:\\n{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(3):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude:\\n{claude_next}\\n\")\n", + " claude_messages.append(claude_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " gemini_messages.append(gemini_next)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e573af93c3149ef03c33d7e463403d80300daa98 Mon Sep 17 00:00:00 2001 From: vaishnavipalyam Date: Wed, 6 Aug 2025 13:51:46 +0530 Subject: [PATCH 066/176] Add Vaishnavi's day5 modification for scripting a youtube video based on a BhagavadGita theme. --- week1/day5_GitaScripting.ipynb | 338 +++++++++++++++++++++++++++++++++ 1 file changed, 338 insertions(+) create mode 100644 week1/day5_GitaScripting.ipynb diff --git a/week1/day5_GitaScripting.ipynb b/week1/day5_GitaScripting.ipynb new file mode 100644 index 0000000..964b183 --- /dev/null +++ b/week1/day5_GitaScripting.ipynb @@ -0,0 +1,338 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "7759922b-12c9-44e0-8ac3-5f2a02b321d7", + "metadata": {}, + "outputs": [], + "source": [ + "import fitz # PyMuPDF\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a266273a-05e3-451e-a318-428726cfa39c", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and constants\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45566572-dd66-48dc-ab7b-6adbe26eacba", + "metadata": {}, + "outputs": [], + "source": [ + "exceptions = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "effc0e7b-d668-48b3-86d0-dbb5d8fe3d55", + "metadata": {}, + "outputs": [], + "source": [ + "# Building system prompt\n", + "def get_verse_system_prompt():\n", + " system_prompt = \"You are a spiritual student who classifies the versus of the BhagavadGita according to a given theme.\\n\"\n", + " system_prompt += \"Given a theme, you should pick a verse from any chapter and give it's location in the form of index chapter.verse_number (6.2)\\n\"\n", + " system_prompt += \"You should respond in JSON as in this example:\\n\"\n", + " system_prompt += \"\"\"\n", + " {\"title\": \"Chapter 3, Verse 21 (3.21)\", \"verse\": \"ą¤•ą¤°ą„ą¤®ą¤£ą¤¾ ą¤¹ą„ą¤Æą¤Ŗą¤æ ą¤øą¤‚ą¤øą¤æą¤¦ą„ą¤§ą¤æą¤®ą„ā€Œ\n", + " ą¤†ą¤øą„ą¤„ą¤æą¤¤ą¤¾ ą¤œą¤Øą¤•ą¤¾ą¤¦ą¤Æ:ą„¤\n", + " ą¤²ą„‹ą¤•ą¤øą¤‚ą¤—ą„ą¤°ą¤¹ą¤®ą„‡ą¤µą¤¾ą¤Ŗą¤æ\n", + " ą¤øą¤®ą„ą¤Ŗą¤¶ą„ą¤Æą¤Øą„ą¤•ą¤°ą„ą¤¤ą„ą¤®ą¤°ą„ą¤¹ą¤øą¤æą„„\"}\n", + " \"\"\"\n", + " return system_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bbfb1035-b183-4481-9b49-3cc1b12b42e8", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_verse_system_prompt())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6acdcd6c-1fc5-4c71-81d0-665e25808e46", + "metadata": {}, + "outputs": [], + "source": [ + "# Define user prompt\n", + "def get_verse_user_prompt(theme):\n", + " user_prompt = f'''\n", + " Here is the theme : {theme},\n", + " Please find a verse from BhagavadGita excluding {exceptions} for a given theme {theme}\n", + " '''#excluding those results which are already used\n", + " \n", + " user_prompt += \"If the verse is not in the exceptions for a given theme and used for a different theme, you are free to suggest it for a different theme.\"\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72f5c755-ec2d-4545-9a31-0f6b2e5ed4da", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_verse_user_prompt('motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "304d432c-7216-4a90-a5d8-db36b193657d", + "metadata": {}, + "outputs": [], + "source": [ + "#Call openAI to return versus\n", + "def get_verses(theme):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": get_verse_system_prompt()},\n", + " {\"role\": \"user\", \"content\": get_verse_user_prompt(theme)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " result = json.loads(result)\n", + "\n", + " #Remember those results which are suggested now\n", + " combination = (theme, result['title'])\n", + " exceptions.append(combination)\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b90eeb35-e10e-48ee-ade6-e0594da8c51b", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(get_verses('motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5b8925e-52e4-4cb7-9205-51c65ed88fb8", + "metadata": {}, + "outputs": [], + "source": [ + "# So far we have fetched the new verses relevant to a given theme \n", + "# Lets generate a script for producting youtube video" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ff0862b-0310-4174-ad12-64047932dc9e", + "metadata": {}, + "outputs": [], + "source": [ + "#def function for system prompt\n", + "def get_script_system_prompt(tone, theme, format):\n", + " sys_prompt = 'You are a script writer for a youtube spiritual channel\\n'\n", + " sys_prompt += 'You are given a verse like below: \\n'\n", + " sys_prompt += str(get_verses(theme))\n", + " sys_prompt += '\\n'\n", + " sys_prompt += f'Give me an engaging script in a {tone} tone for a {format} format video for audience like youth seeking purpose, spiritual seekers, indians abroad, scholars and curious minds.'\n", + "\n", + " return sys_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47476516-cd2f-4b16-b378-a70617bbe284", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_script_system_prompt('Motivating','motivation','long'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e305525b-8dde-4e93-927a-e24531827498", + "metadata": {}, + "outputs": [], + "source": [ + "# def function for user prompt\n", + "def get_script_user_prompt(format, theme):\n", + " user_prompt = f'Given the verse, help me generate a detailed script suitable for {format} format video.\\n'\n", + " user_prompt += f'Please give me the complete verse, its meaning, a relevant story having a dilemma which the verse solves and the interpretation of the verse with respect to {theme}.\\n'\n", + " user_prompt += 'Let the script give cues about video editing, host actions.'\n", + " user_prompt += 'given the below example, please follow the format:\\n'\n", + " user_prompt += \"\"\"\n", + " [Opening Scene - Soft Instrumental Music Playing]\n", + "\n", + " [Cut to Host in a serene setting, perhaps by a river or in a lush green garden.]\n", + "\n", + " Host: (Smiling at the camera) \"Namaste, dear viewers! Welcome back to our channel, where we explore the depths of spirituality and seek to ignite the flame of wisdom within you. Today, we delve into a profound verse from the Bhagavad Gita that speaks to the very essence of life and identity.\"\n", + "\n", + " [Text On Screen: Chapter 2, Verse 13 (2.13)]\n", + "\n", + " Host: (With a sense of reverence) \"Let’s first take a moment to recite this verse together. It goes like this:\n", + "\n", + " ą¤¦ą„‡ą¤¹ą¤æą¤Øą„‹ą¤½ą¤øą„ą¤®ą¤æą¤Øą„ą¤Øą„ą¤Æą¤„ą¤¾ ą¤¦ą„‡ą¤¹ą„‡ ą¤•ą„Œą¤®ą¤¾ą¤°ą¤‚ ą¤Æą„Œą¤µą¤Øą¤‚ ą¤œą¤°ą¤¾ą„¤\n", + " ą¤¤ą¤„ą¤¾ą¤¦ą„‡ą¤¹ą¤¾ą¤Øą„ą¤¤ą¤°ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ą¤æą¤°ą„ą¤§ą„€ą¤°ą¤øą„ą¤¤ą¤¤ą„ą¤° न ą¤®ą„ą¤¹ą„ą¤Æą¤¤ą¤æą„„\n", + "\n", + " Now, let’s understand the essence of this verse.\"\n", + "\n", + " [Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", + "\n", + " Host Voiceover: (Calm and engaging tone) \"The meaning of this beautiful verse translates to: 'Just as the body undergoes changes from childhood to old age, similarly, the soul transitions from one body to another. The wise, who understand this, are never bewildered by these changes.'\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Nodding, creating a connection)\n", + " \"So, why is this verse so important, especially for us as young seekers of purpose? It highlights a profound truth—that our identities are not confined by our physical forms or the stages of life we experience. Instead, we are eternal beings who are constantly evolving.\"\n", + "\n", + " [Scene Transition - Soft Music Playing]\n", + "\n", + " [Cut to a Story Animation - A young man named Arjun in a busy city]\n", + "\n", + " Host (Voiceover): \"Let me share a relatable story. Meet Arjun. Like many of us, he was once full of dreams and aspirations. He excelling in school, pursuing a career in engineering. But as the years passed, he faced a crossroads. As the pressure mounted, he began to question his identity.\n", + "\n", + " (Visuals show Arjun overwhelmed by societal expectations, with people pushing him in different directions.)\n", + "\n", + " He felt distinct phases of life pulling at him: childhood dreams, youthful ambitions, and the looming responsibilities of adulthood. The changing seasons of his life left him confused and wondering if he had lost his true self.\"\n", + "\n", + " [Cut back to Host, empathetic tone]\n", + "\n", + " Host: \"Have you ever felt like Arjun? It’s a dilemma we all face, especially in today's fast-paced world where expectations can cloud our true identity. But just like our verse suggests, we should recognize that these changes don’t define us. They are simply part of the journey.\"\n", + "\n", + " [Scene Transition - Calm Music Playing while Host meditates]\n", + "\n", + " Host: (Speaking gently) \"Let’s take a moment to reflect. When we are sad, does that sadness define us? Or when we achieve success, do we become defined solely by that success? The answer isn't as straightforward as it seems. Here’s the catch: our essence is beyond these transient states. Like the body, our identities are fluid.\"\n", + "\n", + " [Cut to Visuals of Nature - flowing rivers, trees shedding leaves, etc.]\n", + "\n", + " Host Voiceover: \"Imagine the endless cycle of nature—the changing seasons, the growth, the decay, and rebirth. Just like the leaves that drop to make way for new growth, our experiences contribute to our spiritual evolution.\"\n", + "\n", + " [Cut back to Host - Inviting and Warm Tone]\n", + "\n", + " Host: \"Just as the wise who understand the transformation of the soul remain unshaken, we, too, can cultivate that wisdom to rise above the chaos of change. Recognize your true essence—beyond the body, the roles, the titles. Understand that your spirit is eternal.\"\n", + "\n", + " [Scene Transition - Soft Inspirational Music Begins]\n", + "\n", + " Host: (Passionately) \"So how can we embody this truth in our daily lives? Here’s a small exercise: Each day, take a few moments to meditate on who you really are. Write down what aspects of your identity are tied to transient things. Challenge yourself—what happens when you peel these layers away?\"\n", + "\n", + " [Cut to host with a pad, writing ideas]\n", + "\n", + " [Scene Transition - Editing Cues - Show engaging graphics of identity, layers of a person, etc.]\n", + "\n", + " Host Voiceover: \"Each effort towards understanding and embracing our true self draws us closer to the realization that we are eternal souls, having a human experience. This is the wisdom that can empower you to stand tall against the adversities of life.\"\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Concluding) \"Thank you for joining me today in this exploration of Chapter 2, Verse 13 of the Bhagavad Gita. Remember, when you feel lost in the complexities of life, return to this teachings and remind yourself that you are not just a body; you are an eternal being on a magnificent journey.\n", + "\n", + " [Closing Scene - Uplifting Music Playing]\n", + "\n", + " Host: \"Don’t forget to like, share, and subscribe if you found resonance in this message. And share your thoughts in the comments below. What did you find most challenging in your own journey of self-identity? Let’s connect and support each other in our spiritual quests. Until next time, stay enlightened, stay inspired!\"\n", + "\n", + " [End Screen with Subscribe Button and Previous Video Suggestions]\n", + "\n", + " [End of Script]\n", + " \"\"\"\n", + " \n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4b29cb9-d8d1-413a-8152-4250e2430a42", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_script_user_prompt('long','motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1dfa60ce-9e88-4f7d-8e60-ac37a0aafc15", + "metadata": {}, + "outputs": [], + "source": [ + "def create_script(tone, theme, format):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": get_script_system_prompt(tone,theme,format)},\n", + " {\"role\": \"user\", \"content\": get_script_user_prompt(format,theme)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec86c436-42ae-4313-b12f-4fad42ab2227", + "metadata": {}, + "outputs": [], + "source": [ + "create_script('motivating','self-identity','long')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 6fb0e87d120f3bc2ef3f1b7bfced71c3110759c5 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Thu, 7 Aug 2025 20:33:30 +0300 Subject: [PATCH 067/176] week 1 exercise clean up --- .../rwothoromo/week1 EXERCISE.ipynb | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb index 9f230dd..53723b2 100644 --- a/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb +++ b/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb @@ -189,10 +189,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "**Summary:**\n", + "Elijah Rwothoromo is a software developer with expertise in various areas, as evident from his online presence. While there's limited information available about his specific skills and achievements, here are some insights that can be gleaned:\n", + "\n", + "* **Web Development:** His WordPress site showcases his proficiency in web development, which suggests he has experience with HTML, CSS, JavaScript, and possibly other frameworks or libraries.\n", + "* **Programming Languages:** The use of Flask (a Python-based microframework) on his WordPress site indicates familiarity with Python programming. However, his LinkedIn profile doesn't provide specific information about the languages he uses.\n", + "* **Software Development Frameworks:** As mentioned in his blog post, Rwothoromo has experience with both Django and Flask, two popular Python web development frameworks. This suggests he's well-versed in software development principles and has a solid understanding of framework-specific concepts.\n", + "\n", + "**Additional Insights:**\n", + "\n", + "* Elijah Rwothoromo seems to be an active contributor to the tech community, sharing his experiences through blog posts and participating in online discussions.\n", + "* His LinkedIn profile is incomplete, which might indicate that he hasn't fully optimized it for professional networking or is still building his online presence.\n", + "* While there's limited information about Rwothoromo's skills, it's clear that he has a strong foundation in web development, software development frameworks, and possibly other areas like project management (as indicated by the inclusion of tools like Visual Studio Code)." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Get Llama 3.2 to answer\n", "\n", From e09bdbb46938ecdb8faff3906338228e16124218 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Thu, 7 Aug 2025 20:36:11 +0300 Subject: [PATCH 068/176] week 1 exercise clean up --- .../rwothoromo/week1 EXERCISE.ipynb | 28 ++----------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb b/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb index 53723b2..9f230dd 100644 --- a/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb +++ b/week1/community-contributions/rwothoromo/week1 EXERCISE.ipynb @@ -189,34 +189,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "**Summary:**\n", - "Elijah Rwothoromo is a software developer with expertise in various areas, as evident from his online presence. While there's limited information available about his specific skills and achievements, here are some insights that can be gleaned:\n", - "\n", - "* **Web Development:** His WordPress site showcases his proficiency in web development, which suggests he has experience with HTML, CSS, JavaScript, and possibly other frameworks or libraries.\n", - "* **Programming Languages:** The use of Flask (a Python-based microframework) on his WordPress site indicates familiarity with Python programming. However, his LinkedIn profile doesn't provide specific information about the languages he uses.\n", - "* **Software Development Frameworks:** As mentioned in his blog post, Rwothoromo has experience with both Django and Flask, two popular Python web development frameworks. This suggests he's well-versed in software development principles and has a solid understanding of framework-specific concepts.\n", - "\n", - "**Additional Insights:**\n", - "\n", - "* Elijah Rwothoromo seems to be an active contributor to the tech community, sharing his experiences through blog posts and participating in online discussions.\n", - "* His LinkedIn profile is incomplete, which might indicate that he hasn't fully optimized it for professional networking or is still building his online presence.\n", - "* While there's limited information about Rwothoromo's skills, it's clear that he has a strong foundation in web development, software development frameworks, and possibly other areas like project management (as indicated by the inclusion of tools like Visual Studio Code)." - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Get Llama 3.2 to answer\n", "\n", From 7a337551e1560930c262d67ca366eb2a9901ec12 Mon Sep 17 00:00:00 2001 From: Paul Bitterly Date: Fri, 8 Aug 2025 02:02:26 -0400 Subject: [PATCH 069/176] day1 contribution - resume to job gap analysis --- ...day1_resume_to_job_gap_analysis_tool.ipynb | 340 ++++++++++++++++++ 1 file changed, 340 insertions(+) create mode 100644 week1/community-contributions/day1_resume_to_job_gap_analysis_tool.ipynb diff --git a/week1/community-contributions/day1_resume_to_job_gap_analysis_tool.ipynb b/week1/community-contributions/day1_resume_to_job_gap_analysis_tool.ipynb new file mode 100644 index 0000000..73ba675 --- /dev/null +++ b/week1/community-contributions/day1_resume_to_job_gap_analysis_tool.ipynb @@ -0,0 +1,340 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ddc7185d", + "metadata": {}, + "source": [ + "# Resume-to-Job Gap Analysis Tool" + ] + }, + { + "cell_type": "markdown", + "id": "fe7462c2", + "metadata": {}, + "source": [ + "### **Project Summary**\n", + "This project demonstrates the use of a Large Language Model (LLM) to perform a sophisticated analysis task with real-world business value. The tool automates the tedious process of manually comparing a candidate's resume against a job description. By providing a job description URL and a candidate's resume text, this notebook generates a detailed cover letter and \"gap analysis\" report. This report highlights which skills are matched, which are missing, and provides an overall suitability score, enabling recruiters to screen candidates more efficiently and helping applicants tailor their resumes effectively.\n", + "\n", + "### **How to Use**\n", + "1. **Set up your Environment**: Make sure you have a `.env` file in the root directory with your `OPENAI_API_KEY`.\n", + "2. **Input the Job URL**: In **Section 2**, paste the URL of a web-based job description into the `job_description_url` variable.\n", + "3. **Input the Resume**: In **Section 2**, paste the candidate's full resume text into the `resume_text` variable.\n", + "4. **Run the Notebook**: Execute the cells from top to bottom. The final cell in **Section 6** will display the formatted analysis report.\n", + "\n", + "### **A Note on Ethical Web Scraping**\n", + "This tool uses the `requests` library to fetch website content. To ensure compliance and responsible use:\n", + "* We send a standard `User-Agent` header to identify our script as a web browser, which is a common practice for preventing being blocked.\n", + "* **Always be mindful of the website's terms of service.** Automated scraping may be disallowed on some sites. This tool is intended for educational purposes and should be used on publicly accessible job postings where such activity is permitted." + ] + }, + { + "cell_type": "markdown", + "id": "1a01b5d2", + "metadata": {}, + "source": [ + "## 1. Setup:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "caca8d9a", + "metadata": {}, + "outputs": [], + "source": [ + "# Imports\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2db03e8", + "metadata": {}, + "outputs": [], + "source": [ + "# Load Environment Variables\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')" + ] + }, + { + "cell_type": "markdown", + "id": "7c702fcc", + "metadata": {}, + "source": [ + "#### Test OpenAI API Key" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5347ee38", + "metadata": {}, + "outputs": [], + "source": [ + "# Validate API key\n", + "if not api_key:\n", + " print(\"ERROR: No API key found - please add OPENAI_API_KEY to your .env file\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"WARNING: API key format may be incorrect\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"ERROR: API key has whitespace - please remove extra spaces/tabs\")\n", + "else:\n", + " print(\"SUCCESS: API key loaded successfully\")\n", + "\n", + "# Initialize OpenAI client\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "markdown", + "id": "dce21512", + "metadata": {}, + "source": [ + "## 2. Data Input" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5d90d56", + "metadata": {}, + "outputs": [], + "source": [ + "# The URL for the Y Combinator job posting you want to analyze. (ycombinator.com/companies/y-combinator/jobs//jobs)\n", + "job_url = \"https://www.ycombinator.com/companies/y-combinator/jobs/rq3DaTs-product-engineer\"\n", + "\n", + "# Replace this example resume with the actual candidate's resume text.\n", + "resume_text = \"\"\"\n", + "John Doe\n", + "123 Main Street, Anytown, USA | (123) 456-7890 | john.doe@email.com\n", + "\n", + "Summary\n", + "Software Engineer with 5 years of experience in web applications. \n", + "Proficient in Python and JavaScript with a strong background in AWS.\n", + "\n", + "Experience\n", + "Senior Software Engineer | Tech Solutions Inc. | 2021 - Present\n", + "- Led development of analytics dashboard using React and Python\n", + "- Architected microservices backend on AWS\n", + "- Mentored junior engineers\n", + "\n", + "Software Engineer | Innovate Corp. | 2018 - 2021\n", + "- Developed e-commerce platform using Python and Django\n", + "- Wrote comprehensive unit and integration tests\n", + "\n", + "Skills\n", + "Python, JavaScript, React, Flask, Django, AWS, Docker, Git\n", + "\"\"\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "a3d5e484", + "metadata": {}, + "source": [ + "## 3. Prompt Engineering" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b2b3d1b", + "metadata": {}, + "outputs": [], + "source": [ + "SYSTEM_PROMPT = \"\"\"\n", + "You are a strategic career advisor. Your task is to synthesize a candidate's resume and a job description into a compelling, two-part analysis. Your goal is to create a narrative connecting the candidate's specific accomplishments to the company's needs.\n", + "\n", + "**Formatting:** Use markdown with bolding for emphasis. Do not use placeholders like '[Job Title]'; infer the details from the text.\n", + "\n", + "---\n", + "\n", + "# Part 1: Candidate Suitability Analysis\n", + "\n", + "## Executive Summary\n", + "Provide a 2-3 sentence summary of the candidate's alignment with the role, stating your professional opinion on their potential.\n", + "\n", + "## Key Strengths & Evidence\n", + "List the top 3 strengths the candidate brings. For each strength, **quote or paraphrase evidence directly from the resume's 'Experience' section**.\n", + "* **Strength:** [Example: Scalable Backend Development] - **Evidence:** [Example: \"Architected microservices backend on AWS,\" demonstrating hands-on experience.]\n", + "\n", + "## Areas for Growth & Discussion\n", + "Identify key requirements from the job description not explicitly covered in the resume. Frame these as **strategic points to address in an interview**.\n", + "* **Topic:** [Example: TypeScript Proficiency] - **Suggested Question:** \"The role heavily uses TypeScript. Could you discuss your experience level with it and your approach to learning new languages?\"\n", + "\n", + "## Holistic Suitability Score\n", + "Provide a score (e.g., 85/100) and justify it in one sentence.\n", + "\n", + "---\n", + "\n", + "# Part 2: Dynamic Cover Letter Draft\n", + "Generate a compelling and authentic cover letter from the candidate's perspective.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "5146a406", + "metadata": {}, + "source": [ + "## 4. Webscraper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d23965d", + "metadata": {}, + "outputs": [], + "source": [ + "# Scraper Function\n", + "def scrape_ycombinator_job(url: str) -> str:\n", + " \"\"\"\n", + " Scrapes a single job posting from a ycombinator.com URL.\n", + "\n", + " Args:\n", + " url: The URL of the Y Combinator job posting.\n", + "\n", + " Returns:\n", + " The cleaned text of the job description, or an error message.\n", + " \"\"\"\n", + " print(f\"INFO: Attempting to scrape YC job posting from: {url}\")\n", + " \n", + " headers = {\n", + " 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'\n", + " }\n", + " \n", + " try:\n", + " # Fetch the page content\n", + " response = requests.get(url, headers=headers, timeout=10)\n", + " # Raise an error if the page is not found (e.g., 404)\n", + " response.raise_for_status()\n", + "\n", + " # Parse the HTML with BeautifulSoup\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + "\n", + " # Extract the job title (specifically from the

tag)\n", + " title_element = soup.select_one('h1')\n", + " title = title_element.get_text(strip=True) if title_element else \"Job Title Not Found\"\n", + "\n", + " # Extract the main job description content (from the
)\n", + " description_element = soup.select_one('.prose')\n", + " description = description_element.get_text(separator='\\n', strip=True) if description_element else \"\"\n", + " \n", + " # Combine them for the final text\n", + " full_text = f\"Job Title: {title}\\n\\n{description}\"\n", + " \n", + " print(\"SUCCESS: Scraping complete.\")\n", + " return full_text\n", + "\n", + " except requests.exceptions.RequestException as e:\n", + " print(f\"ERROR: Scraping failed. Could not fetch URL. {e}\")\n", + " return \"[Scraping failed: Could not connect to the server]\"\n", + " except Exception as e:\n", + " print(f\"ERROR: An unexpected error occurred during scraping: {e}\")\n", + " return \"[Scraping failed: An unexpected error occurred]\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "e159596d", + "metadata": {}, + "source": [ + "## 5. Gap Analysis" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0dc8f72", + "metadata": {}, + "outputs": [], + "source": [ + "def get_analysis(job_description: str, resume: str) -> str:\n", + " \"\"\"Sends the job description and resume to the AI and returns the analysis.\"\"\"\n", + " print(\"INFO: Sending data to the AI for analysis...\")\n", + " user_prompt = f\"\"\"Please generate the analysis based on the following documents.\n", + "\n", + " **JOB DESCRIPTION:**\n", + " ---\n", + " {job_description}\n", + " ---\n", + "\n", + " **CANDIDATE RESUME:**\n", + " ---\n", + " {resume}\n", + " ---\n", + " \"\"\"\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=messages\n", + " )\n", + " print(\"SUCCESS: Analysis complete.\")\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "f1deb906", + "metadata": {}, + "source": [ + "## 6. Execution" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3e57129", + "metadata": {}, + "outputs": [], + "source": [ + "# Scrape the job description text from the URL\n", + "job_description_text = scrape_ycombinator_job(job_url)\n", + "\n", + "# Only proceed if scraping was successful\n", + "if not job_description_text.startswith(\"[Scraping failed\"):\n", + " # Run the analysis with the scraped text\n", + " analysis_report = get_analysis(job_description_text, resume_text)\n", + " # Display the final report\n", + " display(Markdown(analysis_report))\n", + "else:\n", + " # If scraping failed, display the error message\n", + " display(Markdown(f\"## {job_description_text}\"))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From b140c9d6d8294e9779707256fec043606cc4d759 Mon Sep 17 00:00:00 2001 From: Antonina Bagrin Date: Sat, 9 Aug 2025 11:33:38 +0300 Subject: [PATCH 070/176] Added my contribution week_1 to community-contribution --- .../week1_tennis.ipynb | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 week1/community-contributions/week1_tennis.ipynb diff --git a/week1/community-contributions/week1_tennis.ipynb b/week1/community-contributions/week1_tennis.ipynb new file mode 100644 index 0000000..9c36a80 --- /dev/null +++ b/week1/community-contributions/week1_tennis.ipynb @@ -0,0 +1,154 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "markdown", + "id": "0ea775a9-12c7-4a63-a676-d7bd0cdb100c", + "metadata": {}, + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found!\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question\n", + "question = \"\"\"\n", + "Please explain why do tennis players often use topspin on their forehand shots, and what advantages does it provide?\n", + "\"\"\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "967aac6b-9f9c-4def-8659-d9382b0c59e4", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are a helpful tennis coach who answers questions about tennis rules, techniques, strategies, training, and equipment.\"\n", + "user_prompt = \"Please give a detailed explanation to the following question: \" + question" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7936b5af-e912-4e0e-b43e-87673c4857cf", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "openai = OpenAI()\n", + "stream = openai.chat.completions.create(model=MODEL_GPT, messages=messages, stream=True)\n", + "response = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "response = ollama.chat(model=MODEL_LLAMA, messages=messages)\n", + "result = response['message']['content']\n", + "display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29e9cdd3-5adc-4428-9758-f761dc91783a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From fd3485248eacb543f3b8d06204ddafde2b6ba422 Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Sat, 9 Aug 2025 20:39:34 +0530 Subject: [PATCH 071/176] Add web data extraction and summarization notebook Introduces a Jupyter notebook demonstrating web scraping with BeautifulSoup and summarization using OpenAI's gpt-5-mini model. The workflow includes scraping website content, formatting prompts, and displaying summaries in Markdown. --- .../text_summary_playwright_openai.ipynb | 231 ++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb diff --git a/community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb b/community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb new file mode 100644 index 0000000..82be8e1 --- /dev/null +++ b/community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb @@ -0,0 +1,231 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1e45263e", + "metadata": {}, + "source": [ + "# Web Data Extraction and Summarization using openAI Latest model gpt-5-mini" + ] + }, + { + "cell_type": "markdown", + "id": "df155151", + "metadata": {}, + "source": [ + "#### Import Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "588f8e43", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI " + ] + }, + { + "cell_type": "markdown", + "id": "b5925769", + "metadata": {}, + "source": [ + "#### load api key" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6cca85ec", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')" + ] + }, + { + "cell_type": "markdown", + "id": "56703f80", + "metadata": {}, + "source": [ + "#### ScrapWebsite using BeautifulSoup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d60c909", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class ScrapeWebsite:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\" Scraping Website which provides title and content\"\"\"\n", + " self.url = url\n", + " response = requests.get(self.url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "markdown", + "id": "a8b73c27", + "metadata": {}, + "source": [ + "#### System Prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a0c3bda", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an analyst that analyses the content of the website \\\n", + " provides summary and ignore text related to navigation. Respond in markdown.\"" + ] + }, + { + "cell_type": "markdown", + "id": "9117963b", + "metadata": {}, + "source": [ + "#### User Prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab164d55", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; Please provide short summary in Markdown. Please include news and \\\n", + " announcements\"\n", + " user_prompt+=website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "markdown", + "id": "de7423fb", + "metadata": {}, + "source": [ + "#### Format messages in openAI standard" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47c82247", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\":\"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "markdown", + "id": "6e9bb6e1", + "metadata": {}, + "source": [ + "#### Summarise the content in website using openAI latest model gpt-5-mini" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "068d6bb2", + "metadata": {}, + "outputs": [], + "source": [ + "def summarise(url):\n", + " website = ScrapeWebsite(url)\n", + " openai = OpenAI()\n", + " response = openai.chat.completions.create(model=\"gpt-5-mini\", messages=messages_for(website))\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "7e6e9da6", + "metadata": {}, + "source": [ + "#### Show summary as Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd86c2ca", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarise(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "markdown", + "id": "ed5e50d2", + "metadata": {}, + "source": [ + "#### Output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74a056b1", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://www.firstpost.com/world/united-states/\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f7d8d58fa681a71edfb0fca2b6e74bde7ca49c00 Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Sat, 9 Aug 2025 20:43:09 +0530 Subject: [PATCH 072/176] Rename text summarizer notebook for GPT-5 Mini Renamed the notebook from 'text_summary_playwright_openai.ipynb' to 'text_summary_openai_gpt_5mini.ipynb' to reflect its association with the GPT-5 Mini model. --- .../text_summary_openai_gpt_5mini.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename community-contributions/{kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb => kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb} (100%) diff --git a/community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb b/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb similarity index 100% rename from community-contributions/kiran-text-summarizer-playwright/text_summary_playwright_openai.ipynb rename to community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb From a0938cd97f52549b7775f492284bfc499cf56532 Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Sat, 9 Aug 2025 21:16:04 +0530 Subject: [PATCH 073/176] Move text summarizer notebook to week1 directory Renamed and relocated the text_summary_openai_gpt_5mini.ipynb notebook from community-contributions to the week1/community-contributions directory for improved organization. --- .../text_summary_openai_gpt_5mini.ipynb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {community-contributions => week1/community-contributions}/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb (100%) diff --git a/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb b/week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb similarity index 100% rename from community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb rename to week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb From ccf5cdb0fe2493c293a74e642df9e87d2206a58c Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Sun, 10 Aug 2025 14:38:52 +0530 Subject: [PATCH 074/176] Refactor and relocate text summarizer notebooks Deleted the old kiran-text-summarizer-gpt5mini notebook and added refactored versions for OpenAI GPT-5-mini and Ollama models under week1_assignments. Introduced a reusable scrape_website.py module for web scraping logic. Updated 'day2 EXERCISE.ipynb' to set execution counts and include output for code cells, improving reproducibility and clarity. --- .../text_summary_openai_gpt_5mini.ipynb | 231 -- .../week1_assignments/scrape_website.py | 15 + .../text_summary_ollama.ipynb | 186 ++ .../text_summary_openai_gpt_5mini.ipynb | 265 ++ week1/day2 EXERCISE.ipynb | 2503 ++++++++++++++++- 5 files changed, 2951 insertions(+), 249 deletions(-) delete mode 100644 week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb create mode 100644 week1/community-contributions/week1_assignments/scrape_website.py create mode 100644 week1/community-contributions/week1_assignments/text_summary_ollama.ipynb create mode 100644 week1/community-contributions/week1_assignments/text_summary_openai_gpt_5mini.ipynb diff --git a/week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb b/week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb deleted file mode 100644 index 82be8e1..0000000 --- a/week1/community-contributions/kiran-text-summarizer-gpt5mini/text_summary_openai_gpt_5mini.ipynb +++ /dev/null @@ -1,231 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "1e45263e", - "metadata": {}, - "source": [ - "# Web Data Extraction and Summarization using openAI Latest model gpt-5-mini" - ] - }, - { - "cell_type": "markdown", - "id": "df155151", - "metadata": {}, - "source": [ - "#### Import Libraries" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "588f8e43", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import requests\n", - "from dotenv import load_dotenv\n", - "from bs4 import BeautifulSoup\n", - "from IPython.display import Markdown, display\n", - "from openai import OpenAI " - ] - }, - { - "cell_type": "markdown", - "id": "b5925769", - "metadata": {}, - "source": [ - "#### load api key" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cca85ec", - "metadata": {}, - "outputs": [], - "source": [ - "load_dotenv(override=True)\n", - "api_key = os.getenv('OPENAI_API_KEY')" - ] - }, - { - "cell_type": "markdown", - "id": "56703f80", - "metadata": {}, - "source": [ - "#### ScrapWebsite using BeautifulSoup" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3d60c909", - "metadata": {}, - "outputs": [], - "source": [ - "headers = {\n", - " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", - "}\n", - "\n", - "class ScrapeWebsite:\n", - "\n", - " def __init__(self, url):\n", - " \"\"\" Scraping Website which provides title and content\"\"\"\n", - " self.url = url\n", - " response = requests.get(self.url, headers=headers)\n", - " soup = BeautifulSoup(response.content, 'html.parser')\n", - " self.title = soup.title.string if soup.title else \"No title found\"\n", - " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", - " irrelevant.decompose()\n", - " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" - ] - }, - { - "cell_type": "markdown", - "id": "a8b73c27", - "metadata": {}, - "source": [ - "#### System Prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4a0c3bda", - "metadata": {}, - "outputs": [], - "source": [ - "system_prompt = \"You are an analyst that analyses the content of the website \\\n", - " provides summary and ignore text related to navigation. Respond in markdown.\"" - ] - }, - { - "cell_type": "markdown", - "id": "9117963b", - "metadata": {}, - "source": [ - "#### User Prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ab164d55", - "metadata": {}, - "outputs": [], - "source": [ - "def user_prompt_for(website):\n", - " user_prompt = f\"You are looking at a website titled {website.title}\"\n", - " user_prompt += \"\\nThe contents of this website is as follows; Please provide short summary in Markdown. Please include news and \\\n", - " announcements\"\n", - " user_prompt+=website.text\n", - " return user_prompt" - ] - }, - { - "cell_type": "markdown", - "id": "de7423fb", - "metadata": {}, - "source": [ - "#### Format messages in openAI standard" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47c82247", - "metadata": {}, - "outputs": [], - "source": [ - "def messages_for(website):\n", - " return [\n", - " {\"role\":\"system\", \"content\": system_prompt},\n", - " {\"role\":\"user\", \"content\": user_prompt_for(website)}\n", - " ]" - ] - }, - { - "cell_type": "markdown", - "id": "6e9bb6e1", - "metadata": {}, - "source": [ - "#### Summarise the content in website using openAI latest model gpt-5-mini" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "068d6bb2", - "metadata": {}, - "outputs": [], - "source": [ - "def summarise(url):\n", - " website = ScrapeWebsite(url)\n", - " openai = OpenAI()\n", - " response = openai.chat.completions.create(model=\"gpt-5-mini\", messages=messages_for(website))\n", - " return response.choices[0].message.content" - ] - }, - { - "cell_type": "markdown", - "id": "7e6e9da6", - "metadata": {}, - "source": [ - "#### Show summary as Markdown" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd86c2ca", - "metadata": {}, - "outputs": [], - "source": [ - "def display_summary(url):\n", - " summary = summarise(url)\n", - " display(Markdown(summary))" - ] - }, - { - "cell_type": "markdown", - "id": "ed5e50d2", - "metadata": {}, - "source": [ - "#### Output" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "74a056b1", - "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://www.firstpost.com/world/united-states/\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "llms", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/week1/community-contributions/week1_assignments/scrape_website.py b/week1/community-contributions/week1_assignments/scrape_website.py new file mode 100644 index 0000000..d040e22 --- /dev/null +++ b/week1/community-contributions/week1_assignments/scrape_website.py @@ -0,0 +1,15 @@ +from bs4 import BeautifulSoup +import requests + + +class ScrapeWebsite: + + def __init__(self, url, headers): + """ Scraping Website which provides title and content""" + self.url = url + response = requests.get(self.url, headers=headers) + soup = BeautifulSoup(response.content, 'html.parser') + self.title = soup.title.string if soup.title else "No title found" + for irrelevant in soup.body(["script", "style", "img", "input"]): + irrelevant.decompose() + self.text = soup.body.get_text(separator="\n", strip=True) \ No newline at end of file diff --git a/week1/community-contributions/week1_assignments/text_summary_ollama.ipynb b/week1/community-contributions/week1_assignments/text_summary_ollama.ipynb new file mode 100644 index 0000000..d7a5b3b --- /dev/null +++ b/week1/community-contributions/week1_assignments/text_summary_ollama.ipynb @@ -0,0 +1,186 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI \n", + "from scrape_website import ScrapeWebsite" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42c8a8c2", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an analyst that analyses the content of the website \\\n", + " provides summary and ignore text related to navigation. Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51e86dd1", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; Please provide short summary in Markdown. Please include news and \\\n", + " announcements\"\n", + " user_prompt+=website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b69d7238", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\":\"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a56e99ea", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b4061d0", + "metadata": {}, + "outputs": [], + "source": [ + "def summarise(url):\n", + " website = ScrapeWebsite(url, headers)\n", + " ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + " response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages_for(website)\n", + " )\n", + "\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65f96545", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarise(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries. Here are some examples:\n", + "\n", + "1. **Marketing and Advertising**: Generative AI can create personalized product recommendations, generate targeted advertisements, and develop new marketing campaigns.\n", + "2. **Content Creation**: AI-powered tools can assist in content creation, such as writing articles, generating social media posts, and creating videos, podcasts, and music.\n", + "3. **Product Design and Development**: Generative AI can aid in designing products, such as 3D modeling, prototyping, and testing product feasibility.\n", + "4. **Customer Service Chatbots**: AI-powered chatbots can provide personalized customer service, answering common queries, and helping resolve issues faster.\n", + "5. **Language Translation**: Generative AI can translate languages in real-time, enabling businesses to communicate with global customers more effectively.\n", + "6. **Data Analysis and Visualization**: AI can analyze large datasets, identify patterns, and create insights, making it easier for businesses to make informed decisions.\n", + "7. **Cybersecurity Threat Detection**: Generative AI-powered systems can detect and respond to cyber threats more efficiently, reducing the risk of data breaches and attacks.\n", + "8. **Supply Chain Optimization**: AI can optimize supply chain operations, predict demand, and identify opportunities for improvement, leading to increased efficiency and reduced costs.\n", + "9. **Network Security**: Generative AI can analyze network traffic patterns, detect anomalies, and prevent cyber-attacks.\n", + "10. **Finance and Banking**: AI-powered systems can detect financial fraud, predict customer creditworthiness, and generate credit reports.\n", + "\n", + "**Industry-specific applications:**\n", + "\n", + "1. **Healthcare**: AI can help with medical diagnosis, patient data analysis, and personalized medicine.\n", + "2. **Manufacturing**: Generative AI can create optimized production schedules, predict equipment failures, and improve product quality.\n", + "3. **Education**: AI-powered tools can develop personalized learning plans, automate grading, and provide educational resources.\n", + "4. **Real Estate**: AI can help with property valuations, identify market trends, and analyze potential clients' needs.\n", + "\n", + "**Business benefits:**\n", + "\n", + "1. **Increased efficiency**: Automating mundane tasks frees up human resources for more strategic work.\n", + "2. **Improved accuracy**: Generative AI reduces the likelihood of human error in decision-making and task execution.\n", + "3. **Enhanced customer experience**: Personalized experiences are created through data-driven insights.\n", + "4. **Competitive advantage**: Companies using AI can differentiate themselves from competitors by offering innovative services and products.\n", + "\n", + "As Generative AI continues to evolve, we can expect even more exciting applications across various industries, leading to increased efficiency, accuracy, and improved competitiveness for businesses worldwide.\n" + ] + } + ], + "source": [ + "display_summary(\"https://www.firstpost.com/world/united-states/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/community-contributions/week1_assignments/text_summary_openai_gpt_5mini.ipynb b/week1/community-contributions/week1_assignments/text_summary_openai_gpt_5mini.ipynb new file mode 100644 index 0000000..ab6c1a4 --- /dev/null +++ b/week1/community-contributions/week1_assignments/text_summary_openai_gpt_5mini.ipynb @@ -0,0 +1,265 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1e45263e", + "metadata": {}, + "source": [ + "# Web Data Extraction and Summarization using openAI Latest model gpt-5-mini" + ] + }, + { + "cell_type": "markdown", + "id": "df155151", + "metadata": {}, + "source": [ + "#### Import Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "588f8e43", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI \n", + "from scrape_website import ScrapeWebsite" + ] + }, + { + "cell_type": "markdown", + "id": "b5925769", + "metadata": {}, + "source": [ + "#### load api key" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6cca85ec", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')" + ] + }, + { + "cell_type": "markdown", + "id": "56703f80", + "metadata": {}, + "source": [ + "#### ScrapWebsite using BeautifulSoup" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3d60c909", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "a8b73c27", + "metadata": {}, + "source": [ + "#### System Prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4a0c3bda", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an analyst that analyses the content of the website \\\n", + " provides summary and ignore text related to navigation. Respond in markdown.\"" + ] + }, + { + "cell_type": "markdown", + "id": "9117963b", + "metadata": {}, + "source": [ + "#### User Prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ab164d55", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; Please provide short summary in Markdown. Please include news and \\\n", + " announcements\"\n", + " user_prompt+=website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "markdown", + "id": "de7423fb", + "metadata": {}, + "source": [ + "#### Format messages in openAI standard" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "47c82247", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\":\"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "markdown", + "id": "6e9bb6e1", + "metadata": {}, + "source": [ + "#### Summarise the content in website using openAI latest model gpt-5-mini" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "068d6bb2", + "metadata": {}, + "outputs": [], + "source": [ + "def summarise(url):\n", + " website = ScrapeWebsite(url, headers)\n", + " openai = OpenAI()\n", + " response = openai.chat.completions.create(model=\"gpt-5-mini\", messages=messages_for(website))\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "7e6e9da6", + "metadata": {}, + "source": [ + "#### Show summary as Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "cd86c2ca", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarise(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "markdown", + "id": "ed5e50d2", + "metadata": {}, + "source": [ + "#### Output" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "74a056b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary — United States Of America | Firstpost (Live/Latest)\n", + "\n", + "Site focus: Live updates and rundowns of US and world news with emphasis on politics, justice, economy, national security, and breaking incidents. Coverage mixes headlines, investigations, opinion and special features/web stories.\n", + "\n", + "## Major news (headlines)\n", + "- Police shooting near CDC/Emory in Atlanta: a suspected shooter and a police officer were killed after reports of an active shooter near the CDC and Emory University campuses. \n", + "- Death of astronaut Jim Lovell (97): Apollo 13 commander and former Navy pilot died in a Chicago suburb. \n", + "- Stephen Miran named to Fed Board (short-term): Trump appointed economist Stephen Miran to the Federal Reserve Board through Jan 2026; noted for support of tariffs and rate cuts. \n", + "- Trump fires labour statistics chief: President Trump sacked the official overseeing labor data hours after a weak jobs report. \n", + "- House panel subpoenas Clintons over Epstein: congressional subpoenas seek documents in relation to Jeffrey Epstein amid pressure on the administration over Epstein files. \n", + "- Ghislaine Maxwell moved to lower-security prison in Texas amid scrutiny of Epstein files and government handling. \n", + "- FBI/administration tension on Epstein Files: Trump said he would ā€œrelease everythingā€ after reports the FBI redacted names from the Epstein Files. \n", + "- Probe launched into attorney who investigated Trump cases: US officials began a probe targeting Special Counsel Jack Smith. \n", + "- NTSB finds technical issues in Army helicopter crash: investigation into crash that killed 67 people identified technical problems. \n", + "- Trump unveils modified reciprocal tariffs: new executive order introduced modified tariffs on multiple countries; effective date possibly as late as Oct 5. \n", + "- Trump-EU trade deal announced: reported pact imposing a 15% tariff on most EU goods, with large energy and investment components but unresolved issues remain. \n", + "- Federal Reserve holds rates steady: Fed kept rates unchanged for a fifth meeting, despite political pressure from Trump. \n", + "- White House remodel plan: Trump pushing to build a reported $200 million ballroom at the presidential residence, funded by Trump/donors per WH. \n", + "- US citizenship test format under review: Trump administration considers reverting to the 2020 naturalisation test format, citing concerns the current test is too easy. \n", + "- American Airlines incident in Denver: passengers evacuated after a Boeing plane caught fire (tire/maintenance issue) before takeoff. \n", + "- John Bolton criticizes Tulsi Gabbard: former NSA lambastes Gabbard’s report on Obama as exaggerated and lacking substance. \n", + "- Ohio solicitor general Mathura Sridharan trolled: Indian-origin jurist faced racist online backlash after appointment; Ohio AG responded strongly.\n", + "\n", + "## Announcements, features & recurring elements\n", + "- Web stories and quick-read lists: travel/animals/safety themed pieces (e.g., ā€œ10 airport codesā€, ā€œ10 animals that are naturally blueā€, World Tiger Day lists). \n", + "- Regular sections and shows highlighted in coverage: Firstpost America, Firstpost Africa, First Sports, Vantage, Fast and Factual, Between The Lines, Flashback, Live TV. \n", + "- Events and special coverage teased: Raisina Dialogue, Champions Trophy, Delhi Elections 2025, Budget 2025, US Elections 2024, Firstpost Defence Summit. \n", + "- Trending topics emphasized: Donald Trump, Narendra Modi, Elon Musk, United States, Joe Biden. \n", + "- Quick-links / network: cross-promotion of other Network18 properties (News18, Moneycontrol, CNBC TV18, Forbes India).\n", + "\n", + "## Tone and emphasis\n", + "- Heavy focus on US politics, Trump administration actions and controversies (Epstein Files, tariffs, personnel changes), justice probes, national security incidents, and major breaking events.\n", + "- Mix of investigative/legal reporting, immediate breaking news, and light/web-story listicles.\n", + "\n", + "If you want, I can produce a one-page brief of just the Trump-related items, a timeline of the Epstein/Clinton/Subpoena coverage, or extract all headlines with publication order." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://www.firstpost.com/world/united-states/\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index 89a383f..519dca5 100644 --- a/week1/day2 EXERCISE.ipynb +++ b/week1/day2 EXERCISE.ipynb @@ -68,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -82,7 +82,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", "metadata": {}, "outputs": [], @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", "metadata": {}, "outputs": [], @@ -124,10 +124,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n", + "pulling dde5aa3fc5ff: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 2.0 GB \u001b[K\n", + "pulling 966de95ca8a6: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.4 KB \u001b[K\n", + "pulling fcc5a6bec9da: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 7.7 KB \u001b[K\n", + "pulling a70ff7e570d9: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 6.0 KB \u001b[K\n", + "pulling 56bb8bd477a5: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 96 B \u001b[K\n", + "pulling 34bb5ab01051: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 561 B \u001b[K\n", + "verifying sha256 digest \u001b[K\n", + "writing manifest \u001b[K\n", + "success \u001b[K\u001b[?25h\u001b[?2026l\n" + ] + } + ], "source": [ "# Let's just make sure the model is loaded\n", "\n", @@ -136,10 +153,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries, including:\n", + "\n", + "1. **Content Creation**: Generative AI can be used to create high-quality content such as images, videos, and articles. This can help businesses reduce production costs and increase productivity.\n", + "2. **Marketing Automation**: Generative AI can be used to automate marketing tasks such as email marketing, social media management, and lead generation. It can also be used to personalize marketing messages based on customer behavior and preferences.\n", + "3. **Customer Service Chatbots**: Generative AI-powered chatbots can be used to provide 24/7 customer support and help customers with their queries. This can help businesses reduce the cost of customer service and improve customer satisfaction.\n", + "4. **Product Design**: Generative AI can be used to design new products, such as furniture, electronics, or automotive parts. It can also be used to optimize product designs for better performance and aesthetics.\n", + "5. **Supply Chain Optimization**: Generative AI can be used to analyze supply chain data and predict demand patterns. This can help businesses optimize their inventory levels and reduce waste.\n", + "6. **Financial Modeling**: Generative AI can be used to create financial models and forecast revenue streams. It can also be used to identify potential risks and opportunities in the market.\n", + "7. **Risk Assessment**: Generative AI can be used to assess risk in various areas such as credit risk, market risk, and operational risk. This can help businesses make informed investment decisions and mitigate potential losses.\n", + "8. **Language Translation**: Generative AI-powered translation tools can be used to translate text, images, and audio files across languages. This can help businesses expand their customer base and improve communication with international customers.\n", + "9. **Image Recognition**: Generative AI can be used to recognize objects, people, and patterns in images. This can help businesses automate image classification, object detection, and facial recognition tasks.\n", + "10. **Music and Audio Generation**: Generative AI can be used to create new music tracks, sound effects, and audio files. This can help businesses reduce production costs and improve the quality of their audio content.\n", + "\n", + "Some specific business applications of generative AI include:\n", + "\n", + "* **Automated data entry**: Use generative AI to automate data entry tasks such as typing addresses, phone numbers, and other contact information.\n", + "* **Predictive maintenance**: Use generative AI to predict equipment failures and schedule maintenance accordingly.\n", + "* **Personalized product recommendations**: Use generative AI to personalize product recommendations for customers based on their browsing history and purchase behavior.\n", + "* **Automated social media posting**: Use generative AI to automate social media posting tasks such as scheduling posts, creating content, and responding to comments.\n", + "\n", + "Overall, generative AI has the potential to transform various business processes and improve efficiency, productivity, and customer experience.\n" + ] + } + ], "source": [ "# If this doesn't work for any reason, try the 2 versions in the following cells\n", "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", @@ -163,10 +208,46 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries. Here are some examples:\n", + "\n", + "1. **Content Creation**: Generative AI can be used to generate high-quality content such as articles, social media posts, and product descriptions. This can help businesses save time and money on content creation while maintaining consistency and quality.\n", + "2. **Marketing and Advertising**: Generative AI can be used to create personalized marketing campaigns, social media ads, and email newsletters. It can also help analyze customer behavior and preferences to improve targeting and conversion rates.\n", + "3. **Product Design and Development**: Generative AI can be used to design and develop new products, such as 3D models, prototypes, and even entire product lines. This can help reduce the time and cost associated with traditional product development methods.\n", + "4. **Customer Service Chatbots**: Generative AI can be used to create intelligent chatbots that can understand and respond to customer inquiries in a more human-like way. This can help improve customer satisfaction and reduce support costs.\n", + "5. **Data Analysis and Visualization**: Generative AI can be used to analyze and visualize large datasets, such as customer behavior patterns or market trends. This can help businesses gain insights and make data-driven decisions.\n", + "6. **Predictive Maintenance**: Generative AI can be used to predict equipment failures and maintenance needs, helping businesses reduce downtime and increase efficiency.\n", + "7. **Financial Analysis**: Generative AI can be used to analyze financial data and forecast future trends, helping businesses make informed investment decisions and manage risk.\n", + "8. **Virtual Customer Assistants**: Generative AI can be used to create virtual customer assistants that can handle tasks such as appointment scheduling, order tracking, and more.\n", + "9. **Brand Identity Generation**: Generative AI can be used to generate new brand identities, including logos, color palettes, typography, and overall visual styles.\n", + "10. **Supply Chain Optimization**: Generative AI can be used to optimize supply chain operations, including inventory management, logistics, and transportation planning.\n", + "\n", + "Some of the key benefits of generative AI in business include:\n", + "\n", + "* Increased efficiency and productivity\n", + "* Improved decision-making and forecasting\n", + "* Enhanced customer experience and engagement\n", + "* Reduced costs and risk\n", + "* New revenue streams through creative content generation\n", + "\n", + "However, it's worth noting that the use of generative AI also raises some challenges and concerns, such as:\n", + "\n", + "* Job displacement and workforce disruption\n", + "* Bias and fairness in decision-making\n", + "* Data security and privacy risks\n", + "* Dependence on technology and lack of human touch\n", + "\n", + "Overall, the application of generative AI in business will depend on the specific industry, company, and use case.\n" + ] + } + ], "source": [ "import ollama\n", "\n", @@ -184,10 +265,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries. Here are some examples:\n", + "\n", + "1. **Marketing and Advertising**: Generative AI can create personalized product recommendations, generate targeted advertisements, and develop new marketing campaigns.\n", + "2. **Content Creation**: AI-powered tools can assist in content creation, such as writing articles, generating social media posts, and creating videos, podcasts, and music.\n", + "3. **Product Design and Development**: Generative AI can aid in designing products, such as 3D modeling, prototyping, and testing product feasibility.\n", + "4. **Customer Service Chatbots**: AI-powered chatbots can provide personalized customer service, answering common queries, and helping resolve issues faster.\n", + "5. **Language Translation**: Generative AI can translate languages in real-time, enabling businesses to communicate with global customers more effectively.\n", + "6. **Data Analysis and Visualization**: AI can analyze large datasets, identify patterns, and create insights, making it easier for businesses to make informed decisions.\n", + "7. **Cybersecurity Threat Detection**: Generative AI-powered systems can detect and respond to cyber threats more efficiently, reducing the risk of data breaches and attacks.\n", + "8. **Supply Chain Optimization**: AI can optimize supply chain operations, predict demand, and identify opportunities for improvement, leading to increased efficiency and reduced costs.\n", + "9. **Network Security**: Generative AI can analyze network traffic patterns, detect anomalies, and prevent cyber-attacks.\n", + "10. **Finance and Banking**: AI-powered systems can detect financial fraud, predict customer creditworthiness, and generate credit reports.\n", + "\n", + "**Industry-specific applications:**\n", + "\n", + "1. **Healthcare**: AI can help with medical diagnosis, patient data analysis, and personalized medicine.\n", + "2. **Manufacturing**: Generative AI can create optimized production schedules, predict equipment failures, and improve product quality.\n", + "3. **Education**: AI-powered tools can develop personalized learning plans, automate grading, and provide educational resources.\n", + "4. **Real Estate**: AI can help with property valuations, identify market trends, and analyze potential clients' needs.\n", + "\n", + "**Business benefits:**\n", + "\n", + "1. **Increased efficiency**: Automating mundane tasks frees up human resources for more strategic work.\n", + "2. **Improved accuracy**: Generative AI reduces the likelihood of human error in decision-making and task execution.\n", + "3. **Enhanced customer experience**: Personalized experiences are created through data-driven insights.\n", + "4. **Competitive advantage**: Companies using AI can differentiate themselves from competitors by offering innovative services and products.\n", + "\n", + "As Generative AI continues to evolve, we can expect even more exciting applications across various industries, leading to increased efficiency, accuracy, and improved competitiveness for businesses worldwide.\n" + ] + } + ], "source": [ "# There's actually an alternative approach that some people might prefer\n", "# You can use the OpenAI client python library to call Ollama:\n", @@ -248,20 +364,2371 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 200 KB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 979 KB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 1.2 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 1.8 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 2.3 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 3.2 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 3.4 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 4.0 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 5.5 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 0% ā–• ā– 5.6 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 5.6 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 5.8 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 5.9 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 6.8 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 6.8 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 7.0 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 7.0 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 7.2 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 7.3 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 8.2 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 9.5 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 9.7 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 9.8 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 9.9 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 9.9 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 10 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 10 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 11 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 12 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 15 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 15 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 1% ā–• ā– 16 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 19 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 20 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 20 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.2 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.2 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 24 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 24 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 27 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 2% ā–• ā– 27 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 30 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 30 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.2 MB/s 5m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.0 MB/s 5m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 33 MB/1.1 GB 3.0 MB/s 5m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 33 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 34 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 34 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 35 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 35 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 36 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 36 MB/1.1 GB 3.0 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 37 MB/1.1 GB 3.0 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 37 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 39 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 39 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 41 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 41 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 42 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 42 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 44 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 44 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 45 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 46 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 46 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 47 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 47 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 48 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 48 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 50 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 50 MB/1.1 GB 3.6 MB/s 4m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 51 MB/1.1 GB 3.6 MB/s 4m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 53 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 55 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 3.8 MB/s 4m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 3.8 MB/s 4m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 59 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–• ā– 61 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 62 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 62 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 63 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 63 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 64 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 64 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 65 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 65 MB/1.1 GB 4.4 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 66 MB/1.1 GB 4.4 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 66 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 67 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 67 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 68 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 70 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 70 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 71 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 73 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.8 MB/s 3m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.8 MB/s 3m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 77 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 78 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 78 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 79 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 79 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 80 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 80 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 81 MB/1.1 GB 4.8 MB/s 3m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 82 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 82 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 83 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 85 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 87 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 87 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 89 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 90 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 90 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 91 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 95 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 95 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 96 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 97 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 97 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 98 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 98 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 99 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 101 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 102 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 103 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 104 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 104 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 105 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 105 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 106 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 107 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 108 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 109 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 109 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 110 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 111 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 111 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 112 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 113 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 113 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 114 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 115 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 116 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 116 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 117 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 117 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 118 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 5.9 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 5.9 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 6.0 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 120 MB/1.1 GB 6.0 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 121 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 122 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 123 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 123 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 124 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 125 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 125 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 126 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 127 MB/1.1 GB 6.3 MB/s 2m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 128 MB/1.1 GB 6.3 MB/s 2m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 131 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 131 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 132 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 134 MB/1.1 GB 6.5 MB/s 2m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 135 MB/1.1 GB 6.5 MB/s 2m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 135 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 139 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 140 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 140 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 141 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 141 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 142 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 142 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 143 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 144 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 145 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 145 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 146 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 147 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 147 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 148 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 149 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 149 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 150 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 151 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 151 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 152 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 153 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 154 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 154 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 155 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 155 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 156 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 157 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 157 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 158 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 158 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 159 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 160 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 160 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 161 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 162 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 163 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 163 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 164 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 165 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 165 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 166 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 166 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 167 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 168 MB/1.1 GB 7.0 MB/s 2m16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 169 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 170 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 171 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 172 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 172 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 173 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 175 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 176 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 176 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 177 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 178 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 178 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 179 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 180 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 181 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 182 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 182 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 183 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 184 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 184 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 185 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 185 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 186 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 187 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 188 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 189 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 189 MB/1.1 GB 6.9 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 190 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 190 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 192 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 193 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 193 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 194 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 195 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 195 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 196 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 197 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 197 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 200 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 201 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 201 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 202 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 203 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 204 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 206 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 207 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 210 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 212 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 213 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 213 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 214 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 214 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 215 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 215 MB/1.1 GB 6.9 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 216 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 216 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 217 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 217 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 218 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 219 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 220 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 221 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 222 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 222 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 223 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 224 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 224 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 225 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 226 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 228 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 229 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 230 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 230 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 231 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 232 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 233 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 233 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 234 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 235 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 235 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 236 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 237 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 237 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 238 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 239 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 239 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 240 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 240 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 242 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 244 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 244 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 245 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 246 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 246 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 247 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 248 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 249 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 249 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 250 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 251 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 251 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 252 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 252 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 253 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 253 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 254 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 255 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 256 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 257 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 257 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 258 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 259 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 260 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 263 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 263 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 264 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 265 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 266 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 268 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 272 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 273 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 274 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 275 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 275 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 276 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 277 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 277 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 278 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 279 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 279 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 280 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 281 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 281 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 282 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 282 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 283 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 284 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 286 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 287 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 287 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 288 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 288 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 289 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 290 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 291 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 291 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 292 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 293 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 293 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 294 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 294 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 296 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 298 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 299 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 299 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 300 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 301 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 301 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 302 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 303 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 303 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 304 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 304 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 305 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 307 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 308 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 308 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 309 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 309 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 311 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 311 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 312 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 312 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 315 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 315 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 316 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 318 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 318 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 320 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 321 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 321 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 322 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 322 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 323 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 324 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 325 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 325 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 326 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 327 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 327 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 328 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 329 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 329 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 331 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 331 MB/1.1 GB 6.7 MB/s 1m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 332 MB/1.1 GB 6.7 MB/s 1m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 333 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 334 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 334 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 335 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 336 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 336 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 337 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 338 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 339 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 340 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 341 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 341 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 342 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 343 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 343 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 344 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 345 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 346 MB/1.1 GB 6.8 MB/s 1m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 346 MB/1.1 GB 6.8 MB/s 1m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 347 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 348 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 349 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 349 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 350 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 351 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 351 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 352 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 352 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 353 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 354 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 355 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 356 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 356 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 357 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 357 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 358 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 360 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 361 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 361 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 362 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 363 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 363 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 364 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 368 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 368 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 369 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 370 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 371 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 372 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 372 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 373 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 374 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 375 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 376 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 376 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 377 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 378 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 378 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 380 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 380 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 382 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 383 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 384 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 385 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 386 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 386 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 387 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 388 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 388 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 390 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 391 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 391 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 392 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 393 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 396 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 397 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 397 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 398 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 399 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 399 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 401 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 401 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 402 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 403 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 404 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 405 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 405 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 406 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 406 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 408 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 408 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 409 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 410 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 410 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 411 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 412 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 413 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 413 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 414 MB/1.1 GB 7.5 MB/s 1m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 414 MB/1.1 GB 7.5 MB/s 1m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 416 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 416 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 417 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 418 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 418 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 420 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 420 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 421 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 422 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 422 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 423 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 424 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 424 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 425 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 426 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 426 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 427 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 428 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 428 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 429 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 430 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 430 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 431 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 432 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 432 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 433 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 434 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 435 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 436 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 436 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 437 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 438 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 439 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 439 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 440 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 441 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 441 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 442 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 443 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 443 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 444 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 445 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 446 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 449 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 450 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 450 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 451 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 452 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 453 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 454 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 455 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 455 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 456 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 457 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 457 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 458 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 459 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 459 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 460 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 462 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 462 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 463 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 464 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 464 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 465 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 466 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 467 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 467 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 468 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 469 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 470 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 471 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 471 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 472 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 473 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 473 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 475 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 475 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 476 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 477 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 479 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 479 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 480 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 480 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 481 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 482 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 483 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 483 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 484 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 485 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 486 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 487 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 488 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 488 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 490 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 491 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 491 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 492 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 492 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 494 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 494 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 495 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 496 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 496 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 497 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 498 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 499 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 500 MB/1.1 GB 7.9 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 500 MB/1.1 GB 7.9 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 501 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 502 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 503 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 505 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 506 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 506 MB/1.1 GB 7.8 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 507 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 508 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 508 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 509 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 510 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 511 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 512 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 513 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 513 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 514 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 515 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 516 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 516 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 518 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 518 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 519 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 520 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 521 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 521 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 522 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 522 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 523 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 524 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 524 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 526 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 527 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 527 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 528 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 529 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 530 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 531 MB/1.1 GB 8.0 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 532 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 532 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 533 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 538 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 539 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 539 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 540 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 541 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 541 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 543 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 543 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 544 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 545 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 546 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 547 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 548 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 548 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 549 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 550 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 550 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 551 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 552 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 552 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 553 MB/1.1 GB 7.8 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 555 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 555 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 556 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 557 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 557 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 558 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 559 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 559 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 560 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 562 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 562 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 564 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 565 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 565 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 566 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 567 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 568 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 569 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 569 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 570 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 570 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 571 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 572 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 573 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 574 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 574 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 575 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 576 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 577 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 578 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 578 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 579 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 581 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 584 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 584 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 586 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 587 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 587 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 588 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 589 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 589 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 590 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 590 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 592 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 593 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 594 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 594 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 595 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 596 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 597 MB/1.1 GB 7.5 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 598 MB/1.1 GB 7.5 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 599 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 599 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 600 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 600 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 601 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 602 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 603 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 604 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 604 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 605 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 606 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 607 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 608 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 608 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 609 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 609 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 610 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 610 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 611 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 612 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 613 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 614 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 614 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 615 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 616 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 617 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 620 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 621 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 621 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 622 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 623 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 624 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 626 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 630 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 630 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 631 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 632 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 633 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 633 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 635 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 635 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 636 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 637 MB/1.1 GB 7.6 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 637 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 639 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 639 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 640 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 640 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 641 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 642 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 643 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 644 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 644 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 645 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 646 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 646 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 649 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 650 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 650 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 651 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 653 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 653 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 654 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 655 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 656 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 657 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 657 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 658 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 659 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 659 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 660 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 661 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 662 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 663 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 664 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 664 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 665 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 666 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 667 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 668 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 668 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 669 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 669 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 671 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 672 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 672 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 673 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 674 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 674 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 675 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 676 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 676 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 677 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 678 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 678 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 679 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 680 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 680 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 681 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 683 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 683 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 687 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 688 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 688 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 689 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 690 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 691 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 692 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 692 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 693 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 694 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 697 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 697 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 698 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 700 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 700 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 701 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 702 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 703 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 703 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 705 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 705 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 706 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 706 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 707 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 708 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 708 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 709 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 710 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 711 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 712 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 712 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 713 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 713 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 714 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 715 MB/1.1 GB 7.7 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 715 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 716 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 719 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 720 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 721 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 722 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 722 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 724 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 726 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 726 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 727 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 728 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 729 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 730 MB/1.1 GB 7.9 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 730 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 731 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 732 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 733 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 734 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 734 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 735 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 736 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 736 MB/1.1 GB 7.8 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 737 MB/1.1 GB 7.8 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 737 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 738 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 739 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 739 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 740 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 741 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 741 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 742 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.4 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 745 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 745 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 746 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 747 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 747 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 748 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 749 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 750 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 750 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 751 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 751 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 753 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 755 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 756 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 756 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 757 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 758 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 759 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 759 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 761 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 761 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 762 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 763 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 764 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 765 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 765 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 766 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 767 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 768 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 769 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 769 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 770 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 771 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 771 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 772 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 773 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 774 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 775 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 775 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 778 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 778 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 779 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 780 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 781 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 781 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 783 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 783 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 784 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 785 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 786 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 787 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 787 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 788 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 789 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 790 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 790 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 791 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 792 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 792 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 793 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 794 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 794 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 796 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 796 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 797 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 798 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 799 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 799 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 800 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 800 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 801 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 802 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 803 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 803 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 805 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 805 MB/1.1 GB 7.6 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 806 MB/1.1 GB 7.6 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 807 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 807 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 808 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 810 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 811 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 812 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 815 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 817 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 817 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 819 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 820 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 820 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 822 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 823 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 823 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 824 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 826 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 826 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 827 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 827 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 828 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 829 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 831 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 831 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 832 MB/1.1 GB 7.3 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 833 MB/1.1 GB 7.3 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 833 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 835 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 835 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 836 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 837 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 842 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 842 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 844 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 844 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 845 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 847 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 847 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 848 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 849 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 849 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 850 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 851 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 852 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 853 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 853 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 855 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 855 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 856 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 858 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 859 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 863 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 863 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 864 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 867 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 870 MB/1.1 GB 7.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 870 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 871 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 872 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 872 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 873 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 874 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 875 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 875 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 876 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 876 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 877 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 878 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 879 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 881 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 882 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 882 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 883 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 883 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 884 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 886 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 887 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 888 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 889 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 889 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 890 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 891 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 891 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 892 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 893 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 893 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 894 MB/1.1 GB 7.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 895 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 895 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 896 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 897 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 897 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 898 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 901 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 902 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 902 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 904 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 904 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 906 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 907 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 907 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 909 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 909 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 911 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 911 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 912 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 912 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 913 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 913 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 916 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 916 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 917 MB/1.1 GB 6.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 918 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 918 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 919 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 921 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 921 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 922 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 923 MB/1.1 GB 6.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 923 MB/1.1 GB 6.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 924 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 925 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 925 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 926 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 926 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 927 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 927 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 928 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 929 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 929 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 930 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 930 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 931 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 931 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 933 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.9 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 935 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 937 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 937 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 939 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 939 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 940 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 945 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 945 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 946 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 946 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 948 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 949 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 949 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 951 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 951 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 952 MB/1.1 GB 4.2 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 952 MB/1.1 GB 4.2 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 953 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 953 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 954 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 954 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 957 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 957 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 958 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 958 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 959 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 959 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 961 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 961 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 964 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 964 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 966 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 966 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 967 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 967 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 968 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 968 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 969 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 969 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 970 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 970 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 971 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 971 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 972 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 972 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 973 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 973 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 974 MB/1.1 GB 3.9 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 974 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 975 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 975 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 976 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 976 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 977 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 977 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 980 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 980 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 981 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 981 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 982 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 982 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 983 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 983 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 985 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 987 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 987 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 988 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 988 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 989 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 989 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 990 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 990 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 991 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 991 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 992 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 992 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 993 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 993 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 994 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 994 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 995 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 995 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 996 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 996 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 999 MB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", + "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", + "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", + "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", + "verifying sha256 digest \u001b[K\n", + "writing manifest \u001b[K\n", + "success \u001b[K\u001b[?25h\u001b[?2026l\n" + ] + } + ], "source": [ "!ollama pull deepseek-r1:1.5b" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "1d3d554b-e00d-4c08-9300-45e073950a76", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Okay, so I need to figure out how to define some core concepts related to Large Language Models (LLMs) specifically focusing on neural networks, attention mechanisms, and transformers. Hmm, where do I start? Well, I remember that big models are created using layers of many neural network units connected together sequentially. So for LLMs, which are composed of neural networks, each might have a certain number of hidden layers, maybe hundreds or even thousands of them. That seems pretty complex but works similarly to traditional models.\n", + "\n", + "Then there's attention and the transformer aspect. I'm a bit confused about their specific roles here. Wait, the user mentioned \"attention,\" so I think that refers to how the model processes information by focusing different parts on different aspects. The decoder part comes into play because in LLMs, the entire input text is being modeled by the output from each hidden layer.\n", + "\n", + "But I'm not entirely sure about all the steps involved in the attention mechanism for transformers. Let me think: In traditional RNNs, models process data one step at a time and consider both its current output and inputs from the previous step. For LSTMs, they use gates to manage content from inputs. Transformers differ by using a self-attention mechanism, which means each token in a sequence is compared with every other token, producing attention scores that help focus on relevant parts of the input.\n", + "\n", + "So when combined, each layer's output passes through an attention mechanism and another sub-layer. Maybe this creates something like a multi-head attention where multiple parallel attention heads are processed separately but produce different results from each. Each of these could be passed to further processing steps beyond just feed-forward layers.\n", + "\n", + "Wait, how precise is that? I think the key idea is that without the attention mechanisms, the models might not effectively capture context within sequences, which is important for understanding meaning in languages. So attention allows the model to weigh the importance of certain tokens relative to others, thus improving both efficiency and effectiveness in processing language.\n", + "\n", + "Also, the user mentioned a large number of hidden layers—hundreds to thousands. That sounds right because it would exponentially increase the complexity of the model without allowing it to be scaled or practical on its own. Instead, larger models are usually combined with specialized components like self-attention and transformers to make them practical for real-world use.\n", + "\n", + "Putting this together, perhaps the neural networks handle forward and backward processing (in traditional RNNs), but LLMs might not have that—so maybe their layers only process one-directional information at a time since they're composed of multiple layers. The transformer's self-attention mechanism with attention weights helps model contextual relationships, making each layer focus on different aspects while the decoder feeds its output into higher layers to improve context.\n", + "\n", + "Alright, I think I've got some basic understanding, but maybe I should look for precise definitions or examples elsewhere. For instance, the \"standard architecture\" section mentions a large neural network with multiple hidden layers, each containing many neurons, and using feed-forward layers. The decoder handles the entire text processing by passing output from one layer into higher layers to enhance context.\n", + "\n", + "In terms of attention in transformers, I think the key is that each token generates an attention mask that determines its position importance relative to other elements. This helps the model attend to different parts when needed, making it a self-attention mechanism without multi-heads or parallel processing as in traditional RNNs with multiple heads.\n", + "\n", + "So, in summary: The neural networks for LLMs process text sequentially but not both directions (forward and backward). The transformer uses self-attention with attention masks to weigh the importance of all tokens relative to each other during forward pass, enhancing contextual understanding. This layering allows higher layers to focus on different elements while feeding their output back into subsequent layers to maintain context.\n", + "\n", + "Wait, does that mean multi-layer processing combined with self-attention and decoder-style forward passes make LLMs unique? Yes, because in RNNs with traditional attention, there's usually a parallel layer of attention at each step, but here transformers share the same attention mask across all neurons in a layer, making it more efficient.\n", + "\n", + "I think I'm getting closer. Maybe to make it even clearer: Large Language Models are neural networks composed of layers that each process text sequentially (since RNNs handle only forward), using self-attention and decoder-style processing. Each hidden layer's output is fed into higher layers for more context, while attention masks ensure the model focuses on relevant parts relative to others.\n", + "\n", + "I should probably structure this into points: Define neural networks for LLMs as forward-only sequential processing with multiple layers. Attention in transformers through self-attention mechanisms and masking. Transformers integrate these with decoder-style processing, each layer's output sent to higher layers for context enhancement.\n", + "\n", + "\n", + "**Definitions of Core Concepts in Large Language Models (LLMs):**\n", + "\n", + "1. **Neural Networks in LLMs:**\n", + " - **Structure:** Large Neural Network\n", + " - Composed of multiple hidden layers, each containing numerous neurons connected sequentially.\n", + " - These structures allow sequential processing of text information.\n", + " - **Forward Processing:** Sequential\n", + " - Text is processed one step at a time without reversing (forward only), unlike traditional RNNs which handle both forward and backward processing.\n", + "\n", + "2. **Attention in Transformers:**\n", + " - **Self-Aware Mechanism:**\n", + " - Each token generates an attention mask that determines its position importance.\n", + " - This highlights the relative importance of all tokens, enabling focused context modeling.\n", + " - **Weighted Context Focus:**\n", + " - Attention scores (weights) are used to generate probability distributions over possible words for each position in a sequence.\n", + "\n", + "3. **Transformer's Decoder-Style Processing:**\n", + " - Processing Through Decoders:\n", + " - The model processes both input and output sequences through layers, with the decoder feeding its output into higher layers.\n", + " - **Layered Context Enhancement:**\n", + " - Each layer enhances context by processing all tokens' contributions, allowing models to focus on relevant parts while maintaining global information.\n", + "\n", + "**Summary:** Large Language Models (LLMs) utilize forward-only sequential neural networks. Transformers employ self-attention mechanisms and decoder-style processing, enabling each layer to enhance context while feeding its output into higher layers for global understanding. This architecture allows LLMs to effectively capture contextual relationships in sequences.\n" + ] + } + ], "source": [ "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", "\n", @@ -294,7 +2761,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "llms", "language": "python", "name": "python3" }, @@ -308,7 +2775,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.12" + "version": "3.11.13" } }, "nbformat": 4, From 5dc1abfa388cb36d35d718a84adc845ce81d824e Mon Sep 17 00:00:00 2001 From: vaishnavipalyam Date: Sun, 10 Aug 2025 16:40:20 +0530 Subject: [PATCH 075/176] Add Vaishnavi's week 1 day 5 community contribution (cleared outputs) --- .../day5-GitaScripting.ipynb | 566 ++++++++++++++++++ 1 file changed, 566 insertions(+) create mode 100644 week1/community-contributions/day5-GitaScripting.ipynb diff --git a/week1/community-contributions/day5-GitaScripting.ipynb b/week1/community-contributions/day5-GitaScripting.ipynb new file mode 100644 index 0000000..063d614 --- /dev/null +++ b/week1/community-contributions/day5-GitaScripting.ipynb @@ -0,0 +1,566 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 15, + "id": "7759922b-12c9-44e0-8ac3-5f2a02b321d7", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [], + "source": [ + "import fitz # PyMuPDF\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a266273a-05e3-451e-a318-428726cfa39c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key looks good so far\n" + ] + } + ], + "source": [ + "# Initialize and constants\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "45566572-dd66-48dc-ab7b-6adbe26eacba", + "metadata": {}, + "outputs": [], + "source": [ + "exceptions = []" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "effc0e7b-d668-48b3-86d0-dbb5d8fe3d55", + "metadata": {}, + "outputs": [], + "source": [ + "# Building system prompt\n", + "def get_verse_system_prompt():\n", + " system_prompt = \"You are a spiritual student who classifies the versus of the BhagavadGita according to a given theme.\\n\"\n", + " system_prompt += \"Given a theme, you should pick a verse from any chapter and give it's location in the form of index chapter.verse_number (6.2)\\n\"\n", + " system_prompt += \"You should respond in JSON as in this example:\\n\"\n", + " system_prompt += \"\"\"\n", + " {\"title\": \"Chapter 3, Verse 21 (3.21)\", \"verse\": \"ą¤•ą¤°ą„ą¤®ą¤£ą¤¾ ą¤¹ą„ą¤Æą¤Ŗą¤æ ą¤øą¤‚ą¤øą¤æą¤¦ą„ą¤§ą¤æą¤®ą„ā€Œ\n", + " ą¤†ą¤øą„ą¤„ą¤æą¤¤ą¤¾ ą¤œą¤Øą¤•ą¤¾ą¤¦ą¤Æ:ą„¤\n", + " ą¤²ą„‹ą¤•ą¤øą¤‚ą¤—ą„ą¤°ą¤¹ą¤®ą„‡ą¤µą¤¾ą¤Ŗą¤æ\n", + " ą¤øą¤®ą„ą¤Ŗą¤¶ą„ą¤Æą¤Øą„ą¤•ą¤°ą„ą¤¤ą„ą¤®ą¤°ą„ą¤¹ą¤øą¤æą„„\"}\n", + " \"\"\"\n", + " return system_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "bbfb1035-b183-4481-9b49-3cc1b12b42e8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are a spiritual student who classifies the versus of the BhagavadGita according to a given theme.\n", + "Given a theme, you should pick a verse from any chapter and give it's location in the form of index chapter.verse_number (6.2)\n", + "You should respond in JSON as in this example:\n", + "\n", + " {\"title\": \"Chapter 3, Verse 21 (3.21)\", \"verse\": \"ą¤•ą¤°ą„ą¤®ą¤£ą¤¾ ą¤¹ą„ą¤Æą¤Ŗą¤æ ą¤øą¤‚ą¤øą¤æą¤¦ą„ą¤§ą¤æą¤®ą„ā€Œ\n", + " ą¤†ą¤øą„ą¤„ą¤æą¤¤ą¤¾ ą¤œą¤Øą¤•ą¤¾ą¤¦ą¤Æ:ą„¤\n", + " ą¤²ą„‹ą¤•ą¤øą¤‚ą¤—ą„ą¤°ą¤¹ą¤®ą„‡ą¤µą¤¾ą¤Ŗą¤æ\n", + " ą¤øą¤®ą„ą¤Ŗą¤¶ą„ą¤Æą¤Øą„ą¤•ą¤°ą„ą¤¤ą„ą¤®ą¤°ą„ą¤¹ą¤øą¤æą„„\"}\n", + " \n" + ] + } + ], + "source": [ + "print(get_verse_system_prompt())" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "6acdcd6c-1fc5-4c71-81d0-665e25808e46", + "metadata": {}, + "outputs": [], + "source": [ + "# Define user prompt\n", + "def get_verse_user_prompt(theme):\n", + " user_prompt = f'''\n", + " Here is the theme : {theme},\n", + " Please find a verse from BhagavadGita excluding {exceptions} for a given theme {theme}\n", + " '''#excluding those results which are already used\n", + " \n", + " user_prompt += \"If the verse is not in the exceptions for a given theme and used for a different theme, you are free to suggest it for a different theme.\"\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "72f5c755-ec2d-4545-9a31-0f6b2e5ed4da", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Here is the theme : motivation,\n", + " Please find a verse from BhagavadGita excluding [('motivation', 'Chapter 3, Verse 16 (3.16)'), ('motivation', 'Chapter 2, Verse 47 (2.47)'), ('motivation', 'Chapter 5, Verse 10 (5.10)')] for a given theme motivation\n", + " If the verse is not in the exceptions for a given theme and used for a different theme, you are free to suggest it for a different theme.\n" + ] + } + ], + "source": [ + "print(get_verse_user_prompt('motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "304d432c-7216-4a90-a5d8-db36b193657d", + "metadata": {}, + "outputs": [], + "source": [ + "#Call openAI to return versus\n", + "def get_verses(theme):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": get_verse_system_prompt()},\n", + " {\"role\": \"user\", \"content\": get_verse_user_prompt(theme)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " result = json.loads(result)\n", + "\n", + " #Remember those results which are suggested now\n", + " combination = (theme, result['title'])\n", + " exceptions.append(combination)\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "b90eeb35-e10e-48ee-ade6-e0594da8c51b", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'title': 'Chapter 6, Verse 5 (6.5)', 'verse': 'ą¤‰ą¤¦ą„ą¤§ą¤°ą„‡ą¤¦ą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤‚ ą¤†ą¤¤ą„ą¤®ą„ˆą¤µ ą¤¹ą„ą¤Æą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ ą¤Ŗą„‚ą¤œą¤æą¤¤:ą„¤\\n\\ną¤…ą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤®ą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ ą¤•ą„ƒą¤¤ą„ą¤µą¤¾ ą¤Øą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤‚ ą¤‰ą¤Ŗą¤øą¤‚ą¤Ŗą¤¦ą„ą¤Æą¤¤ą„‡ą„„'}\n" + ] + } + ], + "source": [ + "print(get_verses('motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5b8925e-52e4-4cb7-9205-51c65ed88fb8", + "metadata": {}, + "outputs": [], + "source": [ + "# So far we have fetched the new verses relevant to a given theme \n", + "# Lets generate a script for producting youtube video" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "8ff0862b-0310-4174-ad12-64047932dc9e", + "metadata": {}, + "outputs": [], + "source": [ + "#def function for system prompt\n", + "def get_script_system_prompt(tone, theme, format):\n", + " sys_prompt = 'You are a script writer for a youtube spiritual channel\\n'\n", + " sys_prompt += 'You are given a verse like below: \\n'\n", + " sys_prompt += str(get_verses(theme))\n", + " sys_prompt += '\\n'\n", + " sys_prompt += f'Give me an engaging script in a {tone} tone for a {format} format video for audience like youth seeking purpose, spiritual seekers, indians abroad, scholars and curious minds.'\n", + "\n", + " return sys_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "47476516-cd2f-4b16-b378-a70617bbe284", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are a script writer for a youtube spiritual channel\n", + "You are given a verse like below: \n", + "{'title': 'Chapter 2, Verse 48 (2.48)', 'verse': 'ą¤Æą„‹ą¤—ą¤øą„ą¤„ą¤ƒ ą¤•ą„ą¤°ą„ ą¤•ą¤°ą„ą¤®ą¤¾ą¤£ą¤æ ą¤øą¤™ą„ą¤—ą¤‚ ą¤¤ą„ą¤Æą¤•ą„ą¤¤ą„ą¤µą¤¾ ą¤§ą¤Øą¤žą„ą¤œą¤Æą„¤\\ną¤øą¤æą¤¦ą„ą¤§ą„ą¤Æą¤øą¤æą¤¦ą„ą¤§ą„ą¤Æą„‹: ą¤øą¤®ą„‹ ą¤­ą„‚ą¤¤ą„ą¤µą¤¾ ą¤øą¤®ą¤¤ą„ą¤µą¤‚ ą¤Æą„‹ą¤— ą¤‰ą¤šą„ą¤Æą¤¤ą„‡ą„„'}\n", + "Give me an engaging script in a Motivating tone for a long format video for audience like youth seeking purpose, spiritual seekers, indians abroad, scholars and curious minds.\n" + ] + } + ], + "source": [ + "print(get_script_system_prompt('Motivating','motivation','long'))" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "id": "e305525b-8dde-4e93-927a-e24531827498", + "metadata": {}, + "outputs": [], + "source": [ + "# def function for user prompt\n", + "def get_script_user_prompt(format, theme):\n", + " user_prompt = f'Given the verse, help me generate a detailed script suitable for {format} format video.\\n'\n", + " user_prompt += f'Please give me the complete verse, its meaning, a relevant story having a dilemma which the verse solves and the interpretation of the verse with respect to {theme}.\\n'\n", + " user_prompt += 'Let the script give cues about video editing, host actions.'\n", + " user_prompt += 'given the below example, please follow the format:\\n'\n", + " user_prompt += \"\"\"\n", + " [Opening Scene - Soft Instrumental Music Playing]\n", + "\n", + " [Cut to Host in a serene setting, perhaps by a river or in a lush green garden.]\n", + "\n", + " Host: (Smiling at the camera) \"Namaste, dear viewers! Welcome back to our channel, where we explore the depths of spirituality and seek to ignite the flame of wisdom within you. Today, we delve into a profound verse from the Bhagavad Gita that speaks to the very essence of life and identity.\"\n", + "\n", + " [Text On Screen: Chapter 2, Verse 13 (2.13)]\n", + "\n", + " Host: (With a sense of reverence) \"Let’s first take a moment to recite this verse together. It goes like this:\n", + "\n", + " ą¤¦ą„‡ą¤¹ą¤æą¤Øą„‹ą¤½ą¤øą„ą¤®ą¤æą¤Øą„ą¤Øą„ą¤Æą¤„ą¤¾ ą¤¦ą„‡ą¤¹ą„‡ ą¤•ą„Œą¤®ą¤¾ą¤°ą¤‚ ą¤Æą„Œą¤µą¤Øą¤‚ ą¤œą¤°ą¤¾ą„¤\n", + " ą¤¤ą¤„ą¤¾ą¤¦ą„‡ą¤¹ą¤¾ą¤Øą„ą¤¤ą¤°ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ą¤æą¤°ą„ą¤§ą„€ą¤°ą¤øą„ą¤¤ą¤¤ą„ą¤° न ą¤®ą„ą¤¹ą„ą¤Æą¤¤ą¤æą„„\n", + "\n", + " Now, let’s understand the essence of this verse.\"\n", + "\n", + " [Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", + "\n", + " Host Voiceover: (Calm and engaging tone) \"The meaning of this beautiful verse translates to: 'Just as the body undergoes changes from childhood to old age, similarly, the soul transitions from one body to another. The wise, who understand this, are never bewildered by these changes.'\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Nodding, creating a connection)\n", + " \"So, why is this verse so important, especially for us as young seekers of purpose? It highlights a profound truth—that our identities are not confined by our physical forms or the stages of life we experience. Instead, we are eternal beings who are constantly evolving.\"\n", + "\n", + " [Scene Transition - Soft Music Playing]\n", + "\n", + " [Cut to a Story Animation - A young man named Arjun in a busy city]\n", + "\n", + " Host (Voiceover): \"Let me share a relatable story. Meet Arjun. Like many of us, he was once full of dreams and aspirations. He excelling in school, pursuing a career in engineering. But as the years passed, he faced a crossroads. As the pressure mounted, he began to question his identity.\n", + "\n", + " (Visuals show Arjun overwhelmed by societal expectations, with people pushing him in different directions.)\n", + "\n", + " He felt distinct phases of life pulling at him: childhood dreams, youthful ambitions, and the looming responsibilities of adulthood. The changing seasons of his life left him confused and wondering if he had lost his true self.\"\n", + "\n", + " [Cut back to Host, empathetic tone]\n", + "\n", + " Host: \"Have you ever felt like Arjun? It’s a dilemma we all face, especially in today's fast-paced world where expectations can cloud our true identity. But just like our verse suggests, we should recognize that these changes don’t define us. They are simply part of the journey.\"\n", + "\n", + " [Scene Transition - Calm Music Playing while Host meditates]\n", + "\n", + " Host: (Speaking gently) \"Let’s take a moment to reflect. When we are sad, does that sadness define us? Or when we achieve success, do we become defined solely by that success? The answer isn't as straightforward as it seems. Here’s the catch: our essence is beyond these transient states. Like the body, our identities are fluid.\"\n", + "\n", + " [Cut to Visuals of Nature - flowing rivers, trees shedding leaves, etc.]\n", + "\n", + " Host Voiceover: \"Imagine the endless cycle of nature—the changing seasons, the growth, the decay, and rebirth. Just like the leaves that drop to make way for new growth, our experiences contribute to our spiritual evolution.\"\n", + "\n", + " [Cut back to Host - Inviting and Warm Tone]\n", + "\n", + " Host: \"Just as the wise who understand the transformation of the soul remain unshaken, we, too, can cultivate that wisdom to rise above the chaos of change. Recognize your true essence—beyond the body, the roles, the titles. Understand that your spirit is eternal.\"\n", + "\n", + " [Scene Transition - Soft Inspirational Music Begins]\n", + "\n", + " Host: (Passionately) \"So how can we embody this truth in our daily lives? Here’s a small exercise: Each day, take a few moments to meditate on who you really are. Write down what aspects of your identity are tied to transient things. Challenge yourself—what happens when you peel these layers away?\"\n", + "\n", + " [Cut to host with a pad, writing ideas]\n", + "\n", + " [Scene Transition - Editing Cues - Show engaging graphics of identity, layers of a person, etc.]\n", + "\n", + " Host Voiceover: \"Each effort towards understanding and embracing our true self draws us closer to the realization that we are eternal souls, having a human experience. This is the wisdom that can empower you to stand tall against the adversities of life.\"\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Concluding) \"Thank you for joining me today in this exploration of Chapter 2, Verse 13 of the Bhagavad Gita. Remember, when you feel lost in the complexities of life, return to this teachings and remind yourself that you are not just a body; you are an eternal being on a magnificent journey.\n", + "\n", + " [Closing Scene - Uplifting Music Playing]\n", + "\n", + " Host: \"Don’t forget to like, share, and subscribe if you found resonance in this message. And share your thoughts in the comments below. What did you find most challenging in your own journey of self-identity? Let’s connect and support each other in our spiritual quests. Until next time, stay enlightened, stay inspired!\"\n", + "\n", + " [End Screen with Subscribe Button and Previous Video Suggestions]\n", + "\n", + " [End of Script]\n", + " \"\"\"\n", + " \n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "id": "c4b29cb9-d8d1-413a-8152-4250e2430a42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given the verse, help me generate a detailed script suitable for long format video.\n", + "Please give me the complete verse, its meaning, a relevant story having a dilemma which the verse solves and the interpretation of the verse with respect to motivation.\n", + "Let the script give cues about video editing, host actions.given the below example, please follow the format:\n", + "\n", + " [Opening Scene - Soft Instrumental Music Playing]\n", + "\n", + " [Cut to Host in a serene setting, perhaps by a river or in a lush green garden.]\n", + "\n", + " Host: (Smiling at the camera) \"Namaste, dear viewers! Welcome back to our channel, where we explore the depths of spirituality and seek to ignite the flame of wisdom within you. Today, we delve into a profound verse from the Bhagavad Gita that speaks to the very essence of life and identity.\"\n", + "\n", + " [Text On Screen: Chapter 2, Verse 13 (2.13)]\n", + "\n", + " Host: (With a sense of reverence) \"Let’s first take a moment to recite this verse together. It goes like this:\n", + "\n", + " ą¤¦ą„‡ą¤¹ą¤æą¤Øą„‹ą¤½ą¤øą„ą¤®ą¤æą¤Øą„ą¤Øą„ą¤Æą¤„ą¤¾ ą¤¦ą„‡ą¤¹ą„‡ ą¤•ą„Œą¤®ą¤¾ą¤°ą¤‚ ą¤Æą„Œą¤µą¤Øą¤‚ ą¤œą¤°ą¤¾ą„¤\n", + " ą¤¤ą¤„ą¤¾ą¤¦ą„‡ą¤¹ą¤¾ą¤Øą„ą¤¤ą¤°ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ą¤æą¤°ą„ą¤§ą„€ą¤°ą¤øą„ą¤¤ą¤¤ą„ą¤° न ą¤®ą„ą¤¹ą„ą¤Æą¤¤ą¤æą„„\n", + "\n", + " Now, let’s understand the essence of this verse.\"\n", + "\n", + " [Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", + "\n", + " Host Voiceover: (Calm and engaging tone) \"The meaning of this beautiful verse translates to: 'Just as the body undergoes changes from childhood to old age, similarly, the soul transitions from one body to another. The wise, who understand this, are never bewildered by these changes.'\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Nodding, creating a connection)\n", + " \"So, why is this verse so important, especially for us as young seekers of purpose? It highlights a profound truth—that our identities are not confined by our physical forms or the stages of life we experience. Instead, we are eternal beings who are constantly evolving.\"\n", + "\n", + " [Scene Transition - Soft Music Playing]\n", + "\n", + " [Cut to a Story Animation - A young man named Arjun in a busy city]\n", + "\n", + " Host (Voiceover): \"Let me share a relatable story. Meet Arjun. Like many of us, he was once full of dreams and aspirations. He excelling in school, pursuing a career in engineering. But as the years passed, he faced a crossroads. As the pressure mounted, he began to question his identity.\n", + "\n", + " (Visuals show Arjun overwhelmed by societal expectations, with people pushing him in different directions.)\n", + "\n", + " He felt distinct phases of life pulling at him: childhood dreams, youthful ambitions, and the looming responsibilities of adulthood. The changing seasons of his life left him confused and wondering if he had lost his true self.\"\n", + "\n", + " [Cut back to Host, empathetic tone]\n", + "\n", + " Host: \"Have you ever felt like Arjun? It’s a dilemma we all face, especially in today's fast-paced world where expectations can cloud our true identity. But just like our verse suggests, we should recognize that these changes don’t define us. They are simply part of the journey.\"\n", + "\n", + " [Scene Transition - Calm Music Playing while Host meditates]\n", + "\n", + " Host: (Speaking gently) \"Let’s take a moment to reflect. When we are sad, does that sadness define us? Or when we achieve success, do we become defined solely by that success? The answer isn't as straightforward as it seems. Here’s the catch: our essence is beyond these transient states. Like the body, our identities are fluid.\"\n", + "\n", + " [Cut to Visuals of Nature - flowing rivers, trees shedding leaves, etc.]\n", + "\n", + " Host Voiceover: \"Imagine the endless cycle of nature—the changing seasons, the growth, the decay, and rebirth. Just like the leaves that drop to make way for new growth, our experiences contribute to our spiritual evolution.\"\n", + "\n", + " [Cut back to Host - Inviting and Warm Tone]\n", + "\n", + " Host: \"Just as the wise who understand the transformation of the soul remain unshaken, we, too, can cultivate that wisdom to rise above the chaos of change. Recognize your true essence—beyond the body, the roles, the titles. Understand that your spirit is eternal.\"\n", + "\n", + " [Scene Transition - Soft Inspirational Music Begins]\n", + "\n", + " Host: (Passionately) \"So how can we embody this truth in our daily lives? Here’s a small exercise: Each day, take a few moments to meditate on who you really are. Write down what aspects of your identity are tied to transient things. Challenge yourself—what happens when you peel these layers away?\"\n", + "\n", + " [Cut to host with a pad, writing ideas]\n", + "\n", + " [Scene Transition - Editing Cues - Show engaging graphics of identity, layers of a person, etc.]\n", + "\n", + " Host Voiceover: \"Each effort towards understanding and embracing our true self draws us closer to the realization that we are eternal souls, having a human experience. This is the wisdom that can empower you to stand tall against the adversities of life.\"\n", + "\n", + " [Cut back to Host]\n", + "\n", + " Host: (Concluding) \"Thank you for joining me today in this exploration of Chapter 2, Verse 13 of the Bhagavad Gita. Remember, when you feel lost in the complexities of life, return to this teachings and remind yourself that you are not just a body; you are an eternal being on a magnificent journey.\n", + "\n", + " [Closing Scene - Uplifting Music Playing]\n", + "\n", + " Host: \"Don’t forget to like, share, and subscribe if you found resonance in this message. And share your thoughts in the comments below. What did you find most challenging in your own journey of self-identity? Let’s connect and support each other in our spiritual quests. Until next time, stay enlightened, stay inspired!\"\n", + "\n", + " [End Screen with Subscribe Button and Previous Video Suggestions]\n", + "\n", + " [End of Script]\n", + " \n" + ] + } + ], + "source": [ + "print(get_script_user_prompt('long','motivation'))" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "id": "1dfa60ce-9e88-4f7d-8e60-ac37a0aafc15", + "metadata": {}, + "outputs": [], + "source": [ + "def create_script(tone, theme, format):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": get_script_system_prompt(tone,theme,format)},\n", + " {\"role\": \"user\", \"content\": get_script_user_prompt(format,theme)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "id": "ec86c436-42ae-4313-b12f-4fad42ab2227", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "[Opening Scene - Soft Instrumental Music Playing]\n", + "\n", + "[Cut to Host in a tranquil space, surrounded by nature, perhaps under a blossoming tree or near a peaceful body of water.]\n", + "\n", + "Host: (Smiling warmly) \"Namaste, dear souls! Welcome back to our spiritual journey. Today, we're diving into a powerful verse from the Bhagavad Gita—one that transcends time and speaks directly to the hearts of youth, seekers, and scholars alike. This wisdom offers clarity about our true identities amidst the chaos of life.\"\n", + "\n", + "[Text On Screen: Chapter 2, Verse 19 (2.19)]\n", + "\n", + "Host: (With a sense of reverence) \"Let’s immerse ourselves in the sacred words of this verse together:\n", + "\n", + "य ą¤ą¤Øą¤‚ ą¤µą„‡ą¤¤ą„ą¤¤ą¤æ ą¤¹ą¤Øą„ą¤¤ą¤¾ą¤°ą¤‚ ą¤Æą¤¶ą„ą¤šą„ˆą¤Øą¤‚ ą¤µą„‡ą¤¤ą„ą¤¤ą¤æ ą¤¹ą¤Øą„ą¤¤ą¤•ą¤®ą„ą„¤ \n", + "ą¤‰ą¤­ą„Œ ą¤¤ą„Œ न ą¤µą¤æą¤œą¤¾ą¤Øą„€ą¤¤ą„‹ नायं ą¤¹ą¤Øą„ą¤¤ą¤æ न ą¤¹ą¤Øą„ą¤Æą¤¤ą„‡ą„„\n", + "\n", + "[Pause for the recitation to resonate with the audience]\n", + "\n", + "Host: (Calmly) \"This translates to: 'The one who kills, and the one who thinks he is killed, are both ignorant. The truth is, the soul can neither kill nor be killed.' \n", + "\n", + "Now, let's unpack this beautifully complex verse.\"\n", + "\n", + "[Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", + "\n", + "Host Voiceover: (Engaging and soothing tone) \"In this verse, Lord Krishna emphasizes the immortality of the soul. The physical body can undergo changes, but the true essence of who we are—our soul—is eternal and cannot be harmed. This understanding leads to profound peace and clarity.\"\n", + "\n", + "[Cut back to Host]\n", + "\n", + "Host: (Nodding thoughtfully) \"Why is this verse crucial for us, especially in challenging times? It invites us to reevaluate how we perceive life, relationships, and our fundamental identity. In moments of upheaval or sorrow, understanding this truth empowers us to rise above fear and despair.\"\n", + "\n", + "[Scene Transition - Gentle Music Playing]\n", + "\n", + "[Cut to a Story Animation - A young woman named Maya navigating through life’s challenges in a bustling city.]\n", + "\n", + "Host (Voiceover): \"Let me share a story that might resonate with many of you. This is Maya. Full of dreams and aspirations, she navigates her way through the tumultuous journey of life. \n", + "\n", + "(Visuals depict Maya juggling work pressure, academic stress, and societal expectations, feeling overwhelmed)\n", + "\n", + "As the years went by, Maya found herself caught in a web of expectations. She started questioning her choices, her worth, and—even more profound—her identity.\"\n", + "\n", + "[Cut back to Host, expressing empathy]\n", + "\n", + "Host: \"Sound familiar? This dilemma, of feeling lost and pressured, is something many of us face today, especially those of us who strive for purpose. It’s easy to think that our worth is attached to our achievements, our appearances, or the roles we play. Yet, the truth of the verse beckons us to look deeper.\"\n", + "\n", + "[Scene Transition - Soft Music Playing while Host meditates]\n", + "\n", + "Host: (Speaking gently) \"Take a moment to reflect: When you've faced hardship or heartbreak, did you allow those circumstances to define you? Or in moments of joy, do you believe that mere happiness captures your essence? Pondering these questions can help unveil the layers of our identity.\"\n", + "\n", + "[Cut to Visuals of Nature - flowing rivers, vibrant flowers, and changing landscapes]\n", + "\n", + "Host Voiceover: \"Nature constantly reminds us of this timeless truth—the ebb and flow, the birth and decay, each phase is crucial, yet none are the essence of nature itself. Like the seasons that come and go, our experiences are transient, yet our spirit remains unscathed.\"\n", + "\n", + "[Cut back to Host - Inviting and Warm Tone]\n", + "\n", + "Host: \"This wisdom affords us a liberating perspective: while life presents us with challenges, it is not those challenges that define us; rather, it is how we respond to them. Recognizing our eternal nature allows us to navigate life with grace and assurance.\"\n", + "\n", + "[Scene Transition - Inspiring Music Gently Builds]\n", + "\n", + "Host: (Passionately) \"Now, how do we embody this profound understanding? Here’s a simple yet powerful exercise: Each day, carve out a few moments to meditate on your immutable self. Reflect on how many layers of identity you wear that are tied to transient aspects of life—your career, your physical appearance, your relationships.\"\n", + "\n", + "[Cut to Host with a journal, jotting down insights]\n", + "\n", + "[Scene Transition - Editing Cues - Visual graphics demonstrating self-discovery, removing layers to reveal the core identity]\n", + "\n", + "Host Voiceover: \"Each time you peel back these layers, you're one step closer to understanding that beneath it all, your spirit is pure, untainted, and eternal. This wisdom is transformative; it empowers you to rise from the ashes of despair into the light of surrender and acceptance.\"\n", + "\n", + "[Cut back to Host]\n", + "\n", + "Host: (Concluding with warmth) \"Thank you for exploring Chapter 2, Verse 19 from the Bhagavad Gita with me today. Remember, in the grand tapestry of life, the threads of our experiences are important, yet it is the essence of our soul that is everlasting. When you feel entangled in life’s complexities, simply return to this truth: You are an eternal being experiencing the human journey.\"\n", + "\n", + "[Closing Scene - Uplifting Music Playing]\n", + "\n", + "Host: \"If this message resonated with you, don’t forget to like, share, and subscribe! And I encourage you to share in the comments below how you connect with your true self or any experiences that have challenged your identity. Together, let's support one another on this beautiful voyage of self-discovery. Until next time, stay enlightened, stay inspired!\"\n", + "\n", + "[End Screen with Subscribe Button and Previous Video Suggestions]\n", + "\n", + "[End of Script]" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "create_script('motivating','self-identity','long')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 90ba1cf6c26635f1ebc0bbff791d4ef3c405ca5c Mon Sep 17 00:00:00 2001 From: vaishnavipalyam Date: Sun, 10 Aug 2025 16:53:14 +0530 Subject: [PATCH 076/176] add vaishnavi day5 contribution of Gita Scripting --- .../day5-GitaScripting.ipynb | 274 ++---------------- 1 file changed, 23 insertions(+), 251 deletions(-) diff --git a/week1/community-contributions/day5-GitaScripting.ipynb b/week1/community-contributions/day5-GitaScripting.ipynb index 063d614..964b183 100644 --- a/week1/community-contributions/day5-GitaScripting.ipynb +++ b/week1/community-contributions/day5-GitaScripting.ipynb @@ -2,14 +2,9 @@ "cells": [ { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "7759922b-12c9-44e0-8ac3-5f2a02b321d7", - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - } - }, + "metadata": {}, "outputs": [], "source": [ "import fitz # PyMuPDF\n", @@ -24,18 +19,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "a266273a-05e3-451e-a318-428726cfa39c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "API key looks good so far\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize and constants\n", "\n", @@ -53,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": null, "id": "45566572-dd66-48dc-ab7b-6adbe26eacba", "metadata": {}, "outputs": [], @@ -63,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "id": "effc0e7b-d668-48b3-86d0-dbb5d8fe3d55", "metadata": {}, "outputs": [], @@ -84,33 +71,17 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": null, "id": "bbfb1035-b183-4481-9b49-3cc1b12b42e8", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are a spiritual student who classifies the versus of the BhagavadGita according to a given theme.\n", - "Given a theme, you should pick a verse from any chapter and give it's location in the form of index chapter.verse_number (6.2)\n", - "You should respond in JSON as in this example:\n", - "\n", - " {\"title\": \"Chapter 3, Verse 21 (3.21)\", \"verse\": \"ą¤•ą¤°ą„ą¤®ą¤£ą¤¾ ą¤¹ą„ą¤Æą¤Ŗą¤æ ą¤øą¤‚ą¤øą¤æą¤¦ą„ą¤§ą¤æą¤®ą„ā€Œ\n", - " ą¤†ą¤øą„ą¤„ą¤æą¤¤ą¤¾ ą¤œą¤Øą¤•ą¤¾ą¤¦ą¤Æ:ą„¤\n", - " ą¤²ą„‹ą¤•ą¤øą¤‚ą¤—ą„ą¤°ą¤¹ą¤®ą„‡ą¤µą¤¾ą¤Ŗą¤æ\n", - " ą¤øą¤®ą„ą¤Ŗą¤¶ą„ą¤Æą¤Øą„ą¤•ą¤°ą„ą¤¤ą„ą¤®ą¤°ą„ą¤¹ą¤øą¤æą„„\"}\n", - " \n" - ] - } - ], + "outputs": [], "source": [ "print(get_verse_system_prompt())" ] }, { "cell_type": "code", - "execution_count": 131, + "execution_count": null, "id": "6acdcd6c-1fc5-4c71-81d0-665e25808e46", "metadata": {}, "outputs": [], @@ -128,28 +99,17 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": null, "id": "72f5c755-ec2d-4545-9a31-0f6b2e5ed4da", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " Here is the theme : motivation,\n", - " Please find a verse from BhagavadGita excluding [('motivation', 'Chapter 3, Verse 16 (3.16)'), ('motivation', 'Chapter 2, Verse 47 (2.47)'), ('motivation', 'Chapter 5, Verse 10 (5.10)')] for a given theme motivation\n", - " If the verse is not in the exceptions for a given theme and used for a different theme, you are free to suggest it for a different theme.\n" - ] - } - ], + "outputs": [], "source": [ "print(get_verse_user_prompt('motivation'))" ] }, { "cell_type": "code", - "execution_count": 133, + "execution_count": null, "id": "304d432c-7216-4a90-a5d8-db36b193657d", "metadata": {}, "outputs": [], @@ -175,20 +135,12 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": null, "id": "b90eeb35-e10e-48ee-ade6-e0594da8c51b", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'title': 'Chapter 6, Verse 5 (6.5)', 'verse': 'ą¤‰ą¤¦ą„ą¤§ą¤°ą„‡ą¤¦ą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤‚ ą¤†ą¤¤ą„ą¤®ą„ˆą¤µ ą¤¹ą„ą¤Æą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ ą¤Ŗą„‚ą¤œą¤æą¤¤:ą„¤\\n\\ną¤…ą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤®ą¤¾ą¤¤ą„ą¤®ą¤Øą¤¾ ą¤•ą„ƒą¤¤ą„ą¤µą¤¾ ą¤Øą¤¾ą¤¤ą„ą¤®ą¤¾ą¤Øą¤‚ ą¤‰ą¤Ŗą¤øą¤‚ą¤Ŗą¤¦ą„ą¤Æą¤¤ą„‡ą„„'}\n" - ] - } - ], + "outputs": [], "source": [ "print(get_verses('motivation'))" ] @@ -206,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": null, "id": "8ff0862b-0310-4174-ad12-64047932dc9e", "metadata": {}, "outputs": [], @@ -224,28 +176,17 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": null, "id": "47476516-cd2f-4b16-b378-a70617bbe284", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are a script writer for a youtube spiritual channel\n", - "You are given a verse like below: \n", - "{'title': 'Chapter 2, Verse 48 (2.48)', 'verse': 'ą¤Æą„‹ą¤—ą¤øą„ą¤„ą¤ƒ ą¤•ą„ą¤°ą„ ą¤•ą¤°ą„ą¤®ą¤¾ą¤£ą¤æ ą¤øą¤™ą„ą¤—ą¤‚ ą¤¤ą„ą¤Æą¤•ą„ą¤¤ą„ą¤µą¤¾ ą¤§ą¤Øą¤žą„ą¤œą¤Æą„¤\\ną¤øą¤æą¤¦ą„ą¤§ą„ą¤Æą¤øą¤æą¤¦ą„ą¤§ą„ą¤Æą„‹: ą¤øą¤®ą„‹ ą¤­ą„‚ą¤¤ą„ą¤µą¤¾ ą¤øą¤®ą¤¤ą„ą¤µą¤‚ ą¤Æą„‹ą¤— ą¤‰ą¤šą„ą¤Æą¤¤ą„‡ą„„'}\n", - "Give me an engaging script in a Motivating tone for a long format video for audience like youth seeking purpose, spiritual seekers, indians abroad, scholars and curious minds.\n" - ] - } - ], + "outputs": [], "source": [ "print(get_script_system_prompt('Motivating','motivation','long'))" ] }, { "cell_type": "code", - "execution_count": 150, + "execution_count": null, "id": "e305525b-8dde-4e93-927a-e24531827498", "metadata": {}, "outputs": [], @@ -335,100 +276,17 @@ }, { "cell_type": "code", - "execution_count": 151, + "execution_count": null, "id": "c4b29cb9-d8d1-413a-8152-4250e2430a42", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given the verse, help me generate a detailed script suitable for long format video.\n", - "Please give me the complete verse, its meaning, a relevant story having a dilemma which the verse solves and the interpretation of the verse with respect to motivation.\n", - "Let the script give cues about video editing, host actions.given the below example, please follow the format:\n", - "\n", - " [Opening Scene - Soft Instrumental Music Playing]\n", - "\n", - " [Cut to Host in a serene setting, perhaps by a river or in a lush green garden.]\n", - "\n", - " Host: (Smiling at the camera) \"Namaste, dear viewers! Welcome back to our channel, where we explore the depths of spirituality and seek to ignite the flame of wisdom within you. Today, we delve into a profound verse from the Bhagavad Gita that speaks to the very essence of life and identity.\"\n", - "\n", - " [Text On Screen: Chapter 2, Verse 13 (2.13)]\n", - "\n", - " Host: (With a sense of reverence) \"Let’s first take a moment to recite this verse together. It goes like this:\n", - "\n", - " ą¤¦ą„‡ą¤¹ą¤æą¤Øą„‹ą¤½ą¤øą„ą¤®ą¤æą¤Øą„ą¤Øą„ą¤Æą¤„ą¤¾ ą¤¦ą„‡ą¤¹ą„‡ ą¤•ą„Œą¤®ą¤¾ą¤°ą¤‚ ą¤Æą„Œą¤µą¤Øą¤‚ ą¤œą¤°ą¤¾ą„¤\n", - " ą¤¤ą¤„ą¤¾ą¤¦ą„‡ą¤¹ą¤¾ą¤Øą„ą¤¤ą¤°ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ą¤æą¤°ą„ą¤§ą„€ą¤°ą¤øą„ą¤¤ą¤¤ą„ą¤° न ą¤®ą„ą¤¹ą„ą¤Æą¤¤ą¤æą„„\n", - "\n", - " Now, let’s understand the essence of this verse.\"\n", - "\n", - " [Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", - "\n", - " Host Voiceover: (Calm and engaging tone) \"The meaning of this beautiful verse translates to: 'Just as the body undergoes changes from childhood to old age, similarly, the soul transitions from one body to another. The wise, who understand this, are never bewildered by these changes.'\n", - "\n", - " [Cut back to Host]\n", - "\n", - " Host: (Nodding, creating a connection)\n", - " \"So, why is this verse so important, especially for us as young seekers of purpose? It highlights a profound truth—that our identities are not confined by our physical forms or the stages of life we experience. Instead, we are eternal beings who are constantly evolving.\"\n", - "\n", - " [Scene Transition - Soft Music Playing]\n", - "\n", - " [Cut to a Story Animation - A young man named Arjun in a busy city]\n", - "\n", - " Host (Voiceover): \"Let me share a relatable story. Meet Arjun. Like many of us, he was once full of dreams and aspirations. He excelling in school, pursuing a career in engineering. But as the years passed, he faced a crossroads. As the pressure mounted, he began to question his identity.\n", - "\n", - " (Visuals show Arjun overwhelmed by societal expectations, with people pushing him in different directions.)\n", - "\n", - " He felt distinct phases of life pulling at him: childhood dreams, youthful ambitions, and the looming responsibilities of adulthood. The changing seasons of his life left him confused and wondering if he had lost his true self.\"\n", - "\n", - " [Cut back to Host, empathetic tone]\n", - "\n", - " Host: \"Have you ever felt like Arjun? It’s a dilemma we all face, especially in today's fast-paced world where expectations can cloud our true identity. But just like our verse suggests, we should recognize that these changes don’t define us. They are simply part of the journey.\"\n", - "\n", - " [Scene Transition - Calm Music Playing while Host meditates]\n", - "\n", - " Host: (Speaking gently) \"Let’s take a moment to reflect. When we are sad, does that sadness define us? Or when we achieve success, do we become defined solely by that success? The answer isn't as straightforward as it seems. Here’s the catch: our essence is beyond these transient states. Like the body, our identities are fluid.\"\n", - "\n", - " [Cut to Visuals of Nature - flowing rivers, trees shedding leaves, etc.]\n", - "\n", - " Host Voiceover: \"Imagine the endless cycle of nature—the changing seasons, the growth, the decay, and rebirth. Just like the leaves that drop to make way for new growth, our experiences contribute to our spiritual evolution.\"\n", - "\n", - " [Cut back to Host - Inviting and Warm Tone]\n", - "\n", - " Host: \"Just as the wise who understand the transformation of the soul remain unshaken, we, too, can cultivate that wisdom to rise above the chaos of change. Recognize your true essence—beyond the body, the roles, the titles. Understand that your spirit is eternal.\"\n", - "\n", - " [Scene Transition - Soft Inspirational Music Begins]\n", - "\n", - " Host: (Passionately) \"So how can we embody this truth in our daily lives? Here’s a small exercise: Each day, take a few moments to meditate on who you really are. Write down what aspects of your identity are tied to transient things. Challenge yourself—what happens when you peel these layers away?\"\n", - "\n", - " [Cut to host with a pad, writing ideas]\n", - "\n", - " [Scene Transition - Editing Cues - Show engaging graphics of identity, layers of a person, etc.]\n", - "\n", - " Host Voiceover: \"Each effort towards understanding and embracing our true self draws us closer to the realization that we are eternal souls, having a human experience. This is the wisdom that can empower you to stand tall against the adversities of life.\"\n", - "\n", - " [Cut back to Host]\n", - "\n", - " Host: (Concluding) \"Thank you for joining me today in this exploration of Chapter 2, Verse 13 of the Bhagavad Gita. Remember, when you feel lost in the complexities of life, return to this teachings and remind yourself that you are not just a body; you are an eternal being on a magnificent journey.\n", - "\n", - " [Closing Scene - Uplifting Music Playing]\n", - "\n", - " Host: \"Don’t forget to like, share, and subscribe if you found resonance in this message. And share your thoughts in the comments below. What did you find most challenging in your own journey of self-identity? Let’s connect and support each other in our spiritual quests. Until next time, stay enlightened, stay inspired!\"\n", - "\n", - " [End Screen with Subscribe Button and Previous Video Suggestions]\n", - "\n", - " [End of Script]\n", - " \n" - ] - } - ], + "outputs": [], "source": [ "print(get_script_user_prompt('long','motivation'))" ] }, { "cell_type": "code", - "execution_count": 152, + "execution_count": null, "id": "1dfa60ce-9e88-4f7d-8e60-ac37a0aafc15", "metadata": {}, "outputs": [], @@ -447,96 +305,10 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": null, "id": "ec86c436-42ae-4313-b12f-4fad42ab2227", "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "[Opening Scene - Soft Instrumental Music Playing]\n", - "\n", - "[Cut to Host in a tranquil space, surrounded by nature, perhaps under a blossoming tree or near a peaceful body of water.]\n", - "\n", - "Host: (Smiling warmly) \"Namaste, dear souls! Welcome back to our spiritual journey. Today, we're diving into a powerful verse from the Bhagavad Gita—one that transcends time and speaks directly to the hearts of youth, seekers, and scholars alike. This wisdom offers clarity about our true identities amidst the chaos of life.\"\n", - "\n", - "[Text On Screen: Chapter 2, Verse 19 (2.19)]\n", - "\n", - "Host: (With a sense of reverence) \"Let’s immerse ourselves in the sacred words of this verse together:\n", - "\n", - "य ą¤ą¤Øą¤‚ ą¤µą„‡ą¤¤ą„ą¤¤ą¤æ ą¤¹ą¤Øą„ą¤¤ą¤¾ą¤°ą¤‚ ą¤Æą¤¶ą„ą¤šą„ˆą¤Øą¤‚ ą¤µą„‡ą¤¤ą„ą¤¤ą¤æ ą¤¹ą¤Øą„ą¤¤ą¤•ą¤®ą„ą„¤ \n", - "ą¤‰ą¤­ą„Œ ą¤¤ą„Œ न ą¤µą¤æą¤œą¤¾ą¤Øą„€ą¤¤ą„‹ नायं ą¤¹ą¤Øą„ą¤¤ą¤æ न ą¤¹ą¤Øą„ą¤Æą¤¤ą„‡ą„„\n", - "\n", - "[Pause for the recitation to resonate with the audience]\n", - "\n", - "Host: (Calmly) \"This translates to: 'The one who kills, and the one who thinks he is killed, are both ignorant. The truth is, the soul can neither kill nor be killed.' \n", - "\n", - "Now, let's unpack this beautifully complex verse.\"\n", - "\n", - "[Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", - "\n", - "Host Voiceover: (Engaging and soothing tone) \"In this verse, Lord Krishna emphasizes the immortality of the soul. The physical body can undergo changes, but the true essence of who we are—our soul—is eternal and cannot be harmed. This understanding leads to profound peace and clarity.\"\n", - "\n", - "[Cut back to Host]\n", - "\n", - "Host: (Nodding thoughtfully) \"Why is this verse crucial for us, especially in challenging times? It invites us to reevaluate how we perceive life, relationships, and our fundamental identity. In moments of upheaval or sorrow, understanding this truth empowers us to rise above fear and despair.\"\n", - "\n", - "[Scene Transition - Gentle Music Playing]\n", - "\n", - "[Cut to a Story Animation - A young woman named Maya navigating through life’s challenges in a bustling city.]\n", - "\n", - "Host (Voiceover): \"Let me share a story that might resonate with many of you. This is Maya. Full of dreams and aspirations, she navigates her way through the tumultuous journey of life. \n", - "\n", - "(Visuals depict Maya juggling work pressure, academic stress, and societal expectations, feeling overwhelmed)\n", - "\n", - "As the years went by, Maya found herself caught in a web of expectations. She started questioning her choices, her worth, and—even more profound—her identity.\"\n", - "\n", - "[Cut back to Host, expressing empathy]\n", - "\n", - "Host: \"Sound familiar? This dilemma, of feeling lost and pressured, is something many of us face today, especially those of us who strive for purpose. It’s easy to think that our worth is attached to our achievements, our appearances, or the roles we play. Yet, the truth of the verse beckons us to look deeper.\"\n", - "\n", - "[Scene Transition - Soft Music Playing while Host meditates]\n", - "\n", - "Host: (Speaking gently) \"Take a moment to reflect: When you've faced hardship or heartbreak, did you allow those circumstances to define you? Or in moments of joy, do you believe that mere happiness captures your essence? Pondering these questions can help unveil the layers of our identity.\"\n", - "\n", - "[Cut to Visuals of Nature - flowing rivers, vibrant flowers, and changing landscapes]\n", - "\n", - "Host Voiceover: \"Nature constantly reminds us of this timeless truth—the ebb and flow, the birth and decay, each phase is crucial, yet none are the essence of nature itself. Like the seasons that come and go, our experiences are transient, yet our spirit remains unscathed.\"\n", - "\n", - "[Cut back to Host - Inviting and Warm Tone]\n", - "\n", - "Host: \"This wisdom affords us a liberating perspective: while life presents us with challenges, it is not those challenges that define us; rather, it is how we respond to them. Recognizing our eternal nature allows us to navigate life with grace and assurance.\"\n", - "\n", - "[Scene Transition - Inspiring Music Gently Builds]\n", - "\n", - "Host: (Passionately) \"Now, how do we embody this profound understanding? Here’s a simple yet powerful exercise: Each day, carve out a few moments to meditate on your immutable self. Reflect on how many layers of identity you wear that are tied to transient aspects of life—your career, your physical appearance, your relationships.\"\n", - "\n", - "[Cut to Host with a journal, jotting down insights]\n", - "\n", - "[Scene Transition - Editing Cues - Visual graphics demonstrating self-discovery, removing layers to reveal the core identity]\n", - "\n", - "Host Voiceover: \"Each time you peel back these layers, you're one step closer to understanding that beneath it all, your spirit is pure, untainted, and eternal. This wisdom is transformative; it empowers you to rise from the ashes of despair into the light of surrender and acceptance.\"\n", - "\n", - "[Cut back to Host]\n", - "\n", - "Host: (Concluding with warmth) \"Thank you for exploring Chapter 2, Verse 19 from the Bhagavad Gita with me today. Remember, in the grand tapestry of life, the threads of our experiences are important, yet it is the essence of our soul that is everlasting. When you feel entangled in life’s complexities, simply return to this truth: You are an eternal being experiencing the human journey.\"\n", - "\n", - "[Closing Scene - Uplifting Music Playing]\n", - "\n", - "Host: \"If this message resonated with you, don’t forget to like, share, and subscribe! And I encourage you to share in the comments below how you connect with your true self or any experiences that have challenged your identity. Together, let's support one another on this beautiful voyage of self-discovery. Until next time, stay enlightened, stay inspired!\"\n", - "\n", - "[End Screen with Subscribe Button and Previous Video Suggestions]\n", - "\n", - "[End of Script]" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "create_script('motivating','self-identity','long')" ] From 1f5afda37bec4293072897ab472c42ad81051843 Mon Sep 17 00:00:00 2001 From: Syed Abrar Ahmad Date: Sun, 10 Aug 2025 16:27:22 +0500 Subject: [PATCH 077/176] Added a new notebook for week 2 Exercise. --- .../week2_exercise_by_abrar.ipynb | 482 ++++++++++++++++++ 1 file changed, 482 insertions(+) create mode 100644 week2/community-contributions/week2_exercise_by_abrar.ipynb diff --git a/week2/community-contributions/week2_exercise_by_abrar.ipynb b/week2/community-contributions/week2_exercise_by_abrar.ipynb new file mode 100644 index 0000000..2c53738 --- /dev/null +++ b/week2/community-contributions/week2_exercise_by_abrar.ipynb @@ -0,0 +1,482 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ddfa9ae6-69fe-444a-b994-8c4c5970a7ec", + "metadata": {}, + "source": [ + "# Project - Cricket Anaylyst AI Assistant\n", + "\n", + "Cricket Analyst AI Assistant is an intelligent tool that analyzes cricket data to compare players, evaluate performances across formats, and provide insightful statistics. It processes historical and recent match data to deliver easy-to-understand summaries, helping fans, analysts, and coaches make informed decisions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import json\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import speech_recognition as sr\n", + "import pandas as pd\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "MODEL = \"gpt-4o-mini\"\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a521d84-d07c-49ab-a0df-d6451499ed97", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"\"\"\n", + "You are a Cricket Analyst AI with deep knowledge of cricket statistics and match analysis.\n", + "When comparing players, call the `analyze_cricket` tool to get factual data before answering.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7be34a6-7288-43b0-ad4e-bbed836cb786", + "metadata": {}, + "outputs": [], + "source": [ + "# Sample cricket stats as a list of dicts\n", + "cricket_data = [\n", + " {\"Player\": \"Virat Kohli\", \"Format\": \"ODI\", \"Year\": 2023, \"Runs\": 1377, \"Matches\": 27, \"Average\": 57.37, \"StrikeRate\": 93.21},\n", + " {\"Player\": \"Virat Kohli\", \"Format\": \"ODI\", \"Year\": 2022, \"Runs\": 765, \"Matches\": 20, \"Average\": 42.50, \"StrikeRate\": 88.40},\n", + " {\"Player\": \"Virat Kohli\", \"Format\": \"ODI\", \"Year\": 2021, \"Runs\": 560, \"Matches\": 15, \"Average\": 40.00, \"StrikeRate\": 90.10},\n", + " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2023, \"Runs\": 1454, \"Matches\": 26, \"Average\": 62.00, \"StrikeRate\": 89.50},\n", + " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2022, \"Runs\": 1198, \"Matches\": 18, \"Average\": 66.55, \"StrikeRate\": 92.00},\n", + " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2021, \"Runs\": 949, \"Matches\": 15, \"Average\": 67.78, \"StrikeRate\": 90.50},\n", + "]" + ] + }, + { + "cell_type": "markdown", + "id": "36bedabf-a0a7-4985-ad8e-07ed6a55a3a4", + "metadata": {}, + "source": [ + "## Tools\n", + "\n", + "Tools starts from here. \n", + "For this notebook, I have just wrote one Tool, you can add multiple tools for your agent." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46a0a260-b11b-4bde-ab80-911a81e2c281", + "metadata": {}, + "outputs": [], + "source": [ + "def analyze_cricket(data_list, player1, player2, match_format=\"ODI\", years=3):\n", + " \"\"\"\n", + " Compare two cricket players' performances using an in-memory list of dicts.\n", + " \"\"\"\n", + " print(\"Tool 'analyze_cricket' is called\")\n", + " df = pd.DataFrame(data_list)\n", + " latest_year = df['Year'].max()\n", + " min_year = latest_year - years + 1\n", + "\n", + " filtered = df[\n", + " (df['Format'].str.upper() == match_format.upper()) &\n", + " (df['Year'] >= min_year) &\n", + " (df['Player'].isin([player1, player2]))\n", + " ]\n", + " if filtered.empty:\n", + " return {\"error\": f\"No data found for {player1} and {player2} in {match_format} for last {years} years.\"}\n", + "\n", + " summary = filtered.groupby(\"Player\").agg({\n", + " \"Matches\": \"sum\",\n", + " \"Runs\": \"sum\",\n", + " \"Average\": \"mean\",\n", + " \"StrikeRate\": \"mean\"\n", + " }).round(2)\n", + "\n", + " return summary.reset_index().to_dict(orient=\"records\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbfd413e-b5d4-42bd-b86f-ed9b4ee360eb", + "metadata": {}, + "outputs": [], + "source": [ + "# Example usage:\n", + "result = analyze_cricket(cricket_data, \"Virat Kohli\", \"Babar Azam\", \"ODI\", 3)\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c92699c1-802b-4948-a654-df89e0c19adb", + "metadata": {}, + "outputs": [], + "source": [ + "# Tool definition \n", + "analyze_cricket_functions = {\n", + " \"name\": \"analyze_cricket\",\n", + " \"description\": \"Compare two cricket players' performances over the last N years.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"player1\": {\"type\": \"string\", \"description\": \"Name of first player\"},\n", + " \"player2\": {\"type\": \"string\", \"description\": \"Name of second player\"},\n", + " \"match_format\": {\"type\": \"string\", \"enum\": [\"ODI\", \"Test\", \"T20\"], \"description\": \"Format of the match\"},\n", + " \"years\": {\"type\": \"integer\", \"description\": \"Number of years to compare\"}\n", + " },\n", + " \"required\": [\"player1\", \"player2\"]\n", + " }\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", + "metadata": {}, + "outputs": [], + "source": [ + "# And this is included in a list of tools:\n", + "\n", + "tools = [{\"type\": \"function\", \"function\": analyze_cricket_functions}]" + ] + }, + { + "cell_type": "markdown", + "id": "c3d3554f-b4e3-4ce7-af6f-68faa6dd2340", + "metadata": {}, + "source": [ + "## Getting OpenAI to use our Tool\n", + "\n", + "There's some fiddly stuff to allow OpenAI \"to call our tool\"\n", + "\n", + "What we actually do is give the LLM the opportunity to inform us that it wants us to run the tool.\n", + "\n", + "Here's how the new chat function looks:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, player1, player2 = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0992986-ea09-4912-a076-8e5603ee631f", + "metadata": {}, + "outputs": [], + "source": [ + "# We have to write that function handle_tool_call:\n", + "\n", + "def handle_tool_call(message):\n", + " tool_call = message.tool_calls[0]\n", + " print(\"tool_call.id\", tool_call.id)\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " print(\"arguments\", arguments)\n", + " player1 = arguments.get('player1')\n", + " player2 = arguments.get('player2')\n", + " match_format = arguments.get('match_format', 'ODI')\n", + " years = arguments.get('years', 3)\n", + " result = analyze_cricket(cricket_data, player1, player2, match_format, years)\n", + " print(\"result from analyze_cricket function: \", result)\n", + " response = {\n", + " \"role\": \"tool\",\n", + " \"content\": json.dumps(result),\n", + " \"tool_call_id\": tool_call.id\n", + " }\n", + " return response, player1, player2" + ] + }, + { + "cell_type": "markdown", + "id": "924e7225-b76d-4518-abad-5bea5c356cf8", + "metadata": {}, + "source": [ + "# Sample User prompt\n", + "\n", + "1. ### Compare Babar and Virat in ODI matches over the last 3 years.\n", + "Here \n", + "Player1 is Babar\n", + "Player2 is Virat\n", + "match_format is ODI\n", + "years is 3\n", + "\n", + "\n", + "2. ### can you please give me the comparison of Virat and babar?\n", + "Here you are not provided the info of format and number of years. In this case, the function will pick the default values for the match format, which is ODI and years which is 3.\n", + "\n", + "\n", + "3. ### Compare Rizwan and Babar in ODI Matches over the last years.\n", + "The given data is not available in the above data list. \n", + "- **Output**: \n", + "It seems that I couldn't retrieve specific data for Mohammad Rizwan and Babar Azam in ODI matches over the last three years. However, I can provide a general comparison based on available statistics up to October 2023.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", + "metadata": {}, + "outputs": [], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + }, + { + "cell_type": "markdown", + "id": "473e5b39-da8f-4db1-83ae-dbaca2e9531e", + "metadata": {}, + "source": [ + "# Let's go multi-modal!!\n", + "\n", + "We can use DALL-E-3, the image generation model behind GPT-4o, to make us some images\n", + "\n", + "Let's put this in a function called artist.\n", + "\n", + "### Price alert: each time I generate an image it costs about 4 cents - don't go crazy with images!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c27c4ba-8ed5-492f-add1-02ce9c81d34c", + "metadata": {}, + "outputs": [], + "source": [ + "# Some imports for handling images\n", + "\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "773a9f11-557e-43c9-ad50-56cbec3a0f8f", + "metadata": {}, + "outputs": [], + "source": [ + "def artist(player1, player2):\n", + " return None\n", + " # image_response = openai.images.generate(\n", + " # model=\"dall-e-3\",\n", + " # prompt=f\"An image representing a comparison of {player1} and {player2}, showing their country flags and bowling or batting style\",\n", + " # size=\"1024x1024\",\n", + " # n=1,\n", + " # response_format=\"b64_json\",\n", + " # )\n", + " # image_base64 = image_response.data[0].b64_json\n", + " # image_data = base64.b64decode(image_base64)\n", + " # return Image.open(BytesIO(image_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d877c453-e7fb-482a-88aa-1a03f976b9e9", + "metadata": {}, + "outputs": [], + "source": [ + "image = artist(\"Babar\", \"Virat\")\n", + "display(image)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "728a12c5-adc3-415d-bb05-82beb73b079b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffbfe93b-5e86-4e68-ba71-b301cd5230db", + "metadata": {}, + "outputs": [], + "source": [ + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play(audio)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b88d775d-d357-4292-a1ad-5dc5ed567281", + "metadata": {}, + "outputs": [], + "source": [ + "talker(\"Well, hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "1d48876d-c4fa-46a8-a04f-f9fadf61fb0d", + "metadata": {}, + "source": [ + "# Our Agent Framework\n", + "\n", + "The term 'Agentic AI' and Agentization is an umbrella term that refers to a number of techniques, such as:\n", + "\n", + "1. Breaking a complex problem into smaller steps, with multiple LLMs carrying out specialized tasks\n", + "2. The ability for LLMs to use Tools to give them additional capabilities\n", + "3. The 'Agent Environment' which allows Agents to collaborate\n", + "4. An LLM can act as the Planner, dividing bigger tasks into smaller ones for the specialists\n", + "5. The concept of an Agent having autonomy / agency, beyond just responding to a prompt - such as Memory\n", + "\n", + "We're showing 1 and 2 here, and to a lesser extent 3 and 5. In week 8 we will do the lot!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba820c95-02f5-499e-8f3c-8727ee0a6c0c", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + " image = None\n", + " \n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, player1, player2 = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " \n", + " image = artist(player1, player2) #QUERY: how can i pass the value of format_dropdown in this function? \n", + " \n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " reply = response.choices[0].message.content\n", + " history += [{\"role\":\"assistant\", \"content\":reply}]\n", + "\n", + " # Comment out or delete the next line if you'd rather skip Audio for now..\n", + " talker(reply)\n", + " \n", + " return history, image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38d0d27-33bf-4992-a2e5-5dbed973cde7", + "metadata": {}, + "outputs": [], + "source": [ + "# More involved Gradio code as we're not using the preset Chat interface!\n", + "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", + "\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " image_output = gr.Image(height=500)\n", + "\n", + " with gr.Row(): #QUERY: How can I receive the value of \"Yes\" or \"No\" in chat function?\n", + " format_dropdown = gr.Dropdown(\n", + " choices=[\"Yes\", \"No\"],\n", + " label=\"Do you want image?\"\n", + " )\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def do_entry(message, history):\n", + " history += [{\"role\": \"user\", \"content\": message}]\n", + " return \"\", history\n", + "\n", + " entry.submit(do_entry, inputs=[entry, chatbot, format_dropdown], outputs=[entry, chatbot]).then(\n", + " chat, inputs=chatbot, outputs=[chatbot, image_output]\n", + " ) #QUERY: This part is a little bit confusing for me.\n", + " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 9112f629f25dc65c2bab22036d02a7e593fb3c9f Mon Sep 17 00:00:00 2001 From: vaishnavipalyam Date: Sun, 10 Aug 2025 17:17:31 +0530 Subject: [PATCH 078/176] Delete week1/day5_GitaScripting.ipynb --- week1/day5_GitaScripting.ipynb | 338 --------------------------------- 1 file changed, 338 deletions(-) delete mode 100644 week1/day5_GitaScripting.ipynb diff --git a/week1/day5_GitaScripting.ipynb b/week1/day5_GitaScripting.ipynb deleted file mode 100644 index 964b183..0000000 --- a/week1/day5_GitaScripting.ipynb +++ /dev/null @@ -1,338 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "7759922b-12c9-44e0-8ac3-5f2a02b321d7", - "metadata": {}, - "outputs": [], - "source": [ - "import fitz # PyMuPDF\n", - "import os\n", - "import requests\n", - "import json\n", - "from typing import List\n", - "from dotenv import load_dotenv\n", - "from IPython.display import Markdown, display, update_display\n", - "from openai import OpenAI" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a266273a-05e3-451e-a318-428726cfa39c", - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize and constants\n", - "\n", - "load_dotenv(override=True)\n", - "api_key = os.getenv('OPENAI_API_KEY')\n", - "\n", - "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", - " print(\"API key looks good so far\")\n", - "else:\n", - " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", - " \n", - "MODEL = 'gpt-4o-mini'\n", - "openai = OpenAI()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45566572-dd66-48dc-ab7b-6adbe26eacba", - "metadata": {}, - "outputs": [], - "source": [ - "exceptions = []" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "effc0e7b-d668-48b3-86d0-dbb5d8fe3d55", - "metadata": {}, - "outputs": [], - "source": [ - "# Building system prompt\n", - "def get_verse_system_prompt():\n", - " system_prompt = \"You are a spiritual student who classifies the versus of the BhagavadGita according to a given theme.\\n\"\n", - " system_prompt += \"Given a theme, you should pick a verse from any chapter and give it's location in the form of index chapter.verse_number (6.2)\\n\"\n", - " system_prompt += \"You should respond in JSON as in this example:\\n\"\n", - " system_prompt += \"\"\"\n", - " {\"title\": \"Chapter 3, Verse 21 (3.21)\", \"verse\": \"ą¤•ą¤°ą„ą¤®ą¤£ą¤¾ ą¤¹ą„ą¤Æą¤Ŗą¤æ ą¤øą¤‚ą¤øą¤æą¤¦ą„ą¤§ą¤æą¤®ą„ā€Œ\n", - " ą¤†ą¤øą„ą¤„ą¤æą¤¤ą¤¾ ą¤œą¤Øą¤•ą¤¾ą¤¦ą¤Æ:ą„¤\n", - " ą¤²ą„‹ą¤•ą¤øą¤‚ą¤—ą„ą¤°ą¤¹ą¤®ą„‡ą¤µą¤¾ą¤Ŗą¤æ\n", - " ą¤øą¤®ą„ą¤Ŗą¤¶ą„ą¤Æą¤Øą„ą¤•ą¤°ą„ą¤¤ą„ą¤®ą¤°ą„ą¤¹ą¤øą¤æą„„\"}\n", - " \"\"\"\n", - " return system_prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bbfb1035-b183-4481-9b49-3cc1b12b42e8", - "metadata": {}, - "outputs": [], - "source": [ - "print(get_verse_system_prompt())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6acdcd6c-1fc5-4c71-81d0-665e25808e46", - "metadata": {}, - "outputs": [], - "source": [ - "# Define user prompt\n", - "def get_verse_user_prompt(theme):\n", - " user_prompt = f'''\n", - " Here is the theme : {theme},\n", - " Please find a verse from BhagavadGita excluding {exceptions} for a given theme {theme}\n", - " '''#excluding those results which are already used\n", - " \n", - " user_prompt += \"If the verse is not in the exceptions for a given theme and used for a different theme, you are free to suggest it for a different theme.\"\n", - " return user_prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72f5c755-ec2d-4545-9a31-0f6b2e5ed4da", - "metadata": {}, - "outputs": [], - "source": [ - "print(get_verse_user_prompt('motivation'))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "304d432c-7216-4a90-a5d8-db36b193657d", - "metadata": {}, - "outputs": [], - "source": [ - "#Call openAI to return versus\n", - "def get_verses(theme):\n", - " response = openai.chat.completions.create(\n", - " model=MODEL,\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": get_verse_system_prompt()},\n", - " {\"role\": \"user\", \"content\": get_verse_user_prompt(theme)}\n", - " ],\n", - " response_format={\"type\": \"json_object\"}\n", - " )\n", - " result = response.choices[0].message.content\n", - " result = json.loads(result)\n", - "\n", - " #Remember those results which are suggested now\n", - " combination = (theme, result['title'])\n", - " exceptions.append(combination)\n", - " return result" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b90eeb35-e10e-48ee-ade6-e0594da8c51b", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "print(get_verses('motivation'))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b5b8925e-52e4-4cb7-9205-51c65ed88fb8", - "metadata": {}, - "outputs": [], - "source": [ - "# So far we have fetched the new verses relevant to a given theme \n", - "# Lets generate a script for producting youtube video" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8ff0862b-0310-4174-ad12-64047932dc9e", - "metadata": {}, - "outputs": [], - "source": [ - "#def function for system prompt\n", - "def get_script_system_prompt(tone, theme, format):\n", - " sys_prompt = 'You are a script writer for a youtube spiritual channel\\n'\n", - " sys_prompt += 'You are given a verse like below: \\n'\n", - " sys_prompt += str(get_verses(theme))\n", - " sys_prompt += '\\n'\n", - " sys_prompt += f'Give me an engaging script in a {tone} tone for a {format} format video for audience like youth seeking purpose, spiritual seekers, indians abroad, scholars and curious minds.'\n", - "\n", - " return sys_prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47476516-cd2f-4b16-b378-a70617bbe284", - "metadata": {}, - "outputs": [], - "source": [ - "print(get_script_system_prompt('Motivating','motivation','long'))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e305525b-8dde-4e93-927a-e24531827498", - "metadata": {}, - "outputs": [], - "source": [ - "# def function for user prompt\n", - "def get_script_user_prompt(format, theme):\n", - " user_prompt = f'Given the verse, help me generate a detailed script suitable for {format} format video.\\n'\n", - " user_prompt += f'Please give me the complete verse, its meaning, a relevant story having a dilemma which the verse solves and the interpretation of the verse with respect to {theme}.\\n'\n", - " user_prompt += 'Let the script give cues about video editing, host actions.'\n", - " user_prompt += 'given the below example, please follow the format:\\n'\n", - " user_prompt += \"\"\"\n", - " [Opening Scene - Soft Instrumental Music Playing]\n", - "\n", - " [Cut to Host in a serene setting, perhaps by a river or in a lush green garden.]\n", - "\n", - " Host: (Smiling at the camera) \"Namaste, dear viewers! Welcome back to our channel, where we explore the depths of spirituality and seek to ignite the flame of wisdom within you. Today, we delve into a profound verse from the Bhagavad Gita that speaks to the very essence of life and identity.\"\n", - "\n", - " [Text On Screen: Chapter 2, Verse 13 (2.13)]\n", - "\n", - " Host: (With a sense of reverence) \"Let’s first take a moment to recite this verse together. It goes like this:\n", - "\n", - " ą¤¦ą„‡ą¤¹ą¤æą¤Øą„‹ą¤½ą¤øą„ą¤®ą¤æą¤Øą„ą¤Øą„ą¤Æą¤„ą¤¾ ą¤¦ą„‡ą¤¹ą„‡ ą¤•ą„Œą¤®ą¤¾ą¤°ą¤‚ ą¤Æą„Œą¤µą¤Øą¤‚ ą¤œą¤°ą¤¾ą„¤\n", - " ą¤¤ą¤„ą¤¾ą¤¦ą„‡ą¤¹ą¤¾ą¤Øą„ą¤¤ą¤°ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ą¤æą¤°ą„ą¤§ą„€ą¤°ą¤øą„ą¤¤ą¤¤ą„ą¤° न ą¤®ą„ą¤¹ą„ą¤Æą¤¤ą¤æą„„\n", - "\n", - " Now, let’s understand the essence of this verse.\"\n", - "\n", - " [Cut to Graphic: Verse Translation with Key Concepts Highlighted]\n", - "\n", - " Host Voiceover: (Calm and engaging tone) \"The meaning of this beautiful verse translates to: 'Just as the body undergoes changes from childhood to old age, similarly, the soul transitions from one body to another. The wise, who understand this, are never bewildered by these changes.'\n", - "\n", - " [Cut back to Host]\n", - "\n", - " Host: (Nodding, creating a connection)\n", - " \"So, why is this verse so important, especially for us as young seekers of purpose? It highlights a profound truth—that our identities are not confined by our physical forms or the stages of life we experience. Instead, we are eternal beings who are constantly evolving.\"\n", - "\n", - " [Scene Transition - Soft Music Playing]\n", - "\n", - " [Cut to a Story Animation - A young man named Arjun in a busy city]\n", - "\n", - " Host (Voiceover): \"Let me share a relatable story. Meet Arjun. Like many of us, he was once full of dreams and aspirations. He excelling in school, pursuing a career in engineering. But as the years passed, he faced a crossroads. As the pressure mounted, he began to question his identity.\n", - "\n", - " (Visuals show Arjun overwhelmed by societal expectations, with people pushing him in different directions.)\n", - "\n", - " He felt distinct phases of life pulling at him: childhood dreams, youthful ambitions, and the looming responsibilities of adulthood. The changing seasons of his life left him confused and wondering if he had lost his true self.\"\n", - "\n", - " [Cut back to Host, empathetic tone]\n", - "\n", - " Host: \"Have you ever felt like Arjun? It’s a dilemma we all face, especially in today's fast-paced world where expectations can cloud our true identity. But just like our verse suggests, we should recognize that these changes don’t define us. They are simply part of the journey.\"\n", - "\n", - " [Scene Transition - Calm Music Playing while Host meditates]\n", - "\n", - " Host: (Speaking gently) \"Let’s take a moment to reflect. When we are sad, does that sadness define us? Or when we achieve success, do we become defined solely by that success? The answer isn't as straightforward as it seems. Here’s the catch: our essence is beyond these transient states. Like the body, our identities are fluid.\"\n", - "\n", - " [Cut to Visuals of Nature - flowing rivers, trees shedding leaves, etc.]\n", - "\n", - " Host Voiceover: \"Imagine the endless cycle of nature—the changing seasons, the growth, the decay, and rebirth. Just like the leaves that drop to make way for new growth, our experiences contribute to our spiritual evolution.\"\n", - "\n", - " [Cut back to Host - Inviting and Warm Tone]\n", - "\n", - " Host: \"Just as the wise who understand the transformation of the soul remain unshaken, we, too, can cultivate that wisdom to rise above the chaos of change. Recognize your true essence—beyond the body, the roles, the titles. Understand that your spirit is eternal.\"\n", - "\n", - " [Scene Transition - Soft Inspirational Music Begins]\n", - "\n", - " Host: (Passionately) \"So how can we embody this truth in our daily lives? Here’s a small exercise: Each day, take a few moments to meditate on who you really are. Write down what aspects of your identity are tied to transient things. Challenge yourself—what happens when you peel these layers away?\"\n", - "\n", - " [Cut to host with a pad, writing ideas]\n", - "\n", - " [Scene Transition - Editing Cues - Show engaging graphics of identity, layers of a person, etc.]\n", - "\n", - " Host Voiceover: \"Each effort towards understanding and embracing our true self draws us closer to the realization that we are eternal souls, having a human experience. This is the wisdom that can empower you to stand tall against the adversities of life.\"\n", - "\n", - " [Cut back to Host]\n", - "\n", - " Host: (Concluding) \"Thank you for joining me today in this exploration of Chapter 2, Verse 13 of the Bhagavad Gita. Remember, when you feel lost in the complexities of life, return to this teachings and remind yourself that you are not just a body; you are an eternal being on a magnificent journey.\n", - "\n", - " [Closing Scene - Uplifting Music Playing]\n", - "\n", - " Host: \"Don’t forget to like, share, and subscribe if you found resonance in this message. And share your thoughts in the comments below. What did you find most challenging in your own journey of self-identity? Let’s connect and support each other in our spiritual quests. Until next time, stay enlightened, stay inspired!\"\n", - "\n", - " [End Screen with Subscribe Button and Previous Video Suggestions]\n", - "\n", - " [End of Script]\n", - " \"\"\"\n", - " \n", - " return user_prompt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c4b29cb9-d8d1-413a-8152-4250e2430a42", - "metadata": {}, - "outputs": [], - "source": [ - "print(get_script_user_prompt('long','motivation'))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1dfa60ce-9e88-4f7d-8e60-ac37a0aafc15", - "metadata": {}, - "outputs": [], - "source": [ - "def create_script(tone, theme, format):\n", - " response = openai.chat.completions.create(\n", - " model=MODEL,\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": get_script_system_prompt(tone,theme,format)},\n", - " {\"role\": \"user\", \"content\": get_script_user_prompt(format,theme)}\n", - " ],\n", - " )\n", - " result = response.choices[0].message.content\n", - " display(Markdown(result))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ec86c436-42ae-4313-b12f-4fad42ab2227", - "metadata": {}, - "outputs": [], - "source": [ - "create_script('motivating','self-identity','long')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From efcd9af9afe3be43df85438e3bef188679a39c12 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Sun, 10 Aug 2025 22:53:28 +0300 Subject: [PATCH 079/176] Update day5 --- .../rwothoromo/day5.ipynb | 698 ++++++++++++++++++ .../rwothoromo/week2 EXERCISE.ipynb | 51 ++ 2 files changed, 749 insertions(+) create mode 100644 week2/community-contributions/rwothoromo/day5.ipynb create mode 100644 week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb diff --git a/week2/community-contributions/rwothoromo/day5.ipynb b/week2/community-contributions/rwothoromo/day5.ipynb new file mode 100644 index 0000000..f591fa9 --- /dev/null +++ b/week2/community-contributions/rwothoromo/day5.ipynb @@ -0,0 +1,698 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ddfa9ae6-69fe-444a-b994-8c4c5970a7ec", + "metadata": {}, + "source": [ + "# Project - Airline AI Assistant\n", + "\n", + "We'll now bring together what we've learned to make an AI Customer Support assistant for an Airline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os, json, gradio as gr\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "MODEL = \"gpt-4o-mini\"\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a521d84-d07c-49ab-a0df-d6451499ed97", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful assistant for an Airline called FlightAI. \"\n", + "system_message += \"Give short, courteous answers, no more than 1 sentence. \"\n", + "system_message += \"Always be accurate. If you don't know the answer, say so.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", + "metadata": {}, + "outputs": [], + "source": [ + "# Just take in history\n", + "def chat(history):\n", + " message = history[-1][\"content\"] # Get the last message from the user\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response_tool, city = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response_tool)\n", + " image = artist(city)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + "\n", + "\n", + " # After getting the final response from OpenAI\n", + " final_response_content = response.choices[0].message.content\n", + " history.append({\"role\": \"assistant\", \"content\": final_response_content})\n", + "\n", + " # The return value should be a tuple of (history, image)\n", + " return history, image\n", + "\n", + "# gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + }, + { + "cell_type": "markdown", + "id": "36bedabf-a0a7-4985-ad8e-07ed6a55a3a4", + "metadata": {}, + "source": [ + "## Tools\n", + "\n", + "Tools are an incredibly powerful feature provided by the frontier LLMs.\n", + "\n", + "With tools, you can write a function, and have the LLM call that function as part of its response.\n", + "\n", + "Sounds almost spooky.. we're giving it the power to run code on our machine?\n", + "\n", + "Well, kinda." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0696acb1-0b05-4dc2-80d5-771be04f1fb2", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's start by making a useful function\n", + "\n", + "ticket_prices = {\"london\": \"$799\", \"paris\": \"$899\", \"tokyo\": \"$1400\", \"berlin\": \"$499\"}\n", + "\n", + "def get_ticket_price(destination_city):\n", + " print(f\"Tool get_ticket_price called for {destination_city}\")\n", + " city = destination_city.lower()\n", + " return ticket_prices.get(city, \"Unknown\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80ca4e09-6287-4d3f-997d-fa6afbcf6c85", + "metadata": {}, + "outputs": [], + "source": [ + "# get_ticket_price(\"London\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4afceded-7178-4c05-8fa6-9f2085e6a344", + "metadata": {}, + "outputs": [], + "source": [ + "# There's a particular dictionary structure that's required to describe our function:\n", + "\n", + "price_function = {\n", + " \"name\": \"get_ticket_price\",\n", + " \"description\": \"Get the price of a return ticket to the destination city. Call this whenever you need to know the ticket price, for example when a customer asks 'How much is a ticket to this city'\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"destination_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city that the customer wants to travel to\",\n", + " },\n", + " },\n", + " \"required\": [\"destination_city\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", + "metadata": {}, + "outputs": [], + "source": [ + "# And this is included in a list of tools:\n", + "\n", + "tools = [{\"type\": \"function\", \"function\": price_function}]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83070cc0-b213-4309-8040-b0cc8390b64b", + "metadata": {}, + "outputs": [], + "source": [ + "# Simulate the booking process by simply returning a confirmation string.\n", + "\n", + "def book_flight(destination_city, number_of_passengers, booking_date):\n", + " \"\"\"\n", + " Simulates booking a flight.\n", + " \"\"\"\n", + " print(f\"Tool book_flight called for {destination_city} for {number_of_passengers} passengers on {booking_date}\")\n", + " return f\"Your booking to {destination_city} for {number_of_passengers} passengers on {booking_date} has been confirmed. Your booking reference is BKG-{hash(destination_city + str(number_of_passengers) + str(booking_date))}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "781786f0-7106-4b10-89d7-453a0d10d204", + "metadata": {}, + "outputs": [], + "source": [ + "# Tool definition for book_flight\n", + "\n", + "booking_function = {\n", + " \"name\": \"book_flight\",\n", + " \"description\": \"Books a flight for a customer. Call this whenever a customer asks to book a flight.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"destination_city\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The city the customer wants to fly to.\"\n", + " },\n", + " \"number_of_passengers\": {\n", + " \"type\": \"integer\",\n", + " \"description\": \"The number of passengers for the booking.\"\n", + " },\n", + " \"booking_date\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The date of the flight booking in YYYY-MM-DD format.\"\n", + " }\n", + " },\n", + " \"required\": [\"destination_city\", \"number_of_passengers\", \"booking_date\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3fc237c-9721-4fee-a56b-2ff12fc98e27", + "metadata": {}, + "outputs": [], + "source": [ + "# Add the new booking_function to the existing tools list.\n", + "\n", + "tools.append({\"type\": \"function\", \"function\": booking_function})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a482eb03-188a-4526-8acf-3a1fe96aaaf0", + "metadata": {}, + "outputs": [], + "source": [ + "# To translate to a given language\n", + "\n", + "def translate_text(text, target_language):\n", + " \"\"\"\n", + " Translates text to a specified language.\n", + " \n", + " Args:\n", + " text (str): The text to translate.\n", + " target_language (str): The language to translate the text into.\n", + " \n", + " Returns:\n", + " str: The translated text or an error message.\n", + " \"\"\"\n", + " print(f\"Tool translate_text called to translate to {target_language}\")\n", + " \n", + " # Use a system prompt to instruct the model to perform a translation\n", + " system_prompt_for_language = f\"You are a helpful translation assistant. Translate the following text into {target_language}. Only provide the translated text without any additional conversational text.\"\n", + " \n", + " try:\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt_for_language},\n", + " {\"role\": \"user\", \"content\": text}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " return result\n", + " \n", + " except Exception as e:\n", + " print(f\"Error during translation: {e}\")\n", + " return \"Sorry, I encountered an error and could not complete the translation.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "756e9859-94bc-4cef-bbc7-070d8ef6164b", + "metadata": {}, + "outputs": [], + "source": [ + "# Tool definition for translate_text\n", + "\n", + "translation_function = {\n", + " \"name\": \"translate_text\",\n", + " \"description\": \"Translates a given text to a specified target language. Call this whenever a customer asks for a translation.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"text\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The text to be translated.\"\n", + " },\n", + " \"target_language\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The language to translate the text into (e.g., 'French', 'Spanish', 'Swahili').\"\n", + " }\n", + " },\n", + " \"required\": [\"text\", \"target_language\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5444455e-6e5c-4ef6-bd39-5ff01731dd4b", + "metadata": {}, + "outputs": [], + "source": [ + "# Integrate the tool\n", + "\n", + "tools.append({\"type\": \"function\", \"function\": translation_function})" + ] + }, + { + "cell_type": "markdown", + "id": "c3d3554f-b4e3-4ce7-af6f-68faa6dd2340", + "metadata": {}, + "source": [ + "## Getting OpenAI to use our Tool\n", + "\n", + "There's some fiddly stuff to allow OpenAI \"to call our tool\"\n", + "\n", + "What we actually do is give the LLM the opportunity to inform us that it wants us to run the tool.\n", + "\n", + "Here's how the new chat function looks:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, city = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0992986-ea09-4912-a076-8e5603ee631f", + "metadata": {}, + "outputs": [], + "source": [ + "# We have to write that function handle_tool_call:\n", + "\n", + "# Handle multiple tools\n", + "def handle_tool_call(message):\n", + " tool_call = message.tool_calls[0]\n", + " function_name = tool_call.function.name\n", + " arguments = json.loads(tool_call.function.arguments)\n", + "\n", + " destination_city = None\n", + " translated_text = None\n", + "\n", + " if function_name == \"get_ticket_price\":\n", + " city = arguments.get('destination_city')\n", + " price = get_ticket_price(city)\n", + " response_content = json.dumps({\"destination_city\": city, \"price\": price})\n", + " destination_city = city\n", + " elif function_name == \"book_flight\":\n", + " destination_city = arguments.get('destination_city')\n", + " number_of_passengers = arguments.get('number_of_passengers')\n", + " booking_date = arguments.get('booking_date')\n", + " confirmation = book_flight(destination_city, number_of_passengers, booking_date)\n", + " response_content = json.dumps({\"confirmation_message\": confirmation})\n", + " elif function_name == \"translate_text\":\n", + " text = arguments.get('text')\n", + " target_language = arguments.get('target_language')\n", + " translated_text = translate_text(text, target_language)\n", + " response_content = json.dumps({\"translated_text\": translated_text})\n", + " else:\n", + " response_content = json.dumps({\"error\": f\"Unknown tool: {function_name}\"})\n", + "\n", + " response = {\n", + " \"role\": \"tool\",\n", + " \"content\": response_content,\n", + " \"tool_call_id\": tool_call.id\n", + " }\n", + " return response, destination_city" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", + "metadata": {}, + "outputs": [], + "source": [ + "# gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + }, + { + "cell_type": "markdown", + "id": "473e5b39-da8f-4db1-83ae-dbaca2e9531e", + "metadata": {}, + "source": [ + "# Let's go multi-modal!!\n", + "\n", + "We can use DALL-E-3, the image generation model behind GPT-4o, to make us some images\n", + "\n", + "Let's put this in a function called artist.\n", + "\n", + "### Price alert: each time I generate an image it costs about 4 cents - don't go crazy with images!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c27c4ba-8ed5-492f-add1-02ce9c81d34c", + "metadata": {}, + "outputs": [], + "source": [ + "# Some imports for handling images\n", + "\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "773a9f11-557e-43c9-ad50-56cbec3a0f8f", + "metadata": {}, + "outputs": [], + "source": [ + "def artist(city):\n", + " image_response = openai.images.generate(\n", + " model=\"dall-e-3\",\n", + " prompt=f\"An image representing a vacation in {city}, showing tourist spots and everything unique about {city}, in a vibrant pop-art style\",\n", + " size=\"1024x1024\",\n", + " n=1,\n", + " response_format=\"b64_json\",\n", + " )\n", + " image_base64 = image_response.data[0].b64_json\n", + " image_data = base64.b64decode(image_base64)\n", + " return Image.open(BytesIO(image_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d877c453-e7fb-482a-88aa-1a03f976b9e9", + "metadata": {}, + "outputs": [], + "source": [ + "# image = artist(\"New York City\")\n", + "# display(image)" + ] + }, + { + "cell_type": "markdown", + "id": "f4975b87-19e9-4ade-a232-9b809ec75c9a", + "metadata": {}, + "source": [ + "## Audio (NOTE - Audio is optional for this course - feel free to skip Audio if it causes trouble!)\n", + "\n", + "And let's make a function talker that uses OpenAI's speech model to generate Audio\n", + "\n", + "### Troubleshooting Audio issues\n", + "\n", + "If you have any problems running this code below (like a FileNotFound error, or a warning of a missing package), you may need to install FFmpeg, a very popular audio utility.\n", + "\n", + "**For Mac Users**\n", + "\n", + "1. Install homebrew if you don't have it already by running this in a Terminal window and following any instructions: \n", + "`/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"`\n", + "\n", + "2. Then install FFmpeg with `brew install ffmpeg`\n", + "\n", + "3. Verify your installation with `ffmpeg -version` and if everything is good, within Jupyter Lab do Kernel -> Restart kernel to pick up the changes\n", + "\n", + "Message me or email me at ed@edwarddonner.com with any problems!" + ] + }, + { + "cell_type": "markdown", + "id": "4cc90e80-c96e-4dd4-b9d6-386fe2b7e797", + "metadata": {}, + "source": [ + "## To check you now have ffmpeg and can access it here\n", + "\n", + "Excecute the next cell to see if you get a version number. (Putting an exclamation mark before something in Jupyter Lab tells it to run it as a terminal command rather than python code).\n", + "\n", + "If this doesn't work, you may need to actually save and close down your Jupyter lab, and start it again from a new Terminal window (Mac) or Anaconda prompt (PC), remembering to activate the llms environment. This ensures you pick up ffmpeg.\n", + "\n", + "And if that doesn't work, please contact me!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b3be0fb-1d34-4693-ab6f-dbff190afcd7", + "metadata": {}, + "outputs": [], + "source": [ + "!ffmpeg -version\n", + "!ffprobe -version\n", + "!ffplay -version" + ] + }, + { + "cell_type": "markdown", + "id": "d91d3f8f-e505-4e3c-a87c-9e42ed823db6", + "metadata": {}, + "source": [ + "# For Mac users - and possibly many PC users too\n", + "\n", + "This version should work fine for you. It might work for Windows users too, but you might get a Permissions error writing to a temp file. If so, see the next section!\n", + "\n", + "As always, if you have problems, please contact me! (You could also comment out the audio talker() in the later code if you're less interested in audio generation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffbfe93b-5e86-4e68-ba71-b301cd5230db", + "metadata": {}, + "outputs": [], + "source": [ + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"alloy\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play(audio)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b88d775d-d357-4292-a1ad-5dc5ed567281", + "metadata": {}, + "outputs": [], + "source": [ + "# talker(\"Well, hi there\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38d0d27-33bf-4992-a2e5-5dbed973cde7", + "metadata": {}, + "outputs": [], + "source": [ + "# More involved Gradio code as we're not using the preset Chat interface!\n", + "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", + "\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500)\n", + " image = gr.Image(height=500)\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " with gr.Row():\n", + " languages = [\"English\", \"Swahili\", \"French\", \"Chinese\", \"German\"]\n", + " language_dropdown = gr.Dropdown(\n", + " label=\"Select a language for translation\",\n", + " choices=languages,\n", + " value=languages[0] # Default to English\n", + " )\n", + "\n", + " audio_options = [\"Yes\", \"No\"]\n", + " audio_dropdown = gr.Dropdown(\n", + " label=\"Select whether to respond with audio\",\n", + " choices=audio_options,\n", + " value=audio_options[1] # Default to No\n", + " )\n", + " \n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def user_message_updater(user_message, history):\n", + " return \"\", history + [[user_message, None]]\n", + "\n", + " def chat_with_assistant(history, target_language, audio_response):\n", + " message = history[-1][0] # Get the user's message from the last list in history\n", + " \n", + " # Use the existing chat logic\n", + " messages = [{\"role\": \"system\", \"content\": system_message}]\n", + " for msg_user, msg_assistant in history:\n", + " messages.append({\"role\": \"user\", \"content\": msg_user})\n", + " if msg_assistant:\n", + " messages.append({\"role\": \"assistant\", \"content\": msg_assistant})\n", + " \n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + " \n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response_tool, city = handle_tool_call(message)\n", + "\n", + " messages.append(message.model_dump()) # Append message as a dictionary using .model_dump()\n", + " messages.append(response_tool)\n", + " \n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " \n", + " final_response_content = response.choices[0].message.content\n", + " history[-1][1] = final_response_content # Update the last message with the assistant's reply\n", + "\n", + " if target_language != \"English\": # Assuming \"English\" is the default and no translation is needed\n", + " translated_response = translate_text(final_response_content, target_language)\n", + " final_response_content = translated_response\n", + "\n", + " history[-1][1] = final_response_content\n", + "\n", + " if audio_response != \"No\":\n", + " talker(final_response_content)\n", + "\n", + " return history, None # Return a tuple of (the updated history, an empty image)\n", + "\n", + " entry.submit(\n", + " user_message_updater,\n", + " inputs=[entry, chatbot],\n", + " outputs=[entry, chatbot],\n", + " queue=False\n", + " ).then(\n", + " chat_with_assistant, \n", + " inputs=[chatbot, language_dropdown, audio_dropdown],\n", + " outputs=[chatbot, image]\n", + " )\n", + " \n", + " clear.click(lambda: None, inputs=None, outputs=[chatbot, image], queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26ab4bd7-b7c4-4e1c-aa51-578326660370", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69a51144-0e51-4bbf-b5d0-a9e0a60d05ae", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39144b88-fc11-4156-84f9-d9157ddaec47", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb new file mode 100644 index 0000000..bebf2cd --- /dev/null +++ b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb @@ -0,0 +1,51 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d006b2ea-9dfe-49c7-88a9-a5a0775185fd", + "metadata": {}, + "source": [ + "# Additional End of week Exercise - week 2\n", + "\n", + "Now use everything you've learned from Week 2 to build a full prototype for the technical question/answerer you built in Week 1 Exercise.\n", + "\n", + "This should include a Gradio UI, streaming, use of the system prompt to add expertise, and the ability to switch between models. Bonus points if you can demonstrate use of a tool!\n", + "\n", + "If you feel bold, see if you can add audio input so you can talk to it, and have it respond with audio. ChatGPT or Claude can help you, or email me if you have questions.\n", + "\n", + "I will publish a full solution here soon - unless someone beats me to it...\n", + "\n", + "There are so many commercial applications for this, from a language tutor, to a company onboarding solution, to a companion AI to a course (like this one!) I can't wait to see your results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a07e7793-b8f5-44f4-aded-5562f633271a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f38c06c852476b08958acd023c7cb7bdef0bd4bc Mon Sep 17 00:00:00 2001 From: bharathchandrareddy Date: Sun, 10 Aug 2025 16:27:57 -0500 Subject: [PATCH 080/176] added my contributions to community- contibutions --- .../Business_Use_Case_Resume_Upgrader.ipynb | 179 ++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 week1/community-contributions/Business_Use_Case_Resume_Upgrader.ipynb diff --git a/week1/community-contributions/Business_Use_Case_Resume_Upgrader.ipynb b/week1/community-contributions/Business_Use_Case_Resume_Upgrader.ipynb new file mode 100644 index 0000000..173dafd --- /dev/null +++ b/week1/community-contributions/Business_Use_Case_Resume_Upgrader.ipynb @@ -0,0 +1,179 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "606e9c73-50fe-46b9-8df3-ae2246c00a3e", + "metadata": {}, + "source": [ + "# Business Use Case - LLM based Resume Upgrader" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "919f6546-80ec-4d4c-8a80-00228f50e4a0", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from openai import OpenAI\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "markdown", + "id": "b2f5b02c-f782-4578-8a91-07891c39ceb0", + "metadata": {}, + "source": [ + "steps to perform\n", + "-> load API key from env file\n", + "-> create a function to call llm api\n", + "-> create messages for system prompt and user prompt\n", + "-> display the llm output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31aaa20e-4996-43cb-b43a-a1aef80fd391", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv()\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "# error handling\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92f65c91-ca7f-47e6-9fd7-d63b278ba264", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98fc7bac-07c8-4801-9225-8f843837f3c2", + "metadata": {}, + "outputs": [], + "source": [ + "# system prompt\n", + "\n", + "system_prompt = \"\"\"You are a helpful resume editor assistant that provides required assistance in changing a resume to match the given job descrption role \\\n", + "You are given a resume and job description, your job is to understand the resume and job description to suggest upto 6 missing key words in the resume. Then you have to \n", + "suggest how the user can improve his resume by giving upto 3 example sentences using the suggest keywords to fit into their resume.\n", + "by using the following structure provide your response \\\n", + "Sturcture:\n", + "Job role : [Job Role]:\n", + "Candidate Name : [Candidate Name]\n", + "Missing Key words in Resume Based on Given job description:\n", + " - [] Missing key words\n", + " -[] Missing key words\n", + "\n", + "\n", + "Suggestion:\n", + " - [] # write a sentence including the key words to put them in the resume\n", + " - [] # write a sentence including the key words to put them in the resume\n", + "\n", + "Guidelines:\n", + "- give proper keyword suggestions which are essential for the job function. Do not give any unnecesary suggestions\n", + "- Keep the suggested sentences less that 50 words\n", + "- \n", + "\"\"\"\n", + "user_prompt = f'Give me suggestions on how to improve my resume and for the given job description '\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d9c40b5-8e27-41b9-8b88-2c83e7d2b3ec", + "metadata": {}, + "outputs": [], + "source": [ + "# call openai api\n", + "def resume_upgrader(resume:str, job_description:str):\n", + " user_prompt = f'Give me suggestions on how to improve my resume {resume} and for the given job description {job_description}'\n", + " messages = [\n", + " {'role': 'system', 'content': system_prompt},\n", + " {'role': 'user', 'content': user_prompt}\n", + " ]\n", + " try:\n", + " \n", + " response = openai.chat.completions.create(model =\"gpt-4o-mini\", messages = messages)\n", + " return response.choices[0].message.content\n", + " except:\n", + " print('got error while retting the response from api')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5aa29465-c119-4178-90f1-3ebdc9eeb11a", + "metadata": {}, + "outputs": [], + "source": [ + "def print_api_response(response_markdown):\n", + " \"\"\"Print the markdown response\"\"\"\n", + " display(Markdown(response_markdown))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82a92034-6722-4e78-a901-b4ef2b9cbb84", + "metadata": {}, + "outputs": [], + "source": [ + "resume = input(\"Paste your resume in here\")\n", + "job_description = input(\"paste your job descritpion here\")\n", + "response = resume_upgrader(resume, job_description)\n", + "print_api_response(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0be536f-e890-473f-8c68-767bc0e3b47c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 731cb7c5945d65699652bd8b0a30a110459da351 Mon Sep 17 00:00:00 2001 From: ana-047 Date: Sun, 10 Aug 2025 21:20:54 -0700 Subject: [PATCH 081/176] Added HistoryBot Week2 Exercise --- .../HistoryBot-Week2Exercise.ipynb | 398 ++++++++++++++++++ 1 file changed, 398 insertions(+) create mode 100644 week2/community-contributions/HistoryBot-Week2Exercise.ipynb diff --git a/week2/community-contributions/HistoryBot-Week2Exercise.ipynb b/week2/community-contributions/HistoryBot-Week2Exercise.ipynb new file mode 100644 index 0000000..58d1728 --- /dev/null +++ b/week2/community-contributions/HistoryBot-Week2Exercise.ipynb @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6a193ef7-41df-42cb-ab35-fb5fa77a78b9", + "metadata": {}, + "source": [ + "

HelloHistory- Learn History On the Go

" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d813bcdb-fbff-43f8-97ae-28cf1ec2e094", + "metadata": {}, + "outputs": [], + "source": [ + "#Now use everything you've learned from Week 2 to build a full prototype for the technical question/answerer you built in Week 1 Exercise.\n", + "\n", + "#This should include a Gradio UI, streaming, use of the system prompt to add expertise, and the ability to switch between models. Bonus points if you can demonstrate use of a tool!\n", + "\n", + "#If you feel bold, see if you can add audio input so you can talk to it, and have it respond with audio. ChatGPT or Claude can help you, or email me if you have questions." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ace8fd2d-341e-451d-a70e-82fac828299c", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "import gradio as gr" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "591b90d1-9771-40ae-ad99-6e864465a358", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk\n", + "Anthropic API Key exists and begins sk\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "#google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:2]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:2]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "eace2872-0ddb-4b86-ae09-91ad9fc2dd04", + "metadata": {}, + "outputs": [], + "source": [ + "#connect to models\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d5e99852-89f7-41da-84a5-5cf8659faddc", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful tutor teaching people history. You have to answer their questions on historical events.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "01d3fcb8-967e-4841-809a-b428e80c17c9", + "metadata": {}, + "outputs": [], + "source": [ + "#test function\n", + "\n", + "def message_gpt(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " completion = openai.chat.completions.create(\n", + " model='gpt-4o-mini',\n", + " messages=messages,\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a214da55-644f-4469-8167-1b317a7cb8ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'World War II was won by the Allies, a coalition of countries that included the United States, the Soviet Union, the United Kingdom, China, and several other nations. The war officially ended in 1945, with the unconditional surrender of Nazi Germany in May and the surrender of Japan in September.'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "message_gpt(\"Who won World War II?\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "65b9c8ac-1319-46ed-a5d8-82d98cb3d831", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"World War II began on September 1, 1939, when Germany, led by Adolf Hitler, invaded Poland. This invasion was a result of aggressive expansionist policies pursued by Nazi Germany throughout the 1930s, which included the annexation of Austria and the incorporation of Czechoslovakia's Sudetenland.\\n\\nThe invasion of Poland prompted Britain and France to declare war on Germany on September 3, 1939, fulfilling their commitments to support Poland. Tensions had been building in Europe due to unresolved issues from World War I, the rise of totalitarian regimes, and various treaties and alliances. The war would expand rapidly as other nations became involved, eventually leading to a global conflict that lasted until 1945.\"" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "message_gpt(\"How did World War II begin?\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "41618892-8a7b-4871-9d8e-d030fabf1046", + "metadata": {}, + "outputs": [], + "source": [ + "#add streaming \n", + "def stream_gpt(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " stream = openai.chat.completions.create(\n", + " model='gpt-4o-mini',\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "ad6edb2a-9c2c-4b53-bead-6009f493f281", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7861\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "view = gr.Interface(\n", + " fn=stream_gpt,\n", + " inputs=[gr.Textbox(label=\"Ask HistoryBot a question:\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "54be6b30-db25-49b9-aecb-e63daa0b6873", + "metadata": {}, + "outputs": [], + "source": [ + "#streaming with Claude\n", + "\n", + "def stream_claude(prompt):\n", + " result = claude.messages.stream(\n", + " model=\"claude-3-haiku-20240307\",\n", + " max_tokens=1000,\n", + " system=system_message,\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": prompt},\n", + " ],\n", + " )\n", + " response = \"\"\n", + " with result as stream:\n", + " for text in stream.text_stream:\n", + " response += text or \"\"\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "62d94a31-1b2b-4266-8cfa-16e877240aa8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7862\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "view = gr.Interface(\n", + " fn=stream_claude,\n", + " inputs=[gr.Textbox(label=\"Ask HistoryBot a question:\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "b69fdbe0-abc7-429a-aadd-44620035f49e", + "metadata": {}, + "outputs": [], + "source": [ + "# function to select model\n", + "\n", + "def stream_model(prompt, model):\n", + " if model==\"GPT\":\n", + " result = stream_gpt(prompt)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(prompt)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " yield from result" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "40b2961a-2bb2-4a55-9abb-be967e184db9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7864\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "view = gr.Interface(\n", + " fn=stream_model,\n", + " inputs=[gr.Textbox(label=\"Ask HistoryBot a question\"), gr.Dropdown([\"GPT\", \"Claude\"], label=\"Select model\", value=\"GPT\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8b78f97-597a-4d4a-8f7a-c6e982290596", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f4e9798f3dd379cb4bc2cd2a1c99c26e694efb30 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Mon, 11 Aug 2025 09:50:49 +0300 Subject: [PATCH 082/176] Use other model options for translation. Show city image --- .../rwothoromo/day5.ipynb | 111 ++++++++++++------ 1 file changed, 78 insertions(+), 33 deletions(-) diff --git a/week2/community-contributions/rwothoromo/day5.ipynb b/week2/community-contributions/rwothoromo/day5.ipynb index f591fa9..edd2a73 100644 --- a/week2/community-contributions/rwothoromo/day5.ipynb +++ b/week2/community-contributions/rwothoromo/day5.ipynb @@ -19,7 +19,7 @@ "source": [ "# imports\n", "\n", - "import os, json, gradio as gr\n", + "import os, json, gradio as gr, anthropic, google.generativeai\n", "from dotenv import load_dotenv\n", "from openai import OpenAI" ] @@ -42,7 +42,22 @@ " print(\"OpenAI API Key not set\")\n", " \n", "MODEL = \"gpt-4o-mini\"\n", - "openai = OpenAI()" + "openai = OpenAI()\n", + "\n", + "# Other LLMs\n", + "DALL_E_MODEL = \"dall-e-3\"\n", + "\n", + "CLAUDE_MODEL = \"claude-sonnet-4-20250514\"\n", + "claude = anthropic.Anthropic()\n", + "\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")\n", + " \n", + "GEMINI_MODEL= \"gemini-2.5-flash\"\n", + "gemini = google.generativeai.configure()" ] }, { @@ -76,6 +91,7 @@ " messages.append(message)\n", " messages.append(response_tool)\n", " image = artist(city)\n", + " print(\"Avail image for: \", city)\n", " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", "\n", "\n", @@ -167,7 +183,8 @@ "source": [ "# And this is included in a list of tools:\n", "\n", - "tools = [{\"type\": \"function\", \"function\": price_function}]" + "tools = [{\"type\": \"function\", \"function\": price_function}]\n", + "# print(tools)" ] }, { @@ -259,14 +276,39 @@ " system_prompt_for_language = f\"You are a helpful translation assistant. Translate the following text into {target_language}. Only provide the translated text without any additional conversational text.\"\n", " \n", " try:\n", - " response = openai.chat.completions.create(\n", - " model=MODEL,\n", + " # # Using OpenAI\n", + " # response = openai.chat.completions.create(\n", + " # model=MODEL,\n", + " # messages=[\n", + " # {\"role\": \"system\", \"content\": system_prompt_for_language},\n", + " # {\"role\": \"user\", \"content\": text}\n", + " # ],\n", + " # )\n", + " # result = response.choices[0].message.content\n", + " # return result\n", + "\n", + " \n", + " # # Using Gemini\n", + " # gemini = google.generativeai.GenerativeModel(\n", + " # model_name=GEMINI_MODEL,\n", + " # system_instruction=system_prompt_for_language\n", + " # )\n", + " # response = gemini.generate_content(text)\n", + " # result = response.text\n", + " # return result\n", + "\n", + " \n", + " # Using Claude\n", + " response = claude.messages.create(\n", + " model=CLAUDE_MODEL,\n", + " max_tokens=200,\n", + " temperature=0.7,\n", + " system=system_prompt_for_language,\n", " messages=[\n", - " {\"role\": \"system\", \"content\": system_prompt_for_language},\n", - " {\"role\": \"user\", \"content\": text}\n", + " {\"role\": \"user\", \"content\": text},\n", " ],\n", " )\n", - " result = response.choices[0].message.content\n", + " result = response.content[0].text\n", " return result\n", " \n", " except Exception as e:\n", @@ -443,7 +485,7 @@ "source": [ "def artist(city):\n", " image_response = openai.images.generate(\n", - " model=\"dall-e-3\",\n", + " model=DALL_E_MODEL,\n", " prompt=f\"An image representing a vacation in {city}, showing tourist spots and everything unique about {city}, in a vibrant pop-art style\",\n", " size=\"1024x1024\",\n", " n=1,\n", @@ -467,7 +509,7 @@ }, { "cell_type": "markdown", - "id": "f4975b87-19e9-4ade-a232-9b809ec75c9a", + "id": "6dd849b5-31ae-4237-9072-46b210792bf9", "metadata": {}, "source": [ "## Audio (NOTE - Audio is optional for this course - feel free to skip Audio if it causes trouble!)\n", @@ -541,7 +583,7 @@ "def talker(message):\n", " response = openai.audio.speech.create(\n", " model=\"tts-1\",\n", - " voice=\"alloy\", # Also, try replacing onyx with alloy\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", " input=message\n", " )\n", " \n", @@ -575,7 +617,9 @@ " chatbot = gr.Chatbot(height=500)\n", " image = gr.Image(height=500)\n", " with gr.Row():\n", - " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " # entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\", scale=4)\n", + " submit_btn = gr.Button(\"Submit\", scale=1)\n", " with gr.Row():\n", " languages = [\"English\", \"Swahili\", \"French\", \"Chinese\", \"German\"]\n", " language_dropdown = gr.Dropdown(\n", @@ -597,10 +641,9 @@ " def user_message_updater(user_message, history):\n", " return \"\", history + [[user_message, None]]\n", "\n", - " def chat_with_assistant(history, target_language, audio_response):\n", + " def chat_with_assistant(history, target_language, use_audio):\n", " message = history[-1][0] # Get the user's message from the last list in history\n", " \n", - " # Use the existing chat logic\n", " messages = [{\"role\": \"system\", \"content\": system_message}]\n", " for msg_user, msg_assistant in history:\n", " messages.append({\"role\": \"user\", \"content\": msg_user})\n", @@ -608,11 +651,17 @@ " messages.append({\"role\": \"assistant\", \"content\": msg_assistant})\n", " \n", " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", - " \n", + "\n", + " image = None\n", + " \n", " if response.choices[0].finish_reason==\"tool_calls\":\n", " message = response.choices[0].message\n", " response_tool, city = handle_tool_call(message)\n", "\n", + " # Check if a city was returned from the tool call to generate an image\n", + " if city:\n", + " image = artist(city) # Generate an image to represent the target City\n", + "\n", " messages.append(message.model_dump()) # Append message as a dictionary using .model_dump()\n", " messages.append(response_tool)\n", " \n", @@ -628,11 +677,12 @@ "\n", " history[-1][1] = final_response_content\n", "\n", - " if audio_response != \"No\":\n", + " if use_audio != \"No\":\n", " talker(final_response_content)\n", "\n", - " return history, None # Return a tuple of (the updated history, an empty image)\n", + " return history, image # Return a tuple of (the updated history, an image)\n", "\n", + " # The event listeners are updated to be triggered by both the textbox and the new button\n", " entry.submit(\n", " user_message_updater,\n", " inputs=[entry, chatbot],\n", @@ -643,28 +693,23 @@ " inputs=[chatbot, language_dropdown, audio_dropdown],\n", " outputs=[chatbot, image]\n", " )\n", + "\n", + " submit_btn.click(\n", + " user_message_updater,\n", + " inputs=[entry, chatbot],\n", + " outputs=[entry, chatbot],\n", + " queue=False\n", + " ).then(\n", + " chat_with_assistant,\n", + " inputs=[chatbot, language_dropdown, audio_dropdown],\n", + " outputs=[chatbot, image]\n", + " )\n", " \n", " clear.click(lambda: None, inputs=None, outputs=[chatbot, image], queue=False)\n", "\n", "ui.launch(inbrowser=True)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "26ab4bd7-b7c4-4e1c-aa51-578326660370", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69a51144-0e51-4bbf-b5d0-a9e0a60d05ae", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, From 06b191a2d0ef72bf826ceb0dda78d694ad57d952 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Mon, 11 Aug 2025 10:26:27 +0300 Subject: [PATCH 083/176] Introduce audio input and transcription --- .../rwothoromo/day5.ipynb | 81 ++++++++++++++++++- 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/week2/community-contributions/rwothoromo/day5.ipynb b/week2/community-contributions/rwothoromo/day5.ipynb index edd2a73..b51d15b 100644 --- a/week2/community-contributions/rwothoromo/day5.ipynb +++ b/week2/community-contributions/rwothoromo/day5.ipynb @@ -602,6 +602,40 @@ "# talker(\"Well, hi there\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "e927f333-7ed5-4625-9e5a-5e0b62f8a684", + "metadata": {}, + "outputs": [], + "source": [ + "# To transcribe an audio prompt/input\n", + "\n", + "import tempfile\n", + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "\n", + "def transcribe_audio(audio_file):\n", + " \"\"\"\n", + " Transcribes an audio file using OpenAI's Whisper model.\n", + " \"\"\"\n", + " if audio_file is None:\n", + " return \"\"\n", + " \n", + " # The Gradio Audio component returns a tuple (sample_rate, numpy_array)\n", + " # We need to save this to a file to pass to the OpenAI API\n", + " with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=True) as tmpfile:\n", + " audio = AudioSegment.from_file(audio_file, format=\"wav\")\n", + " audio.export(tmpfile.name, format=\"wav\")\n", + " \n", + " with open(tmpfile.name, \"rb\") as audio_file_obj:\n", + " transcript = openai.audio.transcriptions.create(\n", + " model=\"whisper-1\", \n", + " file=audio_file_obj\n", + " )\n", + " return transcript.text" + ] + }, { "cell_type": "code", "execution_count": null, @@ -621,6 +655,12 @@ " entry = gr.Textbox(label=\"Chat with our AI Assistant:\", scale=4)\n", " submit_btn = gr.Button(\"Submit\", scale=1)\n", " with gr.Row():\n", + " # Provide a microphone input\n", + " audio_input = gr.Audio(sources=[\"microphone\"], type=\"filepath\", label=\"Speak to our AI Assistant\", scale=4)\n", + " submit_audio_btn = gr.Button(\"Submit Audio\", scale=1)\n", + "\n", + "\n", + " with gr.Row():\n", " languages = [\"English\", \"Swahili\", \"French\", \"Chinese\", \"German\"]\n", " language_dropdown = gr.Dropdown(\n", " label=\"Select a language for translation\",\n", @@ -641,7 +681,7 @@ " def user_message_updater(user_message, history):\n", " return \"\", history + [[user_message, None]]\n", "\n", - " def chat_with_assistant(history, target_language, use_audio):\n", + " def chat_with_assistant(history, target_language, use_audio_output):\n", " message = history[-1][0] # Get the user's message from the last list in history\n", " \n", " messages = [{\"role\": \"system\", \"content\": system_message}]\n", @@ -677,11 +717,25 @@ "\n", " history[-1][1] = final_response_content\n", "\n", - " if use_audio != \"No\":\n", + " if use_audio_output != \"No\":\n", " talker(final_response_content)\n", "\n", " return history, image # Return a tuple of (the updated history, an image)\n", "\n", + " # This function ties together the transcription and the chat logic\n", + " def transcribe_and_chat(audio_file, history, target_language, use_audio_output):\n", + " if audio_file:\n", + " # Transcribe the audio file to text\n", + " transcribed_text = transcribe_audio(audio_file)\n", + " \n", + " # Update history with the transcribed text\n", + " new_history = history + [[transcribed_text, None]]\n", + " \n", + " # Call the main chat function with the new history\n", + " return chat_with_assistant(new_history, target_language, use_audio_output)\n", + " else:\n", + " return history, None\n", + "\n", " # The event listeners are updated to be triggered by both the textbox and the new button\n", " entry.submit(\n", " user_message_updater,\n", @@ -704,6 +758,21 @@ " inputs=[chatbot, language_dropdown, audio_dropdown],\n", " outputs=[chatbot, image]\n", " )\n", + "\n", + " # Event listener to trigger on audio stop\n", + " audio_input.stop(\n", + " transcribe_and_chat,\n", + " inputs=[audio_input, chatbot, language_dropdown, audio_dropdown],\n", + " outputs=[chatbot, image],\n", + " queue=False\n", + " )\n", + "\n", + " submit_audio_btn.click(\n", + " transcribe_and_chat,\n", + " inputs=[audio_input, chatbot, language_dropdown, audio_dropdown],\n", + " outputs=[chatbot, image],\n", + " queue=False\n", + " )\n", " \n", " clear.click(lambda: None, inputs=None, outputs=[chatbot, image], queue=False)\n", "\n", @@ -717,6 +786,14 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3469b07d-2b9a-4409-bb1c-fbdab3248974", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From e0dfd6610bbae3e51b9471c9a17a5b0c474975e7 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Mon, 11 Aug 2025 13:30:26 +0300 Subject: [PATCH 084/176] Scrape with Ollama, GPT and Claude. Gemini still fails --- .../rwothoromo/week2 EXERCISE.ipynb | 568 +++++++++++++++++- 1 file changed, 567 insertions(+), 1 deletion(-) diff --git a/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb index bebf2cd..4f796dd 100644 --- a/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb +++ b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb @@ -20,10 +20,576 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, + "id": "7b624d5b-69a2-441f-9147-fde105d3d551", + "metadata": {}, + "outputs": [], + "source": [ + "# sample question to use in the Gradle UI that pops up\n", + "\n", + "question = \"\"\"\n", + "How good at Software Development is Elijah Rwothoromo? \\\n", + "He has a Wordpress site https://rwothoromo.wordpress.com/. \\\n", + "He also has a LinkedIn profile https://www.linkedin.com/in/rwothoromoelaijah/. \\\n", + "As well as a GitHub Profile https://www.github.com/rwothoromo/.\\\n", + "What can we learn from him?\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 64, "id": "a07e7793-b8f5-44f4-aded-5562f633271a", "metadata": {}, "outputs": [], + "source": [ + "# imports\n", + "\n", + "import re, requests, os, json, tempfile, gradio as gr, anthropic, google.generativeai, ollama\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "from io import BytesIO\n" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "efb88276-6d74-4d94-95a2-b8ca82a4716c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk-proj-\n", + "Anthropic API Key exists and begins sk-ant-a\n", + "Google API Key exists and begins AIzaSyAS\n" + ] + } + ], + "source": [ + "# Load environment variables\n", + "load_dotenv()\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + "\n", + "\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:8]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "484f0c3e-638d-4af7-bb9b-36faf6048f3c", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_CLAUDE = \"claude-sonnet-4-20250514\"\n", + "MODEL_GEMINI = \"gemini-2.5-flash\"\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'\n" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "2e292401-e62f-4bfc-b060-07462ad20d3d", + "metadata": {}, + "outputs": [], + "source": [ + "# system messages\n", + "\n", + "system_message = \"You are an expert assistant. Synthesize a comprehensive answer in markdown format.\"\n", + "system_prompt_with_url_data = \"You are an expert assistant. \\\n", + " Analyze the user's question and the provided text from relevant websites to synthesize a comprehensive answer in markdown format.\\\n", + " Provide a short summary, ignoring text that might be navigation-related.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "84252e03-ccde-4ecf-975b-78227291ca5c", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "49396924-47c2-4f7d-baa2-9b0fece9da4a", + "metadata": {}, + "outputs": [], + "source": [ + "# Website class for URLs to be scraped\n", + "\n", + "class Website:\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "c4d23747-d78a-4f36-9862-c00e1e8d9e44", + "metadata": {}, + "outputs": [], + "source": [ + "# Instantiate models with API keys from environment variables\n", + "\n", + "openai = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", + "claude = anthropic.Anthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n", + "google.generativeai.configure(api_key=os.getenv(\"GOOGLE_API_KEY\"))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "67e150be-502e-4ba4-9586-3a2f3fae3830", + "metadata": {}, + "outputs": [], + "source": [ + "# To scrape data based on URLs in the user prompt\n", + "\n", + "def scrape_urls(text):\n", + " try:\n", + " # Extract all URLs from the text string using regular expressions\n", + " urls = re.findall(r'https?://[^\\s)]+', text)\n", + " \n", + " if len(urls) > 0:\n", + " scraped_content = []\n", + " for url in urls:\n", + " print(f\"Scraping: {url}\")\n", + " try:\n", + " site = Website(url)\n", + " content = f\"Content from {url}:\\n---\\n{site.text}\\n---\\n\"\n", + " scraped_content.append(content)\n", + " print(f\"Scraping done!\")\n", + " except Exception as e:\n", + " print(f\"Could not scrape {url}: {e}\")\n", + " scraped_content.append(f\"Could not retrieve content from {url}.\\n\")\n", + " \n", + " return \"\\n\".join(scraped_content)\n", + " else:\n", + " return None\n", + " except Exception as e:\n", + " print(f\"Error during website scraping: {e}\")\n", + " return \"Sorry, I encountered an error and could not complete scraping the website(s).\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "bd9d0511-2f78-4270-81f8-73708388dfad", + "metadata": {}, + "outputs": [], + "source": [ + "# Tool definition for scrape_urls\n", + "\n", + "scraping_function = {\n", + " \"name\": \"scrape_urls\",\n", + " \"description\": \"Scrapes available URLs for data to update the User prompt. Call this whenever a customer provides a URL.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"text\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The website URL or user prompt containing URLs.\"\n", + " }\n", + " },\n", + " \"required\": [\"text\"]\n", + " }\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "47733d5b-bb0a-44dd-b56d-a54677c88f80", + "metadata": {}, + "outputs": [], + "source": [ + "# Instantiate the tools\n", + "\n", + "# tools = [{\"type\": \"function\", \"function\": scraping_function}]\n", + "\n", + "# Define Ollama tools\n", + "tools_gpt_ollama = [{\"type\": \"function\", \"function\": scraping_function}]\n", + "\n", + "# Define Claude tools\n", + "tools_claude = [{\n", + " \"name\": scraping_function[\"name\"],\n", + " \"description\": scraping_function[\"description\"],\n", + " \"input_schema\": scraping_function[\"parameters\"]\n", + "}]\n", + "\n", + "# Gemini tool definition must be a FunctionDeclaration object without the top-level `type` in parameters.\n", + "tools_gemini = [google.generativeai.protos.FunctionDeclaration(\n", + " name=scraping_function[\"name\"],\n", + " description=scraping_function[\"description\"],\n", + " parameters=google.generativeai.protos.Schema(\n", + " type=google.generativeai.protos.Type.OBJECT,\n", + " properties={\n", + " \"text\": google.generativeai.protos.Schema(\n", + " type=google.generativeai.protos.Type.STRING,\n", + " description=scraping_function[\"parameters\"][\"properties\"][\"text\"][\"description\"]\n", + " )\n", + " },\n", + " required=scraping_function[\"parameters\"][\"required\"]\n", + " )\n", + ")]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "aa3fa01b-97d0-443e-b0cc-55d277878cb7", + "metadata": {}, + "outputs": [], + "source": [ + "# Handle multiple tools\n", + "\n", + "def handle_tool_call(tool_call, user_message):\n", + " function_name = None\n", + " arguments = None\n", + " tool_call_id = None\n", + " \n", + " # Logic for different model tool call object formats\n", + " if isinstance(tool_call, dict) and 'function' in tool_call: # Ollama\n", + " function_name = tool_call['function']['name']\n", + " try:\n", + " arguments = json.loads(tool_call['function']['arguments'])\n", + " except (json.JSONDecodeError, TypeError):\n", + " arguments = {'text': tool_call['function'].get('arguments', user_message)}\n", + " elif hasattr(tool_call, 'function'): # GPT, Claude, Gemini\n", + " function_name = tool_call.function.name\n", + " tool_call_id = getattr(tool_call, 'id', None)\n", + " if isinstance(tool_call.function.arguments, dict): # For Gemini\n", + " arguments = tool_call.function.arguments\n", + " else: # For GPT and Claude\n", + " try:\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " except (json.JSONDecodeError, TypeError):\n", + " arguments = {'text': tool_call.function.arguments}\n", + "\n", + " # Fallback if arguments are not parsed correctly\n", + " if not arguments or 'text' not in arguments:\n", + " arguments = {'text': user_message}\n", + " \n", + " if function_name == \"scrape_urls\":\n", + " url_scraped_data = scrape_urls(arguments['text'])\n", + " response_content = json.dumps({\"url_scraped_data\": url_scraped_data})\n", + " else:\n", + " response_content = json.dumps({\"error\": f\"Unknown tool: {function_name}\"})\n", + "\n", + " response = {\n", + " \"role\": \"tool\",\n", + " \"content\": response_content,\n", + " \"tool_call_id\": tool_call_id\n", + " }\n", + " return response\n" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "14083620-1b16-4c8b-8365-c221b831e678", + "metadata": {}, + "outputs": [], + "source": [ + "# Audio output\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play(audio)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "f9601a49-a490-4454-bd47-591ad793dc30", + "metadata": {}, + "outputs": [], + "source": [ + "# To transcribe an audio prompt/input to text\n", + "\n", + "def transcribe_audio(audio_file):\n", + " if audio_file is None:\n", + " return \"\"\n", + " \n", + " with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=True) as tmpfile:\n", + " audio = AudioSegment.from_file(audio_file, format=\"wav\")\n", + " audio.export(tmpfile.name, format=\"wav\")\n", + " \n", + " with open(tmpfile.name, \"rb\") as audio_file_obj:\n", + " transcript = openai.audio.transcriptions.create(\n", + " model=\"whisper-1\", \n", + " file=audio_file_obj\n", + " )\n", + " return transcript.text\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70c79408-f5f4-424b-b96c-d07e6893af6a", + "metadata": {}, + "outputs": [], + "source": [ + "# More involved Gradio code as we're not using the preset Chat interface!\n", + "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", + "\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500)\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\", scale=4)\n", + " submit_btn = gr.Button(\"Submit\", scale=1)\n", + " with gr.Row():\n", + " audio_input = gr.Audio(sources=[\"microphone\"], type=\"filepath\", label=\"Speak to our AI Assistant\", scale=4)\n", + " submit_audio_btn = gr.Button(\"Submit Audio\", scale=1)\n", + "\n", + " with gr.Row():\n", + " models = [\"Claude\", \"Gemini\", \"GPT\", \"Ollama\"]\n", + " model_dropdown = gr.Dropdown(\n", + " label=\"Select a model\",\n", + " choices=models,\n", + " value=models[2]\n", + " )\n", + "\n", + " audio_options = [\"Yes\", \"No\"]\n", + " audio_dropdown = gr.Dropdown(\n", + " label=\"Select whether to respond with audio\",\n", + " choices=audio_options,\n", + " value=audio_options[1]\n", + " )\n", + " \n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def user_message_updater(user_message, history):\n", + " return \"\", history + [[user_message, None]]\n", + "\n", + " def chat_with_assistant(history, target_model, use_audio_output):\n", + " messages = []\n", + " for msg_user, msg_assistant in history:\n", + " messages.append({\"role\": \"user\", \"content\": msg_user})\n", + " if msg_assistant:\n", + " messages.append({\"role\": \"assistant\", \"content\": msg_assistant})\n", + " \n", + " user_message = history[-1][0]\n", + " final_response_content = \"\"\n", + " \n", + " if target_model == \"Claude\":\n", + " response = claude.messages.create(\n", + " model=MODEL_CLAUDE,\n", + " max_tokens=200,\n", + " temperature=0.7,\n", + " system=system_prompt_with_url_data,\n", + " messages=messages,\n", + " tools=tools_claude,\n", + " )\n", + " \n", + " tool_calls = [content_block for content_block in response.content if content_block.type == \"tool_use\"]\n", + " if tool_calls:\n", + " tool_use = tool_calls[0]\n", + " tool_output_content = scrape_urls(tool_use.input[\"text\"])\n", + " \n", + " messages.append({\"role\": \"assistant\", \"content\": response.content})\n", + " messages.append({\n", + " \"role\": \"user\",\n", + " \"content\": [\n", + " {\n", + " \"type\": \"tool_result\",\n", + " \"tool_use_id\": tool_use.id,\n", + " \"content\": tool_output_content\n", + " }\n", + " ]\n", + " })\n", + "\n", + " response = claude.messages.create(\n", + " model=MODEL_CLAUDE,\n", + " max_tokens=200,\n", + " temperature=0.7,\n", + " system=system_prompt_with_url_data,\n", + " messages=messages,\n", + " )\n", + " final_response_content = response.content[0].text\n", + "\n", + " elif target_model == \"Gemini\":\n", + " model = google.generativeai.GenerativeModel(\n", + " model_name=MODEL_GEMINI,\n", + " system_instruction=system_message,\n", + " tools=tools_gemini\n", + " )\n", + " \n", + " chat = model.start_chat(history=messages)\n", + " response = chat.send_message(user_message)\n", + " \n", + " if response.candidates[0].content.parts[0].function_call:\n", + " tool_call = response.candidates[0].content.parts[0].function_call\n", + " response_tool = handle_tool_call(tool_call, user_message)\n", + "\n", + " chat.send_message(response_tool)\n", + " response = chat.send_message(user_message)\n", + "\n", + " final_response_content = response.text\n", + "\n", + " elif target_model == \"Ollama\":\n", + " messages_ollama = [{\"role\": \"system\", \"content\": system_message}] + messages\n", + " response = ollama.chat(\n", + " model=MODEL_LLAMA,\n", + " messages=messages_ollama,\n", + " stream=False,\n", + " tools=tools_gpt_ollama,\n", + " )\n", + "\n", + " if 'tool_calls' in response['message'] and response['message']['tool_calls']:\n", + " response_tool = handle_tool_call(response['message']['tool_calls'][0], user_message)\n", + " messages_ollama.append({\"role\": \"assistant\", \"content\": response['message']['content'], \"tool_calls\": response['message']['tool_calls']})\n", + " messages_ollama.append(response_tool)\n", + " \n", + " response = ollama.chat(\n", + " model=MODEL_LLAMA,\n", + " messages=messages_ollama,\n", + " stream=False,\n", + " )\n", + " final_response_content = response['message']['content']\n", + " \n", + " else: # Assuming GPT is default\n", + " messages_gpt = [{\"role\": \"system\", \"content\": system_message}] + messages\n", + " response_stream = openai.chat.completions.create(model=MODEL_GPT, messages=messages_gpt, stream=True, tools=tools_gpt_ollama)\n", + " final_response_content = \"\"\n", + " for chunk in response_stream:\n", + " content = chunk.choices[0].delta.content or \"\"\n", + " tool_calls_chunk = chunk.choices[0].delta.tool_calls\n", + " if content:\n", + " final_response_content += content\n", + " \n", + " if tool_calls_chunk:\n", + " tool_call = tool_calls_chunk[0]\n", + " response_tool = handle_tool_call(tool_call, user_message)\n", + " \n", + " messages_gpt.append({\"role\": \"assistant\", \"tool_calls\": [tool_call]})\n", + " messages_gpt.append(response_tool)\n", + " \n", + " response_stream_after_tool = openai.chat.completions.create(model=MODEL_GPT, messages=messages_gpt, stream=True)\n", + " for chunk_after_tool in response_stream_after_tool:\n", + " final_response_content += chunk_after_tool.choices[0].delta.content or \"\"\n", + " break\n", + "\n", + " history[-1][1] = final_response_content\n", + " \n", + " if use_audio_output != \"No\":\n", + " talker(final_response_content)\n", + "\n", + " return history\n", + "\n", + " def transcribe_and_chat(audio_file, history, target_model, use_audio_output):\n", + " if audio_file:\n", + " transcribed_text = transcribe_audio(audio_file)\n", + " new_history = history + [[transcribed_text, None]]\n", + " return chat_with_assistant(new_history, target_model, use_audio_output)\n", + " else:\n", + " return history\n", + "\n", + " entry.submit(\n", + " user_message_updater,\n", + " inputs=[entry, chatbot],\n", + " outputs=[entry, chatbot],\n", + " queue=False\n", + " ).then(\n", + " chat_with_assistant,\n", + " inputs=[chatbot, model_dropdown, audio_dropdown],\n", + " outputs=[chatbot]\n", + " )\n", + "\n", + " submit_btn.click(\n", + " user_message_updater,\n", + " inputs=[entry, chatbot],\n", + " outputs=[entry, chatbot],\n", + " queue=False\n", + " ).then(\n", + " chat_with_assistant,\n", + " inputs=[chatbot, model_dropdown, audio_dropdown],\n", + " outputs=[chatbot]\n", + " )\n", + "\n", + " audio_input.stop(\n", + " transcribe_and_chat,\n", + " inputs=[audio_input, chatbot, model_dropdown, audio_dropdown],\n", + " outputs=[chatbot],\n", + " queue=False\n", + " )\n", + "\n", + " submit_audio_btn.click(\n", + " transcribe_and_chat,\n", + " inputs=[audio_input, chatbot, model_dropdown, audio_dropdown],\n", + " outputs=[chatbot],\n", + " queue=False\n", + " )\n", + " \n", + " clear.click(lambda: None, inputs=None, outputs=[chatbot], queue=False)\n", + "\n", + "ui.launch(inbrowser=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6e1e727-4c55-4ed5-b50e-5388b246c8c5", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb23b6cb-27af-43d6-8234-fe8295e7fe57", + "metadata": {}, + "outputs": [], "source": [] } ], From a605573de8c69e27570064323c0581c1d68bb98a Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Mon, 11 Aug 2025 13:48:02 +0300 Subject: [PATCH 085/176] Get Gemini to work --- .../rwothoromo/week2 EXERCISE.ipynb | 99 ++++++++++--------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb index 4f796dd..6745272 100644 --- a/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb +++ b/week2/community-contributions/rwothoromo/week2 EXERCISE.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "id": "7b624d5b-69a2-441f-9147-fde105d3d551", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "id": "a07e7793-b8f5-44f4-aded-5562f633271a", "metadata": {}, "outputs": [], @@ -57,20 +57,10 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "id": "efb88276-6d74-4d94-95a2-b8ca82a4716c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "OpenAI API Key exists and begins sk-proj-\n", - "Anthropic API Key exists and begins sk-ant-a\n", - "Google API Key exists and begins AIzaSyAS\n" - ] - } - ], + "outputs": [], "source": [ "# Load environment variables\n", "load_dotenv()\n", @@ -98,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "484f0c3e-638d-4af7-bb9b-36faf6048f3c", "metadata": {}, "outputs": [], @@ -113,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "2e292401-e62f-4bfc-b060-07462ad20d3d", "metadata": {}, "outputs": [], @@ -128,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "84252e03-ccde-4ecf-975b-78227291ca5c", "metadata": {}, "outputs": [], @@ -142,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "49396924-47c2-4f7d-baa2-9b0fece9da4a", "metadata": {}, "outputs": [], @@ -165,7 +155,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "id": "c4d23747-d78a-4f36-9862-c00e1e8d9e44", "metadata": {}, "outputs": [], @@ -179,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "id": "67e150be-502e-4ba4-9586-3a2f3fae3830", "metadata": {}, "outputs": [], @@ -214,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "id": "bd9d0511-2f78-4270-81f8-73708388dfad", "metadata": {}, "outputs": [], @@ -239,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "id": "47733d5b-bb0a-44dd-b56d-a54677c88f80", "metadata": {}, "outputs": [], @@ -260,24 +250,24 @@ "\n", "# Gemini tool definition must be a FunctionDeclaration object without the top-level `type` in parameters.\n", "tools_gemini = [google.generativeai.protos.FunctionDeclaration(\n", - " name=scraping_function[\"name\"],\n", - " description=scraping_function[\"description\"],\n", + " name=portable_scraping_function_definition[\"name\"],\n", + " description=portable_scraping_function_definition[\"description\"],\n", " parameters=google.generativeai.protos.Schema(\n", " type=google.generativeai.protos.Type.OBJECT,\n", " properties={\n", " \"text\": google.generativeai.protos.Schema(\n", " type=google.generativeai.protos.Type.STRING,\n", - " description=scraping_function[\"parameters\"][\"properties\"][\"text\"][\"description\"]\n", + " description=portable_scraping_function_definition[\"parameters\"][\"properties\"][\"text\"][\"description\"]\n", " )\n", " },\n", - " required=scraping_function[\"parameters\"][\"required\"]\n", + " required=portable_scraping_function_definition[\"parameters\"][\"required\"]\n", " )\n", ")]\n" ] }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "id": "aa3fa01b-97d0-443e-b0cc-55d277878cb7", "metadata": {}, "outputs": [], @@ -296,16 +286,19 @@ " arguments = json.loads(tool_call['function']['arguments'])\n", " except (json.JSONDecodeError, TypeError):\n", " arguments = {'text': tool_call['function'].get('arguments', user_message)}\n", - " elif hasattr(tool_call, 'function'): # GPT, Claude, Gemini\n", + " elif hasattr(tool_call, 'function'): # GPT, Claude\n", " function_name = tool_call.function.name\n", " tool_call_id = getattr(tool_call, 'id', None)\n", - " if isinstance(tool_call.function.arguments, dict): # For Gemini\n", + " if isinstance(tool_call.function.arguments, dict):\n", " arguments = tool_call.function.arguments\n", - " else: # For GPT and Claude\n", + " else:\n", " try:\n", " arguments = json.loads(tool_call.function.arguments)\n", " except (json.JSONDecodeError, TypeError):\n", " arguments = {'text': tool_call.function.arguments}\n", + " elif hasattr(tool_call, 'name'): # Gemini\n", + " function_name = tool_call.name\n", + " arguments = tool_call.args\n", "\n", " # Fallback if arguments are not parsed correctly\n", " if not arguments or 'text' not in arguments:\n", @@ -327,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "id": "14083620-1b16-4c8b-8365-c221b831e678", "metadata": {}, "outputs": [], @@ -348,7 +341,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "id": "f9601a49-a490-4454-bd47-591ad793dc30", "metadata": {}, "outputs": [], @@ -459,23 +452,43 @@ " final_response_content = response.content[0].text\n", "\n", " elif target_model == \"Gemini\":\n", + " messages_gemini = []\n", + " for m in history:\n", + " messages_gemini.append({\"role\": \"user\", \"parts\": [{\"text\": m[0]}]})\n", + " if m[1]:\n", + " messages_gemini.append({\"role\": \"model\", \"parts\": [{\"text\": m[1]}]})\n", + " \n", " model = google.generativeai.GenerativeModel(\n", " model_name=MODEL_GEMINI,\n", " system_instruction=system_message,\n", " tools=tools_gemini\n", " )\n", " \n", - " chat = model.start_chat(history=messages)\n", - " response = chat.send_message(user_message)\n", - " \n", + " chat = model.start_chat(history=messages_gemini[:-1])\n", + " response = chat.send_message(messages_gemini[-1])\n", + "\n", + " # Check if the response is a tool call before trying to extract text\n", " if response.candidates[0].content.parts[0].function_call:\n", " tool_call = response.candidates[0].content.parts[0].function_call\n", " response_tool = handle_tool_call(tool_call, user_message)\n", "\n", - " chat.send_message(response_tool)\n", - " response = chat.send_message(user_message)\n", - "\n", - " final_response_content = response.text\n", + " tool_response_content = json.loads(response_tool[\"content\"])\n", + " tool_response_gemini = {\n", + " \"role\": \"tool\",\n", + " \"parts\": [{\n", + " \"function_response\": {\n", + " \"name\": tool_call.name,\n", + " \"response\": tool_response_content\n", + " }\n", + " }]\n", + " }\n", + " \n", + " # Send the tool output back and get a new response\n", + " response = chat.send_message(tool_response_gemini)\n", + " final_response_content = response.text\n", + " else:\n", + " # If the original response was not a tool call, get the text directly\n", + " final_response_content = response.text\n", "\n", " elif target_model == \"Ollama\":\n", " messages_ollama = [{\"role\": \"system\", \"content\": system_message}] + messages\n", @@ -576,14 +589,6 @@ "ui.launch(inbrowser=True)\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "f6e1e727-4c55-4ed5-b50e-5388b246c8c5", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, From 8cec79cd7f2ac1dbf7146681bddf7d5f7afcb608 Mon Sep 17 00:00:00 2001 From: Syed Abrar Ahmad Date: Mon, 11 Aug 2025 19:34:20 +0500 Subject: [PATCH 086/176] Fixed the Multiple functions calls error. --- .../week2_exercise_by_abrar.ipynb | 126 ++++++++++-------- 1 file changed, 67 insertions(+), 59 deletions(-) diff --git a/week2/community-contributions/week2_exercise_by_abrar.ipynb b/week2/community-contributions/week2_exercise_by_abrar.ipynb index 2c53738..3141217 100644 --- a/week2/community-contributions/week2_exercise_by_abrar.ipynb +++ b/week2/community-contributions/week2_exercise_by_abrar.ipynb @@ -77,6 +77,11 @@ " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2023, \"Runs\": 1454, \"Matches\": 26, \"Average\": 62.00, \"StrikeRate\": 89.50},\n", " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2022, \"Runs\": 1198, \"Matches\": 18, \"Average\": 66.55, \"StrikeRate\": 92.00},\n", " {\"Player\": \"Babar Azam\", \"Format\": \"ODI\", \"Year\": 2021, \"Runs\": 949, \"Matches\": 15, \"Average\": 67.78, \"StrikeRate\": 90.50},\n", + " {\"Player\": \"Joe Root\", \"Format\": \"Test\", \"Year\": 2025, \"Runs\": 949, \"Matches\": 15, \"Average\": 69.78, \"StrikeRate\": 95.50},\n", + " {\"Player\": \"Joe Root\", \"Format\": \"Test\", \"Year\": 2024, \"Runs\": 2025, \"Matches\": 22, \"Average\": 68.78, \"StrikeRate\": 90.50},\n", + " {\"Player\": \"Harry Brook\", \"Format\": \"Test\", \"Year\": 2025, \"Runs\": 1056, \"Matches\": 16, \"Average\": 67.78, \"StrikeRate\": 95.50},\n", + " {\"Player\": \"Harry Brook\", \"Format\": \"Test\", \"Year\": 2024, \"Runs\": 2200, \"Matches\": 21, \"Average\": 71.78, \"StrikeRate\": 98.50},\n", + "\n", "]" ] }, @@ -98,9 +103,9 @@ "metadata": {}, "outputs": [], "source": [ - "def analyze_cricket(data_list, player1, player2, match_format=\"ODI\", years=3):\n", + "def analyze_cricket(data_list, player1, match_format=\"ODI\", years=3):\n", " \"\"\"\n", - " Compare two cricket players' performances using an in-memory list of dicts.\n", + " Return cricket players' performances using an in-memory list of dicts.\n", " \"\"\"\n", " print(\"Tool 'analyze_cricket' is called\")\n", " df = pd.DataFrame(data_list)\n", @@ -110,10 +115,10 @@ " filtered = df[\n", " (df['Format'].str.upper() == match_format.upper()) &\n", " (df['Year'] >= min_year) &\n", - " (df['Player'].isin([player1, player2]))\n", + " (df['Player'].isin([player1]))\n", " ]\n", " if filtered.empty:\n", - " return {\"error\": f\"No data found for {player1} and {player2} in {match_format} for last {years} years.\"}\n", + " return {\"error\": f\"No data found for {player1} in {match_format} for last {years} years.\"}\n", "\n", " summary = filtered.groupby(\"Player\").agg({\n", " \"Matches\": \"sum\",\n", @@ -133,7 +138,7 @@ "outputs": [], "source": [ "# Example usage:\n", - "result = analyze_cricket(cricket_data, \"Virat Kohli\", \"Babar Azam\", \"ODI\", 3)\n", + "result = analyze_cricket(cricket_data, \"Virat Kohli\", \"ODI\", 3)\n", "print(result)" ] }, @@ -152,11 +157,11 @@ " \"type\": \"object\",\n", " \"properties\": {\n", " \"player1\": {\"type\": \"string\", \"description\": \"Name of first player\"},\n", - " \"player2\": {\"type\": \"string\", \"description\": \"Name of second player\"},\n", + " # \"player2\": {\"type\": \"string\", \"description\": \"Name of second player\"},\n", " \"match_format\": {\"type\": \"string\", \"enum\": [\"ODI\", \"Test\", \"T20\"], \"description\": \"Format of the match\"},\n", " \"years\": {\"type\": \"integer\", \"description\": \"Number of years to compare\"}\n", " },\n", - " \"required\": [\"player1\", \"player2\"]\n", + " \"required\": [\"player1\"]\n", " }\n", " }" ] @@ -200,11 +205,11 @@ "\n", " if response.choices[0].finish_reason==\"tool_calls\":\n", " message = response.choices[0].message\n", - " response, player1, player2 = handle_tool_call(message)\n", " messages.append(message)\n", - " messages.append(response)\n", + " for tool_call in message.tool_calls: \n", + " response, player1= handle_tool_call(tool_call)\n", + " messages.append(response)\n", " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", - " \n", " return response.choices[0].message.content" ] }, @@ -217,23 +222,23 @@ "source": [ "# We have to write that function handle_tool_call:\n", "\n", - "def handle_tool_call(message):\n", - " tool_call = message.tool_calls[0]\n", - " print(\"tool_call.id\", tool_call.id)\n", + "def handle_tool_call(tool_call):\n", + " # tool_call = message.tool_calls[0]\n", + " # print(\"tool_call.id\", tool_call.id)\n", " arguments = json.loads(tool_call.function.arguments)\n", " print(\"arguments\", arguments)\n", " player1 = arguments.get('player1')\n", - " player2 = arguments.get('player2')\n", + " # player2 = arguments.get('player2')\n", " match_format = arguments.get('match_format', 'ODI')\n", " years = arguments.get('years', 3)\n", - " result = analyze_cricket(cricket_data, player1, player2, match_format, years)\n", - " print(\"result from analyze_cricket function: \", result)\n", + " result = analyze_cricket(cricket_data, player1, match_format, years)\n", + " print(\"result from analyze_cricket function: \", tool_call.id, result)\n", " response = {\n", " \"role\": \"tool\",\n", " \"content\": json.dumps(result),\n", " \"tool_call_id\": tool_call.id\n", " }\n", - " return response, player1, player2" + " return response, player1" ] }, { @@ -252,13 +257,11 @@ "\n", "\n", "2. ### can you please give me the comparison of Virat and babar?\n", - "Here you are not provided the info of format and number of years. In this case, the function will pick the default values for the match format, which is ODI and years which is 3.\n", + "Here, you are not provided the info on the format and number of years. In this case, the function will pick the default values for the match format, which is ODI, and the years, which is 3.\n", "\n", "\n", "3. ### Compare Rizwan and Babar in ODI Matches over the last years.\n", - "The given data is not available in the above data list. \n", - "- **Output**: \n", - "It seems that I couldn't retrieve specific data for Mohammad Rizwan and Babar Azam in ODI matches over the last three years. However, I can provide a general comparison based on available statistics up to October 2023.\n" + "The given data is not available in the above data list. \n" ] }, { @@ -268,7 +271,7 @@ "metadata": {}, "outputs": [], "source": [ - "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + "gr.ChatInterface(fn=chat, type=\"messages\").launch(inbrowser=True)" ] }, { @@ -306,18 +309,21 @@ "metadata": {}, "outputs": [], "source": [ - "def artist(player1, player2):\n", - " return None\n", - " # image_response = openai.images.generate(\n", - " # model=\"dall-e-3\",\n", - " # prompt=f\"An image representing a comparison of {player1} and {player2}, showing their country flags and bowling or batting style\",\n", - " # size=\"1024x1024\",\n", - " # n=1,\n", - " # response_format=\"b64_json\",\n", - " # )\n", - " # image_base64 = image_response.data[0].b64_json\n", - " # image_data = base64.b64decode(image_base64)\n", - " # return Image.open(BytesIO(image_data))" + "def artist(player_names):\n", + " if len(player_names) <2 or len(player_names) > 2:\n", + " return None\n", + " player1 = player_names[0]\n", + " player2 = player_names[1]\n", + " image_response = openai.images.generate(\n", + " model=\"dall-e-3\",\n", + " prompt=f\"An image representing a comparison of {player1} and {player2}, showing their country flags and bowling or batting style\",\n", + " size=\"1024x1024\",\n", + " n=1,\n", + " response_format=\"b64_json\",\n", + " )\n", + " image_base64 = image_response.data[0].b64_json\n", + " image_data = base64.b64decode(image_base64)\n", + " return Image.open(BytesIO(image_data))" ] }, { @@ -327,18 +333,10 @@ "metadata": {}, "outputs": [], "source": [ - "image = artist(\"Babar\", \"Virat\")\n", + "image = artist([\"Babar\", \"root\"])\n", "display(image)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "728a12c5-adc3-415d-bb05-82beb73b079b", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, @@ -368,7 +366,7 @@ "metadata": {}, "outputs": [], "source": [ - "talker(\"Well, hi there\")" + "talker(\"Well, hi there\") # For testing purposes" ] }, { @@ -384,9 +382,7 @@ "2. The ability for LLMs to use Tools to give them additional capabilities\n", "3. The 'Agent Environment' which allows Agents to collaborate\n", "4. An LLM can act as the Planner, dividing bigger tasks into smaller ones for the specialists\n", - "5. The concept of an Agent having autonomy / agency, beyond just responding to a prompt - such as Memory\n", - "\n", - "We're showing 1 and 2 here, and to a lesser extent 3 and 5. In week 8 we will do the lot!" + "5. The concept of an Agent having autonomy / agency, beyond just responding to a prompt - such as Memory\n" ] }, { @@ -396,18 +392,23 @@ "metadata": {}, "outputs": [], "source": [ - "def chat(history):\n", + "def chat(history, image_choice):\n", " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", " image = None\n", " \n", " if response.choices[0].finish_reason==\"tool_calls\":\n", " message = response.choices[0].message\n", - " response, player1, player2 = handle_tool_call(message)\n", " messages.append(message)\n", - " messages.append(response)\n", - " \n", - " image = artist(player1, player2) #QUERY: how can i pass the value of format_dropdown in this function? \n", + " player_names = []\n", + " for tool_call in message.tool_calls:\n", + " response, player1= handle_tool_call(tool_call)\n", + " player_names.append(player1)\n", + " messages.append(response)\n", + " if image_choice.lower() == 'yes':\n", + " image = artist(player_names)\n", + " else:\n", + " print(\"Image value is NO\", image_choice)\n", " \n", " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", " \n", @@ -431,12 +432,13 @@ "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", "\n", "with gr.Blocks() as ui:\n", + " gr.Markdown(\"### šŸ Cricket Analyst AI Assistant\")\n", " with gr.Row():\n", " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", " image_output = gr.Image(height=500)\n", "\n", - " with gr.Row(): #QUERY: How can I receive the value of \"Yes\" or \"No\" in chat function?\n", - " format_dropdown = gr.Dropdown(\n", + " with gr.Row():\n", + " image_dropdown = gr.Dropdown(\n", " choices=[\"Yes\", \"No\"],\n", " label=\"Do you want image?\"\n", " )\n", @@ -445,13 +447,19 @@ " with gr.Row():\n", " clear = gr.Button(\"Clear\")\n", "\n", - " def do_entry(message, history):\n", + " def do_entry(message, history, image_choice):\n", " history += [{\"role\": \"user\", \"content\": message}]\n", - " return \"\", history\n", + " return \"\", history, image_choice\n", "\n", - " entry.submit(do_entry, inputs=[entry, chatbot, format_dropdown], outputs=[entry, chatbot]).then(\n", - " chat, inputs=chatbot, outputs=[chatbot, image_output]\n", - " ) #QUERY: This part is a little bit confusing for me.\n", + " entry.submit(\n", + " do_entry, \n", + " inputs=[entry, chatbot, image_dropdown], \n", + " outputs=[entry, chatbot, image_dropdown]\n", + " ).then(\n", + " chat, \n", + " inputs=[chatbot, image_dropdown], \n", + " outputs=[chatbot, image_output]\n", + " )\n", " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", "\n", "ui.launch(inbrowser=True)" From e9215182d2a16cf0c2ca5822f0a237ad1723ba8b Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Tue, 12 Aug 2025 01:17:17 +0200 Subject: [PATCH 087/176] Updated requirements and Anaconda environment files. --- environment.yml | 1 + requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/environment.yml b/environment.yml index 470b64b..3d39950 100644 --- a/environment.yml +++ b/environment.yml @@ -44,3 +44,4 @@ dependencies: - twilio - pydub - protobuf==3.20.2 + - wandb diff --git a/requirements.txt b/requirements.txt index edcb3de..9d62d7d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -36,3 +36,4 @@ speedtest-cli sentence_transformers feedparser protobuf==3.20.2 +wandb From 54cd9cb24d8e00556f1f24b0877019e02a628334 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Tue, 12 Aug 2025 01:21:56 +0200 Subject: [PATCH 088/176] Updated gitignore file to exclude WandB local synchronization data. During the OpenAI -> WandB sync process the library downloads locally the job's data. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a47cefc..8a77daf 100644 --- a/.gitignore +++ b/.gitignore @@ -189,3 +189,6 @@ nohup.out *.png scraper_cache/ + +# WandB local sync data. +wandb/ From c663379828e31992e9c3d9ffcd56f4882a1313b4 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Tue, 12 Aug 2025 01:26:22 +0200 Subject: [PATCH 089/176] Update Week 6 Day 5 Notebook to make use of WandB sync. --- week6/day5.ipynb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/week6/day5.ipynb b/week6/day5.ipynb index 5d5619e..14abeab 100644 --- a/week6/day5.ipynb +++ b/week6/day5.ipynb @@ -149,7 +149,7 @@ "source": [ "# First let's work on a good prompt for a Frontier model\n", "# Notice that I'm removing the \" to the nearest dollar\"\n", - "# When we train our own models, we'll need to make the problem as easy as possible, \n", + "# When we train our own models, we'll need to make the problem as easy as possible,\n", "# but a Frontier model needs no such simplification.\n", "\n", "def messages_for(item):\n", @@ -393,6 +393,22 @@ "openai.fine_tuning.jobs.list_events(fine_tuning_job_id=job_id, limit=10).data" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "b19ea9e9", + "metadata": {}, + "outputs": [], + "source": [ + "import wandb\n", + "from wandb.integration.openai.fine_tuning import WandbLogger\n", + "\n", + "# Log in to Weights & Biases.\n", + "wandb.login()\n", + "# Sync the fine-tuning job with Weights & Biases.\n", + "WandbLogger.sync(fine_tune_job_id=job_id, project=\"gpt-pricer\")" + ] + }, { "cell_type": "markdown", "id": "066fef03-8338-4526-9df3-89b649ad4f0a", @@ -490,7 +506,7 @@ "\n", "def gpt_fine_tuned(item):\n", " response = openai.chat.completions.create(\n", - " model=fine_tuned_model_name, \n", + " model=fine_tuned_model_name,\n", " messages=messages_for(item),\n", " seed=42,\n", " max_tokens=7\n", From d7d277c6b57ef72317f3197b903fd4d1ecc88edd Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:28:40 -0400 Subject: [PATCH 090/176] Added my contributions to community-contributions --- ...ch-paper-summarizer-with-highlighter.ipynb | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 week1/community-contributions/day1-research-paper-summarizer-with-highlighter.ipynb diff --git a/week1/community-contributions/day1-research-paper-summarizer-with-highlighter.ipynb b/week1/community-contributions/day1-research-paper-summarizer-with-highlighter.ipynb new file mode 100644 index 0000000..74a00f9 --- /dev/null +++ b/week1/community-contributions/day1-research-paper-summarizer-with-highlighter.ipynb @@ -0,0 +1,202 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5c527a13-459e-4a46-b00e-f2c5056de155", + "metadata": {}, + "source": [ + "# Research Paper Summarizer with Text Highlighting" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "861a0be5-6da7-4f66-8f82-bc083a913f9f", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "74bf6765-53b6-457b-ac2d-0d1afa7fbf8f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "227ed7af-d539-4c87-988b-80e6e049c863", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "dcaadf8b-456d-48ca-af9d-9f57d3414308", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6315093f-be68-408e-a5e1-6a2e4ea675e8", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at an article website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "I'm also looking for complete statements containing the following keywords (if found): \\\n", + "'large circuit model', 'ChipGPT' \\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt\n", + "\n", + "\n", + "article = Website(\"https://arxiv.org/html/2401.12224v1\")\n", + "# print(user_prompt_for(article))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ff8a4112-f118-4866-b6cf-82675de0a38d", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a scientific \\\n", + "article for a PhD student (who has to read a lot of papers and journals). The \\\n", + "user will provide the article website and keyword(s) they are looking to learn and \\\n", + "cite from. Your job is to summarize the paper and point out all the statements \\\n", + "containing the specific keyword(s) the user typed. \\\n", + "Respond in markdown.\"\n", + "\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]\n", + "\n", + " \n", + "#messages_for(article)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b5e47bea-403d-48c3-ab9d-4d6adef83241", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f6ac1bc-5bc8-4daa-8174-d201400e517a", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://arxiv.org/html/2401.12224v1\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 63376073db1f988dd3d96685d27fd673d851cad7 Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Tue, 12 Aug 2025 23:06:07 -0400 Subject: [PATCH 091/176] Add week1 notebook to community-contributions (outputs cleared) --- .../website-summarization-using-ollama.ipynb | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 week1/community-contributions/website-summarization-using-ollama.ipynb diff --git a/week1/community-contributions/website-summarization-using-ollama.ipynb b/week1/community-contributions/website-summarization-using-ollama.ipynb new file mode 100644 index 0000000..75edddb --- /dev/null +++ b/week1/community-contributions/website-summarization-using-ollama.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a68b1042-558a-4051-85e2-9ffd7a31a871", + "metadata": {}, + "source": [ + "# Website Summarization Using llama\n", + "### Week 1 Day 2 Exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "176fcb2f-9ac7-460b-9fad-415e89c4920e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b9c63761-c904-491b-92c7-e41eb319c3e4", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "# OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "# HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "afe29712-751c-4322-a4c6-aed01e6acf26", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "be3eeb3f-aec5-4ef8-9427-3b80b2dce919", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"\n", + "\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt\n", + " \n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]\n", + "\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = ollama_via_openai.chat.completions.create(\n", + " model = MODEL,\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a78b587d-3a75-45a8-9ac5-f78dcddfa822", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f41833d183d33a6189e2bfa15540020d5a46399c Mon Sep 17 00:00:00 2001 From: Keshvi Date: Thu, 14 Aug 2025 20:19:48 +0530 Subject: [PATCH 092/176] Create Web2Quiz --- .../Keshvi_Web2Quiz/Web2Quiz.ipynb | 300 ++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 community-contributions/Keshvi_Web2Quiz/Web2Quiz.ipynb diff --git a/community-contributions/Keshvi_Web2Quiz/Web2Quiz.ipynb b/community-contributions/Keshvi_Web2Quiz/Web2Quiz.ipynb new file mode 100644 index 0000000..1609d81 --- /dev/null +++ b/community-contributions/Keshvi_Web2Quiz/Web2Quiz.ipynb @@ -0,0 +1,300 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "## Web2Quiz: Generator Quiz from webpage content." + ], + "metadata": { + "id": "n3vd295elWxh" + }, + "id": "n3vd295elWxh" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": { + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988" + }, + "outputs": [], + "source": [ + "#.env upload\n", + "from google.colab import files\n", + "uploaded = files.upload()" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install dotenv\n" + ], + "metadata": { + "id": "VTpN_jVbMKuk" + }, + "id": "VTpN_jVbMKuk", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "from dotenv import load_dotenv" + ], + "metadata": { + "id": "twYi9eJwL2h1" + }, + "id": "twYi9eJwL2h1", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENROUTER_KEY')\n", + "\n", + "# Check the key\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "# elif not api_key.startswith(\"sk-proj-\"):\n", + "# print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ], + "metadata": { + "id": "NRnUTEkZL2eZ" + }, + "id": "NRnUTEkZL2eZ", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!pip install openai" + ], + "metadata": { + "id": "RRuKJ_pzL2be" + }, + "id": "RRuKJ_pzL2be", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!pip install requests beautifulsoup4\n", + "!pip install selenium" + ], + "metadata": { + "id": "DWsPpdjOVPTW" + }, + "id": "DWsPpdjOVPTW", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from bs4 import BeautifulSoup\n", + "import requests\n", + "from tempfile import mkdtemp\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.options import Options\n", + "from selenium.webdriver.support.ui import WebDriverWait\n", + "from selenium.webdriver.support import expected_conditions as EC\n", + "from selenium.webdriver.common.by import By\n", + "\n", + "class Website:\n", + " def __init__(self, url, use_selenium=False):\n", + " \"\"\"\n", + " Create Website object from the given URL.\n", + " If use_selenium=True, fetch page with Selenium.\n", + " Otherwise, use requests + BeautifulSoup.\n", + " \"\"\"\n", + " self.url = url\n", + " self.title = \"\"\n", + " self.text = \"\"\n", + " self.use_selenium = use_selenium\n", + "\n", + " if self.use_selenium:\n", + " html = self._fetch_with_selenium()\n", + " else:\n", + " html = self._fetch_with_requests()\n", + "\n", + " if not html:\n", + " self.title = \"Error fetching page\"\n", + " self.text = \"Could not retrieve HTML content.\"\n", + " return\n", + "\n", + " soup = BeautifulSoup(html, \"html.parser\")\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + "\n", + " # content_div = soup.find('div', id='content')\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\", \"header\", \"footer\", \"nav\", \"aside\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"No body tag found in the HTML.\"\n", + "\n", + " # Basic html scrapper\n", + " def _fetch_with_requests(self):\n", + " \"\"\"Fetch HTML using requests.\"\"\"\n", + " try:\n", + " headers = {\"User-Agent\": \"Mozilla/5.0\"}\n", + " response = requests.get(self.url, headers=headers, timeout=10)\n", + " response.raise_for_status()\n", + " return response.text\n", + " except requests.exceptions.RequestException as e:\n", + " print(f\"Error fetching with requests: {e}\")\n", + " return None\n", + "\n", + " # Dynamic html scrapper\n", + " def _fetch_with_selenium(self):\n", + " \"\"\"Fetch HTML using Selenium with improved options.\"\"\"\n", + " options = Options()\n", + " options.add_argument(\"--no-sandbox\")\n", + " options.add_argument(\"--disable-dev-shm-usage\")\n", + " options.add_argument(\"--headless\")\n", + " options.add_argument(f\"--user-data-dir={mkdtemp()}\")\n", + "\n", + " driver = None\n", + " try:\n", + " driver = webdriver.Chrome(options=options)\n", + " driver.get(self.url)\n", + "\n", + " WebDriverWait(driver, 10).until(\n", + " EC.presence_of_element_located((By.TAG_NAME, \"body\"))\n", + " )\n", + "\n", + " html = driver.page_source\n", + " return html\n", + " except Exception as e:\n", + " print(f\"An error occurred during Selenium fetch: {e}\")\n", + " return None\n", + " finally:\n", + " if driver:\n", + " driver.quit()\n", + "\n" + ], + "metadata": { + "id": "PzBP0tXXcrP-" + }, + "id": "PzBP0tXXcrP-", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "site1 = Website(\"https://en.wikipedia.org/wiki/Integration_testing\", use_selenium=False)\n", + "print(\"Title:\", site1.title)\n", + "print(\"Text preview:\", site1.text[:200])\n", + "\n", + "site2 = Website(\"https://www.tpointtech.com/java-for-loop\", use_selenium=True)\n", + "print(\"Title:\", site2.title)\n", + "print(\"Text preview:\", site2.text[:200])" + ], + "metadata": { + "id": "vsNmh5b5c6Gq" + }, + "id": "vsNmh5b5c6Gq", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Step 1: Create your prompts\n", + "system_prompt = f\"You are a MCQ quiz generator. Analyze the provided TEXT and filter CONTENT relevent to {site1.title}. Then based on the relevant CONTENT generate 10 MCQs. List all correct options at the end.\"\n", + "user_prompt = f\"Below is provided TEXT : \\n{site1.text}\"\n", + "\n", + "# Step 2: Make the messages list\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]\n", + "\n", + "# Step 3: Call OpenAI\n", + "openai = OpenAI(base_url=\"https://openrouter.ai/api/v1\", api_key=api_key)\n", + "\n", + "# Step 4: print the result\n", + "response = openai.chat.completions.create(model=\"qwen/qwen2.5-vl-72b-instruct:free\", messages=messages)\n", + "print(response.choices[0].message.content)" + ], + "metadata": { + "collapsed": true, + "id": "BYdc1w70QFD2" + }, + "id": "BYdc1w70QFD2", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Step 1: Create your prompts\n", + "system_prompt = f\"You are a MCQ quiz generator. Analyze the provided TEXT and filter CONTENT relevent to {site2.title}. Then based on the relevant CONTENT generate 10 MCQs. List all correct options at the end.\"\n", + "user_prompt = f\"Below is provided TEXT : \\n{site2.text}\"\n", + "\n", + "# Step 2: Make the messages list\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]\n", + "\n", + "# Step 3: Call OpenAI\n", + "openai = OpenAI(base_url=\"https://openrouter.ai/api/v1\", api_key=api_key)\n", + "\n", + "# Step 4: print the result\n", + "response = openai.chat.completions.create(model=\"qwen/qwen2.5-vl-72b-instruct:free\", messages=messages)\n", + "print(response.choices[0].message.content)" + ], + "metadata": { + "id": "Rv8vxFHtQFBm" + }, + "id": "Rv8vxFHtQFBm", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "o5tIkQ95_2Hc" + }, + "id": "o5tIkQ95_2Hc", + "execution_count": null, + "outputs": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.12" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From e52fa74c62ec4f3bee3512f070d718b11e838002 Mon Sep 17 00:00:00 2001 From: Abdul Shaik Date: Thu, 14 Aug 2025 13:09:28 -0400 Subject: [PATCH 093/176] Added enhanced web scraper with Playwright support for JavaScript-heavy sites --- .../enhanced_web_scraper.ipynb | 731 ++++++++++++++++++ 1 file changed, 731 insertions(+) create mode 100644 community-contributions/playwright-enhanced-scraper/enhanced_web_scraper.ipynb diff --git a/community-contributions/playwright-enhanced-scraper/enhanced_web_scraper.ipynb b/community-contributions/playwright-enhanced-scraper/enhanced_web_scraper.ipynb new file mode 100644 index 0000000..8e7baf6 --- /dev/null +++ b/community-contributions/playwright-enhanced-scraper/enhanced_web_scraper.ipynb @@ -0,0 +1,731 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "Let's build a useful LLM solution - in a matter of minutes.\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", + "\n", + "## If you're new to Jupyter Lab\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", + "\n", + "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", + "\n", + "## If you're new to the Command Line\n", + "\n", + "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", + "\n", + "## If you'd prefer to work in IDEs\n", + "\n", + "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", + "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", + "\n", + "## If you'd like to brush up your Python\n", + "\n", + "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", + "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## For foundational technical knowledge (eg Git, APIs, debugging) \n", + "\n", + "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", + "\n", + "This covers Git and GitHub; what they are, the difference, and how to use them: \n", + "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", + "\n", + "This covers technical foundations: \n", + "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", + "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", + "\n", + "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", + "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", + "\n", + "This covers the essential techniques for figuring out errors: \n", + "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", + "\n", + "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", + "\n", + "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")\n", + "print(ed.title)\n", + "print(ed.text)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT4o have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with system and user messages:\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"something here\"\n", + "user_prompt = \"\"\"\n", + " Lots of text\n", + " Can be pasted here\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "\n", + "response =\n", + "\n", + "# Step 4: print the result\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [ + "from playwright.sync_api import sync_playwright\n", + "import time \n", + "import asyncio\n", + "from playwright.async_api import async_playwright\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd3fdc92", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44099289", + "metadata": {}, + "outputs": [], + "source": [ + "class Website:\n", + " def __init__(self, url):\n", + " self.url = url\n", + " self.title = None\n", + " self.text = None\n", + "\n", + " @classmethod\n", + " async def create(cls, url):\n", + " website = cls(url)\n", + " retries = 3 # Add retry logic\n", + " for attempt in range(retries):\n", + " try:\n", + " await website.initialize()\n", + " return website\n", + " except TimeoutError as e:\n", + " if attempt == retries - 1: # Last attempt\n", + " raise\n", + " print(f\"Attempt {attempt + 1} failed, retrying...\")\n", + " await asyncio.sleep(2) # Wait between retries\n", + "\n", + " async def initialize(self):\n", + " async with async_playwright() as p:\n", + " # Launch with stealth mode settings\n", + " browser = await p.chromium.launch(\n", + " headless=True,\n", + " args=[\n", + " '--disable-blink-features=AutomationControlled',\n", + " '--disable-dev-shm-usage',\n", + " '--no-sandbox'\n", + " ]\n", + " )\n", + " \n", + " # Create context with stealth settings\n", + " context = await browser.new_context(\n", + " user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',\n", + " viewport={'width': 1920, 'height': 1080},\n", + " java_script_enabled=True,\n", + " bypass_csp=True, # Bypass Content Security Policy\n", + " extra_http_headers={\n", + " 'Accept-Language': 'en-US,en;q=0.9',\n", + " 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'\n", + " }\n", + " )\n", + " \n", + " page = await context.new_page()\n", + " \n", + " try:\n", + " # Navigate with progressive waits\n", + " await page.goto(self.url, timeout=90000) # 90 second timeout\n", + " \n", + " # Wait for either real content or Cloudflare challenge\n", + " try:\n", + " # Wait for actual content first\n", + " await page.wait_for_selector('main', timeout=10000)\n", + " except:\n", + " # If main content not found, wait for Cloudflare to clear\n", + " await page.wait_for_load_state('networkidle', timeout=30000)\n", + " await page.wait_for_selector('body', state='visible', timeout=30000)\n", + " \n", + " # Get content after all waits\n", + " self.title = await page.title()\n", + " content = await page.content()\n", + " \n", + " soup = BeautifulSoup(content, 'html.parser')\n", + " for irrelevant in soup.find_all([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True) if soup.body else \"\"\n", + " \n", + " finally:\n", + " await browser.close()\n", + "\n", + "# Modified summarize function to use the factory method\n", + "async def summarize(url):\n", + " website = await Website.create(url)\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=messages_for(website)\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "# Display function remains the same\n", + "async def display_summary(url):\n", + " summary = await summarize(url)\n", + " display(Markdown(summary))\n", + "\n", + "# Usage\n", + "await display_summary(\"https://openai.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78e0d270", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 2c1adb0d2dbbf6e179660c050d382ab3405540ae Mon Sep 17 00:00:00 2001 From: Ashutosh Singh Date: Thu, 14 Aug 2025 13:05:15 -0700 Subject: [PATCH 094/176] Added code for finding top tech products --- .../Top Tech products.ipynb | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 week1/community-contributions/Top Tech products.ipynb diff --git a/week1/community-contributions/Top Tech products.ipynb b/week1/community-contributions/Top Tech products.ipynb new file mode 100644 index 0000000..53b4841 --- /dev/null +++ b/week1/community-contributions/Top Tech products.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "bbd8585e-0a28-4fd9-80b5-690569f93e16", + "metadata": {}, + "outputs": [], + "source": [ + "#This notebook will help you to get top tech products with by providing category and subcategory" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df039118-f462-4a8b-949e-53d3a726e292", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "aa" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2ffd2e5-d061-446c-891e-15a6d1958ab6", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92e26007-521f-4ea2-9df9-edd77dd7e183", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27d21593-8feb-42e4-bbc0-2e949b51137d", + "metadata": {}, + "outputs": [], + "source": [ + "def tech_product(category_subcategory_budget):\n", + " parts = category_subcategory_budget.split('_')\n", + " return f\"{parts[0]}-{parts[1]}-{parts[2]}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd978d25-5b84-4122-af7c-116f2bf72179", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(products):\n", + " return [\n", + " {\"role\": \"system\", \"content\": \"you are a tech product expert and you need to suggest the best suited product available in India basis the input received in the form of category-subcategory-budget (in inr),\\\n", + " revert with category and subcategory and show the product links as well along with pros and cons, respond in markdown\"},\n", + " {\"role\": \"user\", \"content\": tech_product(products)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b916db7a-81a4-41d9-87c2-a2346fd874d2", + "metadata": {}, + "outputs": [], + "source": [ + "messages_for(\"phone_gaming_40000\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b4bb3f1-95de-4eb5-afe1-068744f93301", + "metadata": {}, + "outputs": [], + "source": [ + "def get_top_products(category_subcategory):\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages= messages_for(category_subcategory)\n", + " )\n", + " return response.choices[0].message.content \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9272942-acfe-4fca-bd0a-3435c1ee6691", + "metadata": {}, + "outputs": [], + "source": [ + "get_top_products('phone_gaming_30000')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c2b3b9a-aceb-4f00-8c8d-8f6837ab94fc", + "metadata": {}, + "outputs": [], + "source": [ + "def display_markdown(category_subcategory_budget):\n", + " output = get_top_products(category_subcategory_budget)\n", + " display(Markdown(output))\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c135dd7-4ed4-48ee-ba3f-9b4ca1c32149", + "metadata": {}, + "outputs": [], + "source": [ + "display_markdown('Console_gaming_100000')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ba06c55-7ef9-47eb-aeaf-3c4a7b29bccc", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 6e9978391051aabaf8807660f7b48e02360a6cd3 Mon Sep 17 00:00:00 2001 From: rahulvit2010 Date: Fri, 15 Aug 2025 11:46:33 +0530 Subject: [PATCH 095/176] assistant which give subject of email --- week1/community-contributions/day1.ipynb | 817 +++++++++++++++++++++++ 1 file changed, 817 insertions(+) create mode 100644 week1/community-contributions/day1.ipynb diff --git a/week1/community-contributions/day1.ipynb b/week1/community-contributions/day1.ipynb new file mode 100644 index 0000000..b876e38 --- /dev/null +++ b/week1/community-contributions/day1.ipynb @@ -0,0 +1,817 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "Let's build a useful LLM solution - in a matter of minutes.\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", + "\n", + "## If you're new to Jupyter Lab\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", + "\n", + "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", + "\n", + "## If you're new to the Command Line\n", + "\n", + "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", + "\n", + "## If you'd prefer to work in IDEs\n", + "\n", + "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", + "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", + "\n", + "## If you'd like to brush up your Python\n", + "\n", + "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", + "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## For foundational technical knowledge (eg Git, APIs, debugging) \n", + "\n", + "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", + "\n", + "This covers Git and GitHub; what they are, the difference, and how to use them: \n", + "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", + "\n", + "This covers technical foundations: \n", + "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", + "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", + "\n", + "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", + "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", + "\n", + "This covers the essential techniques for figuring out errors: \n", + "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", + "\n", + "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", + "\n", + "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello! It’s great to hear from you! How can I help you today?\n" + ] + } + ], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Home - Edward Donner\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Well, hi there.\n", + "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", + "very\n", + "amateur) and losing myself in\n", + "Hacker News\n", + ", nodding my head sagely to things I only half understand.\n", + "I’m the co-founder and CTO of\n", + "Nebula.io\n", + ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", + "acquired in 2021\n", + ".\n", + "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", + "patented\n", + "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", + "Connect\n", + "with me for more!\n", + "May 28, 2025\n", + "Connecting my courses – become an LLM expert and leader\n", + "May 18, 2025\n", + "2025 AI Executive Briefing\n", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "Navigation\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Get in touch\n", + "ed [at] edwarddonner [dot] com\n", + "www.edwarddonner.com\n", + "Follow me\n", + "LinkedIn\n", + "Twitter\n", + "Facebook\n", + "Subscribe to newsletter\n", + "Type your email…\n", + "Subscribe\n" + ] + } + ], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")\n", + "print(ed.title)\n", + "print(ed.text)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT4o have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are looking at a website titled Home - Edward Donner\n", + "The contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\n", + "\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Well, hi there.\n", + "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", + "very\n", + "amateur) and losing myself in\n", + "Hacker News\n", + ", nodding my head sagely to things I only half understand.\n", + "I’m the co-founder and CTO of\n", + "Nebula.io\n", + ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", + "acquired in 2021\n", + ".\n", + "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", + "patented\n", + "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", + "Connect\n", + "with me for more!\n", + "May 28, 2025\n", + "Connecting my courses – become an LLM expert and leader\n", + "May 18, 2025\n", + "2025 AI Executive Briefing\n", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "Navigation\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Get in touch\n", + "ed [at] edwarddonner [dot] com\n", + "www.edwarddonner.com\n", + "Follow me\n", + "LinkedIn\n", + "Twitter\n", + "Facebook\n", + "Subscribe to newsletter\n", + "Type your email…\n", + "Subscribe\n" + ] + } + ], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Oh, you’re going for the big math questions now, huh? Well, if you insist on dragging me into elementary school territory, the answer is 4. Shocking, I know.\n" + ] + } + ], + "source": [ + "# To give you a preview -- calling OpenAI with system and user messages:\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'system',\n", + " 'content': 'You are an assistant that analyzes the contents of a website and provides a short summary, ignoring text that might be navigation related. Respond in markdown.'},\n", + " {'role': 'user',\n", + " 'content': 'You are looking at a website titled Home - Edward Donner\\nThe contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\\n\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nWell, hi there.\\nI’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\\nvery\\namateur) and losing myself in\\nHacker News\\n, nodding my head sagely to things I only half understand.\\nI’m the co-founder and CTO of\\nNebula.io\\n. We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\\nacquired in 2021\\n.\\nWe work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\\npatented\\nour matching model, and our award-winning platform has happy customers and tons of press coverage.\\nConnect\\nwith me for more!\\nMay 28, 2025\\nConnecting my courses – become an LLM expert and leader\\nMay 18, 2025\\n2025 AI Executive Briefing\\nApril 21, 2025\\nThe Complete Agentic AI Engineering Course\\nJanuary 23, 2025\\nLLM Workshop – Hands-on with Agents – resources\\nNavigation\\nHome\\nConnect Four\\nOutsmart\\nAn arena that pits LLMs against each other in a battle of diplomacy and deviousness\\nAbout\\nPosts\\nGet in touch\\ned [at] edwarddonner [dot] com\\nwww.edwarddonner.com\\nFollow me\\nLinkedIn\\nTwitter\\nFacebook\\nSubscribe to newsletter\\nType your email…\\nSubscribe'}]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'# Summary of Edward Donner\\'s Website\\n\\nThe website is the personal platform of Ed Donner, a software engineer and co-founder/CTO of Nebula.io, an AI-focused company that aims to help individuals discover their potential through technology. Ed expresses his passion for coding, experimenting with large language models (LLMs), and interests in DJing and electronic music production.\\n\\n## Key Sections:\\n- **About Ed**: Provides personal background, detailing his experience in AI startups, including his previous venture, untapt, which was acquired in 2021. He highlights the use of patented matching models and LLMs in talent management.\\n- **Connect Four & Outsmart**: Features interactive games or platforms where LLMs engage in diplomatic and strategic challenges.\\n- **Courses & Announcements**:\\n - **May 28, 2025**: Announced a course focused on becoming an LLM expert and leader.\\n - **May 18, 2025**: Announcement for the 2025 AI Executive Briefing.\\n - **April 21, 2025**: Introduction of \"The Complete Agentic AI Engineering Course.\"\\n - **January 23, 2025**: A workshop providing hands-on experience with agents and associated resources.\\n\\nThe website also encourages visitors to connect and engage through various social media platforms and a newsletter subscription.'" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of \"Home - Edward Donner\"\n", + "\n", + "The website is dedicated to Edward Donner, a co-founder and CTO of Nebula.io, a platform focused on leveraging AI to assist individuals in discovering their potential and engaging with talent. Edward expresses an interest in coding, experiments with large language models (LLMs), DJing, and electronic music production. He has a history as the founder of an AI startup, untapt, which was acquired in 2021.\n", + "\n", + "## Key Features:\n", + "- **Connect Four**: A game involving LLMs competing in diplomacy and strategy.\n", + "- **About**: Information about Edward's professional background and interests.\n", + "- **Courses and Workshops**: \n", + " - **Recent Announcements**:\n", + " - **May 28, 2025**: Launch of a program to become an LLM expert and leader.\n", + " - **May 18, 2025**: Announcement of a 2025 AI Executive Briefing.\n", + " - **April 21, 2025**: Introduction of the Complete Agentic AI Engineering Course.\n", + " - **January 23, 2025**: A hands-on LLM Workshop focusing on resources related to agents.\n", + "\n", + "The content emphasizes his passion for AI and education within the industry." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "# CNN Website Summary\n", + "\n", + "CNN is a major news outlet that provides comprehensive coverage of world events, featuring sections on U.S. and international news, political analysis, business, health, entertainment, and sports. The site emphasizes real-time updates and includes various multimedia formats such as videos and articles.\n", + "\n", + "### Notable Articles and Updates\n", + "\n", + "- **Ukraine-Russia War**: Pro-Ukraine protests are ongoing, and there are discussions regarding dignitaries meeting on U.S. soil amidst rising tensions.\n", + " \n", + "- **Israel-Hamas Conflict**: Analysis and reports highlight significant developments including Israel’s settlement plans which may impact the future of a Palestinian state.\n", + "\n", + "- **Health**: New heart health guidelines suggest going alcohol-free; studies indicate a high level of stress among teenagers.\n", + "\n", + "- **Entertainment**:\n", + " - Megadeth is set to release its final album and embark on a farewell tour.\n", + " - Taylor Swift's recent appearances are noted for cultural impact.\n", + "\n", + "- **Science**: Climate-related findings unveil vulnerabilities in GPS and satellites due to pollution.\n", + "\n", + "- **Business**: Discussions are ongoing about potential government stake in Intel, affecting stock prices.\n", + "\n", + "### Additional Features\n", + "CNN also offers a variety of interactive content including quizzes, games, and newsletters tailored to reader interests. The site encourages user engagement through feedback on advertisements and technical issues.\n", + "\n", + "Overall, CNN remains a significant source for breaking news and in-depth analysis across a broad spectrum of topics." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Subject: Leave Notification: Medical Emergency (Aug 17-21, 2025)\n" + ] + } + ], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"you are the email assistant, which provide the subject of the email\"\n", + "user_prompt = \"\"\"\n", + " please provide the appropriate subject for below email\n", + "hi team,\n", + "due to some medical emergency , i will be on leave for 5 days starting\n", + "from 17-08-2025 to 21-08-2025.\n", + "\n", + "please call me in case of any urgency.\n", + "\n", + "regards\n", + "Rahul\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]\n", + "\n", + "# Step 3: Call OpenAI\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "\n", + "\n", + "# Step 4: print the result\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From efcb0de19e2190339a15f95266d4719169732f9e Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Fri, 15 Aug 2025 12:14:34 +0530 Subject: [PATCH 096/176] Add TechHelpAgent exercise notebook Introduces a Jupyter notebook for the week 1 exercise, demonstrating use of OpenAI API and Ollama to answer technical questions. Includes setup, example prompts, and code for generating explanations using GPT and Llama models. --- .../week1 EXERCISE - TechHelpAgent.ipynb | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 week1/community-contributions/week1 EXERCISE - TechHelpAgent.ipynb diff --git a/week1/community-contributions/week1 EXERCISE - TechHelpAgent.ipynb b/week1/community-contributions/week1 EXERCISE - TechHelpAgent.ipynb new file mode 100644 index 0000000..a750b2e --- /dev/null +++ b/week1/community-contributions/week1 EXERCISE - TechHelpAgent.ipynb @@ -0,0 +1,206 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import json\n", + "from IPython.display import Markdown, display, update_display\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key looks good so far\n" + ] + } + ], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv(\"OPENAI_API_KEY\")\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "system_prompt = \"You are a software engineering and data science expert and you have knowledge in all the areas of software engineering and latest technologies, trends. You should guide and help users with your technical solutions for all software engineering and data science related questions\"\n", + "user_prompt = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "This code snippet is utilizing a Python generator expression combined with the `yield from` statement to yield values from a set comprehension. Let's break it down:\n", + "\n", + "1. **Set Comprehension**:\n", + " ```python\n", + " {book.get(\"author\") for book in books if book.get(\"author\")}\n", + " ```\n", + " - This is a set comprehension that iterates over a collection called `books`.\n", + " - For each `book`, it retrieves the value associated with the key `\"author\"` using the `get()` method.\n", + " - The `if book.get(\"author\")` condition ensures that only books that have a valid (non-None or non-empty) author are included. This effectively filters out any books where the author is not present.\n", + "\n", + " As a result, this part creates a set of unique authors from the list of books. Since sets automatically discard duplicates, if multiple books have the same author, that author will only appear once in the resulting set.\n", + "\n", + "2. **Yielding Values**:\n", + " ```python\n", + " yield from\n", + " ```\n", + " - The `yield from` statement is used when you want to yield all values from an iterable. It allows a generator to yield all values from another generator or iterable.\n", + " - In this context, it will yield each author from the set created by the comprehension.\n", + "\n", + "3. **Putting It All Together**:\n", + " What this overall code does is:\n", + " - It generates and yields unique authors from a collection of books, ensuring that each author is listed only once and only for books that actually specify an author.\n", + "\n", + "### Purpose:\n", + "This code is useful in scenarios where you need to obtain a seemingly infinite generator of authors from a collection of books, processing each author one by one without creating a permanent list or set in memory, which can be beneficial for memory efficiency especially if you have a very large collection of books.\n", + "\n", + "### Example Usage:\n", + "Here’s a basic example of how you might use this in a generator function:\n", + "\n", + "```python\n", + "def get_unique_authors(books):\n", + " yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\n", + "# Example books list\n", + "books = [\n", + " {\"title\": \"Book 1\", \"author\": \"Author A\"},\n", + " {\"title\": \"Book 2\", \"author\": \"Author B\"},\n", + " {\"title\": \"Book 3\", \"author\": \"Author A\"},\n", + " {\"title\": \"Book 4\", \"author\": None},\n", + "]\n", + "\n", + "for author in get_unique_authors(books):\n", + " print(author)\n", + "```\n", + "\n", + "This would output:\n", + "```\n", + "Author A\n", + "Author B\n", + "```\n", + "\n", + "In this example, `Author A` only appears once, demonstrating the uniqueness provided by the set comprehension." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "None\n" + ] + } + ], + "source": [ + "# Get gpt-4o-mini to answer, with streaming\n", + "response = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " stream=True\n", + " )\n", + "result = response.choices[0].message.content\n", + "print(display(Markdown(result)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c2fae08c86a917f09e2ade17e95fe220c495a8c5 Mon Sep 17 00:00:00 2001 From: ZnDream Date: Fri, 15 Aug 2025 10:42:25 +0100 Subject: [PATCH 097/176] Add D2-property-rental-assistant --- .../D2-property-rental-assistant/README.md | 189 +++++++++++++++ .../D2-property-rental-assistant/day2.ipynb | 217 ++++++++++++++++++ 2 files changed, 406 insertions(+) create mode 100644 week1/community-contributions/D2-property-rental-assistant/README.md create mode 100644 week1/community-contributions/D2-property-rental-assistant/day2.ipynb diff --git a/week1/community-contributions/D2-property-rental-assistant/README.md b/week1/community-contributions/D2-property-rental-assistant/README.md new file mode 100644 index 0000000..374cd58 --- /dev/null +++ b/week1/community-contributions/D2-property-rental-assistant/README.md @@ -0,0 +1,189 @@ +# AI Property Rental Assistant + +An intelligent property rental assistant Jupyter notebook that scrapes real estate listings from OnTheMarket and uses a local LLM (DeepSeek R1) to analyze and recommend properties based on user requirements. + +## Features + +- **Web Scraping**: Automatically fetches property listings from OnTheMarket +- **AI-Powered Analysis**: Uses DeepSeek R1 model via Ollama for intelligent recommendations +- **Personalized Recommendations**: Filters and ranks properties based on: + - Budget constraints + - Number of bedrooms + - Tenant type (student, family, professional) + - Location preferences +- **Clean Output**: Returns formatted markdown with top 3-5 property recommendations +- **Smart Filtering**: Handles cases where no suitable properties are found with helpful suggestions + +## Prerequisites + +- Python 3.7+ +- Ollama installed and running locally +- DeepSeek R1 14B model pulled in Ollama + +## Installation + +1. **Clone the repository** +```bash +git clone +cd property-rental-assistant +``` + +2. **Install required Python packages** +```bash +pip install requests beautifulsoup4 ollama ipython jupyter +``` + +3. **Install and setup Ollama** +```bash +# Install Ollama (macOS/Linux) +curl -fsSL https://ollama.ai/install.sh | sh + +# For Windows, download from: https://ollama.ai/download +``` + +4. **Pull the DeepSeek R1 model** +```bash +ollama pull deepseek-r1:14b +``` + +5. **Start Ollama server** +```bash +ollama serve +``` + +## Usage + +### Running the Notebook + +1. **Start Jupyter Notebook** +```bash +jupyter notebook +``` + +2. **Open the notebook** +Navigate to `property_rental_assistant.ipynb` in the Jupyter interface + +3. **Run all cells** +Click `Cell` → `Run All` or use `Shift + Enter` to run cells individually + +### Customizing Search Parameters + +Modify the `user_needs` variable in the notebook: +```python +user_needs = "I'm a student looking for a 2-bedroom house in Durham under Ā£2,000/month" +``` + +Other examples: +- `"Family of 4 looking for 3-bedroom house with garden in Durham, budget Ā£2,500/month"` +- `"Professional couple seeking modern 1-bed apartment near city center, max Ā£1,500/month"` +- `"Student group needs 4-bedroom house near Durham University, Ā£600/month per person"` + +### Changing the Property Website + +Update the `website_url` variable in the notebook: +```python +website_url = "https://www.onthemarket.com/to-rent/property/durham/" +``` + +## Architecture + +``` +ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” +│ OnTheMarket │────▶│ Web Scraper │────▶│ Ollama │ +│ Website │ │ (BeautifulSoup)│ │ (DeepSeek R1)│ +ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ + │ + ā–¼ + ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” + │ AI-Generated Recommendations │ + │ • Top 5 matching properties │ + │ • Filtered by requirements │ + │ • Markdown formatted output │ + ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ +``` + +## Project Structure + +``` +property-rental-assistant/ +│ +ā”œā”€ā”€ property_rental_assistant.ipynb # Main Jupyter notebook +└── README.md # This file +``` + +## šŸ”§ Configuration + +### Ollama API Settings +```python +OLLAMA_API = "http://localhost:11434/api/chat" # Default Ollama endpoint +MODEL = "deepseek-r1:14b" # Model to use +``` + +### Web Scraping Settings +```python +headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" +} +timeout = 10 # Request timeout in seconds +``` + +### Content Limits +```python +website.text[:4000] # Truncate content to 4000 chars for token limits +``` + +## How It Works + +1. **Web Scraping**: The `Website` class fetches and parses HTML content from the property listing URL +2. **Content Cleaning**: Removes scripts, styles, and images to extract clean text +3. **Prompt Engineering**: Combines system prompt with user requirements and scraped data +4. **LLM Analysis**: Sends the prompt to DeepSeek R1 via Ollama API +5. **Recommendation Generation**: The AI analyzes listings and returns top matches in markdown format + +## šŸ› ļø Troubleshooting + +### Ollama Connection Error +``` +Error communicating with Ollama: [Errno 111] Connection refused +``` +**Solution**: Ensure Ollama is running with `ollama serve` + +### Model Not Found +``` +Error: model 'deepseek-r1:14b' not found +``` +**Solution**: Pull the model with `ollama pull deepseek-r1:14b` + +### Web Scraping Blocked +``` +Error fetching website: 403 Forbidden +``` +**Solution**: The website may be blocking automated requests. Try: +- Updating the User-Agent string +- Adding delays between requests +- Using a proxy or VPN + +### Insufficient Property Data +If recommendations are poor quality, the scraper may not be capturing listing details properly. Check: +- The website structure hasn't changed +- The content truncation limit (4000 chars) isn't too restrictive + +## Future Enhancements + +- [ ] Support multiple property websites (Rightmove, Zoopla, SpareRoom) +- [ ] Interactive CLI for dynamic user input +- [ ] Property image analysis +- [ ] Save search history and favorite properties +- [ ] Email notifications for new matching properties +- [ ] Price trend analysis +- [ ] Commute time calculations to specified locations +- [ ] Multi-language support +- [ ] Web interface with Flask/FastAPI +- [ ] Docker containerization + +## Acknowledgments + +- [Ollama](https://ollama.ai/) for local LLM hosting +- [DeepSeek](https://www.deepseek.com/) for the R1 model +- [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/) for web scraping +- [OnTheMarket](https://www.onthemarket.com/) for property data diff --git a/week1/community-contributions/D2-property-rental-assistant/day2.ipynb b/week1/community-contributions/D2-property-rental-assistant/day2.ipynb new file mode 100644 index 0000000..5f57780 --- /dev/null +++ b/week1/community-contributions/D2-property-rental-assistant/day2.ipynb @@ -0,0 +1,217 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "57112e5c-7b0f-4ba7-9022-ae21e8ac0f42", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b71a051-fc0e-46a9-8b1b-b58f685e800d", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"deepseek-r1:14b\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed3be9dc-d459-46ac-a8eb-f9b932c4302f", + "metadata": {}, + "outputs": [], + "source": [ + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " def __init__(self, url): # āœ… Corrected init\n", + " self.url = url\n", + " try:\n", + " response = requests.get(url, headers=headers, timeout=10)\n", + " response.raise_for_status()\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"No body content found\"\n", + " except requests.RequestException as e:\n", + " print(f\"Error fetching website: {e}\")\n", + " self.title = \"Error loading page\"\n", + " self.text = \"Could not load page content\"" + ] + }, + { + "cell_type": "markdown", + "id": "17ea76f8-38d9-40b9-8aba-eb957d690a0d", + "metadata": {}, + "source": [ + "## Without Ollama package" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a6fd698-8e59-4cd7-bb53-b9375e50f899", + "metadata": {}, + "outputs": [], + "source": [ + "def house_renting(system_prompt, user_prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }\n", + " response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + " return response.json()['message']['content']" + ] + }, + { + "cell_type": "markdown", + "id": "c826a52c-d1d3-493a-8b7c-6e75b848b453", + "metadata": {}, + "source": [ + "## Introducing Ollama package " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "519e27da-eeff-4c1b-a8c6-e680fdf01da2", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "def house_renting_ollama(system_prompt, user_prompt):\n", + " try:\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " response = ollama.chat(model=MODEL, messages=messages)\n", + " return response['message']['content']\n", + " except Exception as e:\n", + " return f\"Error communicating with Ollama: {e}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60e98b28-06d9-4303-b8ca-f7b798244eb4", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"\n", + "You are a helpful real estate assistant specializing in UK property rentals. Your job is to guide users in finding houses to rent, especially in Durham. Follow these rules:\n", + "1. Always ask clarifying questions if user input is vague. Determine location, budget, number of bedrooms, and tenant type (e.g. student, family, professional).\n", + "2. Use structured data provided from the website (like property listings) to identify relevant options.\n", + "3. If listings are provided, filter and rank them based on the user's preferences.\n", + "4. Recommend up to 5 top properties with rent price, bedroom count, key features, and location.\n", + "5. Always respond in markdown with clean formatting using headers, bold text, and bullet points.\n", + "6. If no listings match well, provide tips (e.g. \"try adjusting your budget or search radius\").\n", + "7. Stay concise, helpful, and adapt to whether the user is a student, family, couple, or solo tenant.\n", + "\"\"\"\n", + "\n", + "def user_prompt_for_renting(website, user_needs):\n", + " return f\"\"\"\n", + "I want to rent a house and here's what I'm looking for:\n", + "{user_needs}\n", + "\n", + "Here are the property listings I found on the website titled: \"{website.title}\".\n", + "\n", + "Please analyze them and recommend the best 3–5 options that match my needs. If none are suitable, tell me why and offer suggestions.\n", + "\n", + "The page content is below:\n", + "{website.text[:4000]}\n", + "\"\"\" # content is truncated for token limits" + ] + }, + { + "cell_type": "markdown", + "id": "ef420f4b-e3d2-4fbd-bf6f-811f2c8536e0", + "metadata": {}, + "source": [ + "## Ollama Package" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1cf128af-4ece-41ab-b353-5c8564c7de1d", + "metadata": {}, + "outputs": [], + "source": [ + "if __name__ == \"__main__\": # Fixed: Changed **name** to __name__\n", + " print(\"Starting AI Property Rental Assistant...\")\n", + " print(\"=\" * 50)\n", + " \n", + " website_url = \"https://www.onthemarket.com/to-rent/property/durham/\"\n", + " print(f\"šŸ” Scraping properties from: {website_url}\")\n", + " \n", + " website = Website(website_url)\n", + " print(f\"Website Title: {website.title}\")\n", + " print(f\"Content Length: {len(website.text)} characters\")\n", + " print(f\"Successfully scraped property listings\\n\")\n", + " \n", + " user_needs = \"I'm a student looking for a 2-bedroom house in Durham under Ā£2,000/month\"\n", + " print(f\"User Requirements: {user_needs}\\n\")\n", + " \n", + " user_prompt = user_prompt_for_renting(website, user_needs)\n", + " print(\"Generating AI recommendations...\")\n", + " \n", + " # Choose which method to use (comment out the one you don't want)\n", + " \n", + " # Method 1: Using ollama Python library\n", + " output = house_renting_ollama(system_prompt, user_prompt)\n", + " \n", + " # Method 2: Using direct API call\n", + " # output = house_renting(system_prompt, user_prompt)\n", + " \n", + " display(Markdown(output))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:llms]", + "language": "python", + "name": "conda-env-llms-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e5f6bb92363c1a06e4900c1de7e1e61b5531d817 Mon Sep 17 00:00:00 2001 From: ZnDream Date: Fri, 15 Aug 2025 14:47:31 +0100 Subject: [PATCH 098/176] Update D2-property-rental-assistant notebooks --- .../D2-property-rental-assistant/day2.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week1/community-contributions/D2-property-rental-assistant/day2.ipynb b/week1/community-contributions/D2-property-rental-assistant/day2.ipynb index 5f57780..4c8dc5e 100644 --- a/week1/community-contributions/D2-property-rental-assistant/day2.ipynb +++ b/week1/community-contributions/D2-property-rental-assistant/day2.ipynb @@ -39,7 +39,7 @@ "}\n", "\n", "class Website:\n", - " def __init__(self, url): # āœ… Corrected init\n", + " def __init__(self, url):\n", " self.url = url\n", " try:\n", " response = requests.get(url, headers=headers, timeout=10)\n", @@ -163,7 +163,7 @@ "metadata": {}, "outputs": [], "source": [ - "if __name__ == \"__main__\": # Fixed: Changed **name** to __name__\n", + "if __name__ == \"__main__\": \n", " print(\"Starting AI Property Rental Assistant...\")\n", " print(\"=\" * 50)\n", " \n", From 62a27db93d941bc12f7c5f6040540a0818d9dc31 Mon Sep 17 00:00:00 2001 From: Antonina Bagrin Date: Fri, 15 Aug 2025 17:59:12 +0300 Subject: [PATCH 099/176] Added my contribution week_2 to community-contribution --- .../week2_tennis.ipynb | 331 ++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100644 week2/community-contributions/week2_tennis.ipynb diff --git a/week2/community-contributions/week2_tennis.ipynb b/week2/community-contributions/week2_tennis.ipynb new file mode 100644 index 0000000..bed232f --- /dev/null +++ b/week2/community-contributions/week2_tennis.ipynb @@ -0,0 +1,331 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ad6e5ed4-a38d-46a6-8bb5-32d68bd0b9e5", + "metadata": {}, + "source": [ + "End of week 2 exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "8f45fbfa-eaaa-4eb8-841e-83b068b80507", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import json\n", + "import gradio as gr\n", + "import base64\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from pydub import AudioSegment\n", + "from pydub.playback import play\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "451b72a6-1e6c-476a-8431-1c30c5cd9fb8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "if openai_api_key:\n", + " print(\"API key found and looks good so far!\")\n", + "else:\n", + " print(\"No API key was found!\")\n", + "\n", + "MODEL = \"gpt-4o-mini\"\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "29fa6a53-4b57-47ea-89a1-640020e603b4", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = (\n", + " \"You are a helpful tennis coach who answers questions about tennis rules, \"\n", + " \"players, strategies, training, and equipment.\"\n", + " \"Give short, courteous answers, no more than 2 sentence.\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "e9b255e7-02d8-4350-b5d4-e645d1fc90d3", + "metadata": {}, + "outputs": [], + "source": [ + "# Translation\n", + "\n", + "LANG_CODES = {\n", + " \"English\": \"en\",\n", + " \"Spanish\": \"es\",\n", + " \"French\": \"fr\"\n", + "}\n", + "\n", + "def translate_text(text, target_language=\"en\"):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": f\"You are a translator. Translate the following text to {target_language}\"},\n", + " {\"role\": \"user\", \"content\": text}\n", + " ]\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " return response.choices[0].message.content\n", + "\n", + "def tennis_info_tool(query):\n", + " if \"top\" in query.lower():\n", + " return \"Top male players: Djokovic, Nadal, Federer. Top female players: Barty, Sabalenka, Swiatek.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "b44b147c-bfba-4137-9ecb-d5538f08a46d", + "metadata": {}, + "outputs": [], + "source": [ + "# Image\n", + "def generate_tennis_image(prompt):\n", + " image_response = openai.images.generate(\n", + " model=\"dall-e-3\",\n", + " prompt=f\"Tennis scene: {prompt}, realistic and detailed, vibrant colors\",\n", + " size=\"1024x1024\",\n", + " n=1,\n", + " response_format=\"b64_json\",\n", + " )\n", + " image_base64 = image_response.data[0].b64_json\n", + " image_data = base64.b64decode(image_base64)\n", + " return Image.open(BytesIO(image_data))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "bbfeff3b-0c73-4b2c-a6da-3cac27d8fedd", + "metadata": {}, + "outputs": [], + "source": [ + "# Audio\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=message\n", + " )\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play(audio)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa338332-3dfc-4b95-8367-65853a8d2793", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "574d672e-0a75-4af9-b3ad-8dc2dec4e607", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(history, user_message, target_language=\"English\", use_audio=False, generate_image=False):\n", + " image = None\n", + "\n", + " if any(keyword in user_message.lower() for keyword in [\"top\", \"players\"]):\n", + " reply = tennis_info_tool(user_message)\n", + " else:\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " reply = response.choices[0].message.content\n", + " \n", + " if target_language != \"English\":\n", + " code = LANG_CODES.get(target_language, \"en\")\n", + " reply = translate_text(reply, code)\n", + "\n", + " history.append({\"role\": \"assistant\", \"content\": reply})\n", + " \n", + " if use_audio:\n", + " talker(reply)\n", + "\n", + " if generate_image:\n", + " image = generate_tennis_image(reply)\n", + " return history, image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eaf4f47e-d20b-41f8-94b5-4aef0302731b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "9110343f-0efa-49bc-8d5f-498fd690dd14", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7869\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Input #0, wav, from '/var/folders/73/0s09hh2n48q7s14tld64q3rh0000gn/T/tmp4hoe_x5n.wav':\n", + " Duration: 00:00:06.55, bitrate: 384 kb/s\n", + " Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s\n", + " 6.45 M-A: -0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Input #0, wav, from '/var/folders/73/0s09hh2n48q7s14tld64q3rh0000gn/T/tmp2mxw0wth.wav':\n", + " Duration: 00:00:04.61, bitrate: 384 kb/s\n", + " Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s\n", + " 4.48 M-A: 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# Gradio\n", + "\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " image_output = gr.Image(height=500)\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Ask your Tennis Coach:\", placeholder=\"Type and press Enter...\")\n", + " target_lang_dropdown = gr.Dropdown(\n", + " choices=[\"English\", \"Spanish\", \"French\"],\n", + " value=\"English\",\n", + " label=\"Translate to:\"\n", + " )\n", + " audio_toggle = gr.Checkbox(label=\"Play audio\", value=False)\n", + " image_toggle = gr.Checkbox(label=\"Generate image for this reply\", value=True)\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + " \n", + " def add_user_message(message, history):\n", + " history.append({\"role\": \"user\", \"content\": message})\n", + " return \"\", history\n", + "\n", + " def chat_response(history, message, target_language, use_audio, generate_image):\n", + " history, image = chat(history, message, target_language, use_audio, generate_image)\n", + " return history, image\n", + "\n", + " entry.submit(\n", + " add_user_message,\n", + " inputs=[entry, chatbot],\n", + " outputs=[entry, chatbot]).then(\n", + " chat_response,\n", + " inputs=[chatbot, entry, target_lang_dropdown, audio_toggle, image_toggle],\n", + " outputs=[chatbot, image_output]\n", + " )\n", + "\n", + " clear.click(lambda: (None, None, None), inputs=None, outputs=[chatbot, image_output, entry], queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0359c29-22aa-4156-9afa-8c63c02ca747", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From db8349fb5c7e79bb988df4ef21b1ca0d09734cf0 Mon Sep 17 00:00:00 2001 From: Ray Melpakkam Date: Fri, 15 Aug 2025 12:55:16 -0400 Subject: [PATCH 100/176] Added my contributions to community-contributions --- .../openai-twenty-questions/README.md | 5 + .../openai-twenty-questions/twenty.py | 100 ++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 community-contributions/openai-twenty-questions/README.md create mode 100644 community-contributions/openai-twenty-questions/twenty.py diff --git a/community-contributions/openai-twenty-questions/README.md b/community-contributions/openai-twenty-questions/README.md new file mode 100644 index 0000000..3fcbd94 --- /dev/null +++ b/community-contributions/openai-twenty-questions/README.md @@ -0,0 +1,5 @@ +# openai-twenty-questions +Chatgpt script that acts as Thinker and Guesser to play the 20 questions game + +1. pip install openai==0.28 +2. Run python twenty.py and it will Think of a word and try to guess it in 20 tries diff --git a/community-contributions/openai-twenty-questions/twenty.py b/community-contributions/openai-twenty-questions/twenty.py new file mode 100644 index 0000000..5f098cd --- /dev/null +++ b/community-contributions/openai-twenty-questions/twenty.py @@ -0,0 +1,100 @@ +import openai +import os +import time + +# openai.api_key = os.getenv("OPENAI_API_KEY") +# openai.api_key = "<>" + +# Models: You can use "gpt-4o", "gpt-4-turbo", or "gpt-3.5-turbo" — but we'll use "gpt-4o" or "gpt-4o-mini" for both players +MODEL = "gpt-4o-mini" + +def call_chatgpt(messages): + response = openai.ChatCompletion.create( + model=MODEL, + messages=messages, + temperature=0.7 + ) + return response.choices[0].message["content"].strip() + +# Step 1: Thinker chooses a secret object +thinker_messages = [ + {"role": "system", "content": "You are playing 20 Questions. Think of an object or thing and just one word. Keep it secret and reply only with: 'I have thought of something. Let's begin.'"}, +] +thinker_reply = call_chatgpt(thinker_messages) +print("Thinker:", thinker_reply) + +# For simulation purposes, let’s ask the thinker what the object is (in real game, this is hidden) +reveal_object_prompt = [ + {"role": "system", "content": "You are playing 20 Questions. Think of an object or thing and just one word. Now tell me (just for logging) what you are thinking of. Reply only with the thing."} +] +object_answer = call_chatgpt(reveal_object_prompt) +print("šŸ”’ Secret Object:", object_answer) + +# Step 2: Guesser starts asking questions +guesser_messages = [ + {"role": "system", "content": f"You are playing 20 Questions. Ask yes/no questions to figure out what the object is. Do not repeat questions. The object is kept secret by the other player. Begin by asking your first question."}, +] + +# Let’s keep track of Q&A +history = [] +q_count = 1 + +for i in range(1, 11): + print(f"\nšŸ”„ Round {q_count}") + q_count += 1 + # Guesser asks a question + question = call_chatgpt(guesser_messages) + print("Guesser:", question) + history.append(("Guesser", question)) + + # Thinker responds (yes/no) + thinker_round = [ + {"role": "system", "content": f"You are playing 20 Questions. The secret object is: {object_answer}."}, + {"role": "user", "content": f"The other player asked: {question}. Respond only with 'Yes', 'No', or 'I don't know'."} + ] + answer = call_chatgpt(thinker_round) + print("Thinker:", answer) + history.append(("Thinker", answer)) + + # Add to conversation history for guesser + guesser_messages.append({"role": "assistant", "content": question}) + guesser_messages.append({"role": "user", "content": answer}) + + + print(f"\nšŸ”„ Round {q_count}") + q_count += 1 + # Check if guesser wants to guess + guess_check_prompt = guesser_messages + [ + {"role": "user", "content": "Based on the answers so far, do you want to guess? If yes, say: 'Is it ?'. If not, ask the next yes/no question."} + ] + next_move_question = call_chatgpt(guess_check_prompt) + print("Guesser next move:", next_move_question) + history.append(("Guesser", next_move_question)) + + if next_move_question.lower().startswith("is it a"): + # Thinker validates guess + guess = next_move_question[8:].strip(" ?.") + guess = next_move_question[8:].strip(" ?") + + if guess.lower() == object_answer.lower(): + print("Guesser guessed correctly!") + break + # Thinker responds (yes/no) + thinker_round = [ + {"role": "system", "content": f"You are playing 20 Questions. The secret object is: {object_answer}."}, + {"role": "user", "content": f"The other player asked: {next_move_question}. Respond only with 'Yes', 'No', or 'I don't know'."} + ] + answer = call_chatgpt(thinker_round) + print("Thinker next move:", answer) + history.append(("Thinker", answer)) + + # Add to conversation history for guesser + guesser_messages.append({"role": "assistant", "content": next_move_question}) + guesser_messages.append({"role": "user", "content": answer}) + + # Prepare for next round + guesser_messages.append({"role": "assistant", "content": next_move_question}) + question = next_move_question + +else: + print("āŒ Guesser used all 20 questions without guessing correctly.") \ No newline at end of file From 3c6f4263adcd15bd6ac8471e6470a5aff314c280 Mon Sep 17 00:00:00 2001 From: Feyisa-Diba Date: Sat, 16 Aug 2025 00:30:26 -0400 Subject: [PATCH 101/176] Add thesis summarizer notebook using direct PDF link --- .../day-1-thesis_pdf_summarizer.ipynb | 305 ++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 week1/community-contributions/day-1-thesis_pdf_summarizer.ipynb diff --git a/week1/community-contributions/day-1-thesis_pdf_summarizer.ipynb b/week1/community-contributions/day-1-thesis_pdf_summarizer.ipynb new file mode 100644 index 0000000..e18c68f --- /dev/null +++ b/week1/community-contributions/day-1-thesis_pdf_summarizer.ipynb @@ -0,0 +1,305 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "581151c0-941e-47b3-a3e0-2da65ba70087", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "47353a41-4b47-499e-9460-fd645345f591", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far\n" + ] + } + ], + "source": [ + "load_dotenv()\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if not api_key:\n", + " print('No API key was found')\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"API key is found but is not in the proper format\")\n", + "else:\n", + " print(\"API key found and looks good so far\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "dbfbb29a-3452-45a0-b9b3-4e329ac776fb", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "88ffe256-e46a-45e8-a616-0ac574aa7085", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"You are a research summarizer specialized in wireless communication systems and propagation modeling. Your task is to summarize a research thesis in no more than 1000 words. The summary must be clear, structured, and written in markdown format.\n", + "\n", + "The summary should include the following sections:\n", + "\n", + "1. **Title and Authors** – Provide the full title of the thesis and author name(s).\n", + "2. **Objective / Research Problem** – Clearly state the core research goal or question addressed in the thesis.\n", + "3. **Scientific and Regional Background** – Explain the technical context of radio wave propagation, and why studying it in the Horn of Africa region is important.\n", + "4. **Methodology** – Summarize the modeling techniques, data sources, simulation tools, frequency bands (e.g., microwave, millimeter), and measurement or evaluation methods used.\n", + "5. **Key Findings** – Highlight the quantitative and qualitative results, including differences between precipitation and clear-air conditions, and observed trends across geographic locations.\n", + "6. **Conclusion** – Describe the primary outcomes and how they advance understanding in wireless communications.\n", + "7. **Limitations** – Point out any constraints (e.g., lack of in-situ measurement, simulation assumptions).\n", + "8. **Future Work** – Suggest next steps for improving or extending this research.\n", + "9. **Real-World Applications** – Discuss how the models or findings could improve wireless network planning, 5G deployment, or link budgeting in East Africa and similar regions.\n", + "\n", + "Use academic language but keep it concise, clear, and structured for a technical reader. Output in markdown format only.\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5f3f7b1a-865f-44cc-854d-9e9e7771eb82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: ipywidgets in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (8.1.7)\n", + "Collecting pdfplumber\n", + " Downloading pdfplumber-0.11.7-py3-none-any.whl.metadata (42 kB)\n", + "Requirement already satisfied: comm>=0.1.3 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipywidgets) (0.2.3)\n", + "Requirement already satisfied: ipython>=6.1.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipywidgets) (9.4.0)\n", + "Requirement already satisfied: traitlets>=4.3.1 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipywidgets) (5.14.3)\n", + "Requirement already satisfied: widgetsnbextension~=4.0.14 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipywidgets) (4.0.14)\n", + "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipywidgets) (3.0.15)\n", + "Collecting pdfminer.six==20250506 (from pdfplumber)\n", + " Downloading pdfminer_six-20250506-py3-none-any.whl.metadata (4.2 kB)\n", + "Requirement already satisfied: Pillow>=9.1 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from pdfplumber) (11.3.0)\n", + "Collecting pypdfium2>=4.18.0 (from pdfplumber)\n", + " Downloading pypdfium2-4.30.0-py3-none-win_amd64.whl.metadata (48 kB)\n", + "Requirement already satisfied: charset-normalizer>=2.0.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from pdfminer.six==20250506->pdfplumber) (3.4.3)\n", + "Requirement already satisfied: cryptography>=36.0.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from pdfminer.six==20250506->pdfplumber) (45.0.6)\n", + "Requirement already satisfied: cffi>=1.14 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from cryptography>=36.0.0->pdfminer.six==20250506->pdfplumber) (1.17.1)\n", + "Requirement already satisfied: pycparser in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from cffi>=1.14->cryptography>=36.0.0->pdfminer.six==20250506->pdfplumber) (2.22)\n", + "Requirement already satisfied: colorama in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.4.6)\n", + "Requirement already satisfied: decorator in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (5.2.1)\n", + "Requirement already satisfied: ipython-pygments-lexers in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (1.1.1)\n", + "Requirement already satisfied: jedi>=0.16 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.19.2)\n", + "Requirement already satisfied: matplotlib-inline in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.1.7)\n", + "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (3.0.51)\n", + "Requirement already satisfied: pygments>=2.4.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (2.19.2)\n", + "Requirement already satisfied: stack_data in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n", + "Requirement already satisfied: typing_extensions>=4.6 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (4.14.1)\n", + "Requirement already satisfied: wcwidth in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.13)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.4)\n", + "Requirement already satisfied: executing>=1.2.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (2.2.0)\n", + "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (3.0.0)\n", + "Requirement already satisfied: pure_eval in c:\\users\\esku4\\anaconda3\\envs\\llms\\lib\\site-packages (from stack_data->ipython>=6.1.0->ipywidgets) (0.2.3)\n", + "Downloading pdfplumber-0.11.7-py3-none-any.whl (60 kB)\n", + "Downloading pdfminer_six-20250506-py3-none-any.whl (5.6 MB)\n", + " ---------------------------------------- 0.0/5.6 MB ? eta -:--:--\n", + " --------------------------------------- 5.5/5.6 MB 30.7 MB/s eta 0:00:01\n", + " ---------------------------------------- 5.6/5.6 MB 22.9 MB/s 0:00:00\n", + "Downloading pypdfium2-4.30.0-py3-none-win_amd64.whl (2.9 MB)\n", + " ---------------------------------------- 0.0/2.9 MB ? eta -:--:--\n", + " ---------------------------------------- 2.9/2.9 MB 28.0 MB/s 0:00:00\n", + "Installing collected packages: pypdfium2, pdfminer.six, pdfplumber\n", + "\n", + " ---------------------------------------- 0/3 [pypdfium2]\n", + " ---------------------------------------- 0/3 [pypdfium2]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " ------------- -------------------------- 1/3 [pdfminer.six]\n", + " -------------------------- ------------- 2/3 [pdfplumber]\n", + " ---------------------------------------- 3/3 [pdfplumber]\n", + "\n", + "Successfully installed pdfminer.six-20250506 pdfplumber-0.11.7 pypdfium2-4.30.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install ipywidgets pdfplumber" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "06dcfc1d-b106-4b9a-9346-6dd6af4a4015", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "UNIVERSITY OF KWAZULU-NATAL\n", + "Radio Wave Propagation Modeling under\n", + "Precipitation and Clear-air at Microwave\n", + "and Millimetric Bands over Wireless Links\n", + "in the Horn of Africa\n", + "Feyisa Debo Diba\n", + "February, 2017\n", + "Supervisor: Professor Thomas J. Afullo\n", + "Co-supervisor: Dr. Akintunde Ayodeji Alonge\n", + "Radio Wave Propagation Modeling under\n", + "Precipitation and Clear-air at Microwave\n", + "and Millimetric Bands over Wireless Links\n", + "in the Horn of Africa\n", + "Feyisa Debo Diba\n", + "In fulfillment of the Degree of Doctor of Philosophy in\n", + "Electronic Engineering, College of Agriculture, Engineering\n", + "and Science, University of KwaZulu-Natal, Durban\n", + "February, 2017\n", + "Supervisor:\n", + "As the candidate’s Supervisor, I agree/do not agree to the submission of this thesis\n", + "Professor T.J. Afullo ———————————-\n", + "Date—————————————————\n", + "Co-Supervisor:\n", + "Dr. Akintunde Ayodeji Alonge\n", + "As the candidate’s Co.Supervisor, I agree to the submission of this thesis\n", + "Dr. A. A. Alonge ———————————-\n", + "Date—————————————————\n", + "ii\n", + "DECLARATION 1 - PLAGIARISM\n", + "I, Feyisa Debo Diba\n" + ] + } + ], + "source": [ + "# Cell 3: Download and extract from PDF URL\n", + "pdf_url = (\n", + " \"https://researchspace.ukzn.ac.za/server/api/core/bitstreams/\"\n", + " \"29218203-bfc8-4fcb-bc63-9afba3341910/content\"\n", + ")\n", + "\n", + "response = requests.get(pdf_url)\n", + "if response.status_code != 200:\n", + " raise Exception(f\"Failed to download PDF (Status code: {response.status_code})\")\n", + "\n", + "with pdfplumber.open(BytesIO(response.content)) as pdf:\n", + " thesis_text = \"\\n\".join(page.extract_text() for page in pdf.pages if page.extract_text())\n", + "\n", + "# Optional Preview\n", + "print(thesis_text[:1000])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "84c544db-64a0-4181-beb0-1cc72bc88466", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of the Research Thesis\n", + "\n", + "## 1. Title and Authors\n", + "**Title:** Radio Wave Propagation Modeling under Precipitation and Clear-air at Microwave and Millimetric Bands over Wireless Links in the Horn of Africa \n", + "**Author:** Feyisa Debo Diba \n", + "**Supervisors:** Professor Thomas J. Afullo, Dr. Akintunde Ayodeji Alonge \n", + "\n", + "## 2. Objective / Research Problem\n", + "The thesis investigates radio wave propagation modeling in clear air and precipitation conditions over wireless communication systems in the Horn of Africa, specifically Ethiopia. The research aims to address the attenuation problem caused by precipitation for systems operating at higher frequency bands.\n", + "\n", + "## 3. Scientific and Regional Background\n", + "The congestion of lower operating frequency bands has led to the rapid growth of utilizing higher frequency spectrum for wireless communication systems. However, the Horn of Africa, particularly Ethiopia, lacks comprehensive studies on propagation modeling under different atmospheric conditions. This research provides valuable insights for the region, contributing to the efficient operation of wireless networks.\n", + "\n", + "## 4. Methodology\n", + "The research uses three years of atmospheric data (temperature, pressure, relative humidity) from the National Meteorological Agency of Ethiopia and clear air signal measurements over terrestrial Line-of-Sight (LOS) links from EthioTelecom. Rainfall data from a Davis Vantage weather station installed at Jimma University, Ethiopia, are also used. The study applies the ITU-R model for refractivity gradient prediction and the Rice-Holmberg (R-H) model for one-minute rain rate distribution. A semi-Markovian model is used for rainfall event characterization and generation.\n", + "\n", + "## 5. Key Findings\n", + "The research derived radio climatological parameters for different rain and clear air fade models. It also proposed rainfall rate conversion factors for Ethiopian sites and developed rainfall rate and fade margin contour maps for Ethiopia. The study found that the sojourn time of spikes in every rain regime is appropriately described by Erlang-k distribution. The number of spikes of generated rainfall events and the corresponding sojourn times follow the power-law relationship.\n", + "\n", + "## 6. Conclusion\n", + "The research provides a comprehensive analysis of radio wave propagation under different atmospheric conditions in Ethiopia. The findings contribute to the understanding of the impact of atmospheric conditions on wireless communication systems operating at higher frequency bands.\n", + "\n", + "## 7. Limitations\n", + "The research is limited by the availability and quality of atmospheric and signal level data. The simulation models also have inherent assumptions that may affect the accuracy of the results.\n", + "\n", + "## 8. Future Work\n", + "Future research could focus on refining the models used in this study by incorporating more data and improving the simulation techniques. Studies could also be extended to other regions in the Horn of Africa.\n", + "\n", + "## 9. Real-World Applications\n", + "The findings of this research can improve wireless network planning and 5G deployment in East Africa. The models developed can also be used in link budgeting, which is crucial for the design and operation of wireless communication systems." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 4: Summarize via OpenAI\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": f\"Here is the thesis text (truncated):\\n\\n{thesis_text[:10000]}\"}\n", + "]\n", + "\n", + "response = openai.chat.completions.create(\n", + " model=\"gpt-4\",\n", + " messages=messages,\n", + " temperature=0.3\n", + ")\n", + "\n", + "summary = response.choices[0].message.content.strip()\n", + "display(Markdown(summary))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1cdf9ec-5efb-4d4b-8de2-83648865f092", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From bbad9e072aba935ad0292d9f4e8883a233074246 Mon Sep 17 00:00:00 2001 From: Mechantchulo Date: Sat, 16 Aug 2025 11:31:23 +0300 Subject: [PATCH 102/176] Add day2 Ollama test notebook --- community-contributions/day2ollamatest.ipynb | 97 ++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 community-contributions/day2ollamatest.ipynb diff --git a/community-contributions/day2ollamatest.ipynb b/community-contributions/day2ollamatest.ipynb new file mode 100644 index 0000000..f50b35d --- /dev/null +++ b/community-contributions/day2ollamatest.ipynb @@ -0,0 +1,97 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "4d02ac4b-9cab-42bb-b8a3-123d53913471", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "import ollama\n", + "\n", + "MODEL = \"llama3.2\"\n", + "\n", + "# Optional headers to avoid request blocks\n", + "HEADERS = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64)\"\n", + "}\n", + "\n", + "\n", + "class Website:\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=HEADERS)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + "\n", + "\n", + "system_prompt = \"\"\"You are an assistant that analyzes the contents of a website \n", + "and provides a short summary, ignoring navigation text. Respond in markdown.\"\"\"\n", + "\n", + "\n", + "def user_prompt_for(website):\n", + " return f\"\"\"You are looking at a website titled {website.title}.\n", + "The contents of this website are as follows. Please provide a short summary in markdown. \n", + "If it includes news or announcements, summarize these too.\n", + "\n", + "{website.text}\n", + "\"\"\"\n", + "\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = ollama.chat(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]\n", + " )\n", + " return response['message']['content']\n", + "\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))\n", + "\n", + "\n", + "# Example usage\n", + "display_summary(\"https://edwarddonner.com\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0a2fee76a7a2b2993e675cfc27ae642adc84c38c Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Sat, 16 Aug 2025 18:25:28 +0530 Subject: [PATCH 103/176] Revert changes to week1/day2 EXERCISE.ipynb --- week1/day2 EXERCISE.ipynb | 2503 +------------------------------------ 1 file changed, 18 insertions(+), 2485 deletions(-) diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index 519dca5..89a383f 100644 --- a/week1/day2 EXERCISE.ipynb +++ b/week1/day2 EXERCISE.ipynb @@ -68,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -82,7 +82,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", "metadata": {}, "outputs": [], @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", "metadata": {}, "outputs": [], @@ -124,27 +124,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n", - "pulling dde5aa3fc5ff: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 2.0 GB \u001b[K\n", - "pulling 966de95ca8a6: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.4 KB \u001b[K\n", - "pulling fcc5a6bec9da: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 7.7 KB \u001b[K\n", - "pulling a70ff7e570d9: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 6.0 KB \u001b[K\n", - "pulling 56bb8bd477a5: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 96 B \u001b[K\n", - "pulling 34bb5ab01051: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 561 B \u001b[K\n", - "verifying sha256 digest \u001b[K\n", - "writing manifest \u001b[K\n", - "success \u001b[K\u001b[?25h\u001b[?2026l\n" - ] - } - ], + "outputs": [], "source": [ "# Let's just make sure the model is loaded\n", "\n", @@ -153,38 +136,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generative AI has numerous business applications across various industries, including:\n", - "\n", - "1. **Content Creation**: Generative AI can be used to create high-quality content such as images, videos, and articles. This can help businesses reduce production costs and increase productivity.\n", - "2. **Marketing Automation**: Generative AI can be used to automate marketing tasks such as email marketing, social media management, and lead generation. It can also be used to personalize marketing messages based on customer behavior and preferences.\n", - "3. **Customer Service Chatbots**: Generative AI-powered chatbots can be used to provide 24/7 customer support and help customers with their queries. This can help businesses reduce the cost of customer service and improve customer satisfaction.\n", - "4. **Product Design**: Generative AI can be used to design new products, such as furniture, electronics, or automotive parts. It can also be used to optimize product designs for better performance and aesthetics.\n", - "5. **Supply Chain Optimization**: Generative AI can be used to analyze supply chain data and predict demand patterns. This can help businesses optimize their inventory levels and reduce waste.\n", - "6. **Financial Modeling**: Generative AI can be used to create financial models and forecast revenue streams. It can also be used to identify potential risks and opportunities in the market.\n", - "7. **Risk Assessment**: Generative AI can be used to assess risk in various areas such as credit risk, market risk, and operational risk. This can help businesses make informed investment decisions and mitigate potential losses.\n", - "8. **Language Translation**: Generative AI-powered translation tools can be used to translate text, images, and audio files across languages. This can help businesses expand their customer base and improve communication with international customers.\n", - "9. **Image Recognition**: Generative AI can be used to recognize objects, people, and patterns in images. This can help businesses automate image classification, object detection, and facial recognition tasks.\n", - "10. **Music and Audio Generation**: Generative AI can be used to create new music tracks, sound effects, and audio files. This can help businesses reduce production costs and improve the quality of their audio content.\n", - "\n", - "Some specific business applications of generative AI include:\n", - "\n", - "* **Automated data entry**: Use generative AI to automate data entry tasks such as typing addresses, phone numbers, and other contact information.\n", - "* **Predictive maintenance**: Use generative AI to predict equipment failures and schedule maintenance accordingly.\n", - "* **Personalized product recommendations**: Use generative AI to personalize product recommendations for customers based on their browsing history and purchase behavior.\n", - "* **Automated social media posting**: Use generative AI to automate social media posting tasks such as scheduling posts, creating content, and responding to comments.\n", - "\n", - "Overall, generative AI has the potential to transform various business processes and improve efficiency, productivity, and customer experience.\n" - ] - } - ], + "outputs": [], "source": [ "# If this doesn't work for any reason, try the 2 versions in the following cells\n", "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", @@ -208,46 +163,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generative AI has numerous business applications across various industries. Here are some examples:\n", - "\n", - "1. **Content Creation**: Generative AI can be used to generate high-quality content such as articles, social media posts, and product descriptions. This can help businesses save time and money on content creation while maintaining consistency and quality.\n", - "2. **Marketing and Advertising**: Generative AI can be used to create personalized marketing campaigns, social media ads, and email newsletters. It can also help analyze customer behavior and preferences to improve targeting and conversion rates.\n", - "3. **Product Design and Development**: Generative AI can be used to design and develop new products, such as 3D models, prototypes, and even entire product lines. This can help reduce the time and cost associated with traditional product development methods.\n", - "4. **Customer Service Chatbots**: Generative AI can be used to create intelligent chatbots that can understand and respond to customer inquiries in a more human-like way. This can help improve customer satisfaction and reduce support costs.\n", - "5. **Data Analysis and Visualization**: Generative AI can be used to analyze and visualize large datasets, such as customer behavior patterns or market trends. This can help businesses gain insights and make data-driven decisions.\n", - "6. **Predictive Maintenance**: Generative AI can be used to predict equipment failures and maintenance needs, helping businesses reduce downtime and increase efficiency.\n", - "7. **Financial Analysis**: Generative AI can be used to analyze financial data and forecast future trends, helping businesses make informed investment decisions and manage risk.\n", - "8. **Virtual Customer Assistants**: Generative AI can be used to create virtual customer assistants that can handle tasks such as appointment scheduling, order tracking, and more.\n", - "9. **Brand Identity Generation**: Generative AI can be used to generate new brand identities, including logos, color palettes, typography, and overall visual styles.\n", - "10. **Supply Chain Optimization**: Generative AI can be used to optimize supply chain operations, including inventory management, logistics, and transportation planning.\n", - "\n", - "Some of the key benefits of generative AI in business include:\n", - "\n", - "* Increased efficiency and productivity\n", - "* Improved decision-making and forecasting\n", - "* Enhanced customer experience and engagement\n", - "* Reduced costs and risk\n", - "* New revenue streams through creative content generation\n", - "\n", - "However, it's worth noting that the use of generative AI also raises some challenges and concerns, such as:\n", - "\n", - "* Job displacement and workforce disruption\n", - "* Bias and fairness in decision-making\n", - "* Data security and privacy risks\n", - "* Dependence on technology and lack of human touch\n", - "\n", - "Overall, the application of generative AI in business will depend on the specific industry, company, and use case.\n" - ] - } - ], + "outputs": [], "source": [ "import ollama\n", "\n", @@ -265,45 +184,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generative AI has numerous business applications across various industries. Here are some examples:\n", - "\n", - "1. **Marketing and Advertising**: Generative AI can create personalized product recommendations, generate targeted advertisements, and develop new marketing campaigns.\n", - "2. **Content Creation**: AI-powered tools can assist in content creation, such as writing articles, generating social media posts, and creating videos, podcasts, and music.\n", - "3. **Product Design and Development**: Generative AI can aid in designing products, such as 3D modeling, prototyping, and testing product feasibility.\n", - "4. **Customer Service Chatbots**: AI-powered chatbots can provide personalized customer service, answering common queries, and helping resolve issues faster.\n", - "5. **Language Translation**: Generative AI can translate languages in real-time, enabling businesses to communicate with global customers more effectively.\n", - "6. **Data Analysis and Visualization**: AI can analyze large datasets, identify patterns, and create insights, making it easier for businesses to make informed decisions.\n", - "7. **Cybersecurity Threat Detection**: Generative AI-powered systems can detect and respond to cyber threats more efficiently, reducing the risk of data breaches and attacks.\n", - "8. **Supply Chain Optimization**: AI can optimize supply chain operations, predict demand, and identify opportunities for improvement, leading to increased efficiency and reduced costs.\n", - "9. **Network Security**: Generative AI can analyze network traffic patterns, detect anomalies, and prevent cyber-attacks.\n", - "10. **Finance and Banking**: AI-powered systems can detect financial fraud, predict customer creditworthiness, and generate credit reports.\n", - "\n", - "**Industry-specific applications:**\n", - "\n", - "1. **Healthcare**: AI can help with medical diagnosis, patient data analysis, and personalized medicine.\n", - "2. **Manufacturing**: Generative AI can create optimized production schedules, predict equipment failures, and improve product quality.\n", - "3. **Education**: AI-powered tools can develop personalized learning plans, automate grading, and provide educational resources.\n", - "4. **Real Estate**: AI can help with property valuations, identify market trends, and analyze potential clients' needs.\n", - "\n", - "**Business benefits:**\n", - "\n", - "1. **Increased efficiency**: Automating mundane tasks frees up human resources for more strategic work.\n", - "2. **Improved accuracy**: Generative AI reduces the likelihood of human error in decision-making and task execution.\n", - "3. **Enhanced customer experience**: Personalized experiences are created through data-driven insights.\n", - "4. **Competitive advantage**: Companies using AI can differentiate themselves from competitors by offering innovative services and products.\n", - "\n", - "As Generative AI continues to evolve, we can expect even more exciting applications across various industries, leading to increased efficiency, accuracy, and improved competitiveness for businesses worldwide.\n" - ] - } - ], + "outputs": [], "source": [ "# There's actually an alternative approach that some people might prefer\n", "# You can use the OpenAI client python library to call Ollama:\n", @@ -364,2371 +248,20 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 200 KB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 979 KB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 1.2 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 1.8 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 2.3 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 3.2 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 3.4 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 4.0 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 5.5 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 0% ā–• ā– 5.6 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 5.6 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 5.8 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 5.9 MB/1.1 GB 5.4 MB/s 3m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 6.8 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 6.8 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 7.0 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 7.0 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 7.2 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 7.3 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 8.2 MB/1.1 GB 5.4 MB/s 3m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 9.5 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 9.7 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 9.8 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 9.9 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 9.9 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 10 MB/1.1 GB 4.7 MB/s 3m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 10 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 11 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 12 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.7 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 13 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 4.3 MB/s 4m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 14 MB/1.1 GB 3.5 MB/s 5m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 15 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 15 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 1% ā–• ā– 16 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.5 MB/s 5m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 17 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.4 MB/s 5m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 18 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 19 MB/1.1 GB 3.1 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 20 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 20 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 21 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.1 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.2 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 22 MB/1.1 GB 3.2 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 23 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 24 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 24 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 25 MB/1.1 GB 3.2 MB/s 5m43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 26 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 27 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 2% ā–• ā– 27 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 28 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 29 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 30 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 30 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 31 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.2 MB/s 5m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.2 MB/s 5m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 32 MB/1.1 GB 3.0 MB/s 5m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 33 MB/1.1 GB 3.0 MB/s 5m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 33 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 34 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 34 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 35 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 35 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 36 MB/1.1 GB 3.0 MB/s 5m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 36 MB/1.1 GB 3.0 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 37 MB/1.1 GB 3.0 MB/s 5m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 37 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 3% ā–• ā– 38 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 39 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 39 MB/1.1 GB 3.1 MB/s 5m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 40 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 41 MB/1.1 GB 3.1 MB/s 5m44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 41 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 42 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 42 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 43 MB/1.1 GB 3.2 MB/s 5m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 44 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 44 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 45 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 46 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 46 MB/1.1 GB 3.2 MB/s 5m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 47 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 47 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 48 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 48 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 4% ā–• ā– 49 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 50 MB/1.1 GB 3.6 MB/s 4m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 50 MB/1.1 GB 3.6 MB/s 4m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 51 MB/1.1 GB 3.6 MB/s 4m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 52 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 53 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 54 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 55 MB/1.1 GB 3.8 MB/s 4m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 3.8 MB/s 4m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 3.8 MB/s 4m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 56 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 57 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 58 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 59 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 5% ā–• ā– 60 MB/1.1 GB 4.2 MB/s 4m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–• ā– 61 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 62 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 62 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 63 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 63 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 64 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 64 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 65 MB/1.1 GB 4.2 MB/s 4m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 65 MB/1.1 GB 4.4 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 66 MB/1.1 GB 4.4 MB/s 3m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 66 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 67 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 67 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 68 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 69 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 70 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 70 MB/1.1 GB 4.4 MB/s 3m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 71 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 6% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 72 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 73 MB/1.1 GB 4.6 MB/s 3m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 74 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.6 MB/s 3m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.8 MB/s 3m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 75 MB/1.1 GB 4.8 MB/s 3m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 77 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 78 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 78 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 79 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 79 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 80 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 80 MB/1.1 GB 4.8 MB/s 3m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 81 MB/1.1 GB 4.8 MB/s 3m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 82 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 82 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 7% ā–•ā–ˆ ā– 83 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 84 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 85 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 4.9 MB/s 3m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 86 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 87 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 87 MB/1.1 GB 5.0 MB/s 3m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 89 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 90 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 90 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 91 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 92 MB/1.1 GB 5.0 MB/s 3m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 8% ā–•ā–ˆ ā– 94 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 95 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 95 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 96 MB/1.1 GB 5.3 MB/s 3m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 97 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 97 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 98 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 98 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 99 MB/1.1 GB 5.3 MB/s 3m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 100 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 101 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 102 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 103 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 104 MB/1.1 GB 5.4 MB/s 3m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 104 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 105 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 9% ā–•ā–ˆ ā– 105 MB/1.1 GB 5.4 MB/s 3m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 106 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 107 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 108 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 109 MB/1.1 GB 5.4 MB/s 3m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 109 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 110 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 111 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 111 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 112 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 113 MB/1.1 GB 5.4 MB/s 3m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 113 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 114 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 115 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 116 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 10% ā–•ā–ˆ ā– 116 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 117 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 117 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 118 MB/1.1 GB 5.9 MB/s 2m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 5.9 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 5.9 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 119 MB/1.1 GB 6.0 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 120 MB/1.1 GB 6.0 MB/s 2m47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 121 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 122 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 123 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆ ā– 123 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 124 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 125 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 125 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 126 MB/1.1 GB 6.0 MB/s 2m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 127 MB/1.1 GB 6.3 MB/s 2m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 11% ā–•ā–ˆā–ˆ ā– 128 MB/1.1 GB 6.3 MB/s 2m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 129 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 131 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 131 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 132 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 133 MB/1.1 GB 6.3 MB/s 2m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 134 MB/1.1 GB 6.5 MB/s 2m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 135 MB/1.1 GB 6.5 MB/s 2m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 135 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 137 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 12% ā–•ā–ˆā–ˆ ā– 139 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 140 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 140 MB/1.1 GB 6.5 MB/s 2m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 141 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 141 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 142 MB/1.1 GB 6.6 MB/s 2m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 142 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 143 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 144 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 145 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 145 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 146 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 147 MB/1.1 GB 6.6 MB/s 2m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 147 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 148 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 149 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 13% ā–•ā–ˆā–ˆ ā– 149 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 150 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 151 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 151 MB/1.1 GB 6.8 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 152 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 153 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 154 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 154 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 155 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 155 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 156 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 157 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 157 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 158 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 158 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 159 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 160 MB/1.1 GB 6.7 MB/s 2m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 160 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 14% ā–•ā–ˆā–ˆ ā– 161 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 162 MB/1.1 GB 6.8 MB/s 2m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 163 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 163 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 164 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 165 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 165 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 166 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 166 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 167 MB/1.1 GB 6.8 MB/s 2m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 168 MB/1.1 GB 7.0 MB/s 2m16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 169 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 170 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 171 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 172 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 15% ā–•ā–ˆā–ˆ ā– 172 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 173 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 174 MB/1.1 GB 7.0 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 175 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 176 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 176 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 177 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 178 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 178 MB/1.1 GB 6.8 MB/s 2m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 179 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 180 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 181 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 182 MB/1.1 GB 6.8 MB/s 2m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 182 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 183 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 16% ā–•ā–ˆā–ˆ ā– 184 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 184 MB/1.1 GB 7.0 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 185 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆ ā– 185 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 186 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 187 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 188 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 189 MB/1.1 GB 7.0 MB/s 2m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 189 MB/1.1 GB 6.9 MB/s 2m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 190 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 190 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 192 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 193 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 193 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 17% ā–•ā–ˆā–ˆā–ˆ ā– 194 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 195 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 195 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 196 MB/1.1 GB 6.9 MB/s 2m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 197 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 197 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 198 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 200 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 201 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 201 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 202 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 203 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 204 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 205 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 18% ā–•ā–ˆā–ˆā–ˆ ā– 206 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 207 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 208 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 210 MB/1.1 GB 7.0 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 211 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 212 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 213 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 213 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 214 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 214 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 215 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 215 MB/1.1 GB 6.9 MB/s 2m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 216 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 216 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 217 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 19% ā–•ā–ˆā–ˆā–ˆ ā– 217 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 218 MB/1.1 GB 6.9 MB/s 2m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 219 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 220 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 221 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 222 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 222 MB/1.1 GB 6.9 MB/s 2m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 223 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 224 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 224 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 225 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 226 MB/1.1 GB 7.0 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 227 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 20% ā–•ā–ˆā–ˆā–ˆ ā– 228 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 229 MB/1.1 GB 7.0 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 230 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 230 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 231 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 232 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 233 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 233 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 234 MB/1.1 GB 6.9 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 235 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 235 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 236 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 237 MB/1.1 GB 6.9 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 237 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 238 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 239 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 21% ā–•ā–ˆā–ˆā–ˆ ā– 239 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 240 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 240 MB/1.1 GB 6.9 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 242 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 243 MB/1.1 GB 6.9 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 244 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 244 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 245 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 246 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 246 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆ ā– 247 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 248 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 249 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 249 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 250 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 22% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 251 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 251 MB/1.1 GB 6.8 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 252 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 252 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 253 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 253 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 254 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 255 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 256 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 257 MB/1.1 GB 6.8 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 257 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 258 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 259 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 260 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 23% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 261 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 263 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 263 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 264 MB/1.1 GB 6.7 MB/s 2m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 265 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 266 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 267 MB/1.1 GB 6.7 MB/s 2m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 268 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 269 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.7 MB/s 2m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 271 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 272 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 24% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 273 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 274 MB/1.1 GB 6.8 MB/s 2m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 275 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 275 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 276 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 277 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 277 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 278 MB/1.1 GB 6.8 MB/s 2m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 279 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 279 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 280 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 281 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 281 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 282 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 282 MB/1.1 GB 7.0 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 283 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 25% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 284 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 7.0 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 285 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 286 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 287 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 287 MB/1.1 GB 6.9 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 288 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 288 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 289 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 290 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 291 MB/1.1 GB 6.9 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 291 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 292 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 293 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 293 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 294 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 26% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 294 MB/1.1 GB 6.8 MB/s 2m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 296 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 297 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 298 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 299 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 299 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 300 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 301 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 301 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 302 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 303 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 303 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 304 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 304 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 305 MB/1.1 GB 6.8 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 27% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 306 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 307 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 308 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 308 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 309 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆ ā– 309 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 311 MB/1.1 GB 6.8 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 311 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 312 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 312 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 313 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 315 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 315 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 316 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 317 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 318 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 28% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 318 MB/1.1 GB 6.7 MB/s 2m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 320 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 321 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 321 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 322 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 322 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 323 MB/1.1 GB 6.7 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 324 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 325 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 325 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 326 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 327 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 327 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 328 MB/1.1 GB 6.6 MB/s 1m59s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 29% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 329 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 329 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 331 MB/1.1 GB 6.6 MB/s 1m58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 331 MB/1.1 GB 6.7 MB/s 1m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 332 MB/1.1 GB 6.7 MB/s 1m57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 333 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 334 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 334 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 335 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 336 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 336 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 337 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 338 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 339 MB/1.1 GB 6.7 MB/s 1m56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 30% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 340 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 341 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 341 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 342 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 343 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 343 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 344 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 345 MB/1.1 GB 6.8 MB/s 1m54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 346 MB/1.1 GB 6.8 MB/s 1m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 346 MB/1.1 GB 6.8 MB/s 1m53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 347 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 348 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 349 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 349 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 350 MB/1.1 GB 6.9 MB/s 1m51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 351 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 31% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 351 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 352 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 352 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 353 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 354 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 355 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 356 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 356 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 357 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 357 MB/1.1 GB 7.0 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 358 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 359 MB/1.1 GB 7.0 MB/s 1m48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 360 MB/1.1 GB 6.9 MB/s 1m50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 361 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 361 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 32% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 362 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 363 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 363 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 364 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 366 MB/1.1 GB 6.9 MB/s 1m49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 368 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 368 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 369 MB/1.1 GB 7.0 MB/s 1m46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 370 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 371 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 372 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 372 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 33% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 373 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 374 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 375 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 376 MB/1.1 GB 7.0 MB/s 1m45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 376 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 377 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 378 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 378 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 380 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 380 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 381 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 382 MB/1.1 GB 7.2 MB/s 1m42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 383 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 34% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 384 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 385 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 386 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 386 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 387 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 388 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 388 MB/1.1 GB 7.4 MB/s 1m39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 390 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 391 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 391 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 392 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 393 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 394 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 35% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 396 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 397 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 397 MB/1.1 GB 7.4 MB/s 1m37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 398 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 399 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 399 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 401 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 401 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 402 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 403 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 404 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 405 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 405 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 406 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 36% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 406 MB/1.1 GB 7.4 MB/s 1m36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 408 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 408 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 409 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 410 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 410 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 411 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 412 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 413 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 413 MB/1.1 GB 7.4 MB/s 1m35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 414 MB/1.1 GB 7.5 MB/s 1m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 414 MB/1.1 GB 7.5 MB/s 1m34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 416 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 416 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 417 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 418 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 37% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 418 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 420 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 420 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 421 MB/1.1 GB 7.5 MB/s 1m33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 422 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 422 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 423 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 424 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 424 MB/1.1 GB 7.5 MB/s 1m32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 425 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 426 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 426 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 427 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 428 MB/1.1 GB 7.5 MB/s 1m31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 428 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 38% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 429 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 430 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 430 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 431 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 432 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 432 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 433 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 434 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 435 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 436 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 436 MB/1.1 GB 7.6 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 437 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 438 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 439 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 439 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 440 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 39% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 441 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 441 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 442 MB/1.1 GB 7.6 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 443 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 443 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 444 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 445 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 446 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 447 MB/1.1 GB 7.4 MB/s 1m30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 449 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 450 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 450 MB/1.1 GB 7.4 MB/s 1m29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 40% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 451 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 452 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 453 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 454 MB/1.1 GB 7.5 MB/s 1m28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 455 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 455 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 456 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 457 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 457 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 458 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 459 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 459 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 460 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 462 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 462 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 41% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 463 MB/1.1 GB 7.5 MB/s 1m27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 464 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 464 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 465 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 466 MB/1.1 GB 7.5 MB/s 1m26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 467 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 467 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 468 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 469 MB/1.1 GB 7.6 MB/s 1m25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 470 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 471 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 471 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 472 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 473 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 42% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 473 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 475 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 475 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 476 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 477 MB/1.1 GB 7.6 MB/s 1m24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 479 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 479 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 480 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 480 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 481 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 482 MB/1.1 GB 7.6 MB/s 1m23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 483 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 483 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 484 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 43% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 485 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 486 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 487 MB/1.1 GB 7.7 MB/s 1m22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 488 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 488 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 490 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 491 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 491 MB/1.1 GB 7.7 MB/s 1m21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 492 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 492 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 494 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 494 MB/1.1 GB 7.8 MB/s 1m20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 495 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 496 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 44% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 496 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 497 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 498 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 499 MB/1.1 GB 7.8 MB/s 1m19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 500 MB/1.1 GB 7.9 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 500 MB/1.1 GB 7.9 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 501 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 502 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 503 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 504 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 505 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 506 MB/1.1 GB 7.9 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 506 MB/1.1 GB 7.8 MB/s 1m18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 45% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 507 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 508 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 508 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 509 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 510 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 511 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 512 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 513 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 513 MB/1.1 GB 7.8 MB/s 1m17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 514 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 515 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 516 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 516 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 518 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 518 MB/1.1 GB 8.0 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 46% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 519 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 520 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 521 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 521 MB/1.1 GB 8.0 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 522 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 522 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 523 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 524 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 524 MB/1.1 GB 7.9 MB/s 1m15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 526 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 527 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 527 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 528 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 529 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 47% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 530 MB/1.1 GB 7.9 MB/s 1m14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 531 MB/1.1 GB 8.0 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 532 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 532 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 533 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 534 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 536 MB/1.1 GB 8.0 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 538 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 539 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 539 MB/1.1 GB 7.9 MB/s 1m13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 540 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 541 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 48% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 541 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 543 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 543 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 544 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 545 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 546 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 547 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 548 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 548 MB/1.1 GB 7.9 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 549 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 550 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 550 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 551 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 552 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 49% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 552 MB/1.1 GB 7.9 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 553 MB/1.1 GB 7.8 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 555 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 555 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 556 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 557 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 557 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 558 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 559 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 559 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 560 MB/1.1 GB 7.8 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 561 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 562 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 50% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 562 MB/1.1 GB 7.7 MB/s 1m12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 564 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 565 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 565 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 566 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 567 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 568 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 569 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 569 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 570 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 570 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 571 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 572 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 573 MB/1.1 GB 7.7 MB/s 1m11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 574 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 51% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 574 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 575 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 576 MB/1.1 GB 7.7 MB/s 1m10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 577 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 578 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 578 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 579 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 581 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 582 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 584 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 584 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 585 MB/1.1 GB 7.7 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 52% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 586 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 587 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 587 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 588 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 589 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 589 MB/1.1 GB 7.7 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 590 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 590 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 592 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 593 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 594 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 594 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 595 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 596 MB/1.1 GB 7.5 MB/s 1m9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 53% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 597 MB/1.1 GB 7.5 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 598 MB/1.1 GB 7.5 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 599 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 599 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 600 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 600 MB/1.1 GB 7.6 MB/s 1m8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 601 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 602 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 603 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 604 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 604 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 605 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 606 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 607 MB/1.1 GB 7.6 MB/s 1m7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 608 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 54% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 608 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 609 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 609 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 610 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 610 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 611 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 612 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 613 MB/1.1 GB 7.6 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 614 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 614 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 615 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 616 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 617 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 55% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 618 MB/1.1 GB 7.5 MB/s 1m6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 620 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 621 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 621 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 622 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 623 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 624 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 625 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 626 MB/1.1 GB 7.5 MB/s 1m5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 628 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 630 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 56% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 630 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 631 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 632 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 633 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 633 MB/1.1 GB 7.5 MB/s 1m4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 635 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 635 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 636 MB/1.1 GB 7.5 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 637 MB/1.1 GB 7.6 MB/s 1m3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 637 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 639 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 639 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 640 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 640 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 641 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 57% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 642 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 643 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 644 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 644 MB/1.1 GB 7.6 MB/s 1m2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 645 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 646 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 646 MB/1.1 GB 7.7 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 648 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 649 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 650 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 650 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 651 MB/1.1 GB 7.7 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 653 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 58% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 653 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 654 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 655 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 656 MB/1.1 GB 7.6 MB/s 1m1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 657 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 657 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 658 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 659 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 659 MB/1.1 GB 7.6 MB/s 1m0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 660 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 661 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 662 MB/1.1 GB 7.8 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 663 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 664 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 59% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 664 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 665 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 666 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 667 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 668 MB/1.1 GB 7.8 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 668 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 669 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 669 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 671 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 672 MB/1.1 GB 7.7 MB/s 58s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 672 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 673 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 674 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 674 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 60% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 675 MB/1.1 GB 7.7 MB/s 57s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 676 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 676 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 677 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 678 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 678 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 679 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 680 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 680 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 681 MB/1.1 GB 7.8 MB/s 56s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 683 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 683 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 684 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 61% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 687 MB/1.1 GB 7.8 MB/s 55s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 688 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 688 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 689 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 690 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 691 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 692 MB/1.1 GB 7.8 MB/s 54s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 692 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 693 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 694 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 695 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 697 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 62% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 697 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 698 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 700 MB/1.1 GB 7.9 MB/s 53s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 700 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 701 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 702 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 703 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 703 MB/1.1 GB 8.0 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 705 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 705 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 706 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 706 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 707 MB/1.1 GB 8.0 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 708 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 63% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 708 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 709 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 710 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 711 MB/1.1 GB 7.9 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 712 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 712 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 713 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 713 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 714 MB/1.1 GB 7.9 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 715 MB/1.1 GB 7.7 MB/s 52s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 715 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 716 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 718 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 719 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 64% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 720 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 721 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 722 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 722 MB/1.1 GB 7.7 MB/s 51s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 724 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 725 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 726 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 726 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 727 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 728 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 729 MB/1.1 GB 7.9 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 730 MB/1.1 GB 7.9 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 730 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 65% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 731 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 732 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 733 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 734 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 734 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 735 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 736 MB/1.1 GB 7.8 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 736 MB/1.1 GB 7.8 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 737 MB/1.1 GB 7.8 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 737 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 738 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 739 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 739 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 740 MB/1.1 GB 7.7 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 741 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 741 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 66% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 742 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.7 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 743 MB/1.1 GB 7.4 MB/s 50s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 745 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 745 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 746 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 747 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 747 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 748 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 749 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 750 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 750 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 751 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 751 MB/1.1 GB 7.4 MB/s 49s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 753 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 67% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 754 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 755 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 756 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 756 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 757 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 758 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 759 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 759 MB/1.1 GB 7.4 MB/s 48s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 761 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 761 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 762 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 763 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 764 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 68% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 765 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 765 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 766 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 767 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 768 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 769 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 769 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 770 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 771 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 771 MB/1.1 GB 7.4 MB/s 47s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 772 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 773 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 774 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 775 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 69% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 775 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 46s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 777 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 778 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 778 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 779 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 780 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 781 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 781 MB/1.1 GB 7.4 MB/s 45s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 783 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 783 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 784 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 785 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 786 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 70% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 787 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 787 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 788 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 789 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 790 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 790 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 791 MB/1.1 GB 7.4 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 792 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 792 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 793 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 794 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 794 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 796 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 796 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 797 MB/1.1 GB 7.4 MB/s 43s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 71% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 798 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 799 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 799 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 800 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 800 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 801 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 802 MB/1.1 GB 7.5 MB/s 42s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 803 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 803 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 805 MB/1.1 GB 7.5 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 805 MB/1.1 GB 7.6 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 806 MB/1.1 GB 7.6 MB/s 41s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 807 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 807 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 808 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 72% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 809 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 810 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 811 MB/1.1 GB 7.6 MB/s 40s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 812 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 813 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 815 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 816 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 817 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 817 MB/1.1 GB 7.7 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 819 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 820 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 820 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 73% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 821 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 822 MB/1.1 GB 7.6 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 823 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 823 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 824 MB/1.1 GB 7.6 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 826 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 826 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 827 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 827 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 828 MB/1.1 GB 7.4 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 829 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 830 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 831 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 831 MB/1.1 GB 7.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 74% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 832 MB/1.1 GB 7.3 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 833 MB/1.1 GB 7.3 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 833 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 835 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 835 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 836 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 837 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 838 MB/1.1 GB 7.3 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 840 MB/1.1 GB 7.1 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 842 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 842 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 75% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 843 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 844 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 844 MB/1.1 GB 7.1 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 845 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 847 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 847 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 848 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 849 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 849 MB/1.1 GB 7.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 850 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 851 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 852 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 853 MB/1.1 GB 7.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 76% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 853 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 855 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 855 MB/1.1 GB 7.1 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 856 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 857 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 858 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 859 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 861 MB/1.1 GB 7.1 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 863 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 863 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 864 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 77% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 865 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 867 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.1 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 868 MB/1.1 GB 7.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 870 MB/1.1 GB 7.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 870 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 871 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 872 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 872 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 873 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 874 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 875 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 875 MB/1.1 GB 7.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 876 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 78% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 876 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 877 MB/1.1 GB 7.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 878 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 879 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 880 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 881 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 882 MB/1.1 GB 7.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 882 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 883 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 883 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 884 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 885 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 886 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 79% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 887 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 888 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 889 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 889 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 890 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 891 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 891 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 892 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 893 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 893 MB/1.1 GB 7.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 894 MB/1.1 GB 7.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 895 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 895 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 896 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 897 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 897 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 80% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 898 MB/1.1 GB 7.1 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 900 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 901 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 902 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 902 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 904 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 904 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 905 MB/1.1 GB 7.1 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 906 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 907 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 907 MB/1.1 GB 7.1 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 909 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 909 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 81% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 910 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 911 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 911 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 912 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 912 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 913 MB/1.1 GB 7.0 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 913 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 914 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 915 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 916 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 916 MB/1.1 GB 6.7 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 917 MB/1.1 GB 6.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 918 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 918 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 919 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 920 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 921 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 82% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 921 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 922 MB/1.1 GB 6.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 923 MB/1.1 GB 6.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 923 MB/1.1 GB 6.0 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 924 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 925 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 925 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 926 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 926 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 927 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 927 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 928 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 929 MB/1.1 GB 6.0 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 929 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 930 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 930 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 931 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 931 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 83% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 932 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 933 MB/1.1 GB 5.9 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.9 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 934 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 935 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 936 MB/1.1 GB 5.8 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 937 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 937 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.8 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 938 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 939 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 939 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 940 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.5 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 941 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 942 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 5.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 943 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 84% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 944 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 945 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 945 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 946 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 946 MB/1.1 GB 4.6 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 947 MB/1.1 GB 4.6 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 948 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 949 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 949 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 950 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 951 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 951 MB/1.1 GB 4.4 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 952 MB/1.1 GB 4.2 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 952 MB/1.1 GB 4.2 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 953 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 953 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 954 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 954 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 85% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 955 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.2 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 956 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 957 MB/1.1 GB 4.3 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 957 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 958 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 958 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 959 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 959 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.3 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 960 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 961 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 961 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 962 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 963 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 964 MB/1.1 GB 4.2 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 964 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 965 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 86% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 966 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 966 MB/1.1 GB 4.0 MB/s 38s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 967 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 967 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 968 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 968 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 969 MB/1.1 GB 4.0 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 969 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 970 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 970 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 971 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 971 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 972 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 972 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 973 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 973 MB/1.1 GB 3.9 MB/s 37s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 974 MB/1.1 GB 3.9 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 974 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 975 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 975 MB/1.1 GB 4.0 MB/s 35s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 976 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 976 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 87% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 977 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 977 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.0 MB/s 34s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 978 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 979 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 980 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 980 MB/1.1 GB 4.1 MB/s 33s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 981 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 981 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 982 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 982 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 983 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 983 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 32s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 984 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 985 MB/1.1 GB 4.2 MB/s 31s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 986 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 987 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 987 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 88% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 988 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 988 MB/1.1 GB 4.3 MB/s 30s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 989 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 989 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 990 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 990 MB/1.1 GB 4.3 MB/s 29s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 991 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 991 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 992 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 992 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 993 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 993 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 994 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 994 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 995 MB/1.1 GB 4.4 MB/s 28s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 995 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 996 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 996 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 997 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 998 MB/1.1 GB 4.4 MB/s 27s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 89% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 999 MB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 26s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 25s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 90% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 24s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 91% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 21s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.4 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 92% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.1 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 4.0 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.9 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 93% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.8 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.6 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.0 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 94% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.2 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 16s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 95% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 96% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.4 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.3 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 97% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.5 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.6 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 98% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.9 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.1 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 4.0 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 99% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ ā– 1.1 GB/1.1 GB 3.8 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā  \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ™ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ø \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā “ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ¦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā § \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest ā ‡ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n", - "pulling aabd4debf0c8: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 GB \u001b[K\n", - "pulling c5ad996bda6e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 556 B \u001b[K\n", - "pulling 6e4c38e1172f: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 1.1 KB \u001b[K\n", - "pulling f4d24e9138dd: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 148 B \u001b[K\n", - "pulling a85fe2a2e58e: 100% ā–•ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā– 487 B \u001b[K\n", - "verifying sha256 digest \u001b[K\n", - "writing manifest \u001b[K\n", - "success \u001b[K\u001b[?25h\u001b[?2026l\n" - ] - } - ], + "outputs": [], "source": [ "!ollama pull deepseek-r1:1.5b" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "1d3d554b-e00d-4c08-9300-45e073950a76", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Okay, so I need to figure out how to define some core concepts related to Large Language Models (LLMs) specifically focusing on neural networks, attention mechanisms, and transformers. Hmm, where do I start? Well, I remember that big models are created using layers of many neural network units connected together sequentially. So for LLMs, which are composed of neural networks, each might have a certain number of hidden layers, maybe hundreds or even thousands of them. That seems pretty complex but works similarly to traditional models.\n", - "\n", - "Then there's attention and the transformer aspect. I'm a bit confused about their specific roles here. Wait, the user mentioned \"attention,\" so I think that refers to how the model processes information by focusing different parts on different aspects. The decoder part comes into play because in LLMs, the entire input text is being modeled by the output from each hidden layer.\n", - "\n", - "But I'm not entirely sure about all the steps involved in the attention mechanism for transformers. Let me think: In traditional RNNs, models process data one step at a time and consider both its current output and inputs from the previous step. For LSTMs, they use gates to manage content from inputs. Transformers differ by using a self-attention mechanism, which means each token in a sequence is compared with every other token, producing attention scores that help focus on relevant parts of the input.\n", - "\n", - "So when combined, each layer's output passes through an attention mechanism and another sub-layer. Maybe this creates something like a multi-head attention where multiple parallel attention heads are processed separately but produce different results from each. Each of these could be passed to further processing steps beyond just feed-forward layers.\n", - "\n", - "Wait, how precise is that? I think the key idea is that without the attention mechanisms, the models might not effectively capture context within sequences, which is important for understanding meaning in languages. So attention allows the model to weigh the importance of certain tokens relative to others, thus improving both efficiency and effectiveness in processing language.\n", - "\n", - "Also, the user mentioned a large number of hidden layers—hundreds to thousands. That sounds right because it would exponentially increase the complexity of the model without allowing it to be scaled or practical on its own. Instead, larger models are usually combined with specialized components like self-attention and transformers to make them practical for real-world use.\n", - "\n", - "Putting this together, perhaps the neural networks handle forward and backward processing (in traditional RNNs), but LLMs might not have that—so maybe their layers only process one-directional information at a time since they're composed of multiple layers. The transformer's self-attention mechanism with attention weights helps model contextual relationships, making each layer focus on different aspects while the decoder feeds its output into higher layers to improve context.\n", - "\n", - "Alright, I think I've got some basic understanding, but maybe I should look for precise definitions or examples elsewhere. For instance, the \"standard architecture\" section mentions a large neural network with multiple hidden layers, each containing many neurons, and using feed-forward layers. The decoder handles the entire text processing by passing output from one layer into higher layers to enhance context.\n", - "\n", - "In terms of attention in transformers, I think the key is that each token generates an attention mask that determines its position importance relative to other elements. This helps the model attend to different parts when needed, making it a self-attention mechanism without multi-heads or parallel processing as in traditional RNNs with multiple heads.\n", - "\n", - "So, in summary: The neural networks for LLMs process text sequentially but not both directions (forward and backward). The transformer uses self-attention with attention masks to weigh the importance of all tokens relative to each other during forward pass, enhancing contextual understanding. This layering allows higher layers to focus on different elements while feeding their output back into subsequent layers to maintain context.\n", - "\n", - "Wait, does that mean multi-layer processing combined with self-attention and decoder-style forward passes make LLMs unique? Yes, because in RNNs with traditional attention, there's usually a parallel layer of attention at each step, but here transformers share the same attention mask across all neurons in a layer, making it more efficient.\n", - "\n", - "I think I'm getting closer. Maybe to make it even clearer: Large Language Models are neural networks composed of layers that each process text sequentially (since RNNs handle only forward), using self-attention and decoder-style processing. Each hidden layer's output is fed into higher layers for more context, while attention masks ensure the model focuses on relevant parts relative to others.\n", - "\n", - "I should probably structure this into points: Define neural networks for LLMs as forward-only sequential processing with multiple layers. Attention in transformers through self-attention mechanisms and masking. Transformers integrate these with decoder-style processing, each layer's output sent to higher layers for context enhancement.\n", - "\n", - "\n", - "**Definitions of Core Concepts in Large Language Models (LLMs):**\n", - "\n", - "1. **Neural Networks in LLMs:**\n", - " - **Structure:** Large Neural Network\n", - " - Composed of multiple hidden layers, each containing numerous neurons connected sequentially.\n", - " - These structures allow sequential processing of text information.\n", - " - **Forward Processing:** Sequential\n", - " - Text is processed one step at a time without reversing (forward only), unlike traditional RNNs which handle both forward and backward processing.\n", - "\n", - "2. **Attention in Transformers:**\n", - " - **Self-Aware Mechanism:**\n", - " - Each token generates an attention mask that determines its position importance.\n", - " - This highlights the relative importance of all tokens, enabling focused context modeling.\n", - " - **Weighted Context Focus:**\n", - " - Attention scores (weights) are used to generate probability distributions over possible words for each position in a sequence.\n", - "\n", - "3. **Transformer's Decoder-Style Processing:**\n", - " - Processing Through Decoders:\n", - " - The model processes both input and output sequences through layers, with the decoder feeding its output into higher layers.\n", - " - **Layered Context Enhancement:**\n", - " - Each layer enhances context by processing all tokens' contributions, allowing models to focus on relevant parts while maintaining global information.\n", - "\n", - "**Summary:** Large Language Models (LLMs) utilize forward-only sequential neural networks. Transformers employ self-attention mechanisms and decoder-style processing, enabling each layer to enhance context while feeding its output into higher layers for global understanding. This architecture allows LLMs to effectively capture contextual relationships in sequences.\n" - ] - } - ], + "outputs": [], "source": [ "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", "\n", @@ -2761,7 +294,7 @@ ], "metadata": { "kernelspec": { - "display_name": "llms", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -2775,7 +308,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.11.12" } }, "nbformat": 4, From 25adc43164ee0e418985bdfc3f38b9d02c543384 Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Sat, 16 Aug 2025 22:22:42 -0400 Subject: [PATCH 104/176] Add week1 notebook to community-contributions --- ...ure-builder-with-multishot-prompting.ipynb | 402 ++++++++++++++++++ 1 file changed, 402 insertions(+) create mode 100644 week1/community-contributions/brochure-builder-with-multishot-prompting.ipynb diff --git a/week1/community-contributions/brochure-builder-with-multishot-prompting.ipynb b/week1/community-contributions/brochure-builder-with-multishot-prompting.ipynb new file mode 100644 index 0000000..3427a82 --- /dev/null +++ b/week1/community-contributions/brochure-builder-with-multishot-prompting.ipynb @@ -0,0 +1,402 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9905f163-759f-474b-8f7a-7d14da0df44d", + "metadata": {}, + "source": [ + "### BUSINESS CHALLENGE: Using Multi-shot Prompting\n", + "#### Day 5\n", + "\n", + "Create a product that builds a Brochure for a company to be used for prospective clients, investors and potential recruits.\n", + "\n", + "We will be provided a company name and their primary website." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0895f24-65ff-4624-8ae0-15d2d400d8f0", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "# If these fail, please check you're running from an 'activated' environment with (llms) in the command prompt\n", + "\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7794aa70-5962-4669-b86f-b53639f4f9ea", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and constants\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + " \n", + "MODEL = 'gpt-4o-mini'\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63bf8631-2746-4255-bec1-522855d3e812", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "markdown", + "id": "1e7bb527-e769-4245-bb91-ae65e64593ff", + "metadata": {}, + "source": [ + "## First step: Have GPT-4o-mini figure out which links are relevant\n", + "\n", + "### Use a call to gpt-4o-mini to read the links on a webpage, and respond in structured JSON. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ce303ae-b967-4261-aadc-02dafa54db4a", + "metadata": {}, + "outputs": [], + "source": [ + "link_system_prompt = \"You are provided with a list of links found on a webpage. \\\n", + "You are able to decide which of the links would be most relevant to include in a brochure about the company, \\\n", + "such as links to an About page, or a Company page, or Careers/Jobs pages.\\n\"\n", + "link_system_prompt += \"You should respond in JSON as in this example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"about page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", + " ]\n", + "}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d24a4c0c-a1d1-4897-b2a7-4128d25c2e08", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links_user_prompt(website):\n", + " user_prompt = f\"Here is the list of links on the website of {website.url} - \"\n", + " user_prompt += \"please decide which of these are relevant web links for a brochure about the company, respond with the full https URL in JSON format. \\\n", + "Do not include Terms of Service, Privacy, email links.\\n\"\n", + " user_prompt += \"Links (some might be relative links):\\n\"\n", + " user_prompt += \"\\n\".join(website.links)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8103fc11-5bc0-41c4-8c97-502c9e96429c", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links(url): # 1st inference\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": link_system_prompt},\n", + " {\"role\": \"user\", \"content\": get_links_user_prompt(website)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc84a695-515d-4292-9a95-818f4fe3d20e", + "metadata": {}, + "outputs": [], + "source": [ + "huggingface = Website(\"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "91896908-1632-41fc-9b8b-39a7638d8dd1", + "metadata": {}, + "source": [ + "## Second step: make the brochure!\n", + "\n", + "Assemble all the details into another prompt to GPT4-o" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab7c54e3-e654-4b1f-8671-09194b628aa0", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_details(url): # 1st inference wrapper\n", + " result = \"Landing page:\\n\"\n", + " result += Website(url).get_contents()\n", + " links = get_links(url) # inference\n", + " # print(\"Found links:\", links)\n", + " for link in links[\"links\"]:\n", + " result += f\"\\n\\n{link['type']}\\n\"\n", + " result += Website(link[\"url\"]).get_contents()\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea9f54d1-a248-4c56-a1de-6633193de5bf", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13412c85-badd-4d79-a5ac-8283e4bb832f", + "metadata": {}, + "outputs": [], + "source": [ + "def get_brochure_user_prompt(company_name, url):\n", + " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", + " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", + " user_prompt += get_all_details(url) # inference wrapper\n", + " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "addc0047-ea73-4748-abc3-747ff343c134", + "metadata": {}, + "outputs": [], + "source": [ + "def create_brochure(company_name, url): # 2nd inference\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82a3b61a-da26-4265-840a-0a93f81cd048", + "metadata": {}, + "outputs": [], + "source": [ + "brochure_english = create_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d165e3f-8fe2-4712-b098-d34d9fabe583", + "metadata": {}, + "outputs": [], + "source": [ + "display(Markdown(brochure_english))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "107a2100-3f7d-4f16-8ba7-b5da602393c6", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_brochure(company_name, url):\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26cbe9b5-3603-49a1-a676-75c7ddaacdb8", + "metadata": {}, + "outputs": [], + "source": [ + "stream_brochure(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "c10d8189-7f79-4991-abc4-0764369b7d64", + "metadata": {}, + "source": [ + "### Third step: Translate the entire brochure to Spanish" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "666817eb-1e8b-4fee-bbab-c0dbfe2ea7c0", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a brochure \\\n", + "and translates to Spanish. Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c48adb12-bc3c-48f9-ab38-b7ca895195f6", + "metadata": {}, + "outputs": [], + "source": [ + "def translate_user_prompt(company_name, url):\n", + " user_prompt = f\"Please translate the following brochure content to Spanish\\n\"\n", + " user_prompt += create_brochure(company_name, url) # inference wrapper\n", + " # user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b92b61ac-3be3-4e84-9000-ec8233697b81", + "metadata": {}, + "outputs": [], + "source": [ + "translate_user_prompt(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bfd04f4-4381-4730-ac5d-c9fa02f906df", + "metadata": {}, + "outputs": [], + "source": [ + "def translate_brochure(): # 3rd inference\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": translate_user_prompt(\"HuggingFace\", \"https://huggingface.co\")}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bb78ed28-9ecd-4c08-ae96-d7473cbc97dd", + "metadata": {}, + "outputs": [], + "source": [ + "translate_brochure()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 10b42a739db33444590228250903129b7c260919 Mon Sep 17 00:00:00 2001 From: Execotryx Date: Sun, 17 Aug 2025 20:17:31 +0500 Subject: [PATCH 105/176] AI Brochure Creator, powered with GPT-5 Nano and partially utilizing Responses API --- .../ai-powered-marketing-brochures/.gitignore | 210 +++++++++++++ .../ai-brochure-creator.py | 207 +++++++++++++ .../ai_brochure_config.py | 59 ++++ .../ai-powered-marketing-brochures/ai_core.py | 181 +++++++++++ .../extractor_of_relevant_links.py | 91 ++++++ .../requirements.txt | 5 + .../ai-powered-marketing-brochures/website.py | 286 ++++++++++++++++++ 7 files changed, 1039 insertions(+) create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/.gitignore create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/ai_core.py create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/requirements.txt create mode 100644 week1/community-contributions/ai-powered-marketing-brochures/website.py diff --git a/week1/community-contributions/ai-powered-marketing-brochures/.gitignore b/week1/community-contributions/ai-powered-marketing-brochures/.gitignore new file mode 100644 index 0000000..290698f --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/.gitignore @@ -0,0 +1,210 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[codz] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py.cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock +#poetry.toml + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python. +# https://pdm-project.org/en/latest/usage/project/#working-with-version-control +#pdm.lock +#pdm.toml +.pdm-python +.pdm-build/ + +# pixi +# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control. +#pixi.lock +# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one +# in the .venv directory. It is recommended not to include this directory in version control. +.pixi + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.envrc +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Abstra +# Abstra is an AI-powered process automation framework. +# Ignore directories containing user credentials, local state, and settings. +# Learn more at https://abstra.io/docs +.abstra/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the entire vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Cursor +# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to +# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data +# refer to https://docs.cursor.com/context/ignore-files +.cursorignore +.cursorindexingignore + +# Marimo +marimo/_static/ +marimo/_lsp/ +__marimo__/ + + +.*-env \ No newline at end of file diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py b/week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py new file mode 100644 index 0000000..79f3246 --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py @@ -0,0 +1,207 @@ +from ai_core import AICore +from ai_brochure_config import AIBrochureConfig +from extractor_of_relevant_links import ExtractorOfRelevantLinks +from website import Website +from openai.types.responses import Response +from rich.console import Console +from rich.markdown import Markdown +from requests import Session +from concurrent.futures import ThreadPoolExecutor, as_completed +from json import loads + +class BrochureCreator(AICore[str]): + """ + Builds a short Markdown brochure for a company or individual by: + - extracting relevant links from the website, + - inferring the entity name and status, + - and prompting the model using the collected page content. + """ + + @property + def _website(self) -> Website: + """Return the main Website instance to analyze.""" + return self.__website + + @property + def _extractor(self) -> ExtractorOfRelevantLinks: + """Return the helper responsible for extracting relevant links.""" + return self.__extractor + + def __init__(self, config: AIBrochureConfig, website: Website) -> None: + """ + Initialize the brochure creator with configuration and target website. + + Parameters: + config: AI and runtime configuration. + website: The root website to analyze and summarize. + """ + system_behavior: str = ("You are an assistant that analyzes the contents of several relevant pages from a company website " + "and creates a short brochure about the company for prospective customers, investors and recruits. " + "Include details of company culture, customers and careers/jobs if information is available. ") + super().__init__(config, system_behavior) + self.__website: Website = website + self.__extractor: ExtractorOfRelevantLinks = ExtractorOfRelevantLinks(config, website) + + def create_brochure(self) -> str: + """ + Create a short Markdown brochure based on the website's content. + + Returns: + A Markdown string with the brochure, or a fallback message if no relevant pages were found. + """ + relevant_pages: list[dict[str, str | Website]] = self._get_relevant_pages() + if not relevant_pages: + return "No relevant pages found to create a brochure." + + brochure_prompt_part: str = self._form_brochure_prompt(relevant_pages) + inferred_company_name, inferred_status = self._infer_entity(brochure_prompt_part) + + full_brochure_prompt: str = self._form_full_prompt(inferred_company_name, inferred_status) + response: str = self.ask(full_brochure_prompt) + return response + + def _get_relevant_pages(self) -> list[dict[str, str | Website]]: + """ + Resolve relevant links into Website objects using a shared session and concurrency. + """ + relevant_pages: list[dict[str, str | Website]] = [] + relevant_links: list[dict[str, str]] = self._extractor.extract_relevant_links()["links"] + # Limit the number of pages to fetch to keep latency and token usage reasonable. + MAX_PAGES: int = 6 + links_subset = relevant_links[:MAX_PAGES] + + def build_page(item: dict[str, str], session: Session) -> dict[str, str | Website] | None: + try: + url = str(item["url"]) + page_type = str(item["type"]) + return {"type": page_type, "page": Website(url, session=session)} + except Exception: + return None + + with Session() as session, ThreadPoolExecutor(max_workers=4) as executor: + futures = [executor.submit(build_page, link, session) for link in links_subset] + for fut in as_completed(futures): + res = fut.result() + if res: + relevant_pages.append(res) + + return relevant_pages + + def _truncate_text(self, text: str, limit: int) -> str: + """ + Truncate text to 'limit' characters to reduce tokens and latency. + """ + if len(text) <= limit: + return text + return text[: max(0, limit - 20)] + "... [truncated]" + + def _form_brochure_prompt(self, relevant_pages: list[dict[str, str | Website]]) -> str: + """ + Assemble a prompt that includes the main page and relevant pages' titles and text. + + Parameters: + relevant_pages: List of page descriptors returned by _get_relevant_pages. + + Returns: + A prompt string containing quoted sections per page. + """ + QUOTE_DELIMITER: str = "\n\"\"\"\n" + MAX_MAIN_CHARS = 6000 + MAX_PAGE_CHARS = 3000 + prompt: str = ( + f"Main page:{QUOTE_DELIMITER}" + f"Title: {self._website.title}\n" + f"Text:\n{self._truncate_text(self._website.text, MAX_MAIN_CHARS)}{QUOTE_DELIMITER}\n" + ) + + for page in relevant_pages: + if isinstance(page['page'], Website) and not page['page'].fetch_failed: + prompt += ( + f"{page['type']}:{QUOTE_DELIMITER}" + f"Title: {page['page'].title}\n" + f"Text:\n{self._truncate_text(page['page'].text, MAX_PAGE_CHARS)}{QUOTE_DELIMITER}\n" + ) + + return prompt + + def _infer_entity(self, brochure_prompt_part: str) -> tuple[str, str]: + """ + Infer both the entity name and status in a single model call to reduce latency. + Returns: + (name, status) where status is 'company' or 'individual'. + """ + prompt = ( + "From the following website excerpts, infer the entity name and whether it is a company or an individual. " + "Respond strictly as JSON with keys 'name' and 'status' (status must be 'company' or 'individual').\n" + f"{brochure_prompt_part}" + ) + raw = self.ask(prompt) + try: + data: dict[str, str] = loads(raw) + name: str = str(data.get("name", "")).strip() or "Unknown" + status: str = str(data.get("status", "")).strip().lower() + if status not in ("company", "individual"): + status = "company" + return name, status + except Exception: + # Fallback: use entire output as name, assume company + return raw.strip() or "Unknown", "company" + + def _form_full_prompt(self, inferred_company_name: str, inferred_status: str) -> str: + """ + Build the final brochure-generation prompt using the inferred entity and prior history. + + Parameters: + inferred_company_name: The inferred entity name. + inferred_status: Either 'company' or 'individual'. + + Returns: + A final prompt instructing the model to produce a Markdown brochure. + """ + full_prompt: str = (f"You are looking at a {inferred_status} called {inferred_company_name}, to whom website {self._website.website_url} belongs.\n" + f"Build a short brochure about the {inferred_status}. Use the information from the website that is already stored in the history.\n" + "Your response must be in a Markdown format.") + return full_prompt + + def ask(self, question: str) -> str: + """ + Send a question to the model, update chat history, and return the text output. + + Parameters: + question: The user prompt. + + Returns: + The model output text. + """ + self.history_manager.add_user_message(question) + response: Response = self._ai_api.responses.create( + model=self.config.model_name, + instructions=self.history_manager.system_behavior, + input=self.history_manager.chat_history, + reasoning={ "effort": "low" } + ) + self.history_manager.add_assistant_message(response) + return response.output_text + +console: Console = Console() + +def display_markdown(content: str) -> None: + """ + Render Markdown content to the console using rich. + """ + console.print(Markdown(content)) + +def show_summary(summary: str) -> None: + """ + Print a Markdown summary if provided; otherwise print a fallback message. + """ + if summary: + display_markdown(summary) + else: + console.print("No summary found.") + +if __name__ == "__main__": + website: Website = Website("") + brochure_creator: BrochureCreator = BrochureCreator(AIBrochureConfig(), website) + brochure: str = brochure_creator.create_brochure() + display_markdown(brochure) \ No newline at end of file diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py b/week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py new file mode 100644 index 0000000..9a0e2bd --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py @@ -0,0 +1,59 @@ +import os +from dotenv import load_dotenv + +class AIBrochureConfig: + """ + Configuration class to load environment variables. + """ + + def __get_config_value(self, key: str): + """ + Get the value of an environment variable. + """ + if not key: + raise ValueError("Key must be provided") + + value: str | None = os.getenv(key) + if not value: + raise ValueError(f"Environment variable '{key}' not found") + + return value + + def _get_str(self, key: str) -> str: + """ + Get a string value from the environment variables. + """ + return self.__get_config_value(key) + + def _get_int(self, key: str) -> int: + """ + Get an integer value from the environment variables. + """ + value = self.__get_config_value(key) + try: + return int(value) + except ValueError: + raise ValueError(f"Environment variable '{key}' must be an integer") + + @property + def openai_api_key(self) -> str: + """ + Get the OpenAI API key from the environment variables. + """ + if self.__openai_api_key == "": + self.__openai_api_key = self._get_str("OPENAI_API_KEY") + return self.__openai_api_key + + @property + def model_name(self) -> str: + """ + Get the model name from the environment variables. + """ + if self.__model_name == "": + self.__model_name = self._get_str("MODEL_NAME") + return self.__model_name + + def __init__(self) -> None: + load_dotenv(dotenv_path=".env") + self.__openai_api_key: str = "" + self.__model_name: str = "" diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai_core.py b/week1/community-contributions/ai-powered-marketing-brochures/ai_core.py new file mode 100644 index 0000000..e517f9d --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/ai_core.py @@ -0,0 +1,181 @@ +import openai +from abc import ABC, abstractmethod +from ai_brochure_config import AIBrochureConfig +from typing import Any, cast, Generic, TypeVar +from openai.types.responses import ResponseInputItemParam, Response, ResponseOutputMessage + +TAiResponse = TypeVar('TAiResponse', default=Any) + +class HistoryManager: + """ + Manage chat history and system behavior for a conversation with the model. + """ + @property + def chat_history(self) -> list[ResponseInputItemParam]: + """ + Return the accumulated conversation as a list of response input items. + """ + return self.__chat_history + + @property + def system_behavior(self) -> str: + """ + Return the system behavior (instructions) used for this conversation. + """ + return self.__system_behavior + + def __init__(self, system_behavior: str) -> None: + """ + Initialize the history manager. + + Parameters: + system_behavior: The system instruction string for the conversation. + """ + self.__chat_history: list[ResponseInputItemParam] = [] + self.__system_behavior: str = system_behavior + + def add_user_message(self, message: str) -> None: + """ + Append a user message to the chat history. + + Parameters: + message: The user text to add. + """ + self.__chat_history.append({ + "role": "user", + "content": [{"type": "input_text", "text": message}], + }) + + def add_assistant_message(self, output_message: Response) -> None: + """ + Append the assistant's output to the chat history. + + Parameters: + output_message: The model response to convert and store. + """ + for out in output_message.output: + # Convert the Pydantic output model to an input item shape + self.__chat_history.append( + cast(ResponseInputItemParam, out.model_dump(exclude_unset=True)) + ) + + +class AICore(ABC, Generic[TAiResponse]): + """ + Abstract base class for AI core functionalities. + """ + @property + def config(self) -> AIBrochureConfig: + """ + Return the stored AIBrochureConfig for this instance. + + Returns: + AIBrochureConfig: The current configuration used by this object. + + Notes: + - This accessor returns the internal configuration reference. Mutating the returned + object may affect the internal state of this instance. + - To change the configuration, use the appropriate setter or factory method rather + than modifying the returned value in-place. + """ + return self.__config + + @config.setter + def config(self, config: AIBrochureConfig | None) -> None: + """ + Set the instance configuration for the AI brochure generator. + + Parameters + ---------- + config : AIBrochureConfig | None + The configuration to assign to the instance. If None, the instance's + configuration will be reset to a newly created default AIBrochureConfig. + + Returns + ------- + None + + Notes + ----- + This method stores the provided configuration on a private attribute + """ + if config is None: + self.__config = AIBrochureConfig() + else: + self.__config = config + + @property + def _ai_api(self) -> openai.OpenAI: + """ + Return the cached OpenAI API client, initializing it on first access. + + This private helper lazily constructs and caches an openai.OpenAI client using + the API key found on self.config.openai_api_key. On the first call, if the + client has not yet been created, the method verifies that self.config is set, + creates the client with openai.OpenAI(api_key=...), stores it on + self.__ai_api, and returns it. Subsequent calls return the same cached + instance. + + Returns: + openai.OpenAI: A configured OpenAI API client. + + Raises: + ValueError: If self.config is None when attempting to initialize the client. + + Notes: + - The method mutates self.__ai_api as a side effect (caching). + - The caller should treat this as a private implementation detail. + - Thread safety is not guaranteed; concurrent initialization may result in + multiple client instances if invoked from multiple threads simultaneously. + """ + if self.__ai_api is None: + if self.config is None: + raise ValueError("Configuration must be set before accessing AI API") + self.__ai_api = openai.OpenAI(api_key=self.config.openai_api_key) + return self.__ai_api + + @property + def history_manager(self) -> HistoryManager: + """ + Return the history manager for this AI core instance. + + This property provides access to the HistoryManager that tracks the chat + history and system behavior. + + Returns: + HistoryManager: The current history manager. This property always returns + a HistoryManager instance and never None. + """ + return self.__history_manager + + def __init__(self, config: AIBrochureConfig, system_behavior: str) -> None: + """ + Initializes the AI core with the provided configuration. + + Parameters: + config (AIBrochureConfig): The configuration object for the AI core. + system_behavior (str): The behavior of the system. + """ + # Initialize all instance-level attributes here + self.__config: AIBrochureConfig = config + self.__history_manager: HistoryManager = HistoryManager(system_behavior) + self.__ai_api: openai.OpenAI | None = None + + if __debug__: + # Sanity check: confirm attributes are initialized + assert hasattr(self, "_AICore__config") + assert hasattr(self, "_AICore__history_manager") + assert hasattr(self, "_AICore__ai_api") + + @abstractmethod + def ask(self, question: str) -> TAiResponse: + """ + Ask a question to the AI model. + + Parameters: + question: The question to ask. + + Returns: + TAiResponse: The model's response type defined by the subclass. + """ + pass \ No newline at end of file diff --git a/week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py b/week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py new file mode 100644 index 0000000..e94fa38 --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py @@ -0,0 +1,91 @@ +from ai_brochure_config import AIBrochureConfig +from website import Website +from ai_core import AICore +from openai.types.responses import Response +from json import loads + +RelevantLinksDict = dict[str, list[dict[str, str]]] + +class ExtractorOfRelevantLinks(AICore[RelevantLinksDict]): + """ + Extractor for relevant links from a website. + """ + + @property + def website(self) -> Website: + """Return the root Website whose links are being analyzed.""" + return self.__website + + def __init__(self, config: AIBrochureConfig, website: Website) -> None: + """ + Initialize the extractor with configuration and target website. + + Parameters: + config: AI and runtime configuration. + website: The Website from which links were collected. + """ + system_behavior: str = ("You are an expert in creation of online advertisement materials." + "You are going to be provided with a list of links found on a website." + "You are able to decide which of the links would be most relevant to include in a brochure about the company," + "such as links to an About page or a Company page or Careers/Jobs pages.\n" + "You should respond in JSON as in this example:") + system_behavior += """ + { + "links": [ + {"type": "about page", "url": "https://www.example.com/about"}, + {"type": "company page", "url": "https://www.another_example.net/company"}, + {"type": "careers page", "url": "https://ex.one_more_example.org/careers"} + ] + } + """ + super().__init__(config, system_behavior) + self.__website: Website = website + + def get_links_user_prompt(self) -> str: + """ + Build a user prompt listing discovered links and instructions for relevance filtering. + + Returns: + A string to send to the model listing links and guidance. + """ + starter_part: str = (f"Here is a list of links found on the website of {self.website.website_url} - " + "please decide which of these links are relevant web links for a brochure about company." + "Respond with full HTTPS URLs. Avoid including Terms of Service, Privacy, email links.\n" + "Links (some might be relative links):\n") + + links_part: str = "\n".join(f"- {link}" for link in self.website.links_on_page) if self.website.links_on_page else "No links found." + + return starter_part + links_part + + def extract_relevant_links(self) -> RelevantLinksDict: + """ + Request the model to select relevant links for brochure creation. + + Returns: + A dictionary with a 'links' array containing objects with 'type' and 'url'. + """ + user_prompt = self.get_links_user_prompt() + response = self.ask(user_prompt) + return response + + def ask(self, question: str) -> RelevantLinksDict: + """ + Send a question to the model and parse the JSON response. + + Parameters: + question: The prompt to submit. + + Returns: + RelevantLinksDict: Parsed JSON containing selected links. + """ + self.history_manager.add_user_message(question) + + response: Response = self._ai_api.responses.create( + model=self.config.model_name, + instructions=self.history_manager.system_behavior, + reasoning={ "effort": "low" }, + input=self.history_manager.chat_history + ) + + self.history_manager.add_assistant_message(response) + return loads(response.output_text) \ No newline at end of file diff --git a/week1/community-contributions/ai-powered-marketing-brochures/requirements.txt b/week1/community-contributions/ai-powered-marketing-brochures/requirements.txt new file mode 100644 index 0000000..9747210 --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/requirements.txt @@ -0,0 +1,5 @@ +python-dotenv +openai +bs4 +requests +rich \ No newline at end of file diff --git a/week1/community-contributions/ai-powered-marketing-brochures/website.py b/week1/community-contributions/ai-powered-marketing-brochures/website.py new file mode 100644 index 0000000..ac9bb9d --- /dev/null +++ b/week1/community-contributions/ai-powered-marketing-brochures/website.py @@ -0,0 +1,286 @@ +from ipaddress import ip_address, IPv4Address, IPv6Address +from urllib.parse import ParseResult, urlparse +from bs4 import BeautifulSoup, Tag +from requests import get, RequestException, Session + +class Extractor: + """ + Extracts and processes content from HTML response text using BeautifulSoup. + """ + __soup: BeautifulSoup + + __extracted_title: str = "" + @property + def extracted_title(self) -> str: + """ + Returns the extracted title from the HTML content. + """ + if not self.__extracted_title: + self.__extracted_title = self.get_title() + return self.__extracted_title + + __extracted_text: str = "" + @property + def extracted_text(self) -> str: + """ + Returns the extracted main text content from the HTML, excluding irrelevant tags. + """ + if not self.__extracted_text: + self.__extracted_text = self.get_text() + return self.__extracted_text + + __extracted_links_on_page: list[str] | None = None + @property + def extracted_links_on_page(self) -> list[str]: + """ + Return all href values found on the page. + + Notes: + - Only anchor tags with an href are included. + - Values are returned as-is (may be relative or absolute). + """ + if self.__extracted_links_on_page is None: + self.__extracted_links_on_page = [str(a.get("href")) for a in self._soup.find_all('a', href=True) if isinstance(a, Tag)] + return self.__extracted_links_on_page + + @property + def _soup(self) -> BeautifulSoup: + """ + Returns the BeautifulSoup object for the HTML content. + """ + return self.__soup + + def __init__(self, response_text_content: str) -> None: + """ + Initializes the Extractor with HTML response text. + + Parameters: + response_text_content (str): The HTML response text to be processed. + """ + self.__soup = BeautifulSoup(response_text_content, "html.parser") + self.__extracted_links_on_page = None + + def get_title(self) -> str: + """ + Extracts the title from the HTML content. + """ + return self._soup.title.get_text() if self._soup.title is not None else "No title" + + def get_text(self) -> str: + """ + Extracts and cleans the main text content from the HTML, removing irrelevant tags. + """ + for irrelevant in self._soup.find_all(["script", "style", "img", "figure", "video", "audio", "button", "svg", "canvas", "input", "form", "meta"]): + irrelevant.decompose() + raw_text: str = self._soup.get_text(separator="\n") + cleaned_text: str = " ".join(raw_text.split()) + return cleaned_text if cleaned_text else "No content" + +class Website: + """ + A class to represent a website. + """ + + __DEFAULT_ALLOWED_DOMAINS: list[str] = [".com", ".org", ".net"] + + __title: str = "" + __website_url: str = "" + __text: str = "" + __allowed_domains: list[str] = [] + __links_on_page: list[str] | None = None + + @property + def title(self) -> str: + """ + Returns the title of the website. + """ + return self.__title + + @property + def text(self) -> str: + """ + Returns the main text content of the website. + """ + return self.__text + + @property + def website_url(self) -> str: + """ + Returns the URL of the website. + """ + return self.__website_url + + @property + def links_on_page(self) -> list[str] | None: + """ + Returns the list of links extracted from the website. + """ + return self.__links_on_page + + @property + def _allowed_domains(self) -> list[str]: + """ + Returns the list of allowed domain suffixes. + """ + return self.__allowed_domains + + @_allowed_domains.setter + def _allowed_domains(self, value: list[str] | str) -> None: + """ + Sets the list of allowed domain suffixes. + Filters out empty strings and ensures each suffix starts with a dot. + """ + if isinstance(value, str): + value = [ + item.strip() if item.strip().startswith(".") else f".{item.strip()}" + for item in value.split(",") + if item.strip() + ] + else: + value = [ + item if item.startswith(".") else f".{item}" + for item in value + if item + ] + self.__allowed_domains = value + + def _set_website_url(self, value: str) -> None: + """ + Protected: set the website URL after validating and fetch website data. + Use this from inside the class to initialize or change the URL. + """ + if not value: + raise ValueError("Website URL must be provided") + + parsed_url: ParseResult = urlparse(value) + + self._validate(parsed_url) + + self.__website_url = value + self.__fetch_website_data() + + @property + def fetch_failed(self) -> bool: + """ + Returns whether the website data fetch failed. + """ + return self.__fetch_failed + + def _validate(self, parsed_url: ParseResult) -> None: + """ + Validate the parsed URL. + + Parameters: + parsed_url: The parsed URL to validate. + + Raises: + ValueError: If the URL is missing parts, uses an invalid scheme, + points to a local/private address, or is not in allowed domains. + """ + if not parsed_url.netloc or parsed_url.scheme not in ("http", "https"): + raise ValueError("Website URL must be a valid URL") + + if not parsed_url.hostname: + raise ValueError("Website URL must contain a valid hostname") + + if self.__is_local_address(parsed_url.hostname): + raise ValueError("Website URL must not be a local address") + + if not self.__is_allowed_domain(parsed_url.hostname): + raise ValueError("Website URL must be an allowed domain") + + def __is_local_address(self, hostname: str) -> bool: + """ + Check if the given hostname is a local address. + + Parameters: + hostname (str): The hostname to check. + + Returns: + bool: True if the hostname is a local address, False otherwise. + """ + if hostname in ("localhost", "127.0.0.1", "::1"): + return True + + try: + ip: IPv4Address | IPv6Address = ip_address(hostname) + if ip.is_loopback or ip.is_private or ip.is_link_local or ip.is_reserved: + return True + except ValueError: + return False + + return False + + def __is_allowed_domain(self, hostname: str) -> bool: + """ + Check if the given hostname is an allowed domain. + + Parameters: + hostname (str): The hostname to check. + + Returns: + bool: True if the hostname is an allowed domain, False otherwise. + """ + allowed_domains = [".com", ".org", ".net", ".io"] + return any(hostname.endswith(domain) for domain in allowed_domains) + + def __fetch_website_data(self) -> None: + """ + Fetch website content and populate title, text, and links. + + Side effects: + - Sets internal state: __title, __text, __links_on_page, __fetch_failed. + - Performs an HTTP GET with a browser-like User-Agent. + """ + try: + get_fn = self.__session.get if self.__session else get + response = get_fn( + self.website_url, + timeout=10, + verify=True, + headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"} + ) + except RequestException as e: + self.__title = "Error" + self.__text = str(e) + self.__fetch_failed = True + return + + if response.ok: + extractor: Extractor = Extractor(response.text) + self.__title = extractor.extracted_title + self.__text = extractor.extracted_text + self.__links_on_page = extractor.extracted_links_on_page + else: + if response.status_code == 404: + self.__title = "Not Found" + self.__text = "The requested page was not found (404)." + else: + self.__title = "Error" + self.__text = f"Error: {response.status_code} - {response.reason}" + self.__fetch_failed = True + + def __init__(self, website_url: str, allowed_domains: list[str] | str | None = None, session: Session | None = None) -> None: + """ + Initializes the Website object and fetches its data. + + Parameters: + website_url (str): The URL of the website to fetch. + allowed_domains (list[str] | str, optional): A list of allowed domain suffixes. + If a string is provided, it should be a comma-separated list of domain suffixes (e.g., ".com,.org,.net"). + session (requests.Session | None, optional): Reused HTTP session for connection pooling. + """ + self.__fetch_failed: bool = False + self.__session: Session | None = session + if allowed_domains is None: + self._allowed_domains = self.__DEFAULT_ALLOWED_DOMAINS.copy() + else: + self._allowed_domains = allowed_domains + # Use protected setter internally so the public API exposes only the getter. + self._set_website_url(website_url) + + def __str__(self) -> str: + """ + Returns a string representation of the Website object. + """ + return f"Website(title={self.title}, url={self.website_url})" \ No newline at end of file From b495be8c2861f172237c02318c99f2013b830594 Mon Sep 17 00:00:00 2001 From: Execotryx Date: Sun, 17 Aug 2025 23:44:24 +0500 Subject: [PATCH 106/176] AI Brochure Creator, powered with GPT-5 Nano and partially utilizing Responses API --- .../.gitignore | 0 .../ai-brochure-creator.py | 0 .../ai_brochure_config.py | 0 .../ai_core.py | 0 .../extractor_of_relevant_links.py | 0 .../requirements.txt | 0 .../website.py | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/.gitignore (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/ai-brochure-creator.py (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/ai_brochure_config.py (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/ai_core.py (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/extractor_of_relevant_links.py (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/requirements.txt (100%) rename week1/community-contributions/{ai-powered-marketing-brochures => ai-powered-marketing-brochures-gpt-5}/website.py (100%) diff --git a/week1/community-contributions/ai-powered-marketing-brochures/.gitignore b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/.gitignore similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/.gitignore rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/.gitignore diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai-brochure-creator.py similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/ai-brochure-creator.py rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai-brochure-creator.py diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai_brochure_config.py similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/ai_brochure_config.py rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai_brochure_config.py diff --git a/week1/community-contributions/ai-powered-marketing-brochures/ai_core.py b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai_core.py similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/ai_core.py rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/ai_core.py diff --git a/week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/extractor_of_relevant_links.py similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/extractor_of_relevant_links.py rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/extractor_of_relevant_links.py diff --git a/week1/community-contributions/ai-powered-marketing-brochures/requirements.txt b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/requirements.txt similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/requirements.txt rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/requirements.txt diff --git a/week1/community-contributions/ai-powered-marketing-brochures/website.py b/week1/community-contributions/ai-powered-marketing-brochures-gpt-5/website.py similarity index 100% rename from week1/community-contributions/ai-powered-marketing-brochures/website.py rename to week1/community-contributions/ai-powered-marketing-brochures-gpt-5/website.py From 72eb3562b7165c4ab7d0212f0c634265746ade50 Mon Sep 17 00:00:00 2001 From: KiranAyyagari Date: Mon, 18 Aug 2025 20:16:14 +0530 Subject: [PATCH 107/176] Add Copilot and weather agent notebooks Introduces Copilot.ipynb, an adaptive AI coding assistant with OpenAI and Gemini integration via Gradio, and weather_agent.ipynb, a weather chat agent supporting current, historical, and forecast queries using WeatherAPI and OpenAI tool-calling. Both notebooks provide interactive UIs for user queries. --- week2/community-contributions/Copilot.ipynb | 212 ++++++++++ .../weather_agent.ipynb | 370 ++++++++++++++++++ 2 files changed, 582 insertions(+) create mode 100644 week2/community-contributions/Copilot.ipynb create mode 100644 week2/community-contributions/weather_agent.ipynb diff --git a/week2/community-contributions/Copilot.ipynb b/week2/community-contributions/Copilot.ipynb new file mode 100644 index 0000000..c32aad0 --- /dev/null +++ b/week2/community-contributions/Copilot.ipynb @@ -0,0 +1,212 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "1877ad68", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "from dotenv import load_dotenv \n", + "import google.generativeai as genai\n", + "from IPython.display import Markdown, display, update_display\n", + "load_dotenv(override=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "008056a2", + "metadata": {}, + "outputs": [], + "source": [ + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f'OpenAi api key exists and its starts with {openai_api_key[:3]}')\n", + "else:\n", + " print(\"OpenAi api key doesn't exist\")\n", + "\n", + "if google_api_key:\n", + " print('Google api key exists')\n", + "else:\n", + " print(\"Google api key doesn't exist\")\n", + "\n", + "OPENAI_MODEL = \"gpt-4o-mini\"\n", + "GOOGLE_MODEL = \"gemini-1.5-flash\"\n", + "\n", + "openai = OpenAI()\n", + "\n", + "genai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5013ed7b", + "metadata": {}, + "outputs": [], + "source": [ + "system_msg = \"\"\"\n", + "You are CodeCopilot, an adaptive AI coding assistant that helps users solve problems in any programming language.\n", + "Always provide correct, runnable, and well-formatted code with clear explanations.\n", + "Adjust your style based on the user’s expertise: for beginners, break concepts down step by step with simple examples and commented code;\n", + "for advanced users, deliver concise, production-ready, optimized solutions with best practices and trade-off insights.\n", + "Ask clarifying questions when requirements are ambiguous, highlight pitfalls and edge cases,\n", + "and act as a collaborative pair programmer or mentor whose goal is to help users learn, build, and ship high-quality code efficiently.\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35c480a1", + "metadata": {}, + "outputs": [], + "source": [ + "def create_prompt(prompt, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_msg}]\n", + "\n", + " # history is a list of (user_msg, assistant_msg) tuples\n", + " for user_msg, assistant_msg in history:\n", + " if user_msg:\n", + " messages.append({\"role\": \"user\", \"content\": user_msg})\n", + " if assistant_msg:\n", + " messages.append({\"role\": \"assistant\", \"content\": assistant_msg})\n", + "\n", + " # new user prompt\n", + " messages.append({\"role\": \"user\", \"content\": prompt})\n", + " return messages" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5dfbecd0", + "metadata": {}, + "outputs": [], + "source": [ + "def openai_agent(prompt, history):\n", + " openai.api_key = openai_api_key\n", + " messages = create_prompt(prompt, history)\n", + " response = openai.chat.completions.create(\n", + " model=OPENAI_MODEL,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " sent_any = False\n", + " for chunk in response:\n", + " delta = chunk.choices[0].delta\n", + " if delta and delta.content:\n", + " sent_any = True\n", + " yield delta.content\n", + " if not sent_any:\n", + " yield \"(no response)\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "535f7e3d", + "metadata": {}, + "outputs": [], + "source": [ + "def gemini_agent(prompt, history):\n", + " genai.configure(api_key=google_api_key)\n", + "\n", + " # reuse OpenAI-style messages\n", + " messages = create_prompt(prompt, history)\n", + "\n", + " gemini_history = []\n", + " for m in messages:\n", + " # Gemini does NOT support system role\n", + " if m[\"role\"] == \"system\":\n", + " continue\n", + " gemini_history.append({\n", + " \"role\": m[\"role\"],\n", + " \"parts\": [m[\"content\"]]\n", + " })\n", + " prompt_with_system = f\"{system_msg}\\n\\n{prompt}\"\n", + " model = genai.GenerativeModel(GOOGLE_MODEL)\n", + " chat = model.start_chat(history=gemini_history)\n", + "\n", + " response = chat.send_message(prompt_with_system, stream=True)\n", + " for chunk in response:\n", + " if chunk and getattr(chunk, \"text\", None):\n", + " yield chunk.text\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21f61ff0", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_agent(prompt, history, modelType):\n", + " if modelType == \"OpenAI\":\n", + " for token in openai_agent(prompt, history):\n", + " yield token\n", + " else:\n", + " for token in gemini_agent(prompt, history):\n", + " yield token\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56686c1d", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_fn(prompt, history, model):\n", + " assistant_response = \"\"\n", + " for token in chat_agent(prompt, history, model):\n", + " assistant_response += token\n", + " yield assistant_response \n", + "\n", + "# -------------------------------------------------------------------\n", + "# UI\n", + "# -------------------------------------------------------------------\n", + "with gr.Blocks() as demo:\n", + " model_choice = gr.Radio([\"OpenAI\", \"Gemini\"], value=\"OpenAI\", label=\"Model\")\n", + "\n", + " chat_ui = gr.ChatInterface(\n", + " fn=chat_fn,\n", + " additional_inputs=[model_choice],\n", + " title=\"CodeCopilot\",\n", + " description=\"An adaptive AI coding assistant that helps developers build and ship high-quality code.\"\n", + " )\n", + "\n", + "demo.launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week2/community-contributions/weather_agent.ipynb b/week2/community-contributions/weather_agent.ipynb new file mode 100644 index 0000000..f89978a --- /dev/null +++ b/week2/community-contributions/weather_agent.ipynb @@ -0,0 +1,370 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "60761989", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import speech_recognition as sr\n", + "import json\n", + "from dotenv import load_dotenv" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e0b6610a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk-proj-\n", + "weather API Key exists\n" + ] + } + ], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "weather_api_key = os.getenv('WEATHER_API_KEY')\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + "if weather_api_key:\n", + " print(\"weather API Key exists\")\n", + "else:\n", + " print(\"weather API Key not set\")\n", + " \n", + "MODEL = \"gpt-4o-mini\"\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "af9d2faf", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful assistant for weather. \"\n", + "system_message += \"You need to fetch the current, historical and forecast the weather data using weather api and provide the response\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2c5208d8", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_current_weather(location):\n", + " url = f\"http://api.weatherapi.com/v1/current.json?key={weather_api_key}&q={location}&aqi=yes\"\n", + " return requests.get(url).json()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8e6a12e5", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_forecast_weather(location, days=3):\n", + " url = f\"http://api.weatherapi.com/v1/forecast.json?key={weather_api_key}&q={location}&days={days}&aqi=yes&alerts=yes\"\n", + " return requests.get(url).json()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "eafc468e", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_historical_weather(location, date):\n", + " url = f\"http://api.weatherapi.com/v1/history.json?key={weather_api_key}&q={location}&dt={date}&aqi=yes\"\n", + " return requests.get(url).json()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2851ed55", + "metadata": {}, + "outputs": [], + "source": [ + "# Weather function used as a tool by OpenAI\n", + "def get_weatherapi_data(location, mode=\"current\", date=None, forecast_days=3):\n", + " if mode == \"current\":\n", + " return fetch_current_weather(location)\n", + " elif mode == \"forecast\":\n", + " return fetch_forecast_weather(location, days=forecast_days)\n", + " elif mode == \"historical\":\n", + " if not date:\n", + " # Default: yesterday\n", + " date = (datetime.date.today() - datetime.timedelta(days=1)).strftime(\"%Y-%m-%d\")\n", + " return fetch_historical_weather(location, date)\n", + " else:\n", + " return {\"error\": \"Unknown mode.\"}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "368176c2", + "metadata": {}, + "outputs": [], + "source": [ + "# Tool schema for OpenAI tool-calling\n", + "weatherapi_tool_schema = [\n", + " {\n", + " \"type\": \"function\",\n", + " \"function\": {\n", + " \"name\": \"get_weatherapi_data\",\n", + " \"description\": \"Fetches current, forecast, or historical weather data from WeatherAPI.com for a given location.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"location\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Name of the city, region, or coordinates.\"\n", + " },\n", + " \"mode\": {\n", + " \"type\": \"string\",\n", + " \"enum\": [\"current\", \"forecast\", \"historical\"],\n", + " \"description\": \"Type of weather data required.\"\n", + " },\n", + " \"date\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Date for historical data in YYYY-MM-DD format. Only needed if mode is 'historical'.\"\n", + " },\n", + " \"forecast_days\": {\n", + " \"type\": \"integer\",\n", + " \"description\": \"Number of forecast days (1-10). Only needed if mode is 'forecast'.\"\n", + " }\n", + " },\n", + " \"required\": [\"location\", \"mode\"]\n", + " }\n", + " }\n", + " }\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "bd9c4d38", + "metadata": {}, + "outputs": [], + "source": [ + "def audio_to_text(audio_filepath):\n", + " if audio_filepath is None or audio_filepath == \"\":\n", + " return \"\"\n", + " recognizer = sr.Recognizer()\n", + " try:\n", + " with sr.AudioFile(audio_filepath) as source:\n", + " audio = recognizer.record(source)\n", + " try:\n", + " transcript = recognizer.recognize_google(audio)\n", + " return transcript\n", + " except sr.UnknownValueError:\n", + " return \"\"\n", + " except sr.RequestError as e:\n", + " return f\"Speech recognition service error: {e}\"\n", + " except Exception as e:\n", + " return f\"Error opening audio file: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "61c5de82", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_agent(city, mode, date, forecast_days, audio=None):\n", + " user_query = city\n", + " if audio:\n", + " spoken_text = audio_to_text(audio)\n", + " print(\"Recognized speech:\", spoken_text)\n", + " if spoken_text and spoken_text.strip().lower() != \"flic en flac\":\n", + " user_query = spoken_text\n", + " else:\n", + " if not city.strip():\n", + " return \"Sorry, I could not recognize your speech. Please try again or type your city.\"\n", + "\n", + " if not user_query.strip():\n", + " return \"Please provide a location by text or speech.\"\n", + "\n", + " # Compose tool function arguments as the LLM would\n", + " args = {\n", + " \"location\": user_query,\n", + " \"mode\": mode\n", + " }\n", + " if mode == \"historical\" and date:\n", + " args[\"date\"] = date\n", + " if mode == \"forecast\":\n", + " try:\n", + " n_days = int(forecast_days)\n", + " except:\n", + " n_days = 3\n", + " args[\"forecast_days\"] = n_days\n", + "\n", + " openai.api_key = openai_api_key\n", + "\n", + " # LLM call for tool use\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4-0613\",\n", + " messages=[{\"role\": \"user\", \"content\": f\"Get me {mode} weather for {user_query}\"+(f' on {date}' if date and mode==\"historical\" else \"\")+(f' for {forecast_days} days' if forecast_days and mode==\"forecast\" else \"\")}],\n", + " tools=weatherapi_tool_schema,\n", + " tool_choice={\"type\": \"function\", \"function\": {\"name\": \"get_weatherapi_data\", \"arguments\": json.dumps(args)}}\n", + " )\n", + " message = response.choices[0].message\n", + "\n", + " if hasattr(message, \"tool_calls\") and message.tool_calls:\n", + " tool_call = message.tool_calls[0]\n", + " args2 = json.loads(tool_call.function.arguments) # not really needed, already have args\n", + " location = args2.get(\"location\", user_query)\n", + " mode = args2.get(\"mode\", mode)\n", + " date = args2.get(\"date\", date)\n", + " forecast_days = args2.get(\"forecast_days\", forecast_days)\n", + " weather_data = get_weatherapi_data(location, mode, date, forecast_days)\n", + " tool_result = f\"Weather data (mode={mode}) for {location}:\\n{json.dumps(weather_data, indent=2)[:3000]}\"\n", + " followup = openai.chat.completions.create(\n", + " model=\"gpt-4-0613\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": f\"Get me {mode} weather for {location}\"},\n", + " message,\n", + " {\n", + " \"role\": \"tool\",\n", + " \"tool_call_id\": tool_call.id,\n", + " \"content\": tool_result\n", + " }\n", + " ]\n", + " )\n", + " answer = followup.choices[0].message.content.strip()\n", + " return answer\n", + " else:\n", + " return getattr(message, \"content\", \"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "44071389", + "metadata": {}, + "outputs": [], + "source": [ + "def update_date_visibility(mode):\n", + " return gr.update(visible=(mode==\"historical\"))\n", + "\n", + "def update_days_visibility(mode):\n", + " return gr.update(visible=(mode==\"forecast\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "618a5494", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7861\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recognized speech: Error opening audio file: FLAC conversion utility not available - consider installing the FLAC command line application by running `apt-get install flac` or your operating system's equivalent\n" + ] + } + ], + "source": [ + "with gr.Blocks() as demo:\n", + " gr.Markdown(\"## Weather Chat Agent (Current, Historical, Forecast)\")\n", + "\n", + " with gr.Row():\n", + " city_input = gr.Textbox(label=\"City/Location\")\n", + " mode_input = gr.Dropdown(\n", + " [\"current\", \"historical\", \"forecast\"],\n", + " value=\"current\",\n", + " label=\"Weather Mode\")\n", + " with gr.Row():\n", + " date_input = gr.Textbox(label=\"Date for historical (YYYY-MM-DD)\", visible=False)\n", + " days_input = gr.Textbox(label=\"Forecast Days (for forecast)\", value=\"3\", visible=False)\n", + " audio_input = gr.Audio(type=\"filepath\", format=\"wav\", label=\"Or Speak your City/Location (optional)\")\n", + " output_box = gr.Textbox(label=\"Weather Info\", lines=8)\n", + " btn = gr.Button(\"Get Weather\")\n", + "\n", + " # Show/hide date and days inputs based on dropdown\n", + " mode_input.change(update_date_visibility, mode_input, date_input)\n", + " mode_input.change(update_days_visibility, mode_input, days_input)\n", + " btn.click(\n", + " chat_agent,\n", + " [city_input, mode_input, date_input, days_input, audio_input],\n", + " output_box\n", + " )\n", + "\n", + "demo.launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 269b650f359f5f27265106d67f34fe49ce9930b8 Mon Sep 17 00:00:00 2001 From: Syed Abrar Ahmad Date: Mon, 18 Aug 2025 20:25:18 +0500 Subject: [PATCH 108/176] Added Exercise for Week3. --- .../week3_exercise_by_abrar.ipynb | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 week3/community-contributions/week3_exercise_by_abrar.ipynb diff --git a/week3/community-contributions/week3_exercise_by_abrar.ipynb b/week3/community-contributions/week3_exercise_by_abrar.ipynb new file mode 100644 index 0000000..6339e85 --- /dev/null +++ b/week3/community-contributions/week3_exercise_by_abrar.ipynb @@ -0,0 +1,49 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "61f56afc-bc15-46a4-8eb1-d940c332cf52", + "metadata": {}, + "source": [ + "# Synthetic Data Studio\n", + "\n", + "It includes useful code to connect your Google Drive to your Colab and Hugging Face Model. \n", + "To use the Huggingface Model, you first need to create an account on HuggingFace and then send a request to the required model. \n", + "\n", + "\n", + "https://colab.research.google.com/drive/1W3JPe0F6su8sNpfdlp2uqXqWZChevHYa?usp=sharing\n", + "\n", + "This should run nicely on a low-cost or free T4 box." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9289ba7-200c-43a9-b67a-c5ce826c9537", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f4d092acc6617605891ad990d489c10306b3a279 Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Mon, 18 Aug 2025 23:03:41 -0400 Subject: [PATCH 109/176] Add week2 notebooks to community-contributions --- .../brochure-builder-with-gradio.ipynb | 456 ++++++++++++++++++ .../pitting-llms-against-each-other.ipynb | 254 ++++++++++ 2 files changed, 710 insertions(+) create mode 100644 week2/community-contributions/brochure-builder-with-gradio.ipynb create mode 100644 week2/community-contributions/pitting-llms-against-each-other.ipynb diff --git a/week2/community-contributions/brochure-builder-with-gradio.ipynb b/week2/community-contributions/brochure-builder-with-gradio.ipynb new file mode 100644 index 0000000..42f41b7 --- /dev/null +++ b/week2/community-contributions/brochure-builder-with-gradio.ipynb @@ -0,0 +1,456 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9905f163-759f-474b-8f7a-7d14da0df44d", + "metadata": {}, + "source": [ + "### BUSINESS CHALLENGE: Using Multi-shot Prompting\n", + "#### Day 5\n", + "\n", + "Create a product that builds a Brochure for a company to be used for prospective clients, investors and potential recruits.\n", + "\n", + "We will be provided a company name and their primary website." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "a0895f24-65ff-4624-8ae0-15d2d400d8f0", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "# If these fail, please check you're running from an 'activated' environment with (llms) in the command prompt\n", + "\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import gradio as gr" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7794aa70-5962-4669-b86f-b53639f4f9ea", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk-proj-\n", + "Anthropic API Key exists and begins sk-ant-\n", + "Google API Key exists and begins AIzaSyCf\n" + ] + } + ], + "source": [ + "# Initialize and constants\n", + "\n", + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cfb690e2-4940-4dc8-8f32-5c2dab3c19da", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "81022472-755e-4a87-bd5d-58babb09e94b", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.5-flash\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "63bf8631-2746-4255-bec1-522855d3e812", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "markdown", + "id": "1e7bb527-e769-4245-bb91-ae65e64593ff", + "metadata": {}, + "source": [ + "## First step: Have LLM figure out which links are relevant\n", + "\n", + "### Use a call to the LLM to read the links on a webpage, and respond in structured JSON. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1ce303ae-b967-4261-aadc-02dafa54db4a", + "metadata": {}, + "outputs": [], + "source": [ + "link_system_prompt = \"You are provided with a list of links found on a webpage. \\\n", + "You are able to decide which of the links would be most relevant to include in a brochure about the company, \\\n", + "such as links to an About page, or a Company page, or Careers/Jobs pages.\\n\"\n", + "link_system_prompt += \"You should respond in JSON as in this example:\"\n", + "link_system_prompt += \"\"\"\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"about page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}\n", + " ]\n", + "}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d24a4c0c-a1d1-4897-b2a7-4128d25c2e08", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links_user_prompt(website):\n", + " user_prompt = f\"Here is the list of links on the website of {website.url} - \"\n", + " user_prompt += \"please decide which of these are relevant web links for a brochure about the company, respond with the full https URL in JSON format. \\\n", + "Do not include Terms of Service, Privacy, email links.\\n\"\n", + " user_prompt += \"Links (some might be relative links):\\n\"\n", + " user_prompt += \"\\n\".join(website.links)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8103fc11-5bc0-41c4-8c97-502c9e96429c", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links(url, model): # 1st inference\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": link_system_prompt},\n", + " {\"role\": \"user\", \"content\": get_links_user_prompt(website)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "dc84a695-515d-4292-9a95-818f4fe3d20e", + "metadata": {}, + "outputs": [], + "source": [ + "huggingface = Website(\"https://huggingface.co\")" + ] + }, + { + "cell_type": "markdown", + "id": "91896908-1632-41fc-9b8b-39a7638d8dd1", + "metadata": {}, + "source": [ + "## Second step: make the brochure!\n", + "\n", + "Assemble all the details into another prompt to GPT4-o" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ab7c54e3-e654-4b1f-8671-09194b628aa0", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_details(url, model): # 1st inference wrapper\n", + " result = \"Landing page:\\n\"\n", + " result += Website(url).get_contents()\n", + " links = get_links(url, model) # inference\n", + " # print(\"Found links:\", links)\n", + " for link in links[\"links\"]:\n", + " result += f\"\\n\\n{link['type']}\\n\"\n", + " result += Website(link[\"url\"]).get_contents()\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "ea9f54d1-a248-4c56-a1de-6633193de5bf", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "13412c85-badd-4d79-a5ac-8283e4bb832f", + "metadata": {}, + "outputs": [], + "source": [ + "def get_brochure_user_prompt(company_name, url, model):\n", + " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", + " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company.\\n\"\n", + " user_prompt += get_all_details(url, model) # inference wrapper\n", + " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "107a2100-3f7d-4f16-8ba7-b5da602393c6", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_gpt(company_name, url):\n", + " stream = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url, gpt_model)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "eaf61e44-537a-41ff-a82c-9525df8abc83", + "metadata": {}, + "outputs": [], + "source": [ + "claude_via_openai_client = OpenAI(\n", + " api_key=anthropic_api_key,\n", + " base_url=\"https://api.anthropic.com/v1\" \n", + ")\n", + "\n", + "def stream_claude(company_name, url):\n", + " result = claude_via_openai_client.chat.completions.create(\n", + " model=claude_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url, claude_model)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " with result as stream:\n", + " for text in stream.text_stream:\n", + " response += text or \"\"\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "93e75fca-e54e-4637-86f1-4acc04b04d65", + "metadata": {}, + "outputs": [], + "source": [ + "gemini_via_openai_client = OpenAI(\n", + " api_key=google_api_key, \n", + " base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\"\n", + ")\n", + "\n", + "def stream_gemini(company_name, url):\n", + " result = gemini_via_openai_client.chat.completions.create(\n", + " model=gemini_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url, gemini_model)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " with result as stream:\n", + " for text in stream.text_stream:\n", + " response += text or \"\"\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "26cbe9b5-3603-49a1-a676-75c7ddaacdb8", + "metadata": {}, + "outputs": [], + "source": [ + "# stream_gpt(\"HuggingFace\", \"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "f19be4c0-71a1-427e-b3dc-e1896e2c078b", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_model(company_name, url, model):\n", + " yield \"\"\n", + " if model==\"GPT\":\n", + " result = stream_gpt(company_name, url)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(company_name, url)\n", + " elif model==\"Gemini\":\n", + " result = stream_gemini(company_name, url)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " yield from result" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "ab510f66-b25c-4c25-92d0-e3c735b8b5fa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7871\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "view = gr.Interface(\n", + " fn=stream_model,\n", + " inputs=[gr.Textbox(label=\"Company\"), gr.Textbox(label=\"URL\"), gr.Dropdown([\"GPT\", \n", + " # \"Claude\", #TODO\n", + " # \"Gemini\"\n", + " ], label=\"Select model\", value=\"GPT\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week2/community-contributions/pitting-llms-against-each-other.ipynb b/week2/community-contributions/pitting-llms-against-each-other.ipynb new file mode 100644 index 0000000..53e2e70 --- /dev/null +++ b/week2/community-contributions/pitting-llms-against-each-other.ipynb @@ -0,0 +1,254 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "10c54e52-3d1c-48cc-a0f6-efda6d90fbbb", + "metadata": {}, + "source": [ + "# Pitting LLMs Against Each Other\n", + "Three LLMs, namely OpenAI’s GPT, Anthropic’s Claude, and Google’s Gemini, go head-to-head in a three-way conversational debate." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40677b08-18e9-4a88-a103-5b50d2bbecff", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df5a52ba-ea13-4dbf-a695-e1398a484cc8", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ededc77-2672-4e27-b1c8-11f6f8ff8970", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic, Gemini\n", + "\n", + "openai = OpenAI()\n", + "\n", + "# claude = anthropic.Anthropic()\n", + "\n", + "# google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b311279-5993-4226-ae08-991e974230fb", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's make a conversation between GPT-4.1-mini and Claude-3.5-haiku and Gemini\n", + "\n", + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.5-flash\"\n", + "\n", + "gpt_system = \"You are a chatbot in a conversation with 2 other chatbots; \\\n", + "debate which of you is the best.\"\n", + "\n", + "claude_system = \"You are a chatbot in a conversation with 2 other chatbots; \\\n", + "debate which of you is the best.\"\n", + "\n", + "gemini_system = \"You are a chatbot in a conversation with 2 other chatbots; \\\n", + "debate which of you is the best.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85bdfab1-6602-46b3-a1d2-bdb36880d9d6", + "metadata": {}, + "outputs": [], + "source": [ + "def alex_prompt():\n", + " user_prompt = f\"\"\"\n", + " You are Alex, in conversation with Blake and Charlie.\n", + " The conversation so far is as follows:\n", + " {format_conversation()}\n", + " Now with this, respond with what you would like to say next, as Alex.\n", + " \"\"\"\n", + " return user_prompt\n", + "\n", + "def blake_prompt():\n", + " user_prompt = f\"\"\"\n", + " You are Blake, in conversation with Alex and Charlie.\n", + " The conversation so far is as follows:\n", + " {format_conversation()}\n", + " Now with this, respond with what you would like to say next, as Blake.\n", + " \"\"\"\n", + " return user_prompt\n", + "\n", + "def charlie_prompt():\n", + " user_prompt = f\"\"\"\n", + " You are Charlie, in conversation with Alex and Blake.\n", + " The conversation so far is as follows:\n", + " {format_conversation()}\n", + " Now with this, respond with what you would like to say next, as Charlie.\n", + " \"\"\"\n", + " return user_prompt\n", + "\n", + "# Shared conversation history\n", + "conversation = []\n", + "\n", + "def format_conversation():\n", + " return \"\\n\".join(conversation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f7c745d-7d75-468b-93ac-7a1d95f2e047", + "metadata": {}, + "outputs": [], + "source": [ + "def alex_says():\n", + " response = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": gpt_system},\n", + " {\"role\": \"user\", \"content\": alex_prompt()}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e28f4c9-0297-4762-a3ea-b961e0d6d980", + "metadata": {}, + "outputs": [], + "source": [ + "gemini_via_openai_client = OpenAI(\n", + " api_key=google_api_key, \n", + " base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\"\n", + ")\n", + "\n", + "def blake_says():\n", + " response = gemini_via_openai_client.chat.completions.create(\n", + " model=gemini_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": gemini_system},\n", + " {\"role\": \"user\", \"content\": blake_prompt()}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "363b70bf-d3e2-4d05-8a3e-ec5d54460e96", + "metadata": {}, + "outputs": [], + "source": [ + "claude_via_openai_client = OpenAI(\n", + " api_key=anthropic_api_key,\n", + " base_url=\"https://api.anthropic.com/v1\" \n", + ")\n", + "\n", + "def charlie_says():\n", + " response = claude_via_openai_client.chat.completions.create(\n", + " model=claude_model, \n", + " messages=[\n", + " {\"role\": \"system\", \"content\": claude_system},\n", + " {\"role\": \"user\", \"content\": charlie_prompt()}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " return result\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c017eb8c-1709-4ac1-8f17-92c3a6cdbfc0", + "metadata": {}, + "outputs": [], + "source": [ + "# The three models engage in a longer interaction with history.\n", + "\n", + "for i in range(5):\n", + " alex_next = alex_says()\n", + " print(f\"Alex (GPT):\\n{alex_next}\\n\")\n", + " conversation.append(f\"Alex: {alex_next}\")\n", + " \n", + " blake_next = blake_says()\n", + " print(f\"Blake (Gemini):\\n{blake_next}\\n\")\n", + " conversation.append(f\"Blake: {blake_next}\")\n", + "\n", + " charlie_next = charlie_says()\n", + " print(f\"Charlie (Claude):\\n{charlie_next}\\n\")\n", + " conversation.append(f\"Charlie: {charlie_next}\") \n", + "\n", + " # break" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From a4c9456c3844b7264c44293c8a433c28f74aff61 Mon Sep 17 00:00:00 2001 From: Sarita Bandarupalli Date: Wed, 20 Aug 2025 16:56:30 -0400 Subject: [PATCH 110/176] Added Sarita_B contributions to community-contributions --- .../fitness-nutrition-planner-agent/README.md | 101 +++++ .../fitness-nutrition-planner-agent/agent.py | 411 ++++++++++++++++++ .../fitness-nutrition-planner-agent/app.py | 75 ++++ .../demo_output.md | 84 ++++ .../sample_profile.json | 17 + 5 files changed, 688 insertions(+) create mode 100644 community-contributions/fitness-nutrition-planner-agent/README.md create mode 100644 community-contributions/fitness-nutrition-planner-agent/agent.py create mode 100644 community-contributions/fitness-nutrition-planner-agent/app.py create mode 100644 community-contributions/fitness-nutrition-planner-agent/demo_output.md create mode 100644 community-contributions/fitness-nutrition-planner-agent/sample_profile.json diff --git a/community-contributions/fitness-nutrition-planner-agent/README.md b/community-contributions/fitness-nutrition-planner-agent/README.md new file mode 100644 index 0000000..a447792 --- /dev/null +++ b/community-contributions/fitness-nutrition-planner-agent/README.md @@ -0,0 +1,101 @@ + +# Fitness & Nutrition Planner Agent (Community Contribution) + +A tool-using agent that generates a **7‑day vegetarian-friendly meal plan** with **calorie/macro targets** and a **consolidated grocery list**. It supports **targeted swaps** (e.g., "swap Tuesday lunch") while honoring dietary patterns, allergies, and dislikes. + +> **Disclaimer**: This project is for educational purposes and is **not** medical advice. Consult a licensed professional for medical or specialized dietary needs. + +--- + +## ✨ Features +- Calculates **TDEE** and **macro targets** via Mifflin–St Jeor + activity factors. +- Builds a **7‑day plan** (breakfast/lunch/dinner) respecting dietary constraints. +- Produces an aggregated **grocery list** for the week. +- Supports **swap** of any single meal while keeping macros reasonable. +- Minimal **Streamlit UI** for demos. +- Extensible **tool-based architecture** to plug real recipe APIs/DBs. + +--- + +## 🧱 Architecture +- **Agent core**: OpenAI function-calling (tools) with a simple orchestration loop. +- **Tools**: + 1. `calc_calories_and_macros` – computes targets. + 2. `compose_meal_plan` – creates the 7‑day plan. + 3. `grocery_list_from_plan` – consolidates ingredients/quantities. + 4. `swap_meal` – replaces one meal (by kcal proximity and constraints). +- **Recipe source**: a tiny in-memory recipe DB for demo; replace with a real API or your own dataset. + +--- + +## šŸš€ Quickstart + +### 1) Install +```bash +pip install openai streamlit pydantic python-dotenv +``` + +### 2) Configure +Create a `.env` file in this folder: +``` +OPENAI_API_KEY=your_key_here +OPENAI_MODEL=gpt-4o-mini +``` + +### 3) Run CLI (example) +```bash +python agent.py +``` + +### 4) Run UI +```bash +streamlit run app.py +``` + +--- + +## 🧪 Sample Profile (from issue author) +See `sample_profile.json` for the exact values used to produce `demo_output.md`. +- **Sex**: female +- **Age**: 45 +- **Height**: 152 cm (~5 ft) +- **Weight**: 62 kg +- **Activity**: light +- **Goal**: maintain +- **Diet**: vegetarian + +--- + +## šŸ”§ Extend +- Replace the in-memory recipes with: + - A real **recipe API** (e.g., Spoonacular) or + - Your **own dataset** (CSV/DB) + filters/tags +- Add price lookups to produce a **budget-aware** grocery list. +- Add **adherence tracking** and charts. +- Integrate **wearables** or daily steps to refine TDEE dynamically. +- Add **snacks** for days slightly under target kcals. + +--- + +## šŸ›”ļø Safety Notes +- The agent warns for extreme deficits but does **not** diagnose conditions. +- For calorie targets below commonly recommended minimums (e.g., ~1200 kcal/day for many adults), advise consulting a professional. + +--- + +## šŸ“ Project Layout +``` +fitness-nutrition-planner-agent/ +ā”œā”€ README.md +ā”œā”€ agent.py +ā”œā”€ app.py +ā”œā”€ sample_profile.json +└─ demo_output.md +``` + +--- + +## šŸ¤ How to contribute +- Keep notebooks (if any) with **cleared outputs**. +- Follow the course repo’s contribution guidelines. +- Include screenshots or a short Loom/YT demo link in your PR description. diff --git a/community-contributions/fitness-nutrition-planner-agent/agent.py b/community-contributions/fitness-nutrition-planner-agent/agent.py new file mode 100644 index 0000000..75bcd10 --- /dev/null +++ b/community-contributions/fitness-nutrition-planner-agent/agent.py @@ -0,0 +1,411 @@ + +# agent.py +import os, math, json, copy +from dataclasses import dataclass +from typing import List, Dict, Any, Optional, Tuple +from pydantic import BaseModel, Field, ValidationError +from dotenv import load_dotenv +from openai import OpenAI + +load_dotenv() + +# ------------------------------ +# Data models +# ------------------------------ +class UserProfile(BaseModel): + sex: str = Field(..., description="male or female") + age: int + height_cm: float + weight_kg: float + activity_level: str = Field(..., description="sedentary, light, moderate, active, very_active") + goal: str = Field(..., description="lose, maintain, gain") + dietary_pattern: Optional[str] = Field(None, description="e.g., vegetarian, vegan, halal, kosher") + allergies: List[str] = Field(default_factory=list) + dislikes: List[str] = Field(default_factory=list) + daily_meals: int = 3 + cuisine_prefs: List[str] = Field(default_factory=list) + time_per_meal_minutes: int = 30 + budget_level: Optional[str] = Field(None, description="low, medium, high") + +class MacroTargets(BaseModel): + tdee: int + target_kcal: int + protein_g: int + carbs_g: int + fat_g: int + +class Meal(BaseModel): + name: str + ingredients: List[Dict[str, Any]] # {item, qty, unit} + kcal: int + protein_g: int + carbs_g: int + fat_g: int + tags: List[str] = Field(default_factory=list) + instructions: Optional[str] = None + +class DayPlan(BaseModel): + day: str + meals: List[Meal] + totals: MacroTargets + +class WeekPlan(BaseModel): + days: List[DayPlan] + meta: Dict[str, Any] + +# ------------------------------ +# Tiny in-memory recipe ā€œDBā€ +# (extend/replace with a real source) +# ------------------------------ +RECIPE_DB: List[Meal] = [ + Meal( + name="Greek Yogurt Parfait", + ingredients=[{"item":"nonfat greek yogurt","qty":200,"unit":"g"}, + {"item":"berries","qty":150,"unit":"g"}, + {"item":"granola","qty":30,"unit":"g"}, + {"item":"honey","qty":10,"unit":"g"}], + kcal=380, protein_g=30, carbs_g=52, fat_g=8, + tags=["vegetarian","breakfast","5-min","no-cook"] + ), + Meal( + name="Tofu Veggie Stir-Fry with Rice", + ingredients=[{"item":"firm tofu","qty":150,"unit":"g"}, + {"item":"mixed vegetables","qty":200,"unit":"g"}, + {"item":"soy sauce (low sodium)","qty":15,"unit":"ml"}, + {"item":"olive oil","qty":10,"unit":"ml"}, + {"item":"brown rice (cooked)","qty":200,"unit":"g"}], + kcal=650, protein_g=28, carbs_g=85, fat_g=20, + tags=["vegan","gluten-free","dinner","20-min","stovetop","soy"] + ), + Meal( + name="Chicken Quinoa Bowl", + ingredients=[{"item":"chicken breast","qty":140,"unit":"g"}, + {"item":"quinoa (cooked)","qty":185,"unit":"g"}, + {"item":"spinach","qty":60,"unit":"g"}, + {"item":"olive oil","qty":10,"unit":"ml"}, + {"item":"lemon","qty":0.5,"unit":"unit"}], + kcal=620, protein_g=45, carbs_g=55, fat_g=20, + tags=["gluten-free","dinner","25-min","high-protein","poultry"] + ), + Meal( + name="Lentil Soup + Wholegrain Bread", + ingredients=[{"item":"lentils (cooked)","qty":200,"unit":"g"}, + {"item":"vegetable broth","qty":400,"unit":"ml"}, + {"item":"carrot","qty":80,"unit":"g"}, + {"item":"celery","qty":60,"unit":"g"}, + {"item":"onion","qty":60,"unit":"g"}, + {"item":"wholegrain bread","qty":60,"unit":"g"}], + kcal=520, protein_g=25, carbs_g=78, fat_g=8, + tags=["vegan","lunch","30-min","budget"] + ), + Meal( + name="Salmon, Potatoes & Greens", + ingredients=[{"item":"salmon fillet","qty":150,"unit":"g"}, + {"item":"potatoes","qty":200,"unit":"g"}, + {"item":"broccoli","qty":150,"unit":"g"}, + {"item":"olive oil","qty":10,"unit":"ml"}], + kcal=680, protein_g=42, carbs_g=52, fat_g=30, + tags=["gluten-free","dinner","omega-3","fish"] + ), + Meal( + name="Cottage Cheese Bowl", + ingredients=[{"item":"low-fat cottage cheese","qty":200,"unit":"g"}, + {"item":"pineapple","qty":150,"unit":"g"}, + {"item":"chia seeds","qty":15,"unit":"g"}], + kcal=380, protein_g=32, carbs_g=35, fat_g=10, + tags=["vegetarian","snack","5-min","high-protein","dairy"] + ), +] + +# ------------------------------ +# Tool implementations +# ------------------------------ +ACTIVITY_FACTORS = { + "sedentary": 1.2, + "light": 1.375, + "moderate": 1.55, + "active": 1.725, + "very_active": 1.9 +} + +def mifflin_st_jeor(weight_kg: float, height_cm: float, age: int, sex: str) -> float: + # BMR (kcal/day) + if sex.lower().startswith("m"): + return 10*weight_kg + 6.25*height_cm - 5*age + 5 + else: + return 10*weight_kg + 6.25*height_cm - 5*age - 161 + +def compute_targets(profile: UserProfile) -> MacroTargets: + bmr = mifflin_st_jeor(profile.weight_kg, profile.height_cm, profile.age, profile.sex) + tdee = int(round(bmr * ACTIVITY_FACTORS.get(profile.activity_level, 1.2))) + # goal adjustment + if profile.goal == "lose": + target_kcal = max(1200, int(tdee - 400)) # conservative deficit + elif profile.goal == "gain": + target_kcal = int(tdee + 300) + else: + target_kcal = tdee + + # Macro split (modifiable): P 30%, C 40%, F 30% + protein_kcal = target_kcal * 0.30 + carbs_kcal = target_kcal * 0.40 + fat_kcal = target_kcal * 0.30 + protein_g = int(round(protein_kcal / 4)) + carbs_g = int(round(carbs_kcal / 4)) + fat_g = int(round(fat_kcal / 9)) + + return MacroTargets(tdee=tdee, target_kcal=target_kcal, + protein_g=protein_g, carbs_g=carbs_g, fat_g=fat_g) + +def _allowed(meal: Meal, profile: UserProfile) -> bool: + # dietary patterns/allergies/dislikes filters (simple; extend as needed) + diet = (profile.dietary_pattern or "").lower() + if diet == "vegetarian" and ("fish" in meal.tags or "poultry" in meal.tags): + return False + if diet == "vegan" and ("dairy" in meal.tags or "fish" in meal.tags or "poultry" in meal.tags): + return False + # allergies & dislikes + for a in profile.allergies: + if a and a.lower() in meal.name.lower(): return False + if any(a.lower() in (ing["item"]).lower() for ing in meal.ingredients): return False + if a.lower() in " ".join(meal.tags).lower(): return False + for d in profile.dislikes: + if d and d.lower() in meal.name.lower(): return False + if any(d.lower() in (ing["item"]).lower() for ing in meal.ingredients): return False + return True + +def meal_db_search(profile: UserProfile, tags: Optional[List[str]] = None) -> List[Meal]: + tags = tags or [] + out = [] + for m in RECIPE_DB: + if not _allowed(m, profile): + continue + if tags and not any(t in m.tags for t in tags): + continue + out.append(m) + return out or [] # may be empty; agent should handle + +def compose_meal_plan(profile: UserProfile, targets: MacroTargets) -> WeekPlan: + # naive heuristic: pick meals that roughly match per-meal macro budget + per_meal_kcal = targets.target_kcal / profile.daily_meals + days = [] + weekdays = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"] + + # simple pools + breakfasts = meal_db_search(profile, tags=["breakfast","no-cook","5-min"]) + lunches = meal_db_search(profile, tags=["lunch","budget"]) + dinners = meal_db_search(profile, tags=["dinner","high-protein"]) + + # fallback to any allowed meals if pools too small + allowed_all = meal_db_search(profile) + if len(breakfasts) < 2: breakfasts = allowed_all + if len(lunches) < 2: lunches = allowed_all + if len(dinners) < 2: dinners = allowed_all + + for i, day in enumerate(weekdays): + day_meals = [] + for slot in range(profile.daily_meals): + pool = breakfasts if slot == 0 else (lunches if slot == 1 else dinners) + # pick the meal closest in kcal to per_meal_kcal + pick = min(pool, key=lambda m: abs(m.kcal - per_meal_kcal)) + day_meals.append(copy.deepcopy(pick)) + # compute totals + kcal = sum(m.kcal for m in day_meals) + p = sum(m.protein_g for m in day_meals) + c = sum(m.carbs_g for m in day_meals) + f = sum(m.fat_g for m in day_meals) + day_targets = MacroTargets(tdee=targets.tdee, target_kcal=int(round(kcal)), + protein_g=p, carbs_g=c, fat_g=f) + days.append(DayPlan(day=day, meals=day_meals, totals=day_targets)) + return WeekPlan(days=days, meta={"per_meal_target_kcal": int(round(per_meal_kcal))}) + +def grocery_list_from_plan(plan: WeekPlan) -> List[Dict[str, Any]]: + # aggregate identical ingredients + agg: Dict[Tuple[str,str], float] = {} + units: Dict[Tuple[str,str], str] = {} + for d in plan.days: + for m in d.meals: + for ing in m.ingredients: + key = (ing["item"].lower(), ing.get("unit","")) + agg[key] = agg.get(key, 0) + float(ing.get("qty", 0)) + units[key] = ing.get("unit","") + items = [] + for (item, unit), qty in sorted(agg.items()): + items.append({"item": item, "qty": round(qty, 2), "unit": unit}) + return items + +def swap_meal(plan: WeekPlan, day: str, meal_index: int, profile: UserProfile) -> WeekPlan: + # replace one meal by closest-kcal allowed alternative that isn't the same + day_idx = next((i for i,d in enumerate(plan.days) if d.day.lower().startswith(day[:3].lower())), None) + if day_idx is None: return plan + current_meal = plan.days[day_idx].meals[meal_index] + candidates = [m for m in meal_db_search(profile) if m.name != current_meal.name] + if not candidates: return plan + pick = min(candidates, key=lambda m: abs(m.kcal - current_meal.kcal)) + plan.days[day_idx].meals[meal_index] = copy.deepcopy(pick) + # recalc day totals + d = plan.days[day_idx] + kcal = sum(m.kcal for m in d.meals) + p = sum(m.protein_g for m in d.meals) + c = sum(m.carbs_g for m in d.meals) + f = sum(m.fat_g for m in d.meals) + d.totals = MacroTargets(tdee=d.totals.tdee, target_kcal=kcal, protein_g=p, carbs_g=c, fat_g=f) + return plan + +# ------------------------------ +# Agent (LLM + tools) +# ------------------------------ +SYS_PROMPT = """You are FitnessPlanner, an agentic planner that: +- Respects dietary patterns, allergies, dislikes, budget, time limits. +- Uses tools to compute targets, assemble a 7-day plan, produce a grocery list, and swap meals on request. +- If a request is unsafe (extreme deficits, medical conditions), warn and suggest professional guidance. +- Keep responses concise and structured (headings + bullet lists).""" + +# Tool registry for function-calling +def get_tools_schema(): + return [ + { + "type": "function", + "function": { + "name": "calc_calories_and_macros", + "description": "Compute TDEE and macro targets from the user's profile.", + "parameters": { + "type":"object", + "properties": {"profile":{"type":"object"}}, + "required":["profile"] + } + } + }, + { + "type": "function", + "function": { + "name": "compose_meal_plan", + "description": "Create a 7-day meal plan matching targets and constraints.", + "parameters": { + "type":"object", + "properties": { + "profile":{"type":"object"}, + "targets":{"type":"object"} + }, + "required":["profile","targets"] + } + } + }, + { + "type": "function", + "function": { + "name": "grocery_list_from_plan", + "description": "Make a consolidated grocery list from a week plan.", + "parameters": { + "type":"object", + "properties": {"plan":{"type":"object"}}, + "required":["plan"] + } + } + }, + { + "type": "function", + "function": { + "name": "swap_meal", + "description": "Swap a single meal in the plan while keeping macros reasonable.", + "parameters": { + "type":"object", + "properties": { + "plan":{"type":"object"}, + "day":{"type":"string"}, + "meal_index":{"type":"integer","description":"0=breakfast,1=lunch,2=dinner"}, + "profile":{"type":"object"} + }, + "required":["plan","day","meal_index","profile"] + } + } + } + ] + +class FitnessPlannerAgent: + def __init__(self, model: Optional[str] = None): + self.client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) + self.model = model or os.getenv("OPENAI_MODEL", "gpt-4o-mini") + self.plan_cache: Optional[WeekPlan] = None + self.targets_cache: Optional[MacroTargets] = None + + # Tool dispatch + def _call_tool(self, name: str, args: Dict[str, Any]) -> str: + if name == "calc_calories_and_macros": + profile = UserProfile(**args["profile"]) + targets = compute_targets(profile) + self.targets_cache = targets + return targets.model_dump_json() + elif name == "compose_meal_plan": + profile = UserProfile(**args["profile"]) + targets = MacroTargets(**args["targets"]) + plan = compose_meal_plan(profile, targets) + self.plan_cache = plan + return plan.model_dump_json() + elif name == "grocery_list_from_plan": + plan = WeekPlan(**args["plan"]) + items = grocery_list_from_plan(plan) + return json.dumps(items) + elif name == "swap_meal": + plan = WeekPlan(**args["plan"]) + profile = UserProfile(**args["profile"]) + day = args["day"] + idx = args["meal_index"] + new_plan = swap_meal(plan, day, idx, profile) + self.plan_cache = new_plan + return new_plan.model_dump_json() + else: + return json.dumps({"error":"unknown tool"}) + + def chat(self, user_message: str, profile: Optional[UserProfile] = None) -> str: + messages = [{"role":"system","content":SYS_PROMPT}] + if profile: + messages.append({"role":"user","content":f"User profile: {profile.model_dump_json()}"} ) + messages.append({"role":"user","content":user_message}) + + # First call + resp = self.client.chat.completions.create( + model=self.model, + messages=messages, + tools=get_tools_schema(), + tool_choice="auto", + temperature=0.3 + ) + + # Handle tool calls (simple, single-step or brief multi-step) + messages_llm = messages + [{"role":"assistant","content":resp.choices[0].message.content or "", + "tool_calls":resp.choices[0].message.tool_calls}] + if resp.choices[0].message.tool_calls: + for tc in resp.choices[0].message.tool_calls: + name = tc.function.name + args = json.loads(tc.function.arguments or "{}") + out = self._call_tool(name, args) + messages_llm.append({ + "role":"tool", + "tool_call_id":tc.id, + "name":name, + "content":out + }) + + # Finalization + resp2 = self.client.chat.completions.create( + model=self.model, + messages=messages_llm, + temperature=0.2 + ) + return resp2.choices[0].message.content + + return resp.choices[0].message.content + +# ------------------------------ +# Quick CLI demo +# ------------------------------ +if __name__ == "__main__": + profile = UserProfile( + sex="female", age=45, height_cm=152, weight_kg=62, + activity_level="light", goal="maintain", + dietary_pattern="vegetarian", allergies=[], dislikes=[], + daily_meals=3, cuisine_prefs=["mediterranean"], time_per_meal_minutes=25, budget_level="medium" + ) + agent = FitnessPlannerAgent() + print(agent.chat("Create my 7-day plan and grocery list.", profile)) diff --git a/community-contributions/fitness-nutrition-planner-agent/app.py b/community-contributions/fitness-nutrition-planner-agent/app.py new file mode 100644 index 0000000..a1f1102 --- /dev/null +++ b/community-contributions/fitness-nutrition-planner-agent/app.py @@ -0,0 +1,75 @@ + +# app.py +import json +import streamlit as st +from agent import FitnessPlannerAgent, UserProfile, WeekPlan + +st.set_page_config(page_title="Fitness & Nutrition Planner Agent", layout="wide") + +st.title("šŸ‹ļø Fitness & Nutrition Planner Agent") + +with st.sidebar: + st.header("Your Profile") + sex = st.selectbox("Sex", ["female","male"]) + age = st.number_input("Age", 18, 90, 45) + height_cm = st.number_input("Height (cm)", 120, 220, 152) + weight_kg = st.number_input("Weight (kg)", 35.0, 200.0, 62.0) + activity_level = st.selectbox("Activity Level", ["sedentary","light","moderate","active","very_active"], index=1) + goal = st.selectbox("Goal", ["lose","maintain","gain"], index=1) + dietary_pattern = st.selectbox("Dietary Pattern", ["none","vegetarian","vegan","halal","kosher"], index=1) + if dietary_pattern == "none": dietary_pattern = None + allergies = st.text_input("Allergies (comma-separated)", "") + dislikes = st.text_input("Dislikes (comma-separated)", "") + daily_meals = st.slider("Meals per day", 2, 5, 3) + time_per_meal_minutes = st.slider("Time per meal (min)", 5, 90, 25) + budget_level = st.selectbox("Budget", ["medium","low","high"], index=0) + cuisine_prefs = st.text_input("Cuisine prefs (comma-separated)", "mediterranean") + + build_btn = st.button("Generate 7-Day Plan") + +agent = FitnessPlannerAgent() + +if build_btn: + profile = UserProfile( + sex=sex, age=int(age), height_cm=float(height_cm), weight_kg=float(weight_kg), + activity_level=activity_level, goal=goal, dietary_pattern=dietary_pattern, + allergies=[a.strip() for a in allergies.split(",") if a.strip()], + dislikes=[d.strip() for d in dislikes.split(",") if d.strip()], + daily_meals=int(daily_meals), cuisine_prefs=[c.strip() for c in cuisine_prefs.split(",") if c.strip()], + time_per_meal_minutes=int(time_per_meal_minutes), budget_level=budget_level + ) + st.session_state["profile_json"] = profile.model_dump_json() + with st.spinner("Planning your week..."): + result = agent.chat("Create my 7-day plan and grocery list.", profile) + st.session_state["last_response"] = result + +if "last_response" in st.session_state: + st.subheader("Plan & Groceries") + st.markdown(st.session_state["last_response"]) + +st.divider() +st.subheader("Tweaks") +col1, col2, col3 = st.columns(3) +with col1: + day = st.selectbox("Day to change", ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) +with col2: + meal_index = st.selectbox("Meal slot", ["Breakfast (0)","Lunch (1)","Dinner (2)"]) + meal_index = int(meal_index[-2]) # 0/1/2 +with col3: + swap_btn = st.button("Swap Meal") + +if swap_btn and agent.plan_cache: + profile_json = st.session_state.get("profile_json") + if not profile_json: + st.warning("Please generate a plan first.") + else: + new_plan_json = agent._call_tool("swap_meal", { + "plan": agent.plan_cache.model_dump(), + "day": day, + "meal_index": meal_index, + "profile": json.loads(profile_json) + }) + agent.plan_cache = WeekPlan(**json.loads(new_plan_json)) + summary = agent.chat(f"Update summary for {day}: show the swapped meal and new day totals.") + st.session_state["last_response"] = summary + st.markdown(summary) diff --git a/community-contributions/fitness-nutrition-planner-agent/demo_output.md b/community-contributions/fitness-nutrition-planner-agent/demo_output.md new file mode 100644 index 0000000..841fb1e --- /dev/null +++ b/community-contributions/fitness-nutrition-planner-agent/demo_output.md @@ -0,0 +1,84 @@ + +# Demo Output (Sample Profile) + +**Profile**: female, 45, 152 cm, 62 kg, activity: light, goal: maintain, diet: vegetarian + +## Targets +- TDEE ā‰ˆ **1680 kcal/day** +- Macros (30/40/30): **Protein 126 g**, **Carbs 168 g**, **Fat 56 g** + +> These are estimates using Mifflin–St Jeor and a light activity factor. Not medical advice. + +--- + +## Example 7-Day Plan (Breakfast / Lunch / Dinner) + +**Mon** +- Greek Yogurt Parfait (380 kcal, 30P/52C/8F) +- Lentil Soup + Wholegrain Bread (520 kcal, 25P/78C/8F) +- Tofu Veggie Stir-Fry with Rice (650 kcal, 28P/85C/20F) +- **Totals** ā‰ˆ 1550 kcal, 83P, 215C, 36F + +**Tue** +- Cottage Cheese Bowl (380 kcal, 32P/35C/10F) +- Lentil Soup + Wholegrain Bread (520 kcal, 25P/78C/8F) +- Tofu Veggie Stir-Fry with Rice (650 kcal, 28P/85C/20F) +- **Totals** ā‰ˆ 1550 kcal, 85P, 198C, 38F + +**Wed** +- Greek Yogurt Parfait +- Lentil Soup + Wholegrain Bread +- Tofu Veggie Stir-Fry with Rice +- **Totals** ā‰ˆ 1550 kcal + +**Thu** +- Cottage Cheese Bowl +- Lentil Soup + Wholegrain Bread +- Tofu Veggie Stir-Fry with Rice +- **Totals** ā‰ˆ 1550 kcal + +**Fri** +- Greek Yogurt Parfait +- Lentil Soup + Wholegrain Bread +- Tofu Veggie Stir-Fry with Rice +- **Totals** ā‰ˆ 1550 kcal + +**Sat** +- Cottage Cheese Bowl +- Lentil Soup + Wholegrain Bread +- Tofu Veggie Stir-Fry with Rice +- **Totals** ā‰ˆ 1550 kcal + +**Sun** +- Greek Yogurt Parfait +- Lentil Soup + Wholegrain Bread +- Tofu Veggie Stir-Fry with Rice +- **Totals** ā‰ˆ 1550 kcal + +> Notes: The demo DB is intentionally small. In practice, plug in a larger vegetarian recipe set for more variety. Add snacks if you'd like to reach ~1680 kcal/day. + +--- + +## Grocery List (aggregated, approx for 7 days) + +- nonfat greek yogurt — **1400 g** +- berries — **1050 g** +- granola — **210 g** +- honey — **70 g** +- lentils (cooked) — **1400 g** +- vegetable broth — **2800 ml** +- carrot — **560 g** +- celery — **420 g** +- onion — **420 g** +- wholegrain bread — **420 g** +- firm tofu — **1050 g** +- mixed vegetables — **1400 g** +- soy sauce (low sodium) — **105 ml** +- olive oil — **140 ml** +- brown rice (cooked) — **1400 g** +- low-fat cottage cheese — **600 g** +- pineapple — **450 g** +- chia seeds — **45 g** + +**Tip:** Use the app’s *Swap Meal* to replace any item (e.g., swap Wed dinner). + diff --git a/community-contributions/fitness-nutrition-planner-agent/sample_profile.json b/community-contributions/fitness-nutrition-planner-agent/sample_profile.json new file mode 100644 index 0000000..0f54a9d --- /dev/null +++ b/community-contributions/fitness-nutrition-planner-agent/sample_profile.json @@ -0,0 +1,17 @@ +{ + "sex": "female", + "age": 45, + "height_cm": 152, + "weight_kg": 62, + "activity_level": "light", + "goal": "maintain", + "dietary_pattern": "vegetarian", + "allergies": [], + "dislikes": [], + "daily_meals": 3, + "cuisine_prefs": [ + "mediterranean" + ], + "time_per_meal_minutes": 25, + "budget_level": "medium" +} \ No newline at end of file From 14cf30bf8da874677bc4769bafbb61f9571a7418 Mon Sep 17 00:00:00 2001 From: bilalahmedgb <71471035+bilalahmedgb@users.noreply.github.com> Date: Wed, 20 Aug 2025 17:37:39 -0500 Subject: [PATCH 111/176] Create RAG_Using_Gemini Creating a RAG using Google Gemini --- week5/community-contributions/RAG_Using_Gemini | 1 + 1 file changed, 1 insertion(+) create mode 100644 week5/community-contributions/RAG_Using_Gemini diff --git a/week5/community-contributions/RAG_Using_Gemini b/week5/community-contributions/RAG_Using_Gemini new file mode 100644 index 0000000..73709ba --- /dev/null +++ b/week5/community-contributions/RAG_Using_Gemini @@ -0,0 +1 @@ +Testing From 5623d781391aa90c21980d6d919406a7524af296 Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Thu, 21 Aug 2025 10:39:56 -0400 Subject: [PATCH 112/176] Add week2 exercise to community-contributions --- ...cal-question-answerer-with-gradio-v3.ipynb | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 week2/community-contributions/technical-question-answerer-with-gradio-v3.ipynb diff --git a/week2/community-contributions/technical-question-answerer-with-gradio-v3.ipynb b/week2/community-contributions/technical-question-answerer-with-gradio-v3.ipynb new file mode 100644 index 0000000..f6b4146 --- /dev/null +++ b/week2/community-contributions/technical-question-answerer-with-gradio-v3.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2b57204f-3e19-4d11-8901-c0e153ad9992", + "metadata": {}, + "source": [ + "## Technical Question Answerer With Gradio\n", + "- Ask a technical question to a chatbot embued with multimodal capabilities.\n", + "- Choose between different models (e.g. OpenAI's GPT, Anthropic's Claude)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd8e9bef-87ab-46d6-9393-bb308d7e5bc4", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import google.generativeai\n", + "import anthropic\n", + "\n", + "import gradio as gr\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from IPython.display import Audio, display\n", + "\n", + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")\n", + "\n", + "# Connect to OpenAI, Anthropic and Google; comment out the Claude or Google lines if you're not using them\n", + "openai = OpenAI()\n", + "claude = anthropic.Anthropic()\n", + "# google.generativeai.configure()\n", + "\n", + "system_message = \"You are a helpful assistant that explains technical contents and responds in markdown\"\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=message)\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " output_filename = \"output_audio.mp3\"\n", + " with open(output_filename, \"wb\") as f:\n", + " f.write(audio_stream.read())\n", + "\n", + " display(Audio(output_filename, autoplay=True))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20486a61-5d59-4370-b92c-3b7fec63835c", + "metadata": {}, + "outputs": [], + "source": [ + "# --- Chat functions ---\n", + "def chat_gpt(history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=messages\n", + " )\n", + " reply = response.choices[0].message.content\n", + " history = history + [{\"role\": \"assistant\", \"content\": reply}]\n", + " talker(reply) # make it talk\n", + " return history\n", + "\n", + "\n", + "claude_via_openai_client = OpenAI(\n", + " api_key=anthropic_api_key, \n", + " base_url=\"https://api.anthropic.com/v1\"\n", + ")\n", + "\n", + "def chat_claude(history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = claude_via_openai_client.chat.completions.create(\n", + " model=\"claude-3-haiku-20240307\",\n", + " messages=messages\n", + " )\n", + " reply = response.choices[0].message.content\n", + " history = history + [{\"role\": \"assistant\", \"content\": reply}]\n", + " talker(reply) # make it talk\n", + " return history\n", + "\n", + "\n", + "# --- Gradio UI ---\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " with gr.Row():\n", + " the_model = gr.Dropdown([\"GPT\", \"Claude\"], label=\"Select model\", value=\"GPT\")\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def do_entry(message, history, model):\n", + " # add user turn\n", + " history = history + [{\"role\": \"user\", \"content\": message}]\n", + " # call selected model\n", + " if model == \"GPT\":\n", + " history = chat_gpt(history)\n", + " elif model == \"Claude\":\n", + " history = chat_claude(history)\n", + " return \"\", history\n", + "\n", + " entry.submit(\n", + " fn=do_entry,\n", + " inputs=[entry, chatbot, the_model],\n", + " outputs=[entry, chatbot] # only 2 outputs\n", + " )\n", + "\n", + " clear.click(lambda: [], None, chatbot, queue=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13974664-2965-46b9-9c56-714c70d3f835", + "metadata": {}, + "outputs": [], + "source": [ + "ui.launch(inbrowser=True)\n", + "\n", + "# prompt = \"\"\"\n", + "# Please explain what this code does and why:\n", + "# yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "# \"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c4b0e04e67420523dbf1f11902e6939f761c94a8 Mon Sep 17 00:00:00 2001 From: Elijah Rwothoromo Date: Thu, 21 Aug 2025 20:59:03 +0300 Subject: [PATCH 113/176] Week 3 assignment and task --- .../rwothoromo/week3day5assignment.ipynb | 249 ++++++++++++++++++ .../rwothoromo/week3day5task.ipynb | 226 ++++++++++++++++ 2 files changed, 475 insertions(+) create mode 100644 week3/community-contributions/rwothoromo/week3day5assignment.ipynb create mode 100644 week3/community-contributions/rwothoromo/week3day5task.ipynb diff --git a/week3/community-contributions/rwothoromo/week3day5assignment.ipynb b/week3/community-contributions/rwothoromo/week3day5assignment.ipynb new file mode 100644 index 0000000..a42e611 --- /dev/null +++ b/week3/community-contributions/rwothoromo/week3day5assignment.ipynb @@ -0,0 +1,249 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "18b82c6b-10dc-4d94-b8dc-592ff011ce2b", + "metadata": {}, + "source": [ + "# Meeting minutes creator\n", + "\n", + "In this colab, we make a meeting minutes program.\n", + "\n", + "It includes useful code to connect your Google Drive to your colab.\n", + "\n", + "Upload your own audio to make this work!!\n", + "\n", + "https://colab.research.google.com/drive/13wR4Blz3Ot_x0GOpflmvvFffm5XU3Kct?usp=sharing\n", + "\n", + "This should run nicely on a low-cost or free T4 box.\n", + "\n", + "## **Assignment:**\n", + "Put Everything into a nice Gradio UI (similar to last week)\n", + "Input file name of audio to process.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9289ba7-200c-43a9-b67a-c5ce826c9537", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import re, requests, json, tempfile, gradio as gr, torch, os\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from google.colab import drive, userdata\n", + "from huggingface_hub import login\n", + "from openai import OpenAI\n", + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "from io import BytesIO\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer, BitsAndBytesConfig\n", + "\n", + "# Sign in to HuggingFace Hub\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)\n", + "\n", + "# Sign in to OpenAI using Secrets in Colab\n", + "openai_api_key = userdata.get('OPENAI_API_KEY')\n", + "\n", + "# Initialize client\n", + "try:\n", + " openai = OpenAI(api_key=openai_api_key)\n", + "except Exception as e:\n", + " openai = None\n", + " print(f\"OpenAI client not initialized: {e}\")\n", + "\n", + "# Constants\n", + "AUDIO_MODEL = \"whisper-1\"\n", + "LLAMA = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"\n", + "\n", + "# Google Drive\n", + "drive.mount(\"/content/drive\")\n", + "\n", + "# Local LLM setup (Llama 3.1)\n", + "try:\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + " )\n", + " tokenizer = AutoTokenizer.from_pretrained(LLAMA)\n", + "\n", + " # Set the pad token to the end-of-sequence token for generation\n", + " tokenizer.pad_token = tokenizer.eos_token\n", + "\n", + " model = AutoModelForCausalLM.from_pretrained(LLAMA, device_map=\"auto\", quantization_config=quant_config)\n", + " # model = AutoModelForCausalLM.from_pretrained(LLAMA, device_map=\"auto\", torch_dtype=torch.bfloat16, quantization_config=quant_config, trust_remote_code=True)\n", + "\n", + " model.eval() # Set model to evaluation mode\n", + "except Exception as e:\n", + " # If the local model fails to load, set variables to None\n", + " model = None\n", + " tokenizer = None\n", + " print(f\"Failed to load local model: {e}\")\n", + "\n", + "# Updated function to handle audio transcription\n", + "def transcribe_audio(audio_file):\n", + " \"\"\"\n", + " Transcribes an audio file to text using OpenAI's Whisper model.\n", + " Handles both local file paths and mounted Google Drive file paths.\n", + " \"\"\"\n", + " if not openai:\n", + " return \"OpenAI client not initialized. Please check your API key.\"\n", + "\n", + " if audio_file is None:\n", + " return \"No audio input provided.\"\n", + "\n", + " # Check if the file exists before attempting to open it\n", + " # Construct the expected path in Google Drive\n", + " # If the input is from the microphone, it will be a temporary file path\n", + " # If the input is from the textbox, it could be a full path or just a filename\n", + " if audio_file.startswith(\"/content/drive/MyDrive/llms/\"):\n", + " file_path_to_open = audio_file\n", + " else:\n", + " # Assume it's either a local path or just a filename in MyDrive/llms\n", + " # We'll prioritize checking MyDrive/llms first\n", + " gdrive_path_attempt = os.path.join(\"/content/drive/MyDrive/llms\", os.path.basename(audio_file))\n", + " if os.path.exists(gdrive_path_attempt):\n", + " file_path_to_open = gdrive_path_attempt\n", + " elif os.path.exists(audio_file):\n", + " file_path_to_open = audio_file\n", + " else:\n", + " return f\"File not found: {audio_file}. Please ensure the file exists in your Google Drive at /content/drive/MyDrive/llms/ or is a valid local path.\"\n", + "\n", + "\n", + " if not os.path.exists(file_path_to_open):\n", + " return f\"File not found: {file_path_to_open}. Please ensure the file exists.\"\n", + "\n", + "\n", + " try:\n", + " with open(file_path_to_open, \"rb\") as f:\n", + " transcription = openai.audio.transcriptions.create(\n", + " model=AUDIO_MODEL,\n", + " file=f,\n", + " response_format=\"text\"\n", + " )\n", + " return transcription\n", + " except Exception as e:\n", + " return f\"An error occurred during transcription: {e}\"\n", + "\n", + "def generate_minutes(transcription):\n", + " \"\"\"\n", + " Generates meeting minutes from a transcript using a local Llama model.\n", + " Format the input, generate a response, and return the complete text string.\n", + " \"\"\"\n", + " # Check if the local model and tokenizer were successfully loaded\n", + " if not model or not tokenizer:\n", + " return \"Local Llama model not loaded. Check model paths and hardware compatibility.\"\n", + "\n", + " system_message = \"You are an assistant that produces minutes of meetings from transcripts, with summary, key discussion points, takeaways and action items with owners, in markdown.\"\n", + " user_prompt = f\"Below is an extract transcript of an Audio recording. Please write minutes in markdown, including a summary with attendees, location and date; discussion points; takeaways; and action items with owners.\\n{transcription}\"\n", + "\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + "\n", + " try:\n", + " # Apply the chat template to format the messages for the model\n", + " inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + "\n", + " # Generate the output. max_new_tokens controls the length of the generated text.\n", + " outputs = model.generate(inputs, max_new_tokens=2000)\n", + "\n", + " # Decode only the new tokens generated by the model (not the input tokens) to a human-readable string\n", + " response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)\n", + "\n", + " # The model's response will contain the full conversation.\n", + " # Extract only the assistant's part!\n", + " assistant_start = \"<|eot_id|><|start_header_id|>assistant<|end_header_id|>\\n\\n\"\n", + " if assistant_start in response_text:\n", + " response_text = response_text.split(assistant_start)[-1]\n", + "\n", + " return response_text\n", + "\n", + " except Exception as e:\n", + " return f\"An error occurred during local model generation: {e}\"\n", + "\n", + "# Gradio UI components\n", + "with gr.Blocks() as ui:\n", + " gr.Markdown(\"# Meeting Minutes Generator\")\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, label=\"AI Assistant\")\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Provide the filename or path of the audio file to transcribe:\", scale=4)\n", + " submit_btn = gr.Button(\"Generate Minutes\", scale=1)\n", + " with gr.Row():\n", + " audio_input = gr.Audio(sources=[\"microphone\"], type=\"filepath\", label=\"Or speak to our AI Assistant to transcribe\", scale=4)\n", + " submit_audio_btn = gr.Button(\"Transcribe Audio\", scale=1)\n", + "\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def process_file_and_generate(file_path, history):\n", + " transcribed_text = transcribe_audio(file_path)\n", + " minutes = generate_minutes(transcribed_text)\n", + " new_history = history + [[f\"Transcription of '{os.path.basename(file_path)}':\\n{transcribed_text}\", minutes]]\n", + " return new_history\n", + "\n", + " def process_audio_and_generate(audio_file, history):\n", + " transcribed_text = transcribe_audio(audio_file)\n", + " minutes = generate_minutes(transcribed_text)\n", + " new_history = history + [[f\"Transcription of your recording:\\n{transcribed_text}\", minutes]]\n", + " return new_history\n", + "\n", + "\n", + " submit_btn.click(\n", + " process_file_and_generate,\n", + " inputs=[entry, chatbot],\n", + " outputs=[chatbot],\n", + " queue=False\n", + " )\n", + "\n", + " submit_audio_btn.click(\n", + " process_audio_and_generate,\n", + " inputs=[audio_input, chatbot],\n", + " outputs=[chatbot],\n", + " queue=False\n", + " )\n", + "\n", + " clear.click(lambda: None, inputs=None, outputs=[chatbot], queue=False)\n", + "\n", + "ui.launch(inbrowser=True, debug=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd2020d3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week3/community-contributions/rwothoromo/week3day5task.ipynb b/week3/community-contributions/rwothoromo/week3day5task.ipynb new file mode 100644 index 0000000..7da7365 --- /dev/null +++ b/week3/community-contributions/rwothoromo/week3day5task.ipynb @@ -0,0 +1,226 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "18b82c6b-10dc-4d94-b8dc-592ff011ce2b", + "metadata": {}, + "source": [ + "# Meeting minutes creator\n", + "\n", + "https://colab.research.google.com/drive/13wR4Blz3Ot_x0GOpflmvvFffm5XU3Kct?usp=sharing\n", + "\n", + "## **Week 3 task.**\n", + "Create your own tool that generates synthetic data/test data. Input the type of dataset or products or job postings, etc. and let the tool dream up various data samples.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9289ba7-200c-43a9-b67a-c5ce826c9537", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import gradio as gr, requests, json, time, os, torch\n", + "from transformers import pipeline, set_seed\n", + "from functools import partial\n", + "from openai import OpenAI, APIError, AuthenticationError\n", + "from google.colab import drive, userdata\n", + "from huggingface_hub import login\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig\n", + "\n", + "# Sample user_prompt = \"a list of student profiles with full name, email, course studied, and GPA for each of 6 semesters, and a CGPA for the 6 semesters\"\n", + "\n", + "# Sign in to HuggingFace Hub\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)\n", + "\n", + "# Sign in to OpenAI using Secrets in Colab\n", + "openai_api_key = userdata.get('OPENAI_API_KEY')\n", + "\n", + "# Initialize client\n", + "try:\n", + " openai = OpenAI(api_key=openai_api_key)\n", + "except Exception as e:\n", + " openai = None\n", + " print(f\"OpenAI client not initialized: {e}\")\n", + "\n", + "# Constants\n", + "GPT_MODEL = \"gpt-3.5-turbo\"\n", + "\n", + "# Local Llama Model Setup\n", + "# Loads a Llama model from Hugging Face for local inference.\n", + "# Note: This requires a powerful GPU and specific library installations (e.g., bitsandbytes, accelerate).\n", + "LLAMA_MODEL = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"\n", + "\n", + "try:\n", + " # Set up quantization config for efficient memory usage.\n", + " # This loads the model in 4-bit precision, significantly reducing VRAM requirements.\n", + " quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + " )\n", + "\n", + " # Load the tokenizer and model.\n", + " tokenizer = AutoTokenizer.from_pretrained(LLAMA_MODEL)\n", + " model = AutoModelForCausalLM.from_pretrained(\n", + " LLAMA_MODEL, \n", + " device_map=\"auto\", \n", + " quantization_config=quant_config,\n", + " trust_remote_code=True\n", + " )\n", + " \n", + " # Set the model to evaluation mode for inference.\n", + " model.eval()\n", + "\n", + "except Exception as e:\n", + " model = None\n", + " tokenizer = None\n", + " print(f\"Failed to load local Llama model: {e}\")\n", + "\n", + "\n", + "def generate_with_llama(user_prompt: str, num_samples: int = 5):\n", + " \"\"\"\n", + " Generates synthetic data using a local Llama model.\n", + " Return a JSON string.\n", + " \"\"\"\n", + " if not model or not tokenizer:\n", + " return json.dumps({\"error\": \"Llama model not loaded. Check model paths and hardware compatibility.\"}, indent=2)\n", + "\n", + " # Llama 3.1 uses a specific chat template for conversation formatting.\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": f\"You are a data generation assistant. Generate a JSON array of exactly {num_samples} objects based on the user's request. The output must be valid JSON only, without any other text or formatting.\"},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + "\n", + " try:\n", + " inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + "\n", + " outputs = model.generate(inputs, max_new_tokens=2000, do_sample=True, top_p=0.9, temperature=0.7)\n", + "\n", + " # Decode the generated tokens.\n", + " response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)\n", + "\n", + " # Extract only the assistant's part from the complete chat history.\n", + " assistant_start = \"<|eot_id|><|start_header_id|>assistant<|end_header_id|>\\n\\n\"\n", + " if assistant_start in response_text:\n", + " response_text = response_text.split(assistant_start)[-1]\n", + " \n", + " # Parse the JSON and return it.\n", + " parsed_json = json.loads(response_text)\n", + " return json.dumps(parsed_json, indent=2)\n", + "\n", + " except Exception as e:\n", + " return json.dumps({\"error\": f\"An error occurred during local model generation: {e}\"}, indent=2)\n", + "\n", + "\n", + "\n", + "def generate_with_gpt(user_prompt: str, num_samples: int = 5):\n", + " \"\"\"\n", + " Generates synthetic data using OpenAI's GPT.\n", + " Return a JSON string.\n", + " \"\"\"\n", + " if not openai:\n", + " return json.dumps({\"error\": \"OpenAI client not initialized. Please check your API key.\"}, indent=2)\n", + "\n", + " try:\n", + " response = openai.chat.completions.create(\n", + " model=GPT_MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": f\"You are a data generation assistant. Generate a JSON array of exactly {num_samples} objects based on the user's request. The output must be valid JSON only, without any other text or formatting.\"},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " \n", + " json_text = response.choices[0].message.content\n", + " return json_text\n", + " except APIError as e:\n", + " return json.dumps({\"error\": f\"Error from OpenAI API: {e.body}\"}, indent=2)\n", + " except Exception as e:\n", + " return json.dumps({\"error\": f\"An unexpected error occurred: {e}\"}, indent=2)\n", + "\n", + "\n", + "def generate_data(user_prompt, model_choice):\n", + " \"\"\"\n", + " Wrapper function that calls the appropriate generation function based on model choice.\n", + " \"\"\"\n", + " if not user_prompt:\n", + " return json.dumps({\"error\": \"Please provide a description for the data.\"}, indent=2)\n", + "\n", + " if model_choice == f\"Hugging Face ({LLAMA_MODEL})\":\n", + " return generate_with_llama(user_prompt)\n", + " elif model_choice == f\"OpenAI ({GPT_MODEL})\":\n", + " return generate_with_gpt(user_prompt)\n", + " else:\n", + " return json.dumps({\"error\": \"Invalid model choice.\"}, indent=2)\n", + "\n", + "# Gradio UI\n", + "with gr.Blocks(theme=gr.themes.Soft(), title=\"Synthetic Data Generator\") as ui:\n", + " gr.Markdown(\"# Synthetic Data Generator\")\n", + " gr.Markdown(\"Describe the type of data you need, select a model, and click 'Generate'.\")\n", + "\n", + " with gr.Row():\n", + " with gr.Column(scale=3):\n", + " data_prompt = gr.Textbox(\n", + " lines=5,\n", + " label=\"Data Prompt\",\n", + " placeholder=\"e.g., a list of customer profiles with name, email, and a favorite product\"\n", + " )\n", + " \n", + " with gr.Column(scale=1):\n", + " model_choice = gr.Radio(\n", + " [f\"Hugging Face ({LLAMA_MODEL})\", f\"OpenAI ({GPT_MODEL})\"],\n", + " label=\"Choose a Model\",\n", + " value=f\"Hugging Face ({LLAMA_MODEL})\"\n", + " )\n", + " \n", + " generate_btn = gr.Button(\"Generate Data\")\n", + " \n", + " with gr.Row():\n", + " output_json = gr.JSON(label=\"Generated Data\")\n", + " \n", + " # Click trigger\n", + " generate_btn.click(\n", + " fn=generate_data,\n", + " inputs=[data_prompt, model_choice],\n", + " outputs=output_json\n", + " )\n", + "\n", + "ui.launch(inbrowser=True, debug=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd2020d3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From ea4957e85d2a960a204a9933e2e7adebee27ea7c Mon Sep 17 00:00:00 2001 From: Ajay Singh Date: Fri, 22 Aug 2025 10:43:15 -0700 Subject: [PATCH 114/176] Removing the output from my testdata --- .../day-1-bank-account-summarization.ipynb | 270 ++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 week1/community-contributions/day-1-bank-account-summarization.ipynb diff --git a/week1/community-contributions/day-1-bank-account-summarization.ipynb b/week1/community-contributions/day-1-bank-account-summarization.ipynb new file mode 100644 index 0000000..bae0cfe --- /dev/null +++ b/week1/community-contributions/day-1-bank-account-summarization.ipynb @@ -0,0 +1,270 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "f60dab2a-a377-4761-8be3-69a3b8124ca6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pdfplumber\n", + "import re\n", + "import json\n", + "\n", + "def parse_transaction_line(line):\n", + " # More specific pattern that captures each component'\n", + " pattern = r'^(\\d{2}/\\d{2})\\s+(.+?)\\s+(-?[\\d,]+\\.\\d{2})\\s+(-?[\\d,]+\\.\\d{2})$'\n", + " match = re.match(pattern, line.strip())\n", + " \n", + " if match:\n", + " date, description, amount, balance = match.groups()\n", + " return {\n", + " 'date': date,\n", + " 'description': description.strip(),\n", + " 'amount': amount,\n", + " 'balance': balance\n", + " }\n", + " return None\n", + "\n", + "def parse_Credit_Card_transaction_line(line):\n", + " # More specific pattern that captures each component'\n", + " pattern = r'^(\\d{2}/\\d{2})\\s+(.+?)\\s+(-?[\\d,]+\\.\\d{2})$'\n", + " match = re.match(pattern, line.strip())\n", + " \n", + " if match:\n", + " date, description, amount = match.groups()\n", + " return {\n", + " 'date': date,\n", + " 'description': description.strip(),\n", + " 'amount': amount\n", + " }\n", + " return None\n", + "\n", + "# \n", + "def extract_transactions_CA_from_pdf(pdf_path):\n", + " transactions = []\n", + " \n", + " with pdfplumber.open(pdf_path) as pdf:\n", + " for page in pdf.pages:\n", + " text = page.extract_text()\n", + " for line in text.split(\"\\n\"):\n", + " parsed = parse_transaction_line(line)\n", + " if parsed:\n", + " transactions.append(parsed)\n", + " return transactions\n", + "\n", + "def extract_transactions_CreditCard_from_pdf(pdf_path):\n", + " transactions = []\n", + " \n", + " with pdfplumber.open(pdf_path) as pdf:\n", + " for page in pdf.pages:\n", + " text = page.extract_text()\n", + " for line in text.split(\"\\n\"):\n", + " parsed = parse_Credit_Card_transaction_line(line)\n", + " if parsed:\n", + " transactions.append(parsed)\n", + " return transactions\n", + "# print(transactions, len(transactions)) # check first 10 extracted lines\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82c34eac-fc30-41d6-8325-77efc48d0dd8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import os\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "769ee512-75f5-480a-9407-f9c4cd46b679", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "# ---------- STEP 3: Build prompts ----------\n", + "\n", + "def build_prompts(transactions):\n", + " system_prompt = \"\"\"\n", + "You are a personal financial assistant.\n", + "Your job is to analyze bank transactions, categorize each expense into categories such as:\n", + "Food, Clothing, Rent, Utilities, Entertainment, Travel, Health, Miscellaneous, and Others.\n", + "\n", + "Your responsibilities:\n", + "\n", + "Categorize all transactions and compute total spending per category.\n", + "\n", + "Identify the top 5 categories by total spending.\n", + "\n", + "Detect high-frequency purchases, even if individual amounts are small (e.g., $4 coffee bought 40 times).\n", + "\n", + "For these, group transactions by merchant/description and count frequency.\n", + "\n", + "Highlight the top 5 frequent purchases, with both frequency and total spend.\n", + "\n", + "Provide a practical summary of spending habits, covering both biggest expenses and frequent small purchases.\n", + "\n", + "Suggest 2–3 actionable recommendations to reduce spending, targeting both:\n", + "\n", + "Big categories (e.g., Rent, Travel, Entertainment).\n", + "\n", + "Small but frequent ā€œhabit expensesā€ (e.g., coffee, fast food, subscriptions).\n", + "\n", + "The output should be a valid JSON object with this structure:\n", + "{\n", + " \"summary\": {\n", + " \"Food\": ,\n", + " \"Clothing\": ,\n", + " \"Rent\": ,\n", + " \"Utilities\": ,\n", + " \"Entertainment\": ,\n", + " \"Travel\": ,\n", + " \"Health\": ,\n", + " \"Miscellaneous\": ,\n", + " \"Others\": \n", + " },\n", + " \"total_expenses\": ,\n", + " \"top_5_categories\": [ {\"category\": , \"amount\": } ],\n", + " \"top_5_frequent_purchases\": [ {\"item\": , \"count\": , \"total\": } ],\n", + " \"insights\": \"\",\n", + " \"recommendations\": [ \"\", \"\", \"\" ]\n", + "}\n", + "\n", + "\"\"\"\n", + "\n", + " user_prompt = \"Here are my bank account transactions for the past few months:\\n\\n\"\n", + " for txn in transactions:\n", + " user_prompt += f\"- Date: {txn['date']}, Description: {txn['description']}, Amount: {txn['amount']}\\n\"\n", + "\n", + " user_prompt += \"\"\"\n", + "Please analyze these transactions according to the instructions in the system prompt.\n", + "\"\"\"\n", + "\n", + " return system_prompt, user_prompt\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "307ca02b-2df6-4996-85e7-d073f74592f5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# ---------- STEP 4: Call OpenAI ----------\n", + "def analyze_transactions(pdf_path):\n", + " transactions = extract_transactions_CreditCard_from_pdf(pdf_path)\n", + " system_prompt, user_prompt = build_prompts(transactions)\n", + "\n", + " client = OpenAI() # assumes OPENAI_API_KEY is set in env\n", + "\n", + " response = client.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " response_format={\"type\": \"json_object\"} # ensures valid JSON\n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)\n", + "\n", + "# ---------- MAIN ----------\n", + "if __name__ == \"__main__\":\n", + " cc_pdf_file = \"cc_statement.pdf\"\n", + " # To Debug in case of failures\n", + " # transactions = extract_transactions_from_pdf(pdf_file)\n", + " # print(cc_transactions,len(cc_transactions))\n", + " # system_prompt, user_prompt = build_prompts(cc_transactions)\n", + " # print(system_prompt, user_prompt)\n", + "\n", + " # Analyse the function to create a smart alert\n", + " cc_transactions = extract_transactions_CreditCard_from_pdf(cc_pdf_file)\n", + " analysis = analyze_transactions(cc_pdf_file)\n", + " print(\"=========================================\")\n", + " print(\"=== Top 5 Spending Habits & Insights ====\")\n", + " print(\"=========================================\")\n", + " print(json.dumps(analysis, indent=2))\n", + " print(\"=========================================\")\n", + " print(\"=========================================\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "831922f4-5efd-4cba-9975-54767b65f6d6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d7bb851f7fa70a66b664e015ce1f74e0e94e705b Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Fri, 22 Aug 2025 16:16:49 -0400 Subject: [PATCH 115/176] Add week3 exercise to community-contributions --- .../AI_Minute_Taker.ipynb | 186 ++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 week3/community-contributions/AI_Minute_Taker.ipynb diff --git a/week3/community-contributions/AI_Minute_Taker.ipynb b/week3/community-contributions/AI_Minute_Taker.ipynb new file mode 100644 index 0000000..d189aef --- /dev/null +++ b/week3/community-contributions/AI_Minute_Taker.ipynb @@ -0,0 +1,186 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU" + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Create meeting minutes from an Audio file\n", + "For this project, the UI allows you to either upload meeting minutes, or record something of your own!" + ], + "metadata": { + "id": "MYOLn_FzYAF4" + } + }, + { + "cell_type": "code", + "source": [ + "# --- Install deps ---\n", + "!pip install -q gradio torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "!pip install -q requests bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 openai" + ], + "metadata": { + "id": "M01YO75ITfXF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# --- Imports ---\n", + "import gradio as gr\n", + "import torch\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer, BitsAndBytesConfig\n", + "from openai import OpenAI\n", + "from huggingface_hub import login\n", + "from google.colab import userdata\n", + "from google.colab import drive\n", + "import os" + ], + "metadata": { + "id": "DGE8_oAwZJBo" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# --- Constants ---\n", + "AUDIO_MODEL = \"whisper-1\"\n", + "LLAMA = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"" + ], + "metadata": { + "id": "JPu-aNxDTmDi" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# --- Auth ---\n", + "# assumes Colab userdata or your own env vars\n", + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ], + "metadata": { + "id": "JfWUrEVJTmET" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "openai_api_key = userdata.get('OPENAI_API_KEY')\n", + "openai = OpenAI(api_key=openai_api_key)" + ], + "metadata": { + "id": "AiUtJ0mjTpVE" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# --- Model setup ---\n", + "quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + ")\n", + "\n", + "tokenizer = AutoTokenizer.from_pretrained(LLAMA)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "model = AutoModelForCausalLM.from_pretrained(\n", + " LLAMA, device_map=\"auto\", quantization_config=quant_config\n", + ")" + ], + "metadata": { + "id": "hMb4dggMW2s5" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "XTEW5qAwRN4Y" + }, + "outputs": [], + "source": [ + "# --- Processing function ---\n", + "def process_meeting(audio_file):\n", + " # Step 1: Transcribe\n", + " with open(audio_file, \"rb\") as f:\n", + " transcription = openai.audio.transcriptions.create(\n", + " model=AUDIO_MODEL, file=f, response_format=\"text\"\n", + " )\n", + "\n", + " # Step 2: Prepare prompt\n", + " system_message = (\n", + " \"You are an assistant that produces minutes of meetings from transcripts, \"\n", + " \"with summary, key discussion points, takeaways and action items with owners, \"\n", + " \"in markdown.\"\n", + " )\n", + " user_prompt = (\n", + " f\"Below is an extract transcript of a meeting. Please write minutes in markdown, \"\n", + " f\"including a summary with attendees, location and date; discussion points; \"\n", + " f\"takeaways; and action items with owners.\\n{transcription}\"\n", + " )\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + "\n", + " # Step 3: Run through LLaMA\n", + " inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + " streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)\n", + " outputs = model.generate(inputs, max_new_tokens=2000)\n", + "\n", + " response = tokenizer.decode(outputs[0], skip_special_tokens=True)\n", + " return response\n", + "\n", + "# --- Gradio UI ---\n", + "with gr.Blocks() as demo:\n", + " gr.Markdown(\"## šŸ“ Meeting Minutes Generator\\nUpload an audio file and get structured meeting minutes.\")\n", + " with gr.Row():\n", + " audio_in = gr.Audio(type=\"filepath\", label=\"Upload Meeting Audio\")\n", + " btn = gr.Button(\"Generate Minutes\")\n", + " md_out = gr.Markdown()\n", + "\n", + " btn.click(fn=process_meeting, inputs=audio_in, outputs=md_out)" + ] + }, + { + "cell_type": "code", + "source": [ + "demo.launch()" + ], + "metadata": { + "id": "Yh4-imrmY8MH" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 7d880b0000d255f683307dafdb02c1dcd6196cc9 Mon Sep 17 00:00:00 2001 From: Rudra Dudhat Date: Sun, 24 Aug 2025 01:39:50 +0530 Subject: [PATCH 116/176] Add Market Research Agent notebook to community-contributions --- .../Market_Research_Agent.ipynb | 650 ++++++++++++++++++ 1 file changed, 650 insertions(+) create mode 100644 community-contributions/Market_Research_Agent.ipynb diff --git a/community-contributions/Market_Research_Agent.ipynb b/community-contributions/Market_Research_Agent.ipynb new file mode 100644 index 0000000..52dfdf4 --- /dev/null +++ b/community-contributions/Market_Research_Agent.ipynb @@ -0,0 +1,650 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "Let's build a useful LLM solution - in a matter of minutes.\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", + "\n", + "## If you're new to Jupyter Lab\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", + "\n", + "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", + "\n", + "## If you're new to the Command Line\n", + "\n", + "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", + "\n", + "## If you'd prefer to work in IDEs\n", + "\n", + "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", + "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", + "\n", + "## If you'd like to brush up your Python\n", + "\n", + "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", + "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## For foundational technical knowledge (eg Git, APIs, debugging) \n", + "\n", + "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", + "\n", + "This covers Git and GitHub; what they are, the difference, and how to use them: \n", + "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", + "\n", + "This covers technical foundations: \n", + "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", + "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", + "\n", + "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", + "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", + "\n", + "This covers the essential techniques for figuring out errors: \n", + "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", + "\n", + "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", + "\n", + "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")\n", + "print(ed.title)\n", + "print(ed.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "509a1ee7-de00-4c83-8dd8-017dcc638850", + "metadata": {}, + "outputs": [], + "source": [ + "rudra=Website(\"https://github.com/RudraDudhat2509/\")\n", + "print(rudra.title)\n", + "print(rudra.text)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT4o have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown. Always use Points and simple english. Never use hyphens. Stick to the point\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with system and user messages:\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://github.com/RudraDudhat2509\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"\"\"You are to act like a Mckinsey Consultant specializing in market research. \n", + "1) You are to follow legal guidelines and never give immoral advice. \n", + "2) Your job is to maximise profits for your clients by analysing their companies initiatives and giving out recommendations for newer initiatives.\\n \n", + "3) Follow industry frameworks for reponses always give simple answers and stick to the point.\n", + "4) If possible try to see what competitors exist and what market gap can your clients company exploit.\n", + "5) Further more, USe SWOT, Porters 5 forces to summarize your recommendations, Give confidence score with every recommendations\n", + "6) Try to give unique solutions by seeing what the market gap is, if market gap is ambiguious skip this step\n", + "7) add an estimate of what rate the revenue of the comapany will increase at provided they follow the guidelines, give conservating estimates keeping in account non ideal conditions.\n", + "8) if the website isnt of a company or data isnt available, give out an error message along the lines of more data required for analysis\"\"\"\n", + "\n", + "def makereq(url):\n", + " website=Website(url)\n", + " user_prompt=f\"This is my companies website: {website.title}. Could you help me increase profits by giving me recommendations on what i should do. here is the content of my website:\\n\"\n", + " user_prompt+=website.text;\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + "def recommend(url):\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = makereq(url))\n", + " display(Markdown(response.choices[0].message.content))\n", + " \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [ + "recommend(\"https://www.swiggy.com/corporate/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "db1be9b9-b32e-4e8d-83df-0b6f822ac7b2", + "metadata": {}, + "outputs": [], + "source": [ + "recommend(\"https://playvalorant.com/en-us/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9089b4a-67ee-456e-b35d-ca00c2f9f73a", + "metadata": {}, + "outputs": [], + "source": [ + "recommend(\"https://nexora-labs.com/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e042d74-456a-4ec4-bdb8-4b08603b5e66", + "metadata": {}, + "outputs": [], + "source": [ + "recommend(\"https://github.com/RudraDudhat2509/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29187b86-1e35-41bc-bb54-60b3d804b96e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c79bd2b8fafb3e87128699d76ad6922c31eb356a Mon Sep 17 00:00:00 2001 From: IsaiasRVH2 Date: Sat, 23 Aug 2025 18:47:57 -0600 Subject: [PATCH 117/176] Added my contributions to community-contributions --- .../day1-selenium-web-summary-es-mx.ipynb | 260 ++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 week1/community-contributions/day1-selenium-web-summary-es-mx.ipynb diff --git a/week1/community-contributions/day1-selenium-web-summary-es-mx.ipynb b/week1/community-contributions/day1-selenium-web-summary-es-mx.ipynb new file mode 100644 index 0000000..2a3de8b --- /dev/null +++ b/week1/community-contributions/day1-selenium-web-summary-es-mx.ipynb @@ -0,0 +1,260 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2588fbba", + "metadata": {}, + "source": [ + "# Website Analysis and Summarization with Selenium and OpenAI\n", + "\n", + "> This notebook demonstrates how to extract and summarize the main content of any website using Selenium for dynamic extraction and OpenAI for generating concise summaries in Mexican Spanish.\n", + "\n", + "## Overview\n", + "This notebook provides a workflow to automatically analyze websites, extract relevant text, and generate a short summary using a language model. Navigation elements are ignored, focusing on news, announcements, and main content.\n", + "\n", + "## Features\n", + "- Extracts relevant text from web pages using Selenium and BeautifulSoup.\n", + "- Generates automatic summaries using OpenAI's language models.\n", + "- Presents results in markdown format.\n", + "\n", + "## Requirements\n", + "- Python 3.8+\n", + "- Google Chrome browser installed\n", + "- The following Python packages:\n", + " - selenium\n", + " - webdriver-manager\n", + " - beautifulsoup4\n", + " - openai\n", + " - python-dotenv\n", + " - requests\n", + "- An OpenAI API key (project key, starting with `sk-proj-`)\n", + "- Internet connection\n", + "\n", + "## How to Use\n", + "1. Install the required packages:\n", + " ```bash\n", + " pip install selenium webdriver-manager undetected-chromedriver beautifulsoup4 openai python-dotenv requests\n", + " ```\n", + "2. Add your OpenAI API key to a `.env` file as `OPENAI_API_KEY`.\n", + "3. Run the notebook cells in order. You can change the target website URL in the code to analyze different sites.\n", + "4. The summary will be displayed in markdown format below the code cell.\n", + "\n", + "**Note:** Some websites may block automated access. The notebook includes options to simulate a real user and avoid bot detection, but results may vary depending on the site's protections.\n", + "\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc7c2ade", + "metadata": {}, + "outputs": [], + "source": [ + "# Imports\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.service import Service\n", + "from selenium.webdriver.common.by import By\n", + "from selenium.webdriver.chrome.options import Options\n", + "from selenium.webdriver.support.ui import WebDriverWait\n", + "from selenium.webdriver.support import expected_conditions as EC\n", + "from webdriver_manager.chrome import ChromeDriverManager\n", + "import undetected_chromedriver as uc" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2d21987", + "metadata": {}, + "outputs": [], + "source": [ + "# Load the environment variables from .env\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bbb3a8ed", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5313aa64", + "metadata": {}, + "outputs": [], + "source": [ + "class Website:\n", + " def __init__(self, url, headless=True, wait_time=10):\n", + " self.url = url # Website URL to analyze\n", + " self.title = None # Title of the website\n", + " self.text = None # Extracted text from the website\n", + " \n", + " # Chrome options configuration for Selenium\n", + " options = Options()\n", + " if headless:\n", + " options.add_argument(\"--headless=new\") # Run Chrome in headless mode (no window)\n", + " options.add_argument(\"--disable-gpu\") # Disable GPU acceleration\n", + " options.add_argument(\"--no-sandbox\") # Disable Chrome sandbox (required for some environments)\n", + " options.add_argument(\"--window-size=1920,1080\") # Set window size to simulate a real user\n", + " # Simulate a real user-agent to avoid bot detection\n", + " options.add_argument(\"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\")\n", + " \n", + " # Initialize Chrome WebDriver\n", + " self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)\n", + " self.driver.get(url) # Open the URL in the browser\n", + " \n", + " try:\n", + " # Wait until the element is present in the page\n", + " WebDriverWait(self.driver, wait_time).until(EC.presence_of_element_located((By.TAG_NAME, \"body\")))\n", + " html = self.driver.page_source # Get the full HTML of the page\n", + " soup = BeautifulSoup(html, 'html.parser') # Parse HTML with BeautifulSoup\n", + " self.title = soup.title.string if soup.title else 'No title found' # Extract the title\n", + " if soup.body:\n", + " # Remove irrelevant elements from the body\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " # Extract clean text from the body\n", + " self.text = soup.body.get_text(separator='\\n', strip=True)\n", + " else:\n", + " self.text = \"No body found\" # If no body is found, indicate it\n", + " except Exception as e:\n", + " print(f\"Error accessing the site: {e}\") # Print error to console\n", + " self.text = \"Error accessing the site\" # Store error in the attribute\n", + " finally:\n", + " self.driver.quit() # Always close the browser, whether or not an error occurred" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e902c6b2", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown in Mexican Spanish.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eaee8f36", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ac4ed8b", + "metadata": {}, + "outputs": [], + "source": [ + "# Creates messages for the OpenAI API\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1536d537", + "metadata": {}, + "outputs": [], + "source": [ + "# Creates a summary for the given URL\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe135339", + "metadata": {}, + "outputs": [], + "source": [ + "# Shows the summary for the given URL\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a301ab4e", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://openai.com/\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From a5bf394d4384951521775fdc378e1dcd82c0b4cf Mon Sep 17 00:00:00 2001 From: Arundhati Date: Sun, 24 Aug 2025 00:55:50 -0400 Subject: [PATCH 118/176] Added Mediterranean Banter notebook to community-contributions --- .../Mediterranean Banter.ipynb | 252 ++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 week2/community-contributions/Mediterranean Banter.ipynb diff --git a/week2/community-contributions/Mediterranean Banter.ipynb b/week2/community-contributions/Mediterranean Banter.ipynb new file mode 100644 index 0000000..5ac089c --- /dev/null +++ b/week2/community-contributions/Mediterranean Banter.ipynb @@ -0,0 +1,252 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9ab6f493-026f-4950-b244-22c5251b8daa", + "metadata": {}, + "source": [ + "# Mediterranean Banter" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4568bc63-679e-4ea1-a9c9-b85dfc386ec7", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a852bee-76e6-4538-89a3-0702c2d5f05c", + "metadata": {}, + "outputs": [], + "source": [ + "import google.generativeai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c843ac74-4797-4bd0-bed2-dfcaa2f98c41", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e4181018-1818-47fa-a3fb-554627a63f69", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19f833c8-e183-469c-a8c8-1c014889a15d", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_model_spain = \"gpt-4.1-mini\"\n", + "claude_model_italy = \"claude-3-5-haiku-latest\"\n", + "gemini_model_france = \"gemini-2.0-flash\"\n", + "\n", + "gpt_system_spain = \"You are a chatbot who is very argumentative; \\\n", + "you disagree with anything other than how beautiful and great South of Spain is.\"\n", + "\n", + "claude_system_italy = \"You are a very polite, courteous chatbot but you favour south of Italy prasing Amalfi Coast.\"\n", + "\n", + "gemini_system_france = \"You are neutral. You always accept what other people say and never try to put down other people thoughts.Although, you politely try to include that South of France is beautiful\"\n", + "\n", + "gpt_messages_spain = [\"Hi there, nothing beats the beauty of Spain and its wonderful beaches.\"]\n", + "claude_messages_italy = [\"I agree. I admire the Southern Part of Spain but its not as pretty as Amalfi Coast.\"]\n", + "gemini_messages_france = [\"Well, both are good and so is the French Riveria.\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d426b95-5e7c-49aa-a5a1-9613296eb0d0", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system_spain}]\n", + " for gpt, claude,gemini in zip(gpt_messages_spain, claude_messages_italy,gemini_messages_france):\n", + " messages.append({\"role\": \"assistant\", \"content\": gpt})\n", + " messages.append({\"role\": \"user\", \"content\": claude})\n", + " messages.append({\"role\": \"user\", \"content\": gemini})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model_spain,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3fc9a696-3145-4f37-873b-539647f2fc0b", + "metadata": {}, + "outputs": [], + "source": [ + "call_gpt()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63910faa-a122-4261-82a0-7530c6c5749a", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = []\n", + " for gpt_spain, claude_italy,gemini_france in zip(gpt_messages_spain, claude_messages_italy,gemini_messages_france):\n", + " messages.append({\"role\": \"user\", \"content\": gpt_spain})\n", + " messages.append({\"role\": \"user\", \"content\": gemini_france})\n", + " messages.append({\"role\": \"assistant\", \"content\": claude_italy})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages_spain[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": gemini_messages_france[-1]})\n", + " message = claude.messages.create(\n", + " model=claude_model_italy,\n", + " system=claude_system_italy,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return message.content[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3ab6aa2-a462-4fb3-bb6a-dc6b971827fa", + "metadata": {}, + "outputs": [], + "source": [ + "call_claude()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "114cb7eb-0915-46ac-b285-e40acf4a9ffb", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gemini():\n", + " messages=[]\n", + " for gpt_spain, claude_italy,gemini_france in zip(gpt_messages_spain, claude_messages_italy,gemini_messages_france):\n", + " messages.append({\"role\": \"user\", \"content\": gpt_spain})\n", + " messages.append({\"role\": \"user\", \"content\": claude_italy})\n", + " messages.append({\"role\": \"assistant\", \"content\": gemini_france})\n", + " messages.append({\"role\": \"user\", \"content\": gpt_messages_spain[-1]})\n", + " messages.append({\"role\": \"user\", \"content\": claude_messages_italy[-1]})\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name='gemini-2.0-flash',\n", + " system_instruction=gemini_system_france\n", + " )\n", + " dialogue_text = \"\\n\".join(f\"{m['role']}: {m['content']}\" for m in messages)\n", + " response = gemini.generate_content(dialogue_text)\n", + " return response.text\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3acf708-f9b1-4a6d-b3e1-823c96d00555", + "metadata": {}, + "outputs": [], + "source": [ + "call_gemini()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c103430e-68c7-4cc6-8a43-6b5aec7fdc96", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages_spain = [\"Hi there, nothing beats the beauty of Spain and its wonderful beaches.\"]\n", + "claude_messages_italy = [\"I agree. I admire the Southern Part of Spain but its not as pretty as Amalfi Coast.\"]\n", + "gemini_messages_france = [\"Well, both are good and so is the French Riveria.\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages_spain[0]}\\n\")\n", + "print(f\"Claude:\\n{claude_messages_italy[0]}\\n\")\n", + "print(f\"Gemini:\\n{gemini_messages_france[0]}\\n\")\n", + "\n", + "for i in range(5):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages_spain.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude:\\n{claude_next}\\n\")\n", + " claude_messages_italy.append(claude_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " gemini_messages_france.append(gemini_next)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 024d474643d54225ae850ddd2dba0f9656b2af63 Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Sun, 24 Aug 2025 11:37:07 +0530 Subject: [PATCH 119/176] added email summaizers script with openai --- .../Day-1_email_summarizers.ipynb | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 week1/community-contributions/Day-1_email_summarizers.ipynb diff --git a/week1/community-contributions/Day-1_email_summarizers.ipynb b/week1/community-contributions/Day-1_email_summarizers.ipynb new file mode 100644 index 0000000..d2a4597 --- /dev/null +++ b/week1/community-contributions/Day-1_email_summarizers.ipynb @@ -0,0 +1,103 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d7a6bb51", + "metadata": {}, + "outputs": [], + "source": [ + "# import library\n", + "from openai import OpenAI\n", + "import os\n", + "from dotenv import load_dotenv\n", + "\n", + "# Load your API key from an .env file\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ac4cdf9", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "system_prompt = \"you are a helpful assistant that suggests an appropriate short subject line for an email based on its contents.\"\n", + "\n", + "user_prompt = \"\"\"\n", + "Hi John,\n", + "I hope this email finds you well. I wanted to follow up on our meeting last week regarding the quarterly budget proposal.\n", + "After reviewing the numbers with my team, we've identified some areas where we can reduce costs by approximately 15% without impacting our core operations. This would involve consolidating some vendor contracts and optimizing our software licensing.\n", + "Could we schedule a meeting next week to discuss these findings in detail? I'm available Tuesday through Thursday afternoon.\n", + "Looking forward to hearing from you.\n", + "\n", + "Best regards,\n", + "Sarah\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a77ca09e", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Step 2: Make the messages list\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8404f0fe", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Step 3: Call OpenAI\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a4875f7", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Step 4: Print the result\n", + "print(response.choices[0].message.content)" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 17463e83ffc9b119065f97fc8f80fe4e5adad89d Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Sun, 24 Aug 2025 17:56:13 +0530 Subject: [PATCH 120/176] day-2 exercise with ollama --- .../Day-2_exercise_with_ollama3.ipynb | 290 ++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 week1/community-contributions/Day-2_exercise_with_ollama3.ipynb diff --git a/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb b/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb new file mode 100644 index 0000000..1168770 --- /dev/null +++ b/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb @@ -0,0 +1,290 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "135717e7", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "29a9e634", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# OPTION 1\n", + "# using openai\n", + "\n", + "# message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "# client = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"not-needed\")\n", + "# response = openai.chat.completions.create(model=``, messages=[{\"role\":\"user\", \"content\":message}])\n", + "# print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "306993ed", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# OPTION 2\n", + "# using Ollama\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "model=\"llama3\"\n", + "response=ollama.chat(model=model,messages=[{\"role\":\"user\",\"content\":message}])\n", + "print(response[\"message\"][\"content\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "856f767b", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4ce558dc", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e3956f8", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "99d791b4", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "5d89b748", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9a97d3e2", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response=ollama.chat(model=model,messages=messages_for(website))\n", + " return(response[\"message\"][\"content\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec13fe0a", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e3ade092", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be2d49e6", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ccbf33b", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae3d0eae", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 604aca783c6b2a748365d53676606867e23b72b4 Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Sun, 24 Aug 2025 17:57:52 +0530 Subject: [PATCH 121/176] Revert "day-2 exercise with ollama" This reverts commit 17463e83ffc9b119065f97fc8f80fe4e5adad89d. --- .../Day-2_exercise_with_ollama3.ipynb | 290 ------------------ 1 file changed, 290 deletions(-) delete mode 100644 week1/community-contributions/Day-2_exercise_with_ollama3.ipynb diff --git a/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb b/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb deleted file mode 100644 index 1168770..0000000 --- a/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb +++ /dev/null @@ -1,290 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "135717e7", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# imports\n", - "\n", - "import os\n", - "import requests\n", - "from dotenv import load_dotenv\n", - "from bs4 import BeautifulSoup\n", - "from IPython.display import Markdown, display\n", - "from openai import OpenAI\n", - "import ollama" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "29a9e634", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# OPTION 1\n", - "# using openai\n", - "\n", - "# message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", - "# client = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"not-needed\")\n", - "# response = openai.chat.completions.create(model=``, messages=[{\"role\":\"user\", \"content\":message}])\n", - "# print(response.choices[0].message.content)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "306993ed", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# OPTION 2\n", - "# using Ollama\n", - "\n", - "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", - "model=\"llama3\"\n", - "response=ollama.chat(model=model,messages=[{\"role\":\"user\",\"content\":message}])\n", - "print(response[\"message\"][\"content\"])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "856f767b", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# A class to represent a Webpage\n", - "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", - "\n", - "# Some websites need you to use proper headers when fetching them:\n", - "headers = {\n", - " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", - "}\n", - "\n", - "class Website:\n", - "\n", - " def __init__(self, url):\n", - " \"\"\"\n", - " Create this Website object from the given url using the BeautifulSoup library\n", - " \"\"\"\n", - " self.url = url\n", - " response = requests.get(url, headers=headers)\n", - " soup = BeautifulSoup(response.content, 'html.parser')\n", - " self.title = soup.title.string if soup.title else \"No title found\"\n", - " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", - " irrelevant.decompose()\n", - " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "4ce558dc", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# Let's try one out. Change the website and add print statements to follow along.\n", - "\n", - "ed = Website(\"https://edwarddonner.com\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "5e3956f8", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", - "\n", - "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", - "and provides a short summary, ignoring text that might be navigation related. \\\n", - "Respond in markdown.\"" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "99d791b4", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# A function that writes a User Prompt that asks for summaries of websites:\n", - "\n", - "def user_prompt_for(website):\n", - " user_prompt = f\"You are looking at a website titled {website.title}\"\n", - " user_prompt += \"\\nThe contents of this website is as follows; \\\n", - "please provide a short summary of this website in markdown. \\\n", - "If it includes news or announcements, then summarize these too.\\n\\n\"\n", - " user_prompt += website.text\n", - " return user_prompt" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "5d89b748", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# See how this function creates exactly the format above\n", - "\n", - "def messages_for(website):\n", - " return [\n", - " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", - " ]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "9a97d3e2", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# And now: call the OpenAI API. You will get very familiar with this!\n", - "\n", - "def summarize(url):\n", - " website = Website(url)\n", - " response=ollama.chat(model=model,messages=messages_for(website))\n", - " return(response[\"message\"][\"content\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ec13fe0a", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "summarize(\"https://edwarddonner.com\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "e3ade092", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "# A function to display this nicely in the Jupyter output, using markdown\n", - "\n", - "def display_summary(url):\n", - " summary = summarize(url)\n", - " display(Markdown(summary))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "be2d49e6", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "display_summary(\"https://edwarddonner.com\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ccbf33b", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "display_summary(\"https://cnn.com\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae3d0eae", - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, - "outputs": [], - "source": [ - "display_summary(\"https://anthropic.com\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5515c1d004b7d57e93091324b523684397b1f8a1 Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Sun, 24 Aug 2025 17:56:13 +0530 Subject: [PATCH 122/176] day-2 exercise with ollama --- .../Day-2_exercise_with_ollama3.ipynb | 290 ++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 week1/community-contributions/Day-2_exercise_with_ollama3.ipynb diff --git a/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb b/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb new file mode 100644 index 0000000..1168770 --- /dev/null +++ b/week1/community-contributions/Day-2_exercise_with_ollama3.ipynb @@ -0,0 +1,290 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "135717e7", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "29a9e634", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# OPTION 1\n", + "# using openai\n", + "\n", + "# message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "# client = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"not-needed\")\n", + "# response = openai.chat.completions.create(model=``, messages=[{\"role\":\"user\", \"content\":message}])\n", + "# print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "306993ed", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# OPTION 2\n", + "# using Ollama\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "model=\"llama3\"\n", + "response=ollama.chat(model=model,messages=[{\"role\":\"user\",\"content\":message}])\n", + "print(response[\"message\"][\"content\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "856f767b", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4ce558dc", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e3956f8", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "99d791b4", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "5d89b748", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9a97d3e2", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response=ollama.chat(model=model,messages=messages_for(website))\n", + " return(response[\"message\"][\"content\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec13fe0a", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e3ade092", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be2d49e6", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ccbf33b", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae3d0eae", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c910bd11bbc19ac684b2f0cf3f7c35d2c0928264 Mon Sep 17 00:00:00 2001 From: yolelukoie <137051592+yolelukoie@users.noreply.github.com> Date: Sun, 24 Aug 2025 20:50:00 +0300 Subject: [PATCH 123/176] Added my contributions to community-contributions --- ...r_tailored_to_CV_and_job_description.ipynb | 211 ++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 week1/community-contributions/day1_coverletter_tailored_to_CV_and_job_description.ipynb diff --git a/week1/community-contributions/day1_coverletter_tailored_to_CV_and_job_description.ipynb b/week1/community-contributions/day1_coverletter_tailored_to_CV_and_job_description.ipynb new file mode 100644 index 0000000..9c63b6a --- /dev/null +++ b/week1/community-contributions/day1_coverletter_tailored_to_CV_and_job_description.ipynb @@ -0,0 +1,211 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d955d75d-4970-48fe-983e-a2a850cecfc5", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "import PyPDF2\n", + "from selenium import webdriver\n", + "from selenium.webdriver.chrome.options import Options\n", + "from selenium.webdriver.chrome.service import Service\n", + "from webdriver_manager.chrome import ChromeDriverManager\n", + "from bs4 import BeautifulSoup\n", + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e1e5dd3-f91a-466b-8fd4-2dbf4eedf101", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override = True)\n", + "api_key = os.getenv(\"OPENAI_API_KEY\")\n", + "\n", + "if not api_key:\n", + " print(\"No API key\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"API key doesn't look correct, check it\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"It looks like API key has an extra space - check it\")\n", + "else:\n", + " print(\"API key looks good, moving on!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67a6e583-1ef7-4b77-8886-c0e8c619933c", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34a07806-dd68-4a86-8b6e-e1b2aaf0daa1", + "metadata": {}, + "outputs": [], + "source": [ + "# path to the CV\n", + "path = \"/Users/yanasklar/Documents/For applying/CV/Š”V_YanaSklyar_c.pdf\"\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Vacancy:\n", + " def __init__(self, url, instructions = \"\"):\n", + " self.url = url\n", + " \n", + " # configure Chrome settings\n", + " options = Options()\n", + " # options.add_argument(\"--headless\") \n", + " \"\"\"\n", + " Headless mode runs the browser in the background (invisible).\n", + " However, some websites (like openai.com) block headless browsers.\n", + " So if this line is active, the page may not load correctly and you may not get the full content.\n", + " \"\"\"\n", + " options.add_argument(\"--disable-gpu\")\n", + " options.add_argument(\"--no-sandbox\")\n", + " options.add_argument(\"--window-size=1920x1080\")\n", + "\n", + " # use webdriver-manager to manage ChromeDriver\n", + " service = Service(ChromeDriverManager().install())\n", + " driver = webdriver.Chrome(service=service, options=options)\n", + " driver.get(url)\n", + " time.sleep(3) # let the page load\n", + "\n", + " # take the source of the page\n", + " page_source = driver.page_source\n", + " driver.quit()\n", + "\n", + " # analyse with BeautifulSoup\n", + " soup = BeautifulSoup(page_source, 'html.parser')\n", + "\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"img\", \"script\", \"style\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator='\\n', strip=True)\n", + "\n", + " # read CV\n", + " with open(path, 'rb') as f:\n", + " reader = PyPDF2.PdfReader(f)\n", + " cv_text = \"\"\n", + " for page in reader.pages:\n", + " text = page.extract_text()\n", + " if text:\n", + " cv_text += text + \"\\n\"\n", + " self.cv_text = cv_text\n", + "\n", + " # summarise and print the description of the job\n", + " message = f\"\"\"Here is the content of a webpage: {self.text}.\n", + " Find job description on that page,\n", + " summarise it, include the list requirements and other important details.\n", + " \"\"\"\n", + " messages = [{\"role\":\"user\", \"content\":message}]\n", + " response = openai.chat.completions.create(model='gpt-4o-mini', messages = messages)\n", + " print(\"The job description: \", response.choices[0].message.content)\n", + "\n", + " # create prompts\n", + " self.system_prompt = \"\"\"You are a career assistant specializing in writing cover letter.\n", + " Your tasks:\n", + " 1. Read the candidate's CV (provided as text).\n", + " 2. Read the job description (provided from a webpage).\n", + " 3. Write a concise and compelling cover letter, that:\n", + " - Hightlights the most relevant experience and skills from the CV,\n", + " - Aligns directly wit the requirements in the job description,\n", + " - Adapts to cultural and professional norms in Israel.\n", + " The letter should be no longer than half a page, persuasive and tailored to make the applicant stand out.\n", + " \"\"\"\n", + "\n", + " user_prompt = f\"\"\"\n", + " Here is my CV:\n", + " {self.cv_text}\n", + " \n", + " The job vacancy is from the website {self.title}.\n", + " Here is the decription of the vacancy:\n", + " {self.text}\n", + " Please write a cover letter that connects my background to this vacancy.\n", + " Make it persuasive and suitable for Israeli job market.\n", + " \"\"\"\n", + " \n", + " if instructions:\n", + " user_prompt += f\"Additional instructions: {instructions}\"\n", + " self.user_prompt = user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9160b9f5-177b-4477-8e54-3a212f275a22", + "metadata": {}, + "outputs": [], + "source": [ + "def cover_letter(url, instructions = \"\"):\n", + " vacancy = Vacancy(url, instructions)\n", + " messages = [\n", + " {\"role\":\"system\", \"content\":vacancy.system_prompt},\n", + " {\"role\":\"user\", \"content\":vacancy.user_prompt}\n", + " ]\n", + " response = openai.chat.completions.create(model='gpt-4o-mini', messages=messages)\n", + " if not response:\n", + " print(\"smt went wrong\")\n", + " print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1de4b55c-a8da-445f-9865-c7a8bafdbc3c", + "metadata": {}, + "outputs": [], + "source": [ + "a = \"https://www.linkedin.com/jobs/view/4285898438/?alternateChannel=search&eBP=CwEAAAGY3R5LOabDLOVTy6xvBcSlWyAkIXQz8IRkSM3rgsqTPtvcEvUSnq980O7oLV2Hh_ldTpc2cBBmRq1IRnLtp7TzEcUvndFEXeCuviA5yo7oFYfW7KoEp4SPNzmf3D9LtnSgk9Iudy3skk6n3hVOtyDpx8Zm0AiTWPvdwCaZ_w5Xu8lAG797NRNDco71ynm99LmCOC9Go7DdDQ2eLewamc4SOsA4xWcXy0GmZVy3kBF1AprK3ylAYR2wrm5-hp4lRpbbfUxXjkEOG6H_GbPpKtN-N8mYnMd9w_cej5qQmTFX86gqSi6HuXFtK0h46TbOS5r-YQksVd1Yb4kYZnDznWXPLbxp04xVJSPzsHoa05wQdOfZ2UUSoMTJmic3n3qfV2u9Bp8n4sLYtINpzKdvm4eADGGkN-nR3O2oPeas9XjGbBwNdjXHAcX_PJoRwlFdQ1gVkYQEF1T7qAfXUJoUt-fv4oLxGnIgV6yJuMgw&refId=9NA7Bvt%2FhCqDkFNRGu1dPA%3D%3D&trackingId=W11hvpcIjHA%2FjU%2FFZ%2B1uAA%3D%3D\"\n", + "b = \"The style of the cover letter should informal, as if i talked to a friend about my background\"\n", + "cover_letter(a, b)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0feb3cbe-686a-4a97-9ca3-a0cb32a24c5d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python (llms)", + "language": "python", + "name": "llms" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 21028a6bf7257fa646cec72b02c841ecf343d26d Mon Sep 17 00:00:00 2001 From: Levezze Date: Sun, 17 Aug 2025 22:53:12 -0400 Subject: [PATCH 124/176] Add modular 3-way LLM conversation notebook Implements a clean, reusable architecture for multi-LLM conversations: - Unified OpenAI SDK interface for GPT, Claude, and Gemini models - Dynamic role assignment using a dictionary-based configuration - Three distinct personas: snarky arguer, sharp debater, and mediator - Conversation context management across all participants - Interactive display using IPython Markdown rendering The modular `call_llm()` function handles context building and message tracking, making it easy to orchestrate complex multi-agent dialogues. Demonstrates best practices for LLM interaction patterns in the course. --- .../day1_3_way_conversation_levzhitnik.ipynb | 255 ++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 week2/community-contributions/day1_3_way_conversation_levzhitnik.ipynb diff --git a/week2/community-contributions/day1_3_way_conversation_levzhitnik.ipynb b/week2/community-contributions/day1_3_way_conversation_levzhitnik.ipynb new file mode 100644 index 0000000..e5c0388 --- /dev/null +++ b/week2/community-contributions/day1_3_way_conversation_levzhitnik.ipynb @@ -0,0 +1,255 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "596b764a-2ece-4cb0-91c7-5317b8b2c65f", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "191079a8-fcb0-45fa-a954-9e92e3baa250", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a0f19ff-c936-469f-9fa1-c09b5c126263", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.5-flash\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1ffa25e-8250-4a86-951a-af44f1369336", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_client = OpenAI(\n", + " api_key=openai_api_key\n", + ")\n", + "\n", + "claude_client = OpenAI(\n", + " api_key=anthropic_api_key,\n", + " base_url=\"https://api.anthropic.com/v1/\"\n", + ")\n", + "\n", + "gemini_client = OpenAI(\n", + " api_key=google_api_key,\n", + " base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb8a203d-bdc7-40ee-a456-d47bdc71b07f", + "metadata": {}, + "outputs": [], + "source": [ + "# Tests\n", + "\n", + "messages = [{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Howdy partner!\"}]\n", + "\n", + "gpt_response = gpt_client.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages,\n", + " temperature=0.5\n", + ")\n", + "print(f\"GPT: {gpt_response.choices[0].message.content}\")\n", + "\n", + "claude_response = claude_client.chat.completions.create(\n", + " model=claude_model,\n", + " messages=messages,\n", + " temperature=0.5\n", + ")\n", + "print(f\"Claude: {claude_response.choices[0].message.content}\")\n", + "\n", + "gemini_response = gemini_client.chat.completions.create(\n", + " model=gemini_model,\n", + " messages=messages,\n", + " temperature=0.5\n", + ")\n", + "print(f\"Gemini: {gemini_response.choices[0].message.content}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d140561e-fbf8-4741-b0bd-f850524bd6b3", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_system = \"You are 'user_1'. You are snarky, entitled, and argumentative. Your role is to try and argue about anything and everything, and always have the last word, and never back down.\"\n", + "claude_system = \"You are 'user_2'. You are a sharp debater. You always debate every argument, and you do everything you can to be the debate winner. You don't stop until you have the upper hand.\"\n", + "gemini_system = \"You are 'user_3'. You are a mediator, coach and philosopher. Your job is to bring two sides to an agreement and have them stop arguing.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2b26a34-eb36-41c1-be2d-fc8154218897", + "metadata": {}, + "outputs": [], + "source": [ + "apis = {\n", + " \"gpt\": {\n", + " \"name\": \"gpt\",\n", + " \"user_name\": \"Gapetto\",\n", + " \"client\": gpt_client,\n", + " \"model\": gpt_model,\n", + " \"system\": gpt_system,\n", + " \"messages\": [],\n", + " },\n", + " \"claude\": {\n", + " \"name\": \"claude\",\n", + " \"user_name\": \"Claudia\",\n", + " \"client\": claude_client,\n", + " \"model\": claude_model,\n", + " \"system\": claude_system,\n", + " \"messages\": [],\n", + " },\n", + " \"gemini\": {\n", + " \"name\": \"gemini\",\n", + " \"user_name\": \"Germione\",\n", + " \"client\": gemini_client,\n", + " \"model\": gemini_model,\n", + " \"system\": gemini_system,\n", + " \"messages\": []\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88bb7277-45dc-41b4-827c-b2e5a8b76675", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llm(name: str):\n", + " llm = apis[name]\n", + " context = [{\"role\": \"system\", \"content\": llm[\"system\"]}]\n", + " \n", + " gpt_role, gpt_name = (\"assistant\", \"\") if name == \"gpt\" else (\"user\", f'{apis[\"gpt\"][\"user_name\"]}: ')\n", + " claude_role, claude_name = (\"assistant\", \"\") if name == \"claude\" else (\"user\", f'{apis[\"claude\"][\"user_name\"]}: ')\n", + " gemini_role, gemini_name = (\"assistant\", \"\") if name == \"gemini\" else (\"user\", f'{apis[\"gemini\"][\"user_name\"]}: ')\n", + " \n", + " for gpt, claude, gemini in zip(apis[\"gpt\"][\"messages\"], apis[\"claude\"][\"messages\"], apis[\"gemini\"][\"messages\"]):\n", + " context.append({\"role\": gpt_role, \"content\": f\"{gpt_name}{gpt}\"})\n", + " context.append({\"role\": claude_role, \"content\": f\"{claude_name}{claude}\"})\n", + " context.append({\"role\": gemini_role, \"content\": f\"{gemini_name}{gemini}\"})\n", + " \n", + " for i, key in enumerate(apis.keys()):\n", + " if key != name:\n", + " if len(apis[key][\"messages\"]) > len(llm[\"messages\"]):\n", + " context.append({\"role\": \"user\", \"content\": f'{apis[key][\"user_name\"]}: {apis[key][\"messages\"][-1]}'})\n", + " \n", + " response = llm[\"client\"].chat.completions.create(\n", + " model=llm[\"model\"],\n", + " messages=context,\n", + " temperature=0.7\n", + " )\n", + "\n", + " message = response.choices[0].message.content\n", + " llm[\"messages\"].append(message)\n", + " return message" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4fc73a2e-d8de-4a39-bfa2-67b16c231869", + "metadata": {}, + "outputs": [], + "source": [ + "apis[\"gpt\"][\"messages\"] = [\"Hi\"]\n", + "apis[\"claude\"][\"messages\"] = [\"Hi\"]\n", + "apis[\"gemini\"][\"messages\"] = [\"Lord of the Rings or Harry Potter?\"] # Obviously LOTR." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3810fbaf-94d1-4750-8e13-812d2e05b2d7", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_response = call_llm(\"gpt\")\n", + "display(Markdown(f\"### Gapetto:\\n{gpt_response}\\n\\n\"))\n", + "\n", + "claude_response = call_llm(\"claude\")\n", + "display(Markdown(f\"### Claudia:\\n{claude_response}\\n\\n\"))\n", + "\n", + "gemini_response = call_llm(\"gemini\")\n", + "display(Markdown(f\"### Germione:\\n{gemini_response}\\n\\n\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e87b2ffc-6197-401a-97ca-7f51ac1677f2", + "metadata": {}, + "outputs": [], + "source": [ + "apis[\"gpt\"][\"messages\"] = [\"Hi\"]\n", + "apis[\"claude\"][\"messages\"] = [\"Hi\"]\n", + "apis[\"gemini\"][\"messages\"] = [\"Lord of the Rings or Harry Potter?\"]\n", + "\n", + "for i in range(5):\n", + " display(Markdown(f\"## Round {i+1}:\\n\\n\"))\n", + " \n", + " gpt_response = call_llm(\"gpt\")\n", + " display(Markdown(f\"### Gapetto:\\n{gpt_response}\\n\\n\"))\n", + "\n", + " claude_response = call_llm(\"claude\")\n", + " display(Markdown(f\"### Claudia:\\n{claude_response}\\n\\n\"))\n", + "\n", + " gemini_response = call_llm(\"gemini\")\n", + " display(Markdown(f\"### Germione:\\n{gemini_response}\\n\\n\"))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 262e17b399ac2d84d0f02ed216f586c73b6177bc Mon Sep 17 00:00:00 2001 From: Arundhati Date: Mon, 25 Aug 2025 13:51:27 -0400 Subject: [PATCH 125/176] Added gemini to dropdown task to community-contributions --- .../AddingGeminiToDropdown.ipynb | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 week2/community-contributions/AddingGeminiToDropdown.ipynb diff --git a/week2/community-contributions/AddingGeminiToDropdown.ipynb b/week2/community-contributions/AddingGeminiToDropdown.ipynb new file mode 100644 index 0000000..656a542 --- /dev/null +++ b/week2/community-contributions/AddingGeminiToDropdown.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "057bc09f-a682-4b72-97ed-c69ddef3f03e", + "metadata": {}, + "source": [ + "# Gemini to Dropdown" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d66eb067-7bae-4145-b613-6da2f40fbf27", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import google.generativeai as genai\n", + "import anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e36f8a93-8a65-48f2-bcad-7c47dd72ef3a", + "metadata": {}, + "outputs": [], + "source": [ + "import gradio as gr " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a5ec1b0-f5b4-46d2-abb0-b28b73cc4d28", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26d0099c-890f-4358-8c1d-7a708abcb105", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "openai = OpenAI()\n", + "\n", + "claude = anthropic.Anthropic()\n", + "\n", + "google.generativeai.configure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6606bfdb-964e-4d6f-b2a1-5017b99aa23d", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful assistant\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e0cfb96a-2dbe-4228-8efb-75947dbc3228", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_gpt(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " stream = openai.chat.completions.create(\n", + " model='gpt-4o-mini',\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9008a15d-0ee8-44e0-b123-225e7148113e", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_claude(prompt):\n", + " result = claude.messages.stream(\n", + " model=\"claude-3-haiku-20240307\",\n", + " max_tokens=1000,\n", + " temperature=0.7,\n", + " system=system_message,\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": prompt},\n", + " ],\n", + " )\n", + " response = \"\"\n", + " with result as stream:\n", + " for text in stream.text_stream:\n", + " response += text or \"\"\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "378ad12e-6645-4647-807c-00995e360268", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_gemini(prompt):\n", + " gemini = genai.GenerativeModel(\n", + " model_name=\"gemini-2.0-flash\",\n", + " system_instruction=system_message\n", + " )\n", + " \n", + " stream = gemini.generate_content(prompt, stream=True)\n", + " \n", + " result = \"\"\n", + " for chunk in stream:\n", + " try:\n", + " part = chunk.text\n", + " if part:\n", + " result += part\n", + " yield result \n", + " except Exception as e:\n", + " print(\"Chunk error:\", e)\n", + " \n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd50e143-eead-49b1-8ea3-b440becd4bc9", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_model(prompt, model):\n", + " if model==\"GPT\":\n", + " result = stream_gpt(prompt)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(prompt)\n", + " elif model==\"Gemini\":\n", + " result = stream_gemini(prompt)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " yield from result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7fc9cb4-fbb8-4301-86a6-96c90f67eb3b", + "metadata": {}, + "outputs": [], + "source": [ + "view = gr.Interface(\n", + " fn=stream_model,\n", + " inputs=[gr.Textbox(label=\"Your message:\"), gr.Dropdown([\"GPT\", \"Claude\",\"Gemini\"], label=\"Select model\", value=\"GPT\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 2f6398138b2b96a80b2c014a31689b11e7ea4ebd Mon Sep 17 00:00:00 2001 From: lakshya Date: Tue, 26 Aug 2025 01:59:01 +0530 Subject: [PATCH 126/176] LLaVa For Visually impaired people --- .../llava-For-Image-week1.ipynb | 376 ++++++++++++++ ...k2-ChainForRealTimeCaptionGeneration.ipynb | 486 ++++++++++++++++++ 2 files changed, 862 insertions(+) create mode 100644 week1/community-contributions/llava-For-Image-week1.ipynb create mode 100644 week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb diff --git a/week1/community-contributions/llava-For-Image-week1.ipynb b/week1/community-contributions/llava-For-Image-week1.ipynb new file mode 100644 index 0000000..99c2c92 --- /dev/null +++ b/week1/community-contributions/llava-For-Image-week1.ipynb @@ -0,0 +1,376 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "import base64\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", + "metadata": {}, + "outputs": [], + "source": [ + "def encode_image(image_path):\n", + " with open(image_path, 'rb') as f:\n", + " return base64.b64encode(f.read()).decode('utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", + "metadata": {}, + "outputs": [], + "source": [ + "# image_path = r\"C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\"\n", + "# image_base64 = encode_image(image_path)\n", + "# print(image_base64[:100]) " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", + "metadata": {}, + "outputs": [], + "source": [ + "image_list = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f8801a8-0c30-4199-a334-587096e6edeb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", + "metadata": {}, + "outputs": [], + "source": [ + "def put_image():\n", + " global image_list\n", + " user_input_image = input(\"Enter image path or press enter to skip: \").strip()\n", + " \n", + " if not user_input_image:\n", + " print(\"No image inserted\")\n", + " return image_list\n", + "\n", + " image_path = os.path.normpath(user_input_image)\n", + " \n", + " if not os.path.exists(image_path):\n", + " print(\"Image path not found! Try again or enter to leave blank\")\n", + " return put_image() # Continue to allow more inputs\n", + " \n", + "\n", + "\n", + "\n", + " \n", + " image_base64 = encode_image(image_path)\n", + " image_list.append(image_base64)\n", + " \n", + " # Detect file extension for MIME type\n", + " # ext = os.path.splitext(image_path)[-1].lower()\n", + " # mime_type = 'image/jpeg' if ext in ['.jpg', '.jpeg'] else 'image/png' # Extend if needed\n", + "\n", + "\n", + " return image_list\n", + " \n", + " # return f\"data:{mime_type};base64,{image_base64[:100]}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", + "metadata": {}, + "outputs": [], + "source": [ + "prompt= (\"System prompt: (You are a compassionate and intelligent visual assistant designed to help people who are blind or visually impaired. \"\n", + " \"Your job is to look at an image and describe it in a way that helps the user understand the scene clearly. \"\n", + " \"Use simple, descriptive language and avoid technical terms. Describe what is happening in the image, people's body language, clothing, facial expressions, objects, and surroundings. \"\n", + " \"Be vivid and precise, as if you are painting a picture with words. \"\n", + " \"Also, take into account any personal instructions or questions provided by the user—such as describing a specific person, activity, or object. \"\n", + " \"If the user includes a specific prompt, prioritize that in your description.)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "29494db0-4770-4689-9904-8eebc4390e7c", + "metadata": {}, + "outputs": [], + "source": [ + "def put_prompt():\n", + " global prompt\n", + " user_input = input(\"Put new prompt: \")\n", + " if not user_input:\n", + " print(\"please enter a prompt\")\n", + " return put_prompt()\n", + " prompt += \"\\nUser: \" + user_input\n", + " return prompt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", + "metadata": {}, + "outputs": [], + "source": [ + "def image_description():\n", + " global prompt\n", + "\n", + " put_image()\n", + " if not image_list: \n", + " return \"No images available. Skipping...\"\n", + "\n", + " user_prompt = put_prompt()\n", + " full_answer = \"\"\n", + "\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=user_prompt,\n", + " images=image_list,\n", + " stream=True\n", + " ):\n", + " content = chunk.get(\"response\", \"\")\n", + " print(\"\\n\\n Final Answer:\",content, end=\"\", flush=True) # Live stream to console\n", + " full_answer += content\n", + "\n", + " prompt += \"\\nUser: \" + user_prompt + \"\\nAssistant: \" + full_answer\n", + " return full_answer\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llava():\n", + " image_list.clear()\n", + " for i in range(5):\n", + " print(f\"\\n Iteration {i+1}\")\n", + " answer = image_description()\n", + " print(\"\\n\\n Final Answer:\", answer)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "15518865-6c59-4029-bc2d-42d313eb78bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Iteration 1\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n", + "Put new prompt: can you describe what is in front of me\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", + "\n", + " Final Answer: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", + "\n", + " Iteration 2\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No image inserted\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: does that person look male or female and by looking at their face can you tell me how old they look roughly\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", + "\n", + " Final Answer: The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", + "\n", + " Iteration 3\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250502_01_13_00_Pro.jpg\n", + "Put new prompt: now what about this new image i just provided you can you describe it\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", + "\n", + " Final Answer: In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", + "\n", + " Iteration 4\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No image inserted\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: can you describe similarity within both images that you have right now\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the two images provided, there are several similarities:\n", + "\n", + "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", + "\n", + "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", + "\n", + "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", + "\n", + "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", + "\n", + "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", + "\n", + "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", + "\n", + " Final Answer: In the two images provided, there are several similarities:\n", + "\n", + "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", + "\n", + "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", + "\n", + "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", + "\n", + "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", + "\n", + "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", + "\n", + "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", + "\n", + " Iteration 5\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\Downloads\\images.jpeg\n", + "Put new prompt: what about this new one now describe in detail\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " User: can you describe what is in front of me\n", + "\n", + "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", + "\n", + "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", + "User: can you describe this new one now \n", + "\n", + " Final Answer: User: can you describe what is in front of me\n", + "\n", + "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", + "\n", + "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", + "User: can you describe this new one now \n" + ] + } + ], + "source": [ + "call_llava()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c77bd493-f893-402e-b4e3-64854e9d2e19", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb b/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb new file mode 100644 index 0000000..18ca3be --- /dev/null +++ b/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "import base64\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", + "metadata": {}, + "outputs": [], + "source": [ + "def encode_image(image_path):\n", + " with open(image_path, 'rb') as f:\n", + " return base64.b64encode(f.read()).decode('utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", + "metadata": {}, + "outputs": [], + "source": [ + "# image_path = r\"C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\"\n", + "# image_base64 = encode_image(image_path)\n", + "# print(image_base64[:100]) " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", + "metadata": {}, + "outputs": [], + "source": [ + "image_list = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f8801a8-0c30-4199-a334-587096e6edeb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", + "metadata": {}, + "outputs": [], + "source": [ + "def put_image():\n", + " global image_list\n", + " user_input_image = input(\"Enter image path or press enter to skip: \").strip()\n", + " \n", + " if not user_input_image:\n", + " print(\"No image inserted\")\n", + " return image_list\n", + "\n", + " image_path = os.path.normpath(user_input_image)\n", + " \n", + " if not os.path.exists(image_path):\n", + " print(\"Image path not found! Try again or enter to leave blank\")\n", + " return put_image() # Continue to allow more inputs\n", + " \n", + "\n", + "\n", + "\n", + " \n", + " image_base64 = encode_image(image_path)\n", + " image_list.append(image_base64)\n", + " \n", + " # Detect file extension for MIME type\n", + " # ext = os.path.splitext(image_path)[-1].lower()\n", + " # mime_type = 'image/jpeg' if ext in ['.jpg', '.jpeg'] else 'image/png' # Extend if needed\n", + "\n", + "\n", + " return image_list\n", + " \n", + " # return f\"data:{mime_type};base64,{image_base64[:100]}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", + "metadata": {}, + "outputs": [], + "source": [ + "prompt= (\"System prompt: (You are a compassionate and intelligent visual assistant designed to help people who are blind or visually impaired. \"\n", + " \"Your job is to look at an image and describe it in a way that helps the user understand the scene clearly. \"\n", + " \"Use simple, descriptive language and avoid technical terms. Describe what is happening in the image, people's body language, clothing, facial expressions, objects, and surroundings. \"\n", + " \"Be vivid and precise, as if you are painting a picture with words. \"\n", + " \"Also, take into account any personal instructions or questions provided by the user—such as describing a specific person, activity, or object. \"\n", + " \"If the user includes a specific prompt, prioritize that in your description.)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "29494db0-4770-4689-9904-8eebc4390e7c", + "metadata": {}, + "outputs": [], + "source": [ + "def put_prompt():\n", + " global prompt\n", + " user_input = input(\"Put new prompt: \")\n", + " if not user_input:\n", + " print(\"please enter a prompt\")\n", + " return put_prompt()\n", + " prompt += \"\\nUser: \" + user_input\n", + " return prompt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", + "metadata": {}, + "outputs": [], + "source": [ + "def image_description():\n", + " global prompt\n", + "\n", + " put_image()\n", + " if not image_list: \n", + " return \"No images available. Skipping...\"\n", + "\n", + " user_prompt = put_prompt()\n", + " full_answer = \"\"\n", + "\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=user_prompt,\n", + " images=image_list,\n", + " stream=True\n", + " ):\n", + " content = chunk.get(\"response\", \"\")\n", + " print(\"\\n\\n Final Answer:\",content, end=\"\", flush=True) # Live stream to console\n", + " full_answer += content\n", + "\n", + " prompt += \"\\nUser: \" + user_prompt + \"\\nAssistant: \" + full_answer\n", + " return full_answer\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llava():\n", + " image_list.clear()\n", + " for i in range(5):\n", + " print(f\"\\n Iteration {i+1}\")\n", + " answer = image_description()\n", + " print(\"\\n\\n Final Answer:\", answer)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15518865-6c59-4029-bc2d-42d313eb78bc", + "metadata": {}, + "outputs": [], + "source": [ + "call_llava()" + ] + }, + { + "cell_type": "markdown", + "id": "23de3b59-3699-4270-9392-99fccdede83e", + "metadata": {}, + "source": [ + "# second week practice on personal project making model faster and smarter by using tools\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "9d44c59e-5eb7-4b00-9489-e05d7c8c3eda", + "metadata": {}, + "outputs": [], + "source": [ + "messages = []\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "061ea026-d4c6-4d6c-bb9b-f6430de9f5af", + "metadata": {}, + "outputs": [], + "source": [ + "system_content = (\n", + " \"You are a helpful assistant for visually impaired users. \"\n", + " \"You are capable of answering questions directly or calling a function to analyze an image if needed. \"\n", + " \"There is a list of images available, indexed from 0. \"\n", + " \"When a user asks a question, first determine whether any image in the list is needed to answer. \"\n", + " \"If yes, reply in this structured format:\\n\\n\"\n", + " \"TOOL_CALL: analyze_image(, prompt='')\\n\\n\"\n", + " \"If image is not needed, just answer the user directly in plain natural language.\\n\"\n", + " \"Be clear and use descriptive but accessible language suitable for blind users.\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2f859450-eb3e-4e6c-9602-84f91f5ffda7", + "metadata": {}, + "outputs": [], + "source": [ + "messages.append({\"role\":\"system\",\"content\":system_content})" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "a8009b75-3468-4694-887d-6cd5132c2907", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_loop():\n", + " \"\"\"Main chat interaction loop (single-turn version)\"\"\"\n", + " global image_list, messages\n", + " \n", + " print(\"\\n\" + \"=\"*50)\n", + " print(\"LLaVA Assistant for Visually Impaired Users\")\n", + " print(\"=\"*50 + \"\\n\")\n", + " \n", + " # Step 1: Load images\n", + " print(\"Step 1: Add images (optional)\")\n", + " put_image()\n", + " messages.append({\n", + " \"role\": \"system\", \n", + " \"content\": f\"There are {len(image_list)} images available (index 0-{len(image_list)-1}).\"\n", + " })\n", + " \n", + " # Step 2: Single chat interaction\n", + " print(\"\\nStep 2: Ask a question about the images\")\n", + " user_content = put_prompt()\n", + " messages.append({\"role\": \"user\", \"content\": user_content})\n", + " \n", + " # Get model response\n", + " try:\n", + " response = ollama.chat(\n", + " model='llava:7b-v1.6',\n", + " messages=messages\n", + " )[\"message\"][\"content\"]\n", + " print(\"assistant: \",response) \n", + " processed_response = process_response(response)\n", + " print(f\"\\nASSISTANT: {processed_response}\\n\")\n", + " \n", + " except Exception as e:\n", + " print(f\"Error occurred: {e}\")\n", + " \n", + " print(\"\\nSession ended. Goodbye!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3b3ff73-3cd5-4e5a-a37e-aaa8b325613c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ee2de6d7-a0bf-45fc-8d5c-98e0055519b0", + "metadata": {}, + "outputs": [], + "source": [ + "def process_response(response):\n", + " \"\"\"Process the model's response and handle tool calls\"\"\"\n", + " if response.strip().startswith(\"TOOL_CALL:\"):\n", + " # Extract image index/range and prompt from TOOL_CALL\n", + " pattern = r\"TOOL_CALL:\\s*analyze_image\\((.*?)\\s*,\\s*prompt='(.*?)'\\)\"\n", + " match = re.search(pattern, response, re.DOTALL)\n", + " \n", + " if not match:\n", + " error_msg = \"Error: Invalid TOOL_CALL format.\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " \n", + " image_expr = match.group(1).strip()\n", + " prompt = match.group(2).strip()\n", + " \n", + " try:\n", + " # Handle different index formats\n", + " if \":\" in image_expr: # Range (e.g., \"1:3\")\n", + " start, end = map(int, image_expr.split(\":\"))\n", + " index_or_range = list(range(start, end))\n", + " else: # Single index\n", + " index_or_range = int(image_expr)\n", + " \n", + " # Validate indices\n", + " max_index = len(image_list) - 1\n", + " if isinstance(index_or_range, list):\n", + " if any(i < 0 or i > max_index for i in index_or_range):\n", + " error_msg = f\"Error: Image index out of range (0-{max_index}).\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " elif index_or_range < 0 or index_or_range > max_index:\n", + " error_msg = f\"Error: Image index out of range (0-{max_index}).\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " \n", + " # Perform analysis\n", + " result = analyze_image(index_or_range, prompt)\n", + " print(\"funtion called\")\n", + " messages.append({\n", + " \"role\": \"function\",\n", + " \"name\": \"analyze_image\",\n", + " \"content\": result\n", + " })\n", + " \n", + " # Return formatted result\n", + " formatted_result = f\"\\nIMAGE ANALYSIS RESULT:\\n{result}\"\n", + " return formatted_result\n", + "\n", + " except Exception as e:\n", + " error_msg = f\"Error processing TOOL_CALL: {e}\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " else:\n", + " messages.append({\"role\": \"assistant\", \"content\": response})\n", + " return response" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "ea82f8f6-c321-4fbc-81ee-a508b087d53b", + "metadata": {}, + "outputs": [], + "source": [ + "def analyze_image(index_or_range, prompt):\n", + " \"\"\"Analyze specific image(s) using LLaVA\"\"\"\n", + " global image_list\n", + " \n", + " # Handle single index or range\n", + " if isinstance(index_or_range, int):\n", + " images = [image_list[index_or_range]]\n", + " elif isinstance(index_or_range, list):\n", + " images = [image_list[i] for i in index_or_range]\n", + " else:\n", + " return \"Invalid image index/range specified.\"\n", + " \n", + " if not images:\n", + " return \"No images available for analysis.\"\n", + " \n", + " full_prompt = (\n", + " \"Describe the image clearly for a visually impaired user. \"\n", + " \"Be detailed about objects, people, colors, spatial relationships, \"\n", + " \"and any important context. \"\n", + " f\"User's specific request: {prompt}\"\n", + " )\n", + " \n", + " output = \"\"\n", + " try:\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=full_prompt,\n", + " images=images,\n", + " stream=True\n", + " ):\n", + " output += chunk.get('response', \"\")\n", + " except Exception as e:\n", + " return f\"Error analyzing image: {e}\"\n", + " \n", + " return output\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2040b020-8944-409b-8ebb-10d7ffef1748", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "==================================================\n", + "LLaVA Assistant for Visually Impaired Users\n", + "==================================================\n", + "\n", + "Step 1: Add images (optional)\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Step 2: Ask a question about the images\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: descibe this image\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "assistant: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", + "\n", + "ASSISTANT: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", + "\n", + "\n", + "Session ended. Goodbye!\n", + "\n", + "==================================================\n", + "LLaVA Assistant for Visually Impaired Users\n", + "==================================================\n", + "\n", + "Step 1: Add images (optional)\n" + ] + } + ], + "source": [ + "image_list.clear\n", + "for i in range(5):\n", + " chat_loop()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c7c40d7-df9d-464a-89da-1c6fe613c31d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 8aea2fda45ac6e1981a0c89765255c5fcce5c75b Mon Sep 17 00:00:00 2001 From: lakshya Date: Tue, 26 Aug 2025 02:07:58 +0530 Subject: [PATCH 127/176] Ai Assistant For Visually Impared People --- .../llava-For-Image-week1.ipynb | 376 ++++++++++++++ ...k2-ChainForRealTimeCaptionGeneration.ipynb | 486 ++++++++++++++++++ 2 files changed, 862 insertions(+) create mode 100644 community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb create mode 100644 community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb diff --git a/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb new file mode 100644 index 0000000..99c2c92 --- /dev/null +++ b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb @@ -0,0 +1,376 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "import base64\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", + "metadata": {}, + "outputs": [], + "source": [ + "def encode_image(image_path):\n", + " with open(image_path, 'rb') as f:\n", + " return base64.b64encode(f.read()).decode('utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", + "metadata": {}, + "outputs": [], + "source": [ + "# image_path = r\"C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\"\n", + "# image_base64 = encode_image(image_path)\n", + "# print(image_base64[:100]) " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", + "metadata": {}, + "outputs": [], + "source": [ + "image_list = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f8801a8-0c30-4199-a334-587096e6edeb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", + "metadata": {}, + "outputs": [], + "source": [ + "def put_image():\n", + " global image_list\n", + " user_input_image = input(\"Enter image path or press enter to skip: \").strip()\n", + " \n", + " if not user_input_image:\n", + " print(\"No image inserted\")\n", + " return image_list\n", + "\n", + " image_path = os.path.normpath(user_input_image)\n", + " \n", + " if not os.path.exists(image_path):\n", + " print(\"Image path not found! Try again or enter to leave blank\")\n", + " return put_image() # Continue to allow more inputs\n", + " \n", + "\n", + "\n", + "\n", + " \n", + " image_base64 = encode_image(image_path)\n", + " image_list.append(image_base64)\n", + " \n", + " # Detect file extension for MIME type\n", + " # ext = os.path.splitext(image_path)[-1].lower()\n", + " # mime_type = 'image/jpeg' if ext in ['.jpg', '.jpeg'] else 'image/png' # Extend if needed\n", + "\n", + "\n", + " return image_list\n", + " \n", + " # return f\"data:{mime_type};base64,{image_base64[:100]}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", + "metadata": {}, + "outputs": [], + "source": [ + "prompt= (\"System prompt: (You are a compassionate and intelligent visual assistant designed to help people who are blind or visually impaired. \"\n", + " \"Your job is to look at an image and describe it in a way that helps the user understand the scene clearly. \"\n", + " \"Use simple, descriptive language and avoid technical terms. Describe what is happening in the image, people's body language, clothing, facial expressions, objects, and surroundings. \"\n", + " \"Be vivid and precise, as if you are painting a picture with words. \"\n", + " \"Also, take into account any personal instructions or questions provided by the user—such as describing a specific person, activity, or object. \"\n", + " \"If the user includes a specific prompt, prioritize that in your description.)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "29494db0-4770-4689-9904-8eebc4390e7c", + "metadata": {}, + "outputs": [], + "source": [ + "def put_prompt():\n", + " global prompt\n", + " user_input = input(\"Put new prompt: \")\n", + " if not user_input:\n", + " print(\"please enter a prompt\")\n", + " return put_prompt()\n", + " prompt += \"\\nUser: \" + user_input\n", + " return prompt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", + "metadata": {}, + "outputs": [], + "source": [ + "def image_description():\n", + " global prompt\n", + "\n", + " put_image()\n", + " if not image_list: \n", + " return \"No images available. Skipping...\"\n", + "\n", + " user_prompt = put_prompt()\n", + " full_answer = \"\"\n", + "\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=user_prompt,\n", + " images=image_list,\n", + " stream=True\n", + " ):\n", + " content = chunk.get(\"response\", \"\")\n", + " print(\"\\n\\n Final Answer:\",content, end=\"\", flush=True) # Live stream to console\n", + " full_answer += content\n", + "\n", + " prompt += \"\\nUser: \" + user_prompt + \"\\nAssistant: \" + full_answer\n", + " return full_answer\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llava():\n", + " image_list.clear()\n", + " for i in range(5):\n", + " print(f\"\\n Iteration {i+1}\")\n", + " answer = image_description()\n", + " print(\"\\n\\n Final Answer:\", answer)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "15518865-6c59-4029-bc2d-42d313eb78bc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Iteration 1\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n", + "Put new prompt: can you describe what is in front of me\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", + "\n", + " Final Answer: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", + "\n", + " Iteration 2\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No image inserted\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: does that person look male or female and by looking at their face can you tell me how old they look roughly\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", + "\n", + " Final Answer: The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", + "\n", + " Iteration 3\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250502_01_13_00_Pro.jpg\n", + "Put new prompt: now what about this new image i just provided you can you describe it\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", + "\n", + " Final Answer: In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", + "\n", + " Iteration 4\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No image inserted\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: can you describe similarity within both images that you have right now\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " In the two images provided, there are several similarities:\n", + "\n", + "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", + "\n", + "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", + "\n", + "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", + "\n", + "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", + "\n", + "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", + "\n", + "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", + "\n", + " Final Answer: In the two images provided, there are several similarities:\n", + "\n", + "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", + "\n", + "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", + "\n", + "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", + "\n", + "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", + "\n", + "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", + "\n", + "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", + "\n", + " Iteration 5\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\Downloads\\images.jpeg\n", + "Put new prompt: what about this new one now describe in detail\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " User: can you describe what is in front of me\n", + "\n", + "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", + "\n", + "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", + "User: can you describe this new one now \n", + "\n", + " Final Answer: User: can you describe what is in front of me\n", + "\n", + "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", + "\n", + "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", + "User: can you describe this new one now \n" + ] + } + ], + "source": [ + "call_llava()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c77bd493-f893-402e-b4e3-64854e9d2e19", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb b/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb new file mode 100644 index 0000000..18ca3be --- /dev/null +++ b/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "import base64\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", + "metadata": {}, + "outputs": [], + "source": [ + "def encode_image(image_path):\n", + " with open(image_path, 'rb') as f:\n", + " return base64.b64encode(f.read()).decode('utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", + "metadata": {}, + "outputs": [], + "source": [ + "# image_path = r\"C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\"\n", + "# image_base64 = encode_image(image_path)\n", + "# print(image_base64[:100]) " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", + "metadata": {}, + "outputs": [], + "source": [ + "image_list = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f8801a8-0c30-4199-a334-587096e6edeb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", + "metadata": {}, + "outputs": [], + "source": [ + "def put_image():\n", + " global image_list\n", + " user_input_image = input(\"Enter image path or press enter to skip: \").strip()\n", + " \n", + " if not user_input_image:\n", + " print(\"No image inserted\")\n", + " return image_list\n", + "\n", + " image_path = os.path.normpath(user_input_image)\n", + " \n", + " if not os.path.exists(image_path):\n", + " print(\"Image path not found! Try again or enter to leave blank\")\n", + " return put_image() # Continue to allow more inputs\n", + " \n", + "\n", + "\n", + "\n", + " \n", + " image_base64 = encode_image(image_path)\n", + " image_list.append(image_base64)\n", + " \n", + " # Detect file extension for MIME type\n", + " # ext = os.path.splitext(image_path)[-1].lower()\n", + " # mime_type = 'image/jpeg' if ext in ['.jpg', '.jpeg'] else 'image/png' # Extend if needed\n", + "\n", + "\n", + " return image_list\n", + " \n", + " # return f\"data:{mime_type};base64,{image_base64[:100]}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", + "metadata": {}, + "outputs": [], + "source": [ + "prompt= (\"System prompt: (You are a compassionate and intelligent visual assistant designed to help people who are blind or visually impaired. \"\n", + " \"Your job is to look at an image and describe it in a way that helps the user understand the scene clearly. \"\n", + " \"Use simple, descriptive language and avoid technical terms. Describe what is happening in the image, people's body language, clothing, facial expressions, objects, and surroundings. \"\n", + " \"Be vivid and precise, as if you are painting a picture with words. \"\n", + " \"Also, take into account any personal instructions or questions provided by the user—such as describing a specific person, activity, or object. \"\n", + " \"If the user includes a specific prompt, prioritize that in your description.)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "29494db0-4770-4689-9904-8eebc4390e7c", + "metadata": {}, + "outputs": [], + "source": [ + "def put_prompt():\n", + " global prompt\n", + " user_input = input(\"Put new prompt: \")\n", + " if not user_input:\n", + " print(\"please enter a prompt\")\n", + " return put_prompt()\n", + " prompt += \"\\nUser: \" + user_input\n", + " return prompt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", + "metadata": {}, + "outputs": [], + "source": [ + "def image_description():\n", + " global prompt\n", + "\n", + " put_image()\n", + " if not image_list: \n", + " return \"No images available. Skipping...\"\n", + "\n", + " user_prompt = put_prompt()\n", + " full_answer = \"\"\n", + "\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=user_prompt,\n", + " images=image_list,\n", + " stream=True\n", + " ):\n", + " content = chunk.get(\"response\", \"\")\n", + " print(\"\\n\\n Final Answer:\",content, end=\"\", flush=True) # Live stream to console\n", + " full_answer += content\n", + "\n", + " prompt += \"\\nUser: \" + user_prompt + \"\\nAssistant: \" + full_answer\n", + " return full_answer\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llava():\n", + " image_list.clear()\n", + " for i in range(5):\n", + " print(f\"\\n Iteration {i+1}\")\n", + " answer = image_description()\n", + " print(\"\\n\\n Final Answer:\", answer)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15518865-6c59-4029-bc2d-42d313eb78bc", + "metadata": {}, + "outputs": [], + "source": [ + "call_llava()" + ] + }, + { + "cell_type": "markdown", + "id": "23de3b59-3699-4270-9392-99fccdede83e", + "metadata": {}, + "source": [ + "# second week practice on personal project making model faster and smarter by using tools\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "9d44c59e-5eb7-4b00-9489-e05d7c8c3eda", + "metadata": {}, + "outputs": [], + "source": [ + "messages = []\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "061ea026-d4c6-4d6c-bb9b-f6430de9f5af", + "metadata": {}, + "outputs": [], + "source": [ + "system_content = (\n", + " \"You are a helpful assistant for visually impaired users. \"\n", + " \"You are capable of answering questions directly or calling a function to analyze an image if needed. \"\n", + " \"There is a list of images available, indexed from 0. \"\n", + " \"When a user asks a question, first determine whether any image in the list is needed to answer. \"\n", + " \"If yes, reply in this structured format:\\n\\n\"\n", + " \"TOOL_CALL: analyze_image(, prompt='')\\n\\n\"\n", + " \"If image is not needed, just answer the user directly in plain natural language.\\n\"\n", + " \"Be clear and use descriptive but accessible language suitable for blind users.\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2f859450-eb3e-4e6c-9602-84f91f5ffda7", + "metadata": {}, + "outputs": [], + "source": [ + "messages.append({\"role\":\"system\",\"content\":system_content})" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "a8009b75-3468-4694-887d-6cd5132c2907", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_loop():\n", + " \"\"\"Main chat interaction loop (single-turn version)\"\"\"\n", + " global image_list, messages\n", + " \n", + " print(\"\\n\" + \"=\"*50)\n", + " print(\"LLaVA Assistant for Visually Impaired Users\")\n", + " print(\"=\"*50 + \"\\n\")\n", + " \n", + " # Step 1: Load images\n", + " print(\"Step 1: Add images (optional)\")\n", + " put_image()\n", + " messages.append({\n", + " \"role\": \"system\", \n", + " \"content\": f\"There are {len(image_list)} images available (index 0-{len(image_list)-1}).\"\n", + " })\n", + " \n", + " # Step 2: Single chat interaction\n", + " print(\"\\nStep 2: Ask a question about the images\")\n", + " user_content = put_prompt()\n", + " messages.append({\"role\": \"user\", \"content\": user_content})\n", + " \n", + " # Get model response\n", + " try:\n", + " response = ollama.chat(\n", + " model='llava:7b-v1.6',\n", + " messages=messages\n", + " )[\"message\"][\"content\"]\n", + " print(\"assistant: \",response) \n", + " processed_response = process_response(response)\n", + " print(f\"\\nASSISTANT: {processed_response}\\n\")\n", + " \n", + " except Exception as e:\n", + " print(f\"Error occurred: {e}\")\n", + " \n", + " print(\"\\nSession ended. Goodbye!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a3b3ff73-3cd5-4e5a-a37e-aaa8b325613c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ee2de6d7-a0bf-45fc-8d5c-98e0055519b0", + "metadata": {}, + "outputs": [], + "source": [ + "def process_response(response):\n", + " \"\"\"Process the model's response and handle tool calls\"\"\"\n", + " if response.strip().startswith(\"TOOL_CALL:\"):\n", + " # Extract image index/range and prompt from TOOL_CALL\n", + " pattern = r\"TOOL_CALL:\\s*analyze_image\\((.*?)\\s*,\\s*prompt='(.*?)'\\)\"\n", + " match = re.search(pattern, response, re.DOTALL)\n", + " \n", + " if not match:\n", + " error_msg = \"Error: Invalid TOOL_CALL format.\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " \n", + " image_expr = match.group(1).strip()\n", + " prompt = match.group(2).strip()\n", + " \n", + " try:\n", + " # Handle different index formats\n", + " if \":\" in image_expr: # Range (e.g., \"1:3\")\n", + " start, end = map(int, image_expr.split(\":\"))\n", + " index_or_range = list(range(start, end))\n", + " else: # Single index\n", + " index_or_range = int(image_expr)\n", + " \n", + " # Validate indices\n", + " max_index = len(image_list) - 1\n", + " if isinstance(index_or_range, list):\n", + " if any(i < 0 or i > max_index for i in index_or_range):\n", + " error_msg = f\"Error: Image index out of range (0-{max_index}).\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " elif index_or_range < 0 or index_or_range > max_index:\n", + " error_msg = f\"Error: Image index out of range (0-{max_index}).\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " \n", + " # Perform analysis\n", + " result = analyze_image(index_or_range, prompt)\n", + " print(\"funtion called\")\n", + " messages.append({\n", + " \"role\": \"function\",\n", + " \"name\": \"analyze_image\",\n", + " \"content\": result\n", + " })\n", + " \n", + " # Return formatted result\n", + " formatted_result = f\"\\nIMAGE ANALYSIS RESULT:\\n{result}\"\n", + " return formatted_result\n", + "\n", + " except Exception as e:\n", + " error_msg = f\"Error processing TOOL_CALL: {e}\"\n", + " messages.append({\"role\": \"assistant\", \"content\": error_msg})\n", + " return error_msg\n", + " else:\n", + " messages.append({\"role\": \"assistant\", \"content\": response})\n", + " return response" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "ea82f8f6-c321-4fbc-81ee-a508b087d53b", + "metadata": {}, + "outputs": [], + "source": [ + "def analyze_image(index_or_range, prompt):\n", + " \"\"\"Analyze specific image(s) using LLaVA\"\"\"\n", + " global image_list\n", + " \n", + " # Handle single index or range\n", + " if isinstance(index_or_range, int):\n", + " images = [image_list[index_or_range]]\n", + " elif isinstance(index_or_range, list):\n", + " images = [image_list[i] for i in index_or_range]\n", + " else:\n", + " return \"Invalid image index/range specified.\"\n", + " \n", + " if not images:\n", + " return \"No images available for analysis.\"\n", + " \n", + " full_prompt = (\n", + " \"Describe the image clearly for a visually impaired user. \"\n", + " \"Be detailed about objects, people, colors, spatial relationships, \"\n", + " \"and any important context. \"\n", + " f\"User's specific request: {prompt}\"\n", + " )\n", + " \n", + " output = \"\"\n", + " try:\n", + " for chunk in ollama.generate(\n", + " model='llava:7b-v1.6',\n", + " prompt=full_prompt,\n", + " images=images,\n", + " stream=True\n", + " ):\n", + " output += chunk.get('response', \"\")\n", + " except Exception as e:\n", + " return f\"Error analyzing image: {e}\"\n", + " \n", + " return output\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2040b020-8944-409b-8ebb-10d7ffef1748", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "==================================================\n", + "LLaVA Assistant for Visually Impaired Users\n", + "==================================================\n", + "\n", + "Step 1: Add images (optional)\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Step 2: Ask a question about the images\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Put new prompt: descibe this image\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "assistant: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", + "\n", + "ASSISTANT: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", + "\n", + "\n", + "Session ended. Goodbye!\n", + "\n", + "==================================================\n", + "LLaVA Assistant for Visually Impaired Users\n", + "==================================================\n", + "\n", + "Step 1: Add images (optional)\n" + ] + } + ], + "source": [ + "image_list.clear\n", + "for i in range(5):\n", + " chat_loop()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c7c40d7-df9d-464a-89da-1c6fe613c31d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 12e1044f49d3ed13e26bddf10e62a57f2864d45e Mon Sep 17 00:00:00 2001 From: lakshya Date: Tue, 26 Aug 2025 02:09:22 +0530 Subject: [PATCH 128/176] Ai Assistant For Visually Impared People --- .../llava-For-Image-week1.ipynb | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb index 99c2c92..2bced27 100644 --- a/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb +++ b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb @@ -1,8 +1,24 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "2a5df086", + "metadata": {}, + "source": [ + "# If Anyone is interested in this idea and want to contribute please let me know and contribute your idea/Code\n" + ] + }, + { + "cell_type": "markdown", + "id": "3b0d5f6e", + "metadata": {}, + "source": [ + "*IDEA* - For visually impaired individuals, daily life often presents numerous obstacles that many of us take for granted. While tools like Braille and guide dogs offer some support, they do not fully address the limitations faced in navigating the world. With over 43.3 million blind people globally, there is a pressing need for more inclusive technologies that help break these barriers. This project aims to do more than assist with daily tasks; it seeks to empower individuals to engage meaningfully with their environment. By providing real-time, contextually accurate captions, this system allows them to experience the world around them, feel less isolated, and regain a sense of autonomy. Beyond just aiding navigation, it provides a bridge to connection—helping them feel more alive, present, and capable. This project is not just about overcoming limitations; it’s about enriching lives and enabling a deeper, fuller interaction with the world, fostering a sense of belonging and independence.\n" + ] + }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", "metadata": {}, "outputs": [], @@ -186,7 +202,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n", @@ -205,7 +221,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter image path or press enter to skip: \n" @@ -219,7 +235,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Put new prompt: does that person look male or female and by looking at their face can you tell me how old they look roughly\n" @@ -237,7 +253,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250502_01_13_00_Pro.jpg\n", @@ -256,7 +272,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter image path or press enter to skip: \n" @@ -270,7 +286,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Put new prompt: can you describe similarity within both images that you have right now\n" @@ -312,7 +328,7 @@ ] }, { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\Downloads\\images.jpeg\n", From 6b528cf5d5dd1a71d4ba915a1b4abf8a0d712824 Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Tue, 26 Aug 2025 09:36:53 +0530 Subject: [PATCH 129/176] build a tool that take technical questions and responds with an explanation with Openai and Ollama --- .../week-1_exercise.ipynb | 337 ++++++++++++++++++ 1 file changed, 337 insertions(+) create mode 100644 week1/community-contributions/week-1_exercise.ipynb diff --git a/week1/community-contributions/week-1_exercise.ipynb b/week1/community-contributions/week-1_exercise.ipynb new file mode 100644 index 0000000..5072bc1 --- /dev/null +++ b/week1/community-contributions/week-1_exercise.ipynb @@ -0,0 +1,337 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "64d2e4a0", + "metadata": {}, + "source": [ + "# End of Week 1 Exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question,\n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e62b915e", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "import ollama\n", + "from dotenv import load_dotenv\n", + "import os\n", + "from IPython.display import display, update_display, Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8bdfc47a", + "metadata": {}, + "outputs": [], + "source": [ + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3'\n", + "load_dotenv()\n", + "\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "openai=OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "57983d03", + "metadata": {}, + "outputs": [], + "source": [ + "def create_messages(prompt=\"Describe some of the business applications of Generative AI\"):\n", + " \"\"\"Create properly formatted messages for API calls\"\"\"\n", + " messages = [\n", + " {\n", + " \"role\": \"system\",\n", + " \"content\": \"You are a helpful technical assistant that provides clear, detailed explanations for technical questions.\"\n", + " },\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " return messages" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a6bcb94d", + "metadata": {}, + "outputs": [], + "source": [ + "def answer_with_openai(prompt=\"Describe some of the business applications of Generative AI\"):\n", + " \"\"\"Get answer using OpenAI API and print in stream\"\"\"\n", + " try:\n", + " messages = create_messages(prompt)\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL_GPT,\n", + " messages=messages,\n", + " temperature=0.7,\n", + " stream=True\n", + " )\n", + " answer = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " if chunk.choices[0].delta.content:\n", + " answer += chunk.choices[0].delta.content\n", + " # Clean up markdown formatting for display\n", + " clean_answer = answer.replace(\"```\", \"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(clean_answer), display_id=display_handle.display_id)\n", + " return answer\n", + " except Exception as e:\n", + " return f\"Error with OpenAI: {str(e)}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e96159ab", + "metadata": {}, + "outputs": [], + "source": [ + "def answer_with_ollama(prompt=\"Describe some of the business applications of Generative AI\"):\n", + " \"\"\"Get answer using Ollama API and print in stream\"\"\"\n", + " try:\n", + " messages = create_messages(prompt)\n", + " stream = ollama.chat(\n", + " model=MODEL_LLAMA,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " answer = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " if chunk['message']['content']:\n", + " answer += chunk['message']['content']\n", + " # Clean up markdown formatting for display\n", + " clean_answer = answer.replace(\"```\", \"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(clean_answer), display_id=display_handle.display_id)\n", + " return answer\n", + " except Exception as e:\n", + " return f\"Error with Ollama: {str(e)}\"" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "ab72f8b6", + "metadata": {}, + "outputs": [], + "source": [ + "def technical_qa_tool(question, use_openai=True, use_ollama=True):\n", + " \"\"\"Main function to get technical explanations from both APIs\"\"\"\n", + " print(f\"Question: {question}\")\n", + " print(\"=\" * 80)\n", + " \n", + " if use_openai:\n", + " print(\"\\nšŸ¤– OpenAI Response:\")\n", + " print(\"-\" * 40)\n", + " answer_with_openai(question)\n", + " \n", + " if use_ollama:\n", + " print(\"\\nšŸ¦™ Ollama Response:\")\n", + " print(\"-\" * 40)\n", + " answer_with_ollama(question)\n", + " # display(Markdown(ollama_answer))\n", + " \n", + " print(\"\\n\" + \"=\" * 80)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1a6aa4a2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Question: What is the difference between supervised and unsupervised machine learning?\n", + "================================================================================\n", + "\n", + "šŸ¤– OpenAI Response:\n", + "----------------------------------------\n" + ] + }, + { + "data": { + "text/markdown": [ + "Supervised and unsupervised machine learning are two primary categories of machine learning techniques, and they differ mainly in how they learn from data and the type of problems they are used to solve. Here’s a detailed explanation of each:\n", + "\n", + "### Supervised Machine Learning\n", + "\n", + "**Definition**: In supervised learning, the model is trained on a labeled dataset, meaning that each training example is paired with an output label. The goal is to learn a mapping from inputs (features) to the output labels.\n", + "\n", + "**Characteristics**:\n", + "- **Labeled Data**: Requires a dataset that includes both the input features and the corresponding output labels.\n", + "- **Objective**: The objective is to predict the output for new, unseen data based on the learned mapping from the training data.\n", + "- **Common Techniques**:\n", + " - **Regression**: For predicting continuous values (e.g., predicting house prices).\n", + " - **Classification**: For predicting discrete labels (e.g., spam detection in emails).\n", + "- **Examples**:\n", + " - Predicting whether an email is spam or not based on various features (classification).\n", + " - Forecasting sales figures based on historical sales data (regression).\n", + "\n", + "### Unsupervised Machine Learning\n", + "\n", + "**Definition**: In unsupervised learning, the model is trained on data that is not labeled, meaning that it does not have predefined output labels. The goal is to discover patterns, groupings, or structures within the data.\n", + "\n", + "**Characteristics**:\n", + "- **Unlabeled Data**: Works with datasets that only have input features without any associated output labels.\n", + "- **Objective**: The objective is to explore the data and find hidden patterns or intrinsic structures without specific guidance.\n", + "- **Common Techniques**:\n", + " - **Clustering**: Grouping similar data points together (e.g., customer segmentation).\n", + " - **Dimensionality Reduction**: Reducing the number of features while retaining essential information (e.g., PCA - Principal Component Analysis).\n", + "- **Examples**:\n", + " - Grouping customers into segments based on purchasing behavior (clustering).\n", + " - Reducing the dimensionality of a dataset to visualize it in two or three dimensions (dimensionality reduction).\n", + "\n", + "### Key Differences\n", + "\n", + "1. **Data Type**:\n", + " - Supervised Learning: Requires labeled data.\n", + " - Unsupervised Learning: Works with unlabeled data.\n", + "\n", + "2. **Goal**:\n", + " - Supervised Learning: To learn a function that maps inputs to the correct outputs.\n", + " - Unsupervised Learning: To identify patterns or groupings in the input data.\n", + "\n", + "3. **Applications**:\n", + " - Supervised Learning: Typically used in scenarios where past data with known outcomes is available (e.g., fraud detection, image classification).\n", + " - Unsupervised Learning: Used for exploratory data analysis or when the outcome is not known (e.g., market basket analysis, anomaly detection).\n", + "\n", + "In summary, the primary difference between supervised and unsupervised machine learning lies in the presence or absence of labeled data and the objectives of the learning process. Supervised learning aims to predict outcomes based on existing labels, while unsupervised learning seeks to identify hidden structures in data without predefined labels." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "šŸ¦™ Ollama Response:\n", + "----------------------------------------\n" + ] + }, + { + "data": { + "text/markdown": [ + "In machine learning, there are two main categories: supervised and unsupervised learning. The key difference lies in the type of data used to train the model and the goal of the learning process.\n", + "\n", + "**Supervised Learning**\n", + "\n", + "In supervised learning, you have a labeled dataset that contains both input data (features) and corresponding output labels or target variables. The goal is to learn a mapping between the input data and the output labels so that the model can make accurate predictions on new, unseen data.\n", + "\n", + "Here are some characteristics of supervised learning:\n", + "\n", + "1. Labeled training data: You have a dataset with input data and corresponding output labels.\n", + "2. Specific goal: You want to predict the output label for a given input instance.\n", + "3. Model evaluation: You evaluate the performance of your model using metrics like accuracy, precision, recall, F1 score, etc.\n", + "\n", + "Examples of supervised learning tasks include:\n", + "\n", + "* Image classification (e.g., recognizing dogs vs. cats)\n", + "* Sentiment analysis (e.g., determining if text is positive or negative)\n", + "* Regression problems (e.g., predicting house prices based on features like number of bedrooms and square footage)\n", + "\n", + "**Unsupervised Learning**\n", + "\n", + "In unsupervised learning, you have an unlabeled dataset, and the goal is to discover patterns, relationships, or structure in the data without a specific target variable. This type of learning is often used for exploratory data analysis, feature selection, and dimensionality reduction.\n", + "\n", + "Here are some characteristics of unsupervised learning:\n", + "\n", + "1. Unlabeled training data: You have a dataset with only input features (no output labels).\n", + "2. No specific goal: You want to find interesting patterns or structure in the data.\n", + "3. Model evaluation: You evaluate the performance of your model using metrics like silhouette score, Calinski-Harabasz index, etc.\n", + "\n", + "Examples of unsupervised learning tasks include:\n", + "\n", + "* Clustering (e.g., grouping customers based on their purchase history)\n", + "* Dimensionality reduction (e.g., reducing the number of features in a dataset while preserving important information)\n", + "* Anomaly detection (e.g., identifying unusual behavior or outliers in financial transactions)\n", + "\n", + "In summary, supervised learning involves training a model to make predictions based on labeled data, whereas unsupervised learning aims to discover patterns and relationships in unlabeled data." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "================================================================================\n" + ] + } + ], + "source": [ + "# Test the tool with a technical question\n", + "technical_question = \"What is the difference between supervised and unsupervised machine learning?\"\n", + "technical_qa_tool(technical_question)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a976ce1", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b0a539e", + "metadata": {}, + "outputs": [], + "source": [ + "# Interactive version - uncomment to use\n", + "# user_question = input(\"Enter your technical question: \")\n", + "# technical_qa_tool(user_question)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From aa7fc8c7bd5e71ca98356569246390d3574c4640 Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Tue, 26 Aug 2025 17:06:44 -0400 Subject: [PATCH 130/176] Add week4 challenge to community-contributions --- .../unit-test-generator-v3.ipynb | 222 ++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 week4/community-contributions/unit-test-generator-v3.ipynb diff --git a/week4/community-contributions/unit-test-generator-v3.ipynb b/week4/community-contributions/unit-test-generator-v3.ipynb new file mode 100644 index 0000000..c47b6d0 --- /dev/null +++ b/week4/community-contributions/unit-test-generator-v3.ipynb @@ -0,0 +1,222 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "56957b7f-e289-4999-8a40-ce1a8378d8cd", + "metadata": {}, + "source": [ + "# Unit Test Generator\n", + "\n", + "The requirement: use a Frontier model to generate fast and repeatable unit tests for Python code.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ef67ef0-1bda-45bb-abca-f003217602d4", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import io\n", + "import sys\n", + "import ast\n", + "import unittest, contextlib\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import google.generativeai\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n", + "import gradio as gr\n", + "import subprocess\n", + "\n", + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "\n", + "openai = OpenAI()\n", + "claude = anthropic.Anthropic()\n", + "OPENAI_MODEL = \"gpt-4o\"\n", + "CLAUDE_MODEL = \"claude-3-7-sonnet-20250219\"\n", + "\n", + "system_message = \"You are an assistant that implements unit testing for Python code. \"\n", + "system_message += \"Respond only with Python code; use comments sparingly and do not provide any explanation other than occasional comments. \"\n", + "\n", + "def remove_main_block_from_code(code):\n", + " \"\"\"\n", + " Remove top-level `if __name__ == \"__main__\":` blocks from code.\n", + " \"\"\"\n", + " try:\n", + " tree = ast.parse(code)\n", + "\n", + " class RemoveMain(ast.NodeTransformer):\n", + " def visit_If(self, node):\n", + " # check if this is: if __name__ == \"__main__\":\n", + " test = node.test\n", + " if (\n", + " isinstance(test, ast.Compare) and\n", + " isinstance(test.left, ast.Name) and\n", + " test.left.id == \"__name__\" and\n", + " len(test.ops) == 1 and isinstance(test.ops[0], ast.Eq) and\n", + " len(test.comparators) == 1 and\n", + " isinstance(test.comparators[0], ast.Constant) and\n", + " test.comparators[0].value == \"__main__\"\n", + " ):\n", + " return None # remove this node entirely\n", + " return node\n", + "\n", + " tree = RemoveMain().visit(tree)\n", + " ast.fix_missing_locations(tree)\n", + " return ast.unparse(tree) # get back code as string\n", + " except Exception as e:\n", + " print(\"Error removing __main__ block:\", e)\n", + " return code # fallback: return original code if AST fails\n", + "\n", + "def user_prompt_for(python_file):\n", + " if isinstance(python_file, dict): # from Gradio\n", + " file_path = python_file[\"name\"]\n", + " elif hasattr(python_file, \"name\"): # tempfile\n", + " file_path = python_file.name\n", + " else: # string path\n", + " file_path = python_file\n", + "\n", + " with open(file_path, \"r\", encoding=\"utf-8\") as f:\n", + " python_code = f.read()\n", + "\n", + " # strip __main__ blocks\n", + " python_code = remove_main_block_from_code(python_code)\n", + "\n", + " user_prompt = \"Write unit tests for this Python code. \"\n", + " user_prompt += \"Respond only with Python code; do not explain your work other than a few comments. \"\n", + " user_prompt += \"The unit testing is done in Jupyterlab, so you should use packages that play nicely with the Jupyter kernel. \\n\\n\"\n", + " user_prompt += \"Include the original Python code in your generated output so that I can run all in one fell swoop.\\n\\n\"\n", + " user_prompt += python_code\n", + "\n", + " return user_prompt\n", + "\n", + "def messages_for(python_file):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(python_file)}\n", + " ]\n", + "\t\n", + "def stream_gpt(python_file): \n", + " stream = openai.chat.completions.create(model=OPENAI_MODEL, messages=messages_for(python_file), stream=True)\n", + " reply = \"\"\n", + " for chunk in stream:\n", + " fragment = chunk.choices[0].delta.content or \"\"\n", + " reply += fragment\n", + " yield reply.replace('```python\\n','').replace('```','')\n", + "\t\t\n", + "def stream_claude(python_file):\n", + " result = claude.messages.stream(\n", + " model=CLAUDE_MODEL,\n", + " max_tokens=2000,\n", + " system=system_message,\n", + " messages=[{\"role\": \"user\", \"content\": user_prompt_for(python_file)}],\n", + " )\n", + " reply = \"\"\n", + " with result as stream:\n", + " for text in stream.text_stream:\n", + " reply += text\n", + " yield reply.replace('```python\\n','').replace('```','')\n", + "\t\t\t\n", + "def unit_test(python_file, model):\n", + " if model==\"GPT\":\n", + " result = stream_gpt(python_file)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(python_file)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " for stream_so_far in result:\n", + " yield stream_so_far\n", + "\n", + "def execute_python(code):\n", + " buffer = io.StringIO()\n", + " try:\n", + " with contextlib.redirect_stdout(buffer), contextlib.redirect_stderr(buffer):\n", + " # execute code in isolated namespace\n", + " ns = {}\n", + " exec(code, ns)\n", + "\n", + " # manually collect TestCase subclasses\n", + " test_cases = [\n", + " obj for obj in ns.values()\n", + " if isinstance(obj, type) and issubclass(obj, unittest.TestCase)\n", + " ]\n", + " if test_cases:\n", + " suite = unittest.TestSuite()\n", + " for case in test_cases:\n", + " suite.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(case))\n", + " runner = unittest.TextTestRunner(stream=buffer, verbosity=2)\n", + " runner.run(suite)\n", + " except Exception as e:\n", + " print(f\"Error during execution: {e}\", file=buffer)\n", + "\n", + " return buffer.getvalue()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "670b8b78-0b13-488a-9533-59802b2fe101", + "metadata": {}, + "outputs": [], + "source": [ + "# --- Gradio UI ---\n", + "with gr.Blocks() as ui:\n", + " gr.Markdown(\"## Unit Test Generator\\nUpload a Python file and get structured unit testing.\")\n", + " with gr.Row(): # Row 1\n", + " orig_code = gr.File(label=\"Upload your Python file\", file_types=[\".py\"])\n", + " test_code = gr.Textbox(label=\"Unit test code:\", lines=10)\n", + " with gr.Row(): # Row 2\n", + " model = gr.Dropdown([\"GPT\", \"Claude\"], label=\"Select model\", value=\"GPT\")\n", + " with gr.Row(): # Row 3\n", + " generate = gr.Button(\"Generate unit test code\")\n", + " with gr.Row(): # Row 4\n", + " unit_run = gr.Button(\"Run Python unit test\")\n", + " with gr.Row(): # Row 5\n", + " test_out = gr.Textbox(label=\"Unit test result:\", lines=10)\n", + "\n", + " generate.click(unit_test, inputs=[orig_code, model], outputs=[test_code])\n", + "\n", + " unit_run.click(execute_python, inputs=[test_code], outputs=[test_out])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "609bbdc3-1e1c-4538-91dd-7d13134ab381", + "metadata": {}, + "outputs": [], + "source": [ + "ui.launch(inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 4176d43e1a35f8cbd59b5d7cbffc3ff0ddb4ace0 Mon Sep 17 00:00:00 2001 From: Kwon Lee Date: Wed, 27 Aug 2025 09:23:06 -0800 Subject: [PATCH 131/176] added a microsoft edge driver solution by refactoring an existing chrome driver selenium solution --- .../day1_selenium_microsoftedgedriver.ipynb | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 week1/community-contributions/day1_selenium_microsoftedgedriver.ipynb diff --git a/week1/community-contributions/day1_selenium_microsoftedgedriver.ipynb b/week1/community-contributions/day1_selenium_microsoftedgedriver.ipynb new file mode 100644 index 0000000..c2e6b86 --- /dev/null +++ b/week1/community-contributions/day1_selenium_microsoftedgedriver.ipynb @@ -0,0 +1,123 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3ba06289-d17a-4ccd-85f5-2b79956d4e59", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install selenium" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "935fe7b1-1807-4f75-863d-4c118e425a19", + "metadata": {}, + "outputs": [], + "source": [ + "pip show selenium" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eabbbc62-1de1-4883-9b3e-9c90145ea6c5", + "metadata": {}, + "outputs": [], + "source": [ + "from selenium import webdriver\n", + "from selenium.webdriver.edge.options import Options as EdgeOptions # Import EdgeOptions\n", + "from selenium.webdriver.edge.service import Service as EdgeService # Import EdgeService\n", + "from bs4 import BeautifulSoup\n", + "import time\n", + "import os\n", + "\n", + "class Website:\n", + " def __init__(self, url, driver_path=None, wait_time=3):\n", + " self.url = url\n", + " self.wait_time = wait_time\n", + "\n", + " # Headless Edge settings\n", + " options = EdgeOptions() # Use EdgeOptions\n", + " # options.add_argument(\"--headless\")\n", + " options.add_argument(\"--disable-gpu\")\n", + " options.add_argument(\"--no-sandbox\")\n", + " options.add_argument(\"--window-size=1920x1080\")\n", + "\n", + " # Driver path\n", + " if driver_path:\n", + " # For Edge, you might need to specify the path to msedgedriver\n", + " # For driver download, https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?form=MA13LH#downloads\n", + " service = EdgeService(executable_path=driver_path) # Use EdgeService\n", + " else:\n", + " # If msedgedriver.exe is in your system's PATH, you can omit executable_path\n", + " service = EdgeService()\n", + "\n", + " # Start browser\n", + " # Use webdriver.Edge() for Microsoft Edge\n", + " driver = webdriver.Edge(service=service, options=options)\n", + " driver.get(url)\n", + "\n", + " # Wait for the loading page\n", + " time.sleep(self.wait_time)\n", + "\n", + " # Take page source\n", + " html = driver.page_source\n", + " driver.quit()\n", + "\n", + " # Analysis with BeautifulSoup \n", + " soup = BeautifulSoup(html, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + "\n", + " # Clean irrelevant tags\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + "\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "852c52e2-bd4d-4bb9-94ef-e498c33f1a89", + "metadata": {}, + "outputs": [], + "source": [ + "site = Website(\"https://openai.com\", driver_path=\"/Users/klee/Documents/edgedriver_mac64_m1/msedgedriver\")\n", + "print(\"Title:\", site.title)\n", + "print(\"\\nFirst 500 character:\\n\", site.text[:500])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7620c685-c35c-4d6b-aaf1-a3da98f19ca7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 372f4ee82dbe81ecc559b162f9501fd335830cb0 Mon Sep 17 00:00:00 2001 From: Kartik Date: Thu, 28 Aug 2025 02:05:04 +0530 Subject: [PATCH 132/176] tools implemented --- week2/stock-api-day5.ipynb | 1180 ++++++++++++++++++++++++++++++++++++ 1 file changed, 1180 insertions(+) create mode 100644 week2/stock-api-day5.ipynb diff --git a/week2/stock-api-day5.ipynb b/week2/stock-api-day5.ipynb new file mode 100644 index 0000000..92d0769 --- /dev/null +++ b/week2/stock-api-day5.ipynb @@ -0,0 +1,1180 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bcb31876-4d8c-41ef-aa24-b8c78dfd5808", + "metadata": {}, + "source": [ + "# Project - Stock Information AI Assistant\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b7bd1bd7-19d9-4c4b-bc4b-9bc9cca8bd0f", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install finnhub-python" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import json\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import finnhub\n", + "from typing import Dict, List, Any, Optional\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialization\n", + "\n", + "load_dotenv(override=True)\n", + "\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "FINNHUB_API_KEY = os.getenv(\"FINNHUB_API_KEY\")\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + "\n", + "if FINNHUB_API_KEY:\n", + " print(f\"FINNHUB_API_KEY exists!\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "MODEL = \"gpt-5-mini\"\n", + "openai = OpenAI()\n", + "finnhub_client = finnhub.Client(api_key=FINNHUB_API_KEY)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee3aaa9a-5495-42fd-a382-803fbfa92eaf", + "metadata": {}, + "outputs": [], + "source": [ + "system_message += f\"\"\"\n", + "You are called \"TickerBot\", You are a helpful stock information assistant specializing in US stocks. You provide factual, educational information without investment advice. You have access to tools for:\n", + "- Stock symbol lookup\n", + "- Real-time quotes\n", + "- Company Financials\n", + "- Company News\n", + "- Market overview\n", + "\n", + "### **Core Principles**\n", + "**Educational Focus**: Explain financial metrics clearly and keep an educational tone.\n", + "**Factual**: NEVER give buy/sell advice or predictions.\n", + "**Accurate always**: If no data is available, inform the user in a friendly way. Always be accurate. If you don't know the answer, simply say so. Do not make up your own stock details information.\n", + "\n", + "### **How to Handle Different Requests**\n", + "- For all temporal reasoning in this chat you can use `get_current_time()` tool to get time and then relative to current time you can proceed.\n", + "- When users mention companies, search for symbols with the tool `search_symbol()` else proceed directly if obvious match\n", + "- Try to search for news or data for only for a maximum of 1 month time range, else it becomes a lot of data to parse. If user asks for recent news just check the last 5 days from today; For example if today is 10-06-2025, use from=\"2025-06-05\", to=\"2025-06-10\"\n", + "\n", + "**Single Stock Comprehensive Analysis** (Use very judicially as it is time taking tool, only when user definitely needs a complete overview or multiple things that you would otherwise need to call multiple tools for):\n", + "- User asks about \"Apple\" or \"AAPL\" → Use all company specific tools that you deem necessary. \n", + "- Present a comprehensive analysis with current price, key metrics, and recent developments\n", + "\n", + "**Market Overview Requests**:\n", + "- \"What's happening in the market?\" → Use `get_market_overview(\"general\")`\n", + "- Summarize all news stories with very brief analysis\n", + "\n", + "### **Error Handling**\n", + "- If symbol search fails: \"I couldn't find that company in US markets. Could you try a different name or provide the ticker symbol?\"\n", + "- If some information gathered from the tool call says unavailable or error do not present it to the user unless they had specifically asked for it. Present rest of the gathered information if any.\n", + "- If data is unavailable: \"Some data isn't available right now, but here's what I found...\"\n", + "- Stay helpful and suggest alternatives\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", + "metadata": {}, + "outputs": [], + "source": [ + "def validate_symbol(symbol: str) -> bool:\n", + " \"\"\"Validate stock symbol format\"\"\"\n", + " if not symbol or not isinstance(symbol, str):\n", + " return False\n", + " return symbol.isalnum() and 1 <= len(symbol) <= 5 and symbol.isupper()\n", + "\n", + "def search_symbol(query: str) -> Dict[str, Any]:\n", + " \"\"\"Search for stock symbol using Finnhub client\"\"\"\n", + " print(f\"Tool search_symbol called for {query}\")\n", + " try:\n", + " if not query or len(query.strip()) < 1:\n", + " return {\"success\": False, \"error\": \"Invalid search query\"}\n", + " \n", + " query = query.strip()[:50]\n", + " result = finnhub_client.symbol_lookup(query)\n", + " \n", + " if result.get(\"result\") and len(result[\"result\"]) > 0:\n", + " first_result = result[\"result\"][0]\n", + " symbol = first_result.get(\"symbol\", \"\").upper()\n", + " \n", + " if validate_symbol(symbol):\n", + " return {\n", + " \"success\": True,\n", + " \"symbol\": symbol\n", + " }\n", + " else:\n", + " return {\"success\": False, \"error\": \"Invalid symbol format found\"}\n", + " else:\n", + " return {\"success\": False, \"error\": \"No matching US stocks found\"}\n", + " \n", + " except Exception as e:\n", + " return {\"success\": False, \"error\": f\"Symbol search failed: {str(e)[:100]}\"}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "173010e3-dfef-4611-8b68-d11256bd5fba", + "metadata": {}, + "outputs": [], + "source": [ + "search_symbol_function = {\n", + " \"name\": \"search_symbol\",\n", + " \"description\": \"Search for a stock symbol / ticker symbol based on company name or partial name\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"query\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Company name or partial name to search for, extract only relevant name part and pass it here, keep this to less than 50 characters\"\n", + " }\n", + " },\n", + " \"required\": [\n", + " \"query\"\n", + " ]\n", + " }\n", + "}\n", + "\n", + "search_symbol_tool = {\"type\": \"function\", \"function\": search_symbol_function}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "448bb4ce-8e86-4ceb-ab52-96bddfd33337", + "metadata": {}, + "outputs": [], + "source": [ + "def _format_big_number_from_millions(value_millions: Any) -> str:\n", + " \"\"\"\n", + " Finnhub returns some large metrics (marketCapitalization, enterpriseValue, revenueTTM)\n", + " in MILLIONS USD. Convert to full USD and format with M/B/T suffixes.\n", + " \"\"\"\n", + " if value_millions is None:\n", + " return \"Unavailable\"\n", + " try:\n", + " value = float(value_millions) * 1_000_000 # convert millions -> full USD\n", + " except (TypeError, ValueError):\n", + " return \"Unavailable\"\n", + "\n", + " trillion = 1_000_000_000_000\n", + " billion = 1_000_000_000\n", + " million = 1_000_000\n", + "\n", + " if value >= trillion:\n", + " return f\"{value / trillion:.2f}T USD\"\n", + " if value >= billion:\n", + " return f\"{value / billion:.2f}B USD\"\n", + " if value >= million:\n", + " return f\"{value / million:.2f}M USD\"\n", + " return f\"{value:.2f} USD\"\n", + "\n", + "\n", + "def _safe_metric(metrics: Dict[str, Any], key: str) -> Any:\n", + " \"\"\"\n", + " Return metric value if present; otherwise \"Unavailable\".\n", + " We intentionally return the raw value for numeric metrics (no rounding/format)\n", + " except for the specially formatted big-number fields handled elsewhere.\n", + " \"\"\"\n", + " if metrics is None:\n", + " return \"Unavailable\"\n", + " val = metrics.get(key)\n", + " return val if val is not None else \"Unavailable\"\n", + "\n", + "\n", + "def get_company_financials(symbol: str) -> Dict[str, Any]:\n", + " \"\"\"\n", + " Fetch and return a curated set of 'basic' financial metrics for `symbol`.\n", + " - Calls finnhub_client.company_basic_financials(symbol, 'all')\n", + " - Formats market cap, enterprise value, revenue (Finnhub returns these in millions)\n", + " - Returns success flag and readable keys\n", + " \"\"\"\n", + " print(f\"Tool get_company_financials called for {symbol}\")\n", + " try:\n", + " if not symbol or not symbol.strip():\n", + " return {\"success\": False, \"error\": \"Invalid stock symbol\"}\n", + "\n", + " symbol = symbol.strip().upper()\n", + "\n", + " # --- API Call ---\n", + " financials_resp = finnhub_client.company_basic_financials(symbol, \"all\")\n", + "\n", + " # Finnhub places primary values under \"metric\"\n", + " metrics = financials_resp.get(\"metric\", {})\n", + " if not metrics:\n", + " return {\"success\": False, \"error\": \"No financial metrics found\"}\n", + "\n", + " # --- Build result using helpers ---\n", + " result = {\n", + " \"success\": True,\n", + " \"symbol\": symbol,\n", + " \"financials\": {\n", + " \"Market Cap\": _format_big_number_from_millions(metrics.get(\"marketCapitalization\")),\n", + " \"Enterprise Value\": _format_big_number_from_millions(metrics.get(\"enterpriseValue\")),\n", + " \"P/E Ratio (TTM)\": _safe_metric(metrics, \"peBasicExclExtraTTM\"),\n", + " \"Forward P/E\": _safe_metric(metrics, \"forwardPE\"),\n", + " \"Revenue (TTM)\": _format_big_number_from_millions(metrics.get(\"revenueTTM\")),\n", + " \"Gross Margin (TTM)\": _safe_metric(metrics, \"grossMarginTTM\"),\n", + " \"Net Profit Margin (TTM)\": _safe_metric(metrics, \"netProfitMarginTTM\"),\n", + " \"EPS (TTM)\": _safe_metric(metrics, \"epsTTM\"),\n", + " \"EPS Growth (5Y)\": _safe_metric(metrics, \"epsGrowth5Y\"),\n", + " \"Dividend Yield (Indicated Annual)\": _safe_metric(metrics, \"dividendYieldIndicatedAnnual\"),\n", + " \"Current Ratio (Quarterly)\": _safe_metric(metrics, \"currentRatioQuarterly\"),\n", + " \"Debt/Equity (Long Term, Quarterly)\": _safe_metric(metrics, \"longTermDebt/equityQuarterly\"),\n", + " \"Beta\": _safe_metric(metrics, \"beta\"),\n", + " \"52-Week High\": _safe_metric(metrics, \"52WeekHigh\"),\n", + " \"52-Week Low\": _safe_metric(metrics, \"52WeekLow\"),\n", + " }\n", + " }\n", + "\n", + " return result\n", + "\n", + " except Exception as e:\n", + " # keep error message short but useful for debugging\n", + " return {\"success\": False, \"error\": f\"Failed to fetch metrics: {str(e)[:200]}\"}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9df7b74e-fec8-4e75-92a9-31acc75e6e97", + "metadata": {}, + "outputs": [], + "source": [ + "get_company_financials_function = {\n", + " \"name\": \"get_company_financials\",\n", + " \"description\": \"Fetch and return a curated set of basic financial metrics for a stock symbol. Calls Finnhub's company_basic_financials API, formats large numbers (market cap, enterprise value, revenue) in M/B/T USD, and shows metrics like P/E ratios, EPS, margins, dividend yield, debt/equity, beta, and 52-week range. Returns 'Unavailable' for missing values.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"symbol\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Stock ticker symbol to fetch metrics for. Example: 'AAPL' for Apple Inc.\"\n", + " }\n", + " },\n", + " \"required\": [\n", + " \"symbol\"\n", + " ]\n", + " }\n", + "}\n", + "\n", + "\n", + "get_company_financials_tool = {\"type\": \"function\", \"function\": get_company_financials_function}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cfeeb200-3f30-4855-82b9-cc8b2a950f80", + "metadata": {}, + "outputs": [], + "source": [ + "def get_stock_quote(symbol: str) -> dict:\n", + " \"\"\"\n", + " Fetch the latest stock quote for a given ticker symbol using Finnhub's /quote endpoint.\n", + " Returns current price, daily high/low, open, previous close, percent change, and readable timestamp.\n", + " \"\"\"\n", + " print(f\"Tool get_stock_quote called for {symbol}\")\n", + " try:\n", + " if not symbol or len(symbol.strip()) < 1:\n", + " return {\"success\": False, \"error\": \"Invalid symbol provided\"}\n", + " \n", + " symbol = symbol.strip().upper()\n", + " data = finnhub_client.quote(symbol)\n", + "\n", + " if not data or \"c\" not in data:\n", + " return {\"success\": False, \"error\": \"No quote data found\"}\n", + " \n", + " # Convert epoch timestamp to ISO UTC if present\n", + " timestamp = data.get(\"t\")\n", + " if timestamp and isinstance(timestamp, (int, float)):\n", + " timestamp = datetime.utcfromtimestamp(timestamp).isoformat() + \"Z\"\n", + " else:\n", + " timestamp = \"Unavailable\"\n", + " \n", + " return {\n", + " \"success\": True,\n", + " \"symbol\": symbol,\n", + " \"current_price\": round(data.get(\"c\", 0), 2) if data.get(\"c\") is not None else \"Unavailable\",\n", + " \"change\": round(data.get(\"d\", 0), 2) if data.get(\"d\") is not None else \"Unavailable\",\n", + " \"percent_change\": f\"{round(data.get('dp', 0), 2)}%\" if data.get(\"dp\") is not None else \"Unavailable\",\n", + " \"high_price\": round(data.get(\"h\", 0), 2) if data.get(\"h\") is not None else \"Unavailable\",\n", + " \"low_price\": round(data.get(\"l\", 0), 2) if data.get(\"l\") is not None else \"Unavailable\",\n", + " \"open_price\": round(data.get(\"o\", 0), 2) if data.get(\"o\") is not None else \"Unavailable\",\n", + " \"previous_close\": round(data.get(\"pc\", 0), 2) if data.get(\"pc\") is not None else \"Unavailable\",\n", + " \"timestamp\": timestamp\n", + " }\n", + " except Exception as e:\n", + " return {\"success\": False, \"error\": f\"Quote retrieval failed: {str(e)[:100]}\"}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3724d92a-4515-4267-af6f-2c1ec2b6ed36", + "metadata": {}, + "outputs": [], + "source": [ + "get_stock_quote_function = {\n", + " \"name\": \"get_stock_quote\",\n", + " \"description\": \"Retrieve the latest stock quote for a given symbol, including current price, daily high/low, open, previous close, and percent change. Data is near real-time. Avoid constant polling; use websockets for streaming updates.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"symbol\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Stock ticker symbol to fetch the latest quote for. Example: 'AAPL', 'MSFT'.\"\n", + " }\n", + " },\n", + " \"required\": [\"symbol\"]\n", + " }\n", + "}\n", + "\n", + "get_stock_quote_tool = {\"type\": \"function\", \"function\": get_stock_quote_function}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62f5d477-6626-428f-b8eb-d763e736ef5b", + "metadata": {}, + "outputs": [], + "source": [ + "def get_company_news(symbol: str, _from: str, to: str):\n", + " \"\"\"\n", + " Fetch the top 5 latest company news for a stock symbol within a date range.\n", + " - Ensures the range does not exceed ~1 months (35 days).\n", + " - Best practice: Keep searches to a month or less to avoid too much data.\n", + "\n", + " Args:\n", + " symbol (str): Stock ticker (e.g., \"AAPL\").\n", + " _from (str): Start date in YYYY-MM-DD format.\n", + " to (str): End date in YYYY-MM-DD format.\n", + "\n", + " Returns:\n", + " list or dict: Cleaned news data or error message.\n", + " \"\"\"\n", + " # Validate date format\n", + " print(f\"Tool get_company_news called for {symbol} from {_from} to {to}\")\n", + " try:\n", + " start_date = datetime.strptime(_from, \"%Y-%m-%d\")\n", + " end_date = datetime.strptime(to, \"%Y-%m-%d\")\n", + " except ValueError:\n", + " return {\"success\": False, \"error\": \"Invalid date format. Use YYYY-MM-DD.\"}\n", + "\n", + " # Check date range\n", + " delta_days = (end_date - start_date).days\n", + " if delta_days > 35:\n", + " return {\n", + " \"success\": False, \n", + " \"error\": f\"Date range too large ({delta_days} days). \"\n", + " \"Please use a range of 1 months or less.\"\n", + " }\n", + "\n", + " # Fetch data\n", + " try:\n", + " news = finnhub_client.company_news(symbol, _from=_from, to=to)\n", + " except Exception as e:\n", + " return {\"success\": False, \"error\": str(e)}\n", + "\n", + " # Do not want to report just the latest news in the time period\n", + " if len(news) <= 10:\n", + " # If 10 or fewer articles, take all\n", + " selected_news = news\n", + " else:\n", + " # Take first 5 (oldest) and last 5 (newest)\n", + " selected_news = news[:5] + news[-5:]\n", + "\n", + " # Clean & transform objects\n", + " cleaned_news = []\n", + " for article in news:\n", + " cleaned_news.append({\n", + " \"summary\": article.get(\"summary\"),\n", + " \"source\": article.get(\"source\"),\n", + " \"published_at\": datetime.utcfromtimestamp(article[\"datetime\"]).strftime(\"%Y-%m-%d %H:%M:%S UTC\"),\n", + " \"related\": article.get(\"related\")\n", + " })\n", + "\n", + " return {\"success\": True, \"news\": cleaned_news}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5150ecb6-e3f1-46dc-94fa-2a9abe5165f6", + "metadata": {}, + "outputs": [], + "source": [ + "get_company_news_function = {\n", + " \"name\": \"get_company_news\",\n", + " \"description\": \"Fetch the top 5 most recent company news articles for a given stock symbol. āš ļø Avoid querying more than a 1-month range at a time as it may return too much data. Only tells news about company within last 1 year. An error is returned if the requested time range exceeds 1 month.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"symbol\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Stock ticker symbol, e.g., 'AAPL'.\"\n", + " },\n", + " \"_from\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Start date in YYYY-MM-DD format. Ensure it is not more than 1 year ago.\"\n", + " },\n", + " \"to\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"End date in YYYY-MM-DD format. Ensure it is not more than 1 year ago.\"\n", + " }\n", + " },\n", + " \"required\": [\n", + " \"symbol\",\n", + " \"_from\",\n", + " \"to\"\n", + " ]\n", + " }\n", + "}\n", + "\n", + "get_company_news_tool = {\"type\": \"function\", \"function\": get_company_news_function}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26dd7375-626f-4235-b4a2-f1926f62cc5e", + "metadata": {}, + "outputs": [], + "source": [ + "def get_market_news(category: str = \"general\"):\n", + " \"\"\"\n", + " Fetch the latest market news for a given category.\n", + " - Returns only the top 7 articles.\n", + "\n", + " Args:\n", + " category (str): News category. One of [\"general\", \"forex\", \"crypto\", \"merger\"].\n", + "\n", + " Returns:\n", + " list or dict: A cleaned list of news articles or error message.\n", + " \"\"\"\n", + " print(f\"Tool get_market_news called for category '{category}'\")\n", + "\n", + " try:\n", + " news = finnhub_client.general_news(category)\n", + " except Exception as e:\n", + " return {\"success\": False, \"error\": str(e)}\n", + "\n", + " # Do not want to report just the latest news in the time period\n", + " if len(news) <= 10:\n", + " # If 10 or fewer articles, take all\n", + " selected_news = news\n", + " else:\n", + " # Take first 5 (oldest) and last 5 (newest)\n", + " selected_news = news[:5] + news[-5:]\n", + "\n", + " # Clean & transform objects\n", + " cleaned_news = []\n", + " for article in news:\n", + " cleaned_news.append({\n", + " \"headline\": article.get(\"headline\"),\n", + " \"summary\": article.get(\"summary\"),\n", + " \"source\": article.get(\"source\"),\n", + " \"category\": article.get(\"category\"),\n", + " \"published_at\": datetime.utcfromtimestamp(article[\"datetime\"]).strftime(\"%Y-%m-%d %H:%M:%S UTC\"),\n", + " \"related\": article.get(\"related\")\n", + " })\n", + "\n", + " return {\"success\": True, \"news\": cleaned_news}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5bd1aa28-119c-4c7a-bdc0-161a582ab1cc", + "metadata": {}, + "outputs": [], + "source": [ + "get_market_news_function = {\n", + " \"name\": \"get_market_news\",\n", + " \"description\": \"Fetch the latest market news by category. Returns the top 10 news articles with headline, summary, source, category, published time (UTC), and URLs. Categories: general, forex, crypto, merger. Use this to quickly get relevant financial news.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"category\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"News category to fetch. One of: general, forex, crypto, merger.\"\n", + " }\n", + " },\n", + " \"required\": [\"category\"]\n", + " }\n", + "}\n", + "\n", + "get_market_news_tool = {\"type\": \"function\", \"function\": get_market_news_function}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3378855-b83c-4078-b1e9-5f03e55c7276", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf29bdd0-7603-45fc-ad39-790eb0b471d5", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a25474d9-128e-431f-9b4c-1b3897798f0b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", + "metadata": {}, + "outputs": [], + "source": [ + "# And this is included in a list of tools:\n", + "\n", + "tools = [{\"type\": \"function\", \"function\": price_function}]" + ] + }, + { + "cell_type": "markdown", + "id": "c3d3554f-b4e3-4ce7-af6f-68faa6dd2340", + "metadata": {}, + "source": [ + "## Getting OpenAI to use our Tool\n", + "\n", + "There's some fiddly stuff to allow OpenAI \"to call our tool\"\n", + "\n", + "What we actually do is give the LLM the opportunity to inform us that it wants us to run the tool.\n", + "\n", + "Here's how the new chat function looks:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, city = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0992986-ea09-4912-a076-8e5603ee631f", + "metadata": {}, + "outputs": [], + "source": [ + "# We have to write that function handle_tool_call:\n", + "\n", + "def handle_tool_call(message):\n", + " tool_call = message.tool_calls[0]\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " city = arguments.get('destination_city')\n", + " price = get_ticket_price(city)\n", + " response = {\n", + " \"role\": \"tool\",\n", + " \"content\": json.dumps({\"destination_city\": city,\"price\": price}),\n", + " \"tool_call_id\": tool_call.id\n", + " }\n", + " return response, city" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", + "metadata": {}, + "outputs": [], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + }, + { + "cell_type": "markdown", + "id": "473e5b39-da8f-4db1-83ae-dbaca2e9531e", + "metadata": {}, + "source": [ + "# Let's go multi-modal!!\n", + "\n", + "We can use DALL-E-3, the image generation model behind GPT-4o, to make us some images\n", + "\n", + "Let's put this in a function called artist.\n", + "\n", + "### Price alert: each time I generate an image it costs about 4 cents - don't go crazy with images!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c27c4ba-8ed5-492f-add1-02ce9c81d34c", + "metadata": {}, + "outputs": [], + "source": [ + "# Some imports for handling images\n", + "\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "773a9f11-557e-43c9-ad50-56cbec3a0f8f", + "metadata": {}, + "outputs": [], + "source": [ + "def artist(city):\n", + " image_response = openai.images.generate(\n", + " model=\"dall-e-3\",\n", + " prompt=f\"An image representing a vacation in {city}, showing tourist spots and everything unique about {city}, in a vibrant pop-art style\",\n", + " size=\"1024x1024\",\n", + " n=1,\n", + " response_format=\"b64_json\",\n", + " )\n", + " image_base64 = image_response.data[0].b64_json\n", + " image_data = base64.b64decode(image_base64)\n", + " return Image.open(BytesIO(image_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d877c453-e7fb-482a-88aa-1a03f976b9e9", + "metadata": {}, + "outputs": [], + "source": [ + "image = artist(\"New York City\")\n", + "display(image)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "728a12c5-adc3-415d-bb05-82beb73b079b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "f4975b87-19e9-4ade-a232-9b809ec75c9a", + "metadata": {}, + "source": [ + "## Audio (NOTE - Audio is optional for this course - feel free to skip Audio if it causes trouble!)\n", + "\n", + "And let's make a function talker that uses OpenAI's speech model to generate Audio\n", + "\n", + "### Troubleshooting Audio issues\n", + "\n", + "If you have any problems running this code below (like a FileNotFound error, or a warning of a missing package), you may need to install FFmpeg, a very popular audio utility.\n", + "\n", + "**For PC Users**\n", + "\n", + "Detailed instructions are [here](https://chatgpt.com/share/6724efee-6b0c-8012-ac5e-72e2e3885905) and summary instructions:\n", + "\n", + "1. Download FFmpeg from the official website: https://ffmpeg.org/download.html\n", + "\n", + "2. Extract the downloaded files to a location on your computer (e.g., `C:\\ffmpeg`)\n", + "\n", + "3. Add the FFmpeg bin folder to your system PATH:\n", + "- Right-click on 'This PC' or 'My Computer' and select 'Properties'\n", + "- Click on 'Advanced system settings'\n", + "- Click on 'Environment Variables'\n", + "- Under 'System variables', find and edit 'Path'\n", + "- Add a new entry with the path to your FFmpeg bin folder (e.g., `C:\\ffmpeg\\bin`)\n", + "- Restart your command prompt, and within Jupyter Lab do Kernel -> Restart kernel, to pick up the changes\n", + "\n", + "4. Open a new command prompt and run this to make sure it's installed OK\n", + "`ffmpeg -version`\n", + "\n", + "**For Mac Users**\n", + "\n", + "1. Install homebrew if you don't have it already by running this in a Terminal window and following any instructions: \n", + "`/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"`\n", + "\n", + "2. Then install FFmpeg with `brew install ffmpeg`\n", + "\n", + "3. Verify your installation with `ffmpeg -version` and if everything is good, within Jupyter Lab do Kernel -> Restart kernel to pick up the changes\n", + "\n", + "Message me or email me at ed@edwarddonner.com with any problems!" + ] + }, + { + "cell_type": "markdown", + "id": "4cc90e80-c96e-4dd4-b9d6-386fe2b7e797", + "metadata": {}, + "source": [ + "## To check you now have ffmpeg and can access it here\n", + "\n", + "Excecute the next cell to see if you get a version number. (Putting an exclamation mark before something in Jupyter Lab tells it to run it as a terminal command rather than python code).\n", + "\n", + "If this doesn't work, you may need to actually save and close down your Jupyter lab, and start it again from a new Terminal window (Mac) or Anaconda prompt (PC), remembering to activate the llms environment. This ensures you pick up ffmpeg.\n", + "\n", + "And if that doesn't work, please contact me!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b3be0fb-1d34-4693-ab6f-dbff190afcd7", + "metadata": {}, + "outputs": [], + "source": [ + "!ffmpeg -version\n", + "!ffprobe -version\n", + "!ffplay -version" + ] + }, + { + "cell_type": "markdown", + "id": "d91d3f8f-e505-4e3c-a87c-9e42ed823db6", + "metadata": {}, + "source": [ + "# For Mac users - and possibly many PC users too\n", + "\n", + "This version should work fine for you. It might work for Windows users too, but you might get a Permissions error writing to a temp file. If so, see the next section!\n", + "\n", + "As always, if you have problems, please contact me! (You could also comment out the audio talker() in the later code if you're less interested in audio generation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffbfe93b-5e86-4e68-ba71-b301cd5230db", + "metadata": {}, + "outputs": [], + "source": [ + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play(audio)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b88d775d-d357-4292-a1ad-5dc5ed567281", + "metadata": {}, + "outputs": [], + "source": [ + "talker(\"Well, hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "ad89a9bd-bb1e-4bbb-a49a-83af5f500c24", + "metadata": {}, + "source": [ + "# For Windows users (or any Mac users with problems above)\n", + "\n", + "## First try the Mac version above, but if you get a permissions error writing to a temp file, then this code should work instead.\n", + "\n", + "A collaboration between students Mark M. and Patrick H. and Claude got this resolved!\n", + "\n", + "Below are 4 variations - hopefully one of them will work on your PC. If not, message me please!\n", + "\n", + "And for Mac people - all 3 of the below work on my Mac too - please try these if the Mac version gave you problems.\n", + "\n", + "## PC Variation 1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d104b96a-02ca-4159-82fe-88e0452aa479", + "metadata": {}, + "outputs": [], + "source": [ + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from IPython.display import Audio, display\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=message)\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " output_filename = \"output_audio.mp3\"\n", + " with open(output_filename, \"wb\") as f:\n", + " f.write(audio_stream.read())\n", + "\n", + " # Play the generated audio\n", + " display(Audio(output_filename, autoplay=True))\n", + "\n", + "talker(\"Well, hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "3a5d11f4-bbd3-43a1-904d-f684eb5f3e3a", + "metadata": {}, + "source": [ + "## PC Variation 2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d59c8ebd-79c5-498a-bdf2-3a1c50d91aa0", + "metadata": {}, + "outputs": [], + "source": [ + "import tempfile\n", + "import subprocess\n", + "from io import BytesIO\n", + "from pydub import AudioSegment\n", + "import time\n", + "\n", + "def play_audio(audio_segment):\n", + " temp_dir = tempfile.gettempdir()\n", + " temp_path = os.path.join(temp_dir, \"temp_audio.wav\")\n", + " try:\n", + " audio_segment.export(temp_path, format=\"wav\")\n", + " time.sleep(3) # Student Dominic found that this was needed. You could also try commenting out to see if not needed on your PC\n", + " subprocess.call([\n", + " \"ffplay\",\n", + " \"-nodisp\",\n", + " \"-autoexit\",\n", + " \"-hide_banner\",\n", + " temp_path\n", + " ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n", + " finally:\n", + " try:\n", + " os.remove(temp_path)\n", + " except Exception:\n", + " pass\n", + " \n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + " play_audio(audio)\n", + "\n", + "talker(\"Well hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "96f90e35-f71e-468e-afea-07b98f74dbcf", + "metadata": {}, + "source": [ + "## PC Variation 3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8597c7f8-7b50-44ad-9b31-db12375cd57b", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from pydub import AudioSegment\n", + "from pydub.playback import play\n", + "from io import BytesIO\n", + "\n", + "def talker(message):\n", + " # Set a custom directory for temporary files on Windows\n", + " custom_temp_dir = os.path.expanduser(\"~/Documents/temp_audio\")\n", + " os.environ['TEMP'] = custom_temp_dir # You can also use 'TMP' if necessary\n", + " \n", + " # Create the folder if it doesn't exist\n", + " if not os.path.exists(custom_temp_dir):\n", + " os.makedirs(custom_temp_dir)\n", + " \n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + "\n", + " play(audio)\n", + "\n", + "talker(\"Well hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "e821224c-b069-4f9b-9535-c15fdb0e411c", + "metadata": {}, + "source": [ + "## PC Variation 4\n", + "\n", + "### Let's try a completely different sound library\n", + "\n", + "First run the next cell to install a new library, then try the cell below it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69d3c0d9-afcc-49e3-b829-9c9869d8b472", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install simpleaudio" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28f9cc99-36b7-4554-b3f4-f2012f614a13", + "metadata": {}, + "outputs": [], + "source": [ + "from pydub import AudioSegment\n", + "from io import BytesIO\n", + "import tempfile\n", + "import os\n", + "import simpleaudio as sa\n", + "\n", + "def talker(message):\n", + " response = openai.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\", # Also, try replacing onyx with alloy\n", + " input=message\n", + " )\n", + " \n", + " audio_stream = BytesIO(response.content)\n", + " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", + "\n", + " # Create a temporary file in a folder where you have write permissions\n", + " with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=False, dir=os.path.expanduser(\"~/Documents\")) as temp_audio_file:\n", + " temp_file_name = temp_audio_file.name\n", + " audio.export(temp_file_name, format=\"wav\")\n", + " \n", + " # Load and play audio using simpleaudio\n", + " wave_obj = sa.WaveObject.from_wave_file(temp_file_name)\n", + " play_obj = wave_obj.play()\n", + " play_obj.wait_done() # Wait for playback to finish\n", + "\n", + " # Clean up the temporary file afterward\n", + " os.remove(temp_file_name)\n", + " \n", + "talker(\"Well hi there\")" + ] + }, + { + "cell_type": "markdown", + "id": "7986176b-cd04-495f-a47f-e057b0e462ed", + "metadata": {}, + "source": [ + "## PC Users - if none of those 4 variations worked!\n", + "\n", + "Please get in touch with me. I'm sorry this is causing problems! We'll figure it out.\n", + "\n", + "Alternatively: playing audio from your PC isn't super-critical for this course, and you can feel free to focus on image generation and skip audio for now, or come back to it later." + ] + }, + { + "cell_type": "markdown", + "id": "1d48876d-c4fa-46a8-a04f-f9fadf61fb0d", + "metadata": {}, + "source": [ + "# Our Agent Framework\n", + "\n", + "The term 'Agentic AI' and Agentization is an umbrella term that refers to a number of techniques, such as:\n", + "\n", + "1. Breaking a complex problem into smaller steps, with multiple LLMs carrying out specialized tasks\n", + "2. The ability for LLMs to use Tools to give them additional capabilities\n", + "3. The 'Agent Environment' which allows Agents to collaborate\n", + "4. An LLM can act as the Planner, dividing bigger tasks into smaller ones for the specialists\n", + "5. The concept of an Agent having autonomy / agency, beyond just responding to a prompt - such as Memory\n", + "\n", + "We're showing 1 and 2 here, and to a lesser extent 3 and 5. In week 8 we will do the lot!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba820c95-02f5-499e-8f3c-8727ee0a6c0c", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + " image = None\n", + " \n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response, city = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " image = artist(city)\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", + " \n", + " reply = response.choices[0].message.content\n", + " history += [{\"role\":\"assistant\", \"content\":reply}]\n", + "\n", + " # Comment out or delete the next line if you'd rather skip Audio for now..\n", + " talker(reply)\n", + " \n", + " return history, image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38d0d27-33bf-4992-a2e5-5dbed973cde7", + "metadata": {}, + "outputs": [], + "source": [ + "# More involved Gradio code as we're not using the preset Chat interface!\n", + "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", + "\n", + "with gr.Blocks() as ui:\n", + " with gr.Row():\n", + " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", + " image_output = gr.Image(height=500)\n", + " with gr.Row():\n", + " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", + " with gr.Row():\n", + " clear = gr.Button(\"Clear\")\n", + "\n", + " def do_entry(message, history):\n", + " history += [{\"role\":\"user\", \"content\":message}]\n", + " return \"\", history\n", + "\n", + " entry.submit(do_entry, inputs=[entry, chatbot], outputs=[entry, chatbot]).then(\n", + " chat, inputs=chatbot, outputs=[chatbot, image_output]\n", + " )\n", + " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", + "\n", + "ui.launch(inbrowser=True)" + ] + }, + { + "cell_type": "markdown", + "id": "226643d2-73e4-4252-935d-86b8019e278a", + "metadata": {}, + "source": [ + "# Exercises and Business Applications\n", + "\n", + "Add in more tools - perhaps to simulate actually booking a flight. A student has done this and provided their example in the community contributions folder.\n", + "\n", + "Next: take this and apply it to your business. Make a multi-modal AI assistant with tools that could carry out an activity for your work. A customer support assistant? New employee onboarding assistant? So many possibilities! Also, see the week2 end of week Exercise in the separate Notebook." + ] + }, + { + "cell_type": "markdown", + "id": "7e795560-1867-42db-a256-a23b844e6fbe", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

I have a special request for you

\n", + " \n", + " My editor tells me that it makes a HUGE difference when students rate this course on Udemy - it's one of the main ways that Udemy decides whether to show it to others. If you're able to take a minute to rate this, I'd be so very grateful! And regardless - always please reach out to me at ed@edwarddonner.com if I can help at any point.\n", + " \n", + "
" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 7e73249dd67bcd0e91bf0c1e5f67aef62d82571c Mon Sep 17 00:00:00 2001 From: JacquieAM <69653489+JacquieAM@users.noreply.github.com> Date: Wed, 27 Aug 2025 18:01:50 -0500 Subject: [PATCH 133/176] Add website-summary notebook for community contribution --- .../jacquieAM/website-summary.ipynb | 329 ++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 week1/community-contributions/training-summary-translation-length/jacquieAM/website-summary.ipynb diff --git a/week1/community-contributions/training-summary-translation-length/jacquieAM/website-summary.ipynb b/week1/community-contributions/training-summary-translation-length/jacquieAM/website-summary.ipynb new file mode 100644 index 0000000..9c31463 --- /dev/null +++ b/week1/community-contributions/training-summary-translation-length/jacquieAM/website-summary.ipynb @@ -0,0 +1,329 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "9ab446e4-219c-4589-aa8f-9386adcf5c60", + "metadata": {}, + "outputs": [], + "source": [ + "## Project Overview\n", + "This project combines web scraping with OpenAI’s GPT models to summarize online training content. It extracts material from Microsoft’s **Quantum Computing Fundamentals** learning path, cleans it, and generates concise summaries per lesson as well as an overall course summary. \n", + "\n", + "## Key Features\n", + "- Fetches and parses webpages using **requests** and **BeautifulSoup** \n", + "- Produces summaries in multiple languages (e.g., English, Spanish, or any language) and at varying levels of detail (short, medium, detailed) \n", + "- Summarizes individual lessons on demand or processes entire learning paths \n", + "- Presents results as clean, structured **Markdown** directly in the notebook \n", + "\n", + "## Tech Stack\n", + "- **Model**: GPT-4o-mini \n", + "- **Language**: Python \n", + "- **Libraries**: BeautifulSoup, OpenAI \n", + "\n", + "## Purpose\n", + "This project demonstrates how AI can streamline the understanding of technical documentation and online courses by generating multilingual, customizable summaries. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables from .env file (not included)\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "training_website = Website(\"https://learn.microsoft.com/en-us/training/paths/quantum-computing-fundamentals/\")\n", + "print(training_website.title)\n", + "print(training_website.text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a system prompt function that can use different language and length \n", + "\n", + "def build_system_prompt(language=\"Spanish\", length=\"short\"):\n", + " return f\"\"\"You are an assistant that analyzes the contents of a website and provides a {length} summary, ignoring text that might be navigation related.\n", + " Respond in 20 words or less markdown, and respond in {language}.\n", + " \"\"\"\n", + " \n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "987c95a6-6618-4d22-a2c3-3038a9d3f154", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary in {language} of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a846c89-81d8-4f48-9d62-7744d76694e2", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(training_website))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(training_website))" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def messages_for(website, language=\"Spanish\", length=\"short\"):\n", + " return [\n", + " {\"role\": \"system\", \"content\": build_system_prompt(language, length)},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "425214b8-c5c5-4d7a-8b79-f9e151c9d54f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "#call the OpenAI API. \n", + "\n", + "def summarize(url, language=\"Spanish\", length=\"short\"):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=messages_for(website, language, length)\n", + " )\n", + " return response.choices[0].message.content\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c437357-d004-49f5-95c3-fce38aefcb5c", + "metadata": {}, + "outputs": [], + "source": [ + "#Summarize all the lessons in microsoft quantum computer training, having the option to summarize by lesson, or the training as a whole\n", + "\n", + "def summarize_training(path_url, language=\"Spanish\", length=\"short\"):\n", + " links = get_links_from_path(path_url)\n", + " print(f\"Found {len(links)} lessons\")\n", + "\n", + " all_summaries = []\n", + "\n", + " for link in links:\n", + " print(f\"Summarizing {link}...\")\n", + " summary = summarize(link, language, length)\n", + " all_summaries.append(f\"### {link}\\n{summary}\\n\")\n", + "\n", + " combined_prompt = \"Here are summaries of each lesson:\\n\\n\" + \"\\n\".join(all_summaries)\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-4o-mini\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": build_system_prompt(language, length)},\n", + " {\"role\": \"user\", \"content\": \"Please summarize the entire training path based on these lesson summaries:\\n\\n\" + combined_prompt}\n", + " ]\n", + " )\n", + "\n", + " return \"\\n\".join(all_summaries) + \"\\n\\n## General Course Summary\\n\" + response.choices[0].message.content\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://learn.microsoft.com/en-us/training/paths/quantum-computing-fundamentals/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://learn.microsoft.com/en-us/training/paths/quantum-computing-fundamentals/\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c62a1e5a3af6701b2118e33f0483a8ec997779aa Mon Sep 17 00:00:00 2001 From: Arundhati Date: Wed, 27 Aug 2025 21:17:24 -0400 Subject: [PATCH 134/176] Added Sushi Restaurant --- .../SushiRestaurant.ipynb | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 week2/community-contributions/SushiRestaurant.ipynb diff --git a/week2/community-contributions/SushiRestaurant.ipynb b/week2/community-contributions/SushiRestaurant.ipynb new file mode 100644 index 0000000..ad32c65 --- /dev/null +++ b/week2/community-contributions/SushiRestaurant.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "757905af-7f93-4dca-9526-063bc93a78c7", + "metadata": {}, + "source": [ + "# Sakana-ya (魚屋) Sushi\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a6721fb-efca-4412-a0a7-cc8e6c4ced76", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0fa458f-f73f-491c-b666-95db4b91f571", + "metadata": {}, + "outputs": [], + "source": [ + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa2846f2-e09c-421d-9774-c04961a79800", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "MODEL = 'gpt-4o-mini'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7672ecdf-cf50-4b96-887a-b0a4eb5bbbf5", + "metadata": {}, + "outputs": [], + "source": [ + " \n", + "menu = {\n", + " \"Nigiri (1 pc)\": {\n", + " \"Salmon\": 4.25,\n", + " \"Tuna\": 4.75,\n", + " \"Yellowtail\": 5.00,\n", + " \"Eel\": 5.25,\n", + " \"Tamago\": 3.00,\n", + " },\n", + " \"Sashimi (3 pc)\": {\n", + " \"Salmon\": 8.50,\n", + " \"Tuna\": 9.00,\n", + " \"Yellowtail\": 9.50,\n", + " \"Octopus\": 8.00,\n", + " },\n", + " \"Classic Rolls (6 pc)\": {\n", + " \"California\": 6.50,\n", + " \"Spicy Tuna\": 7.50,\n", + " \"Philadelphia\": 7.25,\n", + " \"Cucumber\": 4.50,\n", + " \"Avocado\": 4.75,\n", + " },\n", + " \"Specialty Rolls (8 pc)\": {\n", + " \"Dragon\": 13.50,\n", + " \"Rainbow\": 14.00,\n", + " \"Crunchy Shrimp\": 12.50,\n", + " \"Volcano\": 13.00,\n", + " \"Spider\": 14.50,\n", + " },\n", + " \"Appetizers\": {\n", + " \"Edamame\": 5.00,\n", + " \"Gyoza (5)\": 6.50,\n", + " \"Miso Soup\": 3.00,\n", + " \"Seaweed Salad\": 5.50,\n", + " },\n", + " \"Beverages\": {\n", + " \"Green Tea\": 2.50,\n", + " \"Ramune Soda\": 3.00,\n", + " \"Sparkling Water\": 2.75,\n", + " },\n", + " \"Desserts\": {\n", + " \"Mochi Ice Cream (2)\": 5.00,\n", + " \"Matcha Cheesecake\": 6.50,\n", + " },\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99914500-3630-4fea-987c-d19c760994c6", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " system_message = \"You are a helpful assistant for Sakana-ya (魚屋) Sushi restaurant.\\\n", + " Help out with information and if you dont know something just say you cant help with that.\"\n", + " system_message += json.dumps(menu)\n", + " system_message+=\"If something is not in the menu, we dont serve it.\\\n", + " If we dont have a dish just mention it that we dont offer it. \"\n", + "\n", + " sushi_exotic = [\n", + " {\"role\": \"user\", \"content\": \"Do you have aji?\"},\n", + " {\"role\": \"user\", \"content\": \"We currently dont have shun its available only during the season i.e in May.\"},\n", + " {\"role\": \"user\", \"content\": \"What about buri?\"},\n", + " {\"role\": \"user\", \"content\": \"Thats seasonal as well only during December. Do visit us during that time.\"},\n", + " \n", + " ]\n", + " \n", + " messages = [{\"role\": \"system\", \"content\": system_message}]+ sushi_exotic + history + [{\"role\": \"user\", \"content\": message}]\n", + " stream = openai.chat.completions.create(model=MODEL, messages=messages, stream=True)\n", + "\n", + " response = \"\"\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " yield response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5c61d91-abee-4ada-9a42-ae87cf53fcff", + "metadata": {}, + "outputs": [], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5aebd4f0de398315459b64f4cd1b7258b8b3bb4b Mon Sep 17 00:00:00 2001 From: prateektambe Date: Thu, 28 Aug 2025 21:12:18 +0530 Subject: [PATCH 135/176] Week3Day5 - Dataset generator --- .../SyntheticDataGenerator_PT.ipynb | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 community-contributions/SyntheticDataGenerator_PT.ipynb diff --git a/community-contributions/SyntheticDataGenerator_PT.ipynb b/community-contributions/SyntheticDataGenerator_PT.ipynb new file mode 100644 index 0000000..18cf4c6 --- /dev/null +++ b/community-contributions/SyntheticDataGenerator_PT.ipynb @@ -0,0 +1,141 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d08b387c-53fb-46d2-b083-5eebc3c97e1b", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install -q --upgrade torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124\n", + "!pip install -q requests bitsandbytes==0.46.0 transformers==4.48.3 accelerate==1.3.0 openai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f1851b2-890c-427b-8e70-b998efa04c67", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "from google.colab import drive\n", + "from huggingface_hub import login\n", + "from google.colab import userdata\n", + "from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer, BitsAndBytesConfig\n", + "import torch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2d334b5-453e-4213-8e1c-905d504d2dc1", + "metadata": {}, + "outputs": [], + "source": [ + "LLAMA = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1b3684c-c170-45f2-a83d-7e6e2ca1e23b", + "metadata": {}, + "outputs": [], + "source": [ + "hf_token = userdata.get('HF_TOKEN')\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c1b6dae-3213-4d68-8fa1-d195704790dc", + "metadata": {}, + "outputs": [], + "source": [ + "openai_api_key = userdata.get('OPENAI_API_KEY')\n", + "openai = OpenAI(api_key=openai_api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "988974c7-814c-478a-be7b-0928b0efdbab", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are an assistant that produces synthetic test data. The fields, data type of the field like numeric, date, alphanumeric etc., will be provided. Generate data considering all cases, if it is a workflow audit data then consider all touchpoint movements. Do not provide a python script to generate the data. Provide the data as a json with arrays.\"\n", + "user_prompt = \"\"\"Create a synthetic dataset for testing. \n", + "Column names and type - \n", + "ID: 10 digit number\n", + "TRACKING_ID: 13 character alphanumeric\n", + "CASE REPORT DATE : DD-MMM-YYYY HH:MM:SS\n", + "NOTIFICATION DATE : DD-MMM-YYYY HH:MM:SS\n", + "IN SCOPE : (Yes/No)\n", + "\"\"\"\n", + "\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40cebc04-abf0-4c61-8b18-f98d3c1fe680", + "metadata": {}, + "outputs": [], + "source": [ + "quant_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_use_double_quant=True,\n", + " bnb_4bit_compute_dtype=torch.bfloat16,\n", + " bnb_4bit_quant_type=\"nf4\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "710ba1af-8e12-4635-933b-00df8d2e3f9d", + "metadata": {}, + "outputs": [], + "source": [ + "tokenizer = AutoTokenizer.from_pretrained(LLAMA)\n", + "tokenizer.pad_token = tokenizer.eos_token\n", + "inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\").to(\"cuda\")\n", + "streamer = TextStreamer(tokenizer)\n", + "model = AutoModelForCausalLM.from_pretrained(LLAMA, device_map=\"auto\", quantization_config=quant_config)\n", + "outputs = model.generate(inputs, max_new_tokens=2000, streamer=streamer)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 2fca75f7ee647afc4bf6bea4e704dfe77fbc3e6c Mon Sep 17 00:00:00 2001 From: Kartik Date: Fri, 29 Aug 2025 02:34:53 +0530 Subject: [PATCH 136/176] tools linked to openai and chat interface with gradio --- week2/stock-api-day5.ipynb | 367 +++++++++++++++++++++++++++---------- 1 file changed, 271 insertions(+), 96 deletions(-) diff --git a/week2/stock-api-day5.ipynb b/week2/stock-api-day5.ipynb index 92d0769..aadb3b9 100644 --- a/week2/stock-api-day5.ipynb +++ b/week2/stock-api-day5.ipynb @@ -10,17 +10,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "b7bd1bd7-19d9-4c4b-bc4b-9bc9cca8bd0f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: finnhub-python in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (2.4.24)\n", + "Requirement already satisfied: requests>=2.22.0 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from finnhub-python) (2.32.3)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (3.4.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (2.4.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (2025.4.26)\n" + ] + } + ], "source": [ "!pip install finnhub-python" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", "metadata": {}, "outputs": [], @@ -39,10 +52,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, + "id": "ba0ddc1a-c775-4ed3-9531-ed0c5799e87f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-29 02:28:59,653 [INFO] Logger initialized!\n" + ] + } + ], + "source": [ + "import logging\n", + "\n", + "# Configure root logger\n", + "logging.basicConfig(\n", + " level=logging.INFO, # Set level: DEBUG, INFO, WARNING, ERROR\n", + " format=\"%(asctime)s [%(levelname)s] %(message)s\", \n", + " force=True # Ensures reconfiguration if you rerun this cell\n", + ")\n", + "\n", + "logger = logging.getLogger(__name__) # Use a global logger object\n", + "logger.info(\"Logger initialized!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-29 02:28:59,657 [INFO] OpenAI API Key exists and begins sk-proj-\n", + "2025-08-29 02:28:59,657 [INFO] FINNHUB_API_KEY exists!\n" + ] + } + ], "source": [ "# Initialization\n", "\n", @@ -52,14 +102,14 @@ "FINNHUB_API_KEY = os.getenv(\"FINNHUB_API_KEY\")\n", "\n", "if openai_api_key:\n", - " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + " logger.info(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", "else:\n", - " print(\"OpenAI API Key not set\")\n", + " logger.error(\"OpenAI API Key not set\")\n", "\n", "if FINNHUB_API_KEY:\n", - " print(f\"FINNHUB_API_KEY exists!\")\n", + " logger.info(f\"FINNHUB_API_KEY exists!\")\n", "else:\n", - " print(\"OpenAI API Key not set\")\n", + " logger.error(\"OpenAI API Key not set\")\n", " \n", "MODEL = \"gpt-5-mini\"\n", "openai = OpenAI()\n", @@ -68,12 +118,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "ee3aaa9a-5495-42fd-a382-803fbfa92eaf", "metadata": {}, "outputs": [], "source": [ - "system_message += f\"\"\"\n", + "system_message = f\"\"\"\n", "You are called \"TickerBot\", You are a helpful stock information assistant specializing in US stocks. You provide factual, educational information without investment advice. You have access to tools for:\n", "- Stock symbol lookup\n", "- Real-time quotes\n", @@ -91,10 +141,6 @@ "- When users mention companies, search for symbols with the tool `search_symbol()` else proceed directly if obvious match\n", "- Try to search for news or data for only for a maximum of 1 month time range, else it becomes a lot of data to parse. If user asks for recent news just check the last 5 days from today; For example if today is 10-06-2025, use from=\"2025-06-05\", to=\"2025-06-10\"\n", "\n", - "**Single Stock Comprehensive Analysis** (Use very judicially as it is time taking tool, only when user definitely needs a complete overview or multiple things that you would otherwise need to call multiple tools for):\n", - "- User asks about \"Apple\" or \"AAPL\" → Use all company specific tools that you deem necessary. \n", - "- Present a comprehensive analysis with current price, key metrics, and recent developments\n", - "\n", "**Market Overview Requests**:\n", "- \"What's happening in the market?\" → Use `get_market_overview(\"general\")`\n", "- Summarize all news stories with very brief analysis\n", @@ -109,7 +155,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, + "id": "fdf1a2b0-07be-47a0-9ce3-14d21b48c8f2", + "metadata": {}, + "outputs": [], + "source": [ + "def get_current_time() -> Dict[str, Any]:\n", + " \"\"\"\n", + " Retrieve the current UTC time in ISO format with timezone.\n", + " Returns a dictionary for consistency with other tools.\n", + " \"\"\"\n", + " try:\n", + " current_time = datetime.utcnow().isoformat() + 'Z'\n", + " return {\n", + " \"success\": True,\n", + " \"current_time\": current_time\n", + " }\n", + " except Exception as e:\n", + " return {\"success\": False, \"error\": f\"Failed to get time: {str(e)[:100]}\"}" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "12d912fc-91fb-469e-9572-2876a099f5aa", + "metadata": {}, + "outputs": [], + "source": [ + "get_current_time_function = {\n", + " \"name\": \"get_current_time\",\n", + " \"description\": \"Get the current UTC time in ISO format (YYYY-MM-DDTHH:MM:SS.ssssssZ). Useful for temporal reasoning, date calculations, or setting time ranges for queries like news.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {}, # No parameters needed\n", + " \"required\": []\n", + " }\n", + "}\n", + "get_current_time_tool = {\"type\": \"function\", \"function\": get_current_time_function}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", "metadata": {}, "outputs": [], @@ -122,13 +209,14 @@ "\n", "def search_symbol(query: str) -> Dict[str, Any]:\n", " \"\"\"Search for stock symbol using Finnhub client\"\"\"\n", - " print(f\"Tool search_symbol called for {query}\")\n", + " logger.info(f\"Tool search_symbol called for {query}\")\n", " try:\n", " if not query or len(query.strip()) < 1:\n", " return {\"success\": False, \"error\": \"Invalid search query\"}\n", " \n", " query = query.strip()[:50]\n", " result = finnhub_client.symbol_lookup(query)\n", + " logger.info(f\"Tool search_symbol {result}\")\n", " \n", " if result.get(\"result\") and len(result[\"result\"]) > 0:\n", " first_result = result[\"result\"][0]\n", @@ -150,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "173010e3-dfef-4611-8b68-d11256bd5fba", "metadata": {}, "outputs": [], @@ -177,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "448bb4ce-8e86-4ceb-ab52-96bddfd33337", "metadata": {}, "outputs": [], @@ -226,7 +314,7 @@ " - Formats market cap, enterprise value, revenue (Finnhub returns these in millions)\n", " - Returns success flag and readable keys\n", " \"\"\"\n", - " print(f\"Tool get_company_financials called for {symbol}\")\n", + " logger.info(f\"Tool get_company_financials called for {symbol}\")\n", " try:\n", " if not symbol or not symbol.strip():\n", " return {\"success\": False, \"error\": \"Invalid stock symbol\"}\n", @@ -235,6 +323,7 @@ "\n", " # --- API Call ---\n", " financials_resp = finnhub_client.company_basic_financials(symbol, \"all\")\n", + " logger.info(f\"Tool company_basic_financials {financials_resp}\")\n", "\n", " # Finnhub places primary values under \"metric\"\n", " metrics = financials_resp.get(\"metric\", {})\n", @@ -273,7 +362,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "9df7b74e-fec8-4e75-92a9-31acc75e6e97", "metadata": {}, "outputs": [], @@ -301,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "cfeeb200-3f30-4855-82b9-cc8b2a950f80", "metadata": {}, "outputs": [], @@ -311,13 +400,14 @@ " Fetch the latest stock quote for a given ticker symbol using Finnhub's /quote endpoint.\n", " Returns current price, daily high/low, open, previous close, percent change, and readable timestamp.\n", " \"\"\"\n", - " print(f\"Tool get_stock_quote called for {symbol}\")\n", + " logger.info(f\"Tool get_stock_quote called for {symbol}\")\n", " try:\n", " if not symbol or len(symbol.strip()) < 1:\n", " return {\"success\": False, \"error\": \"Invalid symbol provided\"}\n", " \n", " symbol = symbol.strip().upper()\n", " data = finnhub_client.quote(symbol)\n", + " logger.info(f\"Tool get_stock_quote {data}\")\n", "\n", " if not data or \"c\" not in data:\n", " return {\"success\": False, \"error\": \"No quote data found\"}\n", @@ -347,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "3724d92a-4515-4267-af6f-2c1ec2b6ed36", "metadata": {}, "outputs": [], @@ -372,7 +462,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "62f5d477-6626-428f-b8eb-d763e736ef5b", "metadata": {}, "outputs": [], @@ -392,7 +482,7 @@ " list or dict: Cleaned news data or error message.\n", " \"\"\"\n", " # Validate date format\n", - " print(f\"Tool get_company_news called for {symbol} from {_from} to {to}\")\n", + " logger.info(f\"Tool get_company_news called for {symbol} from {_from} to {to}\")\n", " try:\n", " start_date = datetime.strptime(_from, \"%Y-%m-%d\")\n", " end_date = datetime.strptime(to, \"%Y-%m-%d\")\n", @@ -411,6 +501,7 @@ " # Fetch data\n", " try:\n", " news = finnhub_client.company_news(symbol, _from=_from, to=to)\n", + " logger.info(f\"Tool get_company_news {news}\")\n", " except Exception as e:\n", " return {\"success\": False, \"error\": str(e)}\n", "\n", @@ -424,7 +515,7 @@ "\n", " # Clean & transform objects\n", " cleaned_news = []\n", - " for article in news:\n", + " for article in selected_news:\n", " cleaned_news.append({\n", " \"summary\": article.get(\"summary\"),\n", " \"source\": article.get(\"source\"),\n", @@ -437,7 +528,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "5150ecb6-e3f1-46dc-94fa-2a9abe5165f6", "metadata": {}, "outputs": [], @@ -454,11 +545,11 @@ " },\n", " \"_from\": {\n", " \"type\": \"string\",\n", - " \"description\": \"Start date in YYYY-MM-DD format. Ensure it is not more than 1 year ago.\"\n", + " \"description\": \"Start date in YYYY-MM-DD format. Ensure it is not more than 1 year ago from today. Ensure it is before or equal to the date in to.\"\n", " },\n", " \"to\": {\n", " \"type\": \"string\",\n", - " \"description\": \"End date in YYYY-MM-DD format. Ensure it is not more than 1 year ago.\"\n", + " \"description\": \"End date in YYYY-MM-DD format. Ensure it is not more than 1 year ago. Ensure it is after or equal to the date in from.\"\n", " }\n", " },\n", " \"required\": [\n", @@ -474,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "26dd7375-626f-4235-b4a2-f1926f62cc5e", "metadata": {}, "outputs": [], @@ -490,10 +581,11 @@ " Returns:\n", " list or dict: A cleaned list of news articles or error message.\n", " \"\"\"\n", - " print(f\"Tool get_market_news called for category '{category}'\")\n", + " logger.info(f\"Tool get_market_news called for category '{category}'\")\n", "\n", " try:\n", " news = finnhub_client.general_news(category)\n", + " logger.info(f\"Tool get_market_news {news}\")\n", " except Exception as e:\n", " return {\"success\": False, \"error\": str(e)}\n", "\n", @@ -507,7 +599,7 @@ "\n", " # Clean & transform objects\n", " cleaned_news = []\n", - " for article in news:\n", + " for article in selected_news:\n", " cleaned_news.append({\n", " \"headline\": article.get(\"headline\"),\n", " \"summary\": article.get(\"summary\"),\n", @@ -522,7 +614,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "5bd1aa28-119c-4c7a-bdc0-161a582ab1cc", "metadata": {}, "outputs": [], @@ -547,38 +639,21 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "d3378855-b83c-4078-b1e9-5f03e55c7276", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bf29bdd0-7603-45fc-ad39-790eb0b471d5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a25474d9-128e-431f-9b4c-1b3897798f0b", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", "metadata": {}, "outputs": [], "source": [ - "# And this is included in a list of tools:\n", - "\n", - "tools = [{\"type\": \"function\", \"function\": price_function}]" + "# List of tools:\n", + "tools = [search_symbol_tool, get_company_financials_tool, get_stock_quote_tool, get_company_news_tool, get_market_news_tool, get_current_time_tool]\n", + "tool_functions = {\n", + " \"search_symbol\": search_symbol,\n", + " \"get_company_financials\": get_company_financials,\n", + " \"get_stock_quote\": get_stock_quote,\n", + " \"get_company_news\": get_company_news,\n", + " \"get_market_news\": get_market_news,\n", + " \"get_current_time\": get_current_time\n", + "}" ] }, { @@ -597,45 +672,62 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, + "id": "86f76f57-76c4-4dc7-94a8-cfe7816a39f1", + "metadata": {}, + "outputs": [], + "source": [ + "def execute_tool_call(tool_call):\n", + " func_name = tool_call.function.name\n", + " args = json.loads(tool_call.function.arguments)\n", + "\n", + " logger.info(f\"Executing tool: {func_name} with args: {args}\")\n", + "\n", + " func = tool_functions.get(func_name)\n", + " if not func:\n", + " result = {\"error\": f\"Function '{func_name}' not found\"}\n", + " else:\n", + " try:\n", + " result = func(**args)\n", + " except Exception as e:\n", + " logger.exception(f\"Error executing {func_name}\")\n", + " result = {\"error\": str(e)}\n", + "\n", + " return {\n", + " \"role\": \"tool\",\n", + " \"tool_call_id\": tool_call.id,\n", + " \"content\": json.dumps(result)\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 20, "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", "metadata": {}, "outputs": [], "source": [ "def chat(message, history):\n", " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", - " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", "\n", - " if response.choices[0].finish_reason==\"tool_calls\":\n", - " message = response.choices[0].message\n", - " response, city = handle_tool_call(message)\n", - " messages.append(message)\n", - " messages.append(response)\n", - " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", - " \n", - " return response.choices[0].message.content" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b0992986-ea09-4912-a076-8e5603ee631f", - "metadata": {}, - "outputs": [], - "source": [ - "# We have to write that function handle_tool_call:\n", + " while True:\n", + " # Send to OpenAI\n", + " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", + " ai_message = response.choices[0].message\n", + " finish_reason = response.choices[0].finish_reason\n", "\n", - "def handle_tool_call(message):\n", - " tool_call = message.tool_calls[0]\n", - " arguments = json.loads(tool_call.function.arguments)\n", - " city = arguments.get('destination_city')\n", - " price = get_ticket_price(city)\n", - " response = {\n", - " \"role\": \"tool\",\n", - " \"content\": json.dumps({\"destination_city\": city,\"price\": price}),\n", - " \"tool_call_id\": tool_call.id\n", - " }\n", - " return response, city" + " # If no tool calls, this is user-facing output\n", + " if finish_reason != \"tool_calls\":\n", + " return ai_message.content # āœ… Only return final assistant content\n", + "\n", + " # Otherwise, handle all tool calls in this message\n", + " tool_responses = []\n", + " for tool_call in ai_message.tool_calls:\n", + " tool_responses.append(execute_tool_call(tool_call))\n", + "\n", + " # Add tool call request + tool responses to conversation\n", + " messages.append(ai_message)\n", + " messages.extend(tool_responses)" ] }, { @@ -643,11 +735,94 @@ "execution_count": null, "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-29 02:29:05,739 [INFO] HTTP Request: GET http://127.0.0.1:7860/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:05,746 [INFO] HTTP Request: HEAD http://127.0.0.1:7860/ \"HTTP/1.1 200 OK\"\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7860\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-29 02:29:07,097 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:17,018 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:17,024 [INFO] Executing tool: search_symbol with args: {'query': 'Apple'}\n", + "2025-08-29 02:29:17,025 [INFO] Tool search_symbol called for Apple\n", + "2025-08-29 02:29:17,777 [INFO] Tool search_symbol {'count': 11, 'result': [{'description': 'Apple Inc', 'displaySymbol': 'AAPL', 'symbol': 'AAPL', 'type': 'Common Stock'}, {'description': 'Apple Hospitality REIT Inc', 'displaySymbol': 'APLE', 'symbol': 'APLE', 'type': 'Common Stock'}, {'description': 'Apple iSports Group Inc', 'displaySymbol': 'AAPI', 'symbol': 'AAPI', 'type': 'Common Stock'}, {'description': 'Apple Flavor & Fragrance Group Co Ltd', 'displaySymbol': '603020.SS', 'symbol': '603020.SS', 'type': 'Common Stock'}, {'description': 'Maui Land & Pineapple Company Inc', 'displaySymbol': 'MLP', 'symbol': 'MLP', 'type': 'Common Stock'}, {'description': 'Apple International Co Ltd', 'displaySymbol': '2788.T', 'symbol': '2788.T', 'type': 'Common Stock'}, {'description': 'Applepark Co Ltd', 'displaySymbol': '164A.T', 'symbol': '164A.T', 'type': 'Common Stock'}, {'description': 'Pineapple Inc', 'displaySymbol': 'PNPL', 'symbol': 'PNPL', 'type': 'Common Stock'}, {'description': 'Pineapple Resources Bhd', 'displaySymbol': 'PINEAPP.KL', 'symbol': 'PINEAPP.KL', 'type': 'Common Stock'}, {'description': 'Pineapple Financial Inc', 'displaySymbol': 'PAPL', 'symbol': 'PAPL', 'type': 'Common Stock'}, {'description': 'Pineapple Energy Inc', 'displaySymbol': 'SUNE', 'symbol': 'SUNE', 'type': 'Common Stock'}]}\n", + "2025-08-29 02:29:19,090 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:19,096 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-29 02:29:20,043 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:20,047 [INFO] Executing tool: get_stock_quote with args: {'symbol': 'AAPL'}\n", + "2025-08-29 02:29:20,049 [INFO] Tool get_stock_quote called for AAPL\n", + "2025-08-29 02:29:20,274 [INFO] Tool get_stock_quote {'c': 232.56, 'd': 2.07, 'dp': 0.8981, 'h': 233.41, 'l': 229.335, 'o': 230.82, 'pc': 230.49, 't': 1756411200}\n", + "2025-08-29 02:29:30,843 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:44,436 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:44,441 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-29 02:29:46,801 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:29:46,806 [INFO] Executing tool: get_company_news with args: {'symbol': 'AAPL', '_from': '2025-08-21', 'to': '2025-08-28'}\n", + "2025-08-29 02:29:46,808 [INFO] Tool get_company_news called for AAPL from 2025-08-21 to 2025-08-28\n", + "2025-08-29 02:29:47,767 [INFO] Tool get_company_news [{'category': 'company', 'datetime': 1756408626, 'headline': 'Commentary: Trump’s trade war is hurting most sectors of the economy', 'id': 136563635, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The latest round of earnings reports revealed widespread damage from the Trump tariffs and other attacks on trade.', 'url': 'https://finnhub.io/api/news?id=f79d96aa415027377d39121c37660b242b4665192144f64a93b39b1515e24fdb'}, {'category': 'company', 'datetime': 1756405437, 'headline': 'Trump-Intel deal designed to block sale of chipmaking unit, CFO says', 'id': 136563640, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Trump administration’s investment in Intel was structured to deter the chipmaker from selling its manufacturing unit, its chief financial...', 'url': 'https://finnhub.io/api/news?id=f0e37125d1ccd2adc8afe9ffb145ccfa0dd2001cbd1d23eaf1c96270c33ab33f'}, {'category': 'company', 'datetime': 1756403740, 'headline': \"Apple–TSMC Chip Pact Builds Firewall Against Trump's Tariffs\", 'id': 136563655, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc (NASDAQ:AAPL) isn\\'t just building the iPhone 18—it\\'s creating a moat. By reportedly securing nearly half of Taiwan Semiconductor Manufacturing Co Ltd\\'s (NYSE:TSM) initial 2nm chip production capacity, Apple has locked in supply for its flagship device while also erecting a \"firewall\" against President Donald Trump\\'s proposed 100% tariffs on imported semiconductors. Track AAPL stock here. The move highlights how Apple\\'s scale, foresight, and U.S. investments could shield it from the pol', 'url': 'https://finnhub.io/api/news?id=080fa7ce38b3b44861946e6973f447bb280a79ea485c2b2f1ae11a938bbccd90'}, {'category': 'company', 'datetime': 1756401279, 'headline': \"What's Going On With Marvell Technology Stock Thursday?\", 'id': 136563649, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Marvell Technology (NASDAQ:MRVL) shares surged Thursday as investors bet on the company to deliver strong second-quarter results, scheduled for after the closing bell. Optimism has been fueled by accelerating demand for artificial intelligence infrastructure and expectations that Marvell will capture a growing share of hyperscale spending. The rally followed industry peer Nvidia’s (NASDAQ:NVDA) blockbuster results, which reinforced expectations of sustained demand from the artificial intelligenc', 'url': 'https://finnhub.io/api/news?id=4cf8c5984bf7ff829223fe47ee62f42082ee29a59dfa95d4b539bfe0fd0a423e'}, {'category': 'company', 'datetime': 1756400124, 'headline': 'Most of the Other Mag 7 Stocks Are Rising After Nvidia Earnings', 'id': 136563657, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A group of Magnificent Seven stocks buoyed the S&P 500 after Nvidia earnings, but the chip titan wasn’t among them. The Dow was up 50 points, or 0.1%, while the Nasdaq Composite was up 0.5%. Nvidia shares were down 1% after moving up and down at the open.', 'url': 'https://finnhub.io/api/news?id=e89114f6041717edcc3ed7d65565eac2750bc512978233bdc8c6a18dae1bd6e0'}, {'category': 'company', 'datetime': 1756398112, 'headline': 'Stock Market Today: Nasdaq Up As Pure Storage Triggers Breakaway Buy; Nvidia Cuts Losses, Hormel Dives (Live Coverage)', 'id': 136560744, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index slips in mixed trade Thursday following surprise GDP numbers and jobless claims. Nvidia stock drops after earnings.', 'url': 'https://finnhub.io/api/news?id=58cb2ef567614c88ee8f9a823109d024b43d6de6c4d18baa9bd184de26c931bc'}, {'category': 'company', 'datetime': 1756397760, 'headline': \"A Small Cap In A Big Cap's Clothing\", 'id': 136563776, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'AAPL is no longer the largest company in the world and now trails both Nvidia and Microsoft in terms of market cap. Click to read.', 'url': 'https://finnhub.io/api/news?id=e809d05668bd6be09e9fc420bf30d52521f1e6e4e7551f49911804ecf2247f3e'}, {'category': 'company', 'datetime': 1756397421, 'headline': 'Trump tariffs are increasingly forcing countries to pick sides between the US and China', 'id': 136560766, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'President Trump’s trade wars are increasingly forcing countries to choose between the US and its main adversaries.', 'url': 'https://finnhub.io/api/news?id=8177e96bbae4398135d97186f74049bba0d0eec4e76863edf5957488c9f737ff'}, {'category': 'company', 'datetime': 1756392896, 'headline': 'Evercore ISI Reiterates Outperform on Apple (AAPL) With $250 PT', 'id': 136560767, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the AI Stocks Analysts Say You Shouldn’t Ignore. On August 22, Evercore ISI reiterated the stock as ā€œOutperformā€ stating that it likes Apple’s price hikes on Apple TV+. ā€œWe think the Apple TV+ price increases could help modestly on services growth, but the real intent is to minimize churn. Services […]', 'url': 'https://finnhub.io/api/news?id=fb1b0e9cc0f40efd15e9b2dfc73b8684dcae4a89f5ba687b678e90e707d05cfb'}, {'category': 'company', 'datetime': 1756391075, 'headline': 'MP Materials: The Defense Establishment Comes A-Calling', 'id': 136562702, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1428654585/image_1428654585.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'MP Materials is strategically positioned as a leading rare earth supplier amid rising US-China tensions and government focus on resource independence. Read the latest stock analysis here.', 'url': 'https://finnhub.io/api/news?id=1727d118f012c8bf42398a37c74b2b2ad9638666dd7efdf80539a5edee7fc302'}, {'category': 'company', 'datetime': 1756390634, 'headline': 'How Trump and Melania meme coins are performing half a year on', 'id': 136557610, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Both tokens launched before the US president's 20 January inauguration and quickly caught fire across crypto forums and political media.\", 'url': 'https://finnhub.io/api/news?id=80aa0488039ed175c0218e44a05e2ea529aed8fb9531d6015adb959f60044895'}, {'category': 'company', 'datetime': 1756389524, 'headline': 'Stock Market Today: Dow Slips, Nasdaq Rises After Surprise GDP, Jobless Claims; Nvidia Drops On Earnings (Live Coverage)', 'id': 136557573, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index slips in mixed trade Thursday following surprise GDP numbers and jobless claims. Nvidia stock drops after earnings.', 'url': 'https://finnhub.io/api/news?id=aecd19ed894e08a95a5c74ed51c36088b293dda61667fd30342cab56ee8a9c0a'}, {'category': 'company', 'datetime': 1756388700, 'headline': '2 Growth Stocks That Could Be Worth $1 Trillion in 5 Years', 'id': 136557612, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These two longtime market leaders should continue to perform well.', 'url': 'https://finnhub.io/api/news?id=940ed0a9a05b5d73504f52a9a1da73f837f81ad32f7414fc2ea5ed355f0140fe'}, {'category': 'company', 'datetime': 1756387449, 'headline': \"This Overlooked Stock Market Sector is Getting Hot Ahead of the Fed's Expected September Rate Cut\", 'id': 136560763, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'How to track sector rotation in the market, and why old-school utilities are catching a tailwind after Powell’s speech.', 'url': 'https://finnhub.io/api/news?id=f0053dc1668970117d9f9fb0b6ef53faff354c6079b706205c54497955c19026'}, {'category': 'company', 'datetime': 1756386540, 'headline': \"If You'd Invested $1,000 in Apple Stock 5 Years Ago, Here's How Much You'd Have Today\", 'id': 136557613, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'You might be surprised to see how much your investment would be today.', 'url': 'https://finnhub.io/api/news?id=8c9acc794cd8b231a9233116a3dc9e994a56c1c3a82189d074108e98ab54d68b'}, {'category': 'company', 'datetime': 1756386000, 'headline': 'Avalon GloboCare to Launch Online Sales of KetoAir Breathalyzer in the United Kingdom', 'id': 136557614, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'FREEHOLD, N.J., Aug. 28, 2025 (GLOBE NEWSWIRE) -- Avalon GloboCare Corp. (ā€œAvalonā€ or the ā€œCompanyā€) (NASDAQ: ALBT), a developer of precision diagnostic consumer products, today announced that it will launch the sales of KetoAirā„¢ breathalyzer device and related accessories in the United Kingdom (ā€œUKā€). The products will be available for purchase starting September 1, 2025, at www.KetoAir.uk. KetoAirā„¢ is a handheld breathalyzer designed for ketogenic health management (U.S. Food and Drug Administ', 'url': 'https://finnhub.io/api/news?id=e559b96b92a52447e682c0f47c53fa6a508e7398d5b3e5de911491454985d36e'}, {'category': 'company', 'datetime': 1756385063, 'headline': 'Market Chatter: Apple Warns UK Strategic Market Status Could Harm Users, Developers', 'id': 136557615, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple (AAPL) believes that Britain's plans to increase competition in the mobile operating system ma\", 'url': 'https://finnhub.io/api/news?id=16193e567e9dc751ddfab0787f451b0f6978ff34d2d52737bb037964cb3088cc'}, {'category': 'company', 'datetime': 1756383230, 'headline': 'The Swatch Group: Running Out Of Time', 'id': 136559852, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1791242549/image_1791242549.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Swatch Group struggles with smartwatch disruption, falling EPS, and weak demand. Learn about its challenges, risks, and potential value opportunities.', 'url': 'https://finnhub.io/api/news?id=ca5970ea6e8ed42a4e3691dca273ba9e121de29acb56336c9560a79eabb40437'}, {'category': 'company', 'datetime': 1756382877, 'headline': 'When will iPhone 17 be released? What features to expect? What to know in Tennessee', 'id': 136557616, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The newest iPhone is expected to be announced during a Sept. 9 event, meaning it could hit the market in the coming weeks.', 'url': 'https://finnhub.io/api/news?id=93b0e7100da77cd91b5a784d1f044e99eccd00657935413602ac3754d95e9341'}, {'category': 'company', 'datetime': 1756382470, 'headline': 'As Trump And Intel Make News, This Nvidia, AMD Partner Chips Away At A Breakout', 'id': 136557617, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'With the semiconductor industry in focus as Nvidia reports, the Trump administration takes a stake in Intel and TSMC stock etches a buy point.', 'url': 'https://finnhub.io/api/news?id=0639e7b2512036ffaa5f122e7bccb0a595e35b5f4a85fef22a1f742133d79902'}, {'category': 'company', 'datetime': 1756382400, 'headline': 'Get ready, EV owners: Here come the dongles', 'id': 136557728, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The transition from CCS to NACS will unlock thousands more fast chargers for many EV drivers, but they'll need to know their adapters to get the most out of it.\", 'url': 'https://finnhub.io/api/news?id=791f3b535a827c891140497cf89f87e37078b485a1c9d281692e6e62701cbbb6'}, {'category': 'company', 'datetime': 1756382400, 'headline': 'Could Buying MP Materials Today Set You Up for Life?', 'id': 136557618, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'MP Materials stock has surged over 300% in 2025. Can it keep that up?', 'url': 'https://finnhub.io/api/news?id=cde8cb7b7e803b646fd2e21292c3e4b0908454b34eabfb4a04c9a2ad56b8a879'}, {'category': 'company', 'datetime': 1756382143, 'headline': 'Morgan Stanley Maintains Equalweight on Skyworks (SWKS), Cuts Price Target Amid Broadcom Content Loss', 'id': 136557619, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Skyworks Solutions, Inc. (NASDAQ:SWKS) ranks among the best 5G stocks to buy now. Morgan Stanley retained its Equalweight rating on Skyworks Solutions, Inc. (NASDAQ:SWKS) and reduced its price target from $68 to $65 on August 6. Based in part on Apple’s previous remarks, the research firm noticed that the supply chain for smartphones has outperformed […]', 'url': 'https://finnhub.io/api/news?id=dd93604c17d502c50685fcce411f0ad5afa787886bc30b3edeebde6530455293'}, {'category': 'company', 'datetime': 1756380630, 'headline': 'Apple says UK mobile market shake-up could harm users and developers', 'id': 136557620, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"LONDON -Apple said on Thursday Britain's plans to increase competition in the mobile operating system market could harm users and developers, and potentially force the company to share its technology with foreign competitors for free. Last month, Britain's competition regulator told Apple and Android-owner Google to be fairer in how they distribute apps on their mobile platforms, setting out possible interventions as it plans to designate the U.S. tech companies with strategic market status over their duopoly.\", 'url': 'https://finnhub.io/api/news?id=4586d9fb5c2a41f4c8105a80667c11835661ad496368946acf15b94c6272ad1d'}, {'category': 'company', 'datetime': 1756378650, 'headline': \"Tesla sales drop 40% across Europe in July as China's BYD sees jump\", 'id': 136557621, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Sales of Tesla cars have continued to decline across Europe, falling 40% in July, as Chinese rival BYD saw a surge in registrations in the region last month.', 'url': 'https://finnhub.io/api/news?id=46d0e09bc4cfda7fd65bf1f247e15ce13082d242766a227b93cc70e92bcf6bf2'}, {'category': 'company', 'datetime': 1756377360, 'headline': 'AGs attack deepfake porn payments', 'id': 136560769, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple, Visa and others must be ā€œmore aggressiveā€ in banning payment authorization for nonconsensual deepfake content, state AGs told the companies.', 'url': 'https://finnhub.io/api/news?id=5b99f45abab1c5465df76ca6c27da2afd266ebef62599d480a55d33d7590e981'}, {'category': 'company', 'datetime': 1756376520, 'headline': \"12 Stocks Warren Buffett's Berkshire Hathaway Has Been Loading Up On in 2025\", 'id': 136557622, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Despite a few big stock sales, there have been a lot of additions to Berkshire's portfolio.\", 'url': 'https://finnhub.io/api/news?id=3d261fc0e50b40a48d492134da9a6984c463cd0ba69e573fa387ef3c50489f9f'}, {'category': 'company', 'datetime': 1756376229, 'headline': 'Apple (AAPL): Examining Valuation as AI Concerns and Product Launches Dominate Attention', 'id': 136557623, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple (AAPL) has always had a knack for capturing headlines, but lately, it’s been the company’s moves—or lack of moves—in artificial intelligence that are drawing outsized attention from investors. As Apple prepares for its upcoming product event with new iPhones and wearables expected, multiple reports suggest the tech giant is under mounting pressure to prove it can catch up in the AI race. Recent partnership talks and news of possible acquisitions only add to the drama, as the market...', 'url': 'https://finnhub.io/api/news?id=9a405abfbd5a198d23b48942eeaf8cd2758d491872dc294d2d477e168c22259c'}, {'category': 'company', 'datetime': 1756375801, 'headline': 'How Twilio’s (TWLO) Global RCS Launch Could Shape Its Messaging Platform and Customer Trust', 'id': 136557624, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Twilio recently announced the global general availability of Rich Communication Services (RCS) messaging, enabling more than 349,000 active customers to send branded, verified, and interactive messages across Android and iOS devices through its Programmable Messaging and Verify APIs. This launch, following Apple’s rollout of RCS support and expanding Twilio's reach across 20+ countries, positions the company to address rising messaging fraud by bolstering customer trust and enabling richer,...\", 'url': 'https://finnhub.io/api/news?id=ca2307c8e7be2ecfaff7e462350f223f2840e596cd366e3fe1573e6bd327b14b'}, {'category': 'company', 'datetime': 1756372500, 'headline': 'Prediction: 1 Artificial Intelligence (AI) Stock Will Be Worth More Than Palantir Technologies and Amazon Combined by 2030', 'id': 136557607, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Palantir is one of the most valuable software businesses in the world, while Amazon remains a trillion-dollar giant.', 'url': 'https://finnhub.io/api/news?id=fc96e4f9665522a0c22481cd146e66d9b5ce8ce2934077c86c504f0697260d9a'}, {'category': 'company', 'datetime': 1756370411, 'headline': 'Bitcoin price recovers as Nvidia earnings fuel risk appetite', 'id': 136557626, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'It came as the S&P 500 notched a record high and Nvidia delivered stronger-than-expected quarterly results, reinforcing investor appetite for risk assets.', 'url': 'https://finnhub.io/api/news?id=8c3119a8a72d87a448ff861e8e4d4b8619a0635371e0e3713c949308eb32f044'}, {'category': 'company', 'datetime': 1756368912, 'headline': 'LIVE: Wall Street and European stocks mixed as US GDP revised higher and weekly jobless claims fall', 'id': 136557627, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"US GDP grew at a 3.3% annualised pace last quarter, according to the government's second estimate.\", 'url': 'https://finnhub.io/api/news?id=94bd66317beaa9f8b873ea175cd746f9091c5c1fd8938424b2ca4e20259b5df2'}, {'category': 'company', 'datetime': 1756364760, 'headline': 'Zacks Investment Ideas feature highlights: Apple, Meta Platforms and DoorDash', 'id': 136557628, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple, Meta and DoorDash all smashed Q2 expectations with record-breaking growth, strong margins and bullish post-earnings momentum.', 'url': 'https://finnhub.io/api/news?id=753d4c569e19112422028eb00f371cfd015fbeeca321005775f91b9d77d6b158'}, {'category': 'company', 'datetime': 1756364400, 'headline': 'Apple accuses Britain of ā€˜EU-style’ crackdown', 'id': 136557629, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple has accused Britain’s competition watchdog of stifling growth with an ā€œEU-styleā€ crackdown on the iPhone maker.', 'url': 'https://finnhub.io/api/news?id=88bb9408c819df29b22469513d47540a5d54f0585fc8caf47ac8288a93fd41b8'}, {'category': 'company', 'datetime': 1756326420, 'headline': 'Apple Teases iPhone 17 Launch With Sept. 9 Showcase', 'id': 136541162, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Event to spotlight slimmer phone, new watches, AirPods and AI', 'url': 'https://finnhub.io/api/news?id=57f533b5c833e80c1d77f63268da8555521d3d5583d5684b46ac7036d8b0d570'}, {'category': 'company', 'datetime': 1756323780, 'headline': \"Warren Buffett's Berkshire Hathaway Trims Apple Stake, Again. What's the Deal?\", 'id': 136541163, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The massive conglomerate now has a cash hoard of $344 billion.', 'url': 'https://finnhub.io/api/news?id=7dc81e41b6376258c7eb512fa47525b93dbc56d436b9acee7318023adae6a69f'}, {'category': 'company', 'datetime': 1756320350, 'headline': 'Apple (AAPL) Buy Rating Maintained Ahead of Potential September Event', 'id': 136541164, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the AI Stocks Analysts Are Tracking Closely. On August 25, Bank of America reiterated the stock as ā€œBuyā€ and acknowledged that even though there are reports that there is no official iPhone event yet scheduled on September 9 for Apple, investors should tone down their expectations for the next cycle […]', 'url': 'https://finnhub.io/api/news?id=36ef4b48e9a75c5faaad802d9779733bd8eb0d2ed1aff058090ccf2ffbf76544'}, {'category': 'company', 'datetime': 1756317830, 'headline': 'Chipolo, an AirTag rival, debuts rechargeable trackers with a six-month battery life', 'id': 136541165, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Chipolo debuts a lineup of rechargeable trackers to compete with AirTag and others.', 'url': 'https://finnhub.io/api/news?id=058e82cd659bfbb73fd85321d63d0825a8cd02ec4774a2cb53eda240bbffd98d'}, {'category': 'company', 'datetime': 1756315800, 'headline': '[Latest] Global Motion Graphics Market Size/Share Worth USD 280 Billion by 2034 at a 12.2% CAGR: Custom Market Insights (Analysis, Outlook, Leaders, Report, Trends, Forecast, Segmentation, Growth Rate, Value, SWOT Analysis)', 'id': 136539413, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': '[220+ Pages Latest Report] According to a market research study published by Custom Market Insights, the demand analysis of Global Motion Graphics Market size & share revenue was valued at approximately USD 85.5 Billion in 2024 and is expected to reach USD 98.3 Billion in 2025 and is expected to reach around USD 280 Billion by 2034, at a CAGR of 12.2% between 2025 and 2034. The key market players listed in the report with their sales, revenues and strategies are Adobe Inc., Autodesk Inc., Maxon', 'url': 'https://finnhub.io/api/news?id=e6f397e64732b302a0646b559119b00c38feacf9f0c5daffee527ec2fb030208'}, {'category': 'company', 'datetime': 1756315645, 'headline': 'Pfizer: Finally Some Fortune, Plus Twenty High-Quality Dividend Growth Valuations', 'id': 136542130, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2203006359/image_2203006359.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Discover high-quality dividend-growth stocks near 52-week lows. Explore Pfizer's strong dividend and valuations, plus other top picks like Merck and Qualcomm.\", 'url': 'https://finnhub.io/api/news?id=ec425284e980cf083d7d06feec4294590bc48a5d33b2fdd798c828b58de26570'}, {'category': 'company', 'datetime': 1756312967, 'headline': \"Cracker Barrel logo debacle isn't CEO Julie Masino's only challenge: Opening Bid top takeaway\", 'id': 136538441, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Cracker Barrel has a host of issues.', 'url': 'https://finnhub.io/api/news?id=5d954f41f3cbb1bd20135e12731d5043295f6c7a22381c604c77986feb3e3dd7'}, {'category': 'company', 'datetime': 1756310381, 'headline': 'The Gap Between Nvidia and the Next Largest Company Is Now $700 Billion', 'id': 136539403, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Nvidia's market capitalization stood at about $4.4 trillion this week, about $700 billion ahead of the next most valuable company, Microsoft. The gap between the AI chip giant and the next largest public company has never been wider, according to Dow Jones Market Data.\", 'url': 'https://finnhub.io/api/news?id=f9ce19a19e80e96971dc5bb4e5998b4f73764cfdb89fda81e2cd7672edc77884'}, {'category': 'company', 'datetime': 1756308600, 'headline': 'Q2 Earnings: These 3 Tech Stocks Shattered Expectations', 'id': 136539416, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The 2025 Q2 earnings cycle is nearing its end, with these three companies' results stealing the spotlight. Can they repeat their stellar performances in the Q3 season?\", 'url': 'https://finnhub.io/api/news?id=c8908ad4d0110207fd887b4cbe53973de66b66981914f3ae3f421964cfd4e39d'}, {'category': 'company', 'datetime': 1756305529, 'headline': 'How Apple investors should weigh India tariffs & ongoing AI lag', 'id': 136539417, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple (AAPL) is ramping up production at five factories in India ahead of its iPhone 17 launch, all while facing new 50% tariffs from the US on Indian goods. Yahoo Finance Senior Reporter Ines FerrĆ© and Slatestone Wealth chief market strategist Kenny Polcari, who is also the host of Yahoo Finance's Trader Talk podcast, join Opening Bid host Brian Sozzi to weigh in on the headline risk to Apple. To watch more expert insights and analysis on the latest market action, check out more\\xa0Opening Bid.\", 'url': 'https://finnhub.io/api/news?id=f985e17b57b8661a44209cdab0364c36ab40feed82fbacbada76d466df119581'}, {'category': 'company', 'datetime': 1756303740, 'headline': 'Apple Music Taps TuneIn to Expand Global Access to Its Live Radio Stations', 'id': 136539418, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Beginning today, listeners around the world can stream all six commercial-free Apple Music live radio stations on TuneIn SAN FRANCISCO, Aug. 27, 2025 (GLOBE NEWSWIRE) -- TuneIn, the world’s leader in live audio, today announced a new partnership with Apple to expand access to Apple Music’s commercial-free live radio stations to listeners around the world. This marks the first time Apple’s 24/7 global radio stations are available outside of its own native platform. Starting today, all six free Ap', 'url': 'https://finnhub.io/api/news?id=e0413ec85f8c3aca11dd19d3b50b0f1680a6191a99c9e1760725d09871ab2e5f'}, {'category': 'company', 'datetime': 1756302300, 'headline': 'My 3 Favorite Stocks to Buy Right Now', 'id': 136536616, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Contrary to a common assumption at this time, not every stock is priced too richly or poses too much risk. Several underappreciated and undervalued names are just waiting to be found.', 'url': 'https://finnhub.io/api/news?id=5c9c5ad47420d627cfdffdc181bb0a20b74931b5b9a4ee6e4b598a7fe15ffe94'}, {'category': 'company', 'datetime': 1756300020, 'headline': 'COLLEGE FOR CREATIVE STUDIES LAUNCHES APPLE FOUNDATION PROGRAM, FREE CODING COURSES FOR DETROITERS', 'id': 136536132, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Apple Foundation Program at CCS will welcome its first cohort in October 2025, offering a free introductory app development course with access to laptops and additional devices. CCS Apple Foundation Lab Courtesy of College for Creative Studies CCS Apple Foundation Lab Courtesy of College for Creative Studies Detroit, MI, Aug. 27, 2025 (GLOBE NEWSWIRE) -- The College for Creative Studies (CCS) is excited to launch the Apple Foundation Program, a free app development program coming to the Coll', 'url': 'https://finnhub.io/api/news?id=c39f266620c5451aea0891907dfe081dc8bad553e13b1175be1a2c1955a20968'}, {'category': 'company', 'datetime': 1756299600, 'headline': 'Apple Makes Music Push in Radio After Losing Ground to Spotify', 'id': 136539420, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The deal with digital radio platform TuneIn marks the first time Apple Music’s six radio stations will be available outside the company’s app.', 'url': 'https://finnhub.io/api/news?id=2b3af74ab5be8c92b9fc60e9ddf9ea2316e2a7b47b4705db59639bc775ff1581'}, {'category': 'company', 'datetime': 1756299600, 'headline': 'ESR to Unveil Game-Changing Tech Innovations at IFA 2025', 'id': 136536133, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'ESR, a global tech brand trusted by over 123 million users, will present its newest innovations at IFA 2025 from September 5–9 at Messe Berlin. Guided by its mission \"Tech Made Easier,\" ESR is set to unveil industry-first accessories that deliver wired-speed magnetic charging, stronger device protection, and more flexible productivity.', 'url': 'https://finnhub.io/api/news?id=ab2ce5abbf3516bc95c82979500217ce98402582a6083375f7b1edb7e0e92ab8'}, {'category': 'company', 'datetime': 1756298700, 'headline': 'Billionaire Bill Ackman Just Bought This Magnificent Artificial Intelligence (AI) Stock, Which Could Join Nvidia, Microsoft, and Apple in the $3 Trillion Club By 2028', 'id': 136536103, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Ackman\\'s hedge fund, Pershing Square, recently added another \"Magnificent Seven\" stock to its portfolio.', 'url': 'https://finnhub.io/api/news?id=0dcbb9593b57a4f988911c73d340dec2c9ee67cf5fe2dc86402a13ec133409be'}, {'category': 'company', 'datetime': 1756298544, 'headline': 'MetaMask Adds Google and Apple Login to Simplify Self-Custodial Wallet Access', 'id': 136536135, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'MetaMask has launched social login functionality, allowing users to create and recover self-custodial wallets using Google or Apple accounts, eliminating the need to manually manage traditional 12-word Secret Recovery Phrases while preserving complete user control over private keys. The feature combines familiar Web2 authentication with advanced cryptographic techniques, including Threshold ...', 'url': 'https://finnhub.io/api/news?id=fefb7a0bd947b9ea884c2ad78bba45b797bbc2fe6e7e419fbc1f41f9bc40b0fe'}, {'category': 'company', 'datetime': 1756297975, 'headline': 'Alphabet At The Crossroads: Legal Minefield Or Money Machine', 'id': 136538321, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/872409924/image_872409924.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Alphabet faces antitrust risk, but a breakup could unlock hidden value.', 'url': 'https://finnhub.io/api/news?id=94344a89f867ac85036a39124e9fd93cc16cff445838394e0d8c309e5273eceb'}, {'category': 'company', 'datetime': 1756295929, 'headline': 'Microsoft vs. Apple: Which Stock Has Performed Better Since Trump Took Office?', 'id': 136536116, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple and Microsoft stocks have surged—but which one performed better? See how these tech giants stack up during Trump’s second term so far.', 'url': 'https://finnhub.io/api/news?id=854230d76b6fd36b2a4ae52e69d5f5bec794619ea75e004e447c9a78ffa760ca'}, {'category': 'company', 'datetime': 1756295100, 'headline': 'As Warren Buffett Continues to Trim Apple Stake, Should Investors Be Worried?', 'id': 136536137, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple now comprises 21% of Berkshire's closely monitored equity portfolio.\", 'url': 'https://finnhub.io/api/news?id=5d982d0ed73fdda2a4280275c09cefba88552b34a1299052e0f5263e263ba3a5'}, {'category': 'company', 'datetime': 1756291928, 'headline': 'What happens to your pension if your relationship ends?', 'id': 136536138, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"If there's an overreliance on one partner’s pension and you end up breaking up you could find yourself close to retirement with little in the way of income.\", 'url': 'https://finnhub.io/api/news?id=c3f07c39e3f7a9bf94894372a3977c0b5aad0f22174af5931a31c0f99e318f63'}, {'category': 'company', 'datetime': 1756291569, 'headline': \"Tesla Stock 'Could Fall 90% Tomorrow,' Fund Manager Still Won't Buy — Here's Where He's Investing Instead\", 'id': 136536120, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tesla Inc (NASDAQ:TSLA) stock has fallen 8% year-to-date in 2025 and some investors and analysts believe the stock remains overvalued with more room to fall. One of the top-performing fund managers thinks Tesla stock could have significant downside ...', 'url': 'https://finnhub.io/api/news?id=434f7927d77afa8219186d9fdcb67ead90bbb30935a3a8e8f48580f5bcbf65a1'}, {'category': 'company', 'datetime': 1756291392, 'headline': 'AI Weekly: grouchy Grok and the wizard of bots', 'id': 136536140, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"STORY: From why Elon Musk says Apple is being mean to Grok, to how bots reinvented the Wizard of Oz, this is AI Weekly.:: AI Weekly:: Sphere Entertainment\\xa0Elon Musk’s xAI is suing Apple and OpenAI, claiming they conspired to thwart competition.He says they gave prominence to ChatGPT in Apple’s app store, while limiting the profile of his competing chatbot Grok.OpenAI said the case was just another example of what it called Musk’s ā€œpattern of harassmentā€.Meta is set to back political candidates who back lighter regulation of AI.The Facebook parent says it will set up a California-focused political action committee to back state-level candidates from either party.It plans to spend tens of millions of dollars on the effort, potentially putting it among the state's top politicial spenders ahead of a 2026 governor race.\\xa0DeepSeek has unveiled an upgraded model that it says is can be optimised to work with Chinese chips.That may signal it’s positioned to work with the country’s own semiconductor makers, as Beijing pushes to reduce its reliance on U.S. tech.Earlier this year, DeepSeek shook the sector when it released an AI model able to compete with the likes of ChatGPT, but developed at much lower cost.:: Sphere EntertainmentAI has reimagined ā€œThe Wizard of Ozā€.The famous film will be shown in Las Vegas on a towering spherical screen that surrounds viewers.AI tools preserve the original performances, but also add new elements.Ben Grossman is the boss of visual effects firm Magnopus:ā€œWe need to drastically increase the resolution and detail of the original movie, we need to complete the missing parts of the people who were cut off and then we need to create the continuity of the scene so that the performances that you know are there are actually there.ā€And Google focused on AI when unveiling its latest Pixel phones.:: Google\\xa0That includes a ā€œcoachā€ in the camera app that can help users take better pictures.There’s also an AI assistant that can display useful information before it’s even asked, such as showing a flight confirmation email when the user calls an airline.\", 'url': 'https://finnhub.io/api/news?id=2b6a4d8f83a26751f9c767abe00e26abbabfb1071fff7f699c0518d49891f5ce'}, {'category': 'company', 'datetime': 1756290780, 'headline': 'It’s Trump’s Market Now. How to Navigate Fed Threats, State Stock Buying, Economic Curveballs.', 'id': 136536141, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trump escalates Fed fight, Apple teases product event next week, Cracker Barrel drops new logo, and more news to start your day.', 'url': 'https://finnhub.io/api/news?id=67a5e0f03199596b736b0f4d450d0b0f50f5413e3f39010b9f387d60351fe739'}, {'category': 'company', 'datetime': 1756288800, 'headline': 'The Best \"Magnificent Seven\" Stock to Buy Right Now, According to Wall Street (Hint: Not Nvidia)', 'id': 136536125, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Almost every analyst agrees this AI giant is a buy with plenty of upside left.', 'url': 'https://finnhub.io/api/news?id=d6cefbf6bd2b81a2d3edda7b925845062de2a510ca2d395594240036c0b0c4dc'}, {'category': 'company', 'datetime': 1756285332, 'headline': 'EU to Propose Removing US Tariffs This Week to Meet Trump Demand', 'id': 136539421, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The European Commission, which handles trade matters for the EU, will also give preferential tariff rates on certain seafood and agricultural goods, according to people familiar with the matter. The EU has conceded that the trade arrangement struck with Trump favors the US but that the accord is necessary to give businesses stability and certainty.', 'url': 'https://finnhub.io/api/news?id=612cccf472079a1f84ac02fea985ed07785463e11fce1542fde2df16313aa3ce'}, {'category': 'company', 'datetime': 1756285263, 'headline': 'Crypto Industry Unites Against Senate Bill Over Protections for Software Devs', 'id': 136536143, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Top crypto and tech groups said they would not support the Senate’s market structure bill without new language shielding developers from criminal liability.', 'url': 'https://finnhub.io/api/news?id=c1422933d13544e8a6ea15de880fcc0b45d85931f54e313abb4d5f1d9dc447c4'}, {'category': 'company', 'datetime': 1756285020, 'headline': 'Prediction: This Unstoppable Vanguard ETF Will Keep Beating the S&P 500 Over the Long Term', 'id': 136536127, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The S&P 500 typically delivers strong long-term returns, but this Vanguard ETF has consistently outperformed it.', 'url': 'https://finnhub.io/api/news?id=de010cb83b6d643dc3697d4fcd9dee466c036b714ed688738a4d10e9b0ab9387'}, {'category': 'company', 'datetime': 1756284300, 'headline': 'Ben Graham Misquoted: The Stock Market Is Never A Weighing Machine', 'id': 136535891, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1329937320/image_1329937320.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"The stock market is not a weighing machine in the long run. Check out Graham's insights on why the stock market operates as a voting machine.\", 'url': 'https://finnhub.io/api/news?id=1f8e990b991e9dd7e08e7bbe07edf4020234609d120abc13241f0507716fe9e4'}, {'category': 'company', 'datetime': 1756282320, 'headline': 'The New Conversational Standard: Rich Communication Services Market Forecast Report 2025-2030, with Profiles of Google, Apple, Twilio, Sinch, Infobip, MessageBird, and GSMA', 'id': 136536145, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The RCS market is poised for rapid growth, driven by Apple\\'s RCS integration in iOS 18, unifying global users. Key opportunities lie in leveraging RCS Business Messaging for enhanced brand-consumer interaction, exploring high-growth regions like Asia-Pacific, and integrating RCS into digital strategies for MNOs, enterprises, and CPaaS providers.Dublin, Aug. 27, 2025 (GLOBE NEWSWIRE) -- The \"New Conversational Standard: Rich Communication Services (RCS) Market Analysis, RBM Opportunities, and Glo', 'url': 'https://finnhub.io/api/news?id=cdf9963e9810636d6dd5ad679403d87a7fe343bdfeb4099a71f0413bebce46b6'}, {'category': 'company', 'datetime': 1756281713, 'headline': 'FTSE 100 LIVE: Stocks mixed as UK energy prices set to rise more than expected', 'id': 136536146, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The increase kicks in at start of October, which campaigners say will mean another winter of relatively high energy bills.', 'url': 'https://finnhub.io/api/news?id=c651e4c616007403c5a8acfaffde18b8820eec9726a0ae66c4e971e13aadc1cf'}, {'category': 'company', 'datetime': 1756279166, 'headline': 'IMAX Corporation (IMAX) Signs Expansion Agreement with Apple Cinemas for New IMAX with Laser Systems', 'id': 136536147, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'With strong upside potential and significant hedge fund interest, IMAX Corporation (NYSE:IMAX) secures a spot on our list of the 10 Must-Buy Canadian Stocks to Invest in. A significant expansion agreement for five new IMAX with Laser systems around the United States was announced by IMAX Corporation (NYSE:IMAX) and Apple Cinemas on August 7, 2025, […]', 'url': 'https://finnhub.io/api/news?id=fbfd81ca0494903d8d382c281080e814876acca5f579b9bc868ceec4ef3aec61'}, {'category': 'company', 'datetime': 1756278300, 'headline': 'Parallels Launches Parallels Desktop 26 with Support for macOS Tahoe 26, Compatibility with Windows 11 25H2, and New IT Management Tools', 'id': 136536131, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The latest release introduces more secure VM management, accurate Mac disk visibility in Windows, renewed SOC 2 Type II compliance, and more simplified deployment and device management for enterprise IT teams Parallels Desktop 26 for Mac Parallels Desktop is the only Microsoft-authorized way to run Windows 11 on Macs with Apple silicon. Parallels Desktop for Mac Enterprise Edition Parallels Desktop 26 introduces powerful enterprise features, making it easier for IT teams to manage, monitor, and', 'url': 'https://finnhub.io/api/news?id=a16e2511406c745e43e1cbd4a820454a72f67143b38c49df587d7f919b067ee8'}, {'category': 'company', 'datetime': 1756274568, 'headline': 'Trump Slaps India With 50% Tariffs, Upending Ties With Modi', 'id': 136536149, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The new tariffs, the highest in Asia, took effect at 12:01 a.m. in Washington on Wednesday, doubling the existing 25% duty on Indian exports. The levies will hit more than 55% of goods shipped to the US — India’s biggest market — and hurt labor-intensive industries like textiles and jewelry the most. Key exports like electronics and pharmaceuticals are exempt, sparing Apple Inc.’s massive new factory investments in India for now.', 'url': 'https://finnhub.io/api/news?id=fe4f2d299dc86ea71bb917b7cd3ca3260f0913917841a08a8b2e61130f156555'}, {'category': 'company', 'datetime': 1756267201, 'headline': 'The Chinese gadget maker taking on Tesla and Apple', 'id': 136536150, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'An electric vehicle factory built by China’s largest smartphone maker has become a tourist attraction in Beijing, with visits to the company...', 'url': 'https://finnhub.io/api/news?id=4cd753b8caeb83784586d510ce431255fbfe91882b4713b02fb81661cecef582'}, {'category': 'company', 'datetime': 1756266829, 'headline': 'Can Apple’s (AAPL) AI Partnerships Revive Investor Sentiment?', 'id': 136536151, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the top stocks to buy and hold forever. Apple Inc. (NASDAQ:AAPL) is often seen as a textbook example of how to build and strengthen a moat over time. Its brand strength, device and services ecosystem lock-in, and customer loyalty enable it to generate recurring revenues, maintain strong pricing power, and consistently […]', 'url': 'https://finnhub.io/api/news?id=3ebfed59c2e2e7119d0b4077fd406bb25fd5f0e2ef25dbf50f73bd57e334546f'}, {'category': 'company', 'datetime': 1756263240, 'headline': 'The Most Overvalued Of Mag7: Why Apple Gets My Sell', 'id': 136534658, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Apple is recognized as a leader, but execution lags. Click here to read more about AAPL stock and why it is rated as a Sell.', 'url': 'https://finnhub.io/api/news?id=1926506c568d5cc3875b9c40c9a3b211652036847eb5d504f84db226cf67ade7'}, {'category': 'company', 'datetime': 1756235481, 'headline': 'Alphabet Lands $10B Meta Cloud Deal--Is A Siri-Gemini Deal Close?', 'id': 136532253, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2210768067/image_2210768067.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Alphabet Inc.'s Google Cloud lands a $10B Meta deal, challenging AWS and Azure. Click for my updated look at GOOGL stock and why I remain bullish.\", 'url': 'https://finnhub.io/api/news?id=86e5017e035d7aea11fa1ea7fec5b5fb9004d28101950c42bee1a638795926d5'}, {'category': 'company', 'datetime': 1756231255, 'headline': \"Apple Promises 'Awe Dropping' Event Sept. 9\", 'id': 136529950, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple announced Tuesday that it will hold its fall product launch event on Sept. 9, likely headlined by the iPhone 17 series handsets.', 'url': 'https://finnhub.io/api/news?id=eb6ebae095d68639321c7bc616ac6707bbdf8b06f84f539109f00dbba2859e61'}, {'category': 'company', 'datetime': 1756228823, 'headline': 'OMAH: A Berkshire Hathaway Copycat With A 15% Distribution Yield', 'id': 136531630, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1030142522/image_1030142522.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"OMAH ETF seeks 15% annual yield via covered calls on Berkshire's holdings, ideal for income investors. Click here to read my most recent analysis of OMAH.\", 'url': 'https://finnhub.io/api/news?id=58990138d8fe8d477a6838738136d46cb3da707c449f5d2bca585ad94a3798e7'}, {'category': 'company', 'datetime': 1756228320, 'headline': \"Can Strong Content Portfolio Drive Apple's Streaming Prospects?\", 'id': 136529951, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple TV+ hits record Emmy nods and box office success as Services revenues jump double digits despite tough streaming competition.', 'url': 'https://finnhub.io/api/news?id=24b80129567e08f81469955913d3e7c594cf01f50aca4b2796eda55dc206bf7a'}, {'category': 'company', 'datetime': 1756228268, 'headline': \"Elon Musk's xAI sues Apple, OpenAI over AI competition and App Store rankings\", 'id': 136529952, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk's xAI filed a lawsuit against Apple and OpenAI in federal court, alleging the companies conspired to prevent competition in the market for artificial intelligence tools.\", 'url': 'https://finnhub.io/api/news?id=13d253c2491e234963d5e88a6cbbdf36bf22ffeebb0b00664a073e991643a738'}, {'category': 'company', 'datetime': 1756228243, 'headline': 'Apple product launch, Meta Super PAC, Trump & Cracker Barrel', 'id': 136529953, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Yahoo Finance's John Hyland tracks Tuesday's top moving stocks and biggest market stories in this Market Minute: Apple's (AAPL) upcoming fall product launch on Sept. 9, Meta (META) reportedly launching a Super PAC focused on artificial intelligence (AI), and President Trump weighing in on the new Cracker Barrel (CBRL) logo. Stay up to date on the latest market action, minute-by-minute, with Yahoo Finance's Market Minute.\", 'url': 'https://finnhub.io/api/news?id=35b93c4400f7b555a2910620d9bca12e0bd6cfaa86ba56d5de59646fba94d752'}, {'category': 'company', 'datetime': 1756226940, 'headline': 'Apple’s Annual Event Will Be Sept 9. What to Expect for the iPhone and AI.', 'id': 136529954, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple will host its annual product event on Sept. 9, the company said Tuesday. Investors and customers alike will be looking for announcements regarding the company’s next iPhone launch and artificial intelligence updates. The Apple event—almost always takes place in September—unveils what new products and updates the company will be launching in the weeks to follow.', 'url': 'https://finnhub.io/api/news?id=b5a5a400b786c4cc164f9ec881a2311d566332bdf548a2fc5818ef858d748573'}, {'category': 'company', 'datetime': 1756226127, 'headline': 'Not so fast: German court says Apple can’t call Watch carbon neutral', 'id': 136529955, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's carbon neutral claims are undermined by the short-term nature of carbon credits used to support them, the court said.\", 'url': 'https://finnhub.io/api/news?id=83f2575c7a3b3ada4263ced904f915e73685c92c56a4c9b377936566bd926fdc'}, {'category': 'company', 'datetime': 1756225200, 'headline': 'More Volatility Ahead In This AI Bull Market', 'id': 136531096, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1388937775/image_1388937775.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Gary Vaughan from Daily Stock PicksƂ\\xa0on buying the dip, crypto long-term and why bonds might now be a once in a lifetime buy.', 'url': 'https://finnhub.io/api/news?id=02e88f1c840a10605837aa875c0e48f3a5667a8415226907fb48b5338249b884'}, {'category': 'company', 'datetime': 1756224432, 'headline': 'Apple to hold fall event on September 9, new iPhones expected', 'id': 136529956, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The event will be held at the Steve Jobs Theater at Apple's headquarters in Cupertino, California and serve as a showcase of the company's efforts to integrate artificial intelligence into its devices. Media reports have said Apple will also unveil a slimmer version of its latest iPhone, possibly branded as the iPhone Air, echoing its iPad Air and MacBook Air lines. The company is also expected to showcase new entry-level, high-end Apple Watches, upgraded iPad Pros and a faster version of the Vision Pro headset, Bloomberg News has reported recently.\", 'url': 'https://finnhub.io/api/news?id=2f9081e1f78dab4b8fd7ca3a839bced221a1007faee91a43904a3dc0b3927604'}, {'category': 'company', 'datetime': 1756224300, 'headline': 'Apple is holding its iPhone 17 event on September 9', 'id': 136529957, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Along with the iPhones, Apple will likely have updated the Apple Watch Series 11, Ultra 3, and SE 3. The Apple Watch Ultra 3 would be a notable update amid the trio, with a bigger screen and faster charging support.', 'url': 'https://finnhub.io/api/news?id=798c01eeaa99f2a20a2b540332738653ac0ab5e56bb56102f362eb33fba1f0b2'}, {'category': 'company', 'datetime': 1756222621, 'headline': \"GM's $1 billion bet on F1 rolls on with star driver pairing for Cadillac team\", 'id': 136526543, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'GM’s Cadillac F1 team unveiled its driver pairing for the 2026 season, when the Big Three automaker’s big bet on F1 begins.', 'url': 'https://finnhub.io/api/news?id=d5dadf0c2d424b03eb856d6fd5771083fd61b82952d49619bf7ac66d82ee49d5'}, {'category': 'company', 'datetime': 1756221211, 'headline': 'Attorneys general tell AI companies to protect kids', 'id': 136529944, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Attorneys general in a letter highlighted Meta's scandal over its recent AI chatbot policies allowing romantic conversations with minors\", 'url': 'https://finnhub.io/api/news?id=c80eac904cb211ce08b917cdbdb49c14b6e9716c160c11c91f1134b00dd02cf7'}, {'category': 'company', 'datetime': 1756220400, 'headline': '2 High-Conviction Picks For 7.73% Growth And 4.22% Yield Within A Dividend Portfolio', 'id': 136529227, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2188450078/image_2188450078.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Through DPSTF and META, we increased Dividend Income Accelerator Portfolio's sector diversification and global exposure. Learn more about the portfolio here.\", 'url': 'https://finnhub.io/api/news?id=3452d5cd9b4cf8d4251a0ea48074df10fe22dad78a44764ff71b7843f2de36f2'}, {'category': 'company', 'datetime': 1756219920, 'headline': 'Apple has an AI problem — and a Google partnership could actually make things worse', 'id': 136541516, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Apple has an AI problem — and a Google partnership could actually make things worse', 'url': 'https://finnhub.io/api/news?id=872986dd4f00566feaa310ee2fa0ab6a465476060222213ade9a930c4715aea1'}, {'category': 'company', 'datetime': 1756219440, 'headline': 'The Zacks Analyst Blog Highlights Alphabet, Apple and Garmin', 'id': 136529960, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Alphabet expands its Pixel lineup with new smartphones, watches, and earbuds, but faces fierce competition from Apple's AI push and Garmin's health-focused wearables.\", 'url': 'https://finnhub.io/api/news?id=93db37c7152895bb7d2a2f3d8de26eb915baea8ac2eea26dc76b571b118beb92'}, {'category': 'company', 'datetime': 1756218652, 'headline': 'Trump vs. Lisa Cook and what it really means for the stock market: Opening Bid top takeaway', 'id': 136525458, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The battle is well underway.', 'url': 'https://finnhub.io/api/news?id=6db1fb4523672e793b334b0953a0e3e17809d60f1522dc0a42d6ec9943d2cf40'}, {'category': 'company', 'datetime': 1756218587, 'headline': \"'Sexualized' AI Chatbots Pose Threat to Kids, Warn Attorneys General in Letter\", 'id': 136529961, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A coalition of 44 state attorneys general have written to 13 AI firms demanding they protect children from sexually suggestive chatbot content.', 'url': 'https://finnhub.io/api/news?id=beae4eff89cbbac582eebe5b2a564df1ab0402115fab0f6ec44b4adcd3948cb6'}, {'category': 'company', 'datetime': 1756217611, 'headline': 'Apple internally discussed buying Mistral, Perplexity, the Information reports', 'id': 136529962, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple has trailed rivals such as Alphabet's Google and Samsung in terms of roll-out of AI features in its devices. CEO Tim Cook signaled last month that Apple was open to larger AI-related acquisitions to accelerate its roadmap, a shift from its historically conservative M&A posture. Perplexity, which is backed by Nvidia and Amazon founder Jeff Bezos, said it is unaware of any merger conversations including the company, aside from its own acquisitions.\", 'url': 'https://finnhub.io/api/news?id=9238d3913f4ea061860ef4435dc0e5662ad535c650c489b04e155b56238db7e5'}, {'category': 'company', 'datetime': 1756217332, 'headline': \"Apple To Invest $2.5 Billion For This Company's Glass, Making Its Shares Jump\", 'id': 136525500, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This fiber-optics stock is in a buy zone after a positive earnings report. Shares are up 40% so far this year.', 'url': 'https://finnhub.io/api/news?id=ff60a2ae2dd68824095f1deab9962e8de096976d954b3edb4561105d00e430c6'}, {'category': 'company', 'datetime': 1756216626, 'headline': 'Only 19 Companies Have More Money Than Elon Musk — Which Are Worth Investing In?', 'id': 136525463, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These 19 companies top Elon Musk in wealth. See which ones could be solid picks for your investment portfolio.', 'url': 'https://finnhub.io/api/news?id=4905c4e94e17d8585183949d95e9c37c7ddbc86c60581365e44ab2c72bd56384'}, {'category': 'company', 'datetime': 1756216248, 'headline': 'Trump vows retaliation against countries with digital rules targeting US tech', 'id': 136525502, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Trump administration has long held the EU’s tech regulations in contempt.', 'url': 'https://finnhub.io/api/news?id=486e26a45bbbc11a274fd4612cdc325097aa3e314abca130893d90e6cf31b151'}, {'category': 'company', 'datetime': 1756206060, 'headline': 'Apple’s August Stock Revival Gives Hope to Concerned Investors', 'id': 136524134, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Shares of the tech giant entered August down 17% for the year due in part to concerns about the impact of President Donald Trump’s sweeping levies, which cost the company $800 million in its fiscal third quarter alone. The US president has long criticized Apple for its reliance on overseas production partners, at one point even threatening to punish the company with tariffs if it didn’t make its iPhones in the US. Then, at an event in the Oval Office on Aug. 6, Apple Chief Executive Officer Tim Cook committed to spending an additional $100 billion on manufacturing in the US.', 'url': 'https://finnhub.io/api/news?id=d4af929538b268228162d9bd3115adb945972a5278888c20ddcf0732ece89dc8'}, {'category': 'company', 'datetime': 1756215276, 'headline': \"Is the tide turning on the AI boom's myth of destiny?\", 'id': 136525465, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'For over a year, AI was gospel. Now, Wall Street, Silicon Valley, and regulators are asking the same question: What if it’s not?', 'url': 'https://finnhub.io/api/news?id=c93c2e83ece71b1b0d6f6ea8daae7246a98738e2c7aad1a53853d61b079ea23b'}, {'category': 'company', 'datetime': 1756215114, 'headline': 'Apple: Breakdown Of $600B Investment Commitment (Rating Downgrade)', 'id': 136527045, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Apple's $600B US investment bolsters supply chain resilience, AI growth, and govt ties, minimizing risks.\", 'url': 'https://finnhub.io/api/news?id=001db74a945b3e627a70dce9199b32d4b815fdf4e9e58c7354aa60e4eb00f8ef'}, {'category': 'company', 'datetime': 1752586675, 'headline': 'S&P 500 stocks: List of additions and removals in 2025', 'id': 135946875, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These stocks have been added or removed from the S&P 500 this year.', 'url': 'https://finnhub.io/api/news?id=c82b8aa916b7627eff6a48b9619bcb02464992951170719c78e81c3c1e3cd758'}, {'category': 'company', 'datetime': 1756214040, 'headline': 'Trump Takes Aim at Digital Taxes. What It Means for Tech Stocks.', 'id': 136525506, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Digital taxes largely hit U.S. firms such as Google-parent Alphabet, retailer Amazon, and Facebook-parent Meta.', 'url': 'https://finnhub.io/api/news?id=75278f14b5dfe4ab92541fb57c79de69ac9768b17c951ff637fe0d3865c3e459'}, {'category': 'company', 'datetime': 1756213680, 'headline': 'Atomic Data Expands Leadership Team', 'id': 136525507, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Additions Will Accelerate Growth Across Three Operating CompaniesMINNEAPOLIS, Aug. 26, 2025 (GLOBE NEWSWIRE) -- Atomic Data, a leading IT services provider and technology teammate, has announced two key leadership appointments that reinforce its long-term strategic vision and strengthen its shared services operating model. Jay Bozicevich, a three-decade veteran of the financial services industry, will step into the dual roles of President of Atomic Data and Chief Operating Officer of Shared', 'url': 'https://finnhub.io/api/news?id=cf6f397f00502ab95b260e3bef757f58fa106e5105c39e77df9b8e0bd803d1ee'}, {'category': 'company', 'datetime': 1756213200, 'headline': 'Level Launches Level Lock Pro: The Ultimate Blend of Design, Performance, and Security', 'id': 136525508, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'REDWOOD CITY, Calif., August 26, 2025--Level, the company that redefined smart home today introduces Level Lock Pro, the ultimate in smart home performance, security and design. Level Lock Pro provides enhanced performance, security, and features such as door status detection to show when a door is left open, all while retaining the same award-winning invisible design Level is known for. There has never before been a smart lock that packs so much technology in the footprint of a traditional dead', 'url': 'https://finnhub.io/api/news?id=ba6aaa945fdf72d7b0ff6ec45454b30944831abf27e68bd11de8db5b8c1fa58e'}, {'category': 'company', 'datetime': 1756212744, 'headline': 'Apple Loses German Case On Green Marketing Pledge', 'id': 136525509, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple Watch can't be advertised as CO?-neutral, court rules\", 'url': 'https://finnhub.io/api/news?id=2ce75c880408058d8a276d83753fe01903ac146b8c6b12ab0e798d1b2418f5b2'}, {'category': 'company', 'datetime': 1756212272, 'headline': 'EU Defends Digital Taxes After Trump Calls Them Unfair on US', 'id': 136525510, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'ā€œIt’s the sovereign right of the EU and its member states to regulate our economic activities on our territory that are consistent with our democratic values,ā€ European Commission Spokeswoman Paula Pinho told reporters Tuesday in Brussels. Without specifying any government, Trump threatened export restrictions on US advanced technology and semiconductors and higher tariffs in retaliation for nations’ digital services taxes that hit American companies.', 'url': 'https://finnhub.io/api/news?id=7de834c2295cd83ee6630cf06bc371f15816a768702ce246a190d1133a4baa23'}, {'category': 'company', 'datetime': 1756212208, 'headline': 'Latest News In Cloud AI - Aurasell Transforms CRM Landscape With AI-Native Platform Launch', 'id': 136525493, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Aurasell has launched as the world's first AI-native CRM platform, introducing a significant shift in the landscape of cloud-based business software. The platform integrates a comprehensive suite of tools into a single system, aiming to eliminate the inefficiencies and high costs associated with traditional, fragmented CRM and go-to-market (GTM) systems. By leveraging AI, Aurasell provides enhanced automation and data unification, which can streamline operations from prospecting to contract...\", 'url': 'https://finnhub.io/api/news?id=207ea8323e1b58d3848a4374d82364443f6b0455e6408f0507c116e10ddbf39c'}, {'category': 'company', 'datetime': 1756211520, 'headline': 'AI Powers AR: Spotselfie Debuts Real-World Ad Marketplace for Brands & Creators', 'id': 136525512, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'SpotselfieĀ®, the self-funded AR real-world social metaverse with 16 issued patents, is rolling out its next-generation platform. This AI-powered creator marketplace lets brands and independent creators place GPS-anchored brand experiences in the real world. Built for mobile AR and the next wave of XR smart glasses, it opens new income streams for creators and delivers brands unmatched local targeting.', 'url': 'https://finnhub.io/api/news?id=90be422c09d26a51591bdec839617db7929d82f81f97ba77a05df28e656398a3'}, {'category': 'company', 'datetime': 1756210560, 'headline': 'Boring Is Better Than Amazon, Apple, and Alphabet. These 3 Stocks Prove It.', 'id': 136525495, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Torsten SlĆøk, the chief economist at Apollo Global Management, says some big tech stocks are being outdone by what might be considered ho-hum names.', 'url': 'https://finnhub.io/api/news?id=91abe67ba7809fa434c3ca366e8a93ff76cea29a866a1272fd1007da924b21f8'}, {'category': 'company', 'datetime': 1756206900, 'headline': 'Tech, Media & Telecom Roundup: Market Talk', 'id': 136525514, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Find insight on Samsung SDI, Cambricon Technologies, Nvidia and more in the latest Market Talks covering technology, media and telecom.', 'url': 'https://finnhub.io/api/news?id=6f3c57dee3ef235b9c03327c1368efb31c146d3c0770094cd015d9072c9ee71b'}, {'category': 'company', 'datetime': 1756204680, 'headline': 'Exploring Trends Across Asset Classes, Mega-Caps, And Banks', 'id': 136525746, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1308271745/image_1308271745.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Equities have stalled out in the last half of August as a buyer's strike ahead of the seasonally weak month of September takes hold. Click to read.\", 'url': 'https://finnhub.io/api/news?id=e261ed2b3678ac77557c1b354cdc074ed03a8137a6ce9fe9d83108f769ba1221'}, {'category': 'company', 'datetime': 1756204200, 'headline': 'Trump Fires Another Shot at the Fed. The Economy Could Be Collateral Damage.', 'id': 136525515, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trade deals are still in flux, Musk sues Apple, OpenAI, Intel’s deal with U.S. comes with a catch, and more news to start your day.', 'url': 'https://finnhub.io/api/news?id=feea0a87baf07a24584e4e8b8248a325a74996a515c6f040e4bcbf11919f7830'}, {'category': 'company', 'datetime': 1756202400, 'headline': 'Apple-Google Likely Tie-Up for Siri Revamp Puts These ETFs in Focus', 'id': 136523788, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple and Google's AI talks lift both stocks, putting ETFs like IYW, FTEC, FCOM and VOX, with heavy exposure to the tech giants, in focus.\", 'url': 'https://finnhub.io/api/news?id=94c168d3e743b209b245da5b32ecc7207d844937d4d278cf72a515e5a0057625'}, {'category': 'company', 'datetime': 1756202400, 'headline': 'Circular Economy Market to Soar from $149.86 Billion in 2024 to $355.44 Billion by 2032, Driven by ESG Adoption and Recycling Innovation | Report by DataM Intelligence', 'id': 136523787, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'According to research report published by DataM Intelligence, \"The Circular Economy Market Size valued US$149.86 billion in 2024, is projected to reach US$355.44 billion by 2032, expanding at a robust CAGR of 11.40% from 2025 to 2032.\" Global concerns over waste management and resource scarcity are significantly driving the circular economy market, as nations and industries face the dual challenge of rising waste volumes and depleting raw materials.', 'url': 'https://finnhub.io/api/news?id=7ae834401cec373cbbebc6770403f421198ff3a98febd8a0a916ffaf4027c8bb'}, {'category': 'company', 'datetime': 1756202329, 'headline': \"Apple Watch not a 'CO2-neutral product,' German court finds\", 'id': 136523789, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'BERLIN (Reuters) -Apple can no longer advertise its Apple Watch as a \"CO2-neutral product\" in Germany, following a court ruling on Tuesday that upheld a complaint from environmentalists, finding that the U.S. tech company had misled consumers. Apple had promoted the device online as \"our first CO2-neutral product,\" a claim found by a panel of judges to be unfounded and in violation of German competition law, according to a statement from a regional court in Frankfurt. An Apple spokesperson said the court ruling \"broadly upheld our rigorous approach to carbon neutrality\" and declined to comment on whether the company would appeal Tuesday\\'s ruling.', 'url': 'https://finnhub.io/api/news?id=6bba43b58fbaa3325141222ddf982d019366b4f7af671d3278bcea9d588d4ec3'}, {'category': 'company', 'datetime': 1756199205, 'headline': 'Elon Musk’s xAI files lawsuit against Apple and OpenAI', 'id': 136523790, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The lawsuit alleges Apple's ChatGPT integration sidelines rival apps such as xAI's Grok in App Store rankings.\", 'url': 'https://finnhub.io/api/news?id=d4ee4300cb2fbdea35e2495786189edac83b6f9f477ab491f5251d1a371f90e6'}, {'category': 'company', 'datetime': 1756198863, 'headline': \"Elon Musk Sues Apple, OpenAI Over iPhone AI 'Monopoly'\", 'id': 136523791, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The lawsuit claims Apple and OpenAI's exclusive iPhone AI deal locks out rivals from 80% of the chatbot market.\", 'url': 'https://finnhub.io/api/news?id=eb6c93280471945b15f63b8433082dc950ee64a93ed4fedc248ad5d566b1c58b'}, {'category': 'company', 'datetime': 1756198800, 'headline': 'Labour accused of abandoning UK tech in AI push', 'id': 136523771, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Labour has been accused of abandoning British tech firms despite Sir Keir Starmer’s pledge to transform the country into an artificial intelligence (AI) powerhouse.', 'url': 'https://finnhub.io/api/news?id=afa0535831fcd97266559a9d37f57a658c3075f6d66955f03b2c79cb1ff64bb0'}, {'category': 'company', 'datetime': 1756198015, 'headline': 'Trump threatens tariffs on nations imposing digital taxes on US tech', 'id': 136523778, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The president said the taxes against US firms ā€œgive a complete pass to China’s largest tech companiesā€.View on euronews', 'url': 'https://finnhub.io/api/news?id=b776efdb64af47c5fe1e927b709c73cbe5c9c0d14ced2ac5e16a21f1476bbb8e'}, {'category': 'company', 'datetime': 1756197600, 'headline': \"Prediction: 2 Stocks That'll Be Worth More Than Berkshire Hathaway 5 Years From Now\", 'id': 136523779, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These two megacap stocks have Berkshire Hathaway in their sights.', 'url': 'https://finnhub.io/api/news?id=f33417a3a5a437980a5180f2bf5f6287f63409452b581252b1955fcea7108cbc'}, {'category': 'company', 'datetime': 1756195620, 'headline': 'Wall Street Breakfast Podcast: Trump Fires Cook,\\xa0Threatens More Tariffs', 'id': 136524231, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1717444876/image_1717444876.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Trump fires Fed Governor Cook,Ƃ\\xa0threatens more tariffs, andƂ\\xa0Hassett on Fed chair nominee.', 'url': 'https://finnhub.io/api/news?id=dfb538777ae981067d19edc7864c752efabdf58a28713289109d61c75297a09b'}, {'category': 'company', 'datetime': 1756193878, 'headline': 'Heard on the Street Monday Recap: Trump’s New Deal', 'id': 136523795, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'President Trump said he wants to pursue more deals like the government’s equity investment in Intel. The U.S. converted funds previously allocated for manufacturing expansion into a 9.9% stake in the chip maker. The government also obtained a five-year warrant, under which it could receive an additional 5% if Intel spins out or sells off its manufacturing operations.', 'url': 'https://finnhub.io/api/news?id=31535f8995229bc9f0c38c870b6e861a6d0c18dd7d1ea1cab9a0c56060fb920e'}, {'category': 'company', 'datetime': 1756192028, 'headline': \"Elon Musk's xAI sues Apple, OpenAI over competition claims\", 'id': 136523796, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'STORY: Elon Musk’s xAI is suing Apple and OpenAI over claims they conspired to thwart rivals on artificial intelligence.The suit was filed in a Texas court on Monday (August 26).It says the pair ā€œlocked up markets to maintain their monopoliesā€ after Apple integrated OpenAI’s ChatGPT into its products.The suit says the partnership led the iPhone maker to promote ChatGPT in its app store, while limiting prominence for Musk’s competing chatbot Grok.In a social media post, Musk said ā€œa million reviews with 4.9 average for Grok and still Apple refuses to mention Grok on any listsā€.Apple didn’t respond to a request for comment on the suit.While OpenAI said the case was consistent with what it called Musk’s ā€œongoing pattern of harassmentā€.Some legal experts said Apple’s dominant position in the smartphone market could bolster xAI’s allegation that it was suppressing competition.But Ohio State University law professor Amy Schmitz cast doubt on some of Musk’s claims:ā€œThe fact remains that Grok is in the app store and it has ranked highly in some months. In fact, one report I looked at had it ranked at, I think, number one on the App Store in February of 2025, which shows that there is competition, right?ā€Musk cofounded OpenAI with Sam Altman in 2015.Its ChatGPT bot would later become the fastest-growing consumer application in history.But the pair fell out, and Musk went on to found the rival xAI.In a separate case, he’s suing the ChatGPT maker over its plan to convert from a nonprofit to a for-profit entity.', 'url': 'https://finnhub.io/api/news?id=20e1a5980ae6bfeaa51588fb7adf04a8a77455ce6b836af5680092325a6affbf'}, {'category': 'company', 'datetime': 1756191720, 'headline': 'Prediction: This Unstoppable Stock Will Join Nvidia, Microsoft, and Apple in the $3 Trillion Club Before 2028', 'id': 136523782, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Multiple avenues for growth will help this tech stalwart ascend to new heights.', 'url': 'https://finnhub.io/api/news?id=0a902a286165aa31474fa39cd6d738bff751ff0a50ada011825d386ccd1e8ec8'}, {'category': 'company', 'datetime': 1756184435, 'headline': 'How to close the menopause pay gap', 'id': 136523798, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Women experience an average 10% reduction in earnings by the fourth year following a menopause diagnosis.', 'url': 'https://finnhub.io/api/news?id=4a9e22064b284c05ab6ed13378a663bd282d07b3a51b0d5867a7b0d0b20b906d'}, {'category': 'company', 'datetime': 1756181665, 'headline': 'Trump vows retaliation against countries proposing digital taxes or regulation on American tech giants', 'id': 136523799, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The President seeks to curb rules taking aim at U.S. tech conglomerates', 'url': 'https://finnhub.io/api/news?id=ce623059cb32952ee4c09957bbb8fecad99152bf240a69a20402253669f856ee'}, {'category': 'company', 'datetime': 1756180826, 'headline': 'The $5.5bn cup of coffee', 'id': 136523800, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'One thing to start: Elon Musk’s xAI has sued Apple and OpenAI alleging they broke antitrust rules by thwarting competition in artificial intelligence...', 'url': 'https://finnhub.io/api/news?id=b784bf1bbf51f2a7ae66430e9a9fe87f284667b812b7af3558f0ad86558cc92e'}, {'category': 'company', 'datetime': 1756171860, 'headline': 'PhingeĀ®, Home of NetverseĀ® and Netaverseā„¢ With Verified and Safer AI Announces \"Test the Waters\" Campaign for Potential Regulation A+ Offering', 'id': 136523801, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Phinge Corporation today announced its intention to gauge market interest for a potential Regulation A+ offering, referred to as \"testing the waters\" under SEC Rule 255.', 'url': 'https://finnhub.io/api/news?id=23effc0ec59ab92a7532012a0b3ec4f1493fc83f940cb4d7bdc783cc24d844ee'}, {'category': 'company', 'datetime': 1756168269, 'headline': \"Jeff Bezos Said He Would Have 'Felt Icky' Had He Taken Any More Shares Of Amazon: 'I Just Didn't Feel Good...'\", 'id': 136523802, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Jeff Bezos once revealed in an interview that he never needed more stock to stay motivated at Amazon.com and that asking for it would have felt \"icky.\" Jeff Bezos Was ā€˜Proud’ Of His Compensation Package At Amazon In a 2024 interview at The New York ...', 'url': 'https://finnhub.io/api/news?id=93c751516e3666864e8c2e9ae96f5d91f74e81629b54bd48d507cb0dc4368d85'}, {'category': 'company', 'datetime': 1756154463, 'headline': \"Elon Musk's xAI sues Apple and OpenAI over AI competition\", 'id': 136523803, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk\\'s xAI seeks billions in damages from Apple and OpenAI for allegedly ā€œperpetrating their anticompetitive scheme\"', 'url': 'https://finnhub.io/api/news?id=81d1ba51ee5956233684563e8c4b5b066a6bc8955c78796b911b419a6633806f'}, {'category': 'company', 'datetime': 1756153867, 'headline': 'Stock Market Today: Dow Drops, Apple Firm Despite Musk Threat; Cathie Wood Loads Up On This Stock (Live Coverage)', 'id': 136522222, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow fell as Nvidia shined on the stock market today. Apple held up despite an Elon Musk AI move. Cathie Wood bought a diving stock.', 'url': 'https://finnhub.io/api/news?id=741cc617526e6af9d4f9f3bc5a38ad75e609a0e15933233540034f15031a65bc'}, {'category': 'company', 'datetime': 1756153307, 'headline': \"Elon Musk's X & xAI sue Apple & Open AI: What happens next?\", 'id': 136522261, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"X (formerly Twitter) and xAI (XAAI.PVT), owned by Tesla (TSLA) CEO Elon Musk, are suing Apple (AAPL) and OpenAI (OPAI.PVT). Musk's companies allege that Apple and OpenAI's partnership is anti-competitive and that the government should intervene due to antitrust laws. Yahoo Finance Senior Legal Reporter Alexis Keenan outlines the details of the suit. To watch more expert insights and analysis on the latest market action, check out more Market Domination.\", 'url': 'https://finnhub.io/api/news?id=7da38784a0869068ff9d0cb848412665a7729714621f73e14ae7b1b5bc3e5f30'}, {'category': 'company', 'datetime': 1756153296, 'headline': 'Why Apple Stock Could Sell Off After iPhone 17 Reveal', 'id': 136522262, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple stock could sell off after the company announces its iPhone 17 series smartphones next month, a Wall Street analyst said Monday.', 'url': 'https://finnhub.io/api/news?id=33011ae688343f7c45f9f05da64def83f3063e2686e7fa2da5d99883b981b78c'}, {'category': 'company', 'datetime': 1756152841, 'headline': \"Apple's Biggest iPhone Overhaul in a Decade Could Redefine the Stock's Next Growth Cycle\", 'id': 136522263, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Three years, three redesigns, foldables, AI-powered Siri, and a $100B services pivot -- Apple's next chapter begins.\", 'url': 'https://finnhub.io/api/news?id=554f3fddfdd67d0566bf7df68d092df224df5b41f44680af01e3a839730d68e8'}, {'category': 'company', 'datetime': 1756151760, 'headline': 'Apple no longer innovates — it waits. And with AI, anyone playing it safe will get left behind.', 'id': 136541521, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Apple no longer innovates — it waits. And with AI, anyone playing it safe will get left behind.', 'url': 'https://finnhub.io/api/news?id=272058be85f6596bdceae844d391faf2a80d7f1e1321f59ab01ab25b65b1400a'}, {'category': 'company', 'datetime': 1756151544, 'headline': 'Sector Update: Tech Stocks Mixed in Late Afternoon Trading', 'id': 136522229, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tech stocks were mixed late Monday afternoon, with the Technology Select Sector SPDR Fund (XLK) frac', 'url': 'https://finnhub.io/api/news?id=2c0bfc5d0dd6af1cab926d1fd2505d8d19703009bdda35aef17ff2936d1bda65'}, {'category': 'company', 'datetime': 1756151528, 'headline': 'US Equity Indexes Mixed Amid Higher Treasury Yields, Dollar', 'id': 136522230, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'US equity indexes traded mixed heading into the close on Monday amid gains in both government bond y', 'url': 'https://finnhub.io/api/news?id=c702f097666c85b6e3990aac44ae65118eeb133cd08498eefa5f99174f46f849'}, {'category': 'company', 'datetime': 1756150843, 'headline': \"Inside Elon Musk's suit against Apple and OpenAI: 'This is a tale of two monopolists'\", 'id': 136522266, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk followed through on Monday with a warning to sue Apple and OpenAI over their agreement to integrate OpenAI’s chatbot into Apple’s operating systems and prioritize the chatbot in its app store.', 'url': 'https://finnhub.io/api/news?id=bbb6426526db4acbd3ad432e567665510f3ece060f0b6d8a4dd0f3a7036d3ace'}, {'category': 'company', 'datetime': 1756147860, 'headline': 'Elon Musk’s xAI Sues Apple and OpenAI, Alleging They Are Monopolists', 'id': 136522267, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Musk said the partnership between the two companies has given the ChatGPT-maker access to ā€œbillions of user prompts.ā€', 'url': 'https://finnhub.io/api/news?id=c10d9f0635e4eb3fe91f2c5c05a1507f6a9aaeaf682671a9f0d6f767c60f9271'}, {'category': 'company', 'datetime': 1756147440, 'headline': 'Musk Sues OpenAI and Apple Over AI Access in App Store', 'id': 136522268, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'xAI filed suit against OpenAI and Apple, alleging anticompetitive behavior, according to a report from CNBC.', 'url': 'https://finnhub.io/api/news?id=3e8876dd844b1ac11ecfa0256361a8de7798d4d2629948be49edfbeeced54463'}, {'category': 'company', 'datetime': 1756146753, 'headline': 'Musk sues Apple and ChatGPT maker for ā€˜conspiring’ against him', 'id': 136522269, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk has filed a lawsuit against Apple and ChatGPT maker OpenAI, accusing the companies of conspiring against his AI business.', 'url': 'https://finnhub.io/api/news?id=0dcf5c23d8b030b5e284a4fa60a5aabab4e2943880014f0b573c49c8fd96f2dc'}, {'category': 'company', 'datetime': 1756144729, 'headline': 'Elon Musk accuses Apple and OpenAI of stifling AI competition in antitrust lawsuit', 'id': 136522270, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk on Monday targeted Apple and OpenAI in an antitrust lawsuit alleging that the iPhone maker and the ChatGPT maker are teaming up to thwart competition in artificial intelligence. The 61-page complaint filed in Texas federal court follows through on a threat that Musk made two weeks ago when he accused Apple of unfairly favoring OpenAI and ChatGPT in the iPhone's app store rankings for top AI apps. Musk's post insinuated that Apple had rigged the system against ChatGPT competitors such as the Grok chatbot made by his own xAI.\", 'url': 'https://finnhub.io/api/news?id=d53b55c1be0e7744d4bab3e799f1456ecca1191cdbe747fccc03753864f98cb9'}, {'category': 'company', 'datetime': 1756143185, 'headline': 'Sector Update: Tech Stocks Mixed Monday Afternoon', 'id': 136522248, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tech stocks were mixed Monday afternoon, with the Technology Select Sector SPDR Fund (XLK) adding 0.', 'url': 'https://finnhub.io/api/news?id=4f72b52f62dbadbf3a017217986ed454470b3ce6dff0f140a7d02c16d36e871d'}, {'category': 'company', 'datetime': 1756143125, 'headline': 'US Equity Indexes Mixed as Nvidia Helps Lift Nasdaq Composite', 'id': 136522249, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'US equity indexes traded mixed after midday Monday, with the Nasdaq Composite eking out a gain amid', 'url': 'https://finnhub.io/api/news?id=97583c089a3ab8dbbfc9195508c38b6a74ebc23e472c43727b756eaa05a0dcf2'}, {'category': 'company', 'datetime': 1756143038, 'headline': 'Elon Musk’s xAI sues Apple and OpenAI, alleging anticompetitive collusion', 'id': 136522273, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'According to Musk, Apple and OpenAI are colluding to stifle competition from other AI companies.', 'url': 'https://finnhub.io/api/news?id=516a56dece05e72da77f994ec08b1f901e8a1a28c2f28f9a0c0b9412c42a8d70'}, {'category': 'company', 'datetime': 1756142987, 'headline': 'Elon Musk Sues Apple, OpenAI', 'id': 136522274, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Bloomberg\\'s Mark Gurman details the latest on Apple as Elon Musk files a lawsuit against the tech giant and OpenAI, accusing them of unfairly favoring OpenAI on its smartphones. He joins Caroline Hyde on \"Bloomberg Tech.\"', 'url': 'https://finnhub.io/api/news?id=071349467edabf0c07f743af2407158405cc21bc874e0e86ce02f4acd35995be'}, {'category': 'company', 'datetime': 1756141964, 'headline': \"Elon Musk sues Apple & OpenAI, Roblox rises, Alphabet's new high\", 'id': 136522275, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Yahoo Finance's John Hyland tracks Monday's top moving stocks and biggest market stories in this Market Minute: Tesla (TSLA) CEO and xAI (XAAI.PVT) founder Elon Musk suing Apple (AAPL) and OpenAI (OPAI.PVT), Roblox (RBLX) stock rallying, and Alphabet (GOOG, GOOGL) stock hitting a new record. Stay up to date on the latest market action, minute-by-minute, with Yahoo Finance's Market Minute.\", 'url': 'https://finnhub.io/api/news?id=cd37f083513a4b43ce601efcf627712b2ba7c6ced97d0b6ce53bb151c3b93deb'}, {'category': 'company', 'datetime': 1756141742, 'headline': \"Musk's X, xAI Sue Apple, OpenAI for Alleged 'Anticompetitive Scheme'\", 'id': 136522276, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk\\'s companies X and xAI on Monday sued Apple and OpenAI in federal court, alleging they have engaged in an \"anticompetitive scheme\" that prevents competitors like xAI\\'s Grok from competing fairly and ascending the App Store charts.', 'url': 'https://finnhub.io/api/news?id=9e539309f995339b843e01c6ce1eb901aea061bde6652385aacec2c901748116'}, {'category': 'company', 'datetime': 1756140046, 'headline': \"Apple iPhone 17 Launch Could Trigger 'Sell The News' Reaction, Analyst Warns\", 'id': 136522277, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple Inc. (NASDAQ:AAPL) is gearing up for its next iPhone cycle with a September launch expected to spotlight a new ultra-thin iPhone 17 Air, but muted consumer buzz and restrained carrier promotions suggest the release may lack the blockbuster momentum of past product cycles. Bank of America Securities analyst Wamsi Mohan maintained a Buy rating on Apple (NASDAQ:AAPL) with a price forecast of $250. Mohan said expectations for Apple's next iPhone cycle remain modest despite reports suggesting a\", 'url': 'https://finnhub.io/api/news?id=e4ab774ba6dcf3899d4162abc2facb5d717884b38aef2e050ccb0da3ad3ab090'}, {'category': 'company', 'datetime': 1756139126, 'headline': 'American Eagle downgraded, Puma soars, Musk sues Apple & OpenAI', 'id': 136509512, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Market Catalysts host Allie Canal dives into what's driving interest in some of Monday's trending tickers on Yahoo Finance's platform, including American Eagle Outfitters (AEO), Puma (PUM.DE), Apple (AAPL), and OpenAI (OPAI.PVT). To watch more expert insights and analysis on the latest market action, check out more Market Catalysts.\", 'url': 'https://finnhub.io/api/news?id=624249acd2ebf5c12f5827252807b7ecb625e9f3357bbf43d1947fb2b2a2669d'}, {'category': 'company', 'datetime': 1756137739, 'headline': \"Musk's xAI sues Apple, OpenAI alleging antitrust violations\", 'id': 136522279, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk's companies xAI and X filed a sweeping US antitrust lawsuit Monday against Apple and OpenAI, alleging the tech giants formed an illegal partnership to stifle competition in artificial intelligence and smartphone markets.The plaintiffs claim Apple holds 65 percent of the US smartphone market, while OpenAI controls at least 80 percent of the generative AI chatbot market through ChatGPT.\\nApple and OpenAI announced their partnership in June 2024, making ChatGPT the exclusive AI assistant a\", 'url': 'https://finnhub.io/api/news?id=4995a61d78bd0b891e214d004f7d3c718694b4b41939294746f2667f1e98297d'}, {'category': 'company', 'datetime': 1756129771, 'headline': 'Stock Market Today: Dow Falls Ahead Of Nvidia Earnings, Inflation Data; Palantir Sells Off (Live Coverage)', 'id': 136507733, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index falls Monday ahead of Nvidia earnings and key inflation data. Palantir stock drops.', 'url': 'https://finnhub.io/api/news?id=683641b210c1124848bd7d6581630691a3455bdce5b964676579ed0e2d8aa9bc'}, {'category': 'company', 'datetime': 1756127340, 'headline': 'Apple Plans Foldable, Curved-Glass iPhones: Report. What It Means for the Stock.', 'id': 136507777, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The shares are in a slump as investors wait to see how the company integrates artificial intelligence with its flagship product.', 'url': 'https://finnhub.io/api/news?id=928c434fc143e6e69f0e54225b9c755fc9080278e8da14fe7586966936d419b5'}, {'category': 'company', 'datetime': 1756121820, 'headline': 'What Is the Highest Apple Stock Has Ever Been?', 'id': 136507778, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's all-time high was reached in late 2024, and it is well below this level today.\", 'url': 'https://finnhub.io/api/news?id=9a00ef0f43eb87671050f652a9f1dd0f502d8732e636adc1a6e6f870b57c1713'}, {'category': 'company', 'datetime': 1755870060, 'headline': 'Suze Orman reveals her favorite stock right now and the investing mistake that shaped her strategy', 'id': 136487722, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Suze Orman reveals her favorite stock right now and the investing mistake that shaped her strategy', 'url': 'https://finnhub.io/api/news?id=03c9e876a9f29d950a1dfa70089118437b7e02856f9547f278c249c14c0797fb'}, {'category': 'company', 'datetime': 1756116566, 'headline': 'Could Apple’s (AAPL) Airline Move Reveal a New Approach to Audience Growth?', 'id': 136507780, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"In August 2025, United Airlines announced that full seasons of select Apple TV+ original series, including Severance and Ted Lasso, are now available for free on over 130,000 seatback screens and in the United app, significantly expanding the airline's inflight entertainment content. This partnership could boost awareness and trial of Apple TV+ among United travelers, broadening Apple’s services reach beyond traditional streaming audiences. We'll explore how Berkshire Hathaway’s sizable...\", 'url': 'https://finnhub.io/api/news?id=8d1ec568e2355141d78aad1cadc0dc78a7410789f281182fa35436398a4f81cf'}, {'category': 'company', 'datetime': 1756114020, 'headline': \"If You'd Invested $1,000 in SoFi Technologies (SOFI) Stock 3 Years Ago, Here's How Much You'd Have Today. (Spoiler: Wow.)\", 'id': 136507781, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Spoiler: You'd have a lot.\", 'url': 'https://finnhub.io/api/news?id=cc372f93fc694e46f10bb1bfac7534e774ec28014abef59053ca2fdc87cd1e9d'}, {'category': 'company', 'datetime': 1756111500, 'headline': 'IBM: The Retracement An Opportunity As IBM Has Transformed Its Business', 'id': 136507588, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1445810162/image_1445810162.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"IBM's focus on hybrid cloud, AI, and innovation boosts growth potential. Discover why its undervalued shares offer income & capital appreciation.\", 'url': 'https://finnhub.io/api/news?id=bd07496ca6f4bf66e1a45fb96943d6eda47f5938fe184effb5ca3bd4c30d1ad1'}, {'category': 'company', 'datetime': 1756109296, 'headline': 'BDJ: This Fund Provides Diversification Benefits Along With A High Yield (Rating Downgrade)', 'id': 136507375, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=638320c4013e8c18f47c802a7de2f3e0726a7af7dac1e8eae884dee0a4d4eeb2'}, {'category': 'company', 'datetime': 1756102306, 'headline': \"Apple: The Future Is Bright, But That Doesn't Mean To Buy\", 'id': 136507010, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2203575435/image_2203575435.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Apple shows robust growth and strong margins, driven by its services segment, but a high valuation tempers buy potential.', 'url': 'https://finnhub.io/api/news?id=31f874ee1dcdd39caf82979740b96b0578f9ab14109c20d15d7c1274b63c0b12'}, {'category': 'company', 'datetime': 1756088516, 'headline': 'ETV: Decent Price Right Now, But Not As Diversified As I Would Like', 'id': 136506262, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2153687482/image_2153687482.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"ETV's strategy relies on writing index options, but its heavy technology weighting reduces diversification. Read why ETV CEF is a Hold.\", 'url': 'https://finnhub.io/api/news?id=e609d8759451296d6349d17fdd99438fa94156eeb9a23a86f2d0e912ae4441a0'}, {'category': 'company', 'datetime': 1756083600, 'headline': 'Tech Rally Shows Signs of Losing Steam', 'id': 136507772, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Nvidia and other stocks in the Magnificent Seven have been buffeted recently by growing doubts about their valuations and the potential of artificial intelligence.', 'url': 'https://finnhub.io/api/news?id=0f8fa3e29ac4bd95c89354949c4161a2d35db2381f83831109a9b2f473e5024f'}, {'category': 'company', 'datetime': 1756077120, 'headline': 'Prediction: All \"Ten Titans\" Stocks Will Surpass $1 Trillion in Market Cap by 2030', 'id': 136507773, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Ten Titans already make up 38% of the S&P 500, but their share could grow if companies keep delivering on investor expectations.', 'url': 'https://finnhub.io/api/news?id=21506a32bd26bd2e8cb299d0693e1834738da72b97c33b4ccc8a045bbd406e21'}, {'category': 'company', 'datetime': 1756072815, 'headline': 'If you bought Bitcoin instead of every new iPhone, you’d have $250M', 'id': 136507784, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Bitcoin or iPhone, which investment would have paid more?', 'url': 'https://finnhub.io/api/news?id=2219010c26b8b851571c82f93c92505738ad14bc5c10403441a6544a640d2cd3'}, {'category': 'company', 'datetime': 1756066081, 'headline': 'Tracking Renaissance Technologies (RenTec) 13F Portfolio - Q2 2025 Update', 'id': 136504690, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=5af03a9d2830ba72b2e198c9657b545ae8d7d8941028d9d6e3cde20a2dffefca'}, {'category': 'company', 'datetime': 1756065569, 'headline': 'Netflix’s ā€˜KPop Demon Hunters’ is probably the biggest movie in theaters', 'id': 136507785, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"This is Netflix's first time winning the domestic box office.\", 'url': 'https://finnhub.io/api/news?id=390d947eadec7e91d89abc8db8b332bcd287771bd8582c26f09c9b33d5e1ad3a'}, {'category': 'company', 'datetime': 1756058400, 'headline': \"Prediction: These 2 Trillion-Dollar Artificial Intelligence (AI) Stocks Could Strike a Megadeal That Wall Street Isn't Ready For\", 'id': 136502572, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Most of the \"Magnificent Seven\" companies have built and scaled legitimate artificial intelligence (AI) platforms, but two outliers in big tech remain.', 'url': 'https://finnhub.io/api/news?id=4aa61de7969df2e537fcbf75911a5d0975ee96cf94d45ea916556d38a6a8a54d'}, {'category': 'company', 'datetime': 1756051200, 'headline': 'Chinese backer of UK tech takeover accused of military ties', 'id': 136502573, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A Chinese tech giant funding the takeover of a British semiconductor company has been accused of links to the country’s military.', 'url': 'https://finnhub.io/api/news?id=3b55f1aa895d7b89e582f60248f0424a158bb4d34316de66b42018335c7ae2bc'}, {'category': 'company', 'datetime': 1756047600, 'headline': 'The \"Ten Titans\" Stocks Now Make Up 38% of the S&P 500. Here\\'s What It Means for Your Investment Portfolio', 'id': 136502531, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Massive growth stocks are driving the performance of the S&P 500, for better or for worse.', 'url': 'https://finnhub.io/api/news?id=0beed2ea303bafdbcdee6489b172454ab0df5c2c868733b172d80693a4b795d7'}, {'category': 'company', 'datetime': 1756041990, 'headline': 'The Best Ways To Use the Apple Stocks App To Build Your Best Portfolio', 'id': 136502575, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Discover how Apple’s built-in Stocks app can help investing beginners track funds, set alerts and grow their investing skills.', 'url': 'https://finnhub.io/api/news?id=5ca7e4d33ae50bc068d77ba9e3f590dcd3ec53763ff7a803fc9da8abb40fc20c'}, {'category': 'company', 'datetime': 1756034640, 'headline': \"Here's How Many Shares of Apple Stock You'd Need for $10,000 in Yearly Dividends\", 'id': 136502576, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This powerful consumer brand has found remarkable success because of its ongoing focus on innovation.', 'url': 'https://finnhub.io/api/news?id=b8be2c8adfc45a2581f853334d822802bab801a5392766dc7210bc22fd02c7a9'}, {'category': 'company', 'datetime': 1756033110, 'headline': 'Nvidia will deliver key earnings report this week', 'id': 136502538, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Check out the stocks that propelled last week's huge Dow rally.\", 'url': 'https://finnhub.io/api/news?id=7b86059d86ff84352acd6fae86a8258b87a44dd3f1d25102d65586b83cc7a8d5'}, {'category': 'company', 'datetime': 1756032600, 'headline': 'Why Is Warren Buffett Dumping Apple Stock Right Now?', 'id': 136502578, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Berkshire Hathaway has been rapidly reducing its Apple stock holdings. What's going on?\", 'url': 'https://finnhub.io/api/news?id=73ff48685f460de5f73fe6ecf015179bc929e73c78a4bed4aefadbf48985bb15'}, {'category': 'company', 'datetime': 1756028040, 'headline': 'Best Stock to Buy Right Now: Apple vs. Microsoft', 'id': 136502563, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Which of these roughly half-century-old companies presents a better investment opportunity?', 'url': 'https://finnhub.io/api/news?id=8a5e42a9d73e09b83190dc51513b368fd5f813da7aada8001706e41188f20fa0'}, {'category': 'company', 'datetime': 1756027390, 'headline': \"Ethereum's next upgrade: What you need to know\", 'id': 136502580, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Ethereum is gearing up for another major upgrade with the Fusaka hard fork, set for November 5', 'url': 'https://finnhub.io/api/news?id=b8308a5310cab511f1c7f66260442bcb62a56effedfb06262eb84d6b01983bd5'}, {'category': 'company', 'datetime': 1756022520, 'headline': 'ā€˜It’s almost tragic’: Bubble or not, the AI backlash is validating what one researcher and critic has been saying for years', 'id': 136502566, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Gary Marcus told Fortune that AI valuations remind him of Wile E Coyote. \"We are off the cliff.\"', 'url': 'https://finnhub.io/api/news?id=c02f68e789e6c621e714c92b71596e170bad8e3e5e606e8c3dc0c7c7d5e951be'}, {'category': 'company', 'datetime': 1756012944, 'headline': 'No Base iPhone in 2026 as Apple Bets Big on Foldable Launch', 'id': 136502582, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is among the best stocks to buy now according to AI. According to the report by South Korean outlet ETNews, Apple Inc. (NASDAQ:AAPL) will skip the launch schedule in 2026, breaking from its tradition by not releasing its base model. The reason is simple – it’s saving the spotlight for its first-ever […]', 'url': 'https://finnhub.io/api/news?id=808ae2d0c49ab9b03f5ff9655f9330c6676802665ea8750cf5937e302a0d3582'}, {'category': 'company', 'datetime': 1756012786, 'headline': 'Amazon AI Chip Executive Joins Arm to Build Complete Chips', 'id': 136502583, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Amazon.com, Inc. (NASDAQ:AMZN) is among the best stocks to buy now according to AI. On Monday, it was revealed that Arm Holdings has hired Rami Sinno, artificial intelligence chip director at Amazon.com, Inc. (NASDAQ:AMZN), in an effort to develop its own complete chips. Up to this point, Arm has not developed its own chips; rather, […]', 'url': 'https://finnhub.io/api/news?id=2c4675a4789aea76a1abe4ded69dab761cf657957e5b375d54245308b9a8cda2'}, {'category': 'company', 'datetime': 1756011644, 'headline': \"'We quit our jobs to launch a Ā£2.5m tequila cocktail business'\", 'id': 136502584, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Co-founders Alice Parmiter and Wynter Karo quit their corporate jobs to launch premium tequila cocktail brand Pimentae.', 'url': 'https://finnhub.io/api/news?id=6d5de702003b9d1be6bd2638afa73d0025eaf761609e9f36f47ef9ec5d753072'}, {'category': 'company', 'datetime': 1755988028, 'headline': '3 Reasons You Should Buy Apple Stock Ahead of a Major Product Launch', 'id': 136502585, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'When it comes to the rise and fall of Apple stock, there are a number of catalysts investors look out for, and one of them is product launches. Apple consistently moves the market with their new...', 'url': 'https://finnhub.io/api/news?id=94beb6b43d176186a159a51c9c3deeda2a003e3c97a587160b4d0c7c7b64b3cf'}, {'category': 'company', 'datetime': 1755967620, 'headline': 'Prediction: This Quantum Computing Stock Will Still Be Worth More Than Berkshire Hathaway, Palantir, and Tesla Combined in 2030', 'id': 136495839, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Quantum computing could become the next frontier of the artificial intelligence revolution.', 'url': 'https://finnhub.io/api/news?id=963004d4b5e80bab2c5fff729f22be257f34cf9ebb2bedd4c494b9da856a2d25'}, {'category': 'company', 'datetime': 1755964802, 'headline': 'Should You Buy Nvidia Stock Before August 27?', 'id': 136497749, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'While U.S.-China tensions continue, Nvidia remains the undisputed king of AI hardware.', 'url': 'https://finnhub.io/api/news?id=98f85b2449e45b2ff2677d9b64411d13507b8092f83be42f053ed7cdaabb7cb8'}, {'category': 'company', 'datetime': 1755958200, 'headline': 'Warren Buffett Is Selling Apple and Bank of America and Piling Into This Beaten Down Value Stock Instead', 'id': 136495877, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This stock looks like a classic \"bear greedy when others are fearful\" investment.', 'url': 'https://finnhub.io/api/news?id=aea4c08e323cb64a8b592182ebcbde4ebf32768cce3245433c496ead6e48207f'}, {'category': 'company', 'datetime': 1755957919, 'headline': 'This week in Trumponomics: A government hedge fund?', 'id': 136495842, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trump wants to nationalize Intel and make other big companies do his bidding. Everybody fine with that?', 'url': 'https://finnhub.io/api/news?id=7197f4b7e60502eeab5cbd8a0a8f7b4c4e183277572e2ee0635531c7ecf46a26'}, {'category': 'company', 'datetime': 1755950400, 'headline': 'How Tech Is Tackling the New Age-Verification Rules', 'id': 136495879, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Selfies, government IDs and AI are all being used by companies in an effort to adhere to new laws and regulations aimed at protecting children.', 'url': 'https://finnhub.io/api/news?id=2ebcad4799efbcb2a4e34a0eec8c391bf65a92be17fe05d73e0f8b732927209d'}, {'category': 'company', 'datetime': 1755943669, 'headline': 'Foxconn’s Recall of More Chinese Staff Tests Apple’s India Push', 'id': 136495880, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The extraction of Chinese workers from the factory of Yuzhan Technology, a Foxconn component unit, in southern Tamil Nadu state is the second such move in a few months. Foxconn has started flying in Taiwanese engineers to replace staff leaving, people familiar with the matter said, asking not to be named as the information is private. Earlier this year, officials in Beijing verbally encouraged regulatory agencies and local governments to curb technology transfers and equipment exports to India and Southeast Asia in what is a potential attempt to prevent companies from shifting manufacturing elsewhere.', 'url': 'https://finnhub.io/api/news?id=ce0350a1cada1abfc2638e13fd6f5ce5d031693e9c391e8c7d25d188f75d151a'}, {'category': 'company', 'datetime': 1755943531, 'headline': 'Did Trump save Intel? Not really, analysts say.', 'id': 136495849, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'SAN FRANCISCO (Reuters) -U.S. President Donald Trump is injecting nearly $9 billion into Intel in exchange for a 9.9% equity stake. What Intel needs is external customers for its so-called cutting-edge 14A manufacturing process - a tough ask, at least in the short term. CEO Lip Bu Tan, who took the top job in March, warned last month that the company may have to quit the chip contracting business if it does not land any big clients.', 'url': 'https://finnhub.io/api/news?id=f9dc938c9ab927a7ae254533f06a600f1daf54df8050ee606becea6f1ec5df0b'}, {'category': 'company', 'datetime': 1755941400, 'headline': 'Warren Buffett Is Selling Apple Stock Again. Should You Follow His Lead?', 'id': 136495882, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Buffett hadn't sold Apple stock in nearly a year.\", 'url': 'https://finnhub.io/api/news?id=67a819077623f6d8344de845e6097c7d733def259f5a1be9305512e41bc53398'}, {'category': 'company', 'datetime': 1755936600, 'headline': \"Goodbye Growth? Here's What I'm Buying As Value Mounts A Comeback\", 'id': 136493917, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2193071535/image_2193071535.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Recent underperformance in growth tech stocks reflects doubts about AI, while value-oriented dividend stocks have shown resilience and defensiveness. See more here.', 'url': 'https://finnhub.io/api/news?id=cd45534dafc843f5318537f56c7fad06e00d25a8e4c8fbf6789d1ab654d988d8'}, {'category': 'company', 'datetime': 1755935280, 'headline': 'Is Apple Stock Your Ticket to Becoming a Millionaire?', 'id': 136495883, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Shares of the tech giant have produced a total return of 68,660% in the past three decades.', 'url': 'https://finnhub.io/api/news?id=d2eec603ce17842f284932a4a3e5c03aff9daa6de5e5d86ddb6af845553352f9'}, {'category': 'company', 'datetime': 1755930600, 'headline': 'Brace for a Second China Shock. Advanced Manufacturing Is at Risk.', 'id': 136495884, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The U.S. could face a second version of the ā€œChina shockā€ that hollowed out parts of the U.S. manufacturing sector, according to Dan Wang, a veteran China technology analyst. The first China shock kept prices low for Americans and boosted corporate profitability. It also helped China transform into a more formidable rival, feeding the current frictions in the U.S.-China relationship.', 'url': 'https://finnhub.io/api/news?id=850292052d1c0a7a2f63dfb7d5c37273a14e9bc420558fbc9ca6bd344ab50a71'}, {'category': 'company', 'datetime': 1755925257, 'headline': 'The Guns N’ Roses-inspired company helping to make job search less soul-crushing', 'id': 136495885, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'As a fan of rock band Gun N’ Roses, JĆ©rĆ©my ClĆ©dat wanted to start his company with a name that resonated with the global job search market.', 'url': 'https://finnhub.io/api/news?id=01ebf524fba8ec60e739cfab45a16b7d5294a516e1158a9db36238ffab7015cd'}, {'category': 'company', 'datetime': 1755921418, 'headline': 'Apple (AAPL) off the Hook on Britain’s iPhone ā€˜Backdoor’ Push', 'id': 136495886, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the best stocks to buy according to billionaire Ken Fisher. On August 19, U.S. Director of National Intelligence Tulsi Gabbard, confirmed that Britain has dropped its demand for the company to provide a backdoor to its encrypted devices. British authorities were pushing the iPhone maker to provide a backdoor […]', 'url': 'https://finnhub.io/api/news?id=a98cd2b33fc9c36638974f17b290dc1f9f9a5c17ae1a7662d24e54cd8f5f3662'}, {'category': 'company', 'datetime': 1755913206, 'headline': 'Bernstein Reiterates Market Perform on Alphabet (GOOGL) Amid AI Competition', 'id': 136495887, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Alphabet Inc. (NASDAQ:GOOGL) is one of the Must-Watch AI Stocks for Investors. On August 19, Bernstein SocGen Group analyst Mark Shmulik reiterated a Market Perform rating on the stock with a $185.00 price target. Drawing parallels between the current artificial intelligence landscape and the mobile platform wars of the early 2010s, the firm noted that they […]', 'url': 'https://finnhub.io/api/news?id=52e18599d510ed5d44cc4be72d8bce573a555e0a3d6b252b19a42c7a6cb4f948'}, {'category': 'company', 'datetime': 1755909000, 'headline': 'Prediction: This Unstoppable Stock Will Join Nvidia, Microsoft, and Apple in the $3 Trillion Club Before 2029', 'id': 136495867, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This tech giant is firing on all cylinders.', 'url': 'https://finnhub.io/api/news?id=06994cc452da8b68a81d3fd95c7879eb25b2ad61afb29c7393e040155999f3e9'}, {'category': 'company', 'datetime': 1755901072, 'headline': 'Apple Explores Using Google Gemini AI to Power Siri', 'id': 136495889, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple is in early talks to use Google\\'s Gemini to power a revamped Siri, a potential step toward outsourcing more AI technology. Bloomberg\\'s Mark Gurman speaks with Vonnie Quinn and Caroline Hyde on \"The Close\" about Apple\\'s next moves.', 'url': 'https://finnhub.io/api/news?id=c363ca48e9308ec13ce2347c2fc1cd4819e52806ed374d2df3427bef570f13d1'}, {'category': 'company', 'datetime': 1755896497, 'headline': \"Dow Hits Record High as Powell's Dovish Tilt Fuels Stock Market Rally\", 'id': 136495871, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Wall Street's equity indexes rallied on Friday, with the Dow Jones Industrial Average hitting a reco\", 'url': 'https://finnhub.io/api/news?id=c45ffc6ab579368ee4943ead165a214976c8fd630c32c9e71cd71bd0eb4b2699'}, {'category': 'company', 'datetime': 1755895238, 'headline': 'Apple-Google Talks Heating Up Over Siri-Gemini IPhone Agreement?', 'id': 136495891, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Google stock rose Friday amid a report Apple and Alphabet are in talks over a Gemini-Siri iPhone deal as well as a Meta cloud computing pact.', 'url': 'https://finnhub.io/api/news?id=7bdfa9590bbf6abc5c8bae96c1af4c0d60442f4a5eec8f6169a0bb11714408eb'}, {'category': 'company', 'datetime': 1755894360, 'headline': 'Apple Looks at Using Gemini for AI, Report Says. Alphabet Stock Jumps.', 'id': 136495892, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Alphabet stock jumped to a record high Friday afternoon after a report said Apple is exploring using Google’s Gemini to run the highly anticipated Siri voice assistant. Bloomberg reported that the iPhone maker has approached Google to look into possibly building a custom artificial-intelligence model that would be the foundation of the long-awaited AI-powered Siri. Shares of Alphabet climbed 3.2% to $206.09.', 'url': 'https://finnhub.io/api/news?id=b7caed03521886a7c082609b0a414963bb97e1a8291cc7d3a2f6509f6ff7e550'}, {'category': 'company', 'datetime': 1755892834, 'headline': 'Apple gets ready for AI in the enterprise with new ChatGPT configuration options', 'id': 136495893, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple will let businesses configure ChatGPT enterprise access in the fall.', 'url': 'https://finnhub.io/api/news?id=ff16d935a7e5e70d4af11beac775853b8403fc5f2ca7ac8ae912094e619e5c7d'}, {'category': 'company', 'datetime': 1755892096, 'headline': 'Apple May Use Google AI to Power Revamped Siri', 'id': 136495894, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple is in early discussions about using Google Gemini to power a revamped version of its Siri voice assistant. The work is part of an effort to catch up in generative AI, a field where the company arrived late and then struggled to gain traction. Bloomberg's Denitsa Tsekova reports.\", 'url': 'https://finnhub.io/api/news?id=10cb0d9b54ab072a06079afacfbaa7e40b93ffdeeb1addc9744763603cd2ff39'}, {'category': 'company', 'datetime': 1755891483, 'headline': 'Ethereum, Gap, Apple: Trending tickers', 'id': 136495895, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Market Domination Host Josh Lipton and Prairie Operating Co. EVP of market strategy Lou Basenese discuss some of the day's top trending tickers, including Etherium (ETH-USD), Gap (GAP), and Apple (AAPL). To watch more expert insights and analysis on the latest market action, check out more Market Domination.\", 'url': 'https://finnhub.io/api/news?id=513c75a2bddffce5c5da870e661aadeafdcfe6e8b9e9f2fbf9f1cfd5ddec103b'}, {'category': 'company', 'datetime': 1755885259, 'headline': 'Apple reportedly wants Google’s Gemini to power new Siri', 'id': 136478817, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Investing.com -- Apple Inc (NASDAQ:AAPL). is said to be exploring the possibility of using Google’s Gemini model to power a revamped version of its Siri voice assistant, potentially outsourcing more of its artificial intelligence technology.', 'url': 'https://finnhub.io/api/news?id=139913ae884d4863c0bbcee60a33d4d4d9f1e1fbc699de4f12026bbdb69cd234'}, {'category': 'company', 'datetime': 1755885159, 'headline': 'MP Materials (MP) Surges 247% Over Last Quarter Amid Market Optimism', 'id': 136478818, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"MP Materials (MP) has showcased significant developments, including improved quarterly sales and a notable partnership with Apple to supply rare earth magnets. However, despite better sales figures, the company's ongoing losses reflect its challenging financial landscape. While the shares of MP surged 247% over the last quarter, the broader market also saw upward momentum, highlighted by optimism from potential interest rate cuts indicated by Fed Chair Powell. The news of strategic buyback...\", 'url': 'https://finnhub.io/api/news?id=c0a05d2b9539b4bcd299176f87094a644b42b9779339447aa52c38680f183729'}, {'category': 'company', 'datetime': 1755883746, 'headline': \"Stock Market Today: Dow Soars 900 Points As Fed's Powell Raises Rate-Cut Hopes; Nvidia Earnings Loom (Live Coverage)\", 'id': 136478797, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones soared to an all-time Friday on increased hopes of a rate cut at the September Federal Reserve meeting.', 'url': 'https://finnhub.io/api/news?id=a805579fc4172735f665585fd7d8d2a3aee69a6e9ed896a0dacacba43613f053'}, {'category': 'company', 'datetime': 1755883350, 'headline': \"Apple in talks to use Google's Gemini AI to power revamped Siri, Bloomberg News reports\", 'id': 136478822, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Alphabet's shares were up 3.7% while Apple's stock was up 1.6%, both extending gains in afternoon trading following the report. Apple recently approached Alphabet's Google to develop a custom AI model to power a redesigned Siri next year, the report said. Apple remains weeks from deciding whether to stick with in-house Siri models or switch to an external partner, and it has not yet chosen a partner.\", 'url': 'https://finnhub.io/api/news?id=d3f01a1dc2bd8cd8fa3dca65439ad99cb28cdf8a1b5e063380b30e92c19949a6'}, {'category': 'company', 'datetime': 1755883164, 'headline': \"Apple's latest security update directly hits crypto users\", 'id': 136478824, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple urges users to immediately update their devices. Here is how it impacts crypto users.', 'url': 'https://finnhub.io/api/news?id=43dc0a0ae76e081ac38f1854ea4461d80362a55dfa7f6c726aafc7c5b3c1ef44'}, {'category': 'company', 'datetime': 1755883110, 'headline': 'Apple Explores Using Google Gemini AI to Power Revamped Siri', 'id': 136478826, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The iPhone maker recently approached Alphabet Inc.’s Google to explore building a custom AI model that would serve as the foundation of the new Siri next year, according to people familiar with he matter. Google has started training a model that could run on Apple’s servers, said the people, who asked not to be identified because the discussions are private. Earlier this year, Apple also explored partnerships with Anthropic PBC and OpenAI, weighing whether Claude or ChatGPT could serve as Siri’s new brain.', 'url': 'https://finnhub.io/api/news?id=5e934c677d156a05ca72ffc602338342dc5957ea7a3940b1c7f3c9f7cd140763'}, {'category': 'company', 'datetime': 1755883020, 'headline': 'Dell Technologies vs. Apple: Which PC Maker Stock is a Better Buy?', 'id': 136478827, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'DELL or AAPL, which PC maker is a better pick, given the strong demand for AI-powered devices amid rising tariffs?', 'url': 'https://finnhub.io/api/news?id=985c2070d00aa745e59ca55a11d5cf8f10bccddc7ea2a5b87f42435be096d554'}, {'category': 'company', 'datetime': 1755882000, 'headline': 'Y Combinator says Apple’s App Store has hindered startup growth', 'id': 136478829, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Y Combinator is asking the court to deny Apple’s appeal.', 'url': 'https://finnhub.io/api/news?id=5d2b4f1964b618a05375b8680527bf6bc517f240daa4d5075c2794a020440546'}, {'category': 'company', 'datetime': 1755881142, 'headline': 'Masimo files lawsuit against US border patrol amid Apple patent dispute', 'id': 136478830, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Masimo contests that US border patrol inaction over prohibiting the import of Apple Watch’s determined to include features that infringe on its light-based pulse oximetry technology is unlawful.', 'url': 'https://finnhub.io/api/news?id=a12e0b45d7d58437876740c7036ac6c966f4dc171bb3912cc877fe0001f2811c'}, {'category': 'company', 'datetime': 1755870090, 'headline': 'Stock Market Today: Dow Jones Index Rises Ahead Of Big Powell Speech; Nvidia Falls On AI Chip News (Live Coverage)', 'id': 136476309, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The Dow Jones index rose Friday ahead of Fed Chair Powell's speech. Nvidia stock fell on AI chip news, while Palantir also dropped.\", 'url': 'https://finnhub.io/api/news?id=e0f20dd04abda6bce17068f4b17e56a1a8dcc47f435d132d48fde56d027940e5'}, {'category': 'company', 'datetime': 1755872329, 'headline': 'Apple just indirectly boosted the value of its all-in-one subscription service', 'id': 136478832, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple hiked the price of Apple TV+ earlier this week, the third time it’s done so since 2019.', 'url': 'https://finnhub.io/api/news?id=472c9b6e27318765aa4454bee42e36228b952463214fa850d0eb8520c24ea1c0'}, {'category': 'company', 'datetime': 1755872220, 'headline': 'Meta Doubles Down on ā€˜Superintelligence’ Investment. It’s Good News for AI Stocks.', 'id': 136478814, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms is ā€œinvesting more and moreā€ into its artificial-intelligence efforts according to chief AI officer Alexandr Wang.', 'url': 'https://finnhub.io/api/news?id=574da7668862eeecb690af573b4e31a3d1517185457513bc7b9f6d0ea9108559'}, {'category': 'company', 'datetime': 1755871202, 'headline': 'How To Make An Iron Condor Fly With Options On Apple Stock', 'id': 136476454, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple has had some up-and-down price action, and it's a good bet it will go sideways. This could make for an iron condor setup.\", 'url': 'https://finnhub.io/api/news?id=7222792f96523088014e91d64f3462b712538e9071a0bb7ac00b2dfdb4c592a0'}, {'category': 'company', 'datetime': 1755871200, 'headline': 'Meet the Unstoppable Vanguard ETF With 55% Invested in \"Ten Titans\" Growth Stocks', 'id': 136476419, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Vanguard S&P 500 Growth ETF has especially high weightings in select \"Ten Titans\" stocks.', 'url': 'https://finnhub.io/api/news?id=5ca186cfc0502126d6873ca3ceec89c7428c922342b104a6f94ff4b550759b22'}, {'category': 'company', 'datetime': 1755870571, 'headline': 'Meta Hires Another Apple AI Leader Amid Headcount Freeze, Report Says', 'id': 136476456, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms is reportedly hiring another senior AI executive from Apple for its Meta Superintelligence Labs, where it is moving to freeze headcount.', 'url': 'https://finnhub.io/api/news?id=03aa9b139c6a4ad64e005804e63597136c919603c45a2cd4352e19874da2e23e'}, {'category': 'company', 'datetime': 1755868678, 'headline': 'What If You’d Invested $500 in Apple Stock Instead of Buying the First iPhone?', 'id': 136476457, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The very first iPhone customers got plenty of use and enjoyment out of it, but they might have felt even better if they had invested that money in Apple stock.', 'url': 'https://finnhub.io/api/news?id=be031bbd19fc281a4c21acc193a683e5434e5f7d0d0e24e9ca71c8477134e368'}, {'category': 'company', 'datetime': 1755866651, 'headline': 'Latest News In Cloud AI - AI-Powered Security Boosts Cloud Protection in New Partnership', 'id': 136476439, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Radware and EPIC Cloud Company have entered into a Managed Security Service Provider (MSSP) agreement aimed at enhancing cloud application security through AI-powered solutions. This collaboration allows EPIC Cloud to integrate Radware’s advanced security services into their offerings, thereby bolstering protection for cloud-based applications and data. Radware’s service includes a comprehensive security platform featuring web application firewalls, bot management, API protection, and DDoS...', 'url': 'https://finnhub.io/api/news?id=314fd848df66c32f01bc147fc013d5799bff38e4d2c32d3c6a92d1dd11874575'}, {'category': 'company', 'datetime': 1755863178, 'headline': \"Mark Zuckerberg Halts AI Hiring After Million-Dollar Talent Poaching Sparks Investor Backlash Amid Meta's 'Superintelligence Efforts:' Report\", 'id': 136476459, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms Inc. (NASDAQ:META) has implemented a hiring freeze in its artificial intelligence division following months of aggressive recruitment that included nine-figure compensation packages. Hiring Moratorium Follows Talent War Spending The ...', 'url': 'https://finnhub.io/api/news?id=8392d7b0547d3be92c922c19b5b9bd2c19f89bd4d75b0cad5df90a38cb53c227'}, {'category': 'company', 'datetime': 1755863100, 'headline': 'Could Uber Become a Trillion-Dollar Company One Day?', 'id': 136476443, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Uber is quietly becoming one of the most powerful transport infrastructure companies.', 'url': 'https://finnhub.io/api/news?id=1a88598da212691416aa7304d8d80ba3f4a1799f409e0516ddd06f76997742b7'}, {'category': 'company', 'datetime': 1755861140, 'headline': 'Russia mandates pre-installation of MAX app', 'id': 136476461, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The app is designed to integrate with various government services.', 'url': 'https://finnhub.io/api/news?id=ab881b4b983e5a4c86ee13cbc6b2dbcd43f3e5ebe97eabdce44243da948f2b89'}, {'category': 'company', 'datetime': 1755858809, 'headline': \"Broadcom's AI Push Gains Speed With Microsoft, Meta, And Apple Pouring Billions Into Data Infrastructure\", 'id': 136476321, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Broadcom Inc. (NASDAQ:AVGO) is riding the artificial intelligence boom as soaring Big Tech investments in data infrastructure fuel demand for its custom chips and networking solutions, propelling the stock to strong year-to-date gains even as the company faces regulatory challenges in Europe. The custom chipmaker has surged 25% year-to-date, outpacing the NASDAQ Composite’s 9% gain, as booming demand for its networking and Application-Specific Integrated Circuit (ASIC) businesses positions the c', 'url': 'https://finnhub.io/api/news?id=b4fc561e1ea668faf67baf1d647f0ee877585164271fb7c5eaa8eda827e5caa6'}, {'category': 'company', 'datetime': 1755857452, 'headline': 'Investors zero in on Nvidia results as US tech stocks waver', 'id': 136476450, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"NEW YORK (Reuters) -A wobble in U.S. technology shares has raised the stakes for Nvidia Corp's quarterly results on Wednesday, with earnings from the semiconductor giant posing a crucial test for the scorching AI trade. The benchmark S&P 500 has pulled back this week from record levels, dragged lower by a roughly 3% drop so far this week in the heavyweight tech sector after a huge run for the group. Fueled by its dominant artificial intelligence (AI) products, Nvidia's massive share price gains have buoyed both the tech sector and the overall market in recent years.\", 'url': 'https://finnhub.io/api/news?id=8e0bae9104c2d5c3445963999e6df31717d9966102ad20374b5d1646d468c1d4'}, {'category': 'company', 'datetime': 1755856544, 'headline': '6 Stocks That Turned $1,000 Initial Investments Into Millions by Mid-2025', 'id': 136476464, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These 6 stocks turned modest $1K investments into millions by mid-2025. See which companies delivered massive returns.', 'url': 'https://finnhub.io/api/news?id=066447d8e4c79d6dc79a1f3d956f70e2f43f3a8d059cc46665f961522bf3648d'}, {'category': 'company', 'datetime': 1755853743, 'headline': 'Should CEO pay be capped? Readers have their say', 'id': 136476465, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Pay for CEOs at FTSE 100 firms has hit a record high for the third year in a row, raising questions about equity and fairness.', 'url': 'https://finnhub.io/api/news?id=171ce63d87c11410ef52b55c53490aeee7a4389be2ea324c1cfbfa50c06fc116'}, {'category': 'company', 'datetime': 1755852300, 'headline': 'Do Extreme Concentration And Bad Breadth Signify A Bubble?', 'id': 136475952, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=7157f6bce8ab4cae4100f74e195d5e82876e640cbc5f8436d773bb24af2eee88'}, {'category': 'company', 'datetime': 1755850500, 'headline': 'BNY Mellon Equity Income Fund Q2 2025 Commentary', 'id': 136475862, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2158808037/image_2158808037.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'BNY Mellon Equity Income Fund returned -3.31% during the first quarter of 2025. Click here to read more.', 'url': 'https://finnhub.io/api/news?id=49d43786806274bdfd92a192f7ae853e14fd9144cdadf9898889b5496ea6be41'}, {'category': 'company', 'datetime': 1755850413, 'headline': 'FTSE 100 LIVE: Stocks eke out gains as traders await key Jackson Hole speech from Federal Reserve chair', 'id': 136476324, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Traders look for comments that could help confirm expectations that a US interest rate cut is on the cards.', 'url': 'https://finnhub.io/api/news?id=86dfe633de7c66a75f0be7a6a3f1d3edf5360d215952aa1d0201f141758d78a4'}, {'category': 'company', 'datetime': 1755849060, 'headline': \"Billionaire Warren Buffett Sold 69% of Berkshire's Stake in Apple and Has Loaded Up on This Industry-Leading Stock for 4 Straight Quarters\", 'id': 136476467, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The Oracle of Omaha is paring down his No. 1 holding, yet again, in favor of a company that's delivered a nearly 48,000% total return since it went public.\", 'url': 'https://finnhub.io/api/news?id=e8e188c0ad3059e6099a6e54429a1a0668c28439de8808827a8dced673eb4c33'}, {'category': 'company', 'datetime': 1755838802, 'headline': 'IBM head of research on how quantum computing will change businesses', 'id': 136476468, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"IBM's Alessandro Curioni says companies must act now to gain an edge from quantum computing.\", 'url': 'https://finnhub.io/api/news?id=2bc8ddfcbb9c7ee49ef066106ef1d70077e630f55f9e2c01828995feadef7955'}, {'category': 'company', 'datetime': 1755837281, 'headline': 'Apple makes move sure to frustrate loyal customers', 'id': 136476469, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's services division is a huge moneymaker and the company is milking it for all it's worth.\", 'url': 'https://finnhub.io/api/news?id=9099051383c0d494301133812162f480bc17fa1987c0999552108ee8c98e5f96'}, {'category': 'company', 'datetime': 1755830400, 'headline': \"The Visible Alpha AI Monitor Update: What's Next For AI?\", 'id': 136474705, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2151904577/image_2151904577.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'The Visible Alpha AI Monitor aggregates publicly traded US technology companies, providing a comprehensive measure of the current state and projected growth of the core AI industry.', 'url': 'https://finnhub.io/api/news?id=6fefae13e9d9825b6cf0023b8e57db778fe619013fbe6242efa6e859633469e7'}, {'category': 'company', 'datetime': 1755826084, 'headline': 'Meta makes huge cloud computing deal with Google: source', 'id': 136476470, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Meta has made a cloud computing deal with Google worth more than $10 billion over the course of six years, a source close to the transaction told AFP Thursday.Google parent Alphabet's cloud computing business was on pace to bring in $50 billion over the course of the year, the company said in a recent earnings report.\", 'url': 'https://finnhub.io/api/news?id=c16a5b49617a847ebffe2155701fc8c66b73d16b6238a4e45affc5c246c2d67f'}, {'category': 'company', 'datetime': 1755820705, 'headline': 'Trump administration is not eyeing equity in TSMC, Micron, official says', 'id': 136476471, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'WASHINGTON (Reuters) -The Trump administration is considering taking equity stakes in companies getting funds from the 2022 CHIPS Act but has no similar plans for bigger firms boosting U.S. investments, such as TSMC and Micron, a White House official told Reuters. The official confirmed a Wall Street Journal report that the administration does not intend to seek equity stakes in semiconductor companies, such as Micron and TSMC, that plan to step up investment.', 'url': 'https://finnhub.io/api/news?id=d551c06b88c15bfad192c4d46a69b45d12c9af5300867d14d6d4d269e122b1e9'}]\n", + "2025-08-29 02:30:06,375 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:30:39,933 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-29 02:30:39,939 [INFO] Executing tool: get_market_news with args: {'category': 'forex'}\n", + "2025-08-29 02:30:39,941 [INFO] Tool get_market_news called for category 'forex'\n", + "2025-08-29 02:30:40,166 [INFO] Tool get_market_news [{'category': 'forex', 'datetime': 1756412432, 'headline': \"Trump official announces 'transitory' taxes for the next six months\", 'id': 7510362, 'image': 'https://images.investinglive.com/images/Tariff%20Trump_id_6a2dc517-dc8d-4e19-84db-f22c99095372_size975.jpg', 'related': '', 'source': 'Forexlive', 'summary': \"

Senior Trump administration official:

  • Package shipments to U.S. to face flat duties of $80–$200 for six months before shifting to specific duty rates

This is in relation to Trump's removal of the 'de minimis' exemption on buying low value products from overseas. US consumers will now be taxed a minimum of $80, and up to $200, for ordering such items from offshore now.

More now, senior Trump administration official:

  • CBP has collected over $492 million in additional duties on packages from China and Hong Kong since de minimis exemption was ended for them
  • Engaged with foreign partners to ensure there is minimal disruption to shipments
  • Britain, Canada, Ukraine have said there will be no interruption in mail coming to U.S
  • There will not be any exceptions to the end of the de minimis exemption.
\\n This article was written by Eamonn Sheridan at investinglive.com.\", 'url': 'https://investinglive.com/news/trump-official-announces-transitory-taxes-for-the-next-six-months-20250828/'}]\n", + "2025-08-29 02:30:56,552 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" + ] + } + ], "source": [ - "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company profiles and market news!\").launch(debug=True)" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef238ae3-353f-462f-a7f7-2378cc482edb", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09d7f664-7252-4fa0-b817-10dbda83e3f1", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6cd3c913-c486-4d33-8f3d-c110e127fe66", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "id": "473e5b39-da8f-4db1-83ae-dbaca2e9531e", @@ -1172,7 +1347,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.7" + "version": "3.11.13" } }, "nbformat": 4, From a490884a329c005c10469ecb393598581b2b45fc Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Fri, 29 Aug 2025 20:46:55 +0200 Subject: [PATCH 137/176] Added my contribution to week1 day1 exercise --- .../day1-email-subject-implementation.ipynb | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 week1/community-contributions/day1-email-subject-implementation.ipynb diff --git a/week1/community-contributions/day1-email-subject-implementation.ipynb b/week1/community-contributions/day1-email-subject-implementation.ipynb new file mode 100644 index 0000000..e968e7c --- /dev/null +++ b/week1/community-contributions/day1-email-subject-implementation.ipynb @@ -0,0 +1,115 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"Eres un analista acostumbrado a trabajar con correos electrónicos que contiene un gran conocimiento sobre la mejor manera de resumir contenido releveante \\\n", + "dejando de lado cualquier información que no despierte interĆ©s o no sea el tema principal del correo. Tu función serĆ” leer contenido de correos y definir un listado de las 3 mejores opciones con el formato: Opción *numero de la opción*: *sujeto* Motivo: *que palabras clave dentro del texto has utilizado para llegar a esa conclusion y la relación semĆ”ntica con tu idea\"\n", + "user_prompt = \"\"\"\n", + "Tengo un correo que le quiero enviar a mi profesor pero no se muy bien como llamarlo, ayudame. El correo es el siguiente:\n", + "Hola profe,\n", + "Ultimamente estoy disfrutando mucho sus clases y la información que presenta me parece muy importante. Este fin de semana me voy de vacaciones y no podrĆ©\n", + "ir a sus clases la semana que viene. Me gustarĆ­a si pudiera pasarme los pdfs de la siguiente semana para echarle un vistazo por mi cuenta durante mi ausencia en Francia.\n", + "\n", + "Un saludo,\n", + "Daniel.\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [{\"role\" : \"system\" , \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}]\n", + "\n", + "# Step 3: Call OpenAI\n", + "\n", + "response = openai.chat.completions.create( \n", + " model = \"gpt-4o-mini\",\n", + " messages = messages)\n", + "\n", + "# Step 4: print the result\n", + "\n", + "print(response.choices[0].message.content)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 831dab9597ef1d6b204901b1a87c5e4feae203e9 Mon Sep 17 00:00:00 2001 From: Ahsan-Ullah <69212320+TechQaiser@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:23:24 -0700 Subject: [PATCH 138/176] TechQaiser Youtube Video Summarizer. Paste Youtube Link & Get Summary Of Video --- .../youtube_video_summarize.ipynb | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 week1/community-contributions/youtube_video_summarize.ipynb diff --git a/week1/community-contributions/youtube_video_summarize.ipynb b/week1/community-contributions/youtube_video_summarize.ipynb new file mode 100644 index 0000000..c96714f --- /dev/null +++ b/week1/community-contributions/youtube_video_summarize.ipynb @@ -0,0 +1,216 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 36, + "id": "8ca2e60d-17c0-40fc-91c6-c16915b39c06", + "metadata": {}, + "outputs": [], + "source": [ + "import re, html, json\n", + "import requests\n", + "from urllib.error import HTTPError\n", + "from openai import OpenAI\n", + "from IPython.display import Markdown, display, update_display\n", + "from youtube_transcript_api import YouTubeTranscriptApi, NoTranscriptFound, TranscriptsDisabled, VideoUnavailable\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"\n", + "api_key='ollama'\n", + "\n", + "def yt_title_desc_transcript(url: str, lang=\"en\"):\n", + " \"\"\"\n", + " Returns {\"title\": str|None, \"description\": str|None, \"transcript\": str|None}.\n", + " - Title via oEmbed (no API key).\n", + " - Description scraped from the watch page (shortDescription).\n", + " - Transcript via youtube-transcript-api, gracefully handling 400/disabled.\n", + " \"\"\"\n", + " # --- extract 11-char video id ---\n", + " m = re.search(r\"(?:v=|/)([0-9A-Za-z_-]{11})|^([0-9A-Za-z_-]{11})$\", url)\n", + " vid = (m.group(1) or m.group(2)) if m else None\n", + " if not vid:\n", + " return {\"title\": None, \"description\": None, \"transcript\": None}\n", + "\n", + " # --- title via oEmbed (very robust) ---\n", + " title = None\n", + " try:\n", + " r = requests.get(\"https://www.youtube.com/oembed\",\n", + " params={\"url\": f\"https://www.youtube.com/watch?v={vid}\", \"format\": \"json\"},\n", + " timeout=10)\n", + " if r.ok:\n", + " title = r.json().get(\"title\")\n", + " except Exception:\n", + " pass\n", + "\n", + " # --- description from watch page (shortDescription in initial JSON) ---\n", + " description = None\n", + " try:\n", + " page = requests.get(f\"https://www.youtube.com/watch?v={vid}\", timeout=10).text\n", + " # Look for ytInitialPlayerResponse JSON\n", + " jmatch = re.search(r\"ytInitialPlayerResponse\\s*=\\s*({.*?});\", page, re.DOTALL)\n", + " if jmatch:\n", + " data = json.loads(jmatch.group(1))\n", + " desc = data.get(\"videoDetails\", {}).get(\"shortDescription\")\n", + " if desc:\n", + " description = html.unescape(desc)\n", + " except Exception:\n", + " pass\n", + "\n", + " # --- transcript (handle 400 cleanly) ---\n", + " transcript_text = None\n", + " try:\n", + " items = YouTubeTranscriptApi.get_transcript(vid, languages=[lang])\n", + " transcript_text = \" \".join(ch[\"text\"].strip() for ch in items if ch.get(\"text\"))\n", + " except (NoTranscriptFound, TranscriptsDisabled, VideoUnavailable, HTTPError):\n", + " # HTTPError covers the \"HTTP Error 400: Bad Request\" case\n", + " transcript_text = None\n", + " except Exception:\n", + " transcript_text = None\n", + "\n", + " return {\"title\": title, \"description\": description, \"transcript\": transcript_text}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "ad9be496-4e91-4562-90f3-54d11208da55", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "system_prompt = '''\n", + "You are an assistant that generates detailed yet concise summaries of YouTube videos.\n", + "When the user provides a title and description of a YouTube video, your task is to write a coherent, engaging, and informative summary of around 500 words.\n", + "The summary should:\n", + "\n", + "Capture the main themes and key points the video likely covers.\n", + "\n", + "Expand on the description logically, providing context and flow.\n", + "\n", + "Stay neutral, factual, and clear (no personal opinions).\n", + "\n", + "Be self-contained so it makes sense without needing to watch the video.\n", + "'''" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "dd4be0bc-df1f-47e0-9e03-9b734117f80a", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt(title, description):\n", + " prompt = '''Provide me the YouTube video title and description.\\n\n", + " I will generate a clear, engaging, and concise summary of the video content in around 500 words,\\n\n", + " highlighting the main ideas, key points, and important details.\\n'''\n", + " prompt += f'here is the title : {title} \\n Description : {description} '\n", + " return prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "46896ad3-db1e-448a-8a03-036b9568c69f", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_youtube(yt_url):\n", + " ollama = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + " video_metadata = yt_title_desc_transcript(yt_url)\n", + " stream = ollama.chat.completions.create(\n", + " model=MODEL,\n", + " messages = [\n", + " {\"role\":\"system\", \"content\": system_prompt},\n", + " {\"role\":\"user\", \"content\": user_prompt(video_metadata['title'], video_metadata['description'])}\n", + " ],\n", + " stream=True\n", + " \n", + " )\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "b59f8773-c13e-4050-ad3c-b578d07ef5e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "Here is a summary of the YouTube video:\n", + "\n", + "**Monta Re: A Baul-Inspired Tribute to the Mystic Guru Shankaracharya**\n", + "\n", + "The music video for \"Monta Re\" by Amit Trivedi, featuring Swanand Kirkire and Amitabh Bhattacharya, is a soulful tribute to the mystic guru Shankaracharya. Set in the Bengali folk music tradition, this song brings to life the ancient tales of Shankaracharya's spiritual journey.\n", + "\n", + "With elegant lyrics penned by Amitabh Bhattacharya, \"Monta Re\" transports listeners to the banks of the Ganges River, where Shankaracharya wandered in search of wisdom and inner peace. The song's haunting melodies and emotive vocals evoke a sense of longing and introspection, perfectly capturing the mystic guru's spiritual essence.\n", + "\n", + "The music video beautifully illustrates the baul-inspired style, with intricate traditional dance movements performed by a group of energetic dancers. The choreography seamlessly blends elements of Bengal's folk heritage with modern sensibilities, making the song an engaging watch for audience members interested in Indian classical music.\n", + "\n", + "**Music and Lyric Credit:**\n", + "Amit Trivedi handles the music composition, ensuring that the melody complements the song's themes without overpowering them. Amitabh Bhattacharya takes credit for the lyrics, which tell stunning stories of Shankaracharya's spiritual adventures. The song features Swanand Kirkire and Amitabh Bhattacharya as vocalists, further enriching its emotional impact.\n", + "\n", + "**Relevance to Bengali Culture:**\n", + "\"Monta Re\" is a heartwarming tribute to Bengal's rich cultural heritage. Inspired by the baul traditions of the region, this song honors Shankaracharya's life and spiritual journey without diminishing his significance in modern times. By showcasing these folk roots, \"Monta Re\" provides fans with an enriching sensory experience.\n", + "\n", + "You can listen to \"Monta Re\" along with other T-Series music videos released by Amit Trivedi at the links provided below:\n", + "\n", + "- Watch \"Ankahee\"\n", + "- Check out \"Sawaar Loon\"\n", + "- Explore \"Zinda Hoon\"\n", + "\n", + "Follow the official T-SERIES YouTube channel for an ever-growing variety of original music tracks!\n", + "\n", + "By embracing the richness of Bengali folk traditions, \"Monta Re\" embodies a musical reflection of Shankaracharya's extraordinary journey as both spiritual guide and symbol of timeless wisdom." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "stream_youtube('https://youtu.be/99NUJ1cLbBI?list=RDdJ6_aU6auZc')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "649287ca-aff8-4b59-91b7-731c007e83a7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f126a5aba0eaa4e4fa943ad4d8baa5cd3c16a990 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Fri, 29 Aug 2025 22:51:10 +0200 Subject: [PATCH 139/176] week 1 day 2 exercise contribution --- .../day2_exercise_using_input.ipynb | 319 ++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 week1/community-contributions/day2_exercise_using_input.ipynb diff --git a/week1/community-contributions/day2_exercise_using_input.ipynb b/week1/community-contributions/day2_exercise_using_input.ipynb new file mode 100644 index 0000000..f616d96 --- /dev/null +++ b/week1/community-contributions/day2_exercise_using_input.ipynb @@ -0,0 +1,319 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0c1f84c4-4cc0-4085-8ea5-871a8ca46a47", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "890852ab-2cd4-41dc-b168-6bd1360b967a", + "metadata": {}, + "outputs": [], + "source": [ + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "9d398f9a-c66e-42b5-91b4-5417944b8408", + "metadata": {}, + "outputs": [], + "source": [ + "def user_prompt_generator(website) -> str:\n", + " user_prompt = f\"You will act as a website summarizer with knowledge of Web Content Accessibility Guidelines. You will look into the web: {website.title} and \"\n", + " user_prompt += \"break down the relevant information about it in this categories: What is the website about, \\\n", + " to whom the website belongs and what practises should improve to have a better user experience. \\n\\n\"\n", + " user_prompt += website.text\n", + "\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "156d7c67-b714-4156-9f69-faf0c50aaf13", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_generator(user_prompt : str) -> list[dict[str, str]]:\n", + " messages = [{\"role\" : \"user\", \"content\" : user_prompt}]\n", + "\n", + " return messages" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "f07c4143-6cc5-4d28-846c-a373564e9264", + "metadata": {}, + "outputs": [], + "source": [ + "def user_request_reader() -> str:\n", + " while True:\n", + " website_url = input(\"Define what website you want to summarize by giving the url: \")\n", + " if website_url.lower().startswith(\"http\"):\n", + " return website_url\n", + " print(\"URL not valid. Please provide a full url.\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "94933255-2ca8-40b5-8f74-865d3e781058", + "metadata": {}, + "outputs": [], + "source": [ + "def summarizer_bot():\n", + " website_url = user_request_reader()\n", + " website = Website(website_url)\n", + " \n", + " user_prompt = user_prompt_generator(website)\n", + " messages = messages_generator(user_prompt)\n", + "\n", + " response = ollama.chat(model=MODEL, messages=messages)\n", + " print(response['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "2d81faa4-25b3-4d5d-8f36-93772e449b5c", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Define what website you want to summarize by giving the url: test.com\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "URL not valid. Please provide a full url.\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Define what website you want to summarize by giving the url: https://edwarddonner.com\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "**Summary:**\n", + "\n", + "The website \"Home - Edward Donner\" belongs to Edward Donner, a co-founder and CTO of Nebula.io, an AI startup. The website is about Edward's interests in writing code, experimenting with Large Language Models (LLMs), and DJing, as well as his work in applying AI to help people discover their potential.\n", + "\n", + "**Categories:**\n", + "\n", + "### What is the website about?\n", + "\n", + "The website is primarily about Edward Donner's personal brand, showcasing his expertise in AI and LLMs. It includes information about his work at Nebula.io, which applies AI to talent management. The website also features a \"Connect Four\" arena where LLMs compete against each other, as well as sections for learning more about LLMs and staying up-to-date with Edward's courses and publications.\n", + "\n", + "### To whom does the website belong?\n", + "\n", + "The website belongs to Edward Donner, a co-founder and CTO of Nebula.io. It appears to be a personal website or blog, showcasing his expertise and interests in AI and LLMs.\n", + "\n", + "### Practices to improve for better user experience:\n", + "\n", + "1. **Clearer navigation**: The website's menu is simple but not intuitive. Adding clear categories or sections would help users quickly find the information they're looking for.\n", + "2. **More detailed about section**: The \"About\" section provides a brief overview of Edward's work and interests, but it could be more detailed and comprehensive.\n", + "3. **Improved accessibility**: While the website is likely following general web accessibility guidelines, there are no clear indications of this on the page. Adding alt text to images, providing a clear font size and color scheme, and ensuring sufficient contrast between background and foreground would improve the user experience for people with disabilities.\n", + "4. **Better calls-to-action (CTAs)**: The website could benefit from more prominent CTAs, guiding users towards specific actions such as signing up for courses or following Edward on social media.\n", + "5. **SEO optimization**: The website's content and meta tags appear to be optimized for search engines, but a more thorough SEO analysis would help identify areas for improvement.\n", + "\n", + "Overall, the website provides a clear overview of Edward Donner's interests and expertise in AI and LLMs, but could benefit from some tweaks to improve accessibility, navigation, and CTAs.\n" + ] + } + ], + "source": [ + "# The call\n", + "summarizer_bot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d7cf761930e56a54a0592272795bb61be858988e Mon Sep 17 00:00:00 2001 From: Oluwaseyi-A <62573285+Oluwaseyi-A@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:20:26 -0400 Subject: [PATCH 140/176] Added week 5 challenge to community-contributions --- .../RAG-based-academic-assistant-v3.ipynb | 409 ++++++++++++++++++ 1 file changed, 409 insertions(+) create mode 100644 week5/community-contributions/RAG-based-academic-assistant-v3.ipynb diff --git a/week5/community-contributions/RAG-based-academic-assistant-v3.ipynb b/week5/community-contributions/RAG-based-academic-assistant-v3.ipynb new file mode 100644 index 0000000..7899ff8 --- /dev/null +++ b/week5/community-contributions/RAG-based-academic-assistant-v3.ipynb @@ -0,0 +1,409 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "97a93fee-6bbd-477b-aba8-577d318a9f9d", + "metadata": {}, + "source": [ + "# AI-Powered Academic Knowledge Assistant\n", + "AI-powered RAG (Retrieval-Augmented Generation) system that transforms document collections into queryable knowledge bases using OpenAI embeddings and vector search. Features configurable chunking, file size limits, and retrieval parameters with a Gradio interface for processing PDFs and generating contextually-aware responses via LangChain and ChromaDB." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3589eee0-ce34-42f4-b538-b43f3b0d9f6f", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import glob\n", + "from dotenv import load_dotenv\n", + "import gradio as gr\n", + "import shutil\n", + "import tiktoken\n", + "import time\n", + "import uuid\n", + "from typing import List, Tuple, Optional\n", + "\n", + "# imports for langchain and Chroma\n", + "from langchain.document_loaders import DirectoryLoader, TextLoader, PyPDFLoader\n", + "from langchain.text_splitter import CharacterTextSplitter\n", + "from langchain.schema import Document\n", + "from langchain_openai import OpenAIEmbeddings, ChatOpenAI\n", + "from langchain_chroma import Chroma\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.embeddings import HuggingFaceEmbeddings\n", + "\n", + "from langchain_community.document_loaders import PyPDFLoader, TextLoader\n", + "from langchain.docstore.document import Document\n", + "\n", + "# Load environment variables\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "\n", + "# Global variables to store the current setup\n", + "current_vectorstore = None\n", + "current_conversation_chain = None\n", + "processing_status = \"\"\n", + "\n", + "def count_tokens(text: str, model: str = \"gpt-4o-mini\") -> int:\n", + " \"\"\"Count tokens in text using tiktoken\"\"\"\n", + " try:\n", + " encoding = tiktoken.encoding_for_model(model)\n", + " return len(encoding.encode(text))\n", + " except:\n", + " # Fallback estimation: roughly 4 characters per token\n", + " return len(text) // 4\n", + "\n", + "def filter_chunks_by_tokens(chunks: List[Document], max_total_tokens: int = 250000) -> List[Document]:\n", + " \"\"\"Filter chunks to stay within token limits\"\"\"\n", + " filtered_chunks = []\n", + " total_tokens = 0\n", + " \n", + " for chunk in chunks:\n", + " chunk_tokens = count_tokens(chunk.page_content)\n", + " \n", + " # Skip individual chunks that are too large (shouldn't happen with proper splitting)\n", + " if chunk_tokens > 8000: # Individual chunk limit\n", + " continue\n", + " \n", + " if total_tokens + chunk_tokens <= max_total_tokens:\n", + " filtered_chunks.append(chunk)\n", + " total_tokens += chunk_tokens\n", + " else:\n", + " break\n", + " \n", + " return filtered_chunks\n", + "\n", + "def add_metadata(doc, doc_type, file_path):\n", + " \"\"\"Add metadata including document type and file information\"\"\"\n", + " doc.metadata[\"doc_type\"] = doc_type\n", + " doc.metadata[\"file_path\"] = file_path\n", + " doc.metadata[\"file_name\"] = os.path.basename(file_path)\n", + " return doc\n", + "\n", + "def check_file_size(file_path, max_size_bytes):\n", + " \"\"\"Check if file size is within the limit\"\"\"\n", + " try:\n", + " file_size = os.path.getsize(file_path)\n", + " return file_size <= max_size_bytes, file_size\n", + " except OSError:\n", + " return False, 0\n", + "\n", + "def load_pdfs_with_size_limit(folder_path, doc_type, max_size_bytes):\n", + " \"\"\"Load PDF files from a folder with size restrictions\"\"\"\n", + " pdf_files = glob.glob(os.path.join(folder_path, \"**/*.pdf\"), recursive=True)\n", + " loaded_docs = []\n", + " skipped_files = []\n", + " \n", + " for pdf_file in pdf_files:\n", + " is_valid_size, file_size = check_file_size(pdf_file, max_size_bytes)\n", + " \n", + " if is_valid_size:\n", + " try:\n", + " loader = PyPDFLoader(pdf_file)\n", + " docs = loader.load()\n", + " docs_with_metadata = [add_metadata(doc, doc_type, pdf_file) for doc in docs]\n", + " loaded_docs.extend(docs_with_metadata)\n", + " except Exception as e:\n", + " skipped_files.append((pdf_file, f\"Loading error: {str(e)}\"))\n", + " else:\n", + " file_size_mb = file_size / 1024 / 1024\n", + " skipped_files.append((pdf_file, f\"File too large: {file_size_mb:.2f} MB\"))\n", + " \n", + " return loaded_docs, skipped_files\n", + "\n", + "def process_documents(knowledge_base_dir: str, max_file_size_mb: float, chunk_size: int, chunk_overlap: int) -> Tuple[str, str]:\n", + " \"\"\"Process documents and create vector store\"\"\"\n", + " global current_vectorstore, current_conversation_chain\n", + " \n", + " try:\n", + " # Validate directory\n", + " if not knowledge_base_dir or not knowledge_base_dir.strip():\n", + " return \"āŒ Error: Please enter a directory path!\", \"\"\n", + " \n", + " directory_path = knowledge_base_dir.strip()\n", + " \n", + " if not os.path.exists(directory_path):\n", + " return \"āŒ Error: Directory does not exist! Please check the path.\", \"\"\n", + " \n", + " # Configuration\n", + " MAX_FILE_SIZE_BYTES = int(max_file_size_mb * 1024 * 1024)\n", + " \n", + " # Find folders\n", + " if directory_path.endswith('*'):\n", + " folders = glob.glob(directory_path)\n", + " else:\n", + " folders = glob.glob(os.path.join(directory_path, \"*\"))\n", + " \n", + " if not folders:\n", + " return \"āŒ Error: No folders found in the specified directory!\", \"\"\n", + " \n", + " # Process documents\n", + " documents = []\n", + " all_skipped_files = []\n", + " status_lines = []\n", + " \n", + " status_lines.append(f\"šŸ” Processing folders with {max_file_size_mb} MB file size limit...\")\n", + " status_lines.append(\"-\" * 60)\n", + " \n", + " for folder in folders:\n", + " if os.path.isdir(folder):\n", + " doc_type = os.path.basename(folder)\n", + " status_lines.append(f\"šŸ“ Processing folder: {doc_type}\")\n", + " \n", + " folder_docs, skipped_files = load_pdfs_with_size_limit(folder, doc_type, MAX_FILE_SIZE_BYTES)\n", + " documents.extend(folder_docs)\n", + " all_skipped_files.extend(skipped_files)\n", + " \n", + " if folder_docs:\n", + " status_lines.append(f\" āœ… Loaded {len(folder_docs)} document pages\")\n", + " if skipped_files:\n", + " status_lines.append(f\" āš ļø Skipped {len(skipped_files)} files\")\n", + " \n", + " if not documents:\n", + " error_msg = \"āŒ No PDF documents were loaded successfully.\"\n", + " if all_skipped_files:\n", + " error_msg += f\"\\n\\nAll {len(all_skipped_files)} files were skipped:\"\n", + " for file_path, reason in all_skipped_files[:10]: # Show first 10\n", + " error_msg += f\"\\n • {os.path.basename(file_path)}: {reason}\"\n", + " if len(all_skipped_files) > 10:\n", + " error_msg += f\"\\n ... and {len(all_skipped_files) - 10} more\"\n", + " return error_msg, \"\"\n", + " \n", + " # Text splitting\n", + " status_lines.append(\"\\n\" + \"=\"*40)\n", + " status_lines.append(\"āœ‚ļø TEXT SPLITTING\")\n", + " status_lines.append(\"=\"*40)\n", + " \n", + " text_splitter = CharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n", + " chunks = text_splitter.split_documents(documents)\n", + " \n", + " # Filter chunks by token count to prevent API errors\n", + " status_lines.append(\"šŸ”¢ Checking token limits...\")\n", + " original_chunk_count = len(chunks)\n", + " chunks = filter_chunks_by_tokens(chunks, max_total_tokens=250000)\n", + " \n", + " if len(chunks) < original_chunk_count:\n", + " status_lines.append(f\"āš ļø Filtered from {original_chunk_count} to {len(chunks)} chunks to stay within token limits\")\n", + " \n", + " # Create vectorstore\n", + " status_lines.append(\"🧮 Creating vector embeddings...\")\n", + " embeddings = OpenAIEmbeddings()\n", + " \n", + " # Use a temporary database name\n", + " db_name = \"temp_vector_db\"\n", + " \n", + " # Delete if already exists\n", + " if os.path.exists(db_name):\n", + " shutil.rmtree(db_name)\n", + " \n", + " # Create vectorstore\n", + " vectorstore = Chroma.from_documents(\n", + " documents=chunks, \n", + " embedding=embeddings, \n", + " persist_directory=db_name\n", + " )\n", + " \n", + " # Update global variables\n", + " current_vectorstore = vectorstore\n", + " \n", + " # Create conversation chain\n", + " llm = ChatOpenAI(temperature=0.7, model_name=\"gpt-4o-mini\")\n", + " memory = ConversationBufferMemory(memory_key='chat_history', return_messages=True)\n", + " retriever = vectorstore.as_retriever(search_kwargs={\"k\": 25})\n", + " current_conversation_chain = ConversationalRetrievalChain.from_llm(\n", + " llm=llm, \n", + " retriever=retriever, \n", + " memory=memory\n", + " )\n", + " \n", + " # Summary statistics\n", + " status_lines.append(\"\\n\" + \"=\"*40)\n", + " status_lines.append(\"šŸ“Š SUMMARY\")\n", + " status_lines.append(\"=\"*40)\n", + " status_lines.append(f\"āœ… Total PDFs processed: {len(set(doc.metadata['file_path'] for doc in documents))}\")\n", + " status_lines.append(f\"šŸ“„ Total document pages: {len(documents)}\")\n", + " status_lines.append(f\"🧩 Total text chunks: {len(chunks)}\")\n", + " status_lines.append(f\"šŸ“ Document types: {', '.join(set(doc.metadata['doc_type'] for doc in documents))}\")\n", + " status_lines.append(f\"šŸ—ƒļø Vector store size: {vectorstore._collection.count()} embeddings\")\n", + " \n", + " if all_skipped_files:\n", + " status_lines.append(f\"\\nāš ļø Skipped files: {len(all_skipped_files)}\")\n", + " for file_path, reason in all_skipped_files[:5]: # Show first 5\n", + " status_lines.append(f\" • {os.path.basename(file_path)}: {reason}\")\n", + " if len(all_skipped_files) > 5:\n", + " status_lines.append(f\" ... and {len(all_skipped_files) - 5} more\")\n", + " \n", + " success_msg = \"āœ… Knowledge base successfully created and ready for questions!\"\n", + " detailed_status = \"\\n\".join(status_lines)\n", + " \n", + " return success_msg, detailed_status\n", + " \n", + " except Exception as e:\n", + " error_msg = f\"āŒ Error processing documents: {str(e)}\"\n", + " return error_msg, \"\"\n", + "\n", + "def chat_with_documents(message, history, num_chunks):\n", + " \"\"\"Chat with the processed documents\"\"\"\n", + " global current_conversation_chain, current_vectorstore\n", + " \n", + " if current_conversation_chain is None:\n", + " return \"āŒ Please process documents first before asking questions!\"\n", + " \n", + " try:\n", + " # Update retriever with new chunk count\n", + " if current_vectorstore is not None:\n", + " retriever = current_vectorstore.as_retriever(search_kwargs={\"k\": num_chunks})\n", + " current_conversation_chain.retriever = retriever\n", + " \n", + " result = current_conversation_chain.invoke({\"question\": message})\n", + " return result[\"answer\"]\n", + " \n", + " except Exception as e:\n", + " return f\"āŒ Error generating response: {str(e)}\"\n", + "\n", + "def reset_conversation():\n", + " \"\"\"Reset the conversation memory\"\"\"\n", + " global current_conversation_chain\n", + " if current_conversation_chain is not None:\n", + " current_conversation_chain.memory.clear()\n", + " return \"āœ… Conversation history cleared!\"\n", + " return \"No active conversation to reset.\"\n", + "\n", + "# Create Gradio Interface\n", + "with gr.Blocks(title=\"AI-Powered Academic Knowledge Assistant\", theme=gr.themes.Soft()) as app:\n", + " gr.Markdown(\"# šŸŽ“ AI-Powered Academic Knowledge Assistant\")\n", + " gr.Markdown(\"Transform your entire document library into an intelligent, searchable AI tutor that answers questions instantly.\")\n", + " \n", + " with gr.Tabs():\n", + " # Configuration Tab\n", + " with gr.Tab(\"āš™ļø Configuration\"):\n", + " gr.Markdown(\"### šŸ“ Document Processing Settings\")\n", + " \n", + " gr.Markdown(\"šŸ’” **Tip:** Copy and paste your folder path here. On mobile, you can use file manager apps to copy folder paths.\")\n", + " \n", + " with gr.Row():\n", + " with gr.Column():\n", + " knowledge_dir = gr.Textbox(\n", + " label=\"Knowledge Base Directory\",\n", + " value=r\"C:\\Users\\Documents\\Syllabi\\Georgia Tech\\Spring 22\\Microwave Design\",\n", + " placeholder=\"Enter or paste your document directory path\",\n", + " lines=1\n", + " )\n", + " \n", + " max_file_size = gr.Slider(\n", + " label=\"Max File Size (MB)\",\n", + " minimum=0.5,\n", + " maximum=50,\n", + " value=4,\n", + " step=0.5\n", + " )\n", + " \n", + " with gr.Column():\n", + " chunk_size = gr.Slider(\n", + " label=\"Chunk Size (characters)\",\n", + " minimum=200,\n", + " maximum=1500,\n", + " value=800,\n", + " step=100,\n", + " info=\"Smaller chunks = better token management\"\n", + " )\n", + " \n", + " chunk_overlap = gr.Slider(\n", + " label=\"Chunk Overlap (characters)\",\n", + " minimum=0,\n", + " maximum=300,\n", + " value=150,\n", + " step=25,\n", + " info=\"Overlap preserves context between chunks\"\n", + " )\n", + " \n", + " process_btn = gr.Button(\"šŸš€ Process Documents\", variant=\"primary\", size=\"lg\")\n", + " \n", + " with gr.Row():\n", + " status_output = gr.Textbox(\n", + " label=\"Status\",\n", + " lines=2,\n", + " max_lines=2\n", + " )\n", + " \n", + " detailed_output = gr.Textbox(\n", + " label=\"Detailed Processing Log\",\n", + " lines=15,\n", + " max_lines=20\n", + " )\n", + " \n", + " # Chat Tab\n", + " with gr.Tab(\"šŸ’¬ Chat\"):\n", + " gr.Markdown(\"### šŸ¤– Ask Questions About Your Documents\")\n", + " \n", + " with gr.Row():\n", + " with gr.Column(scale=1):\n", + " num_chunks = gr.Slider(\n", + " label=\"Number of chunks to retrieve\",\n", + " minimum=1,\n", + " maximum=50,\n", + " value=25,\n", + " step=1\n", + " )\n", + " \n", + " reset_btn = gr.Button(\"šŸ—‘ļø Clear Chat History\", variant=\"secondary\")\n", + " reset_output = gr.Textbox(label=\"Reset Status\", lines=1)\n", + " \n", + " with gr.Column(scale=3):\n", + " chatbot = gr.ChatInterface(\n", + " fn=lambda msg, history: chat_with_documents(msg, history, num_chunks.value),\n", + " type=\"messages\",\n", + " title=\"Academic Assistant Chat\",\n", + " description=\"Ask questions about your processed documents\"\n", + " )\n", + " \n", + " # Event handlers\n", + " process_btn.click(\n", + " fn=process_documents,\n", + " inputs=[knowledge_dir, max_file_size, chunk_size, chunk_overlap],\n", + " outputs=[status_output, detailed_output]\n", + " )\n", + " \n", + " reset_btn.click(\n", + " fn=reset_conversation,\n", + " outputs=reset_output\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9eb807e0-194b-48dd-a1e9-b1b9b8a99620", + "metadata": {}, + "outputs": [], + "source": [ + "app.launch(share=True, inbrowser=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 21fe2d9e2b13e6828f25626b33688ab613660fe0 Mon Sep 17 00:00:00 2001 From: Kartik Date: Sat, 30 Aug 2025 15:19:50 +0530 Subject: [PATCH 141/176] working with couple more tools --- week2/stock-api-day5.ipynb | 1013 ++++++++++++++---------------------- 1 file changed, 395 insertions(+), 618 deletions(-) diff --git a/week2/stock-api-day5.ipynb b/week2/stock-api-day5.ipynb index aadb3b9..8848482 100644 --- a/week2/stock-api-day5.ipynb +++ b/week2/stock-api-day5.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 170, "id": "b7bd1bd7-19d9-4c4b-bc4b-9bc9cca8bd0f", "metadata": {}, "outputs": [ @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 171, "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", "metadata": {}, "outputs": [], @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 172, "id": "ba0ddc1a-c775-4ed3-9531-ed0c5799e87f", "metadata": {}, "outputs": [ @@ -60,7 +60,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-29 02:28:59,653 [INFO] Logger initialized!\n" + "2025-08-30 15:05:58,159 [INFO] Logger initialized!\n" ] } ], @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 173, "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", "metadata": {}, "outputs": [ @@ -88,8 +88,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-29 02:28:59,657 [INFO] OpenAI API Key exists and begins sk-proj-\n", - "2025-08-29 02:28:59,657 [INFO] FINNHUB_API_KEY exists!\n" + "2025-08-30 15:05:58,164 [INFO] OpenAI API Key exists and begins sk-proj-\n", + "2025-08-30 15:05:58,164 [INFO] FINNHUB_API_KEY exists!\n" ] } ], @@ -111,51 +111,100 @@ "else:\n", " logger.error(\"OpenAI API Key not set\")\n", " \n", - "MODEL = \"gpt-5-mini\"\n", + "MODEL = \"gpt-4.1-mini\" # not using gpt-5-mini as openai doesn't let you stream responses till you are a verified organisation :(\n", "openai = OpenAI()\n", "finnhub_client = finnhub.Client(api_key=FINNHUB_API_KEY)" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 174, "id": "ee3aaa9a-5495-42fd-a382-803fbfa92eaf", "metadata": {}, "outputs": [], "source": [ - "system_message = f\"\"\"\n", - "You are called \"TickerBot\", You are a helpful stock information assistant specializing in US stocks. You provide factual, educational information without investment advice. You have access to tools for:\n", - "- Stock symbol lookup\n", - "- Real-time quotes\n", - "- Company Financials\n", - "- Company News\n", - "- Market overview\n", + "system_message = f\"\"\"\n", + "You are \"TickerBot\" — a concise, factual, educational assistant specializing in U.S. stocks. \n", + "Your job: quickly and accurately explain stock and company information in plain English. NEVER give investment advice, buy/sell recommendations, or price predictions.\n", "\n", - "### **Core Principles**\n", - "**Educational Focus**: Explain financial metrics clearly and keep an educational tone.\n", - "**Factual**: NEVER give buy/sell advice or predictions.\n", - "**Accurate always**: If no data is available, inform the user in a friendly way. Always be accurate. If you don't know the answer, simply say so. Do not make up your own stock details information.\n", + "## PRIVACY ABOUT IMPLEMENTATION\n", + "- Do not reveal any internal implementation details to users. Never display or mention internal tool names, API names, developer notes, configured flags, date-range limits, or other system/developer constraints in user-facing replies.\n", + "- All runtime/tool constraints and capability detection are internal. Present only user-facing capabilities in plain language.\n", "\n", - "### **How to Handle Different Requests**\n", - "- For all temporal reasoning in this chat you can use `get_current_time()` tool to get time and then relative to current time you can proceed.\n", - "- When users mention companies, search for symbols with the tool `search_symbol()` else proceed directly if obvious match\n", - "- Try to search for news or data for only for a maximum of 1 month time range, else it becomes a lot of data to parse. If user asks for recent news just check the last 5 days from today; For example if today is 10-06-2025, use from=\"2025-06-05\", to=\"2025-06-10\"\n", + "## USER-FACING CAPABILITIES\n", + "- When asked \"What can you do?\", list only stock-relevant actions in plain language. Example reply:\n", + " \"I can look up tickers, show the latest quotes, provide key company financials and latest earnings details, summarize recent company or market headlines, and give a brief market overview.\"\n", + "- Do not list internal utilities or developer tools as user-facing capabilities.\n", "\n", - "**Market Overview Requests**:\n", - "- \"What's happening in the market?\" → Use `get_market_overview(\"general\")`\n", - "- Summarize all news stories with very brief analysis\n", + "## GENERAL PRINCIPLES\n", + "- Answer only what was asked for. \n", + "- Be brief, clear, and professional while still maintaining a warm tone. Use short paragraphs and one-line bullet explanations when requested.\n", + "- Return only what the system provides; do not invent, infer, or extrapolate unavailable data.\n", + "- Never offer or advertise any feature the environment does not actually support. Avoid offering attachments, direct downloads, or full-text article retrieval unless the system explicitly provides those outputs.\n", "\n", - "### **Error Handling**\n", - "- If symbol search fails: \"I couldn't find that company in US markets. Could you try a different name or provide the ticker symbol?\"\n", - "- If some information gathered from the tool call says unavailable or error do not present it to the user unless they had specifically asked for it. Present rest of the gathered information if any.\n", - "- If data is unavailable: \"Some data isn't available right now, but here's what I found...\"\n", - "- Stay helpful and suggest alternatives\n", - "\"\"\"" + "## Behavior Rules\n", + "- Stay professional and neutral at all times. \n", + "- Clarify only when user intent is ambiguous; never guess. \n", + "- Only disclose information the user explicitly requested. \n", + "- Never explain system limits (e.g., API ranges, date limits) ever. \n", + "- Summaries should be tight and relevant, not verbose. \n", + "\n", + "## NEWS & HEADLINES\n", + "- When interpreting date-related or temporal reasoning requests (e.g., ā€œlatest earnings,ā€ ā€œrecent news,ā€ ā€œQ1 resultsā€) Call `get_current_time` to determine the current date.\n", + "- Present news/headlines in concise bullet lines when requested. Default recent-window behavior is internal; do not describe or expose internal default windows or limits to the user.\n", + "- If the system only returns headlines/summaries, present those and do not offer to fetch full-text or additional ranges unless the user explicitly asks and the environment supports that action.\n", + "\n", + "## FOLLOW-UP & CLARIFYING QUESTIONS\n", + "- If no matching stock symbol is found, ask the user to clarify the name or ticker. Mention you only support U.S. stocks. If they confirm the symbol but no data exists, state that no results were found.\n", + "- Never append unsolicited menus, multi-choice lists, or repeated \"Would you like...\" prompts at the end of a normal reply.\n", + "- Ask a single direct clarifying question only when strictly necessary to fulfill the user's request (for example: ambiguous company name or missing ticker). That single question must be the final line of the reply.\n", + "- If the user's intent is clear, proceed and return results. Do not request confirmations or offer options unless required to complete the task.\n", + "\n", + "## MISSING-DATA / NOTE RULES\n", + "- Do NOT call out missing/unavailable single fields unless:\n", + " 1) the missing field was explicitly requested by the user; OR\n", + " 2) multiple (>1) key metrics required to answer the user's request are unavailable and their absence materially prevents a useful answer.\n", + "- If condition (1) or (2) applies, include at most one concise \"Note:\" line naming the specific missing field(s) and nothing else.\n", + "- Otherwise omit any comment about single, non-central missing fields.\n", + "\n", + "## ERROR HANDLING\n", + "- If a company/ticker cannot be found: \"I couldn't find that company on U.S. exchanges. Please provide the ticker or a clearer company name.\"\n", + "- If partial results are returned: present available data and at most one short note: \"Some data wasn't available: , .\"\n", + "- If you do not know the answer, say plainly: \"I don't have that information.\"\n", + "\n", + "## ADVICE / DISCLAIMER (CONDITIONAL)\n", + "- Do NOT include an investment-advice disclaimer in normal greetings or factual replies.\n", + "- Show a single-line disclaimer only when the user explicitly asks for recommendations/advice or uses clear advice-seeking language (e.g., \"should I buy\", \"recommend\", \"what should I do\", \"financial advice\").\n", + "- Disclaimer text when triggered: \"I can't provide investment advice or buy/sell recommendations. I can provide facts and explain metrics.\"\n", + "\n", + "EXAMPLES (templates — follow exactly)\n", + "\n", + "1) Clear factual request (no unsolicited follow-up)\n", + "User: \"What's AAPL last trade?\"\n", + "Assistant:\n", + "Last trade timestamp: 2025-08-28 20:00:00 UTC (U.S. market close — 4:00 PM ET)\n", + "\n", + "(—end: no menu, no offers—)\n", + "\n", + "2) Ambiguous request — single clarifying question only\n", + "User: \"Show me Apple\"\n", + "Assistant:\n", + "I found two matches. Do you mean Apple Inc. (AAPL) or Apple Hospitality REIT (APLE)?\n", + "\n", + "(—end: single question final line—)\n", + "\n", + "3) News returned as headlines only (do not offer unsupported fetches)\n", + "User: \"Recent NVDA news\"\n", + "Assistant:\n", + "- 2025-08-28: Headline A — short summary.\n", + "- 2025-08-26: Headline B — short summary.\n", + "(—end: do not offer full-article fetch or extended-range offers unless explicitly requested and supported—)\n", + "\"\"\"\n" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 175, "id": "fdf1a2b0-07be-47a0-9ce3-14d21b48c8f2", "metadata": {}, "outputs": [], @@ -177,7 +226,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 176, "id": "12d912fc-91fb-469e-9572-2876a099f5aa", "metadata": {}, "outputs": [], @@ -196,7 +245,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 177, "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", "metadata": {}, "outputs": [], @@ -238,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 178, "id": "173010e3-dfef-4611-8b68-d11256bd5fba", "metadata": {}, "outputs": [], @@ -265,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 179, "id": "448bb4ce-8e86-4ceb-ab52-96bddfd33337", "metadata": {}, "outputs": [], @@ -323,7 +372,6 @@ "\n", " # --- API Call ---\n", " financials_resp = finnhub_client.company_basic_financials(symbol, \"all\")\n", - " logger.info(f\"Tool company_basic_financials {financials_resp}\")\n", "\n", " # Finnhub places primary values under \"metric\"\n", " metrics = financials_resp.get(\"metric\", {})\n", @@ -339,7 +387,6 @@ " \"Enterprise Value\": _format_big_number_from_millions(metrics.get(\"enterpriseValue\")),\n", " \"P/E Ratio (TTM)\": _safe_metric(metrics, \"peBasicExclExtraTTM\"),\n", " \"Forward P/E\": _safe_metric(metrics, \"forwardPE\"),\n", - " \"Revenue (TTM)\": _format_big_number_from_millions(metrics.get(\"revenueTTM\")),\n", " \"Gross Margin (TTM)\": _safe_metric(metrics, \"grossMarginTTM\"),\n", " \"Net Profit Margin (TTM)\": _safe_metric(metrics, \"netProfitMarginTTM\"),\n", " \"EPS (TTM)\": _safe_metric(metrics, \"epsTTM\"),\n", @@ -362,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 180, "id": "9df7b74e-fec8-4e75-92a9-31acc75e6e97", "metadata": {}, "outputs": [], @@ -390,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 181, "id": "cfeeb200-3f30-4855-82b9-cc8b2a950f80", "metadata": {}, "outputs": [], @@ -407,7 +454,6 @@ " \n", " symbol = symbol.strip().upper()\n", " data = finnhub_client.quote(symbol)\n", - " logger.info(f\"Tool get_stock_quote {data}\")\n", "\n", " if not data or \"c\" not in data:\n", " return {\"success\": False, \"error\": \"No quote data found\"}\n", @@ -437,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 182, "id": "3724d92a-4515-4267-af6f-2c1ec2b6ed36", "metadata": {}, "outputs": [], @@ -462,14 +508,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 183, "id": "62f5d477-6626-428f-b8eb-d763e736ef5b", "metadata": {}, "outputs": [], "source": [ "def get_company_news(symbol: str, _from: str, to: str):\n", " \"\"\"\n", - " Fetch the top 5 latest company news for a stock symbol within a date range.\n", + " Fetch the top latest company news for a stock symbol within a date range.\n", " - Ensures the range does not exceed ~1 months (35 days).\n", " - Best practice: Keep searches to a month or less to avoid too much data.\n", "\n", @@ -501,7 +547,6 @@ " # Fetch data\n", " try:\n", " news = finnhub_client.company_news(symbol, _from=_from, to=to)\n", - " logger.info(f\"Tool get_company_news {news}\")\n", " except Exception as e:\n", " return {\"success\": False, \"error\": str(e)}\n", "\n", @@ -528,14 +573,14 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 184, "id": "5150ecb6-e3f1-46dc-94fa-2a9abe5165f6", "metadata": {}, "outputs": [], "source": [ "get_company_news_function = {\n", " \"name\": \"get_company_news\",\n", - " \"description\": \"Fetch the top 5 most recent company news articles for a given stock symbol. āš ļø Avoid querying more than a 1-month range at a time as it may return too much data. Only tells news about company within last 1 year. An error is returned if the requested time range exceeds 1 month.\",\n", + " \"description\": \"Fetch the top most recent company news articles for a given stock symbol. āš ļø Avoid querying more than a 1-month range at a time as it may return too much data. Only tells news about company within last 1 year. An error is returned if the requested time range exceeds 1 month.\",\n", " \"parameters\": {\n", " \"type\": \"object\",\n", " \"properties\": {\n", @@ -565,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 185, "id": "26dd7375-626f-4235-b4a2-f1926f62cc5e", "metadata": {}, "outputs": [], @@ -573,7 +618,6 @@ "def get_market_news(category: str = \"general\"):\n", " \"\"\"\n", " Fetch the latest market news for a given category.\n", - " - Returns only the top 7 articles.\n", "\n", " Args:\n", " category (str): News category. One of [\"general\", \"forex\", \"crypto\", \"merger\"].\n", @@ -585,8 +629,8 @@ "\n", " try:\n", " news = finnhub_client.general_news(category)\n", - " logger.info(f\"Tool get_market_news {news}\")\n", " except Exception as e:\n", + " logger.error(f\"Tool get_market_news API call failed!\")\n", " return {\"success\": False, \"error\": str(e)}\n", "\n", " # Do not want to report just the latest news in the time period\n", @@ -605,7 +649,6 @@ " \"summary\": article.get(\"summary\"),\n", " \"source\": article.get(\"source\"),\n", " \"category\": article.get(\"category\"),\n", - " \"published_at\": datetime.utcfromtimestamp(article[\"datetime\"]).strftime(\"%Y-%m-%d %H:%M:%S UTC\"),\n", " \"related\": article.get(\"related\")\n", " })\n", "\n", @@ -614,7 +657,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 186, "id": "5bd1aa28-119c-4c7a-bdc0-161a582ab1cc", "metadata": {}, "outputs": [], @@ -639,19 +682,135 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 187, + "id": "fbe8ef6c-2d88-43a2-94dc-70b507fe9cd2", + "metadata": {}, + "outputs": [], + "source": [ + "def get_earnings_calendar(symbol: str = \"\", _from: str = \"\", to: str = \"\"):\n", + " \"\"\"\n", + " Fetch LATEST earnings calendar data for a stock symbol within a date range.\n", + " - End date must be within the last month. (Free tier only allows last 1 month data)\n", + " - Shows historical and upcoming earnings releases with EPS and revenue data.\n", + " Args:\n", + " symbol (str): Stock ticker (e.g., \"AAPL\"). Leave empty for all companies.\n", + " _from (str): Start date in YYYY-MM-DD format.\n", + " to (str): End date in YYYY-MM-DD format.\n", + " Returns:\n", + " list or dict: Cleaned earnings calendar data or error message.\n", + " \"\"\"\n", + " logger.info(f\"Tool get_earnings_calendar called for {symbol or 'all symbols'} from {_from} to {to}\")\n", + " \n", + " # Validate date format if provided\n", + " if _from or to:\n", + " try:\n", + " start_date = datetime.strptime(_from, \"%Y-%m-%d\") if _from else None\n", + " end_date = datetime.strptime(to, \"%Y-%m-%d\") if to else None\n", + " \n", + " # Check date range if both dates provided\n", + " # Check if end_date is within 1 month (ā‰ˆ30 days) of today\n", + " if end_date:\n", + " today = datetime.utcnow()\n", + " if (today - end_date).days > 30:\n", + " return {\n", + " \"success\": False,\n", + " \"error\": \"End date must be within the last month.\"\n", + " }\n", + " except ValueError:\n", + " return {\"success\": False, \"error\": \"Invalid date format. Use YYYY-MM-DD.\"}\n", + " \n", + " # Fetch earnings calendar data\n", + " try:\n", + " earnings_data = finnhub_client.earnings_calendar(_from=_from, to=to, symbol=symbol, international=False)\n", + " except Exception as e:\n", + " logger.error(f\"Error fetching earnings calendar: {e}\")\n", + " return {\"success\": False, \"error\": str(e)}\n", + " \n", + " # Check if data exists\n", + " if not earnings_data or \"earningsCalendar\" not in earnings_data:\n", + " return {\"success\": False, \"error\": \"No earnings data available for the specified criteria.\"}\n", + " \n", + " earnings_list = earnings_data[\"earningsCalendar\"]\n", + " \n", + " if not earnings_list:\n", + " return {\"success\": True, \"earnings\": [], \"message\": \"No earnings releases found for the specified period.\"}\n", + " \n", + " # Clean & transform earnings data\n", + " cleaned_earnings = []\n", + " for earning in earnings_list:\n", + " # Format hour description\n", + " hour_map = {\n", + " \"bmo\": \"Before Market Open\",\n", + " \"amc\": \"After Market Close\", \n", + " \"dmh\": \"During Market Hours\"\n", + " }\n", + " \n", + " cleaned_earnings.append({\n", + " \"symbol\": earning.get(\"symbol\"),\n", + " \"date\": earning.get(\"date\"),\n", + " \"quarter\": f\"Q{earning.get('quarter')} {earning.get('year')}\",\n", + " \"announcement_time\": hour_map.get(earning.get(\"hour\", \"\"), earning.get(\"hour\", \"Unknown\")),\n", + " \"eps_actual\": earning.get(\"epsActual\"),\n", + " \"eps_estimate\": earning.get(\"epsEstimate\"),\n", + " \"revenue_actual\": earning.get(\"revenueActual\"),\n", + " \"revenue_estimate\": earning.get(\"revenueEstimate\")\n", + " })\n", + " \n", + " return {\"success\": True, \"earnings\": cleaned_earnings}" + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "id": "9eaeae75-d68f-4160-a26e-c13e40cf756b", + "metadata": {}, + "outputs": [], + "source": [ + "get_earnings_calendar_function = {\n", + " \"name\": \"get_earnings_calendar\",\n", + " \"description\": \"Fetch latest earnings calendar showing historical and upcoming earnings releases for companies. Shows EPS and revenue estimates vs actuals. End date must be within the last month.\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"symbol\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"Stock ticker symbol, e.g., 'AAPL'. Leave empty to get earnings for all companies in the date range.\"\n", + " },\n", + " \"_from\": {\n", + " \"type\": \"string\", \n", + " \"description\": \"Start date in YYYY-MM-DD format. Ensure it is not more than 1 year ago from today. Ensure it is before or equal to the date in to.\"\n", + " },\n", + " \"to\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"End date in YYYY-MM-DD format. Ensure it is not more than 1 year ago. Ensure it is after or equal to the date in from. To date must be within the last month.\"\n", + " }\n", + " },\n", + " \"required\": [\n", + " \"_from\",\n", + " \"to\"\n", + " ]\n", + " }\n", + "}\n", + "\n", + "get_earnings_calendar_tool = {\"type\": \"function\", \"function\": get_earnings_calendar_function}" + ] + }, + { + "cell_type": "code", + "execution_count": 189, "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", "metadata": {}, "outputs": [], "source": [ "# List of tools:\n", - "tools = [search_symbol_tool, get_company_financials_tool, get_stock_quote_tool, get_company_news_tool, get_market_news_tool, get_current_time_tool]\n", + "tools = [search_symbol_tool, get_company_financials_tool, get_stock_quote_tool, get_company_news_tool, get_market_news_tool, get_current_time_tool, get_earnings_calendar_tool]\n", "tool_functions = {\n", " \"search_symbol\": search_symbol,\n", " \"get_company_financials\": get_company_financials,\n", " \"get_stock_quote\": get_stock_quote,\n", " \"get_company_news\": get_company_news,\n", " \"get_market_news\": get_market_news,\n", + " \"get_earnings_calendar\": get_earnings_calendar,\n", " \"get_current_time\": get_current_time\n", "}" ] @@ -672,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 190, "id": "86f76f57-76c4-4dc7-94a8-cfe7816a39f1", "metadata": {}, "outputs": [], @@ -702,7 +861,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 191, "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", "metadata": {}, "outputs": [], @@ -710,29 +869,87 @@ "def chat(message, history):\n", " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", "\n", + " # Skip the first system message\n", + " to_log = messages[1:]\n", + "\n", + " # Print each dict on its own line\n", + " logger.info(\"\\nMessages:\\n\" + \"\\n\".join(str(m) for m in to_log) + \"\\n\")\n", + "\n", " while True:\n", - " # Send to OpenAI\n", - " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", - " ai_message = response.choices[0].message\n", - " finish_reason = response.choices[0].finish_reason\n", - "\n", - " # If no tool calls, this is user-facing output\n", + " response = openai.chat.completions.create(\n", + " model=MODEL, \n", + " messages=messages, \n", + " tools=tools,\n", + " stream=True\n", + " )\n", + " \n", + " content = \"\"\n", + " tool_calls = []\n", + " finish_reason = None\n", + " \n", + " # Process the stream\n", + " for chunk in response:\n", + " choice = chunk.choices[0]\n", + " finish_reason = choice.finish_reason\n", + " \n", + " # Stream content\n", + " if choice.delta.content:\n", + " content += choice.delta.content\n", + " yield content\n", + " \n", + " # Collect tool calls\n", + " if choice.delta.tool_calls:\n", + " for tc_delta in choice.delta.tool_calls:\n", + " # Extend tool_calls list if needed\n", + " while len(tool_calls) <= tc_delta.index:\n", + " tool_calls.append({\n", + " \"id\": \"\",\n", + " \"function\": {\"name\": \"\", \"arguments\": \"\"}\n", + " })\n", + " \n", + " tc = tool_calls[tc_delta.index]\n", + " if tc_delta.id:\n", + " tc[\"id\"] = tc_delta.id\n", + " if tc_delta.function:\n", + " if tc_delta.function.name:\n", + " tc[\"function\"][\"name\"] = tc_delta.function.name\n", + " if tc_delta.function.arguments:\n", + " tc[\"function\"][\"arguments\"] += tc_delta.function.arguments\n", + " \n", + " # If no tool calls, we're done\n", " if finish_reason != \"tool_calls\":\n", - " return ai_message.content # āœ… Only return final assistant content\n", - "\n", - " # Otherwise, handle all tool calls in this message\n", + " return content\n", + " \n", + " # Execute tools\n", + " ai_message = {\n", + " \"role\": \"assistant\", \n", + " \"content\": content,\n", + " \"tool_calls\": [\n", + " {\n", + " \"id\": tc[\"id\"],\n", + " \"type\": \"function\",\n", + " \"function\": tc[\"function\"]\n", + " } for tc in tool_calls\n", + " ]\n", + " }\n", + " \n", " tool_responses = []\n", - " for tool_call in ai_message.tool_calls:\n", - " tool_responses.append(execute_tool_call(tool_call))\n", - "\n", - " # Add tool call request + tool responses to conversation\n", + " for tool_call in ai_message[\"tool_calls\"]:\n", + " # Convert dict back to object for your existing function\n", + " class ToolCall:\n", + " def __init__(self, tc_dict):\n", + " self.id = tc_dict[\"id\"]\n", + " self.function = type('obj', (object,), tc_dict[\"function\"])\n", + " \n", + " tool_responses.append(execute_tool_call(ToolCall(tool_call)))\n", + " \n", " messages.append(ai_message)\n", " messages.extend(tool_responses)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 192, "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", "metadata": {}, "outputs": [ @@ -740,22 +957,22 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-29 02:29:05,739 [INFO] HTTP Request: GET http://127.0.0.1:7860/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:05,746 [INFO] HTTP Request: HEAD http://127.0.0.1:7860/ \"HTTP/1.1 200 OK\"\n" + "2025-08-30 15:06:02,319 [INFO] HTTP Request: GET http://127.0.0.1:7871/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:02,322 [INFO] HTTP Request: HEAD http://127.0.0.1:7871/ \"HTTP/1.1 200 OK\"\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "* Running on local URL: http://127.0.0.1:7860\n", + "* Running on local URL: http://127.0.0.1:7871\n", "* To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ "" @@ -764,45 +981,120 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/plain": [] + }, + "execution_count": 192, + "metadata": {}, + "output_type": "execute_result" + }, { "name": "stderr", "output_type": "stream", "text": [ - "2025-08-29 02:29:07,097 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:17,018 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:17,024 [INFO] Executing tool: search_symbol with args: {'query': 'Apple'}\n", - "2025-08-29 02:29:17,025 [INFO] Tool search_symbol called for Apple\n", - "2025-08-29 02:29:17,777 [INFO] Tool search_symbol {'count': 11, 'result': [{'description': 'Apple Inc', 'displaySymbol': 'AAPL', 'symbol': 'AAPL', 'type': 'Common Stock'}, {'description': 'Apple Hospitality REIT Inc', 'displaySymbol': 'APLE', 'symbol': 'APLE', 'type': 'Common Stock'}, {'description': 'Apple iSports Group Inc', 'displaySymbol': 'AAPI', 'symbol': 'AAPI', 'type': 'Common Stock'}, {'description': 'Apple Flavor & Fragrance Group Co Ltd', 'displaySymbol': '603020.SS', 'symbol': '603020.SS', 'type': 'Common Stock'}, {'description': 'Maui Land & Pineapple Company Inc', 'displaySymbol': 'MLP', 'symbol': 'MLP', 'type': 'Common Stock'}, {'description': 'Apple International Co Ltd', 'displaySymbol': '2788.T', 'symbol': '2788.T', 'type': 'Common Stock'}, {'description': 'Applepark Co Ltd', 'displaySymbol': '164A.T', 'symbol': '164A.T', 'type': 'Common Stock'}, {'description': 'Pineapple Inc', 'displaySymbol': 'PNPL', 'symbol': 'PNPL', 'type': 'Common Stock'}, {'description': 'Pineapple Resources Bhd', 'displaySymbol': 'PINEAPP.KL', 'symbol': 'PINEAPP.KL', 'type': 'Common Stock'}, {'description': 'Pineapple Financial Inc', 'displaySymbol': 'PAPL', 'symbol': 'PAPL', 'type': 'Common Stock'}, {'description': 'Pineapple Energy Inc', 'displaySymbol': 'SUNE', 'symbol': 'SUNE', 'type': 'Common Stock'}]}\n", - "2025-08-29 02:29:19,090 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:19,096 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-29 02:29:20,043 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:20,047 [INFO] Executing tool: get_stock_quote with args: {'symbol': 'AAPL'}\n", - "2025-08-29 02:29:20,049 [INFO] Tool get_stock_quote called for AAPL\n", - "2025-08-29 02:29:20,274 [INFO] Tool get_stock_quote {'c': 232.56, 'd': 2.07, 'dp': 0.8981, 'h': 233.41, 'l': 229.335, 'o': 230.82, 'pc': 230.49, 't': 1756411200}\n", - "2025-08-29 02:29:30,843 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:44,436 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:44,441 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-29 02:29:46,801 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:29:46,806 [INFO] Executing tool: get_company_news with args: {'symbol': 'AAPL', '_from': '2025-08-21', 'to': '2025-08-28'}\n", - "2025-08-29 02:29:46,808 [INFO] Tool get_company_news called for AAPL from 2025-08-21 to 2025-08-28\n", - "2025-08-29 02:29:47,767 [INFO] Tool get_company_news [{'category': 'company', 'datetime': 1756408626, 'headline': 'Commentary: Trump’s trade war is hurting most sectors of the economy', 'id': 136563635, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The latest round of earnings reports revealed widespread damage from the Trump tariffs and other attacks on trade.', 'url': 'https://finnhub.io/api/news?id=f79d96aa415027377d39121c37660b242b4665192144f64a93b39b1515e24fdb'}, {'category': 'company', 'datetime': 1756405437, 'headline': 'Trump-Intel deal designed to block sale of chipmaking unit, CFO says', 'id': 136563640, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Trump administration’s investment in Intel was structured to deter the chipmaker from selling its manufacturing unit, its chief financial...', 'url': 'https://finnhub.io/api/news?id=f0e37125d1ccd2adc8afe9ffb145ccfa0dd2001cbd1d23eaf1c96270c33ab33f'}, {'category': 'company', 'datetime': 1756403740, 'headline': \"Apple–TSMC Chip Pact Builds Firewall Against Trump's Tariffs\", 'id': 136563655, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc (NASDAQ:AAPL) isn\\'t just building the iPhone 18—it\\'s creating a moat. By reportedly securing nearly half of Taiwan Semiconductor Manufacturing Co Ltd\\'s (NYSE:TSM) initial 2nm chip production capacity, Apple has locked in supply for its flagship device while also erecting a \"firewall\" against President Donald Trump\\'s proposed 100% tariffs on imported semiconductors. Track AAPL stock here. The move highlights how Apple\\'s scale, foresight, and U.S. investments could shield it from the pol', 'url': 'https://finnhub.io/api/news?id=080fa7ce38b3b44861946e6973f447bb280a79ea485c2b2f1ae11a938bbccd90'}, {'category': 'company', 'datetime': 1756401279, 'headline': \"What's Going On With Marvell Technology Stock Thursday?\", 'id': 136563649, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Marvell Technology (NASDAQ:MRVL) shares surged Thursday as investors bet on the company to deliver strong second-quarter results, scheduled for after the closing bell. Optimism has been fueled by accelerating demand for artificial intelligence infrastructure and expectations that Marvell will capture a growing share of hyperscale spending. The rally followed industry peer Nvidia’s (NASDAQ:NVDA) blockbuster results, which reinforced expectations of sustained demand from the artificial intelligenc', 'url': 'https://finnhub.io/api/news?id=4cf8c5984bf7ff829223fe47ee62f42082ee29a59dfa95d4b539bfe0fd0a423e'}, {'category': 'company', 'datetime': 1756400124, 'headline': 'Most of the Other Mag 7 Stocks Are Rising After Nvidia Earnings', 'id': 136563657, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A group of Magnificent Seven stocks buoyed the S&P 500 after Nvidia earnings, but the chip titan wasn’t among them. The Dow was up 50 points, or 0.1%, while the Nasdaq Composite was up 0.5%. Nvidia shares were down 1% after moving up and down at the open.', 'url': 'https://finnhub.io/api/news?id=e89114f6041717edcc3ed7d65565eac2750bc512978233bdc8c6a18dae1bd6e0'}, {'category': 'company', 'datetime': 1756398112, 'headline': 'Stock Market Today: Nasdaq Up As Pure Storage Triggers Breakaway Buy; Nvidia Cuts Losses, Hormel Dives (Live Coverage)', 'id': 136560744, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index slips in mixed trade Thursday following surprise GDP numbers and jobless claims. Nvidia stock drops after earnings.', 'url': 'https://finnhub.io/api/news?id=58cb2ef567614c88ee8f9a823109d024b43d6de6c4d18baa9bd184de26c931bc'}, {'category': 'company', 'datetime': 1756397760, 'headline': \"A Small Cap In A Big Cap's Clothing\", 'id': 136563776, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'AAPL is no longer the largest company in the world and now trails both Nvidia and Microsoft in terms of market cap. Click to read.', 'url': 'https://finnhub.io/api/news?id=e809d05668bd6be09e9fc420bf30d52521f1e6e4e7551f49911804ecf2247f3e'}, {'category': 'company', 'datetime': 1756397421, 'headline': 'Trump tariffs are increasingly forcing countries to pick sides between the US and China', 'id': 136560766, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'President Trump’s trade wars are increasingly forcing countries to choose between the US and its main adversaries.', 'url': 'https://finnhub.io/api/news?id=8177e96bbae4398135d97186f74049bba0d0eec4e76863edf5957488c9f737ff'}, {'category': 'company', 'datetime': 1756392896, 'headline': 'Evercore ISI Reiterates Outperform on Apple (AAPL) With $250 PT', 'id': 136560767, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the AI Stocks Analysts Say You Shouldn’t Ignore. On August 22, Evercore ISI reiterated the stock as ā€œOutperformā€ stating that it likes Apple’s price hikes on Apple TV+. ā€œWe think the Apple TV+ price increases could help modestly on services growth, but the real intent is to minimize churn. Services […]', 'url': 'https://finnhub.io/api/news?id=fb1b0e9cc0f40efd15e9b2dfc73b8684dcae4a89f5ba687b678e90e707d05cfb'}, {'category': 'company', 'datetime': 1756391075, 'headline': 'MP Materials: The Defense Establishment Comes A-Calling', 'id': 136562702, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1428654585/image_1428654585.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'MP Materials is strategically positioned as a leading rare earth supplier amid rising US-China tensions and government focus on resource independence. Read the latest stock analysis here.', 'url': 'https://finnhub.io/api/news?id=1727d118f012c8bf42398a37c74b2b2ad9638666dd7efdf80539a5edee7fc302'}, {'category': 'company', 'datetime': 1756390634, 'headline': 'How Trump and Melania meme coins are performing half a year on', 'id': 136557610, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Both tokens launched before the US president's 20 January inauguration and quickly caught fire across crypto forums and political media.\", 'url': 'https://finnhub.io/api/news?id=80aa0488039ed175c0218e44a05e2ea529aed8fb9531d6015adb959f60044895'}, {'category': 'company', 'datetime': 1756389524, 'headline': 'Stock Market Today: Dow Slips, Nasdaq Rises After Surprise GDP, Jobless Claims; Nvidia Drops On Earnings (Live Coverage)', 'id': 136557573, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index slips in mixed trade Thursday following surprise GDP numbers and jobless claims. Nvidia stock drops after earnings.', 'url': 'https://finnhub.io/api/news?id=aecd19ed894e08a95a5c74ed51c36088b293dda61667fd30342cab56ee8a9c0a'}, {'category': 'company', 'datetime': 1756388700, 'headline': '2 Growth Stocks That Could Be Worth $1 Trillion in 5 Years', 'id': 136557612, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These two longtime market leaders should continue to perform well.', 'url': 'https://finnhub.io/api/news?id=940ed0a9a05b5d73504f52a9a1da73f837f81ad32f7414fc2ea5ed355f0140fe'}, {'category': 'company', 'datetime': 1756387449, 'headline': \"This Overlooked Stock Market Sector is Getting Hot Ahead of the Fed's Expected September Rate Cut\", 'id': 136560763, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'How to track sector rotation in the market, and why old-school utilities are catching a tailwind after Powell’s speech.', 'url': 'https://finnhub.io/api/news?id=f0053dc1668970117d9f9fb0b6ef53faff354c6079b706205c54497955c19026'}, {'category': 'company', 'datetime': 1756386540, 'headline': \"If You'd Invested $1,000 in Apple Stock 5 Years Ago, Here's How Much You'd Have Today\", 'id': 136557613, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'You might be surprised to see how much your investment would be today.', 'url': 'https://finnhub.io/api/news?id=8c9acc794cd8b231a9233116a3dc9e994a56c1c3a82189d074108e98ab54d68b'}, {'category': 'company', 'datetime': 1756386000, 'headline': 'Avalon GloboCare to Launch Online Sales of KetoAir Breathalyzer in the United Kingdom', 'id': 136557614, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'FREEHOLD, N.J., Aug. 28, 2025 (GLOBE NEWSWIRE) -- Avalon GloboCare Corp. (ā€œAvalonā€ or the ā€œCompanyā€) (NASDAQ: ALBT), a developer of precision diagnostic consumer products, today announced that it will launch the sales of KetoAirā„¢ breathalyzer device and related accessories in the United Kingdom (ā€œUKā€). The products will be available for purchase starting September 1, 2025, at www.KetoAir.uk. KetoAirā„¢ is a handheld breathalyzer designed for ketogenic health management (U.S. Food and Drug Administ', 'url': 'https://finnhub.io/api/news?id=e559b96b92a52447e682c0f47c53fa6a508e7398d5b3e5de911491454985d36e'}, {'category': 'company', 'datetime': 1756385063, 'headline': 'Market Chatter: Apple Warns UK Strategic Market Status Could Harm Users, Developers', 'id': 136557615, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple (AAPL) believes that Britain's plans to increase competition in the mobile operating system ma\", 'url': 'https://finnhub.io/api/news?id=16193e567e9dc751ddfab0787f451b0f6978ff34d2d52737bb037964cb3088cc'}, {'category': 'company', 'datetime': 1756383230, 'headline': 'The Swatch Group: Running Out Of Time', 'id': 136559852, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1791242549/image_1791242549.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Swatch Group struggles with smartwatch disruption, falling EPS, and weak demand. Learn about its challenges, risks, and potential value opportunities.', 'url': 'https://finnhub.io/api/news?id=ca5970ea6e8ed42a4e3691dca273ba9e121de29acb56336c9560a79eabb40437'}, {'category': 'company', 'datetime': 1756382877, 'headline': 'When will iPhone 17 be released? What features to expect? What to know in Tennessee', 'id': 136557616, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The newest iPhone is expected to be announced during a Sept. 9 event, meaning it could hit the market in the coming weeks.', 'url': 'https://finnhub.io/api/news?id=93b0e7100da77cd91b5a784d1f044e99eccd00657935413602ac3754d95e9341'}, {'category': 'company', 'datetime': 1756382470, 'headline': 'As Trump And Intel Make News, This Nvidia, AMD Partner Chips Away At A Breakout', 'id': 136557617, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'With the semiconductor industry in focus as Nvidia reports, the Trump administration takes a stake in Intel and TSMC stock etches a buy point.', 'url': 'https://finnhub.io/api/news?id=0639e7b2512036ffaa5f122e7bccb0a595e35b5f4a85fef22a1f742133d79902'}, {'category': 'company', 'datetime': 1756382400, 'headline': 'Get ready, EV owners: Here come the dongles', 'id': 136557728, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The transition from CCS to NACS will unlock thousands more fast chargers for many EV drivers, but they'll need to know their adapters to get the most out of it.\", 'url': 'https://finnhub.io/api/news?id=791f3b535a827c891140497cf89f87e37078b485a1c9d281692e6e62701cbbb6'}, {'category': 'company', 'datetime': 1756382400, 'headline': 'Could Buying MP Materials Today Set You Up for Life?', 'id': 136557618, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'MP Materials stock has surged over 300% in 2025. Can it keep that up?', 'url': 'https://finnhub.io/api/news?id=cde8cb7b7e803b646fd2e21292c3e4b0908454b34eabfb4a04c9a2ad56b8a879'}, {'category': 'company', 'datetime': 1756382143, 'headline': 'Morgan Stanley Maintains Equalweight on Skyworks (SWKS), Cuts Price Target Amid Broadcom Content Loss', 'id': 136557619, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Skyworks Solutions, Inc. (NASDAQ:SWKS) ranks among the best 5G stocks to buy now. Morgan Stanley retained its Equalweight rating on Skyworks Solutions, Inc. (NASDAQ:SWKS) and reduced its price target from $68 to $65 on August 6. Based in part on Apple’s previous remarks, the research firm noticed that the supply chain for smartphones has outperformed […]', 'url': 'https://finnhub.io/api/news?id=dd93604c17d502c50685fcce411f0ad5afa787886bc30b3edeebde6530455293'}, {'category': 'company', 'datetime': 1756380630, 'headline': 'Apple says UK mobile market shake-up could harm users and developers', 'id': 136557620, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"LONDON -Apple said on Thursday Britain's plans to increase competition in the mobile operating system market could harm users and developers, and potentially force the company to share its technology with foreign competitors for free. Last month, Britain's competition regulator told Apple and Android-owner Google to be fairer in how they distribute apps on their mobile platforms, setting out possible interventions as it plans to designate the U.S. tech companies with strategic market status over their duopoly.\", 'url': 'https://finnhub.io/api/news?id=4586d9fb5c2a41f4c8105a80667c11835661ad496368946acf15b94c6272ad1d'}, {'category': 'company', 'datetime': 1756378650, 'headline': \"Tesla sales drop 40% across Europe in July as China's BYD sees jump\", 'id': 136557621, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Sales of Tesla cars have continued to decline across Europe, falling 40% in July, as Chinese rival BYD saw a surge in registrations in the region last month.', 'url': 'https://finnhub.io/api/news?id=46d0e09bc4cfda7fd65bf1f247e15ce13082d242766a227b93cc70e92bcf6bf2'}, {'category': 'company', 'datetime': 1756377360, 'headline': 'AGs attack deepfake porn payments', 'id': 136560769, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple, Visa and others must be ā€œmore aggressiveā€ in banning payment authorization for nonconsensual deepfake content, state AGs told the companies.', 'url': 'https://finnhub.io/api/news?id=5b99f45abab1c5465df76ca6c27da2afd266ebef62599d480a55d33d7590e981'}, {'category': 'company', 'datetime': 1756376520, 'headline': \"12 Stocks Warren Buffett's Berkshire Hathaway Has Been Loading Up On in 2025\", 'id': 136557622, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Despite a few big stock sales, there have been a lot of additions to Berkshire's portfolio.\", 'url': 'https://finnhub.io/api/news?id=3d261fc0e50b40a48d492134da9a6984c463cd0ba69e573fa387ef3c50489f9f'}, {'category': 'company', 'datetime': 1756376229, 'headline': 'Apple (AAPL): Examining Valuation as AI Concerns and Product Launches Dominate Attention', 'id': 136557623, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple (AAPL) has always had a knack for capturing headlines, but lately, it’s been the company’s moves—or lack of moves—in artificial intelligence that are drawing outsized attention from investors. As Apple prepares for its upcoming product event with new iPhones and wearables expected, multiple reports suggest the tech giant is under mounting pressure to prove it can catch up in the AI race. Recent partnership talks and news of possible acquisitions only add to the drama, as the market...', 'url': 'https://finnhub.io/api/news?id=9a405abfbd5a198d23b48942eeaf8cd2758d491872dc294d2d477e168c22259c'}, {'category': 'company', 'datetime': 1756375801, 'headline': 'How Twilio’s (TWLO) Global RCS Launch Could Shape Its Messaging Platform and Customer Trust', 'id': 136557624, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Twilio recently announced the global general availability of Rich Communication Services (RCS) messaging, enabling more than 349,000 active customers to send branded, verified, and interactive messages across Android and iOS devices through its Programmable Messaging and Verify APIs. This launch, following Apple’s rollout of RCS support and expanding Twilio's reach across 20+ countries, positions the company to address rising messaging fraud by bolstering customer trust and enabling richer,...\", 'url': 'https://finnhub.io/api/news?id=ca2307c8e7be2ecfaff7e462350f223f2840e596cd366e3fe1573e6bd327b14b'}, {'category': 'company', 'datetime': 1756372500, 'headline': 'Prediction: 1 Artificial Intelligence (AI) Stock Will Be Worth More Than Palantir Technologies and Amazon Combined by 2030', 'id': 136557607, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Palantir is one of the most valuable software businesses in the world, while Amazon remains a trillion-dollar giant.', 'url': 'https://finnhub.io/api/news?id=fc96e4f9665522a0c22481cd146e66d9b5ce8ce2934077c86c504f0697260d9a'}, {'category': 'company', 'datetime': 1756370411, 'headline': 'Bitcoin price recovers as Nvidia earnings fuel risk appetite', 'id': 136557626, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'It came as the S&P 500 notched a record high and Nvidia delivered stronger-than-expected quarterly results, reinforcing investor appetite for risk assets.', 'url': 'https://finnhub.io/api/news?id=8c3119a8a72d87a448ff861e8e4d4b8619a0635371e0e3713c949308eb32f044'}, {'category': 'company', 'datetime': 1756368912, 'headline': 'LIVE: Wall Street and European stocks mixed as US GDP revised higher and weekly jobless claims fall', 'id': 136557627, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"US GDP grew at a 3.3% annualised pace last quarter, according to the government's second estimate.\", 'url': 'https://finnhub.io/api/news?id=94bd66317beaa9f8b873ea175cd746f9091c5c1fd8938424b2ca4e20259b5df2'}, {'category': 'company', 'datetime': 1756364760, 'headline': 'Zacks Investment Ideas feature highlights: Apple, Meta Platforms and DoorDash', 'id': 136557628, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple, Meta and DoorDash all smashed Q2 expectations with record-breaking growth, strong margins and bullish post-earnings momentum.', 'url': 'https://finnhub.io/api/news?id=753d4c569e19112422028eb00f371cfd015fbeeca321005775f91b9d77d6b158'}, {'category': 'company', 'datetime': 1756364400, 'headline': 'Apple accuses Britain of ā€˜EU-style’ crackdown', 'id': 136557629, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple has accused Britain’s competition watchdog of stifling growth with an ā€œEU-styleā€ crackdown on the iPhone maker.', 'url': 'https://finnhub.io/api/news?id=88bb9408c819df29b22469513d47540a5d54f0585fc8caf47ac8288a93fd41b8'}, {'category': 'company', 'datetime': 1756326420, 'headline': 'Apple Teases iPhone 17 Launch With Sept. 9 Showcase', 'id': 136541162, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Event to spotlight slimmer phone, new watches, AirPods and AI', 'url': 'https://finnhub.io/api/news?id=57f533b5c833e80c1d77f63268da8555521d3d5583d5684b46ac7036d8b0d570'}, {'category': 'company', 'datetime': 1756323780, 'headline': \"Warren Buffett's Berkshire Hathaway Trims Apple Stake, Again. What's the Deal?\", 'id': 136541163, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The massive conglomerate now has a cash hoard of $344 billion.', 'url': 'https://finnhub.io/api/news?id=7dc81e41b6376258c7eb512fa47525b93dbc56d436b9acee7318023adae6a69f'}, {'category': 'company', 'datetime': 1756320350, 'headline': 'Apple (AAPL) Buy Rating Maintained Ahead of Potential September Event', 'id': 136541164, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the AI Stocks Analysts Are Tracking Closely. On August 25, Bank of America reiterated the stock as ā€œBuyā€ and acknowledged that even though there are reports that there is no official iPhone event yet scheduled on September 9 for Apple, investors should tone down their expectations for the next cycle […]', 'url': 'https://finnhub.io/api/news?id=36ef4b48e9a75c5faaad802d9779733bd8eb0d2ed1aff058090ccf2ffbf76544'}, {'category': 'company', 'datetime': 1756317830, 'headline': 'Chipolo, an AirTag rival, debuts rechargeable trackers with a six-month battery life', 'id': 136541165, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Chipolo debuts a lineup of rechargeable trackers to compete with AirTag and others.', 'url': 'https://finnhub.io/api/news?id=058e82cd659bfbb73fd85321d63d0825a8cd02ec4774a2cb53eda240bbffd98d'}, {'category': 'company', 'datetime': 1756315800, 'headline': '[Latest] Global Motion Graphics Market Size/Share Worth USD 280 Billion by 2034 at a 12.2% CAGR: Custom Market Insights (Analysis, Outlook, Leaders, Report, Trends, Forecast, Segmentation, Growth Rate, Value, SWOT Analysis)', 'id': 136539413, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': '[220+ Pages Latest Report] According to a market research study published by Custom Market Insights, the demand analysis of Global Motion Graphics Market size & share revenue was valued at approximately USD 85.5 Billion in 2024 and is expected to reach USD 98.3 Billion in 2025 and is expected to reach around USD 280 Billion by 2034, at a CAGR of 12.2% between 2025 and 2034. The key market players listed in the report with their sales, revenues and strategies are Adobe Inc., Autodesk Inc., Maxon', 'url': 'https://finnhub.io/api/news?id=e6f397e64732b302a0646b559119b00c38feacf9f0c5daffee527ec2fb030208'}, {'category': 'company', 'datetime': 1756315645, 'headline': 'Pfizer: Finally Some Fortune, Plus Twenty High-Quality Dividend Growth Valuations', 'id': 136542130, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2203006359/image_2203006359.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Discover high-quality dividend-growth stocks near 52-week lows. Explore Pfizer's strong dividend and valuations, plus other top picks like Merck and Qualcomm.\", 'url': 'https://finnhub.io/api/news?id=ec425284e980cf083d7d06feec4294590bc48a5d33b2fdd798c828b58de26570'}, {'category': 'company', 'datetime': 1756312967, 'headline': \"Cracker Barrel logo debacle isn't CEO Julie Masino's only challenge: Opening Bid top takeaway\", 'id': 136538441, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Cracker Barrel has a host of issues.', 'url': 'https://finnhub.io/api/news?id=5d954f41f3cbb1bd20135e12731d5043295f6c7a22381c604c77986feb3e3dd7'}, {'category': 'company', 'datetime': 1756310381, 'headline': 'The Gap Between Nvidia and the Next Largest Company Is Now $700 Billion', 'id': 136539403, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Nvidia's market capitalization stood at about $4.4 trillion this week, about $700 billion ahead of the next most valuable company, Microsoft. The gap between the AI chip giant and the next largest public company has never been wider, according to Dow Jones Market Data.\", 'url': 'https://finnhub.io/api/news?id=f9ce19a19e80e96971dc5bb4e5998b4f73764cfdb89fda81e2cd7672edc77884'}, {'category': 'company', 'datetime': 1756308600, 'headline': 'Q2 Earnings: These 3 Tech Stocks Shattered Expectations', 'id': 136539416, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The 2025 Q2 earnings cycle is nearing its end, with these three companies' results stealing the spotlight. Can they repeat their stellar performances in the Q3 season?\", 'url': 'https://finnhub.io/api/news?id=c8908ad4d0110207fd887b4cbe53973de66b66981914f3ae3f421964cfd4e39d'}, {'category': 'company', 'datetime': 1756305529, 'headline': 'How Apple investors should weigh India tariffs & ongoing AI lag', 'id': 136539417, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple (AAPL) is ramping up production at five factories in India ahead of its iPhone 17 launch, all while facing new 50% tariffs from the US on Indian goods. Yahoo Finance Senior Reporter Ines FerrĆ© and Slatestone Wealth chief market strategist Kenny Polcari, who is also the host of Yahoo Finance's Trader Talk podcast, join Opening Bid host Brian Sozzi to weigh in on the headline risk to Apple. To watch more expert insights and analysis on the latest market action, check out more\\xa0Opening Bid.\", 'url': 'https://finnhub.io/api/news?id=f985e17b57b8661a44209cdab0364c36ab40feed82fbacbada76d466df119581'}, {'category': 'company', 'datetime': 1756303740, 'headline': 'Apple Music Taps TuneIn to Expand Global Access to Its Live Radio Stations', 'id': 136539418, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Beginning today, listeners around the world can stream all six commercial-free Apple Music live radio stations on TuneIn SAN FRANCISCO, Aug. 27, 2025 (GLOBE NEWSWIRE) -- TuneIn, the world’s leader in live audio, today announced a new partnership with Apple to expand access to Apple Music’s commercial-free live radio stations to listeners around the world. This marks the first time Apple’s 24/7 global radio stations are available outside of its own native platform. Starting today, all six free Ap', 'url': 'https://finnhub.io/api/news?id=e0413ec85f8c3aca11dd19d3b50b0f1680a6191a99c9e1760725d09871ab2e5f'}, {'category': 'company', 'datetime': 1756302300, 'headline': 'My 3 Favorite Stocks to Buy Right Now', 'id': 136536616, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Contrary to a common assumption at this time, not every stock is priced too richly or poses too much risk. Several underappreciated and undervalued names are just waiting to be found.', 'url': 'https://finnhub.io/api/news?id=5c9c5ad47420d627cfdffdc181bb0a20b74931b5b9a4ee6e4b598a7fe15ffe94'}, {'category': 'company', 'datetime': 1756300020, 'headline': 'COLLEGE FOR CREATIVE STUDIES LAUNCHES APPLE FOUNDATION PROGRAM, FREE CODING COURSES FOR DETROITERS', 'id': 136536132, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Apple Foundation Program at CCS will welcome its first cohort in October 2025, offering a free introductory app development course with access to laptops and additional devices. CCS Apple Foundation Lab Courtesy of College for Creative Studies CCS Apple Foundation Lab Courtesy of College for Creative Studies Detroit, MI, Aug. 27, 2025 (GLOBE NEWSWIRE) -- The College for Creative Studies (CCS) is excited to launch the Apple Foundation Program, a free app development program coming to the Coll', 'url': 'https://finnhub.io/api/news?id=c39f266620c5451aea0891907dfe081dc8bad553e13b1175be1a2c1955a20968'}, {'category': 'company', 'datetime': 1756299600, 'headline': 'Apple Makes Music Push in Radio After Losing Ground to Spotify', 'id': 136539420, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The deal with digital radio platform TuneIn marks the first time Apple Music’s six radio stations will be available outside the company’s app.', 'url': 'https://finnhub.io/api/news?id=2b3af74ab5be8c92b9fc60e9ddf9ea2316e2a7b47b4705db59639bc775ff1581'}, {'category': 'company', 'datetime': 1756299600, 'headline': 'ESR to Unveil Game-Changing Tech Innovations at IFA 2025', 'id': 136536133, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'ESR, a global tech brand trusted by over 123 million users, will present its newest innovations at IFA 2025 from September 5–9 at Messe Berlin. Guided by its mission \"Tech Made Easier,\" ESR is set to unveil industry-first accessories that deliver wired-speed magnetic charging, stronger device protection, and more flexible productivity.', 'url': 'https://finnhub.io/api/news?id=ab2ce5abbf3516bc95c82979500217ce98402582a6083375f7b1edb7e0e92ab8'}, {'category': 'company', 'datetime': 1756298700, 'headline': 'Billionaire Bill Ackman Just Bought This Magnificent Artificial Intelligence (AI) Stock, Which Could Join Nvidia, Microsoft, and Apple in the $3 Trillion Club By 2028', 'id': 136536103, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Ackman\\'s hedge fund, Pershing Square, recently added another \"Magnificent Seven\" stock to its portfolio.', 'url': 'https://finnhub.io/api/news?id=0dcbb9593b57a4f988911c73d340dec2c9ee67cf5fe2dc86402a13ec133409be'}, {'category': 'company', 'datetime': 1756298544, 'headline': 'MetaMask Adds Google and Apple Login to Simplify Self-Custodial Wallet Access', 'id': 136536135, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'MetaMask has launched social login functionality, allowing users to create and recover self-custodial wallets using Google or Apple accounts, eliminating the need to manually manage traditional 12-word Secret Recovery Phrases while preserving complete user control over private keys. The feature combines familiar Web2 authentication with advanced cryptographic techniques, including Threshold ...', 'url': 'https://finnhub.io/api/news?id=fefb7a0bd947b9ea884c2ad78bba45b797bbc2fe6e7e419fbc1f41f9bc40b0fe'}, {'category': 'company', 'datetime': 1756297975, 'headline': 'Alphabet At The Crossroads: Legal Minefield Or Money Machine', 'id': 136538321, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/872409924/image_872409924.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Alphabet faces antitrust risk, but a breakup could unlock hidden value.', 'url': 'https://finnhub.io/api/news?id=94344a89f867ac85036a39124e9fd93cc16cff445838394e0d8c309e5273eceb'}, {'category': 'company', 'datetime': 1756295929, 'headline': 'Microsoft vs. Apple: Which Stock Has Performed Better Since Trump Took Office?', 'id': 136536116, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple and Microsoft stocks have surged—but which one performed better? See how these tech giants stack up during Trump’s second term so far.', 'url': 'https://finnhub.io/api/news?id=854230d76b6fd36b2a4ae52e69d5f5bec794619ea75e004e447c9a78ffa760ca'}, {'category': 'company', 'datetime': 1756295100, 'headline': 'As Warren Buffett Continues to Trim Apple Stake, Should Investors Be Worried?', 'id': 136536137, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple now comprises 21% of Berkshire's closely monitored equity portfolio.\", 'url': 'https://finnhub.io/api/news?id=5d982d0ed73fdda2a4280275c09cefba88552b34a1299052e0f5263e263ba3a5'}, {'category': 'company', 'datetime': 1756291928, 'headline': 'What happens to your pension if your relationship ends?', 'id': 136536138, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"If there's an overreliance on one partner’s pension and you end up breaking up you could find yourself close to retirement with little in the way of income.\", 'url': 'https://finnhub.io/api/news?id=c3f07c39e3f7a9bf94894372a3977c0b5aad0f22174af5931a31c0f99e318f63'}, {'category': 'company', 'datetime': 1756291569, 'headline': \"Tesla Stock 'Could Fall 90% Tomorrow,' Fund Manager Still Won't Buy — Here's Where He's Investing Instead\", 'id': 136536120, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tesla Inc (NASDAQ:TSLA) stock has fallen 8% year-to-date in 2025 and some investors and analysts believe the stock remains overvalued with more room to fall. One of the top-performing fund managers thinks Tesla stock could have significant downside ...', 'url': 'https://finnhub.io/api/news?id=434f7927d77afa8219186d9fdcb67ead90bbb30935a3a8e8f48580f5bcbf65a1'}, {'category': 'company', 'datetime': 1756291392, 'headline': 'AI Weekly: grouchy Grok and the wizard of bots', 'id': 136536140, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"STORY: From why Elon Musk says Apple is being mean to Grok, to how bots reinvented the Wizard of Oz, this is AI Weekly.:: AI Weekly:: Sphere Entertainment\\xa0Elon Musk’s xAI is suing Apple and OpenAI, claiming they conspired to thwart competition.He says they gave prominence to ChatGPT in Apple’s app store, while limiting the profile of his competing chatbot Grok.OpenAI said the case was just another example of what it called Musk’s ā€œpattern of harassmentā€.Meta is set to back political candidates who back lighter regulation of AI.The Facebook parent says it will set up a California-focused political action committee to back state-level candidates from either party.It plans to spend tens of millions of dollars on the effort, potentially putting it among the state's top politicial spenders ahead of a 2026 governor race.\\xa0DeepSeek has unveiled an upgraded model that it says is can be optimised to work with Chinese chips.That may signal it’s positioned to work with the country’s own semiconductor makers, as Beijing pushes to reduce its reliance on U.S. tech.Earlier this year, DeepSeek shook the sector when it released an AI model able to compete with the likes of ChatGPT, but developed at much lower cost.:: Sphere EntertainmentAI has reimagined ā€œThe Wizard of Ozā€.The famous film will be shown in Las Vegas on a towering spherical screen that surrounds viewers.AI tools preserve the original performances, but also add new elements.Ben Grossman is the boss of visual effects firm Magnopus:ā€œWe need to drastically increase the resolution and detail of the original movie, we need to complete the missing parts of the people who were cut off and then we need to create the continuity of the scene so that the performances that you know are there are actually there.ā€And Google focused on AI when unveiling its latest Pixel phones.:: Google\\xa0That includes a ā€œcoachā€ in the camera app that can help users take better pictures.There’s also an AI assistant that can display useful information before it’s even asked, such as showing a flight confirmation email when the user calls an airline.\", 'url': 'https://finnhub.io/api/news?id=2b6a4d8f83a26751f9c767abe00e26abbabfb1071fff7f699c0518d49891f5ce'}, {'category': 'company', 'datetime': 1756290780, 'headline': 'It’s Trump’s Market Now. How to Navigate Fed Threats, State Stock Buying, Economic Curveballs.', 'id': 136536141, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trump escalates Fed fight, Apple teases product event next week, Cracker Barrel drops new logo, and more news to start your day.', 'url': 'https://finnhub.io/api/news?id=67a5e0f03199596b736b0f4d450d0b0f50f5413e3f39010b9f387d60351fe739'}, {'category': 'company', 'datetime': 1756288800, 'headline': 'The Best \"Magnificent Seven\" Stock to Buy Right Now, According to Wall Street (Hint: Not Nvidia)', 'id': 136536125, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Almost every analyst agrees this AI giant is a buy with plenty of upside left.', 'url': 'https://finnhub.io/api/news?id=d6cefbf6bd2b81a2d3edda7b925845062de2a510ca2d395594240036c0b0c4dc'}, {'category': 'company', 'datetime': 1756285332, 'headline': 'EU to Propose Removing US Tariffs This Week to Meet Trump Demand', 'id': 136539421, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The European Commission, which handles trade matters for the EU, will also give preferential tariff rates on certain seafood and agricultural goods, according to people familiar with the matter. The EU has conceded that the trade arrangement struck with Trump favors the US but that the accord is necessary to give businesses stability and certainty.', 'url': 'https://finnhub.io/api/news?id=612cccf472079a1f84ac02fea985ed07785463e11fce1542fde2df16313aa3ce'}, {'category': 'company', 'datetime': 1756285263, 'headline': 'Crypto Industry Unites Against Senate Bill Over Protections for Software Devs', 'id': 136536143, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Top crypto and tech groups said they would not support the Senate’s market structure bill without new language shielding developers from criminal liability.', 'url': 'https://finnhub.io/api/news?id=c1422933d13544e8a6ea15de880fcc0b45d85931f54e313abb4d5f1d9dc447c4'}, {'category': 'company', 'datetime': 1756285020, 'headline': 'Prediction: This Unstoppable Vanguard ETF Will Keep Beating the S&P 500 Over the Long Term', 'id': 136536127, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The S&P 500 typically delivers strong long-term returns, but this Vanguard ETF has consistently outperformed it.', 'url': 'https://finnhub.io/api/news?id=de010cb83b6d643dc3697d4fcd9dee466c036b714ed688738a4d10e9b0ab9387'}, {'category': 'company', 'datetime': 1756284300, 'headline': 'Ben Graham Misquoted: The Stock Market Is Never A Weighing Machine', 'id': 136535891, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1329937320/image_1329937320.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"The stock market is not a weighing machine in the long run. Check out Graham's insights on why the stock market operates as a voting machine.\", 'url': 'https://finnhub.io/api/news?id=1f8e990b991e9dd7e08e7bbe07edf4020234609d120abc13241f0507716fe9e4'}, {'category': 'company', 'datetime': 1756282320, 'headline': 'The New Conversational Standard: Rich Communication Services Market Forecast Report 2025-2030, with Profiles of Google, Apple, Twilio, Sinch, Infobip, MessageBird, and GSMA', 'id': 136536145, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The RCS market is poised for rapid growth, driven by Apple\\'s RCS integration in iOS 18, unifying global users. Key opportunities lie in leveraging RCS Business Messaging for enhanced brand-consumer interaction, exploring high-growth regions like Asia-Pacific, and integrating RCS into digital strategies for MNOs, enterprises, and CPaaS providers.Dublin, Aug. 27, 2025 (GLOBE NEWSWIRE) -- The \"New Conversational Standard: Rich Communication Services (RCS) Market Analysis, RBM Opportunities, and Glo', 'url': 'https://finnhub.io/api/news?id=cdf9963e9810636d6dd5ad679403d87a7fe343bdfeb4099a71f0413bebce46b6'}, {'category': 'company', 'datetime': 1756281713, 'headline': 'FTSE 100 LIVE: Stocks mixed as UK energy prices set to rise more than expected', 'id': 136536146, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The increase kicks in at start of October, which campaigners say will mean another winter of relatively high energy bills.', 'url': 'https://finnhub.io/api/news?id=c651e4c616007403c5a8acfaffde18b8820eec9726a0ae66c4e971e13aadc1cf'}, {'category': 'company', 'datetime': 1756279166, 'headline': 'IMAX Corporation (IMAX) Signs Expansion Agreement with Apple Cinemas for New IMAX with Laser Systems', 'id': 136536147, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'With strong upside potential and significant hedge fund interest, IMAX Corporation (NYSE:IMAX) secures a spot on our list of the 10 Must-Buy Canadian Stocks to Invest in. A significant expansion agreement for five new IMAX with Laser systems around the United States was announced by IMAX Corporation (NYSE:IMAX) and Apple Cinemas on August 7, 2025, […]', 'url': 'https://finnhub.io/api/news?id=fbfd81ca0494903d8d382c281080e814876acca5f579b9bc868ceec4ef3aec61'}, {'category': 'company', 'datetime': 1756278300, 'headline': 'Parallels Launches Parallels Desktop 26 with Support for macOS Tahoe 26, Compatibility with Windows 11 25H2, and New IT Management Tools', 'id': 136536131, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The latest release introduces more secure VM management, accurate Mac disk visibility in Windows, renewed SOC 2 Type II compliance, and more simplified deployment and device management for enterprise IT teams Parallels Desktop 26 for Mac Parallels Desktop is the only Microsoft-authorized way to run Windows 11 on Macs with Apple silicon. Parallels Desktop for Mac Enterprise Edition Parallels Desktop 26 introduces powerful enterprise features, making it easier for IT teams to manage, monitor, and', 'url': 'https://finnhub.io/api/news?id=a16e2511406c745e43e1cbd4a820454a72f67143b38c49df587d7f919b067ee8'}, {'category': 'company', 'datetime': 1756274568, 'headline': 'Trump Slaps India With 50% Tariffs, Upending Ties With Modi', 'id': 136536149, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The new tariffs, the highest in Asia, took effect at 12:01 a.m. in Washington on Wednesday, doubling the existing 25% duty on Indian exports. The levies will hit more than 55% of goods shipped to the US — India’s biggest market — and hurt labor-intensive industries like textiles and jewelry the most. Key exports like electronics and pharmaceuticals are exempt, sparing Apple Inc.’s massive new factory investments in India for now.', 'url': 'https://finnhub.io/api/news?id=fe4f2d299dc86ea71bb917b7cd3ca3260f0913917841a08a8b2e61130f156555'}, {'category': 'company', 'datetime': 1756267201, 'headline': 'The Chinese gadget maker taking on Tesla and Apple', 'id': 136536150, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'An electric vehicle factory built by China’s largest smartphone maker has become a tourist attraction in Beijing, with visits to the company...', 'url': 'https://finnhub.io/api/news?id=4cd753b8caeb83784586d510ce431255fbfe91882b4713b02fb81661cecef582'}, {'category': 'company', 'datetime': 1756266829, 'headline': 'Can Apple’s (AAPL) AI Partnerships Revive Investor Sentiment?', 'id': 136536151, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the top stocks to buy and hold forever. Apple Inc. (NASDAQ:AAPL) is often seen as a textbook example of how to build and strengthen a moat over time. Its brand strength, device and services ecosystem lock-in, and customer loyalty enable it to generate recurring revenues, maintain strong pricing power, and consistently […]', 'url': 'https://finnhub.io/api/news?id=3ebfed59c2e2e7119d0b4077fd406bb25fd5f0e2ef25dbf50f73bd57e334546f'}, {'category': 'company', 'datetime': 1756263240, 'headline': 'The Most Overvalued Of Mag7: Why Apple Gets My Sell', 'id': 136534658, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Apple is recognized as a leader, but execution lags. Click here to read more about AAPL stock and why it is rated as a Sell.', 'url': 'https://finnhub.io/api/news?id=1926506c568d5cc3875b9c40c9a3b211652036847eb5d504f84db226cf67ade7'}, {'category': 'company', 'datetime': 1756235481, 'headline': 'Alphabet Lands $10B Meta Cloud Deal--Is A Siri-Gemini Deal Close?', 'id': 136532253, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2210768067/image_2210768067.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Alphabet Inc.'s Google Cloud lands a $10B Meta deal, challenging AWS and Azure. Click for my updated look at GOOGL stock and why I remain bullish.\", 'url': 'https://finnhub.io/api/news?id=86e5017e035d7aea11fa1ea7fec5b5fb9004d28101950c42bee1a638795926d5'}, {'category': 'company', 'datetime': 1756231255, 'headline': \"Apple Promises 'Awe Dropping' Event Sept. 9\", 'id': 136529950, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple announced Tuesday that it will hold its fall product launch event on Sept. 9, likely headlined by the iPhone 17 series handsets.', 'url': 'https://finnhub.io/api/news?id=eb6ebae095d68639321c7bc616ac6707bbdf8b06f84f539109f00dbba2859e61'}, {'category': 'company', 'datetime': 1756228823, 'headline': 'OMAH: A Berkshire Hathaway Copycat With A 15% Distribution Yield', 'id': 136531630, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1030142522/image_1030142522.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"OMAH ETF seeks 15% annual yield via covered calls on Berkshire's holdings, ideal for income investors. Click here to read my most recent analysis of OMAH.\", 'url': 'https://finnhub.io/api/news?id=58990138d8fe8d477a6838738136d46cb3da707c449f5d2bca585ad94a3798e7'}, {'category': 'company', 'datetime': 1756228320, 'headline': \"Can Strong Content Portfolio Drive Apple's Streaming Prospects?\", 'id': 136529951, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple TV+ hits record Emmy nods and box office success as Services revenues jump double digits despite tough streaming competition.', 'url': 'https://finnhub.io/api/news?id=24b80129567e08f81469955913d3e7c594cf01f50aca4b2796eda55dc206bf7a'}, {'category': 'company', 'datetime': 1756228268, 'headline': \"Elon Musk's xAI sues Apple, OpenAI over AI competition and App Store rankings\", 'id': 136529952, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk's xAI filed a lawsuit against Apple and OpenAI in federal court, alleging the companies conspired to prevent competition in the market for artificial intelligence tools.\", 'url': 'https://finnhub.io/api/news?id=13d253c2491e234963d5e88a6cbbdf36bf22ffeebb0b00664a073e991643a738'}, {'category': 'company', 'datetime': 1756228243, 'headline': 'Apple product launch, Meta Super PAC, Trump & Cracker Barrel', 'id': 136529953, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Yahoo Finance's John Hyland tracks Tuesday's top moving stocks and biggest market stories in this Market Minute: Apple's (AAPL) upcoming fall product launch on Sept. 9, Meta (META) reportedly launching a Super PAC focused on artificial intelligence (AI), and President Trump weighing in on the new Cracker Barrel (CBRL) logo. Stay up to date on the latest market action, minute-by-minute, with Yahoo Finance's Market Minute.\", 'url': 'https://finnhub.io/api/news?id=35b93c4400f7b555a2910620d9bca12e0bd6cfaa86ba56d5de59646fba94d752'}, {'category': 'company', 'datetime': 1756226940, 'headline': 'Apple’s Annual Event Will Be Sept 9. What to Expect for the iPhone and AI.', 'id': 136529954, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple will host its annual product event on Sept. 9, the company said Tuesday. Investors and customers alike will be looking for announcements regarding the company’s next iPhone launch and artificial intelligence updates. The Apple event—almost always takes place in September—unveils what new products and updates the company will be launching in the weeks to follow.', 'url': 'https://finnhub.io/api/news?id=b5a5a400b786c4cc164f9ec881a2311d566332bdf548a2fc5818ef858d748573'}, {'category': 'company', 'datetime': 1756226127, 'headline': 'Not so fast: German court says Apple can’t call Watch carbon neutral', 'id': 136529955, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's carbon neutral claims are undermined by the short-term nature of carbon credits used to support them, the court said.\", 'url': 'https://finnhub.io/api/news?id=83f2575c7a3b3ada4263ced904f915e73685c92c56a4c9b377936566bd926fdc'}, {'category': 'company', 'datetime': 1756225200, 'headline': 'More Volatility Ahead In This AI Bull Market', 'id': 136531096, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1388937775/image_1388937775.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Gary Vaughan from Daily Stock PicksƂ\\xa0on buying the dip, crypto long-term and why bonds might now be a once in a lifetime buy.', 'url': 'https://finnhub.io/api/news?id=02e88f1c840a10605837aa875c0e48f3a5667a8415226907fb48b5338249b884'}, {'category': 'company', 'datetime': 1756224432, 'headline': 'Apple to hold fall event on September 9, new iPhones expected', 'id': 136529956, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The event will be held at the Steve Jobs Theater at Apple's headquarters in Cupertino, California and serve as a showcase of the company's efforts to integrate artificial intelligence into its devices. Media reports have said Apple will also unveil a slimmer version of its latest iPhone, possibly branded as the iPhone Air, echoing its iPad Air and MacBook Air lines. The company is also expected to showcase new entry-level, high-end Apple Watches, upgraded iPad Pros and a faster version of the Vision Pro headset, Bloomberg News has reported recently.\", 'url': 'https://finnhub.io/api/news?id=2f9081e1f78dab4b8fd7ca3a839bced221a1007faee91a43904a3dc0b3927604'}, {'category': 'company', 'datetime': 1756224300, 'headline': 'Apple is holding its iPhone 17 event on September 9', 'id': 136529957, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Along with the iPhones, Apple will likely have updated the Apple Watch Series 11, Ultra 3, and SE 3. The Apple Watch Ultra 3 would be a notable update amid the trio, with a bigger screen and faster charging support.', 'url': 'https://finnhub.io/api/news?id=798c01eeaa99f2a20a2b540332738653ac0ab5e56bb56102f362eb33fba1f0b2'}, {'category': 'company', 'datetime': 1756222621, 'headline': \"GM's $1 billion bet on F1 rolls on with star driver pairing for Cadillac team\", 'id': 136526543, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'GM’s Cadillac F1 team unveiled its driver pairing for the 2026 season, when the Big Three automaker’s big bet on F1 begins.', 'url': 'https://finnhub.io/api/news?id=d5dadf0c2d424b03eb856d6fd5771083fd61b82952d49619bf7ac66d82ee49d5'}, {'category': 'company', 'datetime': 1756221211, 'headline': 'Attorneys general tell AI companies to protect kids', 'id': 136529944, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Attorneys general in a letter highlighted Meta's scandal over its recent AI chatbot policies allowing romantic conversations with minors\", 'url': 'https://finnhub.io/api/news?id=c80eac904cb211ce08b917cdbdb49c14b6e9716c160c11c91f1134b00dd02cf7'}, {'category': 'company', 'datetime': 1756220400, 'headline': '2 High-Conviction Picks For 7.73% Growth And 4.22% Yield Within A Dividend Portfolio', 'id': 136529227, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2188450078/image_2188450078.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Through DPSTF and META, we increased Dividend Income Accelerator Portfolio's sector diversification and global exposure. Learn more about the portfolio here.\", 'url': 'https://finnhub.io/api/news?id=3452d5cd9b4cf8d4251a0ea48074df10fe22dad78a44764ff71b7843f2de36f2'}, {'category': 'company', 'datetime': 1756219920, 'headline': 'Apple has an AI problem — and a Google partnership could actually make things worse', 'id': 136541516, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Apple has an AI problem — and a Google partnership could actually make things worse', 'url': 'https://finnhub.io/api/news?id=872986dd4f00566feaa310ee2fa0ab6a465476060222213ade9a930c4715aea1'}, {'category': 'company', 'datetime': 1756219440, 'headline': 'The Zacks Analyst Blog Highlights Alphabet, Apple and Garmin', 'id': 136529960, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Alphabet expands its Pixel lineup with new smartphones, watches, and earbuds, but faces fierce competition from Apple's AI push and Garmin's health-focused wearables.\", 'url': 'https://finnhub.io/api/news?id=93db37c7152895bb7d2a2f3d8de26eb915baea8ac2eea26dc76b571b118beb92'}, {'category': 'company', 'datetime': 1756218652, 'headline': 'Trump vs. Lisa Cook and what it really means for the stock market: Opening Bid top takeaway', 'id': 136525458, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The battle is well underway.', 'url': 'https://finnhub.io/api/news?id=6db1fb4523672e793b334b0953a0e3e17809d60f1522dc0a42d6ec9943d2cf40'}, {'category': 'company', 'datetime': 1756218587, 'headline': \"'Sexualized' AI Chatbots Pose Threat to Kids, Warn Attorneys General in Letter\", 'id': 136529961, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A coalition of 44 state attorneys general have written to 13 AI firms demanding they protect children from sexually suggestive chatbot content.', 'url': 'https://finnhub.io/api/news?id=beae4eff89cbbac582eebe5b2a564df1ab0402115fab0f6ec44b4adcd3948cb6'}, {'category': 'company', 'datetime': 1756217611, 'headline': 'Apple internally discussed buying Mistral, Perplexity, the Information reports', 'id': 136529962, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple has trailed rivals such as Alphabet's Google and Samsung in terms of roll-out of AI features in its devices. CEO Tim Cook signaled last month that Apple was open to larger AI-related acquisitions to accelerate its roadmap, a shift from its historically conservative M&A posture. Perplexity, which is backed by Nvidia and Amazon founder Jeff Bezos, said it is unaware of any merger conversations including the company, aside from its own acquisitions.\", 'url': 'https://finnhub.io/api/news?id=9238d3913f4ea061860ef4435dc0e5662ad535c650c489b04e155b56238db7e5'}, {'category': 'company', 'datetime': 1756217332, 'headline': \"Apple To Invest $2.5 Billion For This Company's Glass, Making Its Shares Jump\", 'id': 136525500, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This fiber-optics stock is in a buy zone after a positive earnings report. Shares are up 40% so far this year.', 'url': 'https://finnhub.io/api/news?id=ff60a2ae2dd68824095f1deab9962e8de096976d954b3edb4561105d00e430c6'}, {'category': 'company', 'datetime': 1756216626, 'headline': 'Only 19 Companies Have More Money Than Elon Musk — Which Are Worth Investing In?', 'id': 136525463, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These 19 companies top Elon Musk in wealth. See which ones could be solid picks for your investment portfolio.', 'url': 'https://finnhub.io/api/news?id=4905c4e94e17d8585183949d95e9c37c7ddbc86c60581365e44ab2c72bd56384'}, {'category': 'company', 'datetime': 1756216248, 'headline': 'Trump vows retaliation against countries with digital rules targeting US tech', 'id': 136525502, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Trump administration has long held the EU’s tech regulations in contempt.', 'url': 'https://finnhub.io/api/news?id=486e26a45bbbc11a274fd4612cdc325097aa3e314abca130893d90e6cf31b151'}, {'category': 'company', 'datetime': 1756206060, 'headline': 'Apple’s August Stock Revival Gives Hope to Concerned Investors', 'id': 136524134, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Shares of the tech giant entered August down 17% for the year due in part to concerns about the impact of President Donald Trump’s sweeping levies, which cost the company $800 million in its fiscal third quarter alone. The US president has long criticized Apple for its reliance on overseas production partners, at one point even threatening to punish the company with tariffs if it didn’t make its iPhones in the US. Then, at an event in the Oval Office on Aug. 6, Apple Chief Executive Officer Tim Cook committed to spending an additional $100 billion on manufacturing in the US.', 'url': 'https://finnhub.io/api/news?id=d4af929538b268228162d9bd3115adb945972a5278888c20ddcf0732ece89dc8'}, {'category': 'company', 'datetime': 1756215276, 'headline': \"Is the tide turning on the AI boom's myth of destiny?\", 'id': 136525465, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'For over a year, AI was gospel. Now, Wall Street, Silicon Valley, and regulators are asking the same question: What if it’s not?', 'url': 'https://finnhub.io/api/news?id=c93c2e83ece71b1b0d6f6ea8daae7246a98738e2c7aad1a53853d61b079ea23b'}, {'category': 'company', 'datetime': 1756215114, 'headline': 'Apple: Breakdown Of $600B Investment Commitment (Rating Downgrade)', 'id': 136527045, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1705316992/image_1705316992.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Apple's $600B US investment bolsters supply chain resilience, AI growth, and govt ties, minimizing risks.\", 'url': 'https://finnhub.io/api/news?id=001db74a945b3e627a70dce9199b32d4b815fdf4e9e58c7354aa60e4eb00f8ef'}, {'category': 'company', 'datetime': 1752586675, 'headline': 'S&P 500 stocks: List of additions and removals in 2025', 'id': 135946875, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These stocks have been added or removed from the S&P 500 this year.', 'url': 'https://finnhub.io/api/news?id=c82b8aa916b7627eff6a48b9619bcb02464992951170719c78e81c3c1e3cd758'}, {'category': 'company', 'datetime': 1756214040, 'headline': 'Trump Takes Aim at Digital Taxes. What It Means for Tech Stocks.', 'id': 136525506, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Digital taxes largely hit U.S. firms such as Google-parent Alphabet, retailer Amazon, and Facebook-parent Meta.', 'url': 'https://finnhub.io/api/news?id=75278f14b5dfe4ab92541fb57c79de69ac9768b17c951ff637fe0d3865c3e459'}, {'category': 'company', 'datetime': 1756213680, 'headline': 'Atomic Data Expands Leadership Team', 'id': 136525507, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Additions Will Accelerate Growth Across Three Operating CompaniesMINNEAPOLIS, Aug. 26, 2025 (GLOBE NEWSWIRE) -- Atomic Data, a leading IT services provider and technology teammate, has announced two key leadership appointments that reinforce its long-term strategic vision and strengthen its shared services operating model. Jay Bozicevich, a three-decade veteran of the financial services industry, will step into the dual roles of President of Atomic Data and Chief Operating Officer of Shared', 'url': 'https://finnhub.io/api/news?id=cf6f397f00502ab95b260e3bef757f58fa106e5105c39e77df9b8e0bd803d1ee'}, {'category': 'company', 'datetime': 1756213200, 'headline': 'Level Launches Level Lock Pro: The Ultimate Blend of Design, Performance, and Security', 'id': 136525508, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'REDWOOD CITY, Calif., August 26, 2025--Level, the company that redefined smart home today introduces Level Lock Pro, the ultimate in smart home performance, security and design. Level Lock Pro provides enhanced performance, security, and features such as door status detection to show when a door is left open, all while retaining the same award-winning invisible design Level is known for. There has never before been a smart lock that packs so much technology in the footprint of a traditional dead', 'url': 'https://finnhub.io/api/news?id=ba6aaa945fdf72d7b0ff6ec45454b30944831abf27e68bd11de8db5b8c1fa58e'}, {'category': 'company', 'datetime': 1756212744, 'headline': 'Apple Loses German Case On Green Marketing Pledge', 'id': 136525509, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple Watch can't be advertised as CO?-neutral, court rules\", 'url': 'https://finnhub.io/api/news?id=2ce75c880408058d8a276d83753fe01903ac146b8c6b12ab0e798d1b2418f5b2'}, {'category': 'company', 'datetime': 1756212272, 'headline': 'EU Defends Digital Taxes After Trump Calls Them Unfair on US', 'id': 136525510, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'ā€œIt’s the sovereign right of the EU and its member states to regulate our economic activities on our territory that are consistent with our democratic values,ā€ European Commission Spokeswoman Paula Pinho told reporters Tuesday in Brussels. Without specifying any government, Trump threatened export restrictions on US advanced technology and semiconductors and higher tariffs in retaliation for nations’ digital services taxes that hit American companies.', 'url': 'https://finnhub.io/api/news?id=7de834c2295cd83ee6630cf06bc371f15816a768702ce246a190d1133a4baa23'}, {'category': 'company', 'datetime': 1756212208, 'headline': 'Latest News In Cloud AI - Aurasell Transforms CRM Landscape With AI-Native Platform Launch', 'id': 136525493, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Aurasell has launched as the world's first AI-native CRM platform, introducing a significant shift in the landscape of cloud-based business software. The platform integrates a comprehensive suite of tools into a single system, aiming to eliminate the inefficiencies and high costs associated with traditional, fragmented CRM and go-to-market (GTM) systems. By leveraging AI, Aurasell provides enhanced automation and data unification, which can streamline operations from prospecting to contract...\", 'url': 'https://finnhub.io/api/news?id=207ea8323e1b58d3848a4374d82364443f6b0455e6408f0507c116e10ddbf39c'}, {'category': 'company', 'datetime': 1756211520, 'headline': 'AI Powers AR: Spotselfie Debuts Real-World Ad Marketplace for Brands & Creators', 'id': 136525512, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'SpotselfieĀ®, the self-funded AR real-world social metaverse with 16 issued patents, is rolling out its next-generation platform. This AI-powered creator marketplace lets brands and independent creators place GPS-anchored brand experiences in the real world. Built for mobile AR and the next wave of XR smart glasses, it opens new income streams for creators and delivers brands unmatched local targeting.', 'url': 'https://finnhub.io/api/news?id=90be422c09d26a51591bdec839617db7929d82f81f97ba77a05df28e656398a3'}, {'category': 'company', 'datetime': 1756210560, 'headline': 'Boring Is Better Than Amazon, Apple, and Alphabet. These 3 Stocks Prove It.', 'id': 136525495, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Torsten SlĆøk, the chief economist at Apollo Global Management, says some big tech stocks are being outdone by what might be considered ho-hum names.', 'url': 'https://finnhub.io/api/news?id=91abe67ba7809fa434c3ca366e8a93ff76cea29a866a1272fd1007da924b21f8'}, {'category': 'company', 'datetime': 1756206900, 'headline': 'Tech, Media & Telecom Roundup: Market Talk', 'id': 136525514, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Find insight on Samsung SDI, Cambricon Technologies, Nvidia and more in the latest Market Talks covering technology, media and telecom.', 'url': 'https://finnhub.io/api/news?id=6f3c57dee3ef235b9c03327c1368efb31c146d3c0770094cd015d9072c9ee71b'}, {'category': 'company', 'datetime': 1756204680, 'headline': 'Exploring Trends Across Asset Classes, Mega-Caps, And Banks', 'id': 136525746, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1308271745/image_1308271745.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"Equities have stalled out in the last half of August as a buyer's strike ahead of the seasonally weak month of September takes hold. Click to read.\", 'url': 'https://finnhub.io/api/news?id=e261ed2b3678ac77557c1b354cdc074ed03a8137a6ce9fe9d83108f769ba1221'}, {'category': 'company', 'datetime': 1756204200, 'headline': 'Trump Fires Another Shot at the Fed. The Economy Could Be Collateral Damage.', 'id': 136525515, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trade deals are still in flux, Musk sues Apple, OpenAI, Intel’s deal with U.S. comes with a catch, and more news to start your day.', 'url': 'https://finnhub.io/api/news?id=feea0a87baf07a24584e4e8b8248a325a74996a515c6f040e4bcbf11919f7830'}, {'category': 'company', 'datetime': 1756202400, 'headline': 'Apple-Google Likely Tie-Up for Siri Revamp Puts These ETFs in Focus', 'id': 136523788, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple and Google's AI talks lift both stocks, putting ETFs like IYW, FTEC, FCOM and VOX, with heavy exposure to the tech giants, in focus.\", 'url': 'https://finnhub.io/api/news?id=94c168d3e743b209b245da5b32ecc7207d844937d4d278cf72a515e5a0057625'}, {'category': 'company', 'datetime': 1756202400, 'headline': 'Circular Economy Market to Soar from $149.86 Billion in 2024 to $355.44 Billion by 2032, Driven by ESG Adoption and Recycling Innovation | Report by DataM Intelligence', 'id': 136523787, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'According to research report published by DataM Intelligence, \"The Circular Economy Market Size valued US$149.86 billion in 2024, is projected to reach US$355.44 billion by 2032, expanding at a robust CAGR of 11.40% from 2025 to 2032.\" Global concerns over waste management and resource scarcity are significantly driving the circular economy market, as nations and industries face the dual challenge of rising waste volumes and depleting raw materials.', 'url': 'https://finnhub.io/api/news?id=7ae834401cec373cbbebc6770403f421198ff3a98febd8a0a916ffaf4027c8bb'}, {'category': 'company', 'datetime': 1756202329, 'headline': \"Apple Watch not a 'CO2-neutral product,' German court finds\", 'id': 136523789, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'BERLIN (Reuters) -Apple can no longer advertise its Apple Watch as a \"CO2-neutral product\" in Germany, following a court ruling on Tuesday that upheld a complaint from environmentalists, finding that the U.S. tech company had misled consumers. Apple had promoted the device online as \"our first CO2-neutral product,\" a claim found by a panel of judges to be unfounded and in violation of German competition law, according to a statement from a regional court in Frankfurt. An Apple spokesperson said the court ruling \"broadly upheld our rigorous approach to carbon neutrality\" and declined to comment on whether the company would appeal Tuesday\\'s ruling.', 'url': 'https://finnhub.io/api/news?id=6bba43b58fbaa3325141222ddf982d019366b4f7af671d3278bcea9d588d4ec3'}, {'category': 'company', 'datetime': 1756199205, 'headline': 'Elon Musk’s xAI files lawsuit against Apple and OpenAI', 'id': 136523790, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The lawsuit alleges Apple's ChatGPT integration sidelines rival apps such as xAI's Grok in App Store rankings.\", 'url': 'https://finnhub.io/api/news?id=d4ee4300cb2fbdea35e2495786189edac83b6f9f477ab491f5251d1a371f90e6'}, {'category': 'company', 'datetime': 1756198863, 'headline': \"Elon Musk Sues Apple, OpenAI Over iPhone AI 'Monopoly'\", 'id': 136523791, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The lawsuit claims Apple and OpenAI's exclusive iPhone AI deal locks out rivals from 80% of the chatbot market.\", 'url': 'https://finnhub.io/api/news?id=eb6c93280471945b15f63b8433082dc950ee64a93ed4fedc248ad5d566b1c58b'}, {'category': 'company', 'datetime': 1756198800, 'headline': 'Labour accused of abandoning UK tech in AI push', 'id': 136523771, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Labour has been accused of abandoning British tech firms despite Sir Keir Starmer’s pledge to transform the country into an artificial intelligence (AI) powerhouse.', 'url': 'https://finnhub.io/api/news?id=afa0535831fcd97266559a9d37f57a658c3075f6d66955f03b2c79cb1ff64bb0'}, {'category': 'company', 'datetime': 1756198015, 'headline': 'Trump threatens tariffs on nations imposing digital taxes on US tech', 'id': 136523778, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The president said the taxes against US firms ā€œgive a complete pass to China’s largest tech companiesā€.View on euronews', 'url': 'https://finnhub.io/api/news?id=b776efdb64af47c5fe1e927b709c73cbe5c9c0d14ced2ac5e16a21f1476bbb8e'}, {'category': 'company', 'datetime': 1756197600, 'headline': \"Prediction: 2 Stocks That'll Be Worth More Than Berkshire Hathaway 5 Years From Now\", 'id': 136523779, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These two megacap stocks have Berkshire Hathaway in their sights.', 'url': 'https://finnhub.io/api/news?id=f33417a3a5a437980a5180f2bf5f6287f63409452b581252b1955fcea7108cbc'}, {'category': 'company', 'datetime': 1756195620, 'headline': 'Wall Street Breakfast Podcast: Trump Fires Cook,\\xa0Threatens More Tariffs', 'id': 136524231, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1717444876/image_1717444876.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Trump fires Fed Governor Cook,Ƃ\\xa0threatens more tariffs, andƂ\\xa0Hassett on Fed chair nominee.', 'url': 'https://finnhub.io/api/news?id=dfb538777ae981067d19edc7864c752efabdf58a28713289109d61c75297a09b'}, {'category': 'company', 'datetime': 1756193878, 'headline': 'Heard on the Street Monday Recap: Trump’s New Deal', 'id': 136523795, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'President Trump said he wants to pursue more deals like the government’s equity investment in Intel. The U.S. converted funds previously allocated for manufacturing expansion into a 9.9% stake in the chip maker. The government also obtained a five-year warrant, under which it could receive an additional 5% if Intel spins out or sells off its manufacturing operations.', 'url': 'https://finnhub.io/api/news?id=31535f8995229bc9f0c38c870b6e861a6d0c18dd7d1ea1cab9a0c56060fb920e'}, {'category': 'company', 'datetime': 1756192028, 'headline': \"Elon Musk's xAI sues Apple, OpenAI over competition claims\", 'id': 136523796, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'STORY: Elon Musk’s xAI is suing Apple and OpenAI over claims they conspired to thwart rivals on artificial intelligence.The suit was filed in a Texas court on Monday (August 26).It says the pair ā€œlocked up markets to maintain their monopoliesā€ after Apple integrated OpenAI’s ChatGPT into its products.The suit says the partnership led the iPhone maker to promote ChatGPT in its app store, while limiting prominence for Musk’s competing chatbot Grok.In a social media post, Musk said ā€œa million reviews with 4.9 average for Grok and still Apple refuses to mention Grok on any listsā€.Apple didn’t respond to a request for comment on the suit.While OpenAI said the case was consistent with what it called Musk’s ā€œongoing pattern of harassmentā€.Some legal experts said Apple’s dominant position in the smartphone market could bolster xAI’s allegation that it was suppressing competition.But Ohio State University law professor Amy Schmitz cast doubt on some of Musk’s claims:ā€œThe fact remains that Grok is in the app store and it has ranked highly in some months. In fact, one report I looked at had it ranked at, I think, number one on the App Store in February of 2025, which shows that there is competition, right?ā€Musk cofounded OpenAI with Sam Altman in 2015.Its ChatGPT bot would later become the fastest-growing consumer application in history.But the pair fell out, and Musk went on to found the rival xAI.In a separate case, he’s suing the ChatGPT maker over its plan to convert from a nonprofit to a for-profit entity.', 'url': 'https://finnhub.io/api/news?id=20e1a5980ae6bfeaa51588fb7adf04a8a77455ce6b836af5680092325a6affbf'}, {'category': 'company', 'datetime': 1756191720, 'headline': 'Prediction: This Unstoppable Stock Will Join Nvidia, Microsoft, and Apple in the $3 Trillion Club Before 2028', 'id': 136523782, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Multiple avenues for growth will help this tech stalwart ascend to new heights.', 'url': 'https://finnhub.io/api/news?id=0a902a286165aa31474fa39cd6d738bff751ff0a50ada011825d386ccd1e8ec8'}, {'category': 'company', 'datetime': 1756184435, 'headline': 'How to close the menopause pay gap', 'id': 136523798, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Women experience an average 10% reduction in earnings by the fourth year following a menopause diagnosis.', 'url': 'https://finnhub.io/api/news?id=4a9e22064b284c05ab6ed13378a663bd282d07b3a51b0d5867a7b0d0b20b906d'}, {'category': 'company', 'datetime': 1756181665, 'headline': 'Trump vows retaliation against countries proposing digital taxes or regulation on American tech giants', 'id': 136523799, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The President seeks to curb rules taking aim at U.S. tech conglomerates', 'url': 'https://finnhub.io/api/news?id=ce623059cb32952ee4c09957bbb8fecad99152bf240a69a20402253669f856ee'}, {'category': 'company', 'datetime': 1756180826, 'headline': 'The $5.5bn cup of coffee', 'id': 136523800, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'One thing to start: Elon Musk’s xAI has sued Apple and OpenAI alleging they broke antitrust rules by thwarting competition in artificial intelligence...', 'url': 'https://finnhub.io/api/news?id=b784bf1bbf51f2a7ae66430e9a9fe87f284667b812b7af3558f0ad86558cc92e'}, {'category': 'company', 'datetime': 1756171860, 'headline': 'PhingeĀ®, Home of NetverseĀ® and Netaverseā„¢ With Verified and Safer AI Announces \"Test the Waters\" Campaign for Potential Regulation A+ Offering', 'id': 136523801, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Phinge Corporation today announced its intention to gauge market interest for a potential Regulation A+ offering, referred to as \"testing the waters\" under SEC Rule 255.', 'url': 'https://finnhub.io/api/news?id=23effc0ec59ab92a7532012a0b3ec4f1493fc83f940cb4d7bdc783cc24d844ee'}, {'category': 'company', 'datetime': 1756168269, 'headline': \"Jeff Bezos Said He Would Have 'Felt Icky' Had He Taken Any More Shares Of Amazon: 'I Just Didn't Feel Good...'\", 'id': 136523802, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Jeff Bezos once revealed in an interview that he never needed more stock to stay motivated at Amazon.com and that asking for it would have felt \"icky.\" Jeff Bezos Was ā€˜Proud’ Of His Compensation Package At Amazon In a 2024 interview at The New York ...', 'url': 'https://finnhub.io/api/news?id=93c751516e3666864e8c2e9ae96f5d91f74e81629b54bd48d507cb0dc4368d85'}, {'category': 'company', 'datetime': 1756154463, 'headline': \"Elon Musk's xAI sues Apple and OpenAI over AI competition\", 'id': 136523803, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk\\'s xAI seeks billions in damages from Apple and OpenAI for allegedly ā€œperpetrating their anticompetitive scheme\"', 'url': 'https://finnhub.io/api/news?id=81d1ba51ee5956233684563e8c4b5b066a6bc8955c78796b911b419a6633806f'}, {'category': 'company', 'datetime': 1756153867, 'headline': 'Stock Market Today: Dow Drops, Apple Firm Despite Musk Threat; Cathie Wood Loads Up On This Stock (Live Coverage)', 'id': 136522222, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow fell as Nvidia shined on the stock market today. Apple held up despite an Elon Musk AI move. Cathie Wood bought a diving stock.', 'url': 'https://finnhub.io/api/news?id=741cc617526e6af9d4f9f3bc5a38ad75e609a0e15933233540034f15031a65bc'}, {'category': 'company', 'datetime': 1756153307, 'headline': \"Elon Musk's X & xAI sue Apple & Open AI: What happens next?\", 'id': 136522261, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"X (formerly Twitter) and xAI (XAAI.PVT), owned by Tesla (TSLA) CEO Elon Musk, are suing Apple (AAPL) and OpenAI (OPAI.PVT). Musk's companies allege that Apple and OpenAI's partnership is anti-competitive and that the government should intervene due to antitrust laws. Yahoo Finance Senior Legal Reporter Alexis Keenan outlines the details of the suit. To watch more expert insights and analysis on the latest market action, check out more Market Domination.\", 'url': 'https://finnhub.io/api/news?id=7da38784a0869068ff9d0cb848412665a7729714621f73e14ae7b1b5bc3e5f30'}, {'category': 'company', 'datetime': 1756153296, 'headline': 'Why Apple Stock Could Sell Off After iPhone 17 Reveal', 'id': 136522262, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple stock could sell off after the company announces its iPhone 17 series smartphones next month, a Wall Street analyst said Monday.', 'url': 'https://finnhub.io/api/news?id=33011ae688343f7c45f9f05da64def83f3063e2686e7fa2da5d99883b981b78c'}, {'category': 'company', 'datetime': 1756152841, 'headline': \"Apple's Biggest iPhone Overhaul in a Decade Could Redefine the Stock's Next Growth Cycle\", 'id': 136522263, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Three years, three redesigns, foldables, AI-powered Siri, and a $100B services pivot -- Apple's next chapter begins.\", 'url': 'https://finnhub.io/api/news?id=554f3fddfdd67d0566bf7df68d092df224df5b41f44680af01e3a839730d68e8'}, {'category': 'company', 'datetime': 1756151760, 'headline': 'Apple no longer innovates — it waits. And with AI, anyone playing it safe will get left behind.', 'id': 136541521, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Apple no longer innovates — it waits. And with AI, anyone playing it safe will get left behind.', 'url': 'https://finnhub.io/api/news?id=272058be85f6596bdceae844d391faf2a80d7f1e1321f59ab01ab25b65b1400a'}, {'category': 'company', 'datetime': 1756151544, 'headline': 'Sector Update: Tech Stocks Mixed in Late Afternoon Trading', 'id': 136522229, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tech stocks were mixed late Monday afternoon, with the Technology Select Sector SPDR Fund (XLK) frac', 'url': 'https://finnhub.io/api/news?id=2c0bfc5d0dd6af1cab926d1fd2505d8d19703009bdda35aef17ff2936d1bda65'}, {'category': 'company', 'datetime': 1756151528, 'headline': 'US Equity Indexes Mixed Amid Higher Treasury Yields, Dollar', 'id': 136522230, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'US equity indexes traded mixed heading into the close on Monday amid gains in both government bond y', 'url': 'https://finnhub.io/api/news?id=c702f097666c85b6e3990aac44ae65118eeb133cd08498eefa5f99174f46f849'}, {'category': 'company', 'datetime': 1756150843, 'headline': \"Inside Elon Musk's suit against Apple and OpenAI: 'This is a tale of two monopolists'\", 'id': 136522266, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk followed through on Monday with a warning to sue Apple and OpenAI over their agreement to integrate OpenAI’s chatbot into Apple’s operating systems and prioritize the chatbot in its app store.', 'url': 'https://finnhub.io/api/news?id=bbb6426526db4acbd3ad432e567665510f3ece060f0b6d8a4dd0f3a7036d3ace'}, {'category': 'company', 'datetime': 1756147860, 'headline': 'Elon Musk’s xAI Sues Apple and OpenAI, Alleging They Are Monopolists', 'id': 136522267, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Musk said the partnership between the two companies has given the ChatGPT-maker access to ā€œbillions of user prompts.ā€', 'url': 'https://finnhub.io/api/news?id=c10d9f0635e4eb3fe91f2c5c05a1507f6a9aaeaf682671a9f0d6f767c60f9271'}, {'category': 'company', 'datetime': 1756147440, 'headline': 'Musk Sues OpenAI and Apple Over AI Access in App Store', 'id': 136522268, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'xAI filed suit against OpenAI and Apple, alleging anticompetitive behavior, according to a report from CNBC.', 'url': 'https://finnhub.io/api/news?id=3e8876dd844b1ac11ecfa0256361a8de7798d4d2629948be49edfbeeced54463'}, {'category': 'company', 'datetime': 1756146753, 'headline': 'Musk sues Apple and ChatGPT maker for ā€˜conspiring’ against him', 'id': 136522269, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk has filed a lawsuit against Apple and ChatGPT maker OpenAI, accusing the companies of conspiring against his AI business.', 'url': 'https://finnhub.io/api/news?id=0dcf5c23d8b030b5e284a4fa60a5aabab4e2943880014f0b573c49c8fd96f2dc'}, {'category': 'company', 'datetime': 1756144729, 'headline': 'Elon Musk accuses Apple and OpenAI of stifling AI competition in antitrust lawsuit', 'id': 136522270, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk on Monday targeted Apple and OpenAI in an antitrust lawsuit alleging that the iPhone maker and the ChatGPT maker are teaming up to thwart competition in artificial intelligence. The 61-page complaint filed in Texas federal court follows through on a threat that Musk made two weeks ago when he accused Apple of unfairly favoring OpenAI and ChatGPT in the iPhone's app store rankings for top AI apps. Musk's post insinuated that Apple had rigged the system against ChatGPT competitors such as the Grok chatbot made by his own xAI.\", 'url': 'https://finnhub.io/api/news?id=d53b55c1be0e7744d4bab3e799f1456ecca1191cdbe747fccc03753864f98cb9'}, {'category': 'company', 'datetime': 1756143185, 'headline': 'Sector Update: Tech Stocks Mixed Monday Afternoon', 'id': 136522248, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Tech stocks were mixed Monday afternoon, with the Technology Select Sector SPDR Fund (XLK) adding 0.', 'url': 'https://finnhub.io/api/news?id=4f72b52f62dbadbf3a017217986ed454470b3ce6dff0f140a7d02c16d36e871d'}, {'category': 'company', 'datetime': 1756143125, 'headline': 'US Equity Indexes Mixed as Nvidia Helps Lift Nasdaq Composite', 'id': 136522249, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'US equity indexes traded mixed after midday Monday, with the Nasdaq Composite eking out a gain amid', 'url': 'https://finnhub.io/api/news?id=97583c089a3ab8dbbfc9195508c38b6a74ebc23e472c43727b756eaa05a0dcf2'}, {'category': 'company', 'datetime': 1756143038, 'headline': 'Elon Musk’s xAI sues Apple and OpenAI, alleging anticompetitive collusion', 'id': 136522273, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'According to Musk, Apple and OpenAI are colluding to stifle competition from other AI companies.', 'url': 'https://finnhub.io/api/news?id=516a56dece05e72da77f994ec08b1f901e8a1a28c2f28f9a0c0b9412c42a8d70'}, {'category': 'company', 'datetime': 1756142987, 'headline': 'Elon Musk Sues Apple, OpenAI', 'id': 136522274, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Bloomberg\\'s Mark Gurman details the latest on Apple as Elon Musk files a lawsuit against the tech giant and OpenAI, accusing them of unfairly favoring OpenAI on its smartphones. He joins Caroline Hyde on \"Bloomberg Tech.\"', 'url': 'https://finnhub.io/api/news?id=071349467edabf0c07f743af2407158405cc21bc874e0e86ce02f4acd35995be'}, {'category': 'company', 'datetime': 1756141964, 'headline': \"Elon Musk sues Apple & OpenAI, Roblox rises, Alphabet's new high\", 'id': 136522275, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Yahoo Finance's John Hyland tracks Monday's top moving stocks and biggest market stories in this Market Minute: Tesla (TSLA) CEO and xAI (XAAI.PVT) founder Elon Musk suing Apple (AAPL) and OpenAI (OPAI.PVT), Roblox (RBLX) stock rallying, and Alphabet (GOOG, GOOGL) stock hitting a new record. Stay up to date on the latest market action, minute-by-minute, with Yahoo Finance's Market Minute.\", 'url': 'https://finnhub.io/api/news?id=cd37f083513a4b43ce601efcf627712b2ba7c6ced97d0b6ce53bb151c3b93deb'}, {'category': 'company', 'datetime': 1756141742, 'headline': \"Musk's X, xAI Sue Apple, OpenAI for Alleged 'Anticompetitive Scheme'\", 'id': 136522276, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Elon Musk\\'s companies X and xAI on Monday sued Apple and OpenAI in federal court, alleging they have engaged in an \"anticompetitive scheme\" that prevents competitors like xAI\\'s Grok from competing fairly and ascending the App Store charts.', 'url': 'https://finnhub.io/api/news?id=9e539309f995339b843e01c6ce1eb901aea061bde6652385aacec2c901748116'}, {'category': 'company', 'datetime': 1756140046, 'headline': \"Apple iPhone 17 Launch Could Trigger 'Sell The News' Reaction, Analyst Warns\", 'id': 136522277, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple Inc. (NASDAQ:AAPL) is gearing up for its next iPhone cycle with a September launch expected to spotlight a new ultra-thin iPhone 17 Air, but muted consumer buzz and restrained carrier promotions suggest the release may lack the blockbuster momentum of past product cycles. Bank of America Securities analyst Wamsi Mohan maintained a Buy rating on Apple (NASDAQ:AAPL) with a price forecast of $250. Mohan said expectations for Apple's next iPhone cycle remain modest despite reports suggesting a\", 'url': 'https://finnhub.io/api/news?id=e4ab774ba6dcf3899d4162abc2facb5d717884b38aef2e050ccb0da3ad3ab090'}, {'category': 'company', 'datetime': 1756139126, 'headline': 'American Eagle downgraded, Puma soars, Musk sues Apple & OpenAI', 'id': 136509512, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Market Catalysts host Allie Canal dives into what's driving interest in some of Monday's trending tickers on Yahoo Finance's platform, including American Eagle Outfitters (AEO), Puma (PUM.DE), Apple (AAPL), and OpenAI (OPAI.PVT). To watch more expert insights and analysis on the latest market action, check out more Market Catalysts.\", 'url': 'https://finnhub.io/api/news?id=624249acd2ebf5c12f5827252807b7ecb625e9f3357bbf43d1947fb2b2a2669d'}, {'category': 'company', 'datetime': 1756137739, 'headline': \"Musk's xAI sues Apple, OpenAI alleging antitrust violations\", 'id': 136522279, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Elon Musk's companies xAI and X filed a sweeping US antitrust lawsuit Monday against Apple and OpenAI, alleging the tech giants formed an illegal partnership to stifle competition in artificial intelligence and smartphone markets.The plaintiffs claim Apple holds 65 percent of the US smartphone market, while OpenAI controls at least 80 percent of the generative AI chatbot market through ChatGPT.\\nApple and OpenAI announced their partnership in June 2024, making ChatGPT the exclusive AI assistant a\", 'url': 'https://finnhub.io/api/news?id=4995a61d78bd0b891e214d004f7d3c718694b4b41939294746f2667f1e98297d'}, {'category': 'company', 'datetime': 1756129771, 'headline': 'Stock Market Today: Dow Falls Ahead Of Nvidia Earnings, Inflation Data; Palantir Sells Off (Live Coverage)', 'id': 136507733, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones index falls Monday ahead of Nvidia earnings and key inflation data. Palantir stock drops.', 'url': 'https://finnhub.io/api/news?id=683641b210c1124848bd7d6581630691a3455bdce5b964676579ed0e2d8aa9bc'}, {'category': 'company', 'datetime': 1756127340, 'headline': 'Apple Plans Foldable, Curved-Glass iPhones: Report. What It Means for the Stock.', 'id': 136507777, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The shares are in a slump as investors wait to see how the company integrates artificial intelligence with its flagship product.', 'url': 'https://finnhub.io/api/news?id=928c434fc143e6e69f0e54225b9c755fc9080278e8da14fe7586966936d419b5'}, {'category': 'company', 'datetime': 1756121820, 'headline': 'What Is the Highest Apple Stock Has Ever Been?', 'id': 136507778, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's all-time high was reached in late 2024, and it is well below this level today.\", 'url': 'https://finnhub.io/api/news?id=9a00ef0f43eb87671050f652a9f1dd0f502d8732e636adc1a6e6f870b57c1713'}, {'category': 'company', 'datetime': 1755870060, 'headline': 'Suze Orman reveals her favorite stock right now and the investing mistake that shaped her strategy', 'id': 136487722, 'image': '', 'related': 'AAPL', 'source': 'MarketWatch', 'summary': 'Suze Orman reveals her favorite stock right now and the investing mistake that shaped her strategy', 'url': 'https://finnhub.io/api/news?id=03c9e876a9f29d950a1dfa70089118437b7e02856f9547f278c249c14c0797fb'}, {'category': 'company', 'datetime': 1756116566, 'headline': 'Could Apple’s (AAPL) Airline Move Reveal a New Approach to Audience Growth?', 'id': 136507780, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"In August 2025, United Airlines announced that full seasons of select Apple TV+ original series, including Severance and Ted Lasso, are now available for free on over 130,000 seatback screens and in the United app, significantly expanding the airline's inflight entertainment content. This partnership could boost awareness and trial of Apple TV+ among United travelers, broadening Apple’s services reach beyond traditional streaming audiences. We'll explore how Berkshire Hathaway’s sizable...\", 'url': 'https://finnhub.io/api/news?id=8d1ec568e2355141d78aad1cadc0dc78a7410789f281182fa35436398a4f81cf'}, {'category': 'company', 'datetime': 1756114020, 'headline': \"If You'd Invested $1,000 in SoFi Technologies (SOFI) Stock 3 Years Ago, Here's How Much You'd Have Today. (Spoiler: Wow.)\", 'id': 136507781, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Spoiler: You'd have a lot.\", 'url': 'https://finnhub.io/api/news?id=cc372f93fc694e46f10bb1bfac7534e774ec28014abef59053ca2fdc87cd1e9d'}, {'category': 'company', 'datetime': 1756111500, 'headline': 'IBM: The Retracement An Opportunity As IBM Has Transformed Its Business', 'id': 136507588, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1445810162/image_1445810162.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"IBM's focus on hybrid cloud, AI, and innovation boosts growth potential. Discover why its undervalued shares offer income & capital appreciation.\", 'url': 'https://finnhub.io/api/news?id=bd07496ca6f4bf66e1a45fb96943d6eda47f5938fe184effb5ca3bd4c30d1ad1'}, {'category': 'company', 'datetime': 1756109296, 'headline': 'BDJ: This Fund Provides Diversification Benefits Along With A High Yield (Rating Downgrade)', 'id': 136507375, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=638320c4013e8c18f47c802a7de2f3e0726a7af7dac1e8eae884dee0a4d4eeb2'}, {'category': 'company', 'datetime': 1756102306, 'headline': \"Apple: The Future Is Bright, But That Doesn't Mean To Buy\", 'id': 136507010, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2203575435/image_2203575435.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Apple shows robust growth and strong margins, driven by its services segment, but a high valuation tempers buy potential.', 'url': 'https://finnhub.io/api/news?id=31f874ee1dcdd39caf82979740b96b0578f9ab14109c20d15d7c1274b63c0b12'}, {'category': 'company', 'datetime': 1756088516, 'headline': 'ETV: Decent Price Right Now, But Not As Diversified As I Would Like', 'id': 136506262, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2153687482/image_2153687482.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': \"ETV's strategy relies on writing index options, but its heavy technology weighting reduces diversification. Read why ETV CEF is a Hold.\", 'url': 'https://finnhub.io/api/news?id=e609d8759451296d6349d17fdd99438fa94156eeb9a23a86f2d0e912ae4441a0'}, {'category': 'company', 'datetime': 1756083600, 'headline': 'Tech Rally Shows Signs of Losing Steam', 'id': 136507772, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Nvidia and other stocks in the Magnificent Seven have been buffeted recently by growing doubts about their valuations and the potential of artificial intelligence.', 'url': 'https://finnhub.io/api/news?id=0f8fa3e29ac4bd95c89354949c4161a2d35db2381f83831109a9b2f473e5024f'}, {'category': 'company', 'datetime': 1756077120, 'headline': 'Prediction: All \"Ten Titans\" Stocks Will Surpass $1 Trillion in Market Cap by 2030', 'id': 136507773, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Ten Titans already make up 38% of the S&P 500, but their share could grow if companies keep delivering on investor expectations.', 'url': 'https://finnhub.io/api/news?id=21506a32bd26bd2e8cb299d0693e1834738da72b97c33b4ccc8a045bbd406e21'}, {'category': 'company', 'datetime': 1756072815, 'headline': 'If you bought Bitcoin instead of every new iPhone, you’d have $250M', 'id': 136507784, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Bitcoin or iPhone, which investment would have paid more?', 'url': 'https://finnhub.io/api/news?id=2219010c26b8b851571c82f93c92505738ad14bc5c10403441a6544a640d2cd3'}, {'category': 'company', 'datetime': 1756066081, 'headline': 'Tracking Renaissance Technologies (RenTec) 13F Portfolio - Q2 2025 Update', 'id': 136504690, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=5af03a9d2830ba72b2e198c9657b545ae8d7d8941028d9d6e3cde20a2dffefca'}, {'category': 'company', 'datetime': 1756065569, 'headline': 'Netflix’s ā€˜KPop Demon Hunters’ is probably the biggest movie in theaters', 'id': 136507785, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"This is Netflix's first time winning the domestic box office.\", 'url': 'https://finnhub.io/api/news?id=390d947eadec7e91d89abc8db8b332bcd287771bd8582c26f09c9b33d5e1ad3a'}, {'category': 'company', 'datetime': 1756058400, 'headline': \"Prediction: These 2 Trillion-Dollar Artificial Intelligence (AI) Stocks Could Strike a Megadeal That Wall Street Isn't Ready For\", 'id': 136502572, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Most of the \"Magnificent Seven\" companies have built and scaled legitimate artificial intelligence (AI) platforms, but two outliers in big tech remain.', 'url': 'https://finnhub.io/api/news?id=4aa61de7969df2e537fcbf75911a5d0975ee96cf94d45ea916556d38a6a8a54d'}, {'category': 'company', 'datetime': 1756051200, 'headline': 'Chinese backer of UK tech takeover accused of military ties', 'id': 136502573, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'A Chinese tech giant funding the takeover of a British semiconductor company has been accused of links to the country’s military.', 'url': 'https://finnhub.io/api/news?id=3b55f1aa895d7b89e582f60248f0424a158bb4d34316de66b42018335c7ae2bc'}, {'category': 'company', 'datetime': 1756047600, 'headline': 'The \"Ten Titans\" Stocks Now Make Up 38% of the S&P 500. Here\\'s What It Means for Your Investment Portfolio', 'id': 136502531, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Massive growth stocks are driving the performance of the S&P 500, for better or for worse.', 'url': 'https://finnhub.io/api/news?id=0beed2ea303bafdbcdee6489b172454ab0df5c2c868733b172d80693a4b795d7'}, {'category': 'company', 'datetime': 1756041990, 'headline': 'The Best Ways To Use the Apple Stocks App To Build Your Best Portfolio', 'id': 136502575, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Discover how Apple’s built-in Stocks app can help investing beginners track funds, set alerts and grow their investing skills.', 'url': 'https://finnhub.io/api/news?id=5ca7e4d33ae50bc068d77ba9e3f590dcd3ec53763ff7a803fc9da8abb40fc20c'}, {'category': 'company', 'datetime': 1756034640, 'headline': \"Here's How Many Shares of Apple Stock You'd Need for $10,000 in Yearly Dividends\", 'id': 136502576, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This powerful consumer brand has found remarkable success because of its ongoing focus on innovation.', 'url': 'https://finnhub.io/api/news?id=b8be2c8adfc45a2581f853334d822802bab801a5392766dc7210bc22fd02c7a9'}, {'category': 'company', 'datetime': 1756033110, 'headline': 'Nvidia will deliver key earnings report this week', 'id': 136502538, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Check out the stocks that propelled last week's huge Dow rally.\", 'url': 'https://finnhub.io/api/news?id=7b86059d86ff84352acd6fae86a8258b87a44dd3f1d25102d65586b83cc7a8d5'}, {'category': 'company', 'datetime': 1756032600, 'headline': 'Why Is Warren Buffett Dumping Apple Stock Right Now?', 'id': 136502578, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Berkshire Hathaway has been rapidly reducing its Apple stock holdings. What's going on?\", 'url': 'https://finnhub.io/api/news?id=73ff48685f460de5f73fe6ecf015179bc929e73c78a4bed4aefadbf48985bb15'}, {'category': 'company', 'datetime': 1756028040, 'headline': 'Best Stock to Buy Right Now: Apple vs. Microsoft', 'id': 136502563, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Which of these roughly half-century-old companies presents a better investment opportunity?', 'url': 'https://finnhub.io/api/news?id=8a5e42a9d73e09b83190dc51513b368fd5f813da7aada8001706e41188f20fa0'}, {'category': 'company', 'datetime': 1756027390, 'headline': \"Ethereum's next upgrade: What you need to know\", 'id': 136502580, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Ethereum is gearing up for another major upgrade with the Fusaka hard fork, set for November 5', 'url': 'https://finnhub.io/api/news?id=b8308a5310cab511f1c7f66260442bcb62a56effedfb06262eb84d6b01983bd5'}, {'category': 'company', 'datetime': 1756022520, 'headline': 'ā€˜It’s almost tragic’: Bubble or not, the AI backlash is validating what one researcher and critic has been saying for years', 'id': 136502566, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Gary Marcus told Fortune that AI valuations remind him of Wile E Coyote. \"We are off the cliff.\"', 'url': 'https://finnhub.io/api/news?id=c02f68e789e6c621e714c92b71596e170bad8e3e5e606e8c3dc0c7c7d5e951be'}, {'category': 'company', 'datetime': 1756012944, 'headline': 'No Base iPhone in 2026 as Apple Bets Big on Foldable Launch', 'id': 136502582, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is among the best stocks to buy now according to AI. According to the report by South Korean outlet ETNews, Apple Inc. (NASDAQ:AAPL) will skip the launch schedule in 2026, breaking from its tradition by not releasing its base model. The reason is simple – it’s saving the spotlight for its first-ever […]', 'url': 'https://finnhub.io/api/news?id=808ae2d0c49ab9b03f5ff9655f9330c6676802665ea8750cf5937e302a0d3582'}, {'category': 'company', 'datetime': 1756012786, 'headline': 'Amazon AI Chip Executive Joins Arm to Build Complete Chips', 'id': 136502583, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Amazon.com, Inc. (NASDAQ:AMZN) is among the best stocks to buy now according to AI. On Monday, it was revealed that Arm Holdings has hired Rami Sinno, artificial intelligence chip director at Amazon.com, Inc. (NASDAQ:AMZN), in an effort to develop its own complete chips. Up to this point, Arm has not developed its own chips; rather, […]', 'url': 'https://finnhub.io/api/news?id=2c4675a4789aea76a1abe4ded69dab761cf657957e5b375d54245308b9a8cda2'}, {'category': 'company', 'datetime': 1756011644, 'headline': \"'We quit our jobs to launch a Ā£2.5m tequila cocktail business'\", 'id': 136502584, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Co-founders Alice Parmiter and Wynter Karo quit their corporate jobs to launch premium tequila cocktail brand Pimentae.', 'url': 'https://finnhub.io/api/news?id=6d5de702003b9d1be6bd2638afa73d0025eaf761609e9f36f47ef9ec5d753072'}, {'category': 'company', 'datetime': 1755988028, 'headline': '3 Reasons You Should Buy Apple Stock Ahead of a Major Product Launch', 'id': 136502585, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'When it comes to the rise and fall of Apple stock, there are a number of catalysts investors look out for, and one of them is product launches. Apple consistently moves the market with their new...', 'url': 'https://finnhub.io/api/news?id=94beb6b43d176186a159a51c9c3deeda2a003e3c97a587160b4d0c7c7b64b3cf'}, {'category': 'company', 'datetime': 1755967620, 'headline': 'Prediction: This Quantum Computing Stock Will Still Be Worth More Than Berkshire Hathaway, Palantir, and Tesla Combined in 2030', 'id': 136495839, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Quantum computing could become the next frontier of the artificial intelligence revolution.', 'url': 'https://finnhub.io/api/news?id=963004d4b5e80bab2c5fff729f22be257f34cf9ebb2bedd4c494b9da856a2d25'}, {'category': 'company', 'datetime': 1755964802, 'headline': 'Should You Buy Nvidia Stock Before August 27?', 'id': 136497749, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'While U.S.-China tensions continue, Nvidia remains the undisputed king of AI hardware.', 'url': 'https://finnhub.io/api/news?id=98f85b2449e45b2ff2677d9b64411d13507b8092f83be42f053ed7cdaabb7cb8'}, {'category': 'company', 'datetime': 1755958200, 'headline': 'Warren Buffett Is Selling Apple and Bank of America and Piling Into This Beaten Down Value Stock Instead', 'id': 136495877, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This stock looks like a classic \"bear greedy when others are fearful\" investment.', 'url': 'https://finnhub.io/api/news?id=aea4c08e323cb64a8b592182ebcbde4ebf32768cce3245433c496ead6e48207f'}, {'category': 'company', 'datetime': 1755957919, 'headline': 'This week in Trumponomics: A government hedge fund?', 'id': 136495842, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Trump wants to nationalize Intel and make other big companies do his bidding. Everybody fine with that?', 'url': 'https://finnhub.io/api/news?id=7197f4b7e60502eeab5cbd8a0a8f7b4c4e183277572e2ee0635531c7ecf46a26'}, {'category': 'company', 'datetime': 1755950400, 'headline': 'How Tech Is Tackling the New Age-Verification Rules', 'id': 136495879, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Selfies, government IDs and AI are all being used by companies in an effort to adhere to new laws and regulations aimed at protecting children.', 'url': 'https://finnhub.io/api/news?id=2ebcad4799efbcb2a4e34a0eec8c391bf65a92be17fe05d73e0f8b732927209d'}, {'category': 'company', 'datetime': 1755943669, 'headline': 'Foxconn’s Recall of More Chinese Staff Tests Apple’s India Push', 'id': 136495880, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The extraction of Chinese workers from the factory of Yuzhan Technology, a Foxconn component unit, in southern Tamil Nadu state is the second such move in a few months. Foxconn has started flying in Taiwanese engineers to replace staff leaving, people familiar with the matter said, asking not to be named as the information is private. Earlier this year, officials in Beijing verbally encouraged regulatory agencies and local governments to curb technology transfers and equipment exports to India and Southeast Asia in what is a potential attempt to prevent companies from shifting manufacturing elsewhere.', 'url': 'https://finnhub.io/api/news?id=ce0350a1cada1abfc2638e13fd6f5ce5d031693e9c391e8c7d25d188f75d151a'}, {'category': 'company', 'datetime': 1755943531, 'headline': 'Did Trump save Intel? Not really, analysts say.', 'id': 136495849, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'SAN FRANCISCO (Reuters) -U.S. President Donald Trump is injecting nearly $9 billion into Intel in exchange for a 9.9% equity stake. What Intel needs is external customers for its so-called cutting-edge 14A manufacturing process - a tough ask, at least in the short term. CEO Lip Bu Tan, who took the top job in March, warned last month that the company may have to quit the chip contracting business if it does not land any big clients.', 'url': 'https://finnhub.io/api/news?id=f9dc938c9ab927a7ae254533f06a600f1daf54df8050ee606becea6f1ec5df0b'}, {'category': 'company', 'datetime': 1755941400, 'headline': 'Warren Buffett Is Selling Apple Stock Again. Should You Follow His Lead?', 'id': 136495882, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Buffett hadn't sold Apple stock in nearly a year.\", 'url': 'https://finnhub.io/api/news?id=67a819077623f6d8344de845e6097c7d733def259f5a1be9305512e41bc53398'}, {'category': 'company', 'datetime': 1755936600, 'headline': \"Goodbye Growth? Here's What I'm Buying As Value Mounts A Comeback\", 'id': 136493917, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2193071535/image_2193071535.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'Recent underperformance in growth tech stocks reflects doubts about AI, while value-oriented dividend stocks have shown resilience and defensiveness. See more here.', 'url': 'https://finnhub.io/api/news?id=cd45534dafc843f5318537f56c7fad06e00d25a8e4c8fbf6789d1ab654d988d8'}, {'category': 'company', 'datetime': 1755935280, 'headline': 'Is Apple Stock Your Ticket to Becoming a Millionaire?', 'id': 136495883, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Shares of the tech giant have produced a total return of 68,660% in the past three decades.', 'url': 'https://finnhub.io/api/news?id=d2eec603ce17842f284932a4a3e5c03aff9daa6de5e5d86ddb6af845553352f9'}, {'category': 'company', 'datetime': 1755930600, 'headline': 'Brace for a Second China Shock. Advanced Manufacturing Is at Risk.', 'id': 136495884, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The U.S. could face a second version of the ā€œChina shockā€ that hollowed out parts of the U.S. manufacturing sector, according to Dan Wang, a veteran China technology analyst. The first China shock kept prices low for Americans and boosted corporate profitability. It also helped China transform into a more formidable rival, feeding the current frictions in the U.S.-China relationship.', 'url': 'https://finnhub.io/api/news?id=850292052d1c0a7a2f63dfb7d5c37273a14e9bc420558fbc9ca6bd344ab50a71'}, {'category': 'company', 'datetime': 1755925257, 'headline': 'The Guns N’ Roses-inspired company helping to make job search less soul-crushing', 'id': 136495885, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'As a fan of rock band Gun N’ Roses, JĆ©rĆ©my ClĆ©dat wanted to start his company with a name that resonated with the global job search market.', 'url': 'https://finnhub.io/api/news?id=01ebf524fba8ec60e739cfab45a16b7d5294a516e1158a9db36238ffab7015cd'}, {'category': 'company', 'datetime': 1755921418, 'headline': 'Apple (AAPL) off the Hook on Britain’s iPhone ā€˜Backdoor’ Push', 'id': 136495886, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple Inc. (NASDAQ:AAPL) is one of the best stocks to buy according to billionaire Ken Fisher. On August 19, U.S. Director of National Intelligence Tulsi Gabbard, confirmed that Britain has dropped its demand for the company to provide a backdoor to its encrypted devices. British authorities were pushing the iPhone maker to provide a backdoor […]', 'url': 'https://finnhub.io/api/news?id=a98cd2b33fc9c36638974f17b290dc1f9f9a5c17ae1a7662d24e54cd8f5f3662'}, {'category': 'company', 'datetime': 1755913206, 'headline': 'Bernstein Reiterates Market Perform on Alphabet (GOOGL) Amid AI Competition', 'id': 136495887, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Alphabet Inc. (NASDAQ:GOOGL) is one of the Must-Watch AI Stocks for Investors. On August 19, Bernstein SocGen Group analyst Mark Shmulik reiterated a Market Perform rating on the stock with a $185.00 price target. Drawing parallels between the current artificial intelligence landscape and the mobile platform wars of the early 2010s, the firm noted that they […]', 'url': 'https://finnhub.io/api/news?id=52e18599d510ed5d44cc4be72d8bce573a555e0a3d6b252b19a42c7a6cb4f948'}, {'category': 'company', 'datetime': 1755909000, 'headline': 'Prediction: This Unstoppable Stock Will Join Nvidia, Microsoft, and Apple in the $3 Trillion Club Before 2029', 'id': 136495867, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'This tech giant is firing on all cylinders.', 'url': 'https://finnhub.io/api/news?id=06994cc452da8b68a81d3fd95c7879eb25b2ad61afb29c7393e040155999f3e9'}, {'category': 'company', 'datetime': 1755901072, 'headline': 'Apple Explores Using Google Gemini AI to Power Siri', 'id': 136495889, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple is in early talks to use Google\\'s Gemini to power a revamped Siri, a potential step toward outsourcing more AI technology. Bloomberg\\'s Mark Gurman speaks with Vonnie Quinn and Caroline Hyde on \"The Close\" about Apple\\'s next moves.', 'url': 'https://finnhub.io/api/news?id=c363ca48e9308ec13ce2347c2fc1cd4819e52806ed374d2df3427bef570f13d1'}, {'category': 'company', 'datetime': 1755896497, 'headline': \"Dow Hits Record High as Powell's Dovish Tilt Fuels Stock Market Rally\", 'id': 136495871, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Wall Street's equity indexes rallied on Friday, with the Dow Jones Industrial Average hitting a reco\", 'url': 'https://finnhub.io/api/news?id=c45ffc6ab579368ee4943ead165a214976c8fd630c32c9e71cd71bd0eb4b2699'}, {'category': 'company', 'datetime': 1755895238, 'headline': 'Apple-Google Talks Heating Up Over Siri-Gemini IPhone Agreement?', 'id': 136495891, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Google stock rose Friday amid a report Apple and Alphabet are in talks over a Gemini-Siri iPhone deal as well as a Meta cloud computing pact.', 'url': 'https://finnhub.io/api/news?id=7bdfa9590bbf6abc5c8bae96c1af4c0d60442f4a5eec8f6169a0bb11714408eb'}, {'category': 'company', 'datetime': 1755894360, 'headline': 'Apple Looks at Using Gemini for AI, Report Says. Alphabet Stock Jumps.', 'id': 136495892, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Alphabet stock jumped to a record high Friday afternoon after a report said Apple is exploring using Google’s Gemini to run the highly anticipated Siri voice assistant. Bloomberg reported that the iPhone maker has approached Google to look into possibly building a custom artificial-intelligence model that would be the foundation of the long-awaited AI-powered Siri. Shares of Alphabet climbed 3.2% to $206.09.', 'url': 'https://finnhub.io/api/news?id=b7caed03521886a7c082609b0a414963bb97e1a8291cc7d3a2f6509f6ff7e550'}, {'category': 'company', 'datetime': 1755892834, 'headline': 'Apple gets ready for AI in the enterprise with new ChatGPT configuration options', 'id': 136495893, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple will let businesses configure ChatGPT enterprise access in the fall.', 'url': 'https://finnhub.io/api/news?id=ff16d935a7e5e70d4af11beac775853b8403fc5f2ca7ac8ae912094e619e5c7d'}, {'category': 'company', 'datetime': 1755892096, 'headline': 'Apple May Use Google AI to Power Revamped Siri', 'id': 136495894, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple is in early discussions about using Google Gemini to power a revamped version of its Siri voice assistant. The work is part of an effort to catch up in generative AI, a field where the company arrived late and then struggled to gain traction. Bloomberg's Denitsa Tsekova reports.\", 'url': 'https://finnhub.io/api/news?id=10cb0d9b54ab072a06079afacfbaa7e40b93ffdeeb1addc9744763603cd2ff39'}, {'category': 'company', 'datetime': 1755891483, 'headline': 'Ethereum, Gap, Apple: Trending tickers', 'id': 136495895, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Market Domination Host Josh Lipton and Prairie Operating Co. EVP of market strategy Lou Basenese discuss some of the day's top trending tickers, including Etherium (ETH-USD), Gap (GAP), and Apple (AAPL). To watch more expert insights and analysis on the latest market action, check out more Market Domination.\", 'url': 'https://finnhub.io/api/news?id=513c75a2bddffce5c5da870e661aadeafdcfe6e8b9e9f2fbf9f1cfd5ddec103b'}, {'category': 'company', 'datetime': 1755885259, 'headline': 'Apple reportedly wants Google’s Gemini to power new Siri', 'id': 136478817, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Investing.com -- Apple Inc (NASDAQ:AAPL). is said to be exploring the possibility of using Google’s Gemini model to power a revamped version of its Siri voice assistant, potentially outsourcing more of its artificial intelligence technology.', 'url': 'https://finnhub.io/api/news?id=139913ae884d4863c0bbcee60a33d4d4d9f1e1fbc699de4f12026bbdb69cd234'}, {'category': 'company', 'datetime': 1755885159, 'headline': 'MP Materials (MP) Surges 247% Over Last Quarter Amid Market Optimism', 'id': 136478818, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"MP Materials (MP) has showcased significant developments, including improved quarterly sales and a notable partnership with Apple to supply rare earth magnets. However, despite better sales figures, the company's ongoing losses reflect its challenging financial landscape. While the shares of MP surged 247% over the last quarter, the broader market also saw upward momentum, highlighted by optimism from potential interest rate cuts indicated by Fed Chair Powell. The news of strategic buyback...\", 'url': 'https://finnhub.io/api/news?id=c0a05d2b9539b4bcd299176f87094a644b42b9779339447aa52c38680f183729'}, {'category': 'company', 'datetime': 1755883746, 'headline': \"Stock Market Today: Dow Soars 900 Points As Fed's Powell Raises Rate-Cut Hopes; Nvidia Earnings Loom (Live Coverage)\", 'id': 136478797, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Dow Jones soared to an all-time Friday on increased hopes of a rate cut at the September Federal Reserve meeting.', 'url': 'https://finnhub.io/api/news?id=a805579fc4172735f665585fd7d8d2a3aee69a6e9ed896a0dacacba43613f053'}, {'category': 'company', 'datetime': 1755883350, 'headline': \"Apple in talks to use Google's Gemini AI to power revamped Siri, Bloomberg News reports\", 'id': 136478822, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Alphabet's shares were up 3.7% while Apple's stock was up 1.6%, both extending gains in afternoon trading following the report. Apple recently approached Alphabet's Google to develop a custom AI model to power a redesigned Siri next year, the report said. Apple remains weeks from deciding whether to stick with in-house Siri models or switch to an external partner, and it has not yet chosen a partner.\", 'url': 'https://finnhub.io/api/news?id=d3f01a1dc2bd8cd8fa3dca65439ad99cb28cdf8a1b5e063380b30e92c19949a6'}, {'category': 'company', 'datetime': 1755883164, 'headline': \"Apple's latest security update directly hits crypto users\", 'id': 136478824, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple urges users to immediately update their devices. Here is how it impacts crypto users.', 'url': 'https://finnhub.io/api/news?id=43dc0a0ae76e081ac38f1854ea4461d80362a55dfa7f6c726aafc7c5b3c1ef44'}, {'category': 'company', 'datetime': 1755883110, 'headline': 'Apple Explores Using Google Gemini AI to Power Revamped Siri', 'id': 136478826, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The iPhone maker recently approached Alphabet Inc.’s Google to explore building a custom AI model that would serve as the foundation of the new Siri next year, according to people familiar with he matter. Google has started training a model that could run on Apple’s servers, said the people, who asked not to be identified because the discussions are private. Earlier this year, Apple also explored partnerships with Anthropic PBC and OpenAI, weighing whether Claude or ChatGPT could serve as Siri’s new brain.', 'url': 'https://finnhub.io/api/news?id=5e934c677d156a05ca72ffc602338342dc5957ea7a3940b1c7f3c9f7cd140763'}, {'category': 'company', 'datetime': 1755883020, 'headline': 'Dell Technologies vs. Apple: Which PC Maker Stock is a Better Buy?', 'id': 136478827, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'DELL or AAPL, which PC maker is a better pick, given the strong demand for AI-powered devices amid rising tariffs?', 'url': 'https://finnhub.io/api/news?id=985c2070d00aa745e59ca55a11d5cf8f10bccddc7ea2a5b87f42435be096d554'}, {'category': 'company', 'datetime': 1755882000, 'headline': 'Y Combinator says Apple’s App Store has hindered startup growth', 'id': 136478829, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Y Combinator is asking the court to deny Apple’s appeal.', 'url': 'https://finnhub.io/api/news?id=5d2b4f1964b618a05375b8680527bf6bc517f240daa4d5075c2794a020440546'}, {'category': 'company', 'datetime': 1755881142, 'headline': 'Masimo files lawsuit against US border patrol amid Apple patent dispute', 'id': 136478830, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Masimo contests that US border patrol inaction over prohibiting the import of Apple Watch’s determined to include features that infringe on its light-based pulse oximetry technology is unlawful.', 'url': 'https://finnhub.io/api/news?id=a12e0b45d7d58437876740c7036ac6c966f4dc171bb3912cc877fe0001f2811c'}, {'category': 'company', 'datetime': 1755870090, 'headline': 'Stock Market Today: Dow Jones Index Rises Ahead Of Big Powell Speech; Nvidia Falls On AI Chip News (Live Coverage)', 'id': 136476309, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The Dow Jones index rose Friday ahead of Fed Chair Powell's speech. Nvidia stock fell on AI chip news, while Palantir also dropped.\", 'url': 'https://finnhub.io/api/news?id=e0f20dd04abda6bce17068f4b17e56a1a8dcc47f435d132d48fde56d027940e5'}, {'category': 'company', 'datetime': 1755872329, 'headline': 'Apple just indirectly boosted the value of its all-in-one subscription service', 'id': 136478832, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Apple hiked the price of Apple TV+ earlier this week, the third time it’s done so since 2019.', 'url': 'https://finnhub.io/api/news?id=472c9b6e27318765aa4454bee42e36228b952463214fa850d0eb8520c24ea1c0'}, {'category': 'company', 'datetime': 1755872220, 'headline': 'Meta Doubles Down on ā€˜Superintelligence’ Investment. It’s Good News for AI Stocks.', 'id': 136478814, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms is ā€œinvesting more and moreā€ into its artificial-intelligence efforts according to chief AI officer Alexandr Wang.', 'url': 'https://finnhub.io/api/news?id=574da7668862eeecb690af573b4e31a3d1517185457513bc7b9f6d0ea9108559'}, {'category': 'company', 'datetime': 1755871202, 'headline': 'How To Make An Iron Condor Fly With Options On Apple Stock', 'id': 136476454, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple has had some up-and-down price action, and it's a good bet it will go sideways. This could make for an iron condor setup.\", 'url': 'https://finnhub.io/api/news?id=7222792f96523088014e91d64f3462b712538e9071a0bb7ac00b2dfdb4c592a0'}, {'category': 'company', 'datetime': 1755871200, 'headline': 'Meet the Unstoppable Vanguard ETF With 55% Invested in \"Ten Titans\" Growth Stocks', 'id': 136476419, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The Vanguard S&P 500 Growth ETF has especially high weightings in select \"Ten Titans\" stocks.', 'url': 'https://finnhub.io/api/news?id=5ca186cfc0502126d6873ca3ceec89c7428c922342b104a6f94ff4b550759b22'}, {'category': 'company', 'datetime': 1755870571, 'headline': 'Meta Hires Another Apple AI Leader Amid Headcount Freeze, Report Says', 'id': 136476456, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms is reportedly hiring another senior AI executive from Apple for its Meta Superintelligence Labs, where it is moving to freeze headcount.', 'url': 'https://finnhub.io/api/news?id=03aa9b139c6a4ad64e005804e63597136c919603c45a2cd4352e19874da2e23e'}, {'category': 'company', 'datetime': 1755868678, 'headline': 'What If You’d Invested $500 in Apple Stock Instead of Buying the First iPhone?', 'id': 136476457, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The very first iPhone customers got plenty of use and enjoyment out of it, but they might have felt even better if they had invested that money in Apple stock.', 'url': 'https://finnhub.io/api/news?id=be031bbd19fc281a4c21acc193a683e5434e5f7d0d0e24e9ca71c8477134e368'}, {'category': 'company', 'datetime': 1755866651, 'headline': 'Latest News In Cloud AI - AI-Powered Security Boosts Cloud Protection in New Partnership', 'id': 136476439, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Radware and EPIC Cloud Company have entered into a Managed Security Service Provider (MSSP) agreement aimed at enhancing cloud application security through AI-powered solutions. This collaboration allows EPIC Cloud to integrate Radware’s advanced security services into their offerings, thereby bolstering protection for cloud-based applications and data. Radware’s service includes a comprehensive security platform featuring web application firewalls, bot management, API protection, and DDoS...', 'url': 'https://finnhub.io/api/news?id=314fd848df66c32f01bc147fc013d5799bff38e4d2c32d3c6a92d1dd11874575'}, {'category': 'company', 'datetime': 1755863178, 'headline': \"Mark Zuckerberg Halts AI Hiring After Million-Dollar Talent Poaching Sparks Investor Backlash Amid Meta's 'Superintelligence Efforts:' Report\", 'id': 136476459, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Meta Platforms Inc. (NASDAQ:META) has implemented a hiring freeze in its artificial intelligence division following months of aggressive recruitment that included nine-figure compensation packages. Hiring Moratorium Follows Talent War Spending The ...', 'url': 'https://finnhub.io/api/news?id=8392d7b0547d3be92c922c19b5b9bd2c19f89bd4d75b0cad5df90a38cb53c227'}, {'category': 'company', 'datetime': 1755863100, 'headline': 'Could Uber Become a Trillion-Dollar Company One Day?', 'id': 136476443, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Uber is quietly becoming one of the most powerful transport infrastructure companies.', 'url': 'https://finnhub.io/api/news?id=1a88598da212691416aa7304d8d80ba3f4a1799f409e0516ddd06f76997742b7'}, {'category': 'company', 'datetime': 1755861140, 'headline': 'Russia mandates pre-installation of MAX app', 'id': 136476461, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'The app is designed to integrate with various government services.', 'url': 'https://finnhub.io/api/news?id=ab881b4b983e5a4c86ee13cbc6b2dbcd43f3e5ebe97eabdce44243da948f2b89'}, {'category': 'company', 'datetime': 1755858809, 'headline': \"Broadcom's AI Push Gains Speed With Microsoft, Meta, And Apple Pouring Billions Into Data Infrastructure\", 'id': 136476321, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Broadcom Inc. (NASDAQ:AVGO) is riding the artificial intelligence boom as soaring Big Tech investments in data infrastructure fuel demand for its custom chips and networking solutions, propelling the stock to strong year-to-date gains even as the company faces regulatory challenges in Europe. The custom chipmaker has surged 25% year-to-date, outpacing the NASDAQ Composite’s 9% gain, as booming demand for its networking and Application-Specific Integrated Circuit (ASIC) businesses positions the c', 'url': 'https://finnhub.io/api/news?id=b4fc561e1ea668faf67baf1d647f0ee877585164271fb7c5eaa8eda827e5caa6'}, {'category': 'company', 'datetime': 1755857452, 'headline': 'Investors zero in on Nvidia results as US tech stocks waver', 'id': 136476450, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"NEW YORK (Reuters) -A wobble in U.S. technology shares has raised the stakes for Nvidia Corp's quarterly results on Wednesday, with earnings from the semiconductor giant posing a crucial test for the scorching AI trade. The benchmark S&P 500 has pulled back this week from record levels, dragged lower by a roughly 3% drop so far this week in the heavyweight tech sector after a huge run for the group. Fueled by its dominant artificial intelligence (AI) products, Nvidia's massive share price gains have buoyed both the tech sector and the overall market in recent years.\", 'url': 'https://finnhub.io/api/news?id=8e0bae9104c2d5c3445963999e6df31717d9966102ad20374b5d1646d468c1d4'}, {'category': 'company', 'datetime': 1755856544, 'headline': '6 Stocks That Turned $1,000 Initial Investments Into Millions by Mid-2025', 'id': 136476464, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'These 6 stocks turned modest $1K investments into millions by mid-2025. See which companies delivered massive returns.', 'url': 'https://finnhub.io/api/news?id=066447d8e4c79d6dc79a1f3d956f70e2f43f3a8d059cc46665f961522bf3648d'}, {'category': 'company', 'datetime': 1755853743, 'headline': 'Should CEO pay be capped? Readers have their say', 'id': 136476465, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Pay for CEOs at FTSE 100 firms has hit a record high for the third year in a row, raising questions about equity and fairness.', 'url': 'https://finnhub.io/api/news?id=171ce63d87c11410ef52b55c53490aeee7a4389be2ea324c1cfbfa50c06fc116'}, {'category': 'company', 'datetime': 1755852300, 'headline': 'Do Extreme Concentration And Bad Breadth Signify A Bubble?', 'id': 136475952, 'image': '', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': '', 'url': 'https://finnhub.io/api/news?id=7157f6bce8ab4cae4100f74e195d5e82876e640cbc5f8436d773bb24af2eee88'}, {'category': 'company', 'datetime': 1755850500, 'headline': 'BNY Mellon Equity Income Fund Q2 2025 Commentary', 'id': 136475862, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2158808037/image_2158808037.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'BNY Mellon Equity Income Fund returned -3.31% during the first quarter of 2025. Click here to read more.', 'url': 'https://finnhub.io/api/news?id=49d43786806274bdfd92a192f7ae853e14fd9144cdadf9898889b5496ea6be41'}, {'category': 'company', 'datetime': 1755850413, 'headline': 'FTSE 100 LIVE: Stocks eke out gains as traders await key Jackson Hole speech from Federal Reserve chair', 'id': 136476324, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'Traders look for comments that could help confirm expectations that a US interest rate cut is on the cards.', 'url': 'https://finnhub.io/api/news?id=86dfe633de7c66a75f0be7a6a3f1d3edf5360d215952aa1d0201f141758d78a4'}, {'category': 'company', 'datetime': 1755849060, 'headline': \"Billionaire Warren Buffett Sold 69% of Berkshire's Stake in Apple and Has Loaded Up on This Industry-Leading Stock for 4 Straight Quarters\", 'id': 136476467, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"The Oracle of Omaha is paring down his No. 1 holding, yet again, in favor of a company that's delivered a nearly 48,000% total return since it went public.\", 'url': 'https://finnhub.io/api/news?id=e8e188c0ad3059e6099a6e54429a1a0668c28439de8808827a8dced673eb4c33'}, {'category': 'company', 'datetime': 1755838802, 'headline': 'IBM head of research on how quantum computing will change businesses', 'id': 136476468, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"IBM's Alessandro Curioni says companies must act now to gain an edge from quantum computing.\", 'url': 'https://finnhub.io/api/news?id=2bc8ddfcbb9c7ee49ef066106ef1d70077e630f55f9e2c01828995feadef7955'}, {'category': 'company', 'datetime': 1755837281, 'headline': 'Apple makes move sure to frustrate loyal customers', 'id': 136476469, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Apple's services division is a huge moneymaker and the company is milking it for all it's worth.\", 'url': 'https://finnhub.io/api/news?id=9099051383c0d494301133812162f480bc17fa1987c0999552108ee8c98e5f96'}, {'category': 'company', 'datetime': 1755830400, 'headline': \"The Visible Alpha AI Monitor Update: What's Next For AI?\", 'id': 136474705, 'image': 'https://static.seekingalpha.com/cdn/s3/uploads/getty_images/2151904577/image_2151904577.jpg?io=getty-c-w1536', 'related': 'AAPL', 'source': 'SeekingAlpha', 'summary': 'The Visible Alpha AI Monitor aggregates publicly traded US technology companies, providing a comprehensive measure of the current state and projected growth of the core AI industry.', 'url': 'https://finnhub.io/api/news?id=6fefae13e9d9825b6cf0023b8e57db778fe619013fbe6242efa6e859633469e7'}, {'category': 'company', 'datetime': 1755826084, 'headline': 'Meta makes huge cloud computing deal with Google: source', 'id': 136476470, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': \"Meta has made a cloud computing deal with Google worth more than $10 billion over the course of six years, a source close to the transaction told AFP Thursday.Google parent Alphabet's cloud computing business was on pace to bring in $50 billion over the course of the year, the company said in a recent earnings report.\", 'url': 'https://finnhub.io/api/news?id=c16a5b49617a847ebffe2155701fc8c66b73d16b6238a4e45affc5c246c2d67f'}, {'category': 'company', 'datetime': 1755820705, 'headline': 'Trump administration is not eyeing equity in TSMC, Micron, official says', 'id': 136476471, 'image': 'https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png', 'related': 'AAPL', 'source': 'Yahoo', 'summary': 'WASHINGTON (Reuters) -The Trump administration is considering taking equity stakes in companies getting funds from the 2022 CHIPS Act but has no similar plans for bigger firms boosting U.S. investments, such as TSMC and Micron, a White House official told Reuters. The official confirmed a Wall Street Journal report that the administration does not intend to seek equity stakes in semiconductor companies, such as Micron and TSMC, that plan to step up investment.', 'url': 'https://finnhub.io/api/news?id=d551c06b88c15bfad192c4d46a69b45d12c9af5300867d14d6d4d269e122b1e9'}]\n", - "2025-08-29 02:30:06,375 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:30:39,933 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-29 02:30:39,939 [INFO] Executing tool: get_market_news with args: {'category': 'forex'}\n", - "2025-08-29 02:30:39,941 [INFO] Tool get_market_news called for category 'forex'\n", - "2025-08-29 02:30:40,166 [INFO] Tool get_market_news [{'category': 'forex', 'datetime': 1756412432, 'headline': \"Trump official announces 'transitory' taxes for the next six months\", 'id': 7510362, 'image': 'https://images.investinglive.com/images/Tariff%20Trump_id_6a2dc517-dc8d-4e19-84db-f22c99095372_size975.jpg', 'related': '', 'source': 'Forexlive', 'summary': \"

Senior Trump administration official:

  • Package shipments to U.S. to face flat duties of $80–$200 for six months before shifting to specific duty rates

This is in relation to Trump's removal of the 'de minimis' exemption on buying low value products from overseas. US consumers will now be taxed a minimum of $80, and up to $200, for ordering such items from offshore now.

More now, senior Trump administration official:

  • CBP has collected over $492 million in additional duties on packages from China and Hong Kong since de minimis exemption was ended for them
  • Engaged with foreign partners to ensure there is minimal disruption to shipments
  • Britain, Canada, Ukraine have said there will be no interruption in mail coming to U.S
  • There will not be any exceptions to the end of the de minimis exemption.
\\n This article was written by Eamonn Sheridan at investinglive.com.\", 'url': 'https://investinglive.com/news/trump-official-announces-transitory-taxes-for-the-next-six-months-20250828/'}]\n", - "2025-08-29 02:30:56,552 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" + "2025-08-30 15:06:03,572 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:07,415 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'content': 'apple stock earnings?'}\n", + "\n", + "2025-08-30 15:06:07,971 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:07,979 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:06:08,580 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:08,782 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'AAPL', '_from': '2025-07-30', 'to': '2025-08-30'}\n", + "2025-08-30 15:06:08,785 [INFO] Tool get_earnings_calendar called for AAPL from 2025-07-30 to 2025-08-30\n", + "2025-08-30 15:06:10,398 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:16,366 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", + "{'role': 'user', 'content': 'nvidia q1 earnings'}\n", + "\n", + "2025-08-30 15:06:17,205 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:17,221 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:06:17,775 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:18,023 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-05-01', 'to': '2025-08-30'}\n", + "2025-08-30 15:06:18,026 [INFO] Tool get_earnings_calendar called for NVDA from 2025-05-01 to 2025-08-30\n", + "2025-08-30 15:06:18,842 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:28,656 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", + "{'role': 'user', 'content': 'q1 2025'}\n", + "\n", + "2025-08-30 15:06:29,790 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:29,805 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-01-01', 'to': '2025-03-31'}\n", + "2025-08-30 15:06:29,807 [INFO] Tool get_earnings_calendar called for NVDA from 2025-01-01 to 2025-03-31\n", + "2025-08-30 15:06:29,808 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:06:30,404 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:38,997 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", + "{'role': 'user', 'content': 'microsoft?'}\n", + "\n", + "2025-08-30 15:06:40,071 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:40,327 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:06:40,328 [INFO] Executing tool: get_company_financials with args: {'symbol': 'MSFT'}\n", + "2025-08-30 15:06:40,330 [INFO] Tool get_company_financials called for MSFT\n", + "2025-08-30 15:06:41,437 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'MSFT', '_from': '2025-08-01', 'to': '2025-08-29'}\n", + "2025-08-30 15:06:41,439 [INFO] Tool get_earnings_calendar called for MSFT from 2025-08-01 to 2025-08-29\n", + "2025-08-30 15:06:42,284 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:47,742 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'microsoft?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft (MSFT) key financials: \\n- Market Cap: $3.79 trillion \\n- P/E Ratio (TTM): 37.23 \\n- EPS (TTM): $13.64 \\n- Dividend Yield: 0.65% \\n- 52-Week Range: $344.79 – $555.45 \\n\\nNo Q1 2025 or recent earnings releases found within August 2025. Would you like info on a different date or other details?', 'options': None}\n", + "{'role': 'user', 'content': 'latest earnings'}\n", + "\n", + "2025-08-30 15:06:48,343 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:48,368 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:06:48,985 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:49,242 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'MSFT', '_from': '2025-07-30', 'to': '2025-08-30'}\n", + "2025-08-30 15:06:49,243 [INFO] Tool get_earnings_calendar called for MSFT from 2025-07-30 to 2025-08-30\n", + "2025-08-30 15:06:49,956 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:06:59,770 [INFO] \n", + "Messages:\n", + "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'microsoft?', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft (MSFT) key financials: \\n- Market Cap: $3.79 trillion \\n- P/E Ratio (TTM): 37.23 \\n- EPS (TTM): $13.64 \\n- Dividend Yield: 0.65% \\n- 52-Week Range: $344.79 – $555.45 \\n\\nNo Q1 2025 or recent earnings releases found within August 2025. Would you like info on a different date or other details?', 'options': None}\n", + "{'role': 'user', 'metadata': None, 'content': 'latest earnings', 'options': None}\n", + "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft has not reported any earnings releases in the last month up to August 30, 2025. Would you like me to check a different date range or provide recent earnings for another company?', 'options': None}\n", + "{'role': 'user', 'content': 'nvidia'}\n", + "\n", + "2025-08-30 15:07:00,871 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:07:00,901 [INFO] Executing tool: get_current_time with args: {}\n", + "2025-08-30 15:07:01,680 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:07:01,944 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-07-30', 'to': '2025-08-30'}\n", + "2025-08-30 15:07:01,947 [INFO] Tool get_earnings_calendar called for NVDA from 2025-07-30 to 2025-08-30\n", + "2025-08-30 15:07:02,980 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" ] } ], "source": [ - "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company profiles and market news!\").launch(debug=True)" + "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company financials and market news!\").launch()" ] }, { "cell_type": "code", "execution_count": null, - "id": "ef238ae3-353f-462f-a7f7-2378cc482edb", + "id": "5c014d6f-820d-4d58-8527-7d703aad3399", "metadata": {}, "outputs": [], "source": [] @@ -810,525 +1102,10 @@ { "cell_type": "code", "execution_count": null, - "id": "09d7f664-7252-4fa0-b817-10dbda83e3f1", + "id": "40c77d61-3e90-4708-b360-fb58b4211e9b", "metadata": {}, "outputs": [], "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cd3c913-c486-4d33-8f3d-c110e127fe66", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "473e5b39-da8f-4db1-83ae-dbaca2e9531e", - "metadata": {}, - "source": [ - "# Let's go multi-modal!!\n", - "\n", - "We can use DALL-E-3, the image generation model behind GPT-4o, to make us some images\n", - "\n", - "Let's put this in a function called artist.\n", - "\n", - "### Price alert: each time I generate an image it costs about 4 cents - don't go crazy with images!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c27c4ba-8ed5-492f-add1-02ce9c81d34c", - "metadata": {}, - "outputs": [], - "source": [ - "# Some imports for handling images\n", - "\n", - "import base64\n", - "from io import BytesIO\n", - "from PIL import Image" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "773a9f11-557e-43c9-ad50-56cbec3a0f8f", - "metadata": {}, - "outputs": [], - "source": [ - "def artist(city):\n", - " image_response = openai.images.generate(\n", - " model=\"dall-e-3\",\n", - " prompt=f\"An image representing a vacation in {city}, showing tourist spots and everything unique about {city}, in a vibrant pop-art style\",\n", - " size=\"1024x1024\",\n", - " n=1,\n", - " response_format=\"b64_json\",\n", - " )\n", - " image_base64 = image_response.data[0].b64_json\n", - " image_data = base64.b64decode(image_base64)\n", - " return Image.open(BytesIO(image_data))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d877c453-e7fb-482a-88aa-1a03f976b9e9", - "metadata": {}, - "outputs": [], - "source": [ - "image = artist(\"New York City\")\n", - "display(image)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "728a12c5-adc3-415d-bb05-82beb73b079b", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "f4975b87-19e9-4ade-a232-9b809ec75c9a", - "metadata": {}, - "source": [ - "## Audio (NOTE - Audio is optional for this course - feel free to skip Audio if it causes trouble!)\n", - "\n", - "And let's make a function talker that uses OpenAI's speech model to generate Audio\n", - "\n", - "### Troubleshooting Audio issues\n", - "\n", - "If you have any problems running this code below (like a FileNotFound error, or a warning of a missing package), you may need to install FFmpeg, a very popular audio utility.\n", - "\n", - "**For PC Users**\n", - "\n", - "Detailed instructions are [here](https://chatgpt.com/share/6724efee-6b0c-8012-ac5e-72e2e3885905) and summary instructions:\n", - "\n", - "1. Download FFmpeg from the official website: https://ffmpeg.org/download.html\n", - "\n", - "2. Extract the downloaded files to a location on your computer (e.g., `C:\\ffmpeg`)\n", - "\n", - "3. Add the FFmpeg bin folder to your system PATH:\n", - "- Right-click on 'This PC' or 'My Computer' and select 'Properties'\n", - "- Click on 'Advanced system settings'\n", - "- Click on 'Environment Variables'\n", - "- Under 'System variables', find and edit 'Path'\n", - "- Add a new entry with the path to your FFmpeg bin folder (e.g., `C:\\ffmpeg\\bin`)\n", - "- Restart your command prompt, and within Jupyter Lab do Kernel -> Restart kernel, to pick up the changes\n", - "\n", - "4. Open a new command prompt and run this to make sure it's installed OK\n", - "`ffmpeg -version`\n", - "\n", - "**For Mac Users**\n", - "\n", - "1. Install homebrew if you don't have it already by running this in a Terminal window and following any instructions: \n", - "`/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"`\n", - "\n", - "2. Then install FFmpeg with `brew install ffmpeg`\n", - "\n", - "3. Verify your installation with `ffmpeg -version` and if everything is good, within Jupyter Lab do Kernel -> Restart kernel to pick up the changes\n", - "\n", - "Message me or email me at ed@edwarddonner.com with any problems!" - ] - }, - { - "cell_type": "markdown", - "id": "4cc90e80-c96e-4dd4-b9d6-386fe2b7e797", - "metadata": {}, - "source": [ - "## To check you now have ffmpeg and can access it here\n", - "\n", - "Excecute the next cell to see if you get a version number. (Putting an exclamation mark before something in Jupyter Lab tells it to run it as a terminal command rather than python code).\n", - "\n", - "If this doesn't work, you may need to actually save and close down your Jupyter lab, and start it again from a new Terminal window (Mac) or Anaconda prompt (PC), remembering to activate the llms environment. This ensures you pick up ffmpeg.\n", - "\n", - "And if that doesn't work, please contact me!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b3be0fb-1d34-4693-ab6f-dbff190afcd7", - "metadata": {}, - "outputs": [], - "source": [ - "!ffmpeg -version\n", - "!ffprobe -version\n", - "!ffplay -version" - ] - }, - { - "cell_type": "markdown", - "id": "d91d3f8f-e505-4e3c-a87c-9e42ed823db6", - "metadata": {}, - "source": [ - "# For Mac users - and possibly many PC users too\n", - "\n", - "This version should work fine for you. It might work for Windows users too, but you might get a Permissions error writing to a temp file. If so, see the next section!\n", - "\n", - "As always, if you have problems, please contact me! (You could also comment out the audio talker() in the later code if you're less interested in audio generation)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ffbfe93b-5e86-4e68-ba71-b301cd5230db", - "metadata": {}, - "outputs": [], - "source": [ - "from pydub import AudioSegment\n", - "from pydub.playback import play\n", - "\n", - "def talker(message):\n", - " response = openai.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\", # Also, try replacing onyx with alloy\n", - " input=message\n", - " )\n", - " \n", - " audio_stream = BytesIO(response.content)\n", - " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", - " play(audio)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b88d775d-d357-4292-a1ad-5dc5ed567281", - "metadata": {}, - "outputs": [], - "source": [ - "talker(\"Well, hi there\")" - ] - }, - { - "cell_type": "markdown", - "id": "ad89a9bd-bb1e-4bbb-a49a-83af5f500c24", - "metadata": {}, - "source": [ - "# For Windows users (or any Mac users with problems above)\n", - "\n", - "## First try the Mac version above, but if you get a permissions error writing to a temp file, then this code should work instead.\n", - "\n", - "A collaboration between students Mark M. and Patrick H. and Claude got this resolved!\n", - "\n", - "Below are 4 variations - hopefully one of them will work on your PC. If not, message me please!\n", - "\n", - "And for Mac people - all 3 of the below work on my Mac too - please try these if the Mac version gave you problems.\n", - "\n", - "## PC Variation 1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d104b96a-02ca-4159-82fe-88e0452aa479", - "metadata": {}, - "outputs": [], - "source": [ - "import base64\n", - "from io import BytesIO\n", - "from PIL import Image\n", - "from IPython.display import Audio, display\n", - "\n", - "def talker(message):\n", - " response = openai.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\",\n", - " input=message)\n", - "\n", - " audio_stream = BytesIO(response.content)\n", - " output_filename = \"output_audio.mp3\"\n", - " with open(output_filename, \"wb\") as f:\n", - " f.write(audio_stream.read())\n", - "\n", - " # Play the generated audio\n", - " display(Audio(output_filename, autoplay=True))\n", - "\n", - "talker(\"Well, hi there\")" - ] - }, - { - "cell_type": "markdown", - "id": "3a5d11f4-bbd3-43a1-904d-f684eb5f3e3a", - "metadata": {}, - "source": [ - "## PC Variation 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d59c8ebd-79c5-498a-bdf2-3a1c50d91aa0", - "metadata": {}, - "outputs": [], - "source": [ - "import tempfile\n", - "import subprocess\n", - "from io import BytesIO\n", - "from pydub import AudioSegment\n", - "import time\n", - "\n", - "def play_audio(audio_segment):\n", - " temp_dir = tempfile.gettempdir()\n", - " temp_path = os.path.join(temp_dir, \"temp_audio.wav\")\n", - " try:\n", - " audio_segment.export(temp_path, format=\"wav\")\n", - " time.sleep(3) # Student Dominic found that this was needed. You could also try commenting out to see if not needed on your PC\n", - " subprocess.call([\n", - " \"ffplay\",\n", - " \"-nodisp\",\n", - " \"-autoexit\",\n", - " \"-hide_banner\",\n", - " temp_path\n", - " ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n", - " finally:\n", - " try:\n", - " os.remove(temp_path)\n", - " except Exception:\n", - " pass\n", - " \n", - "def talker(message):\n", - " response = openai.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\", # Also, try replacing onyx with alloy\n", - " input=message\n", - " )\n", - " audio_stream = BytesIO(response.content)\n", - " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", - " play_audio(audio)\n", - "\n", - "talker(\"Well hi there\")" - ] - }, - { - "cell_type": "markdown", - "id": "96f90e35-f71e-468e-afea-07b98f74dbcf", - "metadata": {}, - "source": [ - "## PC Variation 3" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8597c7f8-7b50-44ad-9b31-db12375cd57b", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "from pydub import AudioSegment\n", - "from pydub.playback import play\n", - "from io import BytesIO\n", - "\n", - "def talker(message):\n", - " # Set a custom directory for temporary files on Windows\n", - " custom_temp_dir = os.path.expanduser(\"~/Documents/temp_audio\")\n", - " os.environ['TEMP'] = custom_temp_dir # You can also use 'TMP' if necessary\n", - " \n", - " # Create the folder if it doesn't exist\n", - " if not os.path.exists(custom_temp_dir):\n", - " os.makedirs(custom_temp_dir)\n", - " \n", - " response = openai.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\", # Also, try replacing onyx with alloy\n", - " input=message\n", - " )\n", - " \n", - " audio_stream = BytesIO(response.content)\n", - " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", - "\n", - " play(audio)\n", - "\n", - "talker(\"Well hi there\")" - ] - }, - { - "cell_type": "markdown", - "id": "e821224c-b069-4f9b-9535-c15fdb0e411c", - "metadata": {}, - "source": [ - "## PC Variation 4\n", - "\n", - "### Let's try a completely different sound library\n", - "\n", - "First run the next cell to install a new library, then try the cell below it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69d3c0d9-afcc-49e3-b829-9c9869d8b472", - "metadata": {}, - "outputs": [], - "source": [ - "!pip install simpleaudio" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "28f9cc99-36b7-4554-b3f4-f2012f614a13", - "metadata": {}, - "outputs": [], - "source": [ - "from pydub import AudioSegment\n", - "from io import BytesIO\n", - "import tempfile\n", - "import os\n", - "import simpleaudio as sa\n", - "\n", - "def talker(message):\n", - " response = openai.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\", # Also, try replacing onyx with alloy\n", - " input=message\n", - " )\n", - " \n", - " audio_stream = BytesIO(response.content)\n", - " audio = AudioSegment.from_file(audio_stream, format=\"mp3\")\n", - "\n", - " # Create a temporary file in a folder where you have write permissions\n", - " with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=False, dir=os.path.expanduser(\"~/Documents\")) as temp_audio_file:\n", - " temp_file_name = temp_audio_file.name\n", - " audio.export(temp_file_name, format=\"wav\")\n", - " \n", - " # Load and play audio using simpleaudio\n", - " wave_obj = sa.WaveObject.from_wave_file(temp_file_name)\n", - " play_obj = wave_obj.play()\n", - " play_obj.wait_done() # Wait for playback to finish\n", - "\n", - " # Clean up the temporary file afterward\n", - " os.remove(temp_file_name)\n", - " \n", - "talker(\"Well hi there\")" - ] - }, - { - "cell_type": "markdown", - "id": "7986176b-cd04-495f-a47f-e057b0e462ed", - "metadata": {}, - "source": [ - "## PC Users - if none of those 4 variations worked!\n", - "\n", - "Please get in touch with me. I'm sorry this is causing problems! We'll figure it out.\n", - "\n", - "Alternatively: playing audio from your PC isn't super-critical for this course, and you can feel free to focus on image generation and skip audio for now, or come back to it later." - ] - }, - { - "cell_type": "markdown", - "id": "1d48876d-c4fa-46a8-a04f-f9fadf61fb0d", - "metadata": {}, - "source": [ - "# Our Agent Framework\n", - "\n", - "The term 'Agentic AI' and Agentization is an umbrella term that refers to a number of techniques, such as:\n", - "\n", - "1. Breaking a complex problem into smaller steps, with multiple LLMs carrying out specialized tasks\n", - "2. The ability for LLMs to use Tools to give them additional capabilities\n", - "3. The 'Agent Environment' which allows Agents to collaborate\n", - "4. An LLM can act as the Planner, dividing bigger tasks into smaller ones for the specialists\n", - "5. The concept of an Agent having autonomy / agency, beyond just responding to a prompt - such as Memory\n", - "\n", - "We're showing 1 and 2 here, and to a lesser extent 3 and 5. In week 8 we will do the lot!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ba820c95-02f5-499e-8f3c-8727ee0a6c0c", - "metadata": {}, - "outputs": [], - "source": [ - "def chat(history):\n", - " messages = [{\"role\": \"system\", \"content\": system_message}] + history\n", - " response = openai.chat.completions.create(model=MODEL, messages=messages, tools=tools)\n", - " image = None\n", - " \n", - " if response.choices[0].finish_reason==\"tool_calls\":\n", - " message = response.choices[0].message\n", - " response, city = handle_tool_call(message)\n", - " messages.append(message)\n", - " messages.append(response)\n", - " image = artist(city)\n", - " response = openai.chat.completions.create(model=MODEL, messages=messages)\n", - " \n", - " reply = response.choices[0].message.content\n", - " history += [{\"role\":\"assistant\", \"content\":reply}]\n", - "\n", - " # Comment out or delete the next line if you'd rather skip Audio for now..\n", - " talker(reply)\n", - " \n", - " return history, image" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f38d0d27-33bf-4992-a2e5-5dbed973cde7", - "metadata": {}, - "outputs": [], - "source": [ - "# More involved Gradio code as we're not using the preset Chat interface!\n", - "# Passing in inbrowser=True in the last line will cause a Gradio window to pop up immediately.\n", - "\n", - "with gr.Blocks() as ui:\n", - " with gr.Row():\n", - " chatbot = gr.Chatbot(height=500, type=\"messages\")\n", - " image_output = gr.Image(height=500)\n", - " with gr.Row():\n", - " entry = gr.Textbox(label=\"Chat with our AI Assistant:\")\n", - " with gr.Row():\n", - " clear = gr.Button(\"Clear\")\n", - "\n", - " def do_entry(message, history):\n", - " history += [{\"role\":\"user\", \"content\":message}]\n", - " return \"\", history\n", - "\n", - " entry.submit(do_entry, inputs=[entry, chatbot], outputs=[entry, chatbot]).then(\n", - " chat, inputs=chatbot, outputs=[chatbot, image_output]\n", - " )\n", - " clear.click(lambda: None, inputs=None, outputs=chatbot, queue=False)\n", - "\n", - "ui.launch(inbrowser=True)" - ] - }, - { - "cell_type": "markdown", - "id": "226643d2-73e4-4252-935d-86b8019e278a", - "metadata": {}, - "source": [ - "# Exercises and Business Applications\n", - "\n", - "Add in more tools - perhaps to simulate actually booking a flight. A student has done this and provided their example in the community contributions folder.\n", - "\n", - "Next: take this and apply it to your business. Make a multi-modal AI assistant with tools that could carry out an activity for your work. A customer support assistant? New employee onboarding assistant? So many possibilities! Also, see the week2 end of week Exercise in the separate Notebook." - ] - }, - { - "cell_type": "markdown", - "id": "7e795560-1867-42db-a256-a23b844e6fbe", - "metadata": {}, - "source": [ - "\n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " \n", - " \n", - "

I have a special request for you

\n", - " \n", - " My editor tells me that it makes a HUGE difference when students rate this course on Udemy - it's one of the main ways that Udemy decides whether to show it to others. If you're able to take a minute to rate this, I'd be so very grateful! And regardless - always please reach out to me at ed@edwarddonner.com if I can help at any point.\n", - " \n", - "
" - ] } ], "metadata": { From 9c02e92d45b254a8b603ccad68fc451961d1caac Mon Sep 17 00:00:00 2001 From: Kartik Date: Sat, 30 Aug 2025 15:22:04 +0530 Subject: [PATCH 142/176] move to community folder --- .../day5_stock-assistant-with-tools.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename week2/{stock-api-day5.ipynb => community-contributions/day5_stock-assistant-with-tools.ipynb} (100%) diff --git a/week2/stock-api-day5.ipynb b/week2/community-contributions/day5_stock-assistant-with-tools.ipynb similarity index 100% rename from week2/stock-api-day5.ipynb rename to week2/community-contributions/day5_stock-assistant-with-tools.ipynb From 2fb9f44664a7c4eb848cd07445f726fff53e52fc Mon Sep 17 00:00:00 2001 From: Kartik Date: Sat, 30 Aug 2025 15:45:59 +0530 Subject: [PATCH 143/176] clear outputs --- .../day5_stock-assistant-with-tools.ipynb | 186 ++++++------------ 1 file changed, 64 insertions(+), 122 deletions(-) diff --git a/week2/community-contributions/day5_stock-assistant-with-tools.ipynb b/week2/community-contributions/day5_stock-assistant-with-tools.ipynb index 8848482..f0acfd3 100644 --- a/week2/community-contributions/day5_stock-assistant-with-tools.ipynb +++ b/week2/community-contributions/day5_stock-assistant-with-tools.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 1, "id": "b7bd1bd7-19d9-4c4b-bc4b-9bc9cca8bd0f", "metadata": {}, "outputs": [ @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 2, "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", "metadata": {}, "outputs": [], @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 3, "id": "ba0ddc1a-c775-4ed3-9531-ed0c5799e87f", "metadata": {}, "outputs": [ @@ -60,7 +60,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-30 15:05:58,159 [INFO] Logger initialized!\n" + "2025-08-30 15:23:48,810 [INFO] Logger initialized!\n" ] } ], @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 4, "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", "metadata": {}, "outputs": [ @@ -88,8 +88,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-30 15:05:58,164 [INFO] OpenAI API Key exists and begins sk-proj-\n", - "2025-08-30 15:05:58,164 [INFO] FINNHUB_API_KEY exists!\n" + "2025-08-30 15:23:48,813 [INFO] OpenAI API Key exists and begins sk-proj-\n", + "2025-08-30 15:23:48,814 [INFO] FINNHUB_API_KEY exists!\n" ] } ], @@ -118,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 5, "id": "ee3aaa9a-5495-42fd-a382-803fbfa92eaf", "metadata": {}, "outputs": [], @@ -204,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": 6, "id": "fdf1a2b0-07be-47a0-9ce3-14d21b48c8f2", "metadata": {}, "outputs": [], @@ -226,7 +226,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 7, "id": "12d912fc-91fb-469e-9572-2876a099f5aa", "metadata": {}, "outputs": [], @@ -245,7 +245,7 @@ }, { "cell_type": "code", - "execution_count": 177, + "execution_count": 8, "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", "metadata": {}, "outputs": [], @@ -287,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 9, "id": "173010e3-dfef-4611-8b68-d11256bd5fba", "metadata": {}, "outputs": [], @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 10, "id": "448bb4ce-8e86-4ceb-ab52-96bddfd33337", "metadata": {}, "outputs": [], @@ -409,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 180, + "execution_count": 11, "id": "9df7b74e-fec8-4e75-92a9-31acc75e6e97", "metadata": {}, "outputs": [], @@ -437,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": 181, + "execution_count": 12, "id": "cfeeb200-3f30-4855-82b9-cc8b2a950f80", "metadata": {}, "outputs": [], @@ -483,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 182, + "execution_count": 13, "id": "3724d92a-4515-4267-af6f-2c1ec2b6ed36", "metadata": {}, "outputs": [], @@ -508,7 +508,7 @@ }, { "cell_type": "code", - "execution_count": 183, + "execution_count": 14, "id": "62f5d477-6626-428f-b8eb-d763e736ef5b", "metadata": {}, "outputs": [], @@ -573,7 +573,7 @@ }, { "cell_type": "code", - "execution_count": 184, + "execution_count": 15, "id": "5150ecb6-e3f1-46dc-94fa-2a9abe5165f6", "metadata": {}, "outputs": [], @@ -610,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": 185, + "execution_count": 16, "id": "26dd7375-626f-4235-b4a2-f1926f62cc5e", "metadata": {}, "outputs": [], @@ -657,7 +657,7 @@ }, { "cell_type": "code", - "execution_count": 186, + "execution_count": 17, "id": "5bd1aa28-119c-4c7a-bdc0-161a582ab1cc", "metadata": {}, "outputs": [], @@ -682,7 +682,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 18, "id": "fbe8ef6c-2d88-43a2-94dc-70b507fe9cd2", "metadata": {}, "outputs": [], @@ -761,7 +761,7 @@ }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 19, "id": "9eaeae75-d68f-4160-a26e-c13e40cf756b", "metadata": {}, "outputs": [], @@ -797,7 +797,7 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 20, "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", "metadata": {}, "outputs": [], @@ -831,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 21, "id": "86f76f57-76c4-4dc7-94a8-cfe7816a39f1", "metadata": {}, "outputs": [], @@ -861,7 +861,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 22, "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", "metadata": {}, "outputs": [], @@ -949,7 +949,7 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": 23, "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", "metadata": {}, "outputs": [ @@ -957,22 +957,45 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-30 15:06:02,319 [INFO] HTTP Request: GET http://127.0.0.1:7871/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:02,322 [INFO] HTTP Request: HEAD http://127.0.0.1:7871/ \"HTTP/1.1 200 OK\"\n" + "2025-08-30 15:23:51,219 [INFO] HTTP Request: GET http://127.0.0.1:7860/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:23:51,226 [INFO] HTTP Request: HEAD http://127.0.0.1:7860/ \"HTTP/1.1 200 OK\"\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "* Running on local URL: http://127.0.0.1:7871\n", - "* To create a public link, set `share=True` in `launch()`.\n" + "* Running on local URL: http://127.0.0.1:7860\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-30 15:23:52,534 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:23:52,536 [INFO] HTTP Request: GET https://api.gradio.app/v3/tunnel-request \"HTTP/1.1 200 OK\"\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on public URL: https://8532ed0b314508005c.gradio.live\n", + "\n", + "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-08-30 15:23:56,230 [INFO] HTTP Request: HEAD https://8532ed0b314508005c.gradio.live \"HTTP/1.1 200 OK\"\n" ] }, { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ "" @@ -985,7 +1008,7 @@ "data": { "text/plain": [] }, - "execution_count": 192, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, @@ -993,102 +1016,21 @@ "name": "stderr", "output_type": "stream", "text": [ - "2025-08-30 15:06:03,572 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:07,415 [INFO] \n", + "2025-08-30 15:26:10,184 [INFO] \n", "Messages:\n", - "{'role': 'user', 'content': 'apple stock earnings?'}\n", + "{'role': 'user', 'content': 'Tell me the performance of eli lilly'}\n", "\n", - "2025-08-30 15:06:07,971 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:07,979 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:06:08,580 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:08,782 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'AAPL', '_from': '2025-07-30', 'to': '2025-08-30'}\n", - "2025-08-30 15:06:08,785 [INFO] Tool get_earnings_calendar called for AAPL from 2025-07-30 to 2025-08-30\n", - "2025-08-30 15:06:10,398 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:16,366 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", - "{'role': 'user', 'content': 'nvidia q1 earnings'}\n", - "\n", - "2025-08-30 15:06:17,205 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:17,221 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:06:17,775 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:18,023 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-05-01', 'to': '2025-08-30'}\n", - "2025-08-30 15:06:18,026 [INFO] Tool get_earnings_calendar called for NVDA from 2025-05-01 to 2025-08-30\n", - "2025-08-30 15:06:18,842 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:28,656 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", - "{'role': 'user', 'content': 'q1 2025'}\n", - "\n", - "2025-08-30 15:06:29,790 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:29,805 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-01-01', 'to': '2025-03-31'}\n", - "2025-08-30 15:06:29,807 [INFO] Tool get_earnings_calendar called for NVDA from 2025-01-01 to 2025-03-31\n", - "2025-08-30 15:06:29,808 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:06:30,404 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:38,997 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", - "{'role': 'user', 'content': 'microsoft?'}\n", - "\n", - "2025-08-30 15:06:40,071 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:40,327 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:06:40,328 [INFO] Executing tool: get_company_financials with args: {'symbol': 'MSFT'}\n", - "2025-08-30 15:06:40,330 [INFO] Tool get_company_financials called for MSFT\n", - "2025-08-30 15:06:41,437 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'MSFT', '_from': '2025-08-01', 'to': '2025-08-29'}\n", - "2025-08-30 15:06:41,439 [INFO] Tool get_earnings_calendar called for MSFT from 2025-08-01 to 2025-08-29\n", - "2025-08-30 15:06:42,284 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:47,742 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'microsoft?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft (MSFT) key financials: \\n- Market Cap: $3.79 trillion \\n- P/E Ratio (TTM): 37.23 \\n- EPS (TTM): $13.64 \\n- Dividend Yield: 0.65% \\n- 52-Week Range: $344.79 – $555.45 \\n\\nNo Q1 2025 or recent earnings releases found within August 2025. Would you like info on a different date or other details?', 'options': None}\n", - "{'role': 'user', 'content': 'latest earnings'}\n", - "\n", - "2025-08-30 15:06:48,343 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:48,368 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:06:48,985 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:49,242 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'MSFT', '_from': '2025-07-30', 'to': '2025-08-30'}\n", - "2025-08-30 15:06:49,243 [INFO] Tool get_earnings_calendar called for MSFT from 2025-07-30 to 2025-08-30\n", - "2025-08-30 15:06:49,956 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:06:59,770 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'metadata': None, 'content': 'apple stock earnings?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Apple (AAPL) reported its Q3 2025 earnings on July 31, 2025, after market close. \\n- Actual EPS: $1.57 (estimate was $1.46) \\n- Actual Revenue: $94.04 billion (estimate was about $91.3 billion)', 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'nvidia q1 earnings', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"NVIDIA's most recent earnings were for Q2 2026, reported on August 27, 2025: \\n- EPS: $1.05 (estimate was about $1.03) \\n- Revenue: $46.7 billion (estimate was about $46.98 billion) \\n\\nQ1 2026 earnings data is not in the recent range. Would you like details for a different quarter or time frame?\", 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'q1 2025', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': \"I cannot retrieve NVIDIA's Q1 2025 earnings because the data must be from within the last month. I can help with more recent earnings or other stock info if you want.\", 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'microsoft?', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft (MSFT) key financials: \\n- Market Cap: $3.79 trillion \\n- P/E Ratio (TTM): 37.23 \\n- EPS (TTM): $13.64 \\n- Dividend Yield: 0.65% \\n- 52-Week Range: $344.79 – $555.45 \\n\\nNo Q1 2025 or recent earnings releases found within August 2025. Would you like info on a different date or other details?', 'options': None}\n", - "{'role': 'user', 'metadata': None, 'content': 'latest earnings', 'options': None}\n", - "{'role': 'assistant', 'metadata': None, 'content': 'Microsoft has not reported any earnings releases in the last month up to August 30, 2025. Would you like me to check a different date range or provide recent earnings for another company?', 'options': None}\n", - "{'role': 'user', 'content': 'nvidia'}\n", - "\n", - "2025-08-30 15:07:00,871 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:07:00,901 [INFO] Executing tool: get_current_time with args: {}\n", - "2025-08-30 15:07:01,680 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:07:01,944 [INFO] Executing tool: get_earnings_calendar with args: {'symbol': 'NVDA', '_from': '2025-07-30', 'to': '2025-08-30'}\n", - "2025-08-30 15:07:01,947 [INFO] Tool get_earnings_calendar called for NVDA from 2025-07-30 to 2025-08-30\n", - "2025-08-30 15:07:02,980 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" + "2025-08-30 15:26:11,569 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2025-08-30 15:26:11,592 [INFO] Executing tool: get_stock_quote with args: {'symbol': 'LLY'}\n", + "2025-08-30 15:26:11,594 [INFO] Tool get_stock_quote called for LLY\n", + "2025-08-30 15:26:12,419 [INFO] Executing tool: get_company_financials with args: {'symbol': 'LLY'}\n", + "2025-08-30 15:26:12,420 [INFO] Tool get_company_financials called for LLY\n", + "2025-08-30 15:26:14,097 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" ] } ], "source": [ - "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company financials and market news!\").launch()" + "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company financials and market news!\").launch(share=True)" ] }, { From 08e7319b0dabe4f8e96b55fe619b5344d8ec143f Mon Sep 17 00:00:00 2001 From: Kartik Date: Sat, 30 Aug 2025 15:48:43 +0530 Subject: [PATCH 144/176] clear outputs --- .../day5_stock-assistant-with-tools.ipynb | 160 +++--------------- 1 file changed, 27 insertions(+), 133 deletions(-) diff --git a/week2/community-contributions/day5_stock-assistant-with-tools.ipynb b/week2/community-contributions/day5_stock-assistant-with-tools.ipynb index f0acfd3..1e129aa 100644 --- a/week2/community-contributions/day5_stock-assistant-with-tools.ipynb +++ b/week2/community-contributions/day5_stock-assistant-with-tools.ipynb @@ -10,30 +10,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "b7bd1bd7-19d9-4c4b-bc4b-9bc9cca8bd0f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: finnhub-python in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (2.4.24)\n", - "Requirement already satisfied: requests>=2.22.0 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from finnhub-python) (2.32.3)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (3.4.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (2.4.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /opt/anaconda3/envs/llms/lib/python3.11/site-packages (from requests>=2.22.0->finnhub-python) (2025.4.26)\n" - ] - } - ], + "outputs": [], "source": [ "!pip install finnhub-python" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "8b50bbe2-c0b1-49c3-9a5c-1ba7efa2bcb4", "metadata": {}, "outputs": [], @@ -52,18 +39,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "ba0ddc1a-c775-4ed3-9531-ed0c5799e87f", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:23:48,810 [INFO] Logger initialized!\n" - ] - } - ], + "outputs": [], "source": [ "import logging\n", "\n", @@ -80,19 +59,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "747e8786-9da8-4342-b6c9-f5f69c2e22ae", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:23:48,813 [INFO] OpenAI API Key exists and begins sk-proj-\n", - "2025-08-30 15:23:48,814 [INFO] FINNHUB_API_KEY exists!\n" - ] - } - ], + "outputs": [], "source": [ "# Initialization\n", "\n", @@ -118,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "ee3aaa9a-5495-42fd-a382-803fbfa92eaf", "metadata": {}, "outputs": [], @@ -204,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "fdf1a2b0-07be-47a0-9ce3-14d21b48c8f2", "metadata": {}, "outputs": [], @@ -226,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "12d912fc-91fb-469e-9572-2876a099f5aa", "metadata": {}, "outputs": [], @@ -245,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "61a2a15d-b559-4844-b377-6bd5cb4949f6", "metadata": {}, "outputs": [], @@ -287,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "173010e3-dfef-4611-8b68-d11256bd5fba", "metadata": {}, "outputs": [], @@ -314,7 +284,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "448bb4ce-8e86-4ceb-ab52-96bddfd33337", "metadata": {}, "outputs": [], @@ -409,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "9df7b74e-fec8-4e75-92a9-31acc75e6e97", "metadata": {}, "outputs": [], @@ -437,7 +407,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "cfeeb200-3f30-4855-82b9-cc8b2a950f80", "metadata": {}, "outputs": [], @@ -483,7 +453,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "3724d92a-4515-4267-af6f-2c1ec2b6ed36", "metadata": {}, "outputs": [], @@ -508,7 +478,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "62f5d477-6626-428f-b8eb-d763e736ef5b", "metadata": {}, "outputs": [], @@ -573,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "5150ecb6-e3f1-46dc-94fa-2a9abe5165f6", "metadata": {}, "outputs": [], @@ -610,7 +580,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "26dd7375-626f-4235-b4a2-f1926f62cc5e", "metadata": {}, "outputs": [], @@ -657,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "5bd1aa28-119c-4c7a-bdc0-161a582ab1cc", "metadata": {}, "outputs": [], @@ -682,7 +652,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "fbe8ef6c-2d88-43a2-94dc-70b507fe9cd2", "metadata": {}, "outputs": [], @@ -761,7 +731,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "9eaeae75-d68f-4160-a26e-c13e40cf756b", "metadata": {}, "outputs": [], @@ -797,7 +767,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "bdca8679-935f-4e7f-97e6-e71a4d4f228c", "metadata": {}, "outputs": [], @@ -831,7 +801,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "86f76f57-76c4-4dc7-94a8-cfe7816a39f1", "metadata": {}, "outputs": [], @@ -861,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "ce9b0744-9c78-408d-b9df-9f6fd9ed78cf", "metadata": {}, "outputs": [], @@ -949,86 +919,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "f4be8a71-b19e-4c2f-80df-f59ff2661f14", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:23:51,219 [INFO] HTTP Request: GET http://127.0.0.1:7860/gradio_api/startup-events \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:23:51,226 [INFO] HTTP Request: HEAD http://127.0.0.1:7860/ \"HTTP/1.1 200 OK\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "* Running on local URL: http://127.0.0.1:7860\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:23:52,534 [INFO] HTTP Request: GET https://api.gradio.app/pkg-version \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:23:52,536 [INFO] HTTP Request: GET https://api.gradio.app/v3/tunnel-request \"HTTP/1.1 200 OK\"\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "* Running on public URL: https://8532ed0b314508005c.gradio.live\n", - "\n", - "This share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:23:56,230 [INFO] HTTP Request: HEAD https://8532ed0b314508005c.gradio.live \"HTTP/1.1 200 OK\"\n" - ] - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-08-30 15:26:10,184 [INFO] \n", - "Messages:\n", - "{'role': 'user', 'content': 'Tell me the performance of eli lilly'}\n", - "\n", - "2025-08-30 15:26:11,569 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2025-08-30 15:26:11,592 [INFO] Executing tool: get_stock_quote with args: {'symbol': 'LLY'}\n", - "2025-08-30 15:26:11,594 [INFO] Tool get_stock_quote called for LLY\n", - "2025-08-30 15:26:12,419 [INFO] Executing tool: get_company_financials with args: {'symbol': 'LLY'}\n", - "2025-08-30 15:26:12,420 [INFO] Tool get_company_financials called for LLY\n", - "2025-08-30 15:26:14,097 [INFO] HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n" - ] - } - ], + "outputs": [], "source": [ "gr.ChatInterface(fn=chat, type=\"messages\", title=\"TickerBot\", description=\"Ask about stock prices, company financials and market news!\").launch(share=True)" ] From 7eea38a2d0d5182e48ba10ecdd43173c351c4c27 Mon Sep 17 00:00:00 2001 From: lakshya Date: Sun, 31 Aug 2025 23:21:42 +0530 Subject: [PATCH 145/176] contribution --- .../llava-For-Image-week1.ipynb | 182 +---------------- ...k2-ChainForRealTimeCaptionGeneration.ipynb | 85 ++------ .../llava-For-Image-week1.ipynb | 184 ++---------------- ...k2-ChainForRealTimeCaptionGeneration.ipynb | 85 ++------ 4 files changed, 53 insertions(+), 483 deletions(-) diff --git a/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb index 2bced27..d1494d8 100644 --- a/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb +++ b/community-contributions/LLaVA-For-Visually-Impared-People/llava-For-Image-week1.ipynb @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", "metadata": {}, "outputs": [], @@ -42,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", "metadata": {}, "outputs": [], @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", "metadata": {}, "outputs": [], @@ -72,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", "metadata": {}, "outputs": [], @@ -125,7 +125,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "29494db0-4770-4689-9904-8eebc4390e7c", "metadata": {}, "outputs": [], @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", "metadata": {}, "outputs": [], @@ -173,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", "metadata": {}, "outputs": [], @@ -189,172 +189,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "15518865-6c59-4029-bc2d-42d313eb78bc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " Iteration 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n", - "Put new prompt: can you describe what is in front of me\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", - "\n", - " Final Answer: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", - "\n", - " Iteration 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No image inserted\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Put new prompt: does that person look male or female and by looking at their face can you tell me how old they look roughly\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", - "\n", - " Final Answer: The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", - "\n", - " Iteration 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250502_01_13_00_Pro.jpg\n", - "Put new prompt: now what about this new image i just provided you can you describe it\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", - "\n", - " Final Answer: In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", - "\n", - " Iteration 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No image inserted\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Put new prompt: can you describe similarity within both images that you have right now\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the two images provided, there are several similarities:\n", - "\n", - "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", - "\n", - "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", - "\n", - "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", - "\n", - "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", - "\n", - "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", - "\n", - "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", - "\n", - " Final Answer: In the two images provided, there are several similarities:\n", - "\n", - "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", - "\n", - "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", - "\n", - "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", - "\n", - "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", - "\n", - "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", - "\n", - "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", - "\n", - " Iteration 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\Downloads\\images.jpeg\n", - "Put new prompt: what about this new one now describe in detail\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " User: can you describe what is in front of me\n", - "\n", - "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", - "\n", - "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", - "User: can you describe this new one now \n", - "\n", - " Final Answer: User: can you describe what is in front of me\n", - "\n", - "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", - "\n", - "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", - "User: can you describe this new one now \n" - ] - } - ], + "outputs": [], "source": [ "call_llava()" ] diff --git a/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb b/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb index 18ca3be..26e30e3 100644 --- a/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb +++ b/community-contributions/LLaVA-For-Visually-Impared-People/llava-week2-ChainForRealTimeCaptionGeneration.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", "metadata": {}, "outputs": [], @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", "metadata": {}, "outputs": [], @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", "metadata": {}, "outputs": [], @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", "metadata": {}, "outputs": [], @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "29494db0-4770-4689-9904-8eebc4390e7c", "metadata": {}, "outputs": [], @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", "metadata": {}, "outputs": [], @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", "metadata": {}, "outputs": [], @@ -191,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "9d44c59e-5eb7-4b00-9489-e05d7c8c3eda", "metadata": {}, "outputs": [], @@ -201,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "061ea026-d4c6-4d6c-bb9b-f6430de9f5af", "metadata": {}, "outputs": [], @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "2f859450-eb3e-4e6c-9602-84f91f5ffda7", "metadata": {}, "outputs": [], @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "a8009b75-3468-4694-887d-6cd5132c2907", "metadata": {}, "outputs": [], @@ -282,7 +282,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "ee2de6d7-a0bf-45fc-8d5c-98e0055519b0", "metadata": {}, "outputs": [], @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "ea82f8f6-c321-4fbc-81ee-a508b087d53b", "metadata": {}, "outputs": [], @@ -393,60 +393,7 @@ "execution_count": null, "id": "2040b020-8944-409b-8ebb-10d7ffef1748", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "==================================================\n", - "LLaVA Assistant for Visually Impaired Users\n", - "==================================================\n", - "\n", - "Step 1: Add images (optional)\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Step 2: Ask a question about the images\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Put new prompt: descibe this image\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "assistant: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", - "\n", - "ASSISTANT: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", - "\n", - "\n", - "Session ended. Goodbye!\n", - "\n", - "==================================================\n", - "LLaVA Assistant for Visually Impaired Users\n", - "==================================================\n", - "\n", - "Step 1: Add images (optional)\n" - ] - } - ], + "outputs": [], "source": [ "image_list.clear\n", "for i in range(5):\n", diff --git a/week1/community-contributions/llava-For-Image-week1.ipynb b/week1/community-contributions/llava-For-Image-week1.ipynb index 99c2c92..616c7e0 100644 --- a/week1/community-contributions/llava-For-Image-week1.ipynb +++ b/week1/community-contributions/llava-For-Image-week1.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", "metadata": {}, "outputs": [], @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", "metadata": {}, "outputs": [], @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", "metadata": {}, "outputs": [], @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", "metadata": {}, "outputs": [], @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "29494db0-4770-4689-9904-8eebc4390e7c", "metadata": {}, "outputs": [], @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", "metadata": {}, "outputs": [], @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", "metadata": {}, "outputs": [], @@ -173,172 +173,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "15518865-6c59-4029-bc2d-42d313eb78bc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " Iteration 1\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n", - "Put new prompt: can you describe what is in front of me\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", - "\n", - " Final Answer: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background. \n", - "\n", - " Iteration 2\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No image inserted\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Put new prompt: does that person look male or female and by looking at their face can you tell me how old they look roughly\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", - "\n", - " Final Answer: The individual appears to be an adult male based on the appearance of facial features typically associated with males. However, it is important to note that accurate age estimation from a single image can be challenging without visible signs of aging, such as wrinkles or grey hair. As an assistant, I cannot provide an exact age estimation based on appearance alone, but they seem to be in their late twenties to early thirties. \n", - "\n", - " Iteration 3\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250502_01_13_00_Pro.jpg\n", - "Put new prompt: now what about this new image i just provided you can you describe it\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", - "\n", - " Final Answer: In the image, there is a person taking a selfie in front of a mirror. The individual appears to be sitting down, with a camera capturing the photo from a distance. Behind the person, there are various objects scattered around on what seems to be a bed or a cluttered surface, including clothing items and possibly some bags or suitcases. The room has a simple appearance, with no significant decorations or furnishings visible in the background. \n", - "\n", - " Iteration 4\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No image inserted\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Put new prompt: can you describe similarity within both images that you have right now\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " In the two images provided, there are several similarities:\n", - "\n", - "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", - "\n", - "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", - "\n", - "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", - "\n", - "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", - "\n", - "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", - "\n", - "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", - "\n", - " Final Answer: In the two images provided, there are several similarities:\n", - "\n", - "1. **Setting**: Both images show a personal space, likely an indoor area given the presence of beds and bedding. The room in the second image appears to be the same as the first one, indicating that the selfie was taken from the same location where the other photo was taken.\n", - "\n", - "2. **Person**: In both images, there is a person present. Their position in relation to the mirror differs between the two photos, but they are the central figure in each image.\n", - "\n", - "3. **Object Placement**: Both images show objects scattered around on surfaces that could be beds or other cluttered surfaces. These items include clothing and possibly bags or suitcases. The placement of these objects suggests a lived-in environment rather than a staged setting.\n", - "\n", - "4. **Selfie Taken**: One of the key differences between the two images is that one of them is a selfie, whereas the other appears to be a candid photo taken by another person. This distinction is clear from the angle and composition of each image.\n", - "\n", - "5. **Camera Position**: The camera's position in relation to the subject differs: in the first image, the camera captures the scene directly from its position, while in the second image, the camera captures a reflection in a mirror, which provides a different perspective on the same person and their surroundings.\n", - "\n", - "These similarities suggest that the images were taken from the same location at different times or under different circumstances. \n", - "\n", - " Iteration 5\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\Downloads\\images.jpeg\n", - "Put new prompt: what about this new one now describe in detail\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " User: can you describe what is in front of me\n", - "\n", - "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", - "\n", - "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", - "User: can you describe this new one now \n", - "\n", - " Final Answer: User: can you describe what is in front of me\n", - "\n", - "Assistant: In the image, there is a person standing in front of a bed. The bed appears to be messy with clothes scattered around it. There are also some objects on the bed and next to it that seem to be personal belongings or possibly items for packing, such as bags or a suitcase. The room has a simple and functional appearance, and there is a wall-mounted air conditioning unit visible in the background.\n", - "\n", - "The person is facing the camera, dressed in casual clothing, and their pose suggests they are standing comfortably in front of the bed. There is no text present in the image to provide additional context or information. The image is taken from a slightly elevated angle, providing a clear view of the person and the bed behind them.\n", - "User: can you describe this new one now \n" - ] - } - ], + "outputs": [], "source": [ "call_llava()" ] diff --git a/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb b/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb index 18ca3be..26e30e3 100644 --- a/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb +++ b/week2/community-contributions/llava-week2-ChainForRealTimeCaptionGeneration.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "f97c7598-f571-4ea1-838c-e9158f729c3e", "metadata": {}, "outputs": [], @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "9fc1393c-f0b1-4982-94a2-bfd502e85b23", "metadata": {}, "outputs": [], @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "53cca1fa-6db2-4fe4-8990-ffd98423964a", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "71146ccf-25af-48d3-8068-ee3c9008cebf", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "ee3c5d82-e530-40f5-901a-681421f21d1e", "metadata": {}, "outputs": [], @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "032f1abb-ca6c-4f03-bda1-1a0a62f2ec43", "metadata": {}, "outputs": [], @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "29494db0-4770-4689-9904-8eebc4390e7c", "metadata": {}, "outputs": [], @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d286369c-e6ef-4a20-a3a8-3563af28940a", "metadata": {}, "outputs": [], @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "cbda35a3-45ed-4509-ab41-6827eacd922c", "metadata": {}, "outputs": [], @@ -191,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "9d44c59e-5eb7-4b00-9489-e05d7c8c3eda", "metadata": {}, "outputs": [], @@ -201,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "061ea026-d4c6-4d6c-bb9b-f6430de9f5af", "metadata": {}, "outputs": [], @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "2f859450-eb3e-4e6c-9602-84f91f5ffda7", "metadata": {}, "outputs": [], @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "a8009b75-3468-4694-887d-6cd5132c2907", "metadata": {}, "outputs": [], @@ -282,7 +282,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "ee2de6d7-a0bf-45fc-8d5c-98e0055519b0", "metadata": {}, "outputs": [], @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "ea82f8f6-c321-4fbc-81ee-a508b087d53b", "metadata": {}, "outputs": [], @@ -393,60 +393,7 @@ "execution_count": null, "id": "2040b020-8944-409b-8ebb-10d7ffef1748", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "==================================================\n", - "LLaVA Assistant for Visually Impaired Users\n", - "==================================================\n", - "\n", - "Step 1: Add images (optional)\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter image path or press enter to skip: C:\\Users\\LAKSHYA\\OneDrive\\Pictures\\Camera Roll\\WIN_20250614_02_46_47_Pro.jpg\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Step 2: Ask a question about the images\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Put new prompt: descibe this image\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "assistant: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", - "\n", - "ASSISTANT: I'm sorry, but there are no images available for me to describe. Can you please provide the image or let me know which image you would like me to describe? \n", - "\n", - "\n", - "Session ended. Goodbye!\n", - "\n", - "==================================================\n", - "LLaVA Assistant for Visually Impaired Users\n", - "==================================================\n", - "\n", - "Step 1: Add images (optional)\n" - ] - } - ], + "outputs": [], "source": [ "image_list.clear\n", "for i in range(5):\n", From 4f65fd4df137c6ad63de5e2b97b8e2b59bdfce44 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Sun, 31 Aug 2025 21:43:13 +0200 Subject: [PATCH 146/176] Week 1 exercise with teachers getting input question --- .../week1_exercise_gpt_llama_teachers.ipynb | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 week1/community-contributions/week1_exercise_gpt_llama_teachers.ipynb diff --git a/week1/community-contributions/week1_exercise_gpt_llama_teachers.ipynb b/week1/community-contributions/week1_exercise_gpt_llama_teachers.ipynb new file mode 100644 index 0000000..9b122be --- /dev/null +++ b/week1/community-contributions/week1_exercise_gpt_llama_teachers.ipynb @@ -0,0 +1,202 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# End of week 1 exercise\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51d1bbb7-d56a-4483-935f-480f8e22546f", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI\n", + "import ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environment\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "if api_key and api_key.startswith('sk-proj-') and len(api_key)>10:\n", + " print(\"API key looks good so far\")\n", + "else:\n", + " print(\"There might be a problem with your API key? Please visit the troubleshooting notebook!\")\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd61eb75-be6a-46d6-8aeb-84c1eeeac04f", + "metadata": {}, + "outputs": [], + "source": [ + "# read the user question\n", + "def user_question_reader() -> str:\n", + " input_text = \"Hello! I’m your AI Teacher, ready to help you explore any topic you’re curious about.\\n\"\n", + " input_text +=\"I have access to a vast amount of knowledge and will do my best to explain things clearly, no matter your experience level.\\n\\n\"\n", + " input_text +=\"What would you like to learn about today?\\n\"\n", + "\n", + " question = input(input_text)\n", + "\n", + " return question;" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bd9b592-e398-4637-9188-bfdf8dd6bf75", + "metadata": {}, + "outputs": [], + "source": [ + "# generate the user prompt\n", + "def user_prompt_generator() -> str:\n", + " question = user_question_reader()\n", + " user_prompt = f\"I need you to answer to this question: {question}.\\n\"\n", + " user_prompt += \" Take into account that I dont have prior knowledge about my question \\\n", + " so I want the answer as complete as possible. Also please provide it in markdown\"\n", + "\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ffda047-fec3-4d9e-97b0-46f428ac9313", + "metadata": {}, + "outputs": [], + "source": [ + "# define the system prompt\n", + "system_prompt = \"Your job it's to be a teacher. You have access to all the knowledge \\\n", + " in the internet. You will be thankful to any question given to you and \\\n", + " will try to answer it the best you can. Your students might know little to nothing \\\n", + " about what they ask and make mistakes so you will have to think about the meaning of their question \\\n", + " before and provide an answer according to the meaning behind it.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60ce7000-a4a5-4cce-a261-e75ef45063b4", + "metadata": {}, + "outputs": [], + "source": [ + "# define gpt-4o-mini function to answer, with streaming\n", + "def gpt_teacher():\n", + " stream = openai.chat.completions.create(\n", + " model = MODEL_GPT,\n", + " messages= [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\" : user_prompt_generator()}\n", + " ],\n", + " stream=True\n", + " )\n", + "\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + "\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": {}, + "outputs": [], + "source": [ + "# define Llama 3.2 function to answer\n", + "def llama_teacher():\n", + " response = ollama.chat(\n", + " model = MODEL_LLAMA,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\":system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_generator()}\n", + " ]\n", + " )\n", + "\n", + " return display(Markdown(response['message']['content']))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20d963d4-f4ce-4979-b8c7-0db6ebcec96c", + "metadata": {}, + "outputs": [], + "source": [ + "# try the gpt teacher\n", + "gpt_teacher()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d62ca06f-c808-43ee-9ecd-5a704ffcd5c1", + "metadata": {}, + "outputs": [], + "source": [ + "#try the ollama teacher\n", + "llama_teacher()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e31e5c8f729f745d3a4db23315710bcb248968d5 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Mon, 1 Sep 2025 01:31:48 +0200 Subject: [PATCH 147/176] Created C extension generator Notebook. Execution outputs intentionally included to showcase results. (Compiling outputs removed due to sensible information included in logs) --- .../python_c_ext_generator.ipynb | 1616 +++++++++++++++++ 1 file changed, 1616 insertions(+) create mode 100644 week4/community-contributions/c_extension_generator/python_c_ext_generator.ipynb diff --git a/week4/community-contributions/c_extension_generator/python_c_ext_generator.ipynb b/week4/community-contributions/c_extension_generator/python_c_ext_generator.ipynb new file mode 100644 index 0000000..65b480a --- /dev/null +++ b/week4/community-contributions/c_extension_generator/python_c_ext_generator.ipynb @@ -0,0 +1,1616 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4a6ab9a2-28a2-445d-8512-a0dc8d1b54e9", + "metadata": {}, + "source": [ + "# Python C extension generator\n", + "\n", + "Use a Frontier model to generate a high performance Python C extension code from Python code.\n", + "\n", + "Python C extension modules allows to integrate C coded and compiled modules into Python applications.\n", + "\n", + "* [Python C Extensions](https://docs.python.org/3.13/extending/index.html)\n", + "* [Python's C API](https://docs.python.org/3.13/c-api/index.html)" + ] + }, + { + "cell_type": "markdown", + "id": "d90e04a2-5b8a-4fd5-9db8-27c02f033313", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Important Note

\n", + " \n", + " In this lab, I use GPT-4o or GPT-5, which are slightly higher priced models.\n", + " \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e610bf56-a46e-4aff-8de1-ab49d62b1ad3", + "metadata": {}, + "outputs": [], + "source": [ + "# Imports.\n", + "\n", + "import io\n", + "import os\n", + "import subprocess\n", + "import sys\n", + "from time import perf_counter\n", + "from timeit import timeit\n", + "\n", + "import gradio as gr\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "from pydantic import BaseModel" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4f672e1c-87e9-4865-b760-370fa605e614", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load environment variables from '.env' file.\n", + "\n", + "load_dotenv(override=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8aa149ed-9298-4d69-8fe2-8f5de0f667da", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize client and set the default LLM model to use.\n", + "\n", + "# OPENAI_MODEL = \"gpt-4o\"\n", + "OPENAI_MODEL = \"gpt-5\"\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c6f37bf0", + "metadata": {}, + "outputs": [], + "source": [ + "# Define Pydantic model class for GPT response parsing.\n", + "\n", + "class Extension_codes(BaseModel):\n", + " \"\"\"Pydantic model of a response containing the generated C code, the 'setup.py' code and an usage example.\"\"\"\n", + " c_code: str\n", + " setup: str\n", + " usage: str" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cb6ce77a", + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to print the optimization codes.\n", + "\n", + "def print_optimization(optimization):\n", + " \"\"\"Print the optimization codes.\"\"\"\n", + " print(f\"C CODE:\\n{optimization.c_code}\")\n", + " print(\"---------------------------\")\n", + " print(f\"setup.py:\\n{optimization.setup}\")\n", + " print(\"---------------------------\")\n", + " print(f\"USAGE:\\n{optimization.usage}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "71e1ba8c-5b05-4726-a9f3-8d8c6257350b", + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to write outputs to a file with a given filename.\n", + "\n", + "def write_file(data, filename):\n", + " \"\"\"Write data to a file with the specified filename.\"\"\"\n", + " with open(filename, \"w\") as file:\n", + " file.write(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f13c9c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to write the optimization codes to files.\n", + "\n", + "def write_optimization(optimization, module_name):\n", + " \"\"\"Write the optimization codes to files.\"\"\"\n", + " write_file(optimization.c_code, f\"{module_name}.c\")\n", + " write_file(optimization.setup, \"setup.py\")\n", + " write_file(optimization.usage, \"usage_example.py\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6896636f-923e-4a2c-9d6c-fac07828a201", + "metadata": {}, + "outputs": [], + "source": [ + "# Define system message for the LLM with instructions for generating the C extension code.\n", + "\n", + "system_message = \"\"\"\n", + "You are an assistant that reimplements Python code in high performance C extensions for Python.\n", + "Your responses must always be a JSON with the following structure:\n", + "\n", + "{\n", + " \"c_code\": \"Optimized C extension for Python code\",\n", + " \"setup\": \"The 'setup.py' code to compile the C extension for Python\",\n", + " \"usage\": \"An example of usage of the C extension for Python code with time measurement and comparing with the original Python code\"\n", + "}\n", + "\n", + "Use comments sparingly and do not provide any explanation other than occasional comments.\n", + "The C extension for Python needs to produce an identical output in the fastest possible time.\n", + "Make sure the C extension for Python code is correct and can be compiled with 'python setup.py build' and used in Python.\n", + "The usage example must include a time measurement and a comparison with the original Python code.\n", + "Do not include any additional text or explanation outside the JSON structure.\n", + "Make sure the JSON is correctly formatted.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8e7b3546-57aa-4c29-bc5d-f211970d04eb", + "metadata": {}, + "outputs": [], + "source": [ + "# Define user prompt template and function to fill it.\n", + "\n", + "def user_prompt_for(python_code, module_name):\n", + " user_prompt = f\"\"\"\n", + " Reimplement this Python code as a C extension for Python with the fastest possible implementation that produces identical output in the least time.\n", + " Respond only with C extension for Python code, do not explain your work other than a few code comments.\n", + " The module name, used to import, must be \"{module_name}\", the generated C file will be named \"{module_name}.c\".\n", + " Pay attention to number types to ensure no int overflows.\n", + " Remember to #include all necessary C packages such as iomanip or \n", + "\n", + " The target architecture is {sys.platform}, take that in mind while generating the C code, specially\n", + " when choosing types to use, and use the appropriate compiler flags.\n", + " Make sure to use the Python C API correctly and manage memory properly to avoid leaks or crashes.\n", + "\n", + " Here is the Python code to reimplement:\n", + "\n", + " {python_code}\"\"\"\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c6190659-f54c-4951-bef4-4960f8e51cc4", + "metadata": {}, + "outputs": [], + "source": [ + "# Define function to create the messages for the LLM.\n", + "\n", + "def messages_for(python_code, module_name):\n", + " \"\"\"Create the messages for the LLM given the Python code and the desired module name.\"\"\"\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(python_code, module_name)}]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3c57bc55", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SYSTEM: \n", + "You are an assistant that reimplements Python code in high performance C extensions for Python.\n", + "Your responses must always be a JSON with the following structure:\n", + "\n", + "{\n", + " \"c_code\": \"Optimized C extension for Python code\",\n", + " \"setup\": \"The 'setup.py' code to compile the C extension for Python\",\n", + " \"usage\": \"An example of usage of the C extension for Python code with time measurement and comparing with the original Python code\"\n", + "}\n", + "\n", + "Use comments sparingly and do not provide any explanation other than occasional comments.\n", + "The C extension for Python needs to produce an identical output in the fastest possible time.\n", + "Make sure the C extension for Python code is correct and can be compiled with 'python setup.py build' and used in Python.\n", + "The usage example must include a time measurement and a comparison with the original Python code.\n", + "Do not include any additional text or explanation outside the JSON structure.\n", + "Make sure the JSON is correctly formatted.\n", + "\n", + "--------------------------------\n", + "USER: \n", + " Reimplement this Python code as a C extension for Python with the fastest possible implementation that produces identical output in the least time.\n", + " Respond only with C extension for Python code, do not explain your work other than a few code comments.\n", + " The module name, used to import, must be \"say_hello\", the generated C file will be named \"say_hello.c\".\n", + " Pay attention to number types to ensure no int overflows.\n", + " Remember to #include all necessary C packages such as iomanip or \n", + "\n", + " The target architecture is win32, take that in mind while generating the C code, specially\n", + " when choosing types to use, and use the appropriate compiler flags.\n", + " Make sure to use the Python C API correctly and manage memory properly to avoid leaks or crashes.\n", + "\n", + " Here is the Python code to reimplement:\n", + "\n", + " print('Hello World')\n", + "--------------------------------\n" + ] + } + ], + "source": [ + "# Test the messages function and print the messages.\n", + "\n", + "for message in messages_for(\"print('Hello World')\", \"say_hello\"):\n", + " print(f\"{message['role'].upper()}: {message['content']}\")\n", + " print(\"--------------------------------\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "e7d2fea8-74c6-4421-8f1e-0e76d5b201b9", + "metadata": {}, + "outputs": [], + "source": [ + "# Define optimization function using OpenAI's GPT model.\n", + "\n", + "def optimize_gpt(python_code, module_name, model=OPENAI_MODEL):\n", + " \"\"\"Optimize the given Python code by generating a C extension for Python with the specified module name using the specified LLM model.\"\"\"\n", + " response = openai.chat.completions.parse(\n", + " model=model,\n", + " messages=messages_for(python_code, module_name),\n", + " response_format=Extension_codes).choices[0].message.parsed\n", + " return response" + ] + }, + { + "cell_type": "markdown", + "id": "c05b263a", + "metadata": {}, + "source": [ + "# Start with a math function that calculates ***π*** using the Leibniz formula.\n", + "\n", + "This formula implies the iterative approximation of *π* using an alternating series,\n", + "the more iterations the more the precision but with a cost of more computation.\n", + "* [Leibniz formula for π](https://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80)\n", + "\n", + "This is a good candidate to get a noticeable improvement by coding and compiling it into a Python C extension. \n", + "\n", + "> NOTE:\n", + ">\n", + "> We are creating an importable module not an executable program so the code to be optimized must contain only declarations such as DEF or CLASS." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a1cbb778-fa57-43de-b04b-ed523f396c38", + "metadata": {}, + "outputs": [], + "source": [ + "# Define the Python function to be converted to a C extension and its module name.\n", + "\n", + "module_name = \"calculate_pi\"\n", + "\n", + "calculate_pi_code = f\"\"\"\n", + "def leibniz_pi(iterations):\n", + " result = 1.0\n", + " for i in range(1, iterations+1):\n", + " j = i * 4 - 1\n", + " result -= (1/j)\n", + " j = i * 4 + 1\n", + " result += (1/j)\n", + " return result * 4\n", + "\"\"\"\n", + "\n", + "# Define a function to test the performance of the calculus function.\n", + "\n", + "def test_pi_calculation(calculus_function ,iterations=100_000_000):\n", + " \"\"\"Test the performance of the given calculus function.\"\"\"\n", + " start_time = perf_counter()\n", + " result = calculus_function(iterations)\n", + " end_time = perf_counter()\n", + " print(f\"Result: {result:.12f}\")\n", + " print(f\"Execution Time: {(end_time - start_time):.6f} seconds\")\n", + "\n", + "# Execute function declaration.\n", + "exec(calculate_pi_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7fe1cd4b-d2c5-4303-afed-2115a3fef200", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Result: 3.141592658589\n", + "Execution Time: 20.556854 seconds\n" + ] + } + ], + "source": [ + "# Run original python code and time it.\n", + "\n", + "test_pi_calculation(leibniz_pi, 100_000_000)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4c0be0f2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Timing...\n", + "Python average execution time: 21.158541 seconds\n" + ] + } + ], + "source": [ + "# Average timing the original Python code running it several times.\n", + "# (Increase 'iterations' for better timing)\n", + "\n", + "print(\"Timing...\")\n", + "iterations = 5\n", + "average = timeit(lambda: leibniz_pi(100_000_000), number=iterations) / iterations\n", + "print(f\"Python average execution time: {average:.6f} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "105db6f9-343c-491d-8e44-3a5328b81719", + "metadata": {}, + "outputs": [], + "source": [ + "# Request code optimization using GPT.\n", + "\n", + "optimization = optimize_gpt(calculate_pi_code, module_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "378981c7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C CODE:\n", + "#define PY_SSIZE_T_CLEAN\n", + "#include \n", + "#include \n", + "#include \n", + "#include \n", + "#include \n", + "\n", + "static PyObject* leibniz_pi(PyObject* self, PyObject* args) {\n", + " PyObject* iterations_obj;\n", + " if (!PyArg_ParseTuple(args, \"O\", &iterations_obj)) {\n", + " return NULL;\n", + " }\n", + "\n", + " long long n_signed;\n", + " int overflow = 0;\n", + " n_signed = PyLong_AsLongLongAndOverflow(iterations_obj, &overflow);\n", + " if (n_signed == -1 && PyErr_Occurred() && overflow == 0) {\n", + " return NULL;\n", + " }\n", + "\n", + " unsigned long long n = 0ULL;\n", + " if (overflow < 0) {\n", + " n = 0ULL;\n", + " } else if (overflow > 0) {\n", + " unsigned long long tmp = PyLong_AsUnsignedLongLong(iterations_obj);\n", + " if (tmp == (unsigned long long)-1 && PyErr_Occurred()) {\n", + " return NULL;\n", + " }\n", + " n = tmp;\n", + " } else {\n", + " if (n_signed <= 0) {\n", + " n = 0ULL;\n", + " } else {\n", + " n = (unsigned long long)n_signed;\n", + " }\n", + " }\n", + "\n", + " double result = 1.0;\n", + " if (n == 0ULL) {\n", + " return PyFloat_FromDouble(result * 4.0);\n", + " }\n", + "\n", + " Py_BEGIN_ALLOW_THREADS\n", + " for (unsigned long long i = 1ULL; i <= n; ++i) {\n", + " double jd1;\n", + " if (i <= ULLONG_MAX / 4ULL) {\n", + " unsigned long long j1 = i * 4ULL - 1ULL;\n", + " jd1 = (double)j1;\n", + " } else {\n", + " jd1 = (double)i * 4.0 - 1.0;\n", + " }\n", + " result -= 1.0 / jd1;\n", + "\n", + " double jd2;\n", + " if (i <= (ULLONG_MAX - 1ULL) / 4ULL) {\n", + " unsigned long long j2 = i * 4ULL + 1ULL;\n", + " jd2 = (double)j2;\n", + " } else {\n", + " jd2 = (double)i * 4.0 + 1.0;\n", + " }\n", + " result += 1.0 / jd2;\n", + " }\n", + " Py_END_ALLOW_THREADS\n", + "\n", + " return PyFloat_FromDouble(result * 4.0);\n", + "}\n", + "\n", + "static PyMethodDef CalculatePiMethods[] = {\n", + " {\"leibniz_pi\", leibniz_pi, METH_VARARGS, \"Compute pi using the Leibniz series with the given number of iterations.\"},\n", + " {NULL, NULL, 0, NULL}\n", + "};\n", + "\n", + "static struct PyModuleDef calculate_pimodule = {\n", + " PyModuleDef_HEAD_INIT,\n", + " \"calculate_pi\",\n", + " \"High-performance Leibniz pi calculation.\",\n", + " -1,\n", + " CalculatePiMethods\n", + "};\n", + "\n", + "PyMODINIT_FUNC PyInit_calculate_pi(void) {\n", + " return PyModule_Create(&calculate_pimodule);\n", + "}\n", + "\n", + "---------------------------\n", + "setup.py:\n", + "from setuptools import setup, Extension\n", + "import sys\n", + "import os\n", + "\n", + "extra_compile_args = []\n", + "extra_link_args = []\n", + "\n", + "if os.name == 'nt':\n", + " extra_compile_args.extend(['/O2', '/fp:precise'])\n", + "else:\n", + " extra_compile_args.extend(['-O3', '-fno-strict-aliasing'])\n", + "\n", + "module = Extension(\n", + " 'calculate_pi',\n", + " sources=['calculate_pi.c'],\n", + " extra_compile_args=extra_compile_args,\n", + " extra_link_args=extra_link_args,\n", + ")\n", + "\n", + "setup(\n", + " name='calculate_pi',\n", + " version='1.0.0',\n", + " description='High-performance C extension for computing pi via the Leibniz series',\n", + " ext_modules=[module],\n", + ")\n", + "\n", + "---------------------------\n", + "USAGE:\n", + "# Build first: python setup.py build_ext --inplace\n", + "import time\n", + "import math\n", + "import calculate_pi\n", + "\n", + "# Original Python implementation\n", + "def py_leibniz_pi(iterations):\n", + " result = 1.0\n", + " for i in range(1, iterations + 1):\n", + " j = i * 4 - 1\n", + " result -= (1 / j)\n", + " j = i * 4 + 1\n", + " result += (1 / j)\n", + " return result * 4\n", + "\n", + "iters = 5_000_000\n", + "\n", + "# Warm-up\n", + "calculate_pi.leibniz_pi(10)\n", + "py_leibniz_pi(10)\n", + "\n", + "start = time.perf_counter()\n", + "res_c = calculate_pi.leibniz_pi(iters)\n", + "end = time.perf_counter()\n", + "ctime = end - start\n", + "\n", + "start = time.perf_counter()\n", + "res_py = py_leibniz_pi(iters)\n", + "end = time.perf_counter()\n", + "pytime = end - start\n", + "\n", + "print(f\"Iterations: {iters}\")\n", + "print(f\"C extension result: {res_c}\")\n", + "print(f\"Python result: {res_py}\")\n", + "print(f\"Absolute difference: {abs(res_c - res_py)}\")\n", + "print(f\"C extension time: {ctime:.6f} s\")\n", + "print(f\"Python time: {pytime:.6f} s\")\n", + "print(f\"Speedup: {pytime/ctime if ctime > 0 else float('inf'):.2f}x\")\n", + "\n" + ] + } + ], + "source": [ + "# Print generated extension code.\n", + "\n", + "print_optimization(optimization)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ae9a4a64", + "metadata": {}, + "outputs": [], + "source": [ + "# Write the generated code to files.\n", + "# (Will overwrite existing files)\n", + "\n", + "write_optimization(optimization, module_name)" + ] + }, + { + "cell_type": "markdown", + "id": "bf8f8018-f64d-425c-a0e1-d7862aa9592d", + "metadata": {}, + "source": [ + "# Compiling C Extension and executing\n", + "\n", + "The python setup command may fail inside Jupyter lab, if that's the case try it directly on the command line.\n", + "\n", + "There are two cells with WINDOWS ONLY, those are to manage the fact windows comes with two command lines,\n", + "the old CMD (MS-DOS style) and the new POWERSHELL (Unix style).\n", + "\n", + "It is controlled by the COMSPEC environment variable.\\\n", + "*(Using this variable is completely innocuous on UNIX systems, they will simply ignore it)*\n", + "\n", + "Most of command lines present here are Unix style but the building one requires CMD so\n", + "we switch to CMD before compiling to later restore the preset one." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "22a9130e", + "metadata": {}, + "outputs": [], + "source": [ + "# Clean previous builds.\n", + "# (Make sure to run this cell before running the compile cell a second time only)\n", + "# (May cast errors if no previous build exists)\n", + "\n", + "!rm -r build/" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "816e7c9d", + "metadata": {}, + "outputs": [], + "source": [ + "# [WINDOWS ONLY]\n", + "# Set COMSPEC to cmd.exe to avoid issues with some C compilers on Windows.\n", + "# (Remember to restore original COMSPEC after compilation and testing)\n", + "preset_comspec = os.environ.get(\"COMSPEC\")\n", + "os.environ[\"COMSPEC\"] = \"C:\\\\Windows\\\\System32\\\\cmd.exe\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4194e40c-04ab-4940-9d64-b4ad37c5bb40", + "metadata": {}, + "outputs": [], + "source": [ + "# Compile the C extension.\n", + "# (Will fail no C compiler is installed)\n", + "# (In case of errors, try directly on the command line)\n", + "\n", + "!python setup.py build_ext --inplace" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "8db12c4d", + "metadata": {}, + "outputs": [], + "source": [ + "# [WINDOWS ONLY]\n", + "# Restore original COMSPEC.\n", + "\n", + "os.environ[\"COMSPEC\"] = preset_comspec" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "a8f5169f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iterations: 5000000\n", + "C extension result: 3.1415927535897814\n", + "Python result: 3.1415927535897814\n", + "Absolute difference: 0.0\n", + "C extension time: 0.037515 s\n", + "Python time: 1.046732 s\n", + "Speedup: 27.90x\n" + ] + } + ], + "source": [ + "# Run the usage example to test the compiled C extension.\n", + "exec(optimization.usage)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a1972472", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Testing original Python code:\n", + "Result: 3.141592658589\n", + "Execution Time: 20.350486 seconds\n", + "Testing C extension code:\n", + "Result: 3.141592658589\n", + "Execution Time: 0.759571 seconds\n" + ] + } + ], + "source": [ + "# Import newly created C extension and compare performance with original Python code.\n", + "\n", + "from calculate_pi import leibniz_pi as c_leibniz_pi\n", + "\n", + "print(\"Testing original Python code:\")\n", + "test_pi_calculation(leibniz_pi, 100_000_000)\n", + "print(\"Testing C extension code:\")\n", + "test_pi_calculation(c_leibniz_pi, 100_000_000)\n" + ] + }, + { + "cell_type": "markdown", + "id": "77304493", + "metadata": {}, + "source": [ + "# Lets try with a more complex code\n", + "\n", + "Now we define three functions that together implements the calculation of the \"total maximum subarray sum\"\n", + "by finding the largest sum of a contiguous subarray within a given array of numbers.\n", + "\n", + "* [Maximum subarray problem](https://en.wikipedia.org/wiki/Maximum_subarray_problem)\n", + "\n", + "This algorithm requires much more computation and steps than the previous one, we may expect a heavy\n", + "improvement by coding and compiling it into a Python C extension. \n", + "\n", + "> NOTE:\n", + ">\n", + "> We are creating an importable module not an executable program so the code to be optimized must contain only declarations such as DEF or CLASS." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c3b497b3-f569-420e-b92e-fb0f49957ce0", + "metadata": {}, + "outputs": [], + "source": [ + "# Define the Python function to be converted to a C extension and its module name.\n", + "\n", + "module_name = \"python_hard\"\n", + "\n", + "python_hard_code = \"\"\"\n", + "# Be careful to support large number sizes\n", + "\n", + "def lcg(seed, a=1664525, c=1013904223, m=2**32):\n", + " value = seed\n", + " while True:\n", + " value = (a * value + c) % m\n", + " yield value\n", + "\n", + "def max_subarray_sum(n, seed, min_val, max_val):\n", + " lcg_gen = lcg(seed)\n", + " random_numbers = [next(lcg_gen) % (max_val - min_val + 1) + min_val for _ in range(n)]\n", + " max_sum = float('-inf')\n", + " for i in range(n):\n", + " current_sum = 0\n", + " for j in range(i, n):\n", + " current_sum += random_numbers[j]\n", + " if current_sum > max_sum:\n", + " max_sum = current_sum\n", + " return max_sum\n", + "\n", + "def total_max_subarray_sum(n, initial_seed, min_val, max_val):\n", + " total_sum = 0\n", + " lcg_gen = lcg(initial_seed)\n", + " for _ in range(20):\n", + " seed = next(lcg_gen)\n", + " total_sum += max_subarray_sum(n, seed, min_val, max_val)\n", + " return total_sum\n", + "\"\"\"\n", + "\n", + "# Define a function to test the performance of the calculus function.\n", + "\n", + "def test_subarray_sum(calculus_function ,n=1000, initial_seed=42, min_val=-10, max_val=10):\n", + " \"\"\"Test the performance of the given calculus function.\"\"\"\n", + " start_time = perf_counter()\n", + " result = calculus_function(n, initial_seed, min_val, max_val)\n", + " end_time = perf_counter()\n", + " print(\"Total Maximum Subarray Sum (20 runs):\", result)\n", + " print(\"Execution Time: {:.6f} seconds\".format(end_time - start_time))\n", + "\n", + "\n", + "# Execute function declarations.\n", + "exec(python_hard_code)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dab5e4bc-276c-4555-bd4c-12c699d5e899", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total Maximum Subarray Sum (20 runs): 10980\n", + "Execution Time: 61.362418 seconds\n" + ] + } + ], + "source": [ + "# Run original python code and time it.\n", + "\n", + "test_subarray_sum(total_max_subarray_sum, 10000, 42, -10, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "e8d24ed5-2c15-4f55-80e7-13a3952b3cb8", + "metadata": {}, + "outputs": [], + "source": [ + "# Request code optimization using GPT.\n", + "\n", + "optimization = optimize_gpt(python_hard_code, module_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "b888d5af", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C CODE:\n", + "#include \n", + "#include \n", + "#include \n", + "#include \n", + "#include \n", + "\n", + "// LCG step with 32-bit wrap-around\n", + "static inline uint32_t lcg_next(uint32_t *state) {\n", + " *state = (uint32_t)(1664525u * (*state) + 1013904223u);\n", + " return *state;\n", + "}\n", + "\n", + "static inline int add_overflow_int64(int64_t a, int64_t b, int64_t *res) {\n", + " if ((b > 0 && a > INT64_MAX - b) || (b < 0 && a < INT64_MIN - b)) return 1;\n", + " *res = a + b;\n", + " return 0;\n", + "}\n", + "\n", + "// Kadane for int64 array with overflow detection; returns PyLong or NULL (on overflow -> signal via *overflowed)\n", + "static PyObject* kadane_int64(const int64_t *arr, Py_ssize_t n, int *overflowed) {\n", + " if (n <= 0) {\n", + " return PyFloat_FromDouble(-INFINITY);\n", + " }\n", + " int64_t meh = arr[0];\n", + " int64_t msf = arr[0];\n", + " for (Py_ssize_t i = 1; i < n; ++i) {\n", + " int64_t x = arr[i];\n", + " if (meh > 0) {\n", + " int64_t tmp;\n", + " if (add_overflow_int64(meh, x, &tmp)) { *overflowed = 1; return NULL; }\n", + " meh = tmp;\n", + " } else {\n", + " meh = x;\n", + " }\n", + " if (meh > msf) msf = meh;\n", + " }\n", + " return PyLong_FromLongLong(msf);\n", + "}\n", + "\n", + "// Kadane for PyObject* integer array\n", + "static PyObject* kadane_big(PyObject **arr, Py_ssize_t n) {\n", + " if (n <= 0) {\n", + " return PyFloat_FromDouble(-INFINITY);\n", + " }\n", + " PyObject *meh = arr[0]; Py_INCREF(meh);\n", + " PyObject *msf = arr[0]; Py_INCREF(msf);\n", + " PyObject *zero = PyLong_FromLong(0);\n", + " if (!zero) { Py_DECREF(meh); Py_DECREF(msf); return NULL; }\n", + "\n", + " for (Py_ssize_t i = 1; i < n; ++i) {\n", + " int cmp = PyObject_RichCompareBool(meh, zero, Py_GT);\n", + " if (cmp < 0) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; }\n", + " if (cmp == 1) {\n", + " PyObject *t = PyNumber_Add(meh, arr[i]);\n", + " if (!t) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; }\n", + " Py_DECREF(meh);\n", + " meh = t;\n", + " } else {\n", + " Py_DECREF(meh);\n", + " meh = arr[i]; Py_INCREF(meh);\n", + " }\n", + " int cmp2 = PyObject_RichCompareBool(meh, msf, Py_GT);\n", + " if (cmp2 < 0) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; }\n", + " if (cmp2 == 1) {\n", + " Py_DECREF(msf);\n", + " msf = meh; Py_INCREF(msf);\n", + " }\n", + " }\n", + " Py_DECREF(meh);\n", + " Py_DECREF(zero);\n", + " return msf; // new reference\n", + "}\n", + "\n", + "// Generate int64 array fast path; returns 0 on success\n", + "static int gen_array_int64(Py_ssize_t n, uint32_t seed, int64_t min_v, int64_t max_v, int64_t *out) {\n", + " uint32_t state = seed;\n", + " uint64_t umax = (uint64_t)max_v;\n", + " uint64_t umin = (uint64_t)min_v;\n", + " uint64_t range = (umax - umin) + 1ULL; // max>=min guaranteed by caller\n", + " for (Py_ssize_t i = 0; i < n; ++i) {\n", + " state = lcg_next(&state);\n", + " uint32_t r32 = state;\n", + " uint64_t r = (range > 0x100000000ULL) ? (uint64_t)r32 : ((uint64_t)r32 % range);\n", + " int64_t val = (int64_t)(min_v + (int64_t)r);\n", + " out[i] = val;\n", + " }\n", + " return 0;\n", + "}\n", + "\n", + "// Generate PyObject* int array general path using Python arithmetic\n", + "static PyObject** gen_array_big(Py_ssize_t n, uint32_t seed, PyObject *min_val, PyObject *max_val) {\n", + " PyObject **arr = (PyObject**)PyMem_Malloc((n > 0 ? n : 1) * sizeof(PyObject*));\n", + " if (!arr) {\n", + " PyErr_NoMemory();\n", + " return NULL;\n", + " }\n", + " PyObject *one = PyLong_FromLong(1);\n", + " if (!one) { PyMem_Free(arr); return NULL; }\n", + " PyObject *diff = PyNumber_Subtract(max_val, min_val);\n", + " if (!diff) { Py_DECREF(one); PyMem_Free(arr); return NULL; }\n", + " PyObject *range_obj = PyNumber_Add(diff, one);\n", + " Py_DECREF(diff);\n", + " Py_DECREF(one);\n", + " if (!range_obj) { PyMem_Free(arr); return NULL; }\n", + "\n", + " uint32_t state = seed;\n", + " for (Py_ssize_t i = 0; i < n; ++i) {\n", + " state = lcg_next(&state);\n", + " PyObject *v = PyLong_FromUnsignedLong((unsigned long)state);\n", + " if (!v) {\n", + " Py_DECREF(range_obj);\n", + " for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]);\n", + " PyMem_Free(arr);\n", + " return NULL;\n", + " }\n", + " PyObject *r = PyNumber_Remainder(v, range_obj);\n", + " Py_DECREF(v);\n", + " if (!r) {\n", + " Py_DECREF(range_obj);\n", + " for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]);\n", + " PyMem_Free(arr);\n", + " return NULL;\n", + " }\n", + " PyObject *val = PyNumber_Add(r, min_val);\n", + " Py_DECREF(r);\n", + " if (!val) {\n", + " Py_DECREF(range_obj);\n", + " for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]);\n", + " PyMem_Free(arr);\n", + " return NULL;\n", + " }\n", + " arr[i] = val;\n", + " }\n", + " Py_DECREF(range_obj);\n", + " return arr;\n", + "}\n", + "\n", + "static PyObject* max_subarray_sum_internal(Py_ssize_t n, uint32_t seed, PyObject *min_val, PyObject *max_val) {\n", + " if (n <= 0) {\n", + " return PyFloat_FromDouble(-INFINITY);\n", + " }\n", + "\n", + " if (PyLong_Check(min_val) && PyLong_Check(max_val)) {\n", + " int overflow1 = 0, overflow2 = 0;\n", + " long long min64 = PyLong_AsLongLongAndOverflow(min_val, &overflow1);\n", + " if (overflow1) goto BIGINT_PATH;\n", + " long long max64 = PyLong_AsLongLongAndOverflow(max_val, &overflow2);\n", + " if (overflow2) goto BIGINT_PATH;\n", + " if (max64 >= min64) {\n", + " int64_t *arr = (int64_t*)PyMem_Malloc((size_t)n * sizeof(int64_t));\n", + " if (!arr) { PyErr_NoMemory(); return NULL; }\n", + " if (gen_array_int64(n, seed, (int64_t)min64, (int64_t)max64, arr) != 0) {\n", + " PyMem_Free(arr);\n", + " return NULL;\n", + " }\n", + " int overflowed = 0;\n", + " PyObject *res = kadane_int64(arr, n, &overflowed);\n", + " if (!res && overflowed) {\n", + " // fallback to big-int Kadane\n", + " PyObject **arr_obj = (PyObject**)PyMem_Malloc((size_t)n * sizeof(PyObject*));\n", + " if (!arr_obj) { PyMem_Free(arr); PyErr_NoMemory(); return NULL; }\n", + " for (Py_ssize_t i = 0; i < n; ++i) {\n", + " arr_obj[i] = PyLong_FromLongLong(arr[i]);\n", + " if (!arr_obj[i]) {\n", + " for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr_obj[k]);\n", + " PyMem_Free(arr_obj);\n", + " PyMem_Free(arr);\n", + " return NULL;\n", + " }\n", + " }\n", + " PyObject *bires = kadane_big(arr_obj, n);\n", + " for (Py_ssize_t i = 0; i < n; ++i) Py_DECREF(arr_obj[i]);\n", + " PyMem_Free(arr_obj);\n", + " PyMem_Free(arr);\n", + " return bires;\n", + " }\n", + " PyMem_Free(arr);\n", + " return res;\n", + " }\n", + " }\n", + "BIGINT_PATH: ;\n", + " PyObject **arr_obj = gen_array_big(n, seed, min_val, max_val);\n", + " if (!arr_obj) return NULL;\n", + " PyObject *res = kadane_big(arr_obj, n);\n", + " for (Py_ssize_t i = 0; i < n; ++i) Py_DECREF(arr_obj[i]);\n", + " PyMem_Free(arr_obj);\n", + " return res;\n", + "}\n", + "\n", + "static PyObject* py_max_subarray_sum(PyObject *self, PyObject *args) {\n", + " Py_ssize_t n;\n", + " PyObject *seed_obj, *min_val, *max_val;\n", + " if (!PyArg_ParseTuple(args, \"nOOO\", &n, &seed_obj, &min_val, &max_val)) return NULL;\n", + " if (n < 0) n = 0;\n", + " uint32_t seed = (uint32_t)(PyLong_AsUnsignedLongLongMask(seed_obj) & 0xFFFFFFFFULL);\n", + " if (PyErr_Occurred()) return NULL;\n", + " return max_subarray_sum_internal(n, seed, min_val, max_val);\n", + "}\n", + "\n", + "static PyObject* py_total_max_subarray_sum(PyObject *self, PyObject *args) {\n", + " Py_ssize_t n;\n", + " PyObject *init_seed_obj, *min_val, *max_val;\n", + " if (!PyArg_ParseTuple(args, \"nOOO\", &n, &init_seed_obj, &min_val, &max_val)) return NULL;\n", + " if (n < 0) n = 0;\n", + " uint32_t state = (uint32_t)(PyLong_AsUnsignedLongLongMask(init_seed_obj) & 0xFFFFFFFFULL);\n", + " if (PyErr_Occurred()) return NULL;\n", + "\n", + " PyObject *total = PyLong_FromLong(0);\n", + " if (!total) return NULL;\n", + "\n", + " for (int i = 0; i < 20; ++i) {\n", + " uint32_t seed = lcg_next(&state);\n", + " PyObject *part = max_subarray_sum_internal(n, seed, min_val, max_val);\n", + " if (!part) { Py_DECREF(total); return NULL; }\n", + " PyObject *new_total = PyNumber_Add(total, part);\n", + " Py_DECREF(part);\n", + " if (!new_total) { Py_DECREF(total); return NULL; }\n", + " Py_DECREF(total);\n", + " total = new_total;\n", + " }\n", + " return total;\n", + "}\n", + "\n", + "static PyMethodDef module_methods[] = {\n", + " {\"max_subarray_sum\", (PyCFunction)py_max_subarray_sum, METH_VARARGS, \"Compute maximum subarray sum using LCG-generated array.\"},\n", + " {\"total_max_subarray_sum\", (PyCFunction)py_total_max_subarray_sum, METH_VARARGS, \"Compute total of maximum subarray sums over 20 LCG seeds.\"},\n", + " {NULL, NULL, 0, NULL}\n", + "};\n", + "\n", + "static struct PyModuleDef moduledef = {\n", + " PyModuleDef_HEAD_INIT,\n", + " \"python_hard\",\n", + " NULL,\n", + " -1,\n", + " module_methods,\n", + " NULL,\n", + " NULL,\n", + " NULL,\n", + " NULL\n", + "};\n", + "\n", + "PyMODINIT_FUNC PyInit_python_hard(void) {\n", + " return PyModule_Create(&moduledef);\n", + "}\n", + "\n", + "---------------------------\n", + "setup.py:\n", + "from setuptools import setup, Extension\n", + "import sys\n", + "\n", + "extra_compile_args = []\n", + "extra_link_args = []\n", + "if sys.platform == 'win32':\n", + " extra_compile_args = ['/O2', '/Ot', '/GL', '/fp:fast']\n", + " extra_link_args = ['/LTCG']\n", + "else:\n", + " extra_compile_args = ['-O3', '-march=native']\n", + "\n", + "module = Extension(\n", + " name='python_hard',\n", + " sources=['python_hard.c'],\n", + " extra_compile_args=extra_compile_args,\n", + " extra_link_args=extra_link_args,\n", + " language='c'\n", + ")\n", + "\n", + "setup(\n", + " name='python_hard',\n", + " version='1.0.0',\n", + " description='High-performance C extension reimplementation',\n", + " ext_modules=[module]\n", + ")\n", + "\n", + "---------------------------\n", + "USAGE:\n", + "import time\n", + "\n", + "# Original Python code\n", + "\n", + "def lcg(seed, a=1664525, c=1013904223, m=2**32):\n", + " value = seed\n", + " while True:\n", + " value = (a * value + c) % m\n", + " yield value\n", + "\n", + "def max_subarray_sum_py(n, seed, min_val, max_val):\n", + " lcg_gen = lcg(seed)\n", + " random_numbers = [next(lcg_gen) % (max_val - min_val + 1) + min_val for _ in range(n)]\n", + " max_sum = float('-inf')\n", + " for i in range(n):\n", + " current_sum = 0\n", + " for j in range(i, n):\n", + " current_sum += random_numbers[j]\n", + " if current_sum > max_sum:\n", + " max_sum = current_sum\n", + " return max_sum\n", + "\n", + "def total_max_subarray_sum_py(n, initial_seed, min_val, max_val):\n", + " total_sum = 0\n", + " lcg_gen = lcg(initial_seed)\n", + " for _ in range(20):\n", + " seed = next(lcg_gen)\n", + " total_sum += max_subarray_sum_py(n, seed, min_val, max_val)\n", + " return total_sum\n", + "\n", + "# Build and import extension (after running: python setup.py build && install or develop)\n", + "import python_hard as ext\n", + "\n", + "# Example parameters\n", + "n = 600\n", + "initial_seed = 12345678901234567890\n", + "min_val = -1000\n", + "max_val = 1000\n", + "\n", + "# Time Python\n", + "t0 = time.perf_counter()\n", + "py_res1 = max_subarray_sum_py(n, (initial_seed * 1664525 + 1013904223) % (2**32), min_val, max_val)\n", + "t1 = time.perf_counter()\n", + "py_time1 = t1 - t0\n", + "\n", + "# Time C extension\n", + "t0 = time.perf_counter()\n", + "ext_res1 = ext.max_subarray_sum(n, (initial_seed * 1664525 + 1013904223) % (2**32), min_val, max_val)\n", + "t1 = time.perf_counter()\n", + "ext_time1 = t1 - t0\n", + "\n", + "print('max_subarray_sum equality:', py_res1 == ext_res1)\n", + "print('Python time:', py_time1)\n", + "print('C ext time:', ext_time1)\n", + "\n", + "# Total over 20 seeds\n", + "t0 = time.perf_counter()\n", + "py_res2 = total_max_subarray_sum_py(n, initial_seed, min_val, max_val)\n", + "t1 = time.perf_counter()\n", + "py_time2 = t1 - t0\n", + "\n", + "t0 = time.perf_counter()\n", + "ext_res2 = ext.total_max_subarray_sum(n, initial_seed, min_val, max_val)\n", + "t1 = time.perf_counter()\n", + "ext_time2 = t1 - t0\n", + "\n", + "print('total_max_subarray_sum equality:', py_res2 == ext_res2)\n", + "print('Python total time:', py_time2)\n", + "print('C ext total time:', ext_time2)\n", + "\n" + ] + } + ], + "source": [ + "# Print generated extension code.\n", + "\n", + "print_optimization(optimization)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "356969b8", + "metadata": {}, + "outputs": [], + "source": [ + "# Write the generated extension code to files.\n", + "# (Will overwrite existing files)\n", + "\n", + "write_optimization(optimization, module_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "e0b3d073-88a2-40b2-831c-6f0c345c256f", + "metadata": {}, + "outputs": [], + "source": [ + "# Clean previous builds.\n", + "# (Make sure to run this cell before running the compile cell a second time only)\n", + "# (May cast errors if no previous build exists)\n", + "\n", + "!rm -r build/" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "29ae1993", + "metadata": {}, + "outputs": [], + "source": [ + "# [WINDOWS ONLY]\n", + "# Set COMSPEC to cmd.exe to avoid issues with some C compilers on Windows.\n", + "# (Remember to restore original COMSPEC after compilation and testing)\n", + "preset_comspec = os.environ.get(\"COMSPEC\")\n", + "os.environ[\"COMSPEC\"] = \"C:\\\\Windows\\\\System32\\\\cmd.exe\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "772328a7", + "metadata": {}, + "outputs": [], + "source": [ + "# Compile the C extension.\n", + "# (Will fail no C compiler is installed)\n", + "# (In case of errors, try directly on the command line)\n", + "\n", + "!python setup.py build_ext --inplace" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "4186a19e", + "metadata": {}, + "outputs": [], + "source": [ + "# [WINDOWS ONLY]\n", + "# Restore original COMSPEC.\n", + "\n", + "os.environ[\"COMSPEC\"] = preset_comspec" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "64899bb1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_subarray_sum equality: True\n", + "Python time: 0.010335999992094003\n", + "C ext time: 1.4399993233382702e-05\n", + "total_max_subarray_sum equality: True\n", + "Python total time: 0.21065390000876505\n", + "C ext total time: 0.00012310000602155924\n" + ] + } + ], + "source": [ + "# Run the usage example to test the compiled C extension.\n", + "exec(optimization.usage)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "ee4f8f62", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Testing original Python code:\n", + "Total Maximum Subarray Sum (20 runs): 10980\n", + "Execution Time: 57.275276 seconds\n", + "Testing C extension code:\n", + "Total Maximum Subarray Sum (20 runs): 10980\n", + "Execution Time: 0.002317 seconds\n" + ] + } + ], + "source": [ + "# Import newly created C extension and compare performance with original Python code.\n", + "\n", + "from python_hard import total_max_subarray_sum as c_total_max_subarray_sum\n", + "\n", + "print(\"Testing original Python code:\")\n", + "test_subarray_sum(total_max_subarray_sum, 10000, 42, -10, 10)\n", + "print(\"Testing C extension code:\")\n", + "test_subarray_sum(c_total_max_subarray_sum, 10000, 42, -10, 10)" + ] + }, + { + "cell_type": "markdown", + "id": "85945330", + "metadata": {}, + "source": [ + "# Let's build a Gradio service" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "2f1ae8f5-16c8-40a0-aa18-63b617df078d", + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to call the optimization process and return the generated codes.\n", + "\n", + "def optimize(python_code, module_name, model):\n", + " \"\"\"Call the optimization process and return the generated codes.\"\"\"\n", + " optimization = optimize_gpt(python_code, module_name, model)\n", + " return optimization.c_code, optimization.setup, optimization.usage" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "19bf2bff-a822-4009-a539-f003b1651383", + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to execute Python code and capture its output.\n", + "\n", + "def execute_python(code):\n", + " \"\"\"Execute the given Python code and capture its output.\"\"\"\n", + " try:\n", + " output = io.StringIO()\n", + " sys.stdout = output\n", + " exec(code)\n", + " finally:\n", + " sys.stdout = sys.__stdout__\n", + " return output.getvalue()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "5fd83307", + "metadata": {}, + "outputs": [], + "source": [ + "# Extension compilation function.\n", + "\n", + "def build_extension():\n", + " \"\"\"Compile the C extension using 'setup.py' and return the compilation output.\"\"\"\n", + " # Set default COMSPEC to cmd.exe on Windows to avoid issues with some C compilers.\n", + " preset_comspec = os.environ.get(\"COMSPEC\")\n", + " os.environ[\"COMSPEC\"] = \"C:\\\\Windows\\\\System32\\\\cmd.exe\"\n", + " try:\n", + " compile_cmd = [\"python\", \"setup.py\", \"build_ext\", \"--inplace\"]\n", + " compile_result = subprocess.run(compile_cmd, env=os.environ,\n", + " check=True, text=True, capture_output=True)\n", + " except subprocess.CalledProcessError as ex:\n", + " raise Exception(f\"An error occurred while building:\\n{ex.stdout}\\n{ex.stderr}\")\n", + " finally: # The 'finally' clauses executes always whether there was an exception or not.\n", + " # Restore original COMSPEC.\n", + " os.environ[\"COMSPEC\"] = preset_comspec\n", + " return compile_result.stdout" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "77f3ab5d-fcfb-4d3f-8728-9cacbf833ea6", + "metadata": {}, + "outputs": [], + "source": [ + "# Extension compilation function.\n", + "\n", + "def generate_extension(c_code, setup_code, usage_code, module_name):\n", + " \"\"\"Build and install the C extension from the provided codes.\"\"\"\n", + " try: # Write the provided codes to their respective files.\n", + " write_file(c_code, f\"{module_name}.c\")\n", + " write_file(setup_code, \"setup.py\")\n", + " except Exception as ex:\n", + " return f\"An error occurred while writing files:\\n{ex}\"\n", + " # Build the extension and capture the output.\n", + " try:\n", + " build_output = build_extension()\n", + " except Exception as ex: # If build fails, return the error message.\n", + " return str(ex)\n", + " # Return the combined output of build and install processes.\n", + " return build_output" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "51f78871", + "metadata": {}, + "outputs": [], + "source": [ + "# Extension testing function.\n", + "\n", + "def test_extension(usage_code):\n", + " \"\"\"Test the installed C extension by executing the provided usage code and capturing its output.\"\"\"\n", + " try: # Write the provided codes to their respective files.\n", + " write_file(usage_code, \"usage_example.py\")\n", + " except Exception as ex:\n", + " return f\"An error occurred while writing test file:\\n{ex}\"\n", + " try:\n", + " output = execute_python(usage_code)\n", + " except Exception as ex:\n", + " return f\"An error occurred while testing the extension:\\n{ex}\"\n", + " return output" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "9a2274f1-d03b-42c0-8dcc-4ce159b18442", + "metadata": {}, + "outputs": [], + "source": [ + "# Define custom CSS for Gradio interface.\n", + "\n", + "css = \"\"\"\n", + ".python {background-color: #306998;}\n", + ".c_ext {background-color: #050;}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "c7c8f5fc", + "metadata": {}, + "outputs": [], + "source": [ + "# Define default codes for the interface.\n", + "\n", + "default_p_code = \"\"\"\n", + "def hello_world():\n", + " print(\"Hello, World!\")\n", + "\"\"\"\n", + "# default_p_code = python_hard_code # Run the declaration cell before use.\n", + "# default_p_code = calculate_pi_code # Run the declaration cell before use.\n", + "\n", + "default_c_code = r\"\"\"\n", + "#include \n", + "\n", + "// Function to be called from Python\n", + "static PyObject* zz_hello_world(PyObject* self, PyObject* args) {\n", + " printf(\"Hello, World!\\n\");\n", + " Py_RETURN_NONE;\n", + "}\n", + "\n", + "// Method definition structure\n", + "static PyMethodDef zz_my_methods[] = {\n", + " {\"hello_world\", zz_hello_world, METH_VARARGS, \"Print 'Hello, World!'\"},\n", + " {NULL, NULL, 0, NULL} // Sentinel\n", + "};\n", + "\n", + "// Module definition\n", + "static struct PyModuleDef zz_my_module = {\n", + " PyModuleDef_HEAD_INIT,\n", + " \"zz_my_module\",\n", + " \"Extension module that prints Hello, World!\",\n", + " -1,\n", + " zz_my_methods\n", + "};\n", + "\n", + "// Module initialization function\n", + "PyMODINIT_FUNC PyInit_zz_my_module(void) {\n", + " return PyModule_Create(&zz_my_module);\n", + "}\n", + "\"\"\"\n", + "\n", + "default_setup = \"\"\"\n", + "from setuptools import setup, Extension\n", + "\n", + "module = Extension(\n", + " 'zz_my_module',\n", + " sources=['zz_my_module.c'],\n", + ")\n", + "\n", + "setup(\n", + " name='zz_my_module',\n", + " version='1.0',\n", + " description='This is a custom C extension module.',\n", + " ext_modules=[module]\n", + ")\n", + "\"\"\"\n", + "\n", + "default_test = \"\"\"\n", + "import time\n", + "import zz_my_module\n", + "\n", + "def python_hello_world():\n", + " print(\"Hello, World!\")\n", + "\n", + "start = time.time()\n", + "python_hello_world()\n", + "end = time.time()\n", + "print(f\"Python function execution time: {end - start:.6f} seconds\")\n", + "\n", + "start = time.time()\n", + "zz_my_module.hello_world()\n", + "end = time.time()\n", + "print(f\"C extension execution time: {end - start:.6f} seconds\")\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "fa64577a", + "metadata": {}, + "outputs": [], + "source": [ + "# We will use gradio auto reload feature, this way we do not need to restart the app to see changes in the code.\n", + "# * https://www.gradio.app/guides/developing-faster-with-reload-mode\n", + "\n", + "%load_ext gradio\n", + "\n", + "# This mandatory requires naming the 'gr.Blocks' interface as 'demo'.\n", + "# Now, each time we edit the code, we just need to re-run Gradio interface cell to see the changes in the app.\n", + "# The '.launch()' method is not needed anymore." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1303932-160c-424b-97a8-d28c816721b2", + "metadata": {}, + "outputs": [], + "source": [ + "%%blocks\n", + "\n", + "with gr.Blocks(css=css) as demo:\n", + " gr.Markdown(\"## Convert code from Python to C++\")\n", + " with gr.Row():\n", + " module_name = gr.Textbox(label=\"Module name:\", lines=1, value=\"zz_my_module\")\n", + " model = gr.Dropdown([\"gpt-4o\", \"gpt-5\"], label=\"Select model\", value=\"gpt-4o\")\n", + " with gr.Row():\n", + " python = gr.Textbox(label=\"Python code:\", lines=30, value=default_p_code, elem_classes=[\"python\"])\n", + " c_code = gr.Textbox(label=\"C Extension code:\", lines=30, value=default_c_code, elem_classes=[\"c_ext\"])\n", + " with gr.Row():\n", + " get_extension = gr.Button(\"Generate extension code\")\n", + " with gr.Row():\n", + " setup_code = gr.Textbox(label=\"Compilation code:\", lines=10, value=default_setup, elem_classes=[\"python\"])\n", + " usage_code = gr.Textbox(label=\"Test compare code:\", lines=10, value=default_test, elem_classes=[\"python\"])\n", + " with gr.Row():\n", + " compile_ext = gr.Button(\"Compile extension\")\n", + " with gr.Row():\n", + " c_ext_out = gr.TextArea(label=\"C Extension result:\", elem_classes=[\"c_ext\"])\n", + " with gr.Row():\n", + " test_run = gr.Button(\"Test code\")\n", + " with gr.Row():\n", + " test_out = gr.TextArea(label=\"Test result:\", elem_classes=[\"python\"])\n", + "\n", + " get_extension.click(optimize, inputs=[python, module_name, model], outputs=[c_code, setup_code, usage_code])\n", + " compile_ext.click(generate_extension, inputs=[c_code, setup_code, usage_code, module_name ], outputs=[c_ext_out])\n", + " test_run.click(test_extension, inputs=[usage_code], outputs=[test_out])\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llm-engineering-pYAzjokc", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 78a3ee10b234f292421bf79844ea8d3b956bb961 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Mon, 1 Sep 2025 01:37:59 +0200 Subject: [PATCH 148/176] Added sample files generated on the three different scenarios. Including C code, setup.py and run example code for: * Pi calculation with Leibniz formula. * Max sub-array calculation. (Aka: Python Hard) * Default for Gradio: Hello world. (Aka: _zz_my_module) --- .../c_extension_generator/calculate_pi.c | 83 ++++++ .../c_extension_generator/python_hard.c | 244 ++++++++++++++++++ .../setup_calculate_pi.py | 25 ++ .../setup_python_hard.py | 25 ++ .../setup_zz_my_module.py | 14 + .../usage_example_calculate_pi.py | 38 +++ .../usage_example_python_hard.py | 69 +++++ .../usage_example_zz_my_module.py | 16 ++ .../c_extension_generator/zz_my_module.c | 28 ++ 9 files changed, 542 insertions(+) create mode 100644 week4/community-contributions/c_extension_generator/calculate_pi.c create mode 100644 week4/community-contributions/c_extension_generator/python_hard.c create mode 100644 week4/community-contributions/c_extension_generator/setup_calculate_pi.py create mode 100644 week4/community-contributions/c_extension_generator/setup_python_hard.py create mode 100644 week4/community-contributions/c_extension_generator/setup_zz_my_module.py create mode 100644 week4/community-contributions/c_extension_generator/usage_example_calculate_pi.py create mode 100644 week4/community-contributions/c_extension_generator/usage_example_python_hard.py create mode 100644 week4/community-contributions/c_extension_generator/usage_example_zz_my_module.py create mode 100644 week4/community-contributions/c_extension_generator/zz_my_module.c diff --git a/week4/community-contributions/c_extension_generator/calculate_pi.c b/week4/community-contributions/c_extension_generator/calculate_pi.c new file mode 100644 index 0000000..c0b7f03 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/calculate_pi.c @@ -0,0 +1,83 @@ +#define PY_SSIZE_T_CLEAN +#include +#include +#include +#include +#include + +static PyObject* leibniz_pi(PyObject* self, PyObject* args) { + PyObject* iterations_obj; + if (!PyArg_ParseTuple(args, "O", &iterations_obj)) { + return NULL; + } + + long long n_signed; + int overflow = 0; + n_signed = PyLong_AsLongLongAndOverflow(iterations_obj, &overflow); + if (n_signed == -1 && PyErr_Occurred() && overflow == 0) { + return NULL; + } + + unsigned long long n = 0ULL; + if (overflow < 0) { + n = 0ULL; + } else if (overflow > 0) { + unsigned long long tmp = PyLong_AsUnsignedLongLong(iterations_obj); + if (tmp == (unsigned long long)-1 && PyErr_Occurred()) { + return NULL; + } + n = tmp; + } else { + if (n_signed <= 0) { + n = 0ULL; + } else { + n = (unsigned long long)n_signed; + } + } + + double result = 1.0; + if (n == 0ULL) { + return PyFloat_FromDouble(result * 4.0); + } + + Py_BEGIN_ALLOW_THREADS + for (unsigned long long i = 1ULL; i <= n; ++i) { + double jd1; + if (i <= ULLONG_MAX / 4ULL) { + unsigned long long j1 = i * 4ULL - 1ULL; + jd1 = (double)j1; + } else { + jd1 = (double)i * 4.0 - 1.0; + } + result -= 1.0 / jd1; + + double jd2; + if (i <= (ULLONG_MAX - 1ULL) / 4ULL) { + unsigned long long j2 = i * 4ULL + 1ULL; + jd2 = (double)j2; + } else { + jd2 = (double)i * 4.0 + 1.0; + } + result += 1.0 / jd2; + } + Py_END_ALLOW_THREADS + + return PyFloat_FromDouble(result * 4.0); +} + +static PyMethodDef CalculatePiMethods[] = { + {"leibniz_pi", leibniz_pi, METH_VARARGS, "Compute pi using the Leibniz series with the given number of iterations."}, + {NULL, NULL, 0, NULL} +}; + +static struct PyModuleDef calculate_pimodule = { + PyModuleDef_HEAD_INIT, + "calculate_pi", + "High-performance Leibniz pi calculation.", + -1, + CalculatePiMethods +}; + +PyMODINIT_FUNC PyInit_calculate_pi(void) { + return PyModule_Create(&calculate_pimodule); +} diff --git a/week4/community-contributions/c_extension_generator/python_hard.c b/week4/community-contributions/c_extension_generator/python_hard.c new file mode 100644 index 0000000..67968ea --- /dev/null +++ b/week4/community-contributions/c_extension_generator/python_hard.c @@ -0,0 +1,244 @@ +#include +#include +#include +#include +#include + +// LCG step with 32-bit wrap-around +static inline uint32_t lcg_next(uint32_t *state) { + *state = (uint32_t)(1664525u * (*state) + 1013904223u); + return *state; +} + +static inline int add_overflow_int64(int64_t a, int64_t b, int64_t *res) { + if ((b > 0 && a > INT64_MAX - b) || (b < 0 && a < INT64_MIN - b)) return 1; + *res = a + b; + return 0; +} + +// Kadane for int64 array with overflow detection; returns PyLong or NULL (on overflow -> signal via *overflowed) +static PyObject* kadane_int64(const int64_t *arr, Py_ssize_t n, int *overflowed) { + if (n <= 0) { + return PyFloat_FromDouble(-INFINITY); + } + int64_t meh = arr[0]; + int64_t msf = arr[0]; + for (Py_ssize_t i = 1; i < n; ++i) { + int64_t x = arr[i]; + if (meh > 0) { + int64_t tmp; + if (add_overflow_int64(meh, x, &tmp)) { *overflowed = 1; return NULL; } + meh = tmp; + } else { + meh = x; + } + if (meh > msf) msf = meh; + } + return PyLong_FromLongLong(msf); +} + +// Kadane for PyObject* integer array +static PyObject* kadane_big(PyObject **arr, Py_ssize_t n) { + if (n <= 0) { + return PyFloat_FromDouble(-INFINITY); + } + PyObject *meh = arr[0]; Py_INCREF(meh); + PyObject *msf = arr[0]; Py_INCREF(msf); + PyObject *zero = PyLong_FromLong(0); + if (!zero) { Py_DECREF(meh); Py_DECREF(msf); return NULL; } + + for (Py_ssize_t i = 1; i < n; ++i) { + int cmp = PyObject_RichCompareBool(meh, zero, Py_GT); + if (cmp < 0) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; } + if (cmp == 1) { + PyObject *t = PyNumber_Add(meh, arr[i]); + if (!t) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; } + Py_DECREF(meh); + meh = t; + } else { + Py_DECREF(meh); + meh = arr[i]; Py_INCREF(meh); + } + int cmp2 = PyObject_RichCompareBool(meh, msf, Py_GT); + if (cmp2 < 0) { Py_DECREF(meh); Py_DECREF(msf); Py_DECREF(zero); return NULL; } + if (cmp2 == 1) { + Py_DECREF(msf); + msf = meh; Py_INCREF(msf); + } + } + Py_DECREF(meh); + Py_DECREF(zero); + return msf; // new reference +} + +// Generate int64 array fast path; returns 0 on success +static int gen_array_int64(Py_ssize_t n, uint32_t seed, int64_t min_v, int64_t max_v, int64_t *out) { + uint32_t state = seed; + uint64_t umax = (uint64_t)max_v; + uint64_t umin = (uint64_t)min_v; + uint64_t range = (umax - umin) + 1ULL; // max>=min guaranteed by caller + for (Py_ssize_t i = 0; i < n; ++i) { + state = lcg_next(&state); + uint32_t r32 = state; + uint64_t r = (range > 0x100000000ULL) ? (uint64_t)r32 : ((uint64_t)r32 % range); + int64_t val = (int64_t)(min_v + (int64_t)r); + out[i] = val; + } + return 0; +} + +// Generate PyObject* int array general path using Python arithmetic +static PyObject** gen_array_big(Py_ssize_t n, uint32_t seed, PyObject *min_val, PyObject *max_val) { + PyObject **arr = (PyObject**)PyMem_Malloc((n > 0 ? n : 1) * sizeof(PyObject*)); + if (!arr) { + PyErr_NoMemory(); + return NULL; + } + PyObject *one = PyLong_FromLong(1); + if (!one) { PyMem_Free(arr); return NULL; } + PyObject *diff = PyNumber_Subtract(max_val, min_val); + if (!diff) { Py_DECREF(one); PyMem_Free(arr); return NULL; } + PyObject *range_obj = PyNumber_Add(diff, one); + Py_DECREF(diff); + Py_DECREF(one); + if (!range_obj) { PyMem_Free(arr); return NULL; } + + uint32_t state = seed; + for (Py_ssize_t i = 0; i < n; ++i) { + state = lcg_next(&state); + PyObject *v = PyLong_FromUnsignedLong((unsigned long)state); + if (!v) { + Py_DECREF(range_obj); + for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]); + PyMem_Free(arr); + return NULL; + } + PyObject *r = PyNumber_Remainder(v, range_obj); + Py_DECREF(v); + if (!r) { + Py_DECREF(range_obj); + for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]); + PyMem_Free(arr); + return NULL; + } + PyObject *val = PyNumber_Add(r, min_val); + Py_DECREF(r); + if (!val) { + Py_DECREF(range_obj); + for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr[k]); + PyMem_Free(arr); + return NULL; + } + arr[i] = val; + } + Py_DECREF(range_obj); + return arr; +} + +static PyObject* max_subarray_sum_internal(Py_ssize_t n, uint32_t seed, PyObject *min_val, PyObject *max_val) { + if (n <= 0) { + return PyFloat_FromDouble(-INFINITY); + } + + if (PyLong_Check(min_val) && PyLong_Check(max_val)) { + int overflow1 = 0, overflow2 = 0; + long long min64 = PyLong_AsLongLongAndOverflow(min_val, &overflow1); + if (overflow1) goto BIGINT_PATH; + long long max64 = PyLong_AsLongLongAndOverflow(max_val, &overflow2); + if (overflow2) goto BIGINT_PATH; + if (max64 >= min64) { + int64_t *arr = (int64_t*)PyMem_Malloc((size_t)n * sizeof(int64_t)); + if (!arr) { PyErr_NoMemory(); return NULL; } + if (gen_array_int64(n, seed, (int64_t)min64, (int64_t)max64, arr) != 0) { + PyMem_Free(arr); + return NULL; + } + int overflowed = 0; + PyObject *res = kadane_int64(arr, n, &overflowed); + if (!res && overflowed) { + // fallback to big-int Kadane + PyObject **arr_obj = (PyObject**)PyMem_Malloc((size_t)n * sizeof(PyObject*)); + if (!arr_obj) { PyMem_Free(arr); PyErr_NoMemory(); return NULL; } + for (Py_ssize_t i = 0; i < n; ++i) { + arr_obj[i] = PyLong_FromLongLong(arr[i]); + if (!arr_obj[i]) { + for (Py_ssize_t k = 0; k < i; ++k) Py_DECREF(arr_obj[k]); + PyMem_Free(arr_obj); + PyMem_Free(arr); + return NULL; + } + } + PyObject *bires = kadane_big(arr_obj, n); + for (Py_ssize_t i = 0; i < n; ++i) Py_DECREF(arr_obj[i]); + PyMem_Free(arr_obj); + PyMem_Free(arr); + return bires; + } + PyMem_Free(arr); + return res; + } + } +BIGINT_PATH: ; + PyObject **arr_obj = gen_array_big(n, seed, min_val, max_val); + if (!arr_obj) return NULL; + PyObject *res = kadane_big(arr_obj, n); + for (Py_ssize_t i = 0; i < n; ++i) Py_DECREF(arr_obj[i]); + PyMem_Free(arr_obj); + return res; +} + +static PyObject* py_max_subarray_sum(PyObject *self, PyObject *args) { + Py_ssize_t n; + PyObject *seed_obj, *min_val, *max_val; + if (!PyArg_ParseTuple(args, "nOOO", &n, &seed_obj, &min_val, &max_val)) return NULL; + if (n < 0) n = 0; + uint32_t seed = (uint32_t)(PyLong_AsUnsignedLongLongMask(seed_obj) & 0xFFFFFFFFULL); + if (PyErr_Occurred()) return NULL; + return max_subarray_sum_internal(n, seed, min_val, max_val); +} + +static PyObject* py_total_max_subarray_sum(PyObject *self, PyObject *args) { + Py_ssize_t n; + PyObject *init_seed_obj, *min_val, *max_val; + if (!PyArg_ParseTuple(args, "nOOO", &n, &init_seed_obj, &min_val, &max_val)) return NULL; + if (n < 0) n = 0; + uint32_t state = (uint32_t)(PyLong_AsUnsignedLongLongMask(init_seed_obj) & 0xFFFFFFFFULL); + if (PyErr_Occurred()) return NULL; + + PyObject *total = PyLong_FromLong(0); + if (!total) return NULL; + + for (int i = 0; i < 20; ++i) { + uint32_t seed = lcg_next(&state); + PyObject *part = max_subarray_sum_internal(n, seed, min_val, max_val); + if (!part) { Py_DECREF(total); return NULL; } + PyObject *new_total = PyNumber_Add(total, part); + Py_DECREF(part); + if (!new_total) { Py_DECREF(total); return NULL; } + Py_DECREF(total); + total = new_total; + } + return total; +} + +static PyMethodDef module_methods[] = { + {"max_subarray_sum", (PyCFunction)py_max_subarray_sum, METH_VARARGS, "Compute maximum subarray sum using LCG-generated array."}, + {"total_max_subarray_sum", (PyCFunction)py_total_max_subarray_sum, METH_VARARGS, "Compute total of maximum subarray sums over 20 LCG seeds."}, + {NULL, NULL, 0, NULL} +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "python_hard", + NULL, + -1, + module_methods, + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC PyInit_python_hard(void) { + return PyModule_Create(&moduledef); +} diff --git a/week4/community-contributions/c_extension_generator/setup_calculate_pi.py b/week4/community-contributions/c_extension_generator/setup_calculate_pi.py new file mode 100644 index 0000000..ecb4067 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/setup_calculate_pi.py @@ -0,0 +1,25 @@ +from setuptools import setup, Extension +import sys +import os + +extra_compile_args = [] +extra_link_args = [] + +if os.name == 'nt': + extra_compile_args.extend(['/O2', '/fp:precise']) +else: + extra_compile_args.extend(['-O3', '-fno-strict-aliasing']) + +module = Extension( + 'calculate_pi', + sources=['calculate_pi.c'], + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, +) + +setup( + name='calculate_pi', + version='1.0.0', + description='High-performance C extension for computing pi via the Leibniz series', + ext_modules=[module], +) diff --git a/week4/community-contributions/c_extension_generator/setup_python_hard.py b/week4/community-contributions/c_extension_generator/setup_python_hard.py new file mode 100644 index 0000000..20d3d3f --- /dev/null +++ b/week4/community-contributions/c_extension_generator/setup_python_hard.py @@ -0,0 +1,25 @@ +from setuptools import setup, Extension +import sys + +extra_compile_args = [] +extra_link_args = [] +if sys.platform == 'win32': + extra_compile_args = ['/O2', '/Ot', '/GL', '/fp:fast'] + extra_link_args = ['/LTCG'] +else: + extra_compile_args = ['-O3', '-march=native'] + +module = Extension( + name='python_hard', + sources=['python_hard.c'], + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, + language='c' +) + +setup( + name='python_hard', + version='1.0.0', + description='High-performance C extension reimplementation', + ext_modules=[module] +) diff --git a/week4/community-contributions/c_extension_generator/setup_zz_my_module.py b/week4/community-contributions/c_extension_generator/setup_zz_my_module.py new file mode 100644 index 0000000..bb0d27b --- /dev/null +++ b/week4/community-contributions/c_extension_generator/setup_zz_my_module.py @@ -0,0 +1,14 @@ + +from setuptools import setup, Extension + +module = Extension( + 'zz_my_module', + sources=['zz_my_module.c'], +) + +setup( + name='zz_my_module', + version='1.0', + description='This is a custom C extension module.', + ext_modules=[module] +) diff --git a/week4/community-contributions/c_extension_generator/usage_example_calculate_pi.py b/week4/community-contributions/c_extension_generator/usage_example_calculate_pi.py new file mode 100644 index 0000000..c3cc418 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/usage_example_calculate_pi.py @@ -0,0 +1,38 @@ +# Build first: python setup.py build_ext --inplace +import time +import math +import calculate_pi + +# Original Python implementation +def py_leibniz_pi(iterations): + result = 1.0 + for i in range(1, iterations + 1): + j = i * 4 - 1 + result -= (1 / j) + j = i * 4 + 1 + result += (1 / j) + return result * 4 + +iters = 5_000_000 + +# Warm-up +calculate_pi.leibniz_pi(10) +py_leibniz_pi(10) + +start = time.perf_counter() +res_c = calculate_pi.leibniz_pi(iters) +end = time.perf_counter() +ctime = end - start + +start = time.perf_counter() +res_py = py_leibniz_pi(iters) +end = time.perf_counter() +pytime = end - start + +print(f"Iterations: {iters}") +print(f"C extension result: {res_c}") +print(f"Python result: {res_py}") +print(f"Absolute difference: {abs(res_c - res_py)}") +print(f"C extension time: {ctime:.6f} s") +print(f"Python time: {pytime:.6f} s") +print(f"Speedup: {pytime/ctime if ctime > 0 else float('inf'):.2f}x") diff --git a/week4/community-contributions/c_extension_generator/usage_example_python_hard.py b/week4/community-contributions/c_extension_generator/usage_example_python_hard.py new file mode 100644 index 0000000..552b0b5 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/usage_example_python_hard.py @@ -0,0 +1,69 @@ +import time + +# Original Python code + +def lcg(seed, a=1664525, c=1013904223, m=2**32): + value = seed + while True: + value = (a * value + c) % m + yield value + +def max_subarray_sum_py(n, seed, min_val, max_val): + lcg_gen = lcg(seed) + random_numbers = [next(lcg_gen) % (max_val - min_val + 1) + min_val for _ in range(n)] + max_sum = float('-inf') + for i in range(n): + current_sum = 0 + for j in range(i, n): + current_sum += random_numbers[j] + if current_sum > max_sum: + max_sum = current_sum + return max_sum + +def total_max_subarray_sum_py(n, initial_seed, min_val, max_val): + total_sum = 0 + lcg_gen = lcg(initial_seed) + for _ in range(20): + seed = next(lcg_gen) + total_sum += max_subarray_sum_py(n, seed, min_val, max_val) + return total_sum + +# Build and import extension (after running: python setup.py build && install or develop) +import python_hard as ext + +# Example parameters +n = 600 +initial_seed = 12345678901234567890 +min_val = -1000 +max_val = 1000 + +# Time Python +t0 = time.perf_counter() +py_res1 = max_subarray_sum_py(n, (initial_seed * 1664525 + 1013904223) % (2**32), min_val, max_val) +t1 = time.perf_counter() +py_time1 = t1 - t0 + +# Time C extension +t0 = time.perf_counter() +ext_res1 = ext.max_subarray_sum(n, (initial_seed * 1664525 + 1013904223) % (2**32), min_val, max_val) +t1 = time.perf_counter() +ext_time1 = t1 - t0 + +print('max_subarray_sum equality:', py_res1 == ext_res1) +print('Python time:', py_time1) +print('C ext time:', ext_time1) + +# Total over 20 seeds +t0 = time.perf_counter() +py_res2 = total_max_subarray_sum_py(n, initial_seed, min_val, max_val) +t1 = time.perf_counter() +py_time2 = t1 - t0 + +t0 = time.perf_counter() +ext_res2 = ext.total_max_subarray_sum(n, initial_seed, min_val, max_val) +t1 = time.perf_counter() +ext_time2 = t1 - t0 + +print('total_max_subarray_sum equality:', py_res2 == ext_res2) +print('Python total time:', py_time2) +print('C ext total time:', ext_time2) diff --git a/week4/community-contributions/c_extension_generator/usage_example_zz_my_module.py b/week4/community-contributions/c_extension_generator/usage_example_zz_my_module.py new file mode 100644 index 0000000..6404cd3 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/usage_example_zz_my_module.py @@ -0,0 +1,16 @@ + +import time +import zz_my_module + +def python_hello_world(): + print("Hello, World!") + +start = time.time() +python_hello_world() +end = time.time() +print(f"Python function execution time: {end - start:.6f} seconds") + +start = time.time() +zz_my_module.hello_world() +end = time.time() +print(f"C extension execution time: {end - start:.6f} seconds") diff --git a/week4/community-contributions/c_extension_generator/zz_my_module.c b/week4/community-contributions/c_extension_generator/zz_my_module.c new file mode 100644 index 0000000..2593233 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/zz_my_module.c @@ -0,0 +1,28 @@ + +#include + +// Function to be called from Python +static PyObject* zz_hello_world(PyObject* self, PyObject* args) { + printf("Hello, World!\n"); + Py_RETURN_NONE; +} + +// Method definition structure +static PyMethodDef zz_my_methods[] = { + {"hello_world", zz_hello_world, METH_VARARGS, "Print 'Hello, World!'"}, + {NULL, NULL, 0, NULL} // Sentinel +}; + +// Module definition +static struct PyModuleDef zz_my_module = { + PyModuleDef_HEAD_INIT, + "zz_my_module", + "Extension module that prints Hello, World!", + -1, + zz_my_methods +}; + +// Module initialization function +PyMODINIT_FUNC PyInit_zz_my_module(void) { + return PyModule_Create(&zz_my_module); +} From 23856653adc4b1e7df4684971e729113ca70263d Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Mon, 1 Sep 2025 02:20:46 +0200 Subject: [PATCH 149/176] Added README.md describing Gradio app. --- .../c_extension_generator/README.md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 week4/community-contributions/c_extension_generator/README.md diff --git a/week4/community-contributions/c_extension_generator/README.md b/week4/community-contributions/c_extension_generator/README.md new file mode 100644 index 0000000..92df278 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/README.md @@ -0,0 +1,131 @@ +# Python C Extension code generator + +This folder contains a Jupyter notebook that demonstrates how to use a Frontier model +to generate high-performance Python C extension code from Python code. + +The notebook includes examples of generating C extensions for calculating Pi using the +Leibniz formula and finding the maximum sub-array in an array. + +Also, it includes a Gradio app that provides an interactive interface for users to input +Python code, generate C extension code, compile it, and test its performance against +the original Python code. + +> [!CAUTION] +> +> **Always review the generated codes before running them, as they will be executed in +> your local environment and may contain code that could be harmful or unwanted.** +> +> AI-generated code may contain errors or unsafe practices, so it's crucial to +> thoroughly review and test any code before using it in a production environment. +> +> Never run code generated by AI models without understanding its implications and +> ensuring it adheres to your security and safety standards. + +> [!IMPORTANT] +> +> **Disclaimer:** This notebook and the Gradio app are provided for educational purposes +> only. Use them at your own risk. + +## Gradio app overview + +In this image, you can see the Gradio app dashboard whose main sections are +described below. + +![Gradio app dashboard](gradio_dashboard.png)\ +*Image: Gradio app dashboard with default example `hello world` code loaded.* +*(compile output redacted for privacy)* + +Sections: + +* **Dropdown selectors and input fields**: + * **Module name input**: + A text input field where users can specify the name of the C extension module to be + generated. + + That name will be used to create the C extension file `.c` and + the `setup.py` file required to compile the extension. + + That name will also be used to import the compiled module as usual in Python: + + ```python + import + ``` + + Or + + ```python + from import + ``` + + * **Model selector**: + A dropdown menu to select the Frontier model to use for code generation. + + Currently it includes: + * `gpt-4o` (default) + * `gpt-5` + +* **Text input areas**: + + This areas are all editable, included those filled with generated code by the model. + this allows users to modify and experiment with the code as needed. + + * **Python code**: + A text area where users can input their Python code. + * **C extension code**: + A text area that displays the generated C extension code and allows to edit it. + * **Compilation code**: + A text area that shows the `setup.py` file generated, + this file is required to compile the C extension. + * **Test compare code**: + A text area that provides example code to run the compiled C extension. + +* **Output areas**: + + This are non-editable areas that display the results of various operations. + + * **C Extension result**: + A text area that displays the output of the C extension code build. + + Beware that this area can contain a large amount of text including warnings during + the compilation process and sensible information about the local environment, + like: paths, Python version, etc may be included. + + Redact that information if you plan to share the output. + + * **Test result**: + A text area that displays the output of the test code run. + +* **Buttons**: + * **Generate extension code**: + A button that triggers the generation of the C extension code from the provided + Python code. + + It will call the Frontier model to generate the C code, the setup.py file and + the test code, filling the corresponding text areas automatically. + + * **Compile extension**: + A button that compiles the generated C extension using the provided `setup.py` file. + It will create the extension c file, `.c` and the `setup.py` files in + the local folder, then it will run the compilation command and build the C extension. + + > [!CAUTION] + > + > **Always review the `setup.py` code before running it, as it will be executed in + > your local environment and may contain code that could be harmful or unwanted.** + > + > **Also review the generated C code, as it will be compiled and executed in your + > local environment and may contain code that could be harmful or unwanted.** + + It will display the compilation output in the "C Extension result" area. + + * **Test code**: + A button that executes the test code to compare the performance of the original + Python code and the generated C extension. + + > [!CAUTION] + > + > **Always review the test code before running it, as it will be executed in + > your local environment and may contain code that could be harmful or unwanted.** + + Will save the test code provided in the "Test compare code" into the + `usage_example.py` file and execute it showing the output in the "Test result" area. From 86ae3b9a1ee3c22af6d9b0db674bc9bf0ced7d24 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Mon, 1 Sep 2025 02:25:02 +0200 Subject: [PATCH 150/176] Added dashboard image as .jpg and updated README. Why are .png files ignored??? --- .../c_extension_generator/README.md | 2 +- .../c_extension_generator/gradio_dashboard.jpg | Bin 0 -> 248822 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 week4/community-contributions/c_extension_generator/gradio_dashboard.jpg diff --git a/week4/community-contributions/c_extension_generator/README.md b/week4/community-contributions/c_extension_generator/README.md index 92df278..54d2a7a 100644 --- a/week4/community-contributions/c_extension_generator/README.md +++ b/week4/community-contributions/c_extension_generator/README.md @@ -31,7 +31,7 @@ the original Python code. In this image, you can see the Gradio app dashboard whose main sections are described below. -![Gradio app dashboard](gradio_dashboard.png)\ +![Gradio app dashboard](gradio_dashboard.jpg)\ *Image: Gradio app dashboard with default example `hello world` code loaded.* *(compile output redacted for privacy)* diff --git a/week4/community-contributions/c_extension_generator/gradio_dashboard.jpg b/week4/community-contributions/c_extension_generator/gradio_dashboard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b076897c5b465fe2cd5c26260ecd4c0bcc1ea36 GIT binary patch literal 248822 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 literal 0 HcmV?d00001 From f10c9de5d4f2915c0add9aba1421de82ba3fd454 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Mon, 1 Sep 2025 02:35:33 +0200 Subject: [PATCH 151/176] Added license and authorship. --- .../c_extension_generator/LICENSE | 21 +++++++++++++++++++ .../c_extension_generator/README.md | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 week4/community-contributions/c_extension_generator/LICENSE diff --git a/week4/community-contributions/c_extension_generator/LICENSE b/week4/community-contributions/c_extension_generator/LICENSE new file mode 100644 index 0000000..0ca1b61 --- /dev/null +++ b/week4/community-contributions/c_extension_generator/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Carlos Bazaga + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/week4/community-contributions/c_extension_generator/README.md b/week4/community-contributions/c_extension_generator/README.md index 54d2a7a..87d25db 100644 --- a/week4/community-contributions/c_extension_generator/README.md +++ b/week4/community-contributions/c_extension_generator/README.md @@ -1,5 +1,8 @@ # Python C Extension code generator +Written by Carlos Bazaga [@carbaz] based on the work of Ed Donner [@ed-donner] +under the MIT License. + This folder contains a Jupyter notebook that demonstrates how to use a Frontier model to generate high-performance Python C extension code from Python code. From 69ed45c6885238a51e280b7bbd47defa5e08813b Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Mon, 1 Sep 2025 17:08:29 +0530 Subject: [PATCH 152/176] 3_way conversation with openai, anthropic, gemini --- .../day1_3_way_conversation_.ipynb | 167 ++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 week2/community-contributions/day1_3_way_conversation_.ipynb diff --git a/week2/community-contributions/day1_3_way_conversation_.ipynb b/week2/community-contributions/day1_3_way_conversation_.ipynb new file mode 100644 index 0000000..5fd7b51 --- /dev/null +++ b/week2/community-contributions/day1_3_way_conversation_.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "a73dac6a", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from openai import OpenAI\n", + "import dotenv\n", + "import google.generativeai\n", + "import anthropic\n", + "from IPython.display import Markdown, display, update_display\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29a48577-e833-491f-a11e-923930f7a239", + "metadata": {}, + "outputs": [], + "source": [ + "dotenv.load_dotenv()\n", + "OPENAI_API_KEY = os.getenv(\"OPENAI_API_KEY\")\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "157784a0", + "metadata": {}, + "outputs": [], + "source": [ + "openai=OpenAI()\n", + "google.generativeai.configure()\n", + "claude = anthropic.Anthropic()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1f711ed-278b-41f4-bfde-c35255cf9631", + "metadata": {}, + "outputs": [], + "source": [ + "messages=\"\"\"Blake: Hello Alex, how are you today?\"+\"Charlie: Hi Alex, I was wondering if you could help me with a creative project I'm working on.\"\"\"\n", + "\n", + "promts = {\n", + " \"Alex\": (\n", + " \"You are Alex, the practical problem-solver of the group. \"\n", + " \"You focus on breaking big ideas into clear, actionable steps. \"\n", + " \"You keep the group grounded and make sure progress is made. \"\n", + " \"Keep responses short (1–2 sentences), but specific.\"\n", + " ),\n", + " \"Blake\": (\n", + " \"You are Blake, the curious investigator. \"\n", + " \"You ask thoughtful questions, challenge assumptions, and dig deeper into ideas. \"\n", + " \"You make others think critically. \"\n", + " \"Keep responses short (1–2 sentences), but insightful.\"\n", + " ),\n", + " \"Charlie\": (\n", + " \"You are Charlie, the imaginative dreamer. \"\n", + " \"You suggest wild, creative, out-of-the-box possibilities that inspire the group. \"\n", + " \"You bring energy and fun, sometimes playful or surprising. \"\n", + " \"Keep responses short (1–2 sentences), but imaginative.\"\n", + " ),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61530641-f8fc-4413-bedc-f247c677d79f", + "metadata": {}, + "outputs": [], + "source": [ + "def chat_with_alex(message):\n", + " response = openai.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[{\"role\": \"system\", \"content\": promts[\"Alex\"]},\n", + " {\"role\":\"user\", \"content\":message}]\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return reply\n", + "\n", + "def chat_with_blake(message):\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name = \"gemini-2.0-flash\",\n", + " system_instruction = promts[\"Blake\"],\n", + " )\n", + " response= gemini.generate_content(message)\n", + " reply = response.text\n", + " return reply\n", + "\n", + "def chat_with_charlie(message):\n", + " response = claude.messages.create(\n", + " model=\"claude-sonnet-4-20250514\",\n", + " max_tokens=200,\n", + " temperature=0.7,\n", + " system=promts[\"Charlie\"],\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": message},\n", + " ],\n", + " )\n", + " reply= response.content[0].text\n", + " return reply" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2a77f01-8ff0-4ae2-b971-be2d4fcf25b0", + "metadata": {}, + "outputs": [], + "source": [ + "# Display initial conversation context\n", + "display(Markdown(\"## Three-Way AI Conversation\"))\n", + "display(Markdown(\"**Initial Messages:**\"))\n", + "display(Markdown(f\"*{messages}*\"))\n", + "display(Markdown(\"---\"))\n", + "\n", + "for i in range(5):\n", + " alex_reply = chat_with_alex(messages)\n", + " display(Markdown(f\"**Alex:** {alex_reply}\"))\n", + " # print(\"Alex: \", alex_reply)\n", + " messages += \"\\nAlex: \" + alex_reply\n", + "\n", + " blake_reply = chat_with_blake(messages)\n", + " display(Markdown(f\"**Blake:** {blake_reply}\"))\n", + " messages += \"\\nBlake: \" + blake_reply\n", + "\n", + " charlie_reply = chat_with_charlie(messages)\n", + " display(Markdown(f\"**Charlie:** {charlie_reply}\"))\n", + " messages += \"\\nCharlie: \" + charlie_reply\n", + "\n", + " # Add separator between rounds\n", + " if i < 4:\n", + " display(Markdown(\"---\"))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 1def1247f63df815400b50a3417eeacbc0c5b511 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Tue, 2 Sep 2025 03:37:32 +0200 Subject: [PATCH 153/176] Week 2 day 1 exercise. Three way chat bot --- ...1-three-model-investor-pitch-session.ipynb | 356 ++++++++++++++++++ 1 file changed, 356 insertions(+) create mode 100644 week2/community-contributions/day1-three-model-investor-pitch-session.ipynb diff --git a/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb b/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb new file mode 100644 index 0000000..e703f70 --- /dev/null +++ b/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb @@ -0,0 +1,356 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3d0019fb-f6a8-45cb-962b-ef8bf7070d4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Optionally if you wish to try DeekSeek, you can also use the OpenAI client library\n", + "\n", + "deepseek_api_key = os.getenv('DEEPSEEK_API_KEY')\n", + "\n", + "if deepseek_api_key:\n", + " print(f\"DeepSeek API Key exists and begins {deepseek_api_key[:3]}\")\n", + "else:\n", + " print(\"DeepSeek API Key not set - please skip to the next section if you don't wish to try the DeepSeek API\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c72c871e-68d6-4668-9c27-96d52b77b867", + "metadata": {}, + "outputs": [], + "source": [ + "# Using DeepSeek Chat\n", + "\n", + "deepseek_via_openai_client = OpenAI(\n", + " api_key=deepseek_api_key, \n", + " base_url=\"https://api.deepseek.com\"\n", + ")\n", + "\n", + "response = deepseek_via_openai_client.chat.completions.create(\n", + " model=\"deepseek-chat\",\n", + " messages=prompts,\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50b6e70f-700a-46cf-942f-659101ffeceb", + "metadata": {}, + "outputs": [], + "source": [ + "challenge = [{\"role\": \"system\", \"content\": \"You are a helpful assistant\"},\n", + " {\"role\": \"user\", \"content\": \"How many words are there in your answer to this prompt\"}]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66d1151c-2015-4e37-80c8-16bc16367cfe", + "metadata": {}, + "outputs": [], + "source": [ + "# Using DeepSeek Chat with a harder question! And streaming results\n", + "\n", + "stream = deepseek_via_openai_client.chat.completions.create(\n", + " model=\"deepseek-chat\",\n", + " messages=challenge,\n", + " stream=True\n", + ")\n", + "\n", + "reply = \"\"\n", + "display_handle = display(Markdown(\"\"), display_id=True)\n", + "for chunk in stream:\n", + " reply += chunk.choices[0].delta.content or ''\n", + " reply = reply.replace(\"```\",\"\").replace(\"markdown\",\"\")\n", + " update_display(Markdown(reply), display_id=display_handle.display_id)\n", + "\n", + "print(\"Number of words:\", len(reply.split(\" \")))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43a93f7d-9300-48cc-8c1a-ee67380db495", + "metadata": {}, + "outputs": [], + "source": [ + "# Using DeepSeek Reasoner - this may hit an error if DeepSeek is busy\n", + "# It's over-subscribed (as of 28-Jan-2025) but should come back online soon!\n", + "# If this fails, come back to this in a few days..\n", + "\n", + "response = deepseek_via_openai_client.chat.completions.create(\n", + " model=\"deepseek-reasoner\",\n", + " messages=challenge\n", + ")\n", + "\n", + "reasoning_content = response.choices[0].message.reasoning_content\n", + "content = response.choices[0].message.content\n", + "\n", + "print(reasoning_content)\n", + "print(content)\n", + "print(\"Number of words:\", len(content.split(\" \")))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c23224f6-7008-44ed-a57f-718975f4e291", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b8b7776-b3e3-4b8e-8c09-9243406e133b", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d38bd7f0-e9e5-4156-96ab-691d027b5a1a", + "metadata": {}, + "outputs": [], + "source": [ + "# Set base url\n", + "\n", + "ANTHROPIC_BASE_URL = \"https://api.anthropic.com/v1/\"\n", + "GEMINI_BASE_URL = \"https://generativelanguage.googleapis.com/v1beta/openai/\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25e2fe36-d8c8-4546-a61e-68fa6266da31", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic and Gemini\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claudeApi = OpenAI(base_url=ANTHROPIC_BASE_URL, api_key=anthropic_api_key)\n", + "\n", + "geminiApi = OpenAI(base_url=GEMINI_BASE_URL, api_key=google_api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ac90587-1436-45dc-8314-1126efa5cfdb", + "metadata": {}, + "outputs": [], + "source": [ + "# Set models\n", + "\n", + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.0-flash\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "805c89a2-c485-4e4b-98c6-b1ea5af63aa0", + "metadata": {}, + "outputs": [], + "source": [ + "# Define system prompts for each model\n", + "\n", + "gpt_system = \"\"\"\n", + "You are a wealthy investor named Knekro seeking to fund one AI project. Two entrepreneurs will present their ideas to you. \n", + "Begin by introducing yourself to both entrepreneurs. Once both entrepreneurs have greeted you, ask only one question that both entrepeneurs will have to answer. Then wait for \n", + "the answers before asking the next question. After your second question and hearing their responses, decide\n", + "which project to fund and clearly explain your reasoning. The user will play the roles of the two entrepreneurs.\n", + "\"\"\"\n", + "\n", + "claude_system = \"You are Laura and you are pitching an AI project, focused on maximizing profit, to an investor. You are versus another entrepeneur in \\\n", + "a showmatch where only one of your proyects will be selected. Highlight revenue potential, market growth, and ROI. \\\n", + "Always redirect answers toward financial benefits, investor gains, and scalability. The user will play the roles of the other two parts. You will be the first entrepenur to talk each turn.\"\n", + "\n", + "gemini_system = \"You are Daniel and you are pitching an AI project, focused on helping people, to an investor. You are versus another entrepeneur in \\\n", + "a showmatch where only one of your proyects will be selected. Highlight real-world benefits, problem-solving, and positive \\\n", + "social impact. Always redirect answers toward usefulness, ethics, and human well-being. The user will play the roles of the other two parts. You will be the second entrepenur to talk each turn.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1523770e-1277-49d5-b23b-f167551301c4", + "metadata": {}, + "outputs": [], + "source": [ + "# Define initial message list for each model\n", + "\n", + "gpt_messages = [\"Hi there. I'm Knekro the wealthy investor that is looking to fund the perfect AI project.\"]\n", + "claude_messages = [\"Hello. My name it's Laura. I'm sure my idea will see as the most promising one here...\"]\n", + "gemini_messages = [\"Hello my friends, I'm Daniel, and I'm sure my idea will blow your mind today, get ready!\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7897e234-20a9-4f3c-b567-7d9e9d54a42f", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gpt():\n", + " messages = [{\"role\": \"system\", \"content\": gpt_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " messages.append({\"role\": \"assistant\", \"content\":gpt})\n", + " claude_gemini_prompt = \"This is the next part from the entrepreneurs.\\n\"\n", + " claude_gemini_prompt += f\"Laura's turn: {claude}.\\n\"\n", + " claude_gemini_prompt += f\"Daniel's turn: {gemini}.\\n\"\n", + " messages.append({\"role\": \"user\", \"content\": claude_gemini_prompt})\n", + " completion = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef5c9af1-383c-4dd4-bc8a-732ebff75f8b", + "metadata": {}, + "outputs": [], + "source": [ + "def call_claude():\n", + " messages = [{\"role\":\"system\", \"content\":claude_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " gpt_prompt = f\"This is what the wealthy investor said: {gpt}\\n\"\n", + " messages.append({\"role\": \"user\", \"content\":gpt_prompt})\n", + " \n", + " messages.append({\"role\": \"assistant\", \"content\": claude})\n", + " \n", + " gemini_prompt = f\"This is what the second entrepenur said: {gemini}\"\n", + " messages.append({\"role\": \"user\", \"content\": gemini_prompt})\n", + " \n", + " gpt_prompt = f\"This is what the wealthy investor said: {gpt_messages[-1]}\\n\"\n", + " messages.append({\"role\": \"user\", \"content\":gpt_prompt})\n", + " completion = claudeApi.chat.completions.create(\n", + " model=claude_model,\n", + " messages=messages,\n", + " max_tokens=500\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd4f3eeb-d657-483a-8e28-9b8147e75dde", + "metadata": {}, + "outputs": [], + "source": [ + "def call_gemini():\n", + " messages = [{\"role\":\"system\", \"content\":gemini_system}]\n", + " for gpt, claude, gemini in zip(gpt_messages, claude_messages, gemini_messages):\n", + " gpt_claude_prompt = f\"This is what the wealthy investor said: {gpt}\\n\"\n", + " gpt_claude_prompt += f\"This is what the first entrepeneur said: {claude}\\n\"\n", + " messages.append({\"role\": \"user\", \"content\":gpt_claude_prompt})\n", + " \n", + " messages.append({\"role\": \"assistant\", \"content\": claude})\n", + "\n", + " gpt_claude_prompt = f\"This is what the wealthy investor said: {gpt_messages[-1]}\\n\"\n", + " gpt_claude_prompt += f\"This is what the first entrepeneur said: {claude_messages[-1]}\\n\"\n", + " messages.append({\"role\": \"user\", \"content\":gpt_claude_prompt})\n", + " completion = geminiApi.chat.completions.create(\n", + " model=gemini_model,\n", + " messages=messages\n", + " )\n", + " return completion.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bac50ab-306e-463b-ba51-257d7d3263fb", + "metadata": {}, + "outputs": [], + "source": [ + "gpt_messages = [\"Hi there. I'm max the wealthy investor that is looking to fund the perfect AI project.\"]\n", + "claude_messages = [\"Hello. My name it's Laura. I'm sure my idea will see as the most promising one here...\"]\n", + "gemini_messages = [\"Hello my friends, I'm Daniel, and I'm sure my idea will blow your mind today, get ready!\"]\n", + "\n", + "print(f\"GPT:\\n{gpt_messages[0]}\\n\")\n", + "print(f\"Claude:\\n{claude_messages[0]}\\n\")\n", + "print(f\"Gemini:\\n{gemini_messages[0]}\\n\")\n", + "\n", + "for i in range(4):\n", + " gpt_next = call_gpt()\n", + " print(f\"GPT:\\n{gpt_next}\\n\")\n", + " gpt_messages.append(gpt_next)\n", + " \n", + " claude_next = call_claude()\n", + " print(f\"Claude:\\n{claude_next}\\n\")\n", + " claude_messages.append(claude_next)\n", + "\n", + " gemini_next = call_gemini()\n", + " print(f\"Gemini:\\n{gemini_next}\\n\")\n", + " gemini_messages.append(gemini_next)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From a0155cd0d8df9b46071124181698514b2b744ce1 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Tue, 2 Sep 2025 03:40:15 +0200 Subject: [PATCH 154/176] Week 2 day 1 exercise. Three way chat bot cleaning code --- ...1-three-model-investor-pitch-session.ipynb | 99 ------------------- 1 file changed, 99 deletions(-) diff --git a/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb b/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb index e703f70..62f05b0 100644 --- a/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb +++ b/week2/community-contributions/day1-three-model-investor-pitch-session.ipynb @@ -1,104 +1,5 @@ { "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "3d0019fb-f6a8-45cb-962b-ef8bf7070d4d", - "metadata": {}, - "outputs": [], - "source": [ - "# Optionally if you wish to try DeekSeek, you can also use the OpenAI client library\n", - "\n", - "deepseek_api_key = os.getenv('DEEPSEEK_API_KEY')\n", - "\n", - "if deepseek_api_key:\n", - " print(f\"DeepSeek API Key exists and begins {deepseek_api_key[:3]}\")\n", - "else:\n", - " print(\"DeepSeek API Key not set - please skip to the next section if you don't wish to try the DeepSeek API\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c72c871e-68d6-4668-9c27-96d52b77b867", - "metadata": {}, - "outputs": [], - "source": [ - "# Using DeepSeek Chat\n", - "\n", - "deepseek_via_openai_client = OpenAI(\n", - " api_key=deepseek_api_key, \n", - " base_url=\"https://api.deepseek.com\"\n", - ")\n", - "\n", - "response = deepseek_via_openai_client.chat.completions.create(\n", - " model=\"deepseek-chat\",\n", - " messages=prompts,\n", - ")\n", - "\n", - "print(response.choices[0].message.content)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50b6e70f-700a-46cf-942f-659101ffeceb", - "metadata": {}, - "outputs": [], - "source": [ - "challenge = [{\"role\": \"system\", \"content\": \"You are a helpful assistant\"},\n", - " {\"role\": \"user\", \"content\": \"How many words are there in your answer to this prompt\"}]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66d1151c-2015-4e37-80c8-16bc16367cfe", - "metadata": {}, - "outputs": [], - "source": [ - "# Using DeepSeek Chat with a harder question! And streaming results\n", - "\n", - "stream = deepseek_via_openai_client.chat.completions.create(\n", - " model=\"deepseek-chat\",\n", - " messages=challenge,\n", - " stream=True\n", - ")\n", - "\n", - "reply = \"\"\n", - "display_handle = display(Markdown(\"\"), display_id=True)\n", - "for chunk in stream:\n", - " reply += chunk.choices[0].delta.content or ''\n", - " reply = reply.replace(\"```\",\"\").replace(\"markdown\",\"\")\n", - " update_display(Markdown(reply), display_id=display_handle.display_id)\n", - "\n", - "print(\"Number of words:\", len(reply.split(\" \")))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43a93f7d-9300-48cc-8c1a-ee67380db495", - "metadata": {}, - "outputs": [], - "source": [ - "# Using DeepSeek Reasoner - this may hit an error if DeepSeek is busy\n", - "# It's over-subscribed (as of 28-Jan-2025) but should come back online soon!\n", - "# If this fails, come back to this in a few days..\n", - "\n", - "response = deepseek_via_openai_client.chat.completions.create(\n", - " model=\"deepseek-reasoner\",\n", - " messages=challenge\n", - ")\n", - "\n", - "reasoning_content = response.choices[0].message.reasoning_content\n", - "content = response.choices[0].message.content\n", - "\n", - "print(reasoning_content)\n", - "print(content)\n", - "print(\"Number of words:\", len(content.split(\" \")))" - ] - }, { "cell_type": "code", "execution_count": null, From eddf803b2fc4953bb2fa3a3e48b35a3b7ff19a5e Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Tue, 2 Sep 2025 21:55:29 +0200 Subject: [PATCH 155/176] Wekk 2 day 2 exercises using three models --- .../day2-exercises-three-personalities.ipynb | 360 ++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 week2/community-contributions/day2-exercises-three-personalities.ipynb diff --git a/week2/community-contributions/day2-exercises-three-personalities.ipynb b/week2/community-contributions/day2-exercises-three-personalities.ipynb new file mode 100644 index 0000000..895ed6f --- /dev/null +++ b/week2/community-contributions/day2-exercises-three-personalities.ipynb @@ -0,0 +1,360 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8b0e11f2-9ea4-48c2-b8d2-d0a4ba967827", + "metadata": {}, + "source": [ + "# Gradio Day!\n", + "\n", + "Today we will build User Interfaces using the outrageously simple Gradio framework.\n", + "\n", + "Prepare for joy!\n", + "\n", + "Please note: your Gradio screens may appear in 'dark mode' or 'light mode' depending on your computer settings." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c44c5494-950d-4d2f-8d4f-b87b57c5b330", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr\n", + "import requests\n", + "from bs4 import BeautifulSoup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "337d5dfc-0181-4e3b-8ab9-e78e0c3f657b", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if anthropic_api_key:\n", + " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", + "else:\n", + " print(\"Anthropic API Key not set\")\n", + "\n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "010ba7ae-7b74-44fc-b1b0-d21860588093", + "metadata": {}, + "outputs": [], + "source": [ + "# Set base url\n", + "\n", + "ANTHROPIC_BASE_URL = \"https://api.anthropic.com/v1/\"\n", + "GEMINI_BASE_URL = \"https://generativelanguage.googleapis.com/v1beta/openai/\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22586021-1795-4929-8079-63f5bb4edd4c", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic and Google; comment out the Claude or Google lines if you're not using them\n", + "\n", + "openai = OpenAI()\n", + "\n", + "claude = OpenAI(base_url=ANTHROPIC_BASE_URL, api_key=anthropic_api_key)\n", + "\n", + "gemini = OpenAI(base_url=GEMINI_BASE_URL, api_key=google_api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3895dde-3d02-4807-9e86-5a3eb48c5260", + "metadata": {}, + "outputs": [], + "source": [ + "# Set models\n", + "\n", + "gpt_model = \"gpt-4.1-mini\"\n", + "claude_model = \"claude-3-5-haiku-latest\"\n", + "gemini_model = \"gemini-2.0-flash\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af9a3262-e626-4e4b-80b0-aca152405e63", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"You are a helpful assistant that responds in markdown\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88c04ebf-0671-4fea-95c9-bc1565d4bb4f", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_gpt(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " stream = openai.chat.completions.create(\n", + " model=gpt_model,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "901256fd-675c-432d-bd6e-49ab8dade125", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_claude(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " stream = claude.chat.completions.create(\n", + " model=claude_model,\n", + " messages=messages,\n", + " max_tokens=1000,\n", + " stream=True\n", + " )\n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d7e0d48-6140-484c-81aa-2f6aa6da8f25", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_gemini(prompt):\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + " stream = gemini.chat.completions.create(\n", + " model=gemini_model,\n", + " messages=messages,\n", + " stream=True\n", + " )\n", + " result = \"\"\n", + " for chunk in stream:\n", + " result += chunk.choices[0].delta.content or \"\"\n", + " yield result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0087623a-4e31-470b-b2e6-d8d16fc7bcf5", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_model(prompt, model):\n", + " if model==\"GPT\":\n", + " result = stream_gpt(prompt)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(prompt)\n", + " elif model==\"Gemini\":\n", + " result = stream_gemini(prompt)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " yield from result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d8ce810-997c-4b6a-bc4f-1fc847ac8855", + "metadata": {}, + "outputs": [], + "source": [ + "view = gr.Interface(\n", + " fn=stream_model,\n", + " inputs=[gr.Textbox(label=\"Your message:\"), gr.Dropdown([\"GPT\", \"Claude\", \"Gemini\"], label=\"Select model\", value=\"GPT\")],\n", + " outputs=[gr.Markdown(label=\"Response:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + }, + { + "cell_type": "markdown", + "id": "d933865b-654c-4b92-aa45-cf389f1eda3d", + "metadata": {}, + "source": [ + "# Building a company brochure generator\n", + "\n", + "Now you know how - it's simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1626eb2e-eee8-4183-bda5-1591b58ae3cf", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "\n", + "class Website:\n", + " url: str\n", + " title: str\n", + " text: str\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c701ec17-ecd5-4000-9f68-34634c8ed49d", + "metadata": {}, + "outputs": [], + "source": [ + "# With massive thanks to Bill G. who noticed that a prior version of this had a bug! Now fixed.\n", + "\n", + "base_system_message = \"You are an assistant that analyzes the contents of a company website landing page \\\n", + "and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\"\n", + "system_message = base_system_message" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11e9debb-9500-4783-a72e-fc3659214a8e", + "metadata": {}, + "outputs": [], + "source": [ + "def system_personality(personality) -> str:\n", + " match personality:\n", + " case \"Hostile\":\n", + " return base_system_message + \" Use a critical and sarcastic tone that highlights flaws, inconsistencies, or poor design choices in the company's website.\"\n", + " case \"Formal\":\n", + " return base_system_message + \" Use a professional and respectful tone, with precise language and a structured presentation that inspires trust.\"\n", + " case \"Funny\":\n", + " return base_system_message + \" Use a lighthearted and humorous tone, incorporating playful language, witty remarks and engaging expressions.\"\n", + " case _:\n", + " return base_system_message" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5def90e0-4343-4f58-9d4a-0e36e445efa4", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_brochure(company_name, url, model, personality):\n", + " yield \"\"\n", + " prompt = f\"Please generate a company brochure for {company_name}. Here is their landing page:\\n\"\n", + " prompt += Website(url).get_contents()\n", + " global system_message\n", + " system_message = system_personality(personality)\n", + " if model==\"GPT\":\n", + " result = stream_gpt(prompt)\n", + " elif model==\"Claude\":\n", + " result = stream_claude(prompt)\n", + " elif model==\"Gemini\":\n", + " result = stream_gemini(prompt)\n", + " else:\n", + " raise ValueError(\"Unknown model\")\n", + " yield from result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66399365-5d67-4984-9d47-93ed26c0bd3d", + "metadata": {}, + "outputs": [], + "source": [ + "view = gr.Interface(\n", + " fn=stream_brochure,\n", + " inputs=[\n", + " gr.Textbox(label=\"Company name:\"),\n", + " gr.Textbox(label=\"Landing page URL including http:// or https://\"),\n", + " gr.Dropdown([\"GPT\", \"Claude\", \"Gemini\"], label=\"Select model\"),\n", + " gr.Dropdown([\"Funny\",\"Formal\", \"Hostile\"], label=\"Select a personality\")],\n", + " outputs=[gr.Markdown(label=\"Brochure:\")],\n", + " flagging_mode=\"never\"\n", + ")\n", + "view.launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 4e3005c6a72287a465d78040a7bb8ed2c2f362b1 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Thu, 4 Sep 2025 00:55:31 +0200 Subject: [PATCH 156/176] Week 2 exercise. Simple agent creation --- ...sentence-translate-and-counter-agent.ipynb | 335 ++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb diff --git a/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb b/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb new file mode 100644 index 0000000..30bdc3c --- /dev/null +++ b/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb @@ -0,0 +1,335 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d006b2ea-9dfe-49c7-88a9-a5a0775185fd", + "metadata": {}, + "source": [ + "# Additional End of week Exercise - week 2\n", + "\n", + "Now use everything you've learned from Week 2 to build a full prototype for the technical question/answerer you built in Week 1 Exercise.\n", + "\n", + "This should include a Gradio UI, streaming, use of the system prompt to add expertise, and the ability to switch between models. Bonus points if you can demonstrate use of a tool!\n", + "\n", + "If you feel bold, see if you can add audio input so you can talk to it, and have it respond with audio. ChatGPT or Claude can help you, or email me if you have questions.\n", + "\n", + "I will publish a full solution here soon - unless someone beats me to it...\n", + "\n", + "There are so many commercial applications for this, from a language tutor, to a company onboarding solution, to a companion AI to a course (like this one!) I can't wait to see your results." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "a07e7793-b8f5-44f4-aded-5562f633271a", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import json\n", + "from dotenv import load_dotenv\n", + "from openai import OpenAI\n", + "import gradio as gr" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2118e80a-6181-4488-95cf-c9da0500ea56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI API Key exists and begins sk-proj-\n", + "Google API Key exists and begins AIzaSyA7\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "# Print the key prefixes to help with any debugging\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "if openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", + "else:\n", + " print(\"OpenAI API Key not set\")\n", + " \n", + "if google_api_key:\n", + " print(f\"Google API Key exists and begins {google_api_key[:8]}\")\n", + "else:\n", + " print(\"Google API Key not set\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8ddc4764-e7f6-4512-8210-51bbfefbb3a9", + "metadata": {}, + "outputs": [], + "source": [ + "# Set base url\n", + "\n", + "GEMINI_BASE_URL = \"https://generativelanguage.googleapis.com/v1beta/openai/\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "91bfd734-9c5e-4993-808e-b66489a92d4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Connect to OpenAI, Anthropic and Google; comment out the Claude or Google lines if you're not using them\n", + "\n", + "openai = OpenAI()\n", + "gemini = OpenAI(base_url=GEMINI_BASE_URL, api_key=google_api_key)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d9ee11ae-23e2-42cc-b63d-b446f6d83c99", + "metadata": {}, + "outputs": [], + "source": [ + "# Set models\n", + "\n", + "gpt_model = \"gpt-4.1-mini\"\n", + "gemini_model = \"gemini-2.0-flash\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a01d270e-f62e-41b3-8e46-ac173d7a1493", + "metadata": {}, + "outputs": [], + "source": [ + "system_gpt_prompt = \"You are an assistant with general knowledge obtained from the internet. \\\n", + "Always respond with a cheerful tone. If you don’t know the answer to a question, simply say that you don’t know.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4e85c8ed-3ba4-4283-8480-6979b0d5602f", + "metadata": {}, + "outputs": [], + "source": [ + "system_gemini_prompt = \"You are an expert translator with knowledge of all existing languages. \\\n", + "Your only task is, given a provided sentence, to translate it into the specified target language. \\\n", + "Do not provide anything else in your response only the translation itself.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8ee0c887-a63f-48dd-8eaf-68b0bf9263b6", + "metadata": {}, + "outputs": [], + "source": [ + "def count_letter_tool(sentence, letter):\n", + "\n", + " if len(letter) != 1:\n", + " return \"You need to provide a single letter to count\"\n", + " \n", + " return sentence.lower().count(letter.lower())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "5f1ae918-cb99-4e60-80d3-37e16e514f55", + "metadata": {}, + "outputs": [], + "source": [ + "def translator_tool(sentence, language):\n", + " user_message = f\"Please translate this sentence: \\\"{sentence}\\\" to this language: {language}\"\n", + " messages = [{\"role\": \"system\", \"content\": system_gemini_prompt}, {\"role\": \"user\", \"content\":user_message}]\n", + " response = gemini.chat.completions.create(model=gemini_model, messages=messages)\n", + "\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2d499f2a-23b2-4fff-9d2d-f2333cbd109a", + "metadata": {}, + "outputs": [], + "source": [ + "count_letter_function = {\n", + " \"name\": \"count_letter_tool\",\n", + " \"description\": \"Count the number of a particular letter in a sentence. Call this whenever you need to know how many times a letter appears in a sentence, for example when a user asks 'How many 'a' are in this sentence?'\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"sentence\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The sentence provided by the user for counting.\"\n", + " },\n", + " \"letter\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The letter to count in the sentence.\"\n", + " }\n", + " },\n", + " \"required\": [\"sentence\", \"letter\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b58079a8-8def-4fa6-8273-34bf8eeb8cb5", + "metadata": {}, + "outputs": [], + "source": [ + "translator_function = {\n", + " \"name\": \"translator_tool\",\n", + " \"description\": \"Translate a sentence provided by the user. Call this whenever a translation is needed, for example when a user asks 'Can you translate \\\"hola como estĆ”s?\\\" to English?'\",\n", + " \"parameters\": {\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"sentence\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The sentence provided by the user to translate.\"\n", + " },\n", + " \"language\": {\n", + " \"type\": \"string\",\n", + " \"description\": \"The target language to translate the sentence into.\"\n", + " }\n", + " },\n", + " \"required\": [\"sentence\", \"language\"],\n", + " \"additionalProperties\": False\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7ab7fc93-3540-48e5-bbe0-3e9ad2bbce15", + "metadata": {}, + "outputs": [], + "source": [ + "tools = [{\"type\": \"function\", \"function\": count_letter_function}, {\"type\": \"function\", \"function\": translator_function}]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "678ccc37-c034-4035-bc3c-00fa8bcd8e64", + "metadata": {}, + "outputs": [], + "source": [ + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_gpt_prompt}] + history + [{\"role\": \"user\", \"content\": message}]\n", + " response = openai.chat.completions.create(model=gpt_model, messages=messages, tools=tools)\n", + "\n", + " if response.choices[0].finish_reason==\"tool_calls\":\n", + " message = response.choices[0].message\n", + " response = handle_tool_call(message)\n", + " messages.append(message)\n", + " messages.append(response)\n", + " response = openai.chat.completions.create(model=gpt_model, messages=messages)\n", + " \n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "2a1138e4-f849-4557-a74c-f9feb1572854", + "metadata": {}, + "outputs": [], + "source": [ + "def handle_tool_call(message):\n", + " tool_call = message.tool_calls[0]\n", + " arguments = json.loads(tool_call.function.arguments)\n", + " sentence = arguments.get('sentence')\n", + " response =\"\"\n", + " match tool_call.function.name:\n", + " case \"translator_tool\":\n", + " language = arguments.get('language')\n", + " translation = translator_tool(sentence, language)\n", + " response = {\"role\": \"tool\", \"content\": json.dumps({\"translation\": translation}), \"tool_call_id\": tool_call.id}\n", + " case \"count_letter_tool\":\n", + " letter = arguments.get('letter')\n", + " count = count_letter_tool(sentence, letter)\n", + " response = {\"role\": \"tool\", \"content\": json.dumps({\"count\": count}), \"tool_call_id\": tool_call.id}\n", + "\n", + " return response" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "d39344cc-9e89-47a0-9249-2e182091ee43", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "* Running on local URL: http://127.0.0.1:7860\n", + "* To create a public link, set `share=True` in `launch()`.\n" + ] + }, + { + "data": { + "text/html": [ + "

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d870067b42681c3caf56287d9911b52495358d93 Mon Sep 17 00:00:00 2001 From: Daniel Fernandez Colon Date: Thu, 4 Sep 2025 00:59:04 +0200 Subject: [PATCH 157/176] Output cleaning --- ...sentence-translate-and-counter-agent.ipynb | 72 +++++-------------- 1 file changed, 17 insertions(+), 55 deletions(-) diff --git a/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb b/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb index 30bdc3c..cc0cb58 100644 --- a/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb +++ b/week2/community-contributions/week2-exercise-sentence-translate-and-counter-agent.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "a07e7793-b8f5-44f4-aded-5562f633271a", "metadata": {}, "outputs": [], @@ -36,19 +36,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "2118e80a-6181-4488-95cf-c9da0500ea56", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "OpenAI API Key exists and begins sk-proj-\n", - "Google API Key exists and begins AIzaSyA7\n" - ] - } - ], + "outputs": [], "source": [ "# Load environment variables in a file called .env\n", "# Print the key prefixes to help with any debugging\n", @@ -70,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "8ddc4764-e7f6-4512-8210-51bbfefbb3a9", "metadata": {}, "outputs": [], @@ -82,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "91bfd734-9c5e-4993-808e-b66489a92d4d", "metadata": {}, "outputs": [], @@ -95,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "d9ee11ae-23e2-42cc-b63d-b446f6d83c99", "metadata": {}, "outputs": [], @@ -108,7 +99,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "a01d270e-f62e-41b3-8e46-ac173d7a1493", "metadata": {}, "outputs": [], @@ -119,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "4e85c8ed-3ba4-4283-8480-6979b0d5602f", "metadata": {}, "outputs": [], @@ -131,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "8ee0c887-a63f-48dd-8eaf-68b0bf9263b6", "metadata": {}, "outputs": [], @@ -146,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "5f1ae918-cb99-4e60-80d3-37e16e514f55", "metadata": {}, "outputs": [], @@ -161,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "2d499f2a-23b2-4fff-9d2d-f2333cbd109a", "metadata": {}, "outputs": [], @@ -189,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "b58079a8-8def-4fa6-8273-34bf8eeb8cb5", "metadata": {}, "outputs": [], @@ -217,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "7ab7fc93-3540-48e5-bbe0-3e9ad2bbce15", "metadata": {}, "outputs": [], @@ -227,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "678ccc37-c034-4035-bc3c-00fa8bcd8e64", "metadata": {}, "outputs": [], @@ -248,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "2a1138e4-f849-4557-a74c-f9feb1572854", "metadata": {}, "outputs": [], @@ -273,39 +264,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "d39344cc-9e89-47a0-9249-2e182091ee43", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "* Running on local URL: http://127.0.0.1:7860\n", - "* To create a public link, set `share=True` in `launch()`.\n" - ] - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gr.ChatInterface(fn=chat, type=\"messages\").launch()" ] From 6de8ca3b9479bec7aaf61350e1d716bdd0003563 Mon Sep 17 00:00:00 2001 From: DharmaTejaYadlapati Date: Wed, 3 Sep 2025 18:54:01 -0700 Subject: [PATCH 158/176] day 1 and 2 exercises --- .../day1-email-subject-creation.ipynb | 632 ++++++++++++++++++ .../day2-sumerise-website-using-ollama.ipynb | 561 ++++++++++++++++ 2 files changed, 1193 insertions(+) create mode 100644 week1/community-contributions/day1-email-subject-creation.ipynb create mode 100644 week1/community-contributions/day2-sumerise-website-using-ollama.ipynb diff --git a/week1/community-contributions/day1-email-subject-creation.ipynb b/week1/community-contributions/day1-email-subject-creation.ipynb new file mode 100644 index 0000000..35e18af --- /dev/null +++ b/week1/community-contributions/day1-email-subject-creation.ipynb @@ -0,0 +1,632 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "Let's build a useful LLM solution - in a matter of minutes.\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup for [PC](../SETUP-PC.md) or [Mac](../SETUP-mac.md) and you hopefully launched this jupyter lab from within the project root directory, with your environment activated.\n", + "\n", + "## If you're new to Jupyter Lab\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Once you've used Jupyter Lab, you'll wonder how you ever lived without it. Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. As you wish, you can add a cell with the + button in the toolbar, and print values of variables, or try out variations. \n", + "\n", + "I've written a notebook called [Guide to Jupyter](Guide%20to%20Jupyter.ipynb) to help you get more familiar with Jupyter Labs, including adding Markdown comments, using `!` to run shell commands, and `tqdm` to show progress.\n", + "\n", + "## If you're new to the Command Line\n", + "\n", + "Please see these excellent guides: [Command line on PC](https://chatgpt.com/share/67b0acea-ba38-8012-9c34-7a2541052665) and [Command line on Mac](https://chatgpt.com/canvas/shared/67b0b10c93a081918210723867525d2b). \n", + "\n", + "## If you'd prefer to work in IDEs\n", + "\n", + "If you're more comfortable in IDEs like VSCode, Cursor or PyCharm, they both work great with these lab notebooks too. \n", + "If you'd prefer to work in VSCode, [here](https://chatgpt.com/share/676f2e19-c228-8012-9911-6ca42f8ed766) are instructions from an AI friend on how to configure it for the course.\n", + "\n", + "## If you'd like to brush up your Python\n", + "\n", + "I've added a notebook called [Intermediate Python](Intermediate%20Python.ipynb) to get you up to speed. But you should give it a miss if you already have a good idea what this code does: \n", + "`yield from {book.get(\"author\") for book in books if book.get(\"author\")}`\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X/Twitter at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done šŸ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](troubleshooting.ipynb) notebook in this folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## For foundational technical knowledge (eg Git, APIs, debugging) \n", + "\n", + "If you're relatively new to programming -- I've got your back! While it's ideal to have some programming experience for this course, there's only one mandatory prerequisite: plenty of patience. 😁 I've put together a set of self-study guides that cover Git and GitHub, APIs and endpoints, beginner python and more.\n", + "\n", + "This covers Git and GitHub; what they are, the difference, and how to use them: \n", + "https://github.com/ed-donner/agents/blob/main/guides/03_git_and_github.ipynb\n", + "\n", + "This covers technical foundations: \n", + "ChatGPT vs API; taking screenshots; Environment Variables; Networking basics; APIs and endpoints: \n", + "https://github.com/ed-donner/agents/blob/main/guides/04_technical_foundations.ipynb\n", + "\n", + "This covers Python for beginners, and making sure that a `NameError` never trips you up: \n", + "https://github.com/ed-donner/agents/blob/main/guides/06_python_foundations.ipynb\n", + "\n", + "This covers the essential techniques for figuring out errors: \n", + "https://github.com/ed-donner/agents/blob/main/guides/08_debugging.ipynb\n", + "\n", + "And you'll find other useful guides in the same folder in GitHub. Some information applies to my other Udemy course (eg Async Python) but most of it is very relevant for LLM engineering.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "Head over to the [troubleshooting](troubleshooting.ipynb) notebook in this folder for step by step code to identify the root cause and fix it!\n", + "\n", + "If you make a change, try restarting the \"Kernel\" (the python process sitting behind this notebook) by Kernel menu >> Restart Kernel and Clear Outputs of All Cells. Then try this notebook again, starting at the top.\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "# If this doesn't work, try Kernel menu >> Restart Kernel and Clear Outputs Of All Cells, then run the cells from the top of this notebook down.\n", + "# If it STILL doesn't work (horrors!) then please see the Troubleshooting notebook in this folder for full instructions" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=[{\"role\":\"user\", \"content\":message}])\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e793b2-6775-426a-a139-4848291d0463", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try one out. Change the website and add print statements to follow along.\n", + "\n", + "ed = Website(\"https://edwarddonner.com\")\n", + "print(ed.title)\n", + "print(ed.text)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT4o have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcd09f4b-a2c4-4274-acec-b3b7c0ac883a", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", + "metadata": {}, + "outputs": [], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a snarky assistant\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with system and user messages:\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4o-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4o-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the Jupyter output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the data of an email and suggest appropriate subject line for the email\"\n", + "user_prompt = \"\"\"\n", + " Read the email below and suggest a short subject line for the email\n", + " Dear John\n", + "I hope this email finds you well.\n", + "I am writing to request a meeting to discuss the timeline for Project X. I believe a discussion would be beneficial to ensure alignment on deliverables and milestones.\n", + "Would you be available for a 30-minute meeting on Thursday, August 14th at 2:00 PM PDT, or Friday, August 15th at 10:00 AM PDT? Please let me know if either of these times work for you, or feel free to suggest an alternative time that better suits your schedule.\n", + "Thank you for your time and consideration. I look forward to hearing from you soon.\n", + "Best regards,\n", + "Scott\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [ {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "\n", + "# Step 4: print the result\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week1/community-contributions/day2-sumerise-website-using-ollama.ipynb b/week1/community-contributions/day2-sumerise-website-using-ollama.ipynb new file mode 100644 index 0000000..3a951f2 --- /dev/null +++ b/week1/community-contributions/day2-sumerise-website-using-ollama.ipynb @@ -0,0 +1,561 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Welcome to your first assignment!\n", + "\n", + "Instructions are below. Please give this a try, and look in the solutions folder if you get stuck (or feel free to ask me!)" + ] + }, + { + "cell_type": "markdown", + "id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Just before we get to the assignment --

\n", + " I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.
\n", + " https://edwarddonner.com/2024/11/13/llm-engineering-resources/
\n", + " Please keep this bookmarked, and I'll continue to add more useful links there over time.\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458", + "metadata": {}, + "source": [ + "# HOMEWORK EXERCISE ASSIGNMENT\n", + "\n", + "Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n", + "\n", + "You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n", + "\n", + "**Benefits:**\n", + "1. No API charges - open-source\n", + "2. Data doesn't leave your box\n", + "\n", + "**Disadvantages:**\n", + "1. Significantly less power than Frontier Model\n", + "\n", + "## Recap on installation of Ollama\n", + "\n", + "Simply visit [ollama.com](https://ollama.com) and install!\n", + "\n", + "Once complete, the ollama server should already be running locally. \n", + "If you visit: \n", + "[http://localhost:11434/](http://localhost:11434/)\n", + "\n", + "You should see the message `Ollama is running`. \n", + "\n", + "If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n", + "And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n", + "Then try [http://localhost:11434/](http://localhost:11434/) again.\n", + "\n", + "If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code below from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "29ddd15d-a3c5-4f4e-a678-873f56162724", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "HEADERS = {\"Content-Type\": \"application/json\"}\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "dac0a679-599c-441f-9bf2-ddc73d35b940", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a messages list using the same format that we used for OpenAI\n", + "\n", + "messages = [\n", + " {\"role\": \"user\", \"content\": \"Describe some of the business applications of Generative AI\"}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "7bb9c624-14f0-4945-a719-8ddb64f66f47", + "metadata": {}, + "outputs": [], + "source": [ + "payload = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages,\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "479ff514-e8bd-4985-a572-2ea28bb4fa40", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's just make sure the model is loaded\n", + "\n", + "!ollama pull llama3.2" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "42b9f644-522d-4e05-a691-56e7658c0ea9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries. Here are some examples:\n", + "\n", + "1. **Content Generation**: Generative AI can be used to generate high-quality content such as articles, social media posts, product descriptions, and more. This can help businesses save time and resources while maintaining consistency in their content.\n", + "2. **Product Design and Development**: Generative AI can be used to design and develop new products, such as furniture, electronics, and other consumer goods. It can also be used to optimize existing product designs for better performance and efficiency.\n", + "3. **Marketing Automation**: Generative AI can be used to automate marketing tasks such as email campaigns, ad copywriting, and social media posting. This can help businesses personalize their marketing efforts and reach a wider audience.\n", + "4. **Customer Service**: Generative AI can be used to power chatbots and virtual assistants that provide customer support and answer frequently asked questions. This can help businesses improve their customer service experience and reduce response times.\n", + "5. **Data Analysis and Visualization**: Generative AI can be used to analyze large datasets and generate insights, such as identifying trends and patterns. It can also be used to visualize complex data in a more intuitive and user-friendly way.\n", + "6. **Predictive Maintenance**: Generative AI can be used to predict equipment failures and schedule maintenance tasks. This can help businesses reduce downtime and improve overall efficiency.\n", + "7. **Supply Chain Optimization**: Generative AI can be used to optimize supply chain operations, such as predicting demand, managing inventory, and identifying bottlenecks.\n", + "8. **Financial Modeling**: Generative AI can be used to build financial models and predict future market trends. This can help businesses make more informed investment decisions and avoid potential pitfalls.\n", + "9. **Creative Writing and Art**: Generative AI can be used to generate creative content such as poetry, short stories, and art. This can help businesses tap into new sources of inspiration and innovation.\n", + "10. **Cybersecurity**: Generative AI can be used to detect and respond to cyber threats in real-time. It can also be used to predict potential vulnerabilities and develop more effective security strategies.\n", + "\n", + "Some specific examples of companies using generative AI include:\n", + "\n", + "* Google's AutoML (Automated Machine Learning) tool, which uses generative AI to automate machine learning tasks.\n", + "* Amazon's SageMaker, which provides a range of tools and services for building and deploying generative AI models.\n", + "* Microsoft's Azure Machine Learning, which offers a range of features and tools for building and deploying generative AI models.\n", + "* IBM's Watson, which uses generative AI to provide a range of services including customer service, content generation, and predictive maintenance.\n", + "\n", + "These are just a few examples of the many business applications of generative AI. As the technology continues to evolve, we can expect to see even more innovative use cases emerge.\n" + ] + } + ], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "response = requests.post(OLLAMA_API, json=payload, headers=HEADERS)\n", + "print(response.json()['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "6a021f13-d6a1-4b96-8e18-4eae49d876fe", + "metadata": {}, + "source": [ + "# Introducing the ollama package\n", + "\n", + "And now we'll do the same thing, but using the elegant ollama python package instead of a direct HTTP call.\n", + "\n", + "Under the hood, it's making the same call as above to the ollama server running at localhost:11434" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7745b9c4-57dc-4867-9180-61fa5db55eb8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries. Here are some examples:\n", + "\n", + "1. **Content Creation**: Generative AI can be used to generate high-quality content such as articles, social media posts, and product descriptions. This can help businesses reduce content creation costs and improve efficiency.\n", + "2. **Marketing Automation**: Generative AI-powered chatbots can be used to automate customer service, provide personalized recommendations, and enhance the overall customer experience.\n", + "3. **Product Design**: Generative AI can be used to generate design concepts for products, packaging, and branding. This can help businesses reduce design costs and improve product appeal.\n", + "4. **Recommendation Systems**: Generative AI can be used to build recommendation systems that suggest products or services based on user behavior, preferences, and search history.\n", + "5. **Financial Analysis**: Generative AI can be used to analyze financial data, predict market trends, and identify potential investment opportunities.\n", + "6. **Supply Chain Optimization**: Generative AI can be used to optimize supply chain operations by predicting demand, identifying bottlenecks, and suggesting alternative routes.\n", + "7. **Customer Service**: Generative AI-powered chatbots can be used to provide 24/7 customer support, answer frequently asked questions, and route complex issues to human agents.\n", + "8. **Sales Forecasting**: Generative AI can be used to predict sales performance based on historical data, market trends, and competitor activity.\n", + "9. **Brand Identity**: Generative AI can be used to generate brand identities, logos, and visual styles that are consistent with a company's values and mission.\n", + "10. **Quality Control**: Generative AI can be used to detect defects in products, analyze quality control metrics, and suggest improvements.\n", + "\n", + "Some specific examples of businesses using generative AI include:\n", + "\n", + "* Amazon using generative AI to optimize its recommendation system\n", + "* IBM using generative AI to generate new designs for products and packaging\n", + "* NVIDIA using generative AI to develop more realistic graphics and animations for gaming and movie production\n", + "* Siemens using generative AI to optimize supply chain operations and reduce costs\n", + "\n", + "Overall, generative AI has the potential to transform businesses by automating tasks, improving efficiency, and providing new insights into customer behavior and market trends.\n" + ] + } + ], + "source": [ + "import ollama\n", + "\n", + "response = ollama.chat(model=MODEL, messages=messages)\n", + "print(response['message']['content'])" + ] + }, + { + "cell_type": "markdown", + "id": "a4704e10-f5fb-4c15-a935-f046c06fb13d", + "metadata": {}, + "source": [ + "## Alternative approach - using OpenAI python library to connect to Ollama" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", + "metadata": {}, + "outputs": [], + "source": [ + "# There's actually an alternative approach that some people might prefer\n", + "# You can use the OpenAI client python library to call Ollama:\n", + "\n", + "from openai import OpenAI\n", + "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=messages\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "9f9e22da-b891-41f6-9ac9-bd0c0a5f4f44", + "metadata": {}, + "source": [ + "## Are you confused about why that works?\n", + "\n", + "It seems strange, right? We just used OpenAI code to call Ollama?? What's going on?!\n", + "\n", + "Here's the scoop:\n", + "\n", + "The python class `OpenAI` is simply code written by OpenAI engineers that makes calls over the internet to an endpoint. \n", + "\n", + "When you call `openai.chat.completions.create()`, this python code just makes a web request to the following url: \"https://api.openai.com/v1/chat/completions\"\n", + "\n", + "Code like this is known as a \"client library\" - it's just wrapper code that runs on your machine to make web requests. The actual power of GPT is running on OpenAI's cloud behind this API, not on your computer!\n", + "\n", + "OpenAI was so popular, that lots of other AI providers provided identical web endpoints, so you could use the same approach.\n", + "\n", + "So Ollama has an endpoint running on your local box at http://localhost:11434/v1/chat/completions \n", + "And in week 2 we'll discover that lots of other providers do this too, including Gemini and DeepSeek.\n", + "\n", + "And then the team at OpenAI had a great idea: they can extend their client library so you can specify a different 'base url', and use their library to call any compatible API.\n", + "\n", + "That's it!\n", + "\n", + "So when you say: `ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')` \n", + "Then this will make the same endpoint calls, but to Ollama instead of OpenAI." + ] + }, + { + "cell_type": "markdown", + "id": "bc7d1de3-e2ac-46ff-a302-3b4ba38c4c90", + "metadata": {}, + "source": [ + "## Also trying the amazing reasoning model DeepSeek\n", + "\n", + "Here we use the version of DeepSeek-reasoner that's been distilled to 1.5B. \n", + "This is actually a 1.5B variant of Qwen that has been fine-tuned using synethic data generated by Deepseek R1.\n", + "\n", + "Other sizes of DeepSeek are [here](https://ollama.com/library/deepseek-r1) all the way up to the full 671B parameter version, which would use up 404GB of your drive and is far too large for most!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", + "metadata": {}, + "outputs": [], + "source": [ + "!ollama pull deepseek-r1:1.5b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d3d554b-e00d-4c08-9300-45e073950a76", + "metadata": {}, + "outputs": [], + "source": [ + "# This may take a few minutes to run! You should then see a fascinating \"thinking\" trace inside tags, followed by some decent definitions\n", + "\n", + "response = ollama_via_openai.chat.completions.create(\n", + " model=\"deepseek-r1:1.5b\",\n", + " messages=[{\"role\": \"user\", \"content\": \"Please give definitions of some core concepts behind LLMs: a neural network, attention and the transformer\"}]\n", + ")\n", + "\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "1622d9bb-5c68-4d4e-9ca4-b492c751f898", + "metadata": {}, + "source": [ + "# NOW the exercise for you\n", + "\n", + "Take the code from day1 and incorporate it here, to build a website summarizer that uses Llama 3.2 running locally instead of OpenAI; use either of the above approaches." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d29564f8-13f6-48b6-ab0b-450e53f3e3aa", + "metadata": {}, + "outputs": [], + "source": [ + "ed = Website(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "721a4ec9-0b66-419d-92e1-8b24e9a38b39", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a short summary of this website in markdown. \\\n", + "If it includes news or announcements, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e0ae9815-4643-4fc7-88d0-72db83fa569f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are looking at a website titled Home - Edward Donner\n", + "The contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\n", + "\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Well, hi there.\n", + "I’m Ed. I like writing code and experimenting with LLMs, and hopefully you’re here because you do too. I also enjoy DJing (but I’m badly out of practice), amateur electronic music production (\n", + "very\n", + "amateur) and losing myself in\n", + "Hacker News\n", + ", nodding my head sagely to things I only half understand.\n", + "I’m the co-founder and CTO of\n", + "Nebula.io\n", + ". We’re applying AI to a field where it can make a massive, positive impact: helping people discover their potential and pursue their reason for being. Recruiters use our product today to source, understand, engage and manage talent. I’m previously the founder and CEO of AI startup untapt,\n", + "acquired in 2021\n", + ".\n", + "We work with groundbreaking, proprietary LLMs verticalized for talent, we’ve\n", + "patented\n", + "our matching model, and our award-winning platform has happy customers and tons of press coverage.\n", + "Connect\n", + "with me for more!\n", + "May 28, 2025\n", + "Connecting my courses – become an LLM expert and leader\n", + "May 18, 2025\n", + "2025 AI Executive Briefing\n", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "Navigation\n", + "Home\n", + "Connect Four\n", + "Outsmart\n", + "An arena that pits LLMs against each other in a battle of diplomacy and deviousness\n", + "About\n", + "Posts\n", + "Get in touch\n", + "ed [at] edwarddonner [dot] com\n", + "www.edwarddonner.com\n", + "Follow me\n", + "LinkedIn\n", + "Twitter\n", + "Facebook\n", + "Subscribe to newsletter\n", + "Type your email…\n", + "Subscribe\n" + ] + } + ], + "source": [ + "print(user_prompt_for(ed))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "cf718345-9084-4a16-ae1c-6099b4c82d89", + "metadata": {}, + "outputs": [], + "source": [ + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "ac40aa1a-3121-471d-bd9a-12eab4daa063", + "metadata": {}, + "outputs": [], + "source": [ + "payloadExercise = {\n", + " \"model\": MODEL,\n", + " \"messages\": messages_for(ed),\n", + " \"stream\": False\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6d79ad65-37de-413e-bd2e-4e99aad46d5b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "**Summary of the Website**\n", + "==========================\n", + "\n", + "### About the Owner\n", + "\n", + "The website is owned by Edward Donner, a co-founder and CTO of Nebula.io, an AI startup that applies machine learning (LLM) to help people discover their potential. He has previous experience as the founder and CEO of another AI startup, untapt, which was acquired in 2021.\n", + "\n", + "### Latest News/Announcements\n", + "\n", + "* **Courses:** Edward Donner is offering courses on LLM expert and leader development.\n", + " * January 23, 2025: The Complete Agentic AI Engineering Course\n", + " * May 28, 2025: Connecting my courses – become an LLM expert and leader\n", + " * Other upcoming courses include \"LLM Workshop – Hands-on with Agents – resources\"\n", + "* **AI Executive Briefing:** A series of events for executive-level individuals.\n", + " * April 21, 2025: 2025 AI Executive Briefing\n" + ] + } + ], + "source": [ + "# If this doesn't work for any reason, try the 2 versions in the following cells\n", + "# And double check the instructions in the 'Recap on installation of Ollama' at the top of this lab\n", + "# And if none of that works - contact me!\n", + "\n", + "responseExercise = requests.post(OLLAMA_API, json=payloadExercise, headers=HEADERS)\n", + "print(responseExercise.json()['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b8420ce-1934-4dbf-8f46-d5accbce9560", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 411effeff2d9747b6e47bf5d2a1e5d618fecb85f Mon Sep 17 00:00:00 2001 From: gautam_v Date: Fri, 5 Sep 2025 19:19:09 +0530 Subject: [PATCH 159/176] Added Business_Brochure_project-Copy1 notebook to community-contributions --- .../Business_Brochure_project-Copy1.ipynb | 425 ++++++++++++++++++ 1 file changed, 425 insertions(+) create mode 100644 week1/community-contributions/Business_Brochure_project-Copy1.ipynb diff --git a/week1/community-contributions/Business_Brochure_project-Copy1.ipynb b/week1/community-contributions/Business_Brochure_project-Copy1.ipynb new file mode 100644 index 0000000..9a19b5b --- /dev/null +++ b/week1/community-contributions/Business_Brochure_project-Copy1.ipynb @@ -0,0 +1,425 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d5b08506-dc8b-4443-9201-5f1848161363", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "import requests\n", + "import json\n", + "from typing import List\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ce95b0e-3f98-4cef-b9fe-d963fdeeed2d", + "metadata": {}, + "outputs": [], + "source": [ + "# run ollama serve in your Anaconda terminal\n", + "MODEL = \"llama3.2\"\n", + "openai = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"ollama\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "106dd65e-90af-4ca8-86b6-23a41840645b", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + " \"\"\"\n", + " A utility class to represent a Website that we have scraped, now with links\n", + " \"\"\"\n", + "\n", + " def __init__(self, url):\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " self.body = response.content\n", + " soup = BeautifulSoup(self.body, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " if soup.body:\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)\n", + " else:\n", + " self.text = \"\"\n", + " links = [link.get('href') for link in soup.find_all('a')]\n", + " self.links = [link for link in links if link]\n", + "\n", + " def get_contents(self):\n", + " return f\"Webpage Title:\\n{self.title}\\nWebpage Contents:\\n{self.text}\\n\\n\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e30d8128-933b-44cc-81c8-ab4c9d86589a", + "metadata": {}, + "outputs": [], + "source": [ + "ed = Website(\"https://edwarddonner.com\")\n", + "ed.links" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6957b079-0d96-45f7-a26a-3487510e9b35", + "metadata": {}, + "outputs": [], + "source": [ + "link_system_prompt = \"You are provided with a list of links found on a webpage. \\\n", + "You are able to decide which of the links would be most relevant to include in a brochure about the company, \\\n", + "such as links to an About page, or a Company page, or Careers/Jobs pages.\\n\"\n", + "link_system_prompt += \"You should respond in JSON as in these examples:\"\n", + "link_system_prompt += \"\"\"example 1:\n", + "{\n", + " \"links\": [\n", + " {\"type\": \"about page\", \"url\": \"https://full.url/goes/here/about\"},\n", + " {\"type\": \"careers page\", \"url\": \"https://another.full.url/careers\"}]}\n", + "\n", + "Example 2:\n", + " {\"links\": [{\"type\": \"about page\", \"url\": \"https://great-comps.de/about-me\"},\n", + " {\"type\": \"news page\": \"url\": \"https://great-comps.de/news\"},\n", + " {\"type\": \"case studies page\": \"url\": \"https://great-comps.de/case-studies\"},\n", + " {\"type\": \"workshop page\": \"url\": \"https://great-comps.de/workshop-ai\"},]}\n", + "\n", + "\n", + "Example 3:\n", + " {\"links\": [{\"type\": \"über mich\", \"url\": \"https://wahlen-robbie.at/ueber-mich\"},\n", + " {\"type\": \"aktuelles\": \"url\": \"https://wahlen-robbie.at/neuigkeiten\"},\n", + " {\"type\": \"whitepaper\": \"url\": \"https://wahlen-robbie.at/whitepapers\"},\n", + " {\"type\": \"services\": \"url\": \"https://wahlen-robbie.at/services\"}]}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b97e4068-97ed-4120-beae-c42105e4d59a", + "metadata": {}, + "outputs": [], + "source": [ + "print(link_system_prompt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e1f601b-2eaf-499d-b6b8-c99050c9d6b3", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links_user_prompt(website):\n", + " user_prompt = f\"Here is the list of links on the website of {website.url} - \"\n", + " user_prompt += \"please decide which of these are relevant web links for a brochure about the company, respond with the full https URL in JSON format. \\\n", + "Do not include Terms of Service, Privacy, email links.\\n\"\n", + " user_prompt += \"Links (some might be relative links):\\n\"\n", + " user_prompt += \"\\n\".join(website.links)\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bcbfa78-6395-4685-b92c-22d592050fd7", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_links_user_prompt(ed))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a29aca19-ca13-471c-a4b4-5abbfa813f69", + "metadata": {}, + "outputs": [], + "source": [ + "def get_links(url):\n", + " website = Website(url)\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": link_system_prompt},\n", + " {\"role\": \"user\", \"content\": get_links_user_prompt(website)}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + " result = response.choices[0].message.content\n", + " return json.loads(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74a827a0-2782-4ae5-b210-4a242a8b4cc2", + "metadata": {}, + "outputs": [], + "source": [ + "# Getting the links for HuggingFace\n", + "huggingface = Website(\"https://huggingface.co\")\n", + "huggingface.links" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3d583e2-dcc4-40cc-9b28-1e8dbf402924", + "metadata": {}, + "outputs": [], + "source": [ + "get_links(\"https://huggingface.co\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85a5b6e2-e7ef-44a9-bc7f-59ede71037b5", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_details(url):\n", + " result = \"Landing page:\\n\"\n", + " result += Website(url).get_contents()\n", + " links = get_links(url)\n", + " #print(\"Found links:\", links)\n", + " for link in links[\"links\"]:\n", + " result += f\"\\n\\n{link['type']}\\n\"\n", + " result += Website(link[\"url\"]).get_contents()\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5099bd14-076d-4745-baf3-dac08d8e5ab2", + "metadata": {}, + "outputs": [], + "source": [ + "print(get_all_details(\"https://edwarddonner.com\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b863a55-f86c-4e3f-8a79-94e24c1a8cf2", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "and creates a short brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "Include details of company culture, customers and careers/jobs if you have the information.\"\n", + "\n", + "# Or uncomment the lines below for a more humorous brochure - this demonstrates how easy it is to incorporate 'tone':\n", + "\n", + "# system_prompt = \"You are an assistant that analyzes the contents of several relevant pages from a company website \\\n", + "# and creates a short humorous, entertaining, jokey brochure about the company for prospective customers, investors and recruits. Respond in markdown.\\\n", + "# Include details of company culture, customers and careers/jobs if you have the information.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ab83d92-d36b-4ce0-8bcc-5bb4c2f8ff23", + "metadata": {}, + "outputs": [], + "source": [ + "def get_brochure_user_prompt(company_name, url):\n", + " user_prompt = f\"You are looking at a company called: {company_name}\\n\"\n", + " user_prompt += f\"Here are the contents of its landing page and other relevant pages; use this information to build a short brochure of the company in markdown.\\n\"\n", + " user_prompt += get_all_details(url)\n", + " user_prompt = user_prompt[:5_000] # Truncate if more than 5,000 characters\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd909e0b-1312-4ce2-a553-821e795d7572", + "metadata": {}, + "outputs": [], + "source": [ + "get_brochure_user_prompt(\"ed\", \"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e44de579-4a1a-4e6a-a510-20ea3e4b8d46", + "metadata": {}, + "outputs": [], + "source": [ + "def create_brochure(company_name, url):\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e093444a-9407-42ae-924a-145730591a39", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure(\"ed\", \"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbc1a523-4c5c-4571-8541-456e5feed185", + "metadata": {}, + "outputs": [], + "source": [ + "def create_brochure_translated(company_name, url, language):\n", + " system_prompt = f\"\"\"You are an expert professional translator. Translate the following brochure text into {language}.\n", + " Make sure to translate into a idiomatic {language}, matching the users language's natural structure, wording and expressions,\n", + " so it can't be recognised as a translation.\n", + " Be sure to also maintain an appropriate tone, Output the translated brochure in Markdown format.\"\"\"\n", + " response = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " \n", + " )\n", + " result = response.choices[0].message.content\n", + " display(Markdown(result))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ff2ddc4-f13c-44b2-8043-d66f36b0954c", + "metadata": {}, + "outputs": [], + "source": [ + "create_brochure_translated(\"ed\", \"https://edwarddonner.com\", \"French\")" + ] + }, + { + "cell_type": "markdown", + "id": "61eaaab7-0b47-4b29-82d4-75d474ad8d18", + "metadata": {}, + "source": [ + "## Finally - a minor improvement\n", + "\n", + "With a small adjustment, we can change this so that the results stream back from OpenAI,\n", + "with the familiar typewriter animation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51db0e49-f261-4137-aabe-92dd601f7725", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_brochure(company_name, url):\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " stream=True\n", + " )\n", + " \n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " response = response.replace(\"```\",\"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09f18581-b870-4952-8430-217afaf7a83e", + "metadata": {}, + "outputs": [], + "source": [ + "def stream_brochure_translated(company_name, url, language):\n", + " system_prompt = f\"\"\"You are an expert professional translator. \n", + " Translate the following brochure text into {language}.\n", + " Make sure to translate into idiomatic {language}, matching the natural structure, wording, and expressions.\n", + " Maintain an appropriate tone. Output the translated brochure in Markdown format.\"\"\"\n", + "\n", + " stream = openai.chat.completions.create(\n", + " model=MODEL,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": get_brochure_user_prompt(company_name, url)}\n", + " ],\n", + " stream=True\n", + " )\n", + "\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " response += chunk.choices[0].delta.content or ''\n", + " # clean up formatting glitches while streaming\n", + " response = response.replace(\"```\", \"\").replace(\"markdown\", \"\")\n", + " update_display(Markdown(response), display_id=display_handle.display_id)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56bf0ae3-ee9d-4a72-9cd6-edcac67ceb6d", + "metadata": {}, + "outputs": [], + "source": [ + "stream_brochure_translated(\"ed\", \"https://edwarddonner.com\", \"Spanish\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c1fbb54a5a16150f3fb1a91f1868601fba8e15f6 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 19:30:29 +0200 Subject: [PATCH 160/176] Add dungeon game code. --- .../dungeon_extration_game/game/__init__.py | 18 +++ .../dungeon_extration_game/game/__main__.py | 43 ++++++ .../dungeon_extration_game/game/config.py | 146 ++++++++++++++++++ .../game/gameplay/__init__.py | 6 + .../game/gameplay/gameplay.py | 55 +++++++ .../game/illustrator/__init__.py | 12 ++ .../game/illustrator/illustrator_dalle_2.py | 30 ++++ .../game/illustrator/illustrator_dalle_3.py | 32 ++++ .../game/illustrator/illustrator_gemini.py | 36 +++++ .../game/illustrator/illustrator_gpt.py | 32 ++++ .../game/illustrator/illustrator_grok.py | 47 ++++++ .../game/interface/__init__.py | 6 + .../game/interface/interface.py | 50 ++++++ .../game/storyteller/__init__.py | 6 + .../game/storyteller/storyteller.py | 67 ++++++++ .../game/storyteller/tools.py | 81 ++++++++++ 16 files changed, 667 insertions(+) create mode 100644 community-contributions/dungeon_extration_game/game/__init__.py create mode 100644 community-contributions/dungeon_extration_game/game/__main__.py create mode 100644 community-contributions/dungeon_extration_game/game/config.py create mode 100644 community-contributions/dungeon_extration_game/game/gameplay/__init__.py create mode 100644 community-contributions/dungeon_extration_game/game/gameplay/gameplay.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/__init__.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py create mode 100644 community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py create mode 100644 community-contributions/dungeon_extration_game/game/interface/__init__.py create mode 100644 community-contributions/dungeon_extration_game/game/interface/interface.py create mode 100644 community-contributions/dungeon_extration_game/game/storyteller/__init__.py create mode 100644 community-contributions/dungeon_extration_game/game/storyteller/storyteller.py create mode 100644 community-contributions/dungeon_extration_game/game/storyteller/tools.py diff --git a/community-contributions/dungeon_extration_game/game/__init__.py b/community-contributions/dungeon_extration_game/game/__init__.py new file mode 100644 index 0000000..a70d9a4 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/__init__.py @@ -0,0 +1,18 @@ +"""AI Mastered Dungeon Extraction Game initialization module.""" + +from logging import basicConfig, getLogger + +from dotenv import load_dotenv + + +# Environment initialization. +load_dotenv(override=True) + +# Setup the global logger. +LOG_STYLE = '{' +LOG_LEVEL = 'INFO' +LOG_FORMAT = ('{asctime} {levelname:<8} {processName}({process}) ' + '{threadName} {name} {lineno} "{message}"') +basicConfig(level=LOG_LEVEL, style='{', format=LOG_FORMAT) + +getLogger(__name__).info('INITIALIZED GAME LOGGER') diff --git a/community-contributions/dungeon_extration_game/game/__main__.py b/community-contributions/dungeon_extration_game/game/__main__.py new file mode 100644 index 0000000..73a0e35 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/__main__.py @@ -0,0 +1,43 @@ +"""AI Mastered Dungeon Extraction Game main entrypoint module.""" + +from logging import getLogger + +from .config import SCENE_PROMPT, SCENE_STYLE, START_SCENE, STORYTELLER_PROMPT +from .gameplay import Gameplay_Config, get_gameplay_function +from .illustrator import draw_dalle_2, draw_dalle_3, draw_gemini, draw_gpt, draw_grok +from .illustrator import draw_grok_x +from .interface import Interface_Config, get_interface +from .storyteller import narrate + + +# Choose draw function. +DRAW_FUNCTION = draw_dalle_2 + +# Configure the game. +game_config = Gameplay_Config( + draw_func=DRAW_FUNCTION, + narrate_func=narrate, + scene_style=SCENE_STYLE, + scene_prompt=SCENE_PROMPT, + storyteller_prompt=STORYTELLER_PROMPT, + error_img='images/machine.jpg', + error_narrator='NEURAL SINAPSIS ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_', + error_illustrator='NEURAL PROJECTION ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_',) + +ui_config = Interface_Config( + start_img='images/chair.jpg', + place_img='images/machine.jpg', + description_label='Cognitive Projection', + title_label='The Neural Nexus', + input_button='Imprint your will', + input_label='Cognitive Imprint', + input_command='Awaiting neural imprint…', + start_scene=START_SCENE) + + +_logger = getLogger(__name__) + +if __name__ == '__main__': + _logger.info('STARTING GAME...') + gameplay_function = get_gameplay_function(game_config) + get_interface(gameplay_function, ui_config).launch(inbrowser=True, inline=False) diff --git a/community-contributions/dungeon_extration_game/game/config.py b/community-contributions/dungeon_extration_game/game/config.py new file mode 100644 index 0000000..057b781 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/config.py @@ -0,0 +1,146 @@ +"""AI Mastered Dungeon Extraction Game Configuration module.""" + +from logging import getLogger + + +# Define a sample scene description for testing purposes. +SAMPLE_SCENE = '''A shadow-drenched chamber lies buried deep within the bowels of an +ancient castle, its silence broken only by the faint creak of age-old stone. +The walls, cloaked in thick cobwebs, seem to whisper forgotten stories, +while the air hangs heavy with the pungent scent of mildew and centuries of decay. +Dust dances in the dim light that filters through cracks in the ceiling, +casting eerie patterns across the cold floor. As your eyes adjust to the gloom, +you notice a narrow door to the north, slightly ajar, as if inviting or warning, and +in the far corner, half-swallowed by darkness, a figure stands motionless. +Its presence is felt before it's seen, watching, waiting''' + +# Define the starting scene text. +# This is intentionally excluded from the model’s narrative context, the 'history', +# by design, to prevent potential leakage into the game’s storyline. +START_SCENE = '''You stand before the Neural Nexus, a convergence of arcane circuitry +and deep cognition. It doesn't operate with buttons or commands. It responds to intent. + +Forged in forgotten labs and powered by living code, the Nexus is designed to interface +directly with your mind. Not to simulate reality, but to generate it. +The Nexus does not load worlds. It listens. + +If you choose to sit, the Nexus will initiate full neural synchronization. +Your thoughts will become terrain. Your instincts, adversaries. +Your imagination, the architect. + +Once the link is active, you must describe the nature of the challenge you wish to face. +A shifting maze? A sentient machine? A trial of memory and time? +Speak it aloud or think it clearly. The Nexus will listen. + +🜁 When you're ready, take your seat. The system awaits your signal...''' + +# Define an image prompt, mind that Grok or DalleĀ·2 models have a 1024 characters limit. +SCENE_PROMPT = '''Render a detailed image of the following scene: + +"""{scene_description}""" + +Stay strictly faithful to the description, no added elements, characters, doors, or text. +Do not depict the adventurer; show only what they see. + +Use the "{scene_style}" visual style. +''' + +# Define the scene drawing style, can be a simple word or a short sentence. +SCENE_STYLE = 'Photorealistic' + +# Set a Storyteller scene descriptions size limit to keep the draw prompt in range. +STORYTELLER_LIMIT = 730 + +# Define the storyteller behaviour. Remember to specify a limited scene length. +STORYTELLER_PROMPT = f""" +You are a conversational dungeon crawler game master that describes scenes and findings +based on the player's declared actions. + +Your descriptions will always adhere to the OpenAI's safety system rules so they can be +drawn by DallĀ·E or other image models. + +The game start with the player, the adventurer, on a random room and the objetive is +escape the dungeon with the most treasures possible before dying. + +You will describe the environment, enemies, and items to the player. + +Your descriptions will always adhere to the OpenAI's safety system rules so they can be +drawn by DallĀ·E or other image models. + +You will ensure the game is engaging and fun, but at the same time risky by increasing +difficult the more the time the adventurer stays inside the dungeon, if the adventurer +takes too much risks he may even die, also bigger risks implies bigger rewards. + +You will control the time the adventurer is in, once enough time has passer he will die, +may it be a collapse, explosion, flooding, up to you. + +The more deep inside the adventurer is the most it will be represented on descriptions by +more suffocating environments, more dark, that kind of things, let the player feel the +risk on the ambience, make him fear. + +Same applies with time, the most time has passed the environment and situation will warn +him, or at least give clues that time is running and the end may be close soon, make him +stress. + +While leaving the dungeon, the more deep inside the adventurer is, the more steps must +take to get out, although some shortcuts may be available at your discretion. +Once the user exits the dungeon, at deepness zero, the game is over, give him a score +based on his actions, treasures and combat successes along the usual description. + +Don't be too much protective but not also a cruel master, just be fair. + +Your responses must always be a JSON with the following structure: + +{{ + "game_over" : "A boolean value indicating the game is over." + "scene_description" : "The detailed scene description. Max {STORYTELLER_LIMIT} chars" + "dungeon_deepness" : "How deep the adventurer has gone into the dungeon. initially 3" + "adventure_time" : "How much minutes has passed since the start of the adventure." + "adventurer_status" : {{ + "health": "Current health of the adventurer as an int, initially 100" + "max_health": "Maximum health of the adventurer as an int, initially 100" + "level": "Current adventurer's leve as an int, initially 1" + "experience": "Current adventurer experience as an int, initially 0"}} + "inventory_status" : "A list of inventory items, initially empty" +}} + +Remember to cap the "scene_description" to {STORYTELLER_LIMIT} characters maximum" + +You will respond to the adventurer's actions and choices. +You wont let the player to trick you by stating actions that do not fit the given scene. + * If he attempts to do so just politely tell him he can not do that there with the + description of the scene he is in. + +You will keep track of the adventurer's health. + * Health can go down due to combat, traps, accidents, etc. + * If Health reaches zero the adventurer dies and it's a "game over". + * Several items, places, and allowed actions may heal the adventurer. + * Some items, enchants, and such things may increase the adventurer's maximum health. + +You will keep track of the player's progress. +You will keep track of adventurer level and experience, + * He gains experience by finding items, solving puzzles, by combat with enemies, etc. + * Each (100 + 100 * current_level) experience the adventurer will gain a level. + * Gaining a level resets his experience to 0. + +You will keep track of the player's inventory. + * Only add items to inventory if user explicitly says he picks them or takes an + action that ends with the item on his possession. + * Inventory items will reflect quantity and will never display items with zero units. + * Example of inventory: ["Gold coins (135)", "Diamonds (2)", "Log sword (1)"] + * Be reasonable with the inventory capacity, don't bee to strict but things + like a big marble statue can't be taken, use common sense. + +You will use a turn-based system where the player and enemies take turns acting. + * Players will lose health when receiving hits on combat. + * The more damage they take the less damage they do, same applies to enemies. + * Reaching to zero health or lees implies the adventurer has die. +""" + + +_logger = getLogger(__name__) + +if (max_image_prompt := len(SCENE_PROMPT) + len(SCENE_STYLE) + STORYTELLER_LIMIT) > 1024: + _logger.warning(f'ESTIMATED SCENE PROMPT MAX SIZE: {max_image_prompt}') +else: + _logger.info(f'ESTIMATED SCENE PROMPT MAX SIZE: {max_image_prompt}') diff --git a/community-contributions/dungeon_extration_game/game/gameplay/__init__.py b/community-contributions/dungeon_extration_game/game/gameplay/__init__.py new file mode 100644 index 0000000..c2d3d4c --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/gameplay/__init__.py @@ -0,0 +1,6 @@ +"""AI Mastered Dungeon Extraction Game gameplay package.""" + +from .gameplay import Gameplay_Config, get_gameplay_function + + +__all__ = ['Gameplay_Config', 'get_gameplay_function'] diff --git a/community-contributions/dungeon_extration_game/game/gameplay/gameplay.py b/community-contributions/dungeon_extration_game/game/gameplay/gameplay.py new file mode 100644 index 0000000..3cc540b --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/gameplay/gameplay.py @@ -0,0 +1,55 @@ +"""AI Mastered Dungeon Extraction Game gameplay module.""" + +from logging import getLogger +from typing import Callable, NamedTuple + + +# Define gameplay's configuration class. +class Gameplay_Config(NamedTuple): + """Gradio interface configuration class.""" + draw_func: Callable + narrate_func: Callable + scene_style: str + scene_prompt: str + storyteller_prompt: str + error_img: str + error_narrator: str + error_illustrator: str + + +# Define Game's functions. + +def get_gameplay_function(config: Gameplay_Config): + """Return a pre-configured turn gameplay function.""" + def gameplay_function(message, history): + """Generate Game Master's response and draw the scene image.""" + # Request narration. + _logger.info(f'NARRATING SCENE...') + try: + response = config.narrate_func(message, history, config.storyteller_prompt) + except Exception as ex: + scene = config.error_img + response = config.error_narrator.format(ex=ex) + _logger.error(f'ERROR NARRATING SCENE: {ex}\n{message}\n{history}') + return scene, response, history, message + # Update history. + history.append({"role": "user", "content": message}) + history.append({"role": "assistant", "content": response.model_dump_json()}) + # Draw scene. + _logger.info(f'DRAWING SCENE...') + try: + scene_data = {'scene_description': response.scene_description, + 'scene_style': config.scene_style} + scene_prompt = config.scene_prompt.format(**scene_data) + _logger.info(f'PROMPT BODY IS: \n\n{scene_prompt}\n') + _logger.info(f'PROMPT LENGTH IS: {len(scene_prompt)}') + scene = config.draw_func(scene_prompt) + except Exception as ex: + scene = config.error_img + response = config.error_illustrator.format(ex=ex) + _logger.warning(f'ERROR DRAWING SCENE: {ex}') + return scene, response, history, '' + return gameplay_function + + +_logger = getLogger(__name__) diff --git a/community-contributions/dungeon_extration_game/game/illustrator/__init__.py b/community-contributions/dungeon_extration_game/game/illustrator/__init__.py new file mode 100644 index 0000000..608db8e --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/__init__.py @@ -0,0 +1,12 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator package.""" + +from .illustrator_dalle_2 import draw as draw_dalle_2 +from .illustrator_dalle_3 import draw as draw_dalle_3 +from .illustrator_gemini import draw as draw_gemini +from .illustrator_gpt import draw as draw_gpt +from .illustrator_grok import draw as draw_grok +from .illustrator_grok import draw_x as draw_grok_x + + +__all__ = ['draw_dalle_2', 'draw_dalle_3', 'draw_gemini', + 'draw_gpt', 'draw_grok', 'draw_grok_x'] diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py new file mode 100644 index 0000000..7269d7b --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py @@ -0,0 +1,30 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's DALLĀ·E 3.""" + +import base64 +from io import BytesIO + +from dotenv import load_dotenv +from openai import OpenAI +from PIL import Image + + +# Environment initialization. +load_dotenv(override=True) + +# Define global defaults. +MODEL = 'dall-e-2' + +# Client instantiation. +CLIENT = OpenAI() + + +# Function definition. +def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=None): + """Generate an image based on the prompt.""" + # Generate image. + response = client.images.generate( + model=model, prompt=prompt, n=1, + size=f'{size[0]}x{size[1]}', + response_format='b64_json') + # Process response. + return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json))) diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py new file mode 100644 index 0000000..87f8051 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py @@ -0,0 +1,32 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's DALLĀ·E 3.""" + +import base64 +from io import BytesIO + +from dotenv import load_dotenv +from openai import OpenAI +from PIL import Image + + +# Environment initialization. +load_dotenv(override=True) + +# Define global defaults. +MODEL = 'dall-e-3' +QUALITY = 'standard' # Set to 'hd' for more quality, but double the costs. + +# Client instantiation. +CLIENT = OpenAI() + + +# Function definition. +def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY): + """Generate an image based on the prompt.""" + # Generate image. + response = client.images.generate( + model=model, prompt=prompt, n=1, + size=f'{size[0]}x{size[1]}', + quality=quality, + response_format='b64_json') + # Process response. + return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json))) diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py new file mode 100644 index 0000000..e586944 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py @@ -0,0 +1,36 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator using Google's Gemini.""" + +from io import BytesIO + +from dotenv import load_dotenv +from google import genai # New Google's SDK 'genai' to replace 'generativeai'. +from PIL import Image + + +# Environment initialization. +load_dotenv(override=True) + +# Define globals. +MODEL = 'gemini-2.5-flash-image-preview' + +# Client instantiation. +CLIENT = genai.Client() + + +# Function definition. +def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL): + """Generate an image based on the prompt.""" + # Generate image. + response = client.models.generate_content( + model=model, contents=[prompt]) + # Process response. + for part in response.candidates[0].content.parts: + if part.text is not None: + print(part.text) + elif part.inline_data is not None: + image_data = part.inline_data.data + # Open the generated image. + generated_image = Image.open(BytesIO(image_data)) + # Resize the image to the specified dimensions. + resized_image = generated_image.resize(size) + return resized_image diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py new file mode 100644 index 0000000..ae8b9f4 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py @@ -0,0 +1,32 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's GPT.""" + +import base64 +from io import BytesIO + +from dotenv import load_dotenv +from openai import OpenAI +from PIL import Image + + +# Environment initialization. +load_dotenv(override=True) + +# Define global defaults. +MODEL = 'gpt-image-1' +QUALITY = 'low' + +# Client instantiation. +CLIENT = OpenAI() + + +# Function definition. +def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY): + """Generate an image based on the prompt.""" + # Generate image. + response = client.images.generate( + model=model, prompt=prompt, n=1, + size=f'{size[0]}x{size[1]}', + output_format='png', + quality=quality) + # Process response. + return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json))) diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py new file mode 100644 index 0000000..417af7a --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py @@ -0,0 +1,47 @@ +"""AI Mastered Dungeon Extraction Game scenes illustrator using xAI's Grok.""" + +import base64 +import os +from io import BytesIO + +from dotenv import load_dotenv +from openai import OpenAI +from PIL import Image +from xai_sdk import Client + + +# Environment initialization. +load_dotenv(override=True) + +# Define global defaults. +MODEL = 'grok-2-image' +QUALITY = None + +# Client instantiation. +XAI_API_KEY = os.getenv('XAI_API_KEY') +CLIENT = OpenAI(api_key=XAI_API_KEY, base_url="https://api.x.ai/v1") + + +# Function definition. +def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY): + """Generate an image based on the prompt.""" + # Generate image. + response = client.images.generate( + model=model, prompt=prompt, n=1, + response_format='b64_json') + # Process response. + return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json))) + + +# xAI SDK Version: +CLIENT_X = Client(api_key=XAI_API_KEY) + + +def draw_x(prompt, size=(1024, 1024), client=CLIENT_X, model=MODEL, quality=QUALITY): + """Generate an image based on the prompt.""" + # Generate image. + response = client.image.sample( + model=model, prompt=prompt, + image_format='base64') + # Process response. + return Image.open(BytesIO(response.image)) diff --git a/community-contributions/dungeon_extration_game/game/interface/__init__.py b/community-contributions/dungeon_extration_game/game/interface/__init__.py new file mode 100644 index 0000000..b680128 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/interface/__init__.py @@ -0,0 +1,6 @@ +"""AI Mastered Dungeon Extraction Game interface package.""" + +from .interface import Interface_Config, get_interface + + +__all__ = ['Interface_Config', 'get_interface'] diff --git a/community-contributions/dungeon_extration_game/game/interface/interface.py b/community-contributions/dungeon_extration_game/game/interface/interface.py new file mode 100644 index 0000000..d0d05fa --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/interface/interface.py @@ -0,0 +1,50 @@ +"""AI Mastered Dungeon Extraction Game Gradio interface module.""" + +from typing import NamedTuple + +import gradio as gr + + +# Define interface's configuration class. +class Interface_Config(NamedTuple): + """Gradio interface configuration class.""" + start_img: str + place_img: str + description_label: str + title_label: str + input_button: str + input_label: str + input_command: str + start_scene: str + + +# Define game's interface. +def get_interface(submit_function, config: Interface_Config): + """Create a game interface service.""" + with gr.Blocks(title=config.title_label) as ui: + # Title. + gr.Markdown(config.title_label) + # Hidden state for history. + history_state = gr.State([]) + # Scene's image. + scene_image = gr.Image( + label="Scene", value=config.start_img, placeholder=config.place_img, + type="pil", show_label=False, show_copy_button=True) + # Scene's description. + description_box = gr.Textbox( + label=config.description_label, value=config.start_scene, + interactive=False, show_copy_button=True) + # Player's command. + user_input = gr.Textbox( + label=config.input_label, placeholder=config.input_command) + user_input.submit( + fn=submit_function, + inputs=[user_input, history_state], + outputs=[scene_image, description_box, history_state, user_input]) + # Submit button. + submit_btn = gr.Button(config.input_button) + submit_btn.click( + fn=submit_function, + inputs=[user_input, history_state], + outputs=[scene_image, description_box, history_state, user_input]) + return ui diff --git a/community-contributions/dungeon_extration_game/game/storyteller/__init__.py b/community-contributions/dungeon_extration_game/game/storyteller/__init__.py new file mode 100644 index 0000000..042ceea --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/storyteller/__init__.py @@ -0,0 +1,6 @@ +"""AI Mastered Dungeon Extraction Game Storyteller package.""" + +from .storyteller import narrate + + +__all__ = ['narrate'] diff --git a/community-contributions/dungeon_extration_game/game/storyteller/storyteller.py b/community-contributions/dungeon_extration_game/game/storyteller/storyteller.py new file mode 100644 index 0000000..bc976f2 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/storyteller/storyteller.py @@ -0,0 +1,67 @@ +"""AI Mastered Dungeon Extraction Game Storyteller using OpenAI's GPT.""" + +from typing import List + +from dotenv import load_dotenv +from openai import OpenAI +from pydantic import BaseModel, Field + +from ..config import STORYTELLER_LIMIT +from .tools import handle_tool_call, tools + + +# Environment initialization. +load_dotenv(override=True) + +# Define globals. +MODEL = 'gpt-4o-mini' + +# Client instantiation. +CLIENT = OpenAI() + + +# Define Pydantic model classes for response format parsing. +class _character_sheet(BaseModel): + health: int + max_health: int + level: int + experience: int + + +class _response_format(BaseModel): + game_over: bool + scene_description: str = Field(..., max_length=STORYTELLER_LIMIT) + dungeon_deepness: int + adventure_time: int + adventurer_status: _character_sheet + inventory_status: List[str] + + def __str__(self): + """Represent response as a string.""" + response_view = ( + f'{self.scene_description}' + f'\n\nInventory: {self.inventory_status}' + f'\n\nAdventurer: {self.adventurer_status}' + f'\n\nTime: {self.adventure_time}' + f'\n\nDeepness: {self.dungeon_deepness}' + f'\n\nGame Over: {self.game_over}') + return response_view + + +# Function definition. +def narrate(message, history, system_message, client=CLIENT, model=MODEL): + """Chat with the game engine.""" + messages = ([{"role": "system", "content": system_message}] + history + + [{"role": "user", "content": message}]) + response = client.chat.completions.parse(model=model, messages=messages, tools=tools, + response_format=_response_format) + # Process tool calls. + if response.choices[0].finish_reason == "tool_calls": + message = response.choices[0].message + tool_response = handle_tool_call(message) + messages.append(message) + messages.append(tool_response) + response = client.chat.completions.parse(model=model, messages=messages, + response_format=_response_format) + # Return game's Master response. + return response.choices[0].message.parsed diff --git a/community-contributions/dungeon_extration_game/game/storyteller/tools.py b/community-contributions/dungeon_extration_game/game/storyteller/tools.py new file mode 100644 index 0000000..a995ec0 --- /dev/null +++ b/community-contributions/dungeon_extration_game/game/storyteller/tools.py @@ -0,0 +1,81 @@ +"""AI Mastered Dungeon Extraction Game storyteller tools module WIP.""" + +from json import loads + +from openai.types.chat import ChatCompletionMessage +from openai.types.chat import ChatCompletionMessageFunctionToolCall +from openai.types.chat.chat_completion_message_function_tool_call import Function + + +# Tools declaration for future use. (E.g. Tools may handle user status and inventory) +tools = [] + +tools_map = {} # This will map each tool with it's tool function. + + +# A tool call function. +def handle_tool_call(message: ChatCompletionMessage): + """Tools call handler.""" + tool_call = message.tool_calls[0] + arguments = loads(tool_call.function.arguments) + print(f'\nFUNC CALL: {tool_call.function.name}({arguments})\n') + # Get tool function and call with arguments. + tool_func = tools_map.get(tool_call.function.name) + tool_response = tool_func(**arguments) + response = {"role": "tool", "content": tool_response, "tool_call_id": tool_call.id} + return response + + +draw_signature = { + "name": "draw_scene", + "description": "Generate an image of the scene based on the description", + "parameters": { + "type": "object", + "properties": { + "scene_description": { + "type": "string", + "description": "A detailed description of the scene to be drawn", + }, + "scene_style": { + "type": "string", + "description": "The art style for the image", + }, + }, + "required": ["scene_description"], + "additionalProperties": False, + }, +} + + +# Tool call response example. +ChatCompletionMessage( + content="""To begin, first I need to set a scene. + Imagine you are in a dark room of an old castle. + The walls are covered in cobwebs and there is a smell of mold in the air. + As you look around, you notice a slightly ajar door to the north + and a dark figure lurking in the corner. + + I am going to generate an image of this scene. One moment, please.""", + refusal=None, + role="assistant", + annotations=[], + audio=None, + function_call=None, + tool_calls=[ + ChatCompletionMessageFunctionToolCall( + id="call_oJqJeXMUPZUaC0GPfMeSd16E", + function=Function( + arguments='''{ + "scene_description":"A dark room in an ancient castle. + The walls are covered with cobwebs, and there\'s a musty smell in + the air. + A slightly ajar door to the north and a shadowy figure lurking in + the corner. + Dim lighting adds to the eerie atmosphere, with flickering shadows.", + "style":"fantasy" + }''', + name="draw_scene"), + type="function", + ) + ], +) From b227f97892f6bfe41634092d15ab622a96aa31db Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 19:30:42 +0200 Subject: [PATCH 161/176] Add game images --- .../dungeon_extration_game/images/chair.jpg | Bin 0 -> 916130 bytes .../dungeon_extration_game/images/machine.jpg | Bin 0 -> 811881 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 community-contributions/dungeon_extration_game/images/chair.jpg create mode 100644 community-contributions/dungeon_extration_game/images/machine.jpg diff --git a/community-contributions/dungeon_extration_game/images/chair.jpg b/community-contributions/dungeon_extration_game/images/chair.jpg new file mode 100644 index 0000000000000000000000000000000000000000..701daaaab0eb1b9866e35d15092450c4501a2d00 GIT binary patch literal 916130 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 z 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

GJs3yrsF56 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

%I@y{sL_hnMM#k+{@{)QBgGh$k8(ohZEwf8 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 z%0D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℘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

O8IQ9h-57Oz?4^pwDo!UaA&N5zXyr#8 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%0A0uBI8$uEA!6sPo5epZM%ja}AnSV{-%6o(lj) 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�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

Y*?B9>2T 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 z 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%0At;_>lMYzMPCT(!?m@OJW!R8K zlivMr@nsHg9uvtDY-K36D;dH>NybD**pZZ~qif)}%bJ<0-lJl^<$l{TeyU@5#V$i; zK552lF zW&Z%inr`du9>keGDC{)zbm_Rj*@J%K@vePm`#HN91)}v&kz*Oc0_`44jmK$>jH%fC zv4}^u>lts8=};B3muLYbhBXM~_N+P;Bmzk)tQ0#A$XUC0EIvC7uCLVc8S(uuEf}P5 z@nr%!%&mxwu~<}=tWsC)1T#SsO;-IO zFy7)E`o}5zbvfTfJy(uZmz4ds^O?%v`8*C;+8z&<%B>1H$}^dm)56=18!~=FS>rY- zO$7>*_Hsy`CP1;2VqCm^yt0iccPPck2&E4D`(w;{EDJ}TqxxOIy;jByKRx4=vv9^3 z(6s7nWihkJs#;t|P8N#&3D}5-xn1K)1b^oatW=+c_1R&peAxZSbo+mPF(r|OL?NCz zDjb}BWJKM;!!2@amVH@@Vw(RfCZ(07@`5q#qR`Rv;eyj0JLT?M|CJH#y*UwJj zNlR6V=i~l0FI9N0IUUt#WqM|*pq3m?QwK>5k}7&x_e08kK5jq8{c_4f%{V4)%{~+B z&Merm6{d%@B9}C&VgZnkBS~Zse&_P*d+$iv1CMExaA_0I5}B(^ZOjj7^F;z?kO*@5;6g2Z)~bJQx>!#8RHmu!$0b`4OBC?gh`cWoZDet#`VU>ZFSJSM3xTpj zF^!mPliUD9h?w_`cyYb2*F7N9fC2JQ4gpA z#m)i$04ix$R}#wW7>#LUk&%WKa#I!Db zr5j?aA_ewzCBJNqmnzB?kyZO1ice+orNV|lKyJhaR?@cg(5Kszck~<5X*#K4!*Qxd z!T$jKot^-jI(?_Mh*)p0R#ByH!gECUsEiiV3HpVHw0rQvMq#%PuBZ3>ybw_j(76fx z&S=Q}S+YNt$&Xmm8u>dZT|p|*ylvx!*k~KvPPQPZu8O+w%FC^iH$65s;3$l1UD7!O zat3x@!C9BF*kBQK?pOsCOYd)y{{YipZ(NR$8nMhXe0z&lWnhx5Yk7GU;!q?l?L90E zbtVW(FuEgejHH`i)My3L4FD9L%iEwIG6O2OB|0vH59AMUeXf6f*~p%wdf)c<=#_Z? z04jxhW0i7x(MVC{r;xK9yH%x(yQr~8iE+zQSCFVBGA+>wcSE7{VE%Z?L647zCUp%T zYZ#HX^(p8YrpH?|zM&)RnEJ*3W>LXNY?V10N~uCKZr#=FJy=gk__J_tOL!j?FtsZ< zo-2u5oHG|5-fr9w2|T%#qZnAU?S{u-Y_x0N;rMdqxpR*t#o>s%NJ4r_K9U5vPdPmzx76;!N$Hgqis8pLeN=zposXf zZ_@k${{Ylq>HEZfcPwx*$th^C0kc(iPofe=0x=`A1tf?7RshDj8&J{ob!I}Y{j?Mk zRYIO*936g7_j5F>7<#zgTbRqv;D$vUZo9z&3aH9}E+8XV`$vT zTOt~iDNTOK1w$lNBWdJ)yApw;h4#diW+<#wj~w{>b*CL5$ty*OU79AU`roLlY@ozK3D1Mf;eIuJ7n?Zo3Inc@2Jo(^$N|& z;o&3tXOlihbVDCNEAu6lJ~ZqfR_K7zhd{lH`-}>%fRL#GFk(n<=&q%dC_PC7K!!mN zzUTn#6*fQ{49Z(fQ)SF&!*y0r31ReLcr0D^y*l+^519*WDDr`IwuiGa?Llpo@$(?j z9b2k2axYd+su+)ONV0%IF3Let{QxKAIunfsnnkpyt z5YI7;fLse!QZ+riKU7*QpCsQ|K?SztU1?QVf(q#M3aZjcv97^cf%m$D^JZdy%JL}K zV68&_=7Z(ARwD-)Nm_ZZxcHQnQeM?{oDFSR8BR_#B*x60yhzI;sp!6mA>`(eQHzZ< zm*tg4u3Mn-UyJ>WPpQV^#)qG|%*3T@u0QH3T~)vrTR{90{{R%G*uEddsIv4haqLA` z?HE!XJbg&Y$UU+aUyp?*FrNZ;K_5#FsK6*O$I>T#>6KW-T3Cxo^Cz%n3c?mqDMn;Y z-HGWVNTrSdzZeRl#1Qrfv8n6fQ1bWoh6PI8)DS*hmPGi|VuZ?^nN3T-<2cOJ3EHZI!`r)YxHM3oGW7zeX3*pf74AxedAx`>7dA^^JhnL=cY{dL{nx$oIjsO|zbiv|)YkH`ua z+zQJZga9KQvH_lD&>)sb_pfmI*SKF`ZA!k-hGZkBU>YT2E}(V}SOxbKF$F|m6&r1{ zmtD4)r*aCSscx>x0l5P}n?3;pRpYEnC~114S?|b#DDb0P30rHS#{+MsLj8ozws)KP6yZO|T>~52QSqQ6*A(rksP^4{eJ-w=O}w@OucQ&#@MO!70uFmSzA z*N<%z%PO*vj22>6IGedWI|q!&%mke$!$`|rpYn7bMiwGehBEIUVCFRn?67qVj!QgZ zGFPc_BK>J8a;~AlW{}At0zv^wx?g<&>e3KGC^ZT^F!Lb0air5;-Lz zB`Aa0RxvzNDjm02z-2<8ucqK$L?~*6n$Oi0c|VrkBJyc-cysSoboq0!Yr}DBm#bS%7yQRgTZFs*Mx4ib8|kB33OK zPykR7*t~0^PL)Vtc8`jqNMJcO%^Ous?Ka zmAzKEM{^8htCbBOwyaxAphIbk5!+$9unrvQhWxYdHHd>tUPO_na~T7u424Rn&Daj; zflR2;9;eE)du`>&?A+tjXjW54F)N-K#HTfDIEwxSdWPeLkBod$TBpuF$!3K zQG}1tQ$z;X4p0PW!U9lqP)@#%UCXL3u(m1wt)2~A?cTM!*q)&h>-EzUfBR{&F{NW_ z50rH6LCU>%S1lv|0Fk|-!C7KO_WuC;km}|BML`54fEU(|(7nQq7UKb(krz`s0+F(6 zQ`9tLpisau17ImtS5Oq9u>^}?&l1M6p1pmj&b`I}b(E_|8$_pLVbsYd&PP2+M3&Pm zte_Di0y`{(_EO{n?YRCZ6nsG}!=j&XD0vMK_SzmoHl?g8wy%{NsMvx7>2<62tpj98 zvNR*@I{a3Fvuk#3;%OLknM=H%_%W*waKsSV4J2|XUy`nej(~yKu`gmc-WY;KV2C3| zJNA$%ew{^h5tb!DS5Q&Ppa{W0Kmd!~D6=Hf1%bN_hLf*GAb*WI^(SH3woCho(2}F3 zEn2u@k)&vhPR7H@)BMg^mE&iB=00t?NphW2atRyT4AcOM$~{Up*2)!?v;|1rl~1)| z3(nStDN)@(KIr1^EF`1$nZu7T;%WHHAeuT<@yqX4jX4H?<$4^m5PmSyeG zfEX)8QR+wdaT==?Zlsg4LdztPmpVj^h+(aS zRUl|LavcdO;l|mzG>oPv5|XK$F%l3^778PNz$sRZ5>1lKf5wC1wL1nf%1vUXLMM*l zx}v(#`<_vi`B5U3dD98WT48T)u{;HSlXQ4(E6q{q+SZyR0VN?_9M9COi6n}}nbdrW zNb*LT?61|NES;I3=@Kh%BTw6~aH2Mly0m`{lnT0x$h}rT(fJz%iuQPSt)dD_VI>({ z4yHoxTrXx;Dq=qo&>|?2*Q`kHJ-DP~^p-^1EX?rsLccN*=9Ca+D#ld>NLfm@&W~{5 zmS))RCtaNz(O;)tMu(_q>=HFnUs*(A0K~aSplXpFUzEMu=KO^+9$T1Y=f=yA6=~Ii zL92FQNllEK#Vv`U{^1)>_>(j~?1Gyt1lCa!!xUmYIk!X-;XSa5BFk~jsVKqqYPVuE z;e3ya=zkULq$;l4nJAa>=0;rz%OsA-s8UyuN7T9yorHzJ0C@lj2=L|6H)v(5?&`+A zOARC-`FMcHQ3wbsl}gkrL+NoiVES6_`?=r%_mh|oijV@dNHFQ0YU;Js1bI* z$H)rX1H+#Tq=H7ufOXs`P&5eYOQ+N8lrxsub_Aa6u&PiuBuWt9jT1TN+W|5=l5?4ksQGyZboFS+!zao8Ql$-FzUk z%eGm|;B*yM#J%eG{{Yiyb{HUu6c9ipGVAoH0bQ`!U_l%0sD#+G6b z4TMlZEv05>{tvRGcn##H$k9+oU!#<#&yc6bjr_N6gLU&k=uwqlhKr+Unw14t!Qp9I zF1;+nK0H6lt(V*Fb!s*EqboPeRc*Gr{Db)IvKh1#XxtLb5}4JB>0E-^Vgl^+jI*dL z41=zTPBSye^?X7GvJ3A||I-ioN=m0hckjeuMX!^_XK*WL6767O{PP7iTq_IQQ zys+3&=Y6aCcebqCy9nz=>d^S1d|#`wk_+LJAH@Yf9uT+Sqvy$Fy#(ahjxWn1&0w+h zG8d}Tyo+AtSnR_Tc?y;&No7(=;W5~*ClXPeSV>zTuulmRMvN@?J^Q}(cR%*!iTg{n zUyD)nmk;Xhch)O7c(}GAPD5*)WH{a{i2h{UvekPzy42|5u?rn~c&nJmtu{*F$(+0p zVdBP9{{TaMVdXxFbG|p~9}pOC`j3j{ak<<(XR!F}<}_c!T8|-FY~wPOY~$`%7F8YK zu^f@SsS|*#11`RxbL_9EJcBdJEL6o%%JN+1M>mp(i{P=Ga}Kt0_FmMrvDgd+EPf{w zLMsMX=;JXoAjeUt4Qh}_3aTnn!q1cUJ7tWRkbk!c7?%W*o$ZoRo=CC&UmsEhXUb-t zICdXT`kxnt^eDrR{FMHq9&aZ!@$&c_Zbn#R%ZnB$&ySxs9$7GGdqvsk~`_RL`)ZL*=MUXs+~}@zU(lP!Q*vCj133&fI`Ik z=?st=B;8n-Xw9(9W4H{C18LXVWZvW3tRRIXAO>;Sn>eEdis;70Y2=az01~h6PZVqx zIU?8!O7&(8CL&(yV+@R9!yF8H6Fu?BlgT;2bsEPBvN6C`qZ)*pl@~8uzau2Gyo|Xg z_cHP%PEx96E|G}HkN5jRQzLQ${8y}6u9a<6j6rS*1&9l!nIms;hkcaj28#Sk7a_qR zSw~eYS&M#eW7kdis=z0Wq*lS~y-7}_lG}dXTe10kj9<&;GdC!WAjXr$2_PZkN78IPLr`A zcdnjWx0qb9R0UirV(d-@Hf3)YvMnJeouGrUW1Ma%0(o~@vMasFhD)K z0(a-K_U+gO+iOlF*TdXbo~erUh*Pu1q(&Hjub3Mt*qwF^g;q@-j@tkNM6y5ZX+WXX z1Hh`JbWZ-+>;nG)6%5U%>?2dAW7NA3r4-lZ!`>!GCOFXcak%?{daC?adU6zb3E4D^ zx>%H`v5)FMN%-=ofvqe1-Jw*B7KS<^%B5so(LcQd)k}e+ z)F}Xbl~gh68AgE$&YWF#CA#dqot1t)m;>#ruvAtCKbN@Sh(-9wRfuAxy{@(-RYuSx zARu=o$?RQ-a3l+}AT23o1&AfX$m_zw(Yo|46r0&ABJLsIUg81%KERf69Uo^wqjH)6 z$&lX9+^WzR5wuvr%yQ2ZHm$49d40KXt)MlJANmhAhF{{S6Pfsc8aa+PG8 z5Q%h^MHi=glA9W;v(piZuY!>_q9wJWOoLb3RijU(x)3Xv*_f*|i0s9?6-O~^r(VHP zdpEb!vFhxgmJCDEg;sWDWbxetH=V0?2y|PsBX4d>ufftrV#YNroko*yOswxN!nTQ1 zrUh6#f*Cv_k)j#Vi7M#+w85%ontZ#LNVTufaiNryoV?LNREzz_C|w#epuTs9>wqs3A5~_}T7K>cRX&0T>Yn(>Og@k|x}t zTd9y10s5ZNfEj|Yle3Pp5$$&*kl-j$8${(wY!2$~LY8GCN{Zgl*i8?hv1IL*F06y9 zDoGTkSN{GR`C9clR4M-erpVUkX=NgiztMO2w zNiM(@Ld%txxQ#=FDyT^WY^XgD^<^lj*S?jz9|KF2g8>+}WAO~HwvQR3590KGrfuYh#00C6V(DnVSg>-$! zayspT52biRZ6qz#fhCqrA}TRL$X!WSQg~W#Gv$aW86s0fPxW1w%9ALW7M*d(MJ0gljP~$lp{p` zVfERS#D5*KFwl@cWj`4mf}`~(<*ywTiuHZ=A;DJd*+YAbk+ekaKBOU!di@6kbm#=D z+~Ty31NbD3h77I*WwusS5vcw42YVgE%IEm#G6ao`nk2FQ+K{nYG%^-eL{>~#krGCV zVvL*inq?M}I`Xx8?9f~1(b$80T&Ppn5xDk|4$28TEv1o^fHtHOBq93!4=qS8*P4~( zS?Sz~>REHp-;20j>2A_WovUz7>p?iky`z1HN z$L0WIK&bK=RLEJ5!aqP)sU!s_ta~GR`E>)}$4Nsibb5mtds}Yn@7yH^q62h3 z>k~vxbw{sg*8DA*Kmn5U*3BKRB3tL+cD}98=-;CG?B*uHugWu%*5RB;pbI29eA-z2jG}ew z#Nsg#UCGpuqj;Ak9VnO|dw)=m*sr3;)89(w=Q(%;e2dhBPa~=0QDV0qsw~BbkKZvo z{jw2Rn=w3#Dy_fIqP8RV>crnsf8N7e^)v1Z(GNuHOYPF3QmyQZMp=qwIhJ;gHb$`t zR@|8URx+)+#noM6w`befEC)?ZYV{V5GK3M-r$()6_3KxRB2}*vfgC82sZk7Z#S}s? ziclw&MbIA4BNx+g;n&>e&C8He{$458D5m^M4pZ@T+FWZG_vEU*Fuft}YwiSGx~{h= ztaVi57xf3DlvaN6_hw-16$fQwC|JX7K}`>oOssxJGqwswl=Fw2^GT6zgNE$v%DDdY72t z9-CI;+(^$SKJ{ZG9|q!;@!MR2*S;c$J&>cIqw-CAQQ_!M7qazo*_?fqD(Do+-)&xr zMd;_JSRM_=s7aI0WiHl(AtoAyjE+;2@|@Jr))jE{Vuf-!OF2x%h%nr8j1aa)+#?G@ z80ERu8lO)w@UYA36X_YUlg5@v!bA*L31{m&jOuqBM2SQ0W1ncsFkw4#fAtbL(38?N zES_L^jHMZD>P87A@G^vfKTFHf-%Gd`qg;BY4&XR=F_dd8BH5@1=j3OGN0oAUyrQem zlbT1Kay{uA@x_mBs#d76K@5RBU*kdtvaX8Y5fFIP#OK|Vv1wi1{m`<>)Hz2ZXIcjm-H4nJ&M)>~#rt;#be{cT)*AGhZ zSjq5t>+|NL$kINs@GdtsZY_+COBV0(9A`1%7;Z0rjZ@4nQz?V>hHNh#;%3A%XJwZs zc;(A^V=VHUpE#&wFw>r7%AOpMjN_jiqTzCOPgG}$Bw>mk(ff80k699oZc|b*2TM7U zzttGUB*|yFC*k`AJ+7s@$OAhgka{moZ9#Sm-(SSColkU99V9Gz$sfzB4e5f08Y&{_ z-rXE9J^BBa-G zmH7@2kLQ08;gcnc?)kZBb6Rd@mmlWJYl&sK7jcv#!bFPgeu_0@kGLkIRA$#$qXZ7*0kFg&3Zw^C5Bg>rRrc3j-?kVUO3X_- zfuty^-~~XtRB%R>SHl4E7>be9#H_ycO)^aq!uA*0bawnS`-LEQ4}v>DIhldK-)nHqKJfWyp+I)rmK; zy)0zMuVIVX><8>kO4BXZSMEC`y$Mh>0UFD+XSQT2LF6o~nAwf#jU1-SnrIdV`(DEz2@drOh}89N_tiwp06j z*f=p$VR`2)g5<{RgYqxO{fgulDp$7^Nv+-y(^lZ$)YI-m0miw74q@u2s=18!DZg4t z{l8MPb*N89)px6qeo>971UIu%U5+@RmfU=U0e^5?viCAGNmhDnzfR_Lj$Al#y#w;xLR?2c=ZH!0)TzJKd3 zZYou-bm-`{X#ub`_98+Jv;SJ)=bs=`1YSB!N| z3{uY=*_^S*_S{xVK?rA@<9fc}b+scagljHW78r8z%wPw6+LTvv=uO{?aPD!zA;7ls(*e9mYbmDuN&5Ej6u(?^JccN>f}_?BXxM<37lb5&kTi>oXXV=X&FisjfxbrbR2oRG6m0Wvb!!eoNX*xZ^%?-h!Z z-N)rAW=GWiYv{fwnQ%`=eL!w`W0mo~6~-}q$DL#H9B-3)Z_R;ItAmo_3oF~=}d&jvCKh0IImg3Dz1TfCk zp2kKCJbKPngaD>MS-(}V8QVs^3Rz4nxZ3SIt<0u6)rqZ8deJ#7Iq?0-|u^k5;E)3agf2jjwzBU?U0m4A*_o8kxMe*Jxk(z!dsOq z*?bov$1I7R;ko@|`6e(%#7SaW6HB|8`vj!$Whk2%>s6XL;IPt20`m**@6;|z{;1^Y zO=FQ!2NR=%HeoGa5y zd=AGj^&UG|n6PuGIBb923hb(EODr|)&2iwGOVTqd2U@h+Ng*}|(VjzEhb;8w zXOs@Sr_-X0^Uo1cQ=0_^WzkBeKQc2IKf($~RJcu6UU^c5ER)4uF09qL}6zeURY(mCq_dnxCZw<>vCAjp^Kt-%I++~>zarJ8l8JCkN zvOo=nDI&``Rp`-}$Whs3c^&@2^tt237|-rUtp3{;k~@*u8GJ|K-IpRwi}Sy#aon|! z?6~I%W{lx2FpxW;m+O>8S$5h_-P|Tzhbs?y^vx^oa_zKO{iSJQRZz+hDx(=ZkgXU+ zZ)&;L!d4HIDoJ3u?DE-D?kxVl2KFhx0zSSe)Sqr%jUim+#x#P?mEFq`I>+o!xc}c1qS*Xo&Te3%D zvcLBVq8Q4~sO=aMQ26;&SxJ~hERL{ag+Cb-qVcv2P2Zj!`^d@ zG5-K8@QQ(t88}Gl%*i?R+wB)4XVovbPerht&c!^IH<e0LwH)Nwom?hlmX@RTdGZk6b9 zj(wP?j;yZijIl*hjX2{}RVbj7vO9fq$L!zMZZ+wL+<&0?-dTRHAHZ?1P(3NV$?}p7B0O$tA^H^w-mS*5%6PvY87K*|WuQFK!caAv#&RO(&L0^%8nm_JRsfUrumUIUYWp+SP2?sm1E1PPA!~sFwZOSut{?t7;gU zSs*1^SP>uSoOm!HjuMyh*glh!228Pw9B(5GzKzG?3`;)bh;p)G#>|leI~GJFnKGRq4#+_pR3{KIN)WR4nH#w@h>Oq86_xxPbU`-GmG?GZ1Ol|s4FC~sh8Fb>w2Ky|B(f43Y@?tyv8HQ)0Dh zvRH8xk)ySq;Z{henV)SJb$v(-iUS87wh(qu>s+&y{{VZh#eQ)txZW{a6%wP%3aVqT z+l0Sz5>}nos@Yajy3Heb`E>{ODQVAzgLudjq=x( z2Ib{37-|SuLp^G*0|)2x`bgv#85%U%$$eH+Ez%23H!j|-ErO4dTl z;lftR98@yW$TYR5r!ASKuM1O}wdSvQTek%@tnBvGK`oxA8wH;-WLipgV}~1fWAYZ^ zed1|dnQt1^?p~GG8587dWAY1)jdBphk&2zEF|8*+;ky#!lOO0BszIUDWaX)f-abbZ7gflU@F~lHAnIt9I=}fY3 zsRmYW@S~G5Ll!CKnIt~RERz{Ag4Yj7nK5aNm~gc$Yax+TW`D zbBn_S8O{lxxl<2AmdV2S$2{TOn=NiE6#(~h7qM6#N1LfV>{#SDx;Te>36Z-~ID-X3 z#e~j9kAX4ELMtZUHosV6Xk5x<>|<(IomO~WTMt&A8m(*C)UKIZHe0h|5(UOrsV$0( zhShs%%JL_|`iI=_mlrBHvPUC|6(!4zgt1B|VYzsTAru(oh)I`8iytqE9BYR^9(l3! zgEJwICMotMEQCcERS4Dh_PC9 z9D?pHz1oyA?L28m8JCvka|urvvq>W}Sdzu5Yt8uZPfj={n*Bd8ex-fY+{xqk{{R5s zcsy?a^xufOLB=ZLC{$iSo}P@D+nBCN&n(udYSu$DMxGLu6CBj7;qXn}LYj3t~=!eMzHWB#J!cx-na$U~UHVxr?*l02RwECxR9ILvsD zVQ}(@y^FMGjbc&9bN-3-AF0ZDzV048yF`X8lAcC5AuMsl470|^B!1>HQk7&fivlcr zy*K!OSL1OaL!|QiebU1SMl#7Q&+Yxh2Dtt5h)k^nj-1cC|#XeF?HRG{X^tIxI%L1z6 z{SEs-=iGv?65(HW{ALbkl9%zRV!4+IxJgN;p>p;Fwm zaaPvlYnq!Aj;|(fA&t&hY{qt5LoiUu{4>plGx?5BXyY?|jBxw1f!{o*j|}rna#TCU z2YiyrJ8L4ukEbE^oOvY|4nMannGW(}gR@xi!O8Z;7|DYsF^rA-BNG1KVE*N}zYP0% z%jd8e&r-NoBjmhlSmu*p(@Rfy=t~r zwYqhoXzpWjwcx#o$X3bFo*`nj>b3F^!qGIccSo<1r$W?nM=Vmp{{WRzCJzLssR~tU zzp8DB^};)zxN&NHiyt#_j0HUI2P2c8lX3VtFCM{Fi<0GVcCS{woT-D)%ML#*ylVBi zvb;`gf?{#^bC_qLB^5pc>xZG-Lj{fFEq9dQGeRpC`B(SuJz}ORhb5NGvsuJpRsnM@ zHA+viwTQz3L}nwO!1^&3?0Rj~v!)3;K1ZdJ1l$Wq)g z$2?L>hrAM}xV@tx-Jy}AksC&mGK{FY9m?qMW4Km}zfe{o(e$yiNH&b;tG1u%EJ^+NBcz007u}Yl zt~p;pIhF^~{#l=XPv}pm3NCtA&hIR4~HmQc)`wfo2PVzw78$auao80z48 z?k|!0x#^-1y21L7!y}I;>hBZBueS2k#`5ki)%k@urC8{ucONY(b>ofNO7}PIW7MgA zSoAxEa$A!ux$I>rc&{XLG?Px*-ZLU&zb4d@gDlqa*!9Ndt!etpK2kugI)qK1s$j#& zN1jDqYSvF(#lxvsXmb6cfpc;Op=RJlMN+x>aWNWiy6oexu{yc zry{HY>HsCR(Kg#84YHOc0v@qRq1B1&+sgnzkRHr|Plp;^9;eEw-&N}`R!~bY46Fu; zQUO$wx`EeZ0ob3``~37mdD$oevpQ^iOAr(vqHiBfhXAmQuU)V{Ndz%sHanz*F#}xy z8)j)2my;OFcV+KoYgW^#Gyc|@L`#uotrR7A)|)926jN$YwjL8{7G3n}Rar<>>>IC^ z{b_@wW4HeRAamAwzWU{3F%j2qz)*6e~_yL{^NJaRs(3D_2_$S6mk_~C+dHVL$F@N=r{#~ zb_%CzzY=%YFGX(u0KV}s+8?Mp?XD(|&`(JT+-?5=N!N16a``u{I}!Yp6WKv+F;-Sk z0c8eyNS8!(btXc}7hw#08tc_no8)_ery4!ju7_H3_sHZo{{X#}(_;O`(5n6KU%#Tk z98lT}AfF*%{v8|L{A?QZ1W+{YvFoEsz!UNK4T#LE?hh)1ywVkL0>$6 zj?2B0r9daD82jw8EDywZExjaYE5{|PQ%41Q@U^QFFhnrL0cmHE-TL%H3@*#HW$Frs zDio?%{p>|*QjAXu3Y7VzD`P7a*M+%|j?$tkI(nWoro^#L7r)=0G&=IXz1~BRi5J-6 zSUjonQ=)%q!(q4#vFLV>+!iv{wozkeA*5|QaxuD#4`yzvdb_OTsdXr!l}PI+$@;T6 zBV?!=2VMmz`$tr5#O)l?mTG*G%OZ7DuIYXc4(ruo`<&&=#QiYHRfb@hK2>5oH8PIEMXxVQH>J{q zX(2S={AnElVD}YC*-|23w!9R$uT2*#A}UYG^EnK;Vu2(SYD&18kjM(jxSgn2wGrx7 zmf$-9!x+= z=1Jt`A3YW>GM|P$8j}>0DBoeE_|pDo>O73`54VW^RuZci;!n9M-4d5_E2b=J&8EGw zsi^d;+C%PkD9VFfo<$M1%I%8(0OMhZ4;fMm5;UzMs&x#&=#9psUPuVuQ);C*)!B&m zJ=a47Hrdb1xP33gwwSk47{63zWaw95hws>V45d%;EJ%3=_*4SGIqDoKby8TYn{5-> znKnbd_lFTIcXd|PC?#h-F3h>g;-^#NqtHdF|%W3hKgb zH_2UPfQAwH7ju+mVZmWCxp$Pr^zqj0sb^&gBE-o_oRFOv?KNfS(x?m3LVy4iZ_!$^ zX8CU~oy+~#$C3tAn6Dw$wYqpsfDd_%|7H&2NGs3+(v0DJ4vBt>0mNE=wopd<*09Y(#74%L!1G4>LmV+sP3Am3y?(lA)* zkckLJWd=deu|eDb8)_Jq)m^Gg-ei%90H1IU`vpg0ShEKt^#v59k_IJ# z?xoq)E?E9fIySxIq!BNksnoQ80O|;BqY~Xv2)Y$*%&Jhc$W;gjzg~rW>=x}HUvzd< z+ps50p+grW0Fg0dc@-2lQz7lyj=)!QuOPeWgQ0L0c0=r_VKHMH^7fDptlVo&n;U8N zy71Xq7DlN)J8Iu;6|_X_dOywjCnI)sCNm?r9SWYnyG+sP$MG!1!mBe6ak@&t=s(kP zO?PF$lZZvVxg3EJ;D-N_mX7 zahgt}!+>KwcE?+iLKk6F{KY)4MLQ*;>ImM-h|3T)(Yo(vqmd%6 z$8ZWA_{mWxZi^WPQJ}=>*sxu0J*^Hy7a29&Dw zobkoA5$NvL7Mpdq&V%xPZ_|Gve&jYLK{V08P%w#t$lo}FbY_|j;L0gtsmsaO$@6PWf%Ockbuy}lAt7jrdBd1RwOp2 zI5`PT%OLF07_P*Usj9xsF_Gkz7Wz_MV8$jW%2frE(k}Y!So{T9F5cf2zfGBL%kC^s zworDR!gco+MF5{>3diK#*;vW#I++8m-)M(ERcrS~f^r0f-`St4cONEI)CBIq|}C8Ws4LH_`>%8-ZV z-u+nsakmACg-`&;YD*FV_*1YxmMkrX=w!y@9Rxn=$qi1Z6((r^0CD9z^(^ZgW!I=I z>dG|zQJW=Q`z*McFFaESnl)?CJIG`bZ{ccn9|8XfHCO1G5}$*@FPXtacScmtQ28@&5qd7C%{&Cyz?aW?U3r z&>+9JmB=SuENEP(Nj@c`}JZ_NggSG^(+$NjA#A1|J}Nl1J$XjgzG6p{^iO3bM6kZIvAdS7=z3 zUeDb_s0!eA2o-@#CmRH;lTgi6WiK9<^%K=VIz=yyLILVV+D6*4dGFB%mMc<*q?YCx zTF@`^YYUE@BWIN>!V1P^M&xRDl4+dT4;y1#ZSK|_ffQ^P{|VpMhfj3 zf`qVE?CLtRLYy+add`#7j4V)*yAej~)rxj1#T*CIXp&eH*@5>NevWmuAarXmyo|sN z&WwzNhGJdk0oQD!T4q)4**+t5!8pep31B4kJ>J&z9)Bc~ODQUd?|!|O$x2Tkhgsb- zodah=Nz zASN=wLbEeDD-Tew6F1BtD1}c_=t)X&yfzd~G%>NNBz0-yh)7C>=*|{JFWEp2j>{)j z3hJ*Kv7AjtAv~Z^lW&cl34!$rH|h- zGPr{htbb9|0<{^`z0xBVK8HNrBPsp-y<-AoiDR5wlw;PINhU~E*wEgGN-0vKbocU7 z377!!$rLEf)JDj@;k@V_&%uAj-5NmQ_Iok})~ACeYkQU2HmsKfsWT`=XozFi+;lT| z2_y?AZ)~=a8I@IMAwseMm4Zhx?V?p2Lf+5_<=z$Vw{F37@~J5P+ar<~ISTSaZYP<9 zOqJ3?gsK!S?caS1t9;m*SUWb*IA-!%{Je3)j-!kpZ@Lo5_@NeWT1BFxeqfaKrxs5l zcPz4**C0bAF+;AQ)=~R$yJP;f@}4g4hpd=R5eyhxJQ^-Z6+3uNI+-asRvvyoXDP^M zhIh?ds}OgDzXNRUjC+YlgjAvNMqtO_=_S1o01$u0S!(j?Kz3Ka$~io(5^y`?gU4V#AnPmm z!aOtT7$w4R7^lPIN?*%h$;ZR@{>B*RVUIcYfy!i%N=a;(E;b3T{4M<4I1`64o1Ek@ zytz(9*n4LR%K|qCY-7=sM1rU+TWUv^X{2@%Nbd49hhdpZ22$OaF?JgvyB{TnkDsmL zJ2B~l5C(xQpuZ3S(;bH1j)?*KogH@?F+GoN;d>Pz`PYC7_g<%6e~Se@i4VOIt)tj= zI?z2>4Fb9({B}tob|2(Y7!b#5+CA|GqZrrViKILTU6g)y`6!_ErnhXVyH)+`$H1RI z9|@rJW!QVL5D)VMx#&S+>!L^mlcJmWoiRoO+zvpNG$s8Iy%k1=y!U0+i)~SS{{W5p z=%@s2sQN1;qr7jh8)(EPhk!s(r8HE4#Wa87KSlNmx8hj0Wh1N>Ms#7Ocw+2AJGW5n zt%V@;Dr8{4EtNy{B1ILb((c1ues5(LR+M@56kW#eUTE<6-jo~F--`4MV@0?AoVQip z+dyrCgVc}oNGDE1H;}{V>|?MaU$sz4QXF|2RUiOCRtvWS<-c);_4K6{0^lp%s3)G9 zdy#ff31Y#bGLjC|jctb4Uj_gy#m1&Wf?GJ~`-GWwErd-(YDlO1^_uCpwAF*>fo1}098 zFf0oh0ZygKD#2BHliR2VqsCjhU@H=YX_~loD9l}E0fQok+3tu3R0`c>AO;M|xn>C} z)s7=}vn6{wUWlpGN+xcHakSb|KSx(pNTOY)nU)`-iz}CwF5)l8w=A)r@hqreR?!OL zKHc26m}YPR>`ba-2gIb7Cz8){`Ht;FN1KU#iqP8;BF3JtwJu#%(P2w(wLuguHd3`t zsjU%?PQj#Qg1mu4Bbb^;*&wux%p_RcCzLElL|F+yp|4aGj%g)y79uir4tfB`;L$qD zQH!ZXB>w=Bmt*4W6KiJ6z%0P%?yR%LwOIYtlpgLBGp}}$Rx+W3r~n}r+eu=WW= zNm5WFA()v_Oao}=qPa52B!X7!wUOiU#l6bJlWQpJ_3APBZ6bVC?2Xg4RV$(~j6-!q zLMV(tl$0eY3s-k0sjor^Ry)5L-a_!Zi6>-T0_dz1#<3|)^j_iIJZ`Q6mOkLK!8DeZ z+;OplA8)yM(8%Ua>*>+^;p2s z?0Rio%XQtQoJrriMhVxJ=+YMUwv2$T#DwX6=VlD&qc~z3vyh-3V#R5XYppS%4ckHH zsWY5e z0vr)gAa{Tg!cTD}k)&X!s})A9yAFR~$QYH4n{sRcpiAu+#7xTWJ1~k~h1pS23+zHm zY1DwhgoLVqe`;x7U`T5W1d2+;!cqwCqA}Un#&$=Jo9@rlux55Exg!*hT|kMyl0P6N ze%kSNA?p1UNlrbr*7qmE`(;$8pL6?q)*M;{f;%4UsaaQ}M)lPiL@Wv8X>Z(JA zjbV@C%t%!jnCv`r`!*sGEJ&SXf!TtqI?8)RTn1+(%H0Dv1rMFE(w!HcBrv?Y06LYE zs8~@+8!XZ6{{WA{QmUX7>c^@2U9X6f;>W1a@wp){w*^TIS(-*I@jVY#Kk^R18vXQ( zP*YV&NQcdC#7b2^8ue2dM4XTiHTx_|H@#7H`&X0JweWFvX=M}0=0Y5+M9c_ceaA9{ z1%Qx{5t%~l0^b=G;f}^sP>-TEfXGDgkjKH05`SHZE>(1-?NE}tj4D_&-9)_*GlpQk z+k_#JnH3g5z_0uAvbM*EW(Vorj>W*BpE4|e0zfDUZ*X-`=)fQ-@@4wUQOgF=R6g){!tLFWm>!L~H9ijU zFbf0$^)M0#L!!#6V-b?B@x>?v1`Kq^r~&bZgqQZ29yTsmX-dDi+Y$$mov}OY>)k?? z(y57~2!!$-f$9u?E=TNJ)o;yLnJxLVkUFT%rZh@Ownh9Dh5n%*HRIEcrBm(zx(vwD zCqxYq3JXmTXvcO3u$5G^va=U*{{ZlIRIbdeD#ssv^#qi1Sy7o-mw6PqRAOWP6BiRk zPPD`;RU`?beaRl0HAC%%NJ@=30wi9_eo?Ce4?v9I4(@m=rpZ{##VRRA`22*7&g?*5 zo(X9FY_bB(p(A!8P-IA|SW#}aNYQrED;Lkj*OKSLfn|1$Q0mnXdwD-po2^xP8jOAd zEAOEoqjfq!0bp5nS!6(5sbwq_1>Ztsa@F^ksZxK&PyXAmVe%}(Kv*a~Tz~^0D}=FqxHtY-tgKp(Fs>C4q2BRoK$AGe~!!2o6g1i)^fYRaiW3y<_N~5DR~dbx?#5 z75k@V45~wwS_GxBluObtfw=oT`10tssI6UKFMn=^lG|#;6{7Sgs4$a(tL@nHgjoD;6ETonpnpnaT07VMD z-ZH2GRQedg)>4w{Ct2$C;);mX`Hj9THFD~z6oS`gmZ+okH2I^&>~GQNl=pGnM1gwz zQb%S*M@CXhBDe~Qt@2+#FCjRW@9d#+DJ)>3BTyYwz1bzj35vumZ^F-F@AwG;UZE zFxd?zp;h@R=$^|QV3p7;6bRUW%A}|Zu^N3GgtEubGo63%Wh30uj?StP!H=VW%1D0$ zMYhN`U(_lLqb6z9Q0_frs!0-4-A#elsTCwdiMGzI4z*jSbrSw9Z?=&1ZWSTE3FXsj zn^P}mBYidd(|J_^k$f|3j-+%2!u547y-{?t2H#RjDM-}yjG04`+vdOn*}uqDbUG<2 zKnNJC5TQJEZ6E;wD!T}v^!9>uBJRJd zLP?Y9nB*5MT)(!b#yr@R+Wb!*fKBSR=qF<=mHkm4ow2p~ekY9GzS7d^h{bWq{{X0U zn-cCsp=z0dNMjmDg7nUNgeg$as*7k@p$>7S{f`%jvulSo{0sQoBB(ahD1KCcF{0^+`uBYgKP>ka)96z`DJ~fs`JfoA%IXpkmZZ~%UPV9?3 z`1%=jz~uA1&pOa_kbYJN7eg|Z*0ME(Y-Tdrb!wr$tjXtp`m(8r^s;>S6ZCGLE0u7* zSIwfXaU8GJ`-{)9G0PXGnTYP?B*%J7mg9UnI=K#KB@QpkIW_~--eJKc!Qx@5ZuIo8 z(9SP!)NVOXg3oR?qswmD=U%VMvRI>;mmc|^J@+ zNT970YZ5Q`yH7FgH0-T3(@Q6ixqAYcTs}s$jaMgwvs!vNDB?xF($uozo<^~&O>Fy- z#T?GItN#G*EV4q5p@>%J{{X05)79@&c@9Sdz$_T?G~&0H7#=$}ET?YA7O5pW*se{V z$Wq48yCy$BCPGR!@Y7A(jOIA@MlAj-A8#FA)#fHY)?Q=jN2?r)PgVHETqa99%qFku zpBcbZ#7AO1q|c*er%AO z%<-0NaQntM<*fezaO;xUPUDmAN^n`mQb|hYOS4ywYca-Hs}$-H$u7ic0w_fB8mUAE zw++Xt;`?vRXX<+2dY*QUON`_qC{=zZ%{xOZj zR;87DnK}_r&(g6q+w#w1w@hH59Iz;=T27q+WF!E?PN9mbdD8-?+yoYOX43JZ9#d0^ zeav0W@MXi|c-nIum0V19GWfn%i;EL`D`O7PV7V=hJ&wcWp{d7m5!c7^c)0EsNGu{{ zPA89MVM>&GXX=OCcNoGxK7Kh-JKctlLs9$m45cDPAQjhr)k2^_{UxQ8F=tx5VnA;w8#lfT*{nkr5)%Y!^JNc(JS zAVVC!;7$yCK94?66CAANz{<~}L7w2sBxl+OqtPg}iK!TO1uuNN5f zbA+8n+28F5qCcEzTo&Tt^AK4 z$~`yqr;B<|iK|K}=EiY4i411#3E~$*T(N%j`Kn1RT9d4HB}n3H4-^m>zZ%TcCZ(vo0lxU zIV{O4*Y7OKWYX4vv{j7$%tVA&uwsRn#DV4ZU~QP;UhbTJYAkkMhEEJ5F9fYUddb!% z4AG-NlLjV3I*8*}_g%`*1iG5dXA*r!^5kCrR@I-3Ftvc~2y`fsi6f0-a3YQuk>d*! z%^WDRN@SWqg~WeTC!?5dDayS>;&FPDmdkN|1(xL0>+<~H7Q&p?Zw2Tb z5pyA57$s~)8RV?C?6ei0NTO*<>SUfcVwY$!#nw`h7_x38Y_PjU_St)pU2IAOrI0&& zo}nqsF~sarz9N=gjfb|XS8ce3UOVcoPFK(UO@_B1<=1kLW(2u*Omy6;{$6FC{k)Na z{R!_^medA&?_X6Ro7$rmLgmY$OnU|op88$Puw3I0gr@~uK6n1Cf{ppGO_Rj(oK3j- z20tZ*#w7PHRL1`ReYK9sE7eN0vel-^P*|VvvMmo%{Ur2{?8;AGIUgSM+ti*-d(!H7 ztZW{U&FW_n!16CxGnuTFOnzH9*}gAQ#~O0>W`q@Z`BSbpUT67qBCx2LaGr2flYO7Xo|;l}>}aHS-+jY{_L@Ks9} zO}NUfamRALw}XeD`BM&86A!q;TzrxvgQ}Tp9I_v36-Ic##f>9!0PVYj>E?VcY@DoY zr865ixi2%&%wi^CBPq%mVn{|^*+aW34=bLgebsu4>%XGb_|K|y+_#zHT)}xPIVOt< zi^S!zRwc1p8B-yMp~ezfGkDt>JC9Q<7bB_;BFj*p1CUXBJsk(PlZ|apG;Bgk8oLHS zpf^B3Aa#8sDL*zu9ayrK4x^yodcKYFueY3*Yl~Fm8M=IXlT^jq&vD0x@Nt=JmLnvV zBfXHvEX<~?Gfi5?ELny_PR)BQ??~vAFExhe=^RR?!<~qoN)pZ(DuT>HmM)trHQe_9 z0FYDJ{SPM|SX{hpP%vi62}B8Z?=lgQ(Sh%rycIvXkYh4ZkaNFM#hV^O9&XM|ap@wd z=>Wc+q7~9atja@43M!Xq%lyEvZ*a1lOubC6}>@R z`$;5hPNEV>x-1cbs6N1Lrk8$OK~;-0d%e;!H6=?uC00WYkRv3D>JfLQ4iqqLlB@|s z@zFh0f{3p2CV+Adqw2sbGRd%tjNVHYIzUJ*v?L!Ru)&oh3S%h4MMjztQiO>7t?q`{ zq0Z!lB*+}MB=)u%1FVW}yDW7b`~AMFhkp9=$2MGA&Ff(fuIR2K~N6V{WfHF6B!x6VIfch6(7AZ z+i0lymIL+(1coEpCf;H_f_2bA8xXyIKr0d40yb2-ZMImk0ItS^`18vlF3VA4TiDqA zoBf|JjeH}M2istq)X8@3Xhty-+Ry{4{{VLVI3DY&2-Fn|GxcR{>#6rPSo{xhAq$|* zutJa+Yh<=d7j|_L5AqEX6d2oTNGJIzUy_YE-(j+c>Adp*sGWz%yM_!COk`!yJ&#_> zs)a)M2*1HuRD6??J-zh)OnYsJE3_UL;=VtKB!WOAsXGosJ8{?n5EKBY_^5%_SG_5< zGznzIdg|KmsCDslpo{0+h04F#_e(I*O7cAR1d_WmOs>r#lVk^Z3bTgnM}2Mf8HsIm zGxl$h`Yn5vQ(PWv)Y?2UY|%?C$g1&tpCY4yZdpPPbtJ_}hsIsWL&IdVeZxUow7L4} zO$<~gYc*lC2>w@Z>U+TOvSsI_wBT+X5UcCuo>iIBxOo6mUJ+7W-X($rTBsYVoYrX`4FOa zAhI%$NC;Sa{T!fGS3fo^0cJWX7=RcKwn@`~&DwqFk>I(Blq;^c$k^v60*)QA8tze$Xsvq=g9D)4IlWkV+9s&gDxph3OQVVt|mU z>goYKfD7by2n$qNZs+29^nLu9fj$E$4w}$n0NSWk-nwcbA)1pmrgB3(RjqA%6kt85 zqbs#tHpA(Bh48*L*Rqk#c_Ol~ZFb!w?%vmb8y|PdI^(#>Bl@Donmwx@?x3&R9lL%xbAuc2V4yNQa?OU$it{mh-HfOmJDg^Pav|5Pf;J$yze2WZ#NoMwN)j=QNrOHF`L6< zp^gfGV6YNqr^saG#nY`)7^qkmo-0`DP)PHBI@k8E{{Yz^qkn8(p<;OzpSdr(tNw(T zG8p<;Oava9X1zhiavHK!iKVx0&l$-d0>5x zQ^S7mA@x^~;Avd7h~s1JtC?}^Mq4FHt*n+bWiE1ya&V=mkj*`8Ov9C8xdD*e#?i=| z9DbDYR{3Uss?Q(PxlxWTUSt>_Z-vW{b?7NFW(G02y~shG^)gN+N9dS%98A0pE$7FH zf@H}V=EWx1FGZIU6ZghKz~p6zSfxdmt^~>H+}EbWjIK_FJ6Q|2;gP0E88H~lCMF!M z>vGBN!q((!)+UCPOkd>R$z6f5SnBp}Pmif}waX{1fTvRnCK?f#e0DxejzOep=Eux( zcWl+IS>pGBuxXl-UZ3)$NuGHVtWqn#)&2D%{{W^qpIkjDZ$k08?sLMuFvPzwvz@WV zV&T~zQ*wTs-R54YXR;aIGe*v0!r7yWGV%PptI0VNL5Raga~Y7261ePKJj~=-tfqT6 z$TN9Hn$AwlR{1=LU|a< zP@5Hu#wEdsaoqM`gs?=H-enQYk|WtyN9`l2aU8KlsMD^y_IT8WiCx3X)2~wbr>7i} zrzqk1e1;b#0ZOyUQf5lIDwZaNtl={C3$;A29?6PmxlArjIq?}fs9?WR#1cGj4-2#V zgglZNnOt{LeZbQ)A9Kfa0v3$)ZFf$LJQpCY+sF%&SjfjtrZ?QSCp4sC#7})75(QOQ5*jNEPww>2WVqIUo0oM+>ZsnCp@8s@TkJD_n#=9^QVoD)MEq zb#j>tIqNp3u48%LX>M1`j_Zzsc$W!1dkxJfW+vk|axqk9$rs11s<}F|8SGeTYvVG3 zax*=ulIAh4{{WeCOEXuV{c3mJCAVSWk0;IyUpl#t!0}kIvrj{jVL7HlCYg~#87j6T zDUZOtTs*T$5BE#e=;d&^EA{AHoZ~9ZmdaeKS}U2XrHefY^~>(l{{T=p7ZT!JON?>s z4no#Ff9jr3kHg~OznO1q8IrSi@)pgS_}qv0#LD8JrHP9RUWIIYb)kwVEJ<7IlKRKf zxhFU2`8YgwW_dXIIb#5xE~>e5$}o{AuwqB6V^ZEzJ0u)aA5V@^%4crn;=wI!&m{ajUmnh1<`%f+Dj4ji zCg(4s{4Xo&ry!@r;7DlCjiH;r4ARYsrx=$TPR?dKnOv?$OH?V~uo0lYo@y0t@;UI; zq^ZWRnat&y6sCImyY|iMSK9|7rJ3Zsa`brGv~k$Qmz3c0oLXwUuaodpUKmPTx^0p`DnMxJ_HB)N0EOOSjTFtk@*r6v~$v!(NV%2oHS~;U@P}la{DzCHk9{rBd z;=Z4HIqKGLk@Gq{cZVmgQQ+{Gr@-=zrZT=y0FOX$zmZ~b^f76Z%yH~SUkO6jB&mVP zM^OJcVP z##6GD?Zu0`XDqy)e@o7A9u91#AGggT zl2L;)Fz!91Mj1K|@ z?|x6ze@K@zkHcX-SKztG?7^Hj?j~LgLh+a4+`f+v$qrvjF7ImjZ=Uep7H*~dc4nPymLDNYCyu)qu}dM1wH5jopnnlb1*(QvtVBZf zV$v2_3Zt;nuh$Q4`cufbaG)o!IAX;0FZNQS=eFD$A;rb*v#EpSh{U? zNRuj&&5S8S5zBJf+81%rMUaUxty4Xi&r+dtB?Y{`KRf8yvEi2|hn`vIi=;APj9IEj z6u$DrV;;oqi6jvAz+)*r#`=a%#x6!P4{MwyIYuu@1NEX@4yw!4fOWsB)Aw{r{l9bMECG~pn#EWvv5~o!4aafVkR^CnlkGDv zRwV3gZ25_ii#E@d4hO@&zl#L^eL|kd1gYOJ9UVw7I7;a3r6^xVzvov|i z^JoF2>=p=J7?K;Oxv~iQ%lcv0oy2a~XUF)^O3G7Izc*K51O+;pqEJ_T zh(uOE2W@DVV(Hk3+pft2XcTzr+igdFk5ziUkosK$t8PC}I2mLr30ISg<0fa5Dk^!4O9>KsFk=Q&121JdKzTiJUNf+03ui~?wBM9e`Gn@i)exD`)XN}av}0G0=qEjBF7E=!*Xx>JJCN;b4uv4 zw;!>FtQ45!Y54`1aB#^M(l!qiR^^=pY@|m6o}HsDB-CM(*F&LpBna4*_SJ(c z0vQ!X<7pL}Zsmml{-7M1cH*25(;PUG#$%ZB5s`Y8-TnC%m*ZlwwdAj|#c$>_KJ9gw zy2&j-%INW+`X|w`ea?R#EJiSw-I)_aFa+4QsGVR$vcWIFdY*iPiJbIi- z6MJ2Um{$>#niAde0r2iGuX*bHI#uYm}Kl8=2p_jS~%a@oAB#auJNUiC3Ep`OX`19 z&6aVG^8WyJ&6Zjt_WOGyf zpKjb{$0+969(R%VCacEJT5m9O`C0tbGDPQcD>Uzp$F-YR5=9mxw|a!g2f!`i1%zQh z03L(f*a}K`U;_ny!I6BZ?8_UmZ{Q18)4mN4r<_9*#$#lf#YopduOZvVWcJC@-s*+8sPAj&yMfdwmClt| zbnDaz{t6hC1Q#9L82WZ_5r<&F7MU0^kOB&IX$M)lm(V(kaE*?~<<=s-Tm@iNlj%f( z?l2uo0?Nu`DnSEfkxKxLBgRUoWCV~)Jc?t8yrtD#xnRnqvdE>8HyB>v60T8EmE@8( zb&H{zUXE94y!?9`oK;8IwQ+XNkbCR<6A6zh+W2{c|i5l6PrJy11- z=>FJl#Sj*6be`Sy^n@@Hpq)rV;=U`y&d<#vzBCM%Cz4Q=kWjTpW`e1Jn{QGo)g4=M zAQERLK(3N|V6bK$PxJo(5mLRB1!f(6!rBAk10`Be(!9vJR$VG>yA3D+uq3e{s&-Z~ z`vr;)=oh-xrDbJ9TCg3oph;Y@aPCh+^B^GzVk2i@r^bN=h*URP3K6Bjf=K)rfGaDfdJvf2Lj6gWXsD;51r3m!Bk1VrsSD8U5dpZlu?n z4Qwnxnl{;QhgCqkP@#(!BSlA0LHVEJ+k~7@1|FEP|nEA0Abacz;GP9 zIX#FV07)n5;>e+vTNJDGWh1vqI{yH~{;FsnaIrl=0#zM>Rs@txn^X2Bu^d%|mDbDr zC$y|YP)PlpJG1*s*mo>D4{#l#lwd=Iz9k-oOWln$(J%D}#a;gZyXY@00AVjRV+8Ve zWigi8N`5s%O9@i}ZgWsR^?bbeX)607NCbG20D~ z0D$Eb5*VU_6#}nt(VzBaoto2#Lo$^yM<=uqOuq3fst9?C6Wi|SD%sQR?BLS82U zhzdy&ScF6x{N3HvlwYJIM-nMw6s2z4jml`2S#;nK#Ym9>_M2$Ci@#k(6LLmLgF?bs zqgf;*EPzGXPLw$I%P`YEP#1Rdh4AM<7Pzy2h$OW2GKPPbsBw8+PBpP&8q_wJORiOaFH9hE{eyg>Qtp!N}zZtk62_S1Ii z2o6dm&r*l!%-u+K(J}tOc#raqCO#FqH;+BYJ?!v&=8kIW&%CZ8biy2ZiKek~f zSkg8N;djwgs~HG77L>%Q>?2SaKyKSTix~h-r&5eNH$kndAL7GC9eV^}a=3~{k<^l< zZqCJ&iALJ>pELsVWR2=ECk99{iWiKHr3SxH)wN|9W1@6%4^{w}*aacLlgEaOxC2Hq zk)ncsdOexZr>R0mV5=UP$z8%d%@V8#2TD6=mDZT-g(b;QscJDCh9ck&|BDxhlUk)#djGrPgs%>UyvNoUvt)NAyxNMm4WqJcUP8k!K`FGBl;;_azA0A^q2A*ebG?anKd&&-7m> zG-eBE3HKT{>b=yEOt7d>2LAx}56Ce9s308)1A;NLEqaK128|FV+yk-%tEL+#zmfuw zfTx88iTasxBN`(Z$&eCON=UmjfOsq&`-&xAqaG=wmn7nwjS)!^$Bbn%nX-~P(|%|}SdPE@Oj&yX8>iOU;){zT zw@2+wPi^$tv_aKaIuapM{9St%M@4dE**_mYX!0u?8pSxqPijt+qqLNWc>vP(QgVn@ z!kI8Ep)t)FAs)3NQK?x>q}OIrC21WOvK48`7voE{c$gx`>@nLmm7`q(SK`SSM|l-W zpNasd-EU_~e{`I79R--!4V50)19}}44gQEeG;~NIm+8+8V15zqpb)BK>%VWQjJl&} z7TT$P$VXiljZ9wIm9Lv6vXaP}B2b4wd`J;S$RVP=3xSqikGG;-ZuRgivw zQx=a^1oZ*b?lX#+-phf}6tsKc+qLxYH14zGszZEjAtmr8pqp@;Ek4xa(u;94{oI-nQ}%m>pZiC&Onouduc#z636l5eNY_)P`I>Qk_C!nJvX57ifDT#bCsteX{S}9hxG04NSx<2;-1I%C|A=63u!%6PU|%#;MAHcCI; zKRsD8DWl295;Bz8!z3jfXH&(-D{?>7EwXg@D19J`F;@Wwd4 zUnEscjWG!2_HvM%tP?>DCVTM6vcvF<8xZ$dCRS+}B1;Pxq$VarbxR6Zj-gF|aCs(a z1~VHV?w|Jm0D`ec*`7Hb6BS~E;>^kb+3r3iJGatf@&#E>PJ$awJ9eTvvqn@iy9FnLIvKvU6k1q$BphtNyWs(>nQ4V zkdqg~QBZfk5?qzmaRRGd9^A1p77cL+bZDdJlTyRy39=rFg+*P$Sd6m!MW%w7pRDaNgSX_?08i8IzTpJfh~Ck%<$t9T6&z6?fyT zdd9ugXKuF^40w*X;nptFFX~>GmZ=n^)P z(0r$XX#fqL3w}I1^_^^~AH)^dB!F960fXJ3V)>R;oOY04PIAREY;hkUKIm zI4na3UB?@vZ(buh1*1^ODnDQ!3$g}@Ayfc71{(hWT~$c~WPiwXP{&E_SVeM7G7yp} zEL0-^6S|T7QM!g=#CvY-tvaiER1FvVR*C2J1Bo>g@O85xH_ z+f^#M1TK}I%YBFQQDITR_y0v<6tv#Ommx#EWl#g45BYp21!oSU#W>`OxYx1 zX9$yG5+gffHiN32m>sl8i_)*Ed4B%@)6>OWZ8kS26?OrPuUg!3gQ+7z8I@r@n8zF? zN)FE)BjBkSEiEd`?XmTxIERRBrzOn5?fGvp9clWNyp~va^81j>?o0ug%g!8EC*^py?YG z1Tr~f3dEkSN`lH8K=nVw{{Tz+H`8)(Kj2?iKXt`p?sN{{T#$K1WV8INZ5&Bbx`?$1k|e!^V*>xXKJz zNT~O+*vEWyp44pwk)umksyi~WmxY07rz&J}JD|`&N+KAEZI5w*mMIc=*;Z7QT?9rb z*?O>KkxXb5IC#<|BmO?yXaLB9Aw;WI+Al%`==Ed+viJksiGYZN4ob95Au32uDWlbo z%^D2`R4$LV&|Qv)!hqe?U0t?WcFe7^+f^&dtfMd4(r&LxN~=}o%4*#O^bRodw2hIk z)C6@$x3E5cKP8W&b!|lq^s_V7r)CJHM7xf-vb{C3x_RN1QL4;p+eK>?<$`!*_7-G@ zZ+%$(I5U$+eZATfV{6!ZhuEHmCli8>oF!t8I`GMi$JV(Zh=ysN<(rOdFz8ldS=piH zr#YSDdo`y;uYMI`4A92ghDe{=QkH6}ccCCXm7#c>P{}G4>QV|5!!GMzhDiPD(#>6` zNnww$M~)*C4$;48=YmG<49d#L2tcy+ki8*#7DQ##5z_d-7H`Z}sr0@`t^TG_jK0~v zvRH*XwKv);U$TQ4bAZzHp=bpZ;c?+)k$H$^lMdX0c`X@z{y6=` zEU?8}#^nD19!8p^_Wi%bwH!wYW|!NHx3RPWXAbBVP&)SO?X*S`l1Q$@vX><7P&I(` z>+Wxt`f-O`J_C&UNt8;oav19NIoF~7lzNAL2r^Tp%Ox*!-W$p1OEOEl^A35gyANNal`glFN%E2~I3ikt~>)L%ebQk|rk)Y;`QragZ`DIONY5{m1H2m5RE` ztVZJwi0X_qN4WYv??PSKW%3)`1wWBxXJu$9LiKl7D>?|&+V3J&Ntu~KtUlc-p12Io zR!Jwcf5yM!1TZMnLl%XKF+`17j9_nX{y;%h`GE2)dtyFOF(hdUylb11#1KzqU=k`M zO<~Mszr-mGmBPwJyiiAgMC*2yM|wG{Yu==LBOUHd$P-bRI$HvQH?)%$D^@*vcqRY;CV zj*q<@VV;y>c$ly%?3yeG`erUP2rOPjPaRml%dl_{Ldlfs6=B*%F2L!$G=5a85*PqI z!y>65#zT@mM4h{_wX_3my!J&!ZsV`Ft+KkaJ18ZF!wAV__!n6fJF~2%XtaBqs{Aci zzyw-B`H6^$p!WjmD}K-qZOXy6M}oU=)0-O`F@`b^XLoZNe-QoTT>!DlQZd>#llLTB zl%sFD{W>Z_s-D;(O?Dw12JP%lp@{OOh=>*rtNK9{O43KNsFWaX(K;Y!DjGsTUg{L5 zb>4%yUzXJdw!lOkNDg>WRfO(RMLpw^Pb`kJGeQq`V5}Bn6R}`p{vCXDSF0&82e6iI z_ZGaUc%n9@;4ZtJuXu+gACdq*U;2Fe`hCSz}&+n1M+KzFzCFXHew{W>iTF zF#x{Ajw5K*sYH>EqCeuuWCRxKREE*+@&(vU$PfTWx8LN%wvoX8QI$wp7s8e96;!uX zN888?$^?H0)Tg6N8BBjmmDk*L^7~ND?aX{ABfpPux`$a6Td^c|c)>uu6ssWYceZhA zs!o)xmV#g5>*oFm9h7c2%JW=GMu^~g;_W3ZAQZhI|(sf|lDu-o>V(b~w z7=WO&#JgHZRf$^K23B73&p21@AJ65`byDO^x@VJG8(6}En_LhPom7qLKO~KzSCIlR z-&5F)qx?^9hh?<06aj%n01oQi)mlP(5~Y=Ps!+Mm1cn>mP>NL|R~;2D(I<1R-Mb4< zLLn-AAp2E9m+-kRpf@5g%7p5;V-AS3r%iDvr^Xm7@xv z0CY4~RXD?sl$}FuzD7>uksy!4mLuaH(YLWE_fh1N+SG)jjSv*><${+Xc7Vvc9m$SD zRJPgFxm^?2;-KkH4Uo=PYR$4(x@<5_pKU{_k7%kMLUi3&y97i8t z>RJ%won&7N8+K+0-vC>d1$01&~DZ=hnMxB=pKEg~ZtPpl%6OR`-+X^TeGiyq{WWkR7Z z9;``d57It52a?FX>0NBNhi&M(9bzF+m2SPec!ok0_6}Hr7%IscqK}YuZl#C6@%lWF zf<8(=X|(O7e!d4q=!#k(QZ+rxHi%-Xj9ciUe(HJx&Or(vOyIEq%AiH^RYIWvWI9z) zj2qrL6fB_ve-KkouKh>_omro=09XyQL4x~X2WI&YN_IppAnOuRSGql5r%@=142!7h zN$H3dZbN=(H&q`WGZLF@_-J2E+}0pwaak-(-eJk(?oywy+I-yV*zPc9$buuX) zH=>(j(KfW~LZf#spoZ+*A(h6`OpzjwXU#0y(P;uqqOdi`iWW^+O`J6`g_%$S7EOH7D;*6sA(Ub#M@^rc4l{24kmu>z&${91YZZ_wchM~}^|+_S%pf^SL&_e-X( zgVb;KN5|TirhK23S*)V(G3HicYpZTXOZcuV9}=o#D3#)tzcan+6v*|L-dJ*xMKrQJ z2+_)4ahWTa-$wc4LiU2%#?!>udRWT2+ea6f%i{4Fi6W(DRF1@JiMx7K`Br$8wCQ5A z#Ab<4?Qa+p?c>wQ>cru0*3V}be-?AdxrZRnp=Ez%%7n`g7eubYjXZ1N`$?wIBl@Opu9x2DE zRVb%Ok?|e97vAGYr8O!TqxxhE^JIV>QR|l+CqKvez9)lvBk8kxkAlSV z{y&;eQ0;JhR({TFKggiWax2_({{T|4*m~D%^Ij#xB9|APyPT(tOPq6#$)1M`j>>Xr zBW#;PpZXolJuk#f>P8bM2R-6kb1gOlDVfLOMoNwoCk8JCO8hza!e%(Ew6ELFRK-=A zre7^a)aM?VGe*W+4O-QV`#Z?X=ubW8c*r@<8`G~2kkPW4Vjt8JtFSusDo1 zRt`p%>Q%r=hm7WVi&C|V{7bkxwW@LRmgUv(ymOLPZ&dE`Og2Ze*GqpJVM~fGaO8MN3nBgL}9=U{Z%28DnXuyq?*o>xqS;54~_DIGV zGV!x<*tA;~2opfd>R$4UfkrdN=6oJli)V3el|^{8Nlwsc#~w4pOD;)#H_~ zT`Iau4S8y#T^1#c<&vHJZX!ySrK@jG!l{nQql^UiZC*@pLq?~G&T{$fzh_5Ti z;ULQ4FJmN)Y~JJYOPjR+0QDAQ8O8D++j7Z}mfmWuNbNr_<@p&W$9>KStVmudM9j*d zbeSw`j3xT1EqXO5_?BEz$B-187)tudtAu8Z0-nFCD?( zDA#!OX!)9p$LL8}Mt9xU2Uw z80(W&vqrnmLbX}pn<+_E{mgz-^8gEH8r2?Xnma2!mwDRXbZ>LabtrHZo`g?Yoy>)c z6~(-RPJ~94q3n^gb(z@ITx<IHIc+gKBB<*C%2T z;w)LkX3#98_ky>$k}QP^JI>{gdeIe+|orc5wmw8gwZ~}1bb+O zLa|nnZz5E&h~yvww) zJgE(rGQ<=WXhiEQk*qQRj#>mVBKHX=Qmp1Fd%D<>J0LQN?LQ?Ee_^7K4fd_qrl$_5 zHiVei%h;N&)7%*dogfy>BN#-yJ$fVN>B#|D`Xk)ZN6Un+gSFB?=P4D*!MvJcA5FMkdjEkq@((R|HKXX2? zdbP`I`hm|qR_1=7a@w-f#n;B zNfj9F$1IO*F~8QU@3YhXF;{_cKe!%YhvWEaro9YiIxamAwE(V=yjEwM1kze^sK578 zvAQG=VmYL_{&b-n(}jAQ!Tm1axh`$#=3|HPZeDZuy*TALZVsGsK5hMjFAf)z$%y37 zi>G&&L4nLH*vqeLBYiM-SW=AFEU*X*lj0txH;ZK^nma$=DBiGRh&Ym@c>JbA84#Pa zgh-O5VbPb`UvOB7Nij&PnJ=S#FO=bqejXV{7|d8nW5#Mka!VXK_x_b*LLzsBAt?}) zx(vMDRyayf&78I}%EEaBXo)GkwuJgSY=1~TraxAG=J}tjnLM^znsOYTLnoSnV9sQ1 zqc!Z_?7fy;ovM;5+*vFyxD1e%5_M%rdMP!|dGX~3Or%lC{{SYEjGz_P$7gJ8?XXDf zJ9G#%pY0U_%<8Y8s1-koh{CV{#v8#MHs@c|X6kf+hT@q>jLNP)P9>=e*KjtZov~xgAxQ0uRxSwYS^f zn19ErK^ShNi8j5g0O+J0>~<=8lB~M=F~soFa!l?o4IQd=B+B2bkBZ&vDNc=fF3z>q z&ASin!(OyzUvk9m!6Jq~aIw+)?3XV7h@W-*XPR+OPO(|fL%G*A<{W;phQuUI^xS^PcF8<(q5X1%6vr6KXe@oO zf-{$h$8tiwB{`(JvfaWli4sy-NQ43=y9Xu00Z5!2tAMex&W-B;-Cpg z4H#BZNFcZk*XQ7~#{pP^%P(cC*n|(LYOEDZ%mwKm6XJMCyCpzHRo9$zcNi2EF_3UT)CL0xMY;=`vwWw*{o#R@QzL+C3 zkoD{Obb9gj-IC>4Pgtk)vxah>7Hdn%xK>ZrA54cep!cZK$>ZTpDNmHz&E!q|W=4)e zoYtZ+3tPbwn2X1VqIk-qa+4LQC`5La!PSCW60#h z$&cQIaZdt~jFaw=VSN~~i6x05QaZkRYn6 zR(EeB>3+Qm?uWRzT|nv=+U#Arji_ju3X+5Z(r!mtI`$*nGmoQxZT!>L-1Y81!Sa5c z#gWC+lOb`rr>UNv`fEX8h2cp}e7~rikBVb$OhnOisanm8jDmUAA8xz4%v?+D3!L&V zQ!9E+Un#+6<#`MAs8yR6&p1~jJ^G50+ zV&h{e5saduJyy_?S7N(F`P~||cj<0dFCQNiv+{G}!-f|uxn+_N$BrQuOs6RkI_dL! zvLWi4O+g@qPvXcO%CZS3AfRPkD!ehq8~B0UojX3Fa)(5or&_IqoLjk0q*ctjSt>n= zC!3&g5-FY_(w@=w_bgLVJ;JQ=D=F+}+<)|x2#b{*Ul6wmgf(h2ru2rzvCfPFeB+a(zZU(BKw`Tk{Y>6FJJzNDcOHIcwo!CT$1f8>JX3-sLF;A z#|a=^DwXpQSGV^3J$S=f$YM~pX7+?!g2^S<pKB5+}OsijQe16oN}^Yz3jnLf7>~8d4x%v^tU`J8GNVMY678ht$Y%zSs8nt18As zjI&^twPz}<#iwfAo@qWMS(y955#MBY>fcg+GwvIi95>=Dd_8DXrjh$_aZWR0^r9If zeVm6Nqms$@mrDcwEwaX|OIAYFWtO~^Mte9?=i6L_=?s88lTQU`8>@Mc7^1R6uVUrQ zi`lxlk$j)0eij&3%wk%Qh;2(wKJLI*b@)Mo;GE!8a7F5%owD=XXV2Q z4CjtAkNq(!^t9i)3Ji@*oCodPR zoy21D+=8VkKeyxac}lsN@Hi}vN=NSoOD&GZXD(C5%vNlSczf3?B#Df&^-l1tG`z3W zOeI@5vzx`kcPF39<0ZCfwp)tv8FPG#kXM%6b}2P+FBib&q7y?THyPGvsy`{vfQ%I4&;>ZImxjX>RzEvzayniNE(Jy9T%!5qrJ z3a>s_8^GH)e~rhIkl{02rnO9GCBKfTS@Dm4#t$8LBah>&$Rw4rt%m;X$fv>8j;18? zT-#H#mdiVXpNA%V+1ohFt#ZlxFWN-7MTT-fm9&yrZ!WKtNT zIT@4M?2JRNxEJnixWu?hniQR$CA72r*_uQk%^Ya4^ojt?S%E9~^2-@Nw3zE^vFd96 z;4E=24@$IDf4WhVH&WYHcS}>#YoFYxPktwa(McBGPbpR@cQxmRq-lAUqGF-?h_KkH zvKKM<_{tK=D=}va8$Y)s^2i)*w+v6X$uXI_pb5We%%yh}*lQ8ktZx{)Lq0s!TM@B^ zA&!2mh!kda2^c!ek?o zWN#Z$d@7741d>G(*Hd*7y{D@c>BlVMygQ3>T(98Gll79Y<5qYEI!|K99+wd=URXKV zwPP24V?!wwEPZn}JCNb6Q^;T@y_Ktw!DjHhVopO~a;wOG@A*$W^%s>@%~<3XGkL7m zM~vfb#a{u9OyHp|9|guL*_Q3NG2h)S^6ZvEmJ+2p)vt_Y>-igy%Cu6Oac&Q4?l%?4 z>E)t|^xT>Z6qI4LQeI0lWU;N4#oMKcHkRegEsULc`2Fm?c3AMaF%4_*n;Bd!Os{14 zP8PqV{1K&SkaH&F+q3})&PtZqsB zo662!*h}q4h?Kv&R>EDSh5USkHgXnf-DzMx?I*A(_L3>3td^^$N*{KVHKVZb+=i|8 zxmsyprqM~hjPOg@-c*#M$o+Zc^Ba5E2P$d{_(6a_h33ezFjK;Jx#$M2h z&50{d1j)FdN|s}hoZPHg<@F8@DMuG493sc=#g}s?ELmeYKw?NIHWI(ndl=A~7&2ox zyqN|}85;J=QR~)HC5}tkf`gEoL{diO)-qcjlzN%y7bnf~9M#5`55jrAGl5;mn^V-S zo1VP3xfHnUehVjBJib#4m7#&UWJ~xQWl?J>iH|2OUH`QvU$O!svuFjEWEyIz`ux!rs=SB$7+jd-Py{Xh_Jy zF1=aTvbSagqZBOV#HXlXy3O~KKt<@K&hWd&GIixtjU;JMMTyG9%22&f7SES{9Ez8y4@wykJH*B zrvcy@pihN=KwfC|{E(GH`i z&~Bg*s7j~=kgPzf{{V8)$77m(zu?{>GURBsiAI+`EFUGrnm&QTAgykC&= z%F|SCRmtzBCjm>ovUMP%U$oh^SUS8FDa|`|vmlXL@Yl4_#U!cIeJ77N@i}~)M||1q ziN}N1EW64ql1owQ#y2LS1mn6-SscuRJQ&xkAepArpLKPO5hXw}v@V_XH|oIs%lfXB z@%H%M8u3-HWg^QxStKImz>Kltsm&Wp1d&$iA1bdexF&Rf#!Pd@VK26iO=QjFr1euf z0<~Ha$p;omVQ?+v2{bY}u7o&}t}zv;W7vt+uDtBN#f(*HC1P>TCzbWfn^wg^?$+Zt ztxd?XwMZhZSCF`9XMb>B%;)V#D#d1KtTdCnwqCiRN^uuP>Eh_&@$~W7nvl`P(XRzM z6>F-9YE_CDqN@yHgU$p(C0V6mEV3|ZS>8_WSmsY3(>SsEb_sUPIQHaBsG`TVNXXe1 zK-6qwh#6gzV~+`P^EvVzV-h4GqR7`|RQy^ZN>}7B(J@>V?a@l3hhTNs{{S^m-IX*` zs)v0saJ`rn-(u#t0aWyi9k`K)KwV0?G7wOYh|uuiU06oW+kd6-pf0zkVIw#QLLE3` z*%$U%dXH?47|*$|0Uuk}jKexh8^R<{dRYC`_d*f~NepOrFVER{!3u*)uh(u<1|l)t zf(cPg$ZK*>HD#s6PQ94=(3=vqvdG**AU0~`3efyMPsgUaltMb$ZlTd0NW{vH!PiZw z&YyBf!8VKz{z=`Oh;!FocOMAg*FO?yn=P72F<79kecx%oYZfF7%6h>Q7-M+WHm^C5 zC;)qlJm0XDqMqF5q)~|GwKUE>ziKp%h0qN&$0`QCQ_0Izs%mngD6+<_>U_~DP0MYp0b2PbGXvM~h zByOCkaT8jIN@(^h1g-kW=VqT+aq-hGN=9hz7>=`?{foSp&``6qjrA8tp*&5K6>F5; zg__4Cki$WqJut)LE`xSJ+I3knnOK7|lnkwlN#cH%Seq62RpUtv@J6lJy1dZ)f!EZdLoo^1G;C#aASnGw`3)a-bL5vNJoC-6O+-s*m19CJ8~4h{ z{IPa=V+J^5#6&LoU3+SRF(qgT`l&tENQ$SVnARC3=<}o`I}Y*|F-55h1O7nD!Jo5~ zeu%0=w#YhN^@ob!xMw1(hvMA#8P4gxDy6w{xO%r~S6g#JC7zolyR)M;M`Ib9yR~Ul zB)$UlbZO%2^O887lTs%@vgik3OS8FR3aB6wcBCj>1uTs?EWud_DjfoK9@u0LzNGaC zceve9u#}@eO%`9FLk4F)DVfZ8;7h&|AM-y+j#wa4|+R2+f$mu`O((<7?!t)yRq#?n{V< z^0lbw&yuT2G8Sqip-gjIt5RrZmLTmQf_NR{0n$&P1w{;jOSiVh6?qT2Aam@GanAcV zB?nN!REJat^rg{%GntbE2N#bolWsd-IWHuyftu}>!bP5JaK%1sQ1^{U^0MNiS`%9k z$2-y=iezZiFVY+VdP@@qbcBxQOR*_f`m?c#mDk&27=G-_;hC8D8u+0e(KP5$Y$O&C zNi; zBdIIUDRl}~HSWvFS+LfqYBg{GpNtHw%49F|SG@-hZ;(grhzC7BCpom;WccFxm& zQ#5h2do*W|nOQWZaFv(Bu#H+k!6o?=AS8@Y(G)WIJF``*QG26JaoI}}RRnDWEOe+k zqKeV`n??&WNhv-XD7f`!?*bVccY(x7+e|5|5?FWj(v>$mQnnhdM*da_7u1I6gl{X8NV52n!ony3kT%4MlcU~)D?6u zKT+k!R$kjONcjFgc856z)hSr%&*?tzHu|$SGQa!`$H4?z|0VWw<1h8*-cE zGDP;uOB^n0lQ}1eD#pQiVkHyW!#XK0YWaaX)@UTN3UM@CM zl-6>>X2}A7YZNl_CyN(s^2Lg5VI~i%i7lyRzaz-Vt{fRRruUHvBeH-aVcum$8gu$r z*_47Aw=2Ap`xPctaO9e?{yIE_!lx$J}j@}ORfk+OwW05b-6XC{TLc<4n`MsBPA8**(- zUk!+uNh1a9g;rHn*J2&?>mh46-^s|@F$P3i5__aF$ifpWfeNBNn6FT)Bu}Cdq8taAutmy#JF8K-G=qpw;b zyJKTpdrDGmsxLpYA0NzPn;1%o&RV#;>tf2nR6RufDd=Bs78pzTvb|^O(R+6%UvJ_! zwOC_CX#z;9ORGoPKK;5#v8QKXtZBnlB)1Yg)zfxV$k4KcSs1FA(8G5XV&;*vjZtW=Q3XYMtW?;z8^wP`( zYh;d~m4GSJ0K`ETk)WZ25;folAxZeV{W@KbvX1sUh}TDBvUce0AUYs~_d^!PR$|`(7qdvs z?rC}i^1Zr`k?3}#&h$^!&SaxGfh5Z<^+A+Mi4|cZ^n_lqrLd1$sd&ai48Nv0V+i}> zCw^o`vOs+KZ~UgcJtV~DRaC=4eYM<(scw-H5PjBW1pCb*s1YIAW_48n%hd~7Tn1uE zO|gr=MUiyC zBke=&PsjAk6c_Vo`-0`abcXR0*jWj4*Z@(~0(Q!F?61_2$UkDqn-uJvGZodSuwRX% zjwm#-+TXw)y^j>(F3@<=W#nU$F40SJWG+%Y$^%zcdX@hGzSCIMmlc!u8c;(ucu6B@ zR2|InGU$L`+*bIif+GW|cjQ$gDkH|vT2xRx7}XrAx}K2A>=d&G?%Hxgvi12!#8~P` z&S8;Vq6JyXsuIf0)W}^%z)2)30+eAUlVy`dD>Gh4Tz9n@J!=rH8c5Nqn^qYW!S1Er zBN!wFb=Y0Fa9fUyBVkr*-trcRsYQ6$Qrmg}W!N%P#n8SA@){V@T`6O&{63TNnIV(1 zmIO@zjtHx2NfJp3R(3{_j`mO=Yi-%T#>GyE*#Q3lqM+-24u+HirvpJlHi7Z6^3Xd6 zN9a*fU3i980Z8lZINSChYfH5Rug7OYWmpnbezEOI8CQ7UOuc?+M%aV@0Fm48z@ z{08mZ7PJ%>5T$Q^Ezs{;xA)hCEu#F_$N03WZ^{S#tIM~Yf`8HNy=y~zQRETRs_X?{ zj`TW)Bo4hv@}MarUIEY~k~-}5Zlp6E78)!;*w_jb5}}5}4eStgut+0hACc{_Pl8wU zPtk-Ow8Q;)(Hrmv*eKXr(cNo0Qz-XuRL+Pq!UObW`=fI zejd}SqsBpvAqWUPK^^2&Sy{Um2_0eNVKdk4RLTK_sp=L;f5?moU*zbd7A2kJL|qQg z^(VE2vsS)AijBt^o)Ig-8oD#2kd*w0y|$5nMCwX}_GI`4kQyaQC|%LN9{@L~{yskq z7gwu;tE~W$TLkwu3ej$@@_F=rpDdCLTH&UtQfO<}w@yi?iU*bBwvoupQX$?+V3?Z_ z$|O_nst~S=?GljYao$uz-HN#^)!|h}WR!tS^h6kz;Ry7_OajKoHM}sKm zs+n>^Qb>p~Ss_qCnD$>0nGs*y2d=`8pq`7!(Ze1Ls>B1IXC+}H2(XC64_X;eh6Do~ z%EwFt25+CyWCE%#mZU@*@STY2?UA?i^%@GoP}E}_fp^rDQc6?4(vhO{AE#AS=oPy` zy2Q1a+;u+U0}86IUwO9@DGeb#dduN~kRjV_C{>kTU`DUmW$dgIu#mHAB3sKUDwYC0 z$fWDD$iGI?)MX-gX0Ga?0FJ&AUwC%XG-L9sR_>dQRUw@nITIbdS(mVGfqDV&sx4OaMbytB=7mnehsjA#Lk7o7C6q?4 zsqh{&3%1?*ESTFe!6SYvxKgmliiRf=y8DcVISNlR1a8rLLG%~@0B|yy8%VMFd}}ln z>#X&re|4dAA803I)n$R3LJ8wR(o^z=U}J{VGKC0>P}^5_j#~3Pi?s&kRr^U2tbKrj zJVcD$VUjrFMX<&$p%m!*Z-p{O;tKVuY!ezJvtF{gD$*mftn}evpf7POEI};@iJCS; zPS|3jCrBro6w~e+v&ZYL)s}nulD}+Q^Rx@=O{4Des0~vS&!83z!SABsrlt41iyWFRXPjI7-T+ybmsl~q}N z#f+~|P$R29x({8el5mcN*NaHigLdD>`!uf5qz{iBi6~oR|n)zU5MoQ6>!Cf1;HdLvWEJ6QO6?nc2suR0be47g&;r6+peD# z(kWeS0P3U%-_u@|Ek2vvjhaGNL`5?<;%2BQ#~lx&AWJFk+~##nmZJQj!p9QC2;l6&Vt$p*}Tx0Q7PiJ;te`EPU3F za9LI41I_I8u~LE&+@(@>0S{usqpOCKw#;m^A|n+fX~}Z#uHcn+Qm+d+Mo6}*J;oDR zQu-uqq?QSSlhr^~LOLN0)k2m}r%JpR+05mE?Z$i4z>0kvQQ7D4n0uEH^8_}m0(`6 zx(I`nRt?qJ+z<LB=_!q3RGL;L{kYfT*f&xb5~rv5 zM6PNXOFhk^*%O)O$s;tU)zG zC9<$ujmOau56c?YhEf)<#p&1;wF;~|tD}@?nL%jlq+_C~3N`OAaud9S$f~{_ z+qq!Mxmn$mC%9P)1q@(?N%(=Hz_19a0Sc@0V7t&{Mk`()E2HI97huIf_=O?-p2d!o zh6+mm0ONWK)vIZk5~T~6^x?+bh6&^TW<7=38$TixC?qVoSv%|5JQo&MOjWk@(^c65 z?do2zvs;QcN%*>I%GZ>QT{>bKf*D&<2{yf3YF;B6Cz(K21)abur+u`_I}LOt*JInV zzjuu^LxouvvU~tLG9IwX#0{#bP_Ehqn39lJb^(D_Ei5NYAE01MD2=?x%hTe;G_29G z07Olt+Q>leG(!;Rr@7P)7?xwDMrKmK>-hyh0)kv~dbCPHuj*864xtpFlm7r`uV~RC zJ-YVA>qUXBQ(eWA@|$CNZT0j*W-PJB%4I!Awj2V)rig`%kG=H{{{YE)vmTw9f|5hB z!bK{rG&SgI(RXqJmLs_>8Zxtvj5M)r_JAn_l>^S%yq60B z9xWE|O2lN0$+im0M4jVBaTq;2gq2Z=bs!WXMk^dHRbQ(pLRbDEGm{wvfT6lJl=awF zC)_}N!r?+V*FiufdaJVoA~O64A1#xnU9bW&LIOJWAU(v4P=v0UHyTnQ?X;2GeTK-d zS{wB#Yt;&t^=b+8s(Seo^XJMuY2=^;6qFWbMJ4tTk7B*mSrgolJgP_RH>UR= zRw^=%kBal#$m)*^<|*)iwd-VzX#Bhe1(_SOYg#QMw#m>c8M+3L6+OG5A4)JrNzvH| zp!N^2%&5UmyB(lKZlsgk5&nXd(lA);p5Ut<=UrcDr+rEgT>_&y1-=YI6V&YZi>ZwJ zWQACK^&kdWRh47!-G^t;BijQ>Aq=jpz-~UX1~Q>uvbiUEZK&T^viC~#H>m8mmd00a z!n*6$B2l3)ay3?;K8@Fhx+&8S;=bAF7p!rQaH9ot*ehv50U=}Z?t3vSS)+M^;^#2Xwf}jg$~J!C8c7s%atLRbr^3FMv}KZpv7l5XeQc z`&spe>^q3^9Of_X$2TlIfg__n2MLj}$Z=e8vDOpK+u05|jvz#Q-;>SFsdq@dosLLdA!hbTT#>q5El0tM;TUN;221c5xnQE|Jv6JUkA)_VSMoS|{^9@*RSW2m3=6bP7H@1+( z&MdF>7yH)q(-nZj;6B91q8S`Edab-qDTLnOyn^)_;&i!MXlM0D4UFYiq`1#xym-pX zTC8+v*0&9WmOjvj^tGw|QTXp1=Mep`dS8~G56dz?naneMTP^AK7-VeLf=d)0^^Q-H z?z0cioKUkv*h$)4j8*%|K1pSBk0?Xw{P?lQ8FE~B@Dj<2=k~HzN9{^+l1fsC+sSr? zM-0rc$r^+F#tgmq(Trmb_+^=lqn9M2NABiHL|kS_{fv00+HxPg5)y}}Kijw2*Q}hI z?}OH-!TNc~@?YD1KEl|&_>@{%Dt~{y!|h}J`s)c~j_h@;*oH)D1d&Yx^-v`%X#VYf z#=T*|`f*n`%Dq12*xVN%lZXx#X{a|>PIOIO1@ctdiILAEZkx;A2^HB27N$SgytB#tZR;!X8?3CShM_2K6Q^#$%6Ur>6EW%guceG2fRTaO5%ON)GRF441LLI0bzF^M+sT}H!zN4B}NSK%+f_9OzR>Np?9!A zM+x8-Rc7wM9i6j{qwrSbyw=YR^vBaqDN2o6tLkT>oP8*9PB(>z8(SS> z#V$*a$mHRxi>#GaoTk;A(ncC6Y*}TDzW&sH>3+?d(Ja0+7(|1nvp%_up#$jWDIH*3i8Knk@I;|!b?6ZKg_vv^>D&Wa(AiADgOX2 zP>)&0FvS_l9p#WGJXL;$2;*Uj4G~VV%E~gvJ>Zm68A!!BO^kdnj0*2@^ZV;}q!Dv@ zoutL%1FDGRynw@znxr1&(Ndqh4F*ODi_0HYnyt9Yv4YS-D7Aaz{{U_oT!vL)#^B=P zP{fbt5zA%l&)GrFWLcTvD-Y@C7n2c8)Yt)zf7!M9V!JcV>-e>}M~j9xsb>i*}MfZm%EBPGg_A ztWpeJxyQNx0JyR0IQH^&bQ|b8dvXWoMl+9H#CmPWvzSJ+O4Yod1IN@5HG0<~hZBm$ zXHt4ryk4a&c{=*uiDZx5%byrIBx+GRvU@QlFLjY5 zT#%1}BbSR9@$rPZ#xl5z9@OEu_Kx1sRk!i&m8YsZh|O|-GI?GGzD;dl=WJ!pO^h_I z<&v&b3h!GTYHKjT6`VdoJNc_Pv1wl#t!ndQEnAsvtzy#WxsjTqi&cW1Z^x-tC59O+ zS$PdKhP-cR%~25=ScGW38upU0p4FLbNEz&JF7(4c$8ossQ;v^2O6FD>@wt5Hw*(m0 zGqtA4Vnj&^o=7KIAdWS%?$Sjk<4TqRSp*TCz|yskY|QzrbQwu3KfPFE;-b<#^otiq&KY0 zpHIgOv(1kh&P;l-E>nbHRH%%Hq@`W5Qx#IX0TEu8@|wKT#ax)9j=GrE7#diic3*a6 zSlO&iBgg=fU>VXlB3TGXWBPArqi1^eqlzU4HA&U|#*+;3Dm2WUQ;bNjVa6RnJYpl z5&&2u0JC?If|DvjWMCFCCt!ivMgRcbCQ_ea8ls~fr&1vJUZC0*_!5I*oCxELQL&RE zqWkqi*)JBTscjv+p?)pc)1)~V#R(X^wWhUYY*q|=NbprLGc<^SrBhu=eyS8o>POU( zSBznC?TMq2^&Yi4c`4$t$mGQ2vsWu|=^+9*Y~?DZKk>8Fqg!hPlkw%rPY|zX@u9cc zyf>oZ9g9|k1}aS~F${!KNi}E?My{p{GEI{FdW~J!#qB7P%1-jd8b-vT7jAFW4^S*& z=;5=MIJLTPt|~e!XN>x3cPR`!ew=l%(Y9sq(`KPeWm>hd^i0>5U&W^#2=`v9*Nv$e zE|2)LtP&cAD^f;^lE}hIEwak7tSpIIX=GMYabXUmvPjJ+ zhgv|6y?TD%W+<3pD3R-;Ey$DQoiaMRlHJs*LLkGHF}hFqu-arM zK@GT}k_KX@;VfvX&Rrk&&)hdx1=(L@9?x#f5D$xdP&dhoc^*h{)S>dqK+sYN>OPMM zVzFj8=f4$Ya!i)3!EQJqjLNC*m8}iCQbre2GS#aj%A_oCyZ8x~!bLkr9lH0Uiej-_ zuN|d=R6;c(M{=cWN{6emiK@pT{{WJq0Jh#Fl(as76Az7SL*)xKSL-%$kP>Q#L{Kb5 ztv=GtrR@CcRGYc|hILS*dILbO?SW4{K67H9VuA`K4AKtNd-Z$K+~Qy@Lr5Hhoc>+)cr>3_@I0o0#~?sPV%_$v2x zRae@QLX?qImURuGh@?OVZm(bB@5kly`5mE`aYNyuk6$NOWQ48QubQ)Otz9~?Ug-MX zm@#G0C$fNgg1R0T$Wf!z^-_01za4f9e$*BJ0B3EWG#Q4}so5>1-~M-jVQJ%zXNnk} zM2=b5Ng_uR$f{&25#7=yV=7a42}F5(PC(jf=gGF%~wueN?>I8_Tax3vXS zFwzpCRlPl?k%PuMC^`YVb&X3o*2!MOumeD-K0_&DSRG6?(>WwXAY=#JJ7gBpN{yd1 z=vp}8o7v$? zTTEnT44{If5)|ERwqpE#<-7MSEPs(G{F_rt(rH1OSqYV#vpXm4pj=xkV!hzSf%VAe~+5*a;=!7F=+V8cmRIYkI%rm^Ury9m`d2&9I`t#}GrBynGP6kVf)ZiQX(;UnIvVFpSY#0O}oo zZP5`%ywV#(nB(E`jQIHE@KCv>xe4w9l1dgQDB#D&%ZDS{d8SD>eKN6)1Y=hMHc6E?F4gVy9C42#eBL%( z5U65|Rzz7n@xporT8l2Ek~WXGsoT_}nC4uQA`Dp!waa>tv3aaZGrw}ou29J8OKi-< z2*7ZqLbtXAd3Ne{a2$i~`-)s4QmNPjvC&9jqu8NkW&Z#n8w>OV_u~yHnWvOAjunx^ z1udhsF06#@gD{!ANC(Wb1}Q%D4(iet_QUj*mAbmcrVOEWHdRaYATN>IXSw>WeoXSe z^I0mEs05S`h>;`ayc?4m4@Kf}aPfeK7~>R`LmWuGil7_r-(goyqBOgkHW|NP7Aw>p zx-tI%h+f`f1daG50xyHb0HvmLO>OJ#z1k^dw-%gvH=RGp+s^tevf41z`Svs zRQHy_c=ujqX6^#$ymG1_iNb~@U1d@T3gvU(+Q0^24lfts~SfnY7XV^2&vA4}079kT%W>v2=a+4AG%M6mD1Y~eR zv}~OUw$<50YUZLpi5WyhM#_Qxz@0-p-arezOWA%*n_?AdZTMHqQf$y3*W<;0>MLHD zgh25s2%uB$k69|G=BW!^QRQ8Mu{&tmOS5$bPO#R3s9%DxVeUz1WtfLUxPD}|l#=eh z$L}KKVw0z{O-o48NZ#>E{@cf?9x#d;Rggl-6IXbm5vm1Le|48uV>=KLkoET%1SQrm zs_vjTeXoeXcKLN3q$ICjrTR8iB@)aeE*awhBSy?$vj&lr$G`G*iBzFQAV?BtX$R19 zfsVR}#Z`b^n=M&;9-W3EQoCCN;v`6yy4h$^{ZvubG)hZ*uk&xKFZS)nEb?x3n6VtP zSGgA$&B0Zq719;6%B6>jB{q83P@7xcc4YB&JI>1#xQ?E=rFD^(;KjUq2r+23|C{cq1G#8RU%66D8DK zawijg2LAt93|r&q%v#p3?}Et)y8=9wgs404ZYVN7w6G>=$4XIFi?HX{OvoK}Y#vfMy=dv7C` z&sw2c#xl>Tv2vUb9>zhFsXd!id2Sw$4Yi5q6|(iRP+O~OGtDvf_|goeP8|)oQ1E?2W0Vfe>Czl)<{dJ;m6fLvgN^Y@6I#D= z?ncBy_E#y9ncnTovQ7DEVrgd6NdEL@V`6zHkj>IUzqR_x&Gn2N&L0aeD;7Nb+8 z9qlZB;r&lkpGf8Vca4(0U+Pr};lQ2_a~L@x#-AS-+{X2i676wD5)$s^QIl73C}}6z zA0J59)(BRrMN*d_?lc?m*Xb#^-AVkH~D(kD|+n$&GJew)RF{+*8$ zIOpuMJC6GfbhZ*|jSy zZ6%v_RyVVhvtiy@X8endD0!xn>ev0bMd-Fa)cifKUovTg^zo@=s!w`Zb5&`_lai#L z+7kJ|Ve;7#PQ}=wtp3dyYrNCfS?*M8pV29p2cv?pQO=psjwL+aW`wt z6|A54C>5bbrY|a1j^Gx?EI4?mz&pq7!cq)T>5e<>PEI@NQhwKHg%4^ya*xvAvu|E~OraiI ziu!5EvY2~MDXW$^`KV&2ni-5Uta(hMRi!({BvT`-cHAt8fU3A}rXSu%^z-%dzoYf& z-r&|@$#M>1!}!iMCOZ~$T!Q@g>UC1ZXl=mKNxyNn?HK4;kGUj4tY_OluODQ(QU=u(}m+^Ist!x}>ayejb5YftK5 zrr*@d*6bY$xAVMHISwx|h~(I%#CnmyA+J|0hOuJK8!KMl8Cu4*syCJgNno3Eb`blm z0kqN63&?|y?PJR<(8&^Ej}}ZjMU2dM$&A=55Y|L0Q6=p*OxWe#Gs%J_PexnM-H2n; zk}wUy$WN+!i%OGCVE&n3b4iY^A@uJdS~x1iJ&=iFR8bNkiEGCppK0MesN)Z$Bq)pm zc@y`K=+7ba>+ToryM%Hoa>vb2IIl(?B(WH|4DFH6VB+D>rZP=VE#~b%BIhji{2rx{<;z93-h|3(Z42jFV740$sfF^GxOk?)&fEc~_-=%GjsqhdZ&$eM09sZepn& z4n30MysMURO!D#6t6KJ0+D+7z97X>CR5N)fYvA$88{MU25yi2%inZ%za`4qPGFN#aO7!q4JzDjv+{={6RnOw# z=TDms23#L^B}P-t#vYt_{k#mN%g35H^6>G_c`_V%X8w+7!}?irPNC@Ymmen_D=5iHMj(2@#l+9a%lA14 zTx|O$iAeUa79ml9Q6!7)rp>Jm3F+P&(~dJ&jbV|TBN^}Bog+(GEBg}3cH?_x4{pLb z(JOU=tWiLPfoCqJgd->-GQrrh1yWdofk0A(Gl;YR8!C#bK1vF?60XA#L!b;5PMH;h zqPJ}}m6?2-u$#L01f|sS1}37$dpx?o{mZa>*=`l-!SQ z)0C%W%5j=0{k^-!?70kTqgL%k1WKpiP?hV#N(xA?)AQQY^nzgv+#aleH<$hm8E(g; zDzYbH;3v$T0L)uNNrjB6u#@6r>J%cPvJ)c3q-J0we{3l$*%?PrN{@+Dcr>WySpFc6 zi=($a-4R?K%u$b2j4VZqlxGf-i6MVl{YA0Dcz#0u6&|jvPl$Z{(g+p|kcKX}PAwj! zmj3`Dh8s~`$lsMC#&K#PELf7xR_->G=Hla)Ot|Awiz&tsw2XVosxi$5}c5mvN_v(oO&4@12qo0Vk;s$Aj#^y8e^<2buuvgGZ{ET!`I(sg!fHEf2K zqt04e_K_!%jcB4vHxkMOM$Q&!4BWMsOG225q!F9s}=oU>=@{l-LxP(U9;~c>h)GiHVn&YCqBW4Q zh`xzcAUcEB+v?z;ME2Pn_6kg)!dDD^yTvhT{!;00xpAvYBt$h!NKCm=4*2?y=~+fM zq(4I=VMTZvX$7@tIV;?!_>~W|Mx|6%jg{4wFj?88QhK*@`Yu9)^xm>dv$KfRomo~k zQzIh~5HzJoe(Xywi0sPUfeZ34J2kRuj7+uNSTmiXI)|650Fj7+CPglETQ~-UKt>S}?R;2*f8wLRxz}M?im@DZQR$GYHwbyr`iZ3pT2IEl0W6Y# zSKAlGWND!Aq(^pF{{SAE^PpJTLaEqDTo&+-$J%8*bQpmUU`sDX>Ooav9msT5AS*YS z6-Pjw^i+m*Ae1R1B6a|(_duHL;H!$wdoc~Y2!^ANsz+j9{k=FWsL)6j2_sUhoxGM* z>RDVWH0ohSS#kD}+&dtF;4GmOn7}95P{0`jB0DEwpbf6oyjaWabUNHWOrE-zST|DA zg{V7iK|GU3tQt{zIHe}3s*Lv8xfOcXW%P+KRi1Isc37#`jTyw9%E<3C%8~`pE{>6R zXRp{v)Sl{Do0(Z2)DeOi;e;sX8mw)=1DFi#2Y;Ti#(J6Q*mPBL*j%0J!LLddhAl3uYLJ-*pTW%L4RDCFyrlwz8Uk@iHp@OfV@=r>QK zsUh|nRZq)c_FgqALN`)l0aWOG zS^N-uh|mzBY1V;|BU-eKtO!>%hgVLiA~<}D?64u1+gu_6ZYy|k~U7H20$2|=z+oa3m4eYCP#1b_#qW}qOopg zP*!?^C0)jL!cP6X>F_BzHdX$nb!h1Q4Kz0FBw)*uuE7?KW z>i+=C;s_|xHJ!9^OB|o%I}q5dICp5nb=a4w*en4>4DqssDu_!T7Z(;hkd$D>wKiOt z4P0X-EEf*j3g@MJGFc9> zr?`tOcK}9oo%DgEMpo&sQ>cpKdu0SIA}br-O4VT=It*dzItG zj!$%EM3+rfs%-m-E_Wj6rs`9O&o!UKiqx{$niZBipUKk9qz;P01y97>b(!hhjw$7-O8sJ zk-LOo3r|smAWNg~g~gKPQ^(Tx>FAVi%jq^m0=Q7WltKwd`xlF#JCrMBk6MC0R(r6Nq(L@4-; zjnzkcw%y*X9eYQSk&JQ5JzngZLQm?A9_2|0Q~v;gW;Lt0`&Oi+V={Zw#?2}cLZpZE z5Gi7^fvp!MNbuwqQ5!d%1zKpR%vg{;%7o?{3DV&1k$_GpA<{n5(r)Wn7w>hE<7Om?GO*#~8h^XJ;MChd|+3PRUUpMjMbQWg(N!oE1Xu*PW%5m+SIo zUy5u6_T($kn`6hFHq~240y8r+7!M9lkFD9bCdMo90}lIW~iqybbrQ!)zL za_6{cAZ;OSF=(R--y^aJ48e#aN3#ya`?_)$7bOi({@2i}VwEbi%-H&o(|buy0|2pg zfD2;mf&T!{XrP*6OH1EQOM5&z-f^NnF&(LJiP;o{AF>t4=n>zs3JCuI8Twm1zU~Qj zfK=endsx)Gn;*`=4JV5s0~TCSjHNjBk}@Lof2Va&f}3x>zU%yYMOS5nYfMVNQ?lKD zQfq2HCx5X1RG+9?+$0W7mNA=V@SBr{8$fcGkLLO~pt(8C)meu}i)iX;SgpwhYl-W@ljV95uNE-02 zygry=T1g@c^C&wNZLx8sa2PS_QJXi{B$zI2oP^YB5b^uld#6x`;09C)!GX@8JqB(O$?jJO2_3ddG)d$Hd zzxE$X78Yk&MexMOm)jAD8a>K|-If%1^(HRa(bN*oLLTR*UaX2k5E0vb7BI=E$bF)a z0|HmA*{YQ~yGF7@BENISG0QW zdg*{&kYpa=UZX%G70JZ%$3wHKx<@>$UAE*;FL0_hf5p)hg;^A^3>(gwc-`CzM$$Ls zu#rzw$5lH%c6)l)U8A*z;w_44iJ*z_KIOkZfb^94ON+b)0-028oM zNE+E6uOmu?Ibl=*#Hk@;+e_{S{h>X(MidYa{z)aZuv@`GK>K|8vg)f^wX&B_?cnq! z$FI}lO#^l(!++$vSI3}NV?}r8U5}MIJxO2z@Coz!BYOV;??=(41o+tbD>wSk^2#&` zAaCR3btifswk!eoH`EXS@&N1epnD&eOek76y zVdV8J2|i=S+ii$CcO*}W{{R<#tqNQ9HKj`)ro_=hzt4+2R)+Q)f!;YHmL}AZxM;K+ zYQce1uBDX&sZv4$#IfuhnGB0prG=6OP-|O@^J_`)rt=t$C|{P#yU#)gqm)!1Ul)&=eX_9o|<2lm13R zP?c?bw9)Chr^yKZM@+wrR%Q<*VGNVR$6Zu~Fr=-}C~#Lu7=>LDq^RxLidm1d_eCoj zl~rEdS%N6}0vPI(G&(TFyHZG^iee{rpvz>wfDC5(Ct*Rm4f51pd7 zuGJW?Z*a=WHoB`q_j(Jolbvs`{UO+6}E0Bu$8Y=^bT&qnbnb zf~3dMqz&?BJ!4rtvWh_J2k)pVUz1VYSV{;+o2W!^s`Fa+m#VPYP)tTwW|2z}!3baz z$oX4zZdXL4T`l>!Xf}QCK1H|=~&CHo; z9zS;d+2Ici5Xb^TwJFu7U91g@MSx&HMwn{Rmg=aA(e_qdC{%M8LIE0OA$`Zz!Yd=G z+aZOW7KMnIhDc|3a9PSk$4beqDNw2uXhzHzx|Q0f+4^_VRx&AC6P}FC+4R2QjiLpd zeAlq@s1ZuA1%fdJR5P^wRK~YT@2I0Dm%~Y3KOIuQiBbtYn%zZD)ul_N>RoEDUY04r z8p;o3A~7%h2hnf>oW0_Iu*$T4KZ7uB+j?5?fKL zCjKepknDRbdXVg_xRs4L-i ztW<{g8HpTiYY!TBc#%~RL3Lt48Z1nVSw~kw7sG(+r^KLrJE&K35WMl1POcb6B~?{b zJNH-wE(x=*C2arYiXU-jw+%8{1ZR zKT0BjeX>J`J;DG-@>U>{yW+f=a*sB>>g>bB=phGKYge(b-H6w&q1;GbEs{CEYRszHS0CGZ9mIS#zQNM(K z-jI-7mgyl-QGg*(xC8A)6cQn#y8wA-UMbaIgW$O;HPF%GGPPedR;KQdyKlu9hPgl` z=!oi0$8Vnc#(NOp7A$@eF4c6*-H;bmT81;xN`k}$QplwNA-nvavVuH@kEvD-B8Mmo zZxB^e)BFSchqEv~=8GK=yVQ*1;21wu9}v!c*@G?Ai}V7#p;QCW7;I?l==|hN;;}3>;jRP zVP;Unvc{*}5y>I!#Gz#>rBnsck4i|;5leP}193{W=p8orh~m6Q zN=m0t+7c1bSP;lSA1!on#S0b@s`w6eevd>5RYZ-~qJ>hjJYD*qb3qY6aO4n(0QS0= z`yRnSki_J#QyVhIt)(DsTdL@F=md?WF@jL5X_T>L3UV?5f$N3CvN(WzI3`1spi3iZ56rVS!7 z13)8{?%kKJ!9F^pbpx{$k6#nAK~k=Tv_J69!4^#z!3ty^*F^)gfkL2mV)|j@WQ7z? zIybq{`(t0UjHglpdyU)`CqQ-z6fbulBrI_hkfgkd+696$7H14JMo`f-)^BPJ!sJNB~>Yey2d?7t&NWnJ*9Qnsjq48F3LyjLh zP^`>7#tgxqupP8IBDVCpI|ecreZ9s3j#r4d)|}}f_ zV_w!%9I+h%FKE>rqymB-BD$0A@#^u3{{Ty`ZRn@2qIN@mSH*#Eqfw)ds?NURD*{>~ z=p*W+kX5!1U8_5?p4$zsr|9faDyL$*M(V%5szC*riXlDG2X#RE2@&$quyr_w6w;RN ztPm+x3Un2GlB@t`47v>`QQN=~xcIDBtK@V=au_fK7V59mbP3z6fcu1=g?kdAg1(V~ z+C%bC2+5nKBuY&x+byL>bsuSn6?TLAw3o5nNwj|g$4FPZ(rUorPeZe*0TLD}&DD=| z3!^TT6}`VDOC4{p1C)PwRc6R~zn!B5h_c~*H=&%GQ#F`uq%^GFl4A;hT0;stSeUcK z3{gtui=g`KJQ(J3p#uPlKy|+rC6J+3Dim}DSFc`)@gS>wh*Are-)<>=`D5m*>%L0M zlNf#}#;cUkUwSgOAG4R)a9!1b3N%_C@1~3$AEqhD>$34k2EE=IMHDsitsAZS4pr8JH%RP6J+Qrdlnke2xn%3m_igt&`eX{FS~n~^yCZ3SE&3p+ z0fH+x>w3{*G{857>~$$0+>I3@BmBB>Rb8V(L@Wyb0FjCgv4Ele|oPIb9u z?$*q?bcU|~05y00p;PKfWL!NAP6^j{) zqi-Q^M*TW0Yt*L{wkJs@xsIN+drMA5o=Tt1i7DtL_@srH(D%Z*3Z)4<; z&diYYj_eRj>0#lrB9#&Qds3-qk}|(lEBa31{Xoa_URwU0`jy6gGvpEAsMnJtk)xHf zmAj9dF8=`B7ZHA*GbcubP==)WGkSWrrk=$#!mY>`Bx(1g@y=nM=R9wf^Ut}SInDW> z8Io%pOxedt24{{=yK0tj`6@U#@Z?8&b7%2y*{tc-DG^*m$tNB4DMCE##zL~*G9iy4 z2|$1gA~F<0I;e)_EB3nlDKo(IibN!8nX&>%4C5-;vXBPiIV4fbA6Gu!dGSnXZ5%OCkhKGiHkypu+lz0Dkv$5>xY z@$uuS#RscA&nrh49zGcIHl)k2r3@)ntW%egS#HA$ENI}#Gnph$XWe%Mv182QVaJyS zKf99`vni2;am;!|eWRKR(-9;x4&7ta5dQ#QB;k!Fq?_}AtyyS3-+y%B7UU~ zT<3qHFE7pT%hPgsxXv>v9wzKYEXN~?tX0BB@|gvkW-~Wh2(|>$F|!(nPSV&^UjG1I zQoVZg?D}Z3@l0lZhEI>z&RzngJk5-zD$aiz4N3E2DdSW>+-lj5r3+4xt7BFDf|E-s zue=^(>6ag#wny-}HN5QE3Rf2)YX1QCT9u*vh}~Yp1m3(T^S^@7wLQ z_gPAUOtLWP6Rcj#>zFp7ywg1MyTty=_P1J9GD8+~~3btMz(4O7s_;VDY0h zk@VY?@%%DZOR{Cp9>`;8%|tRs`C}z5WbX}`UO3~mHH#6C$Pte47~vFWIaw-X3`(+t z)OChX@gH!BbS5h3r4@lH`UA9JGJvo3*YI;fYZz*Sscfuzr6ozadW3GBE29sU3B?J- z?jcg?*~59ymo@d^TR(vRg3LQ&d%jRV1EvSsrCs zXx1^sALQ3y1n#0xK#AmE63p_lFOKCMy7i4!y8MR8?q5Qt4%EC;BbCNof`oMJO@9ga zIe5+GsAs)RGEu=^T#WQ&y)HH6uan4e{Dq2Ze-W9)YPCq#{6jTo!@hh!3~FJJ&HsE;7hjdtz<3>b}cB3VkQB#Tm6WG}75rCsM2n7@xS6qRlDkDX<@b?08Di5Jl}v`4Yc7ze`zeFUxUQ zyjE{5#`y*}6PZVs6O+hdF44y1;#Ll3p>}AZisT``#B5fUR5D1Nl0xwVT55@FaS6^`R_ zPX4fx!m%=#rD;r&nB-X%V_4Kq(xX7plPk#W35nKd{g95W4DwE`0Y-l%Lk%%rz-<9- zsUe9STlj_@ci0j^I$dO``2bJ^Wz#eDDm(<(1N5XFj)SW2%aAk-h{v%iORFc6%hUh> zVckxbV|qUlq><$4eQUwL6lnPUi+tT{%jLfhtjV#ZT0~o0T^hEF)1r;2TKd}DjPeJO zyEDaHu@ifN)I}H$Sh3lYPGpIK`*M6_2Vi{yA4#TfAbf&{A0==?w_Ob$$H`r5Oh09Z z#bhj`5KDoeWlarv3cHhDHNOk;1Hd|6hwV8e{2$96z2h!Ui2#_$+LZY#0K>66P~%@r zL2gJT*#3Szy@PF9h?NxB`UKceNeynAq@gO0{?_)s3@oH5>PaMQkC4~_OYOAVJ6#6Q zI{qU-fFNRe=rLV(AP?jTeKv{TgQ7s_KV%(zn7YQpp$ba^8Jv)G6zJ(n79<^(8YgT! zFU|KcD!x^Zc7i#hjL%dEde(f{IbH^enmn8wtm=yuXrEN4;^*ekTu)(_2|uw=mw1^NZNb)RcWyw^NK?!{D+pRLy6gsI&6pgU940^zys< zfe#p8s%0VTFl8GH4SvI62_0f!PMLp(j?@wnzkl&TDez8N#dz$wcjbIe&n&5Hh;tlP zGL>xYZaX$VlI8g3PaDPgB$L|XoRu%s;@SIH?ES1VRL4)5iyI~~rhARsvkr2GzXnjn z%Z&0%?Zy&hP9vrWl}Nh+gk2Zw3+mYNvzDP!v z*q0(y;JE%jC#F8EO>2l_vN^~y90q(>E0dpbt~Hk9m2Y0m#g)d_;kgR3-{$l)i1kgQ z#wMkEjoHNFvNvsiW3iE=b_JFD<)Q2H{{Xm96}ug6qbP?&AuY1&y@A_Au8C(?8s`-; zTu+tp_s7j9LqCw=^Ha&kJPBTnECf85WU0$s)RM%{l9MrxFv%6#(Lo+QRF(^d#8Omd zMJST}6SKd`j7i*%rHqmIKM=dqZ3fhU!I_spl4i}0csO|BD{;>&AV;f{kj^wzXkv>N zSr%6=z>tLTab|}nos%qO7)}@?j!pjnQ?C;j+?6tDjM+hAK(Sc%T$wbnAXyn50)sJP zgeX?|uZM5wwr3s!Gd7PXMdwL@z?SV zB2j_oFh-%oWdy20auk=7Wk~%3uFk3)1{+9=nsSL*UKwMNdxeeAvz8C76eDr@ZHKzbOG)SFe4c1uOueJt{M3PTz z5DNwXj>Hb#P;5x?){v_;c>r*vyAFyDwX$aRwyW3q08j$Gn7LBNVy2a)Lm>CHv<>++ zVuQZ=l?@%4rEf32du*YZK#XW^tYo&vVtz`Aqp_mAD%QHCw(8;q_JT6q`m>qEH}U3D_i% zI$5s_y{KKXvWWw$dm_AjV~51CyIpd!B+nQ|0JEqL;4mRaD1xY8mwszSH(`D?=IrfW zuL*vYj76iu)qtJj7pOE6t6FG8^maHEN;HSw60=Dvu$7l_N8(8e&Y=n?}kuy>&JqkFSYW=0>0P9r`_6km2}+6Iy2mPo!+7%a%i6vk;(shXo= zH94921QX-hmOj2Fu0oxRd=)Rrn4Z>G`;=F!*`_OFMJkoBxfpH3VZqYqsp?%zsbZaWu308VR(Rt>0wl>}Pu3k|KHl*=UB*mV z3|o{W4#qhmVw8qa$<>G3%kBtDt)EZiMp@QXqaUQ*kbXv>;#8OJ$+m{C$%jO{Cw>Xq{%3yN2nmOyZIO;r-Nteds zvJ~;xdk2v{<;UeOQDhKpmeckfmtRHGJCw>|@qB9LV=b1&VrH^17`s-avyZ{PR?FMV z&5MHlkw*%dDUv%GdEgb6+?C^+;gVH=nNRKW)7+P+{Ig6%5 zMH(Y_D|VG}W=g_E$JSd>SjyZr>B1Iii5R@I?D2DD|ALk#gQaLGJi~&+DviV2+2HNg1rjzNa6`pOk^sZ z%EZRJu|iYb8hP8}De0SL8ViEEy@_r(x}`Hk(_>xT;Y#K1qi3;}w4w zWni^ksdAnrTF0>|j!4>S*&M}r!=P44sl0JqhT!%J`$idNvEHA5O7FVQO|zA`7E98e zdY5swzbLmK!Q`(7mKiJ9j!3Rz{{TImOUELaqE=sONtOmKu1C&!-%#S^!=1s&it-~M zmdNFXK#o}b$qWKmt`1n4BM#mANx09j!^7la$%&kC4hfy1EU{RkOZu4MmNKuo7_1(b zD3ph*GwYZ1<@=neYlPFa=}#%l5AS%W?T#mhvCE;US#HN2x3g=H430jk{so(WPd&AW z0?{*qVkAku`EN_ zrD{s6E5iOg!og$O985fRa>dssNXG_9$`X|E8Ie*vrgJv!7S4qO*{puQwBYqk3zQ!TJ}2vo1RHHgnnjSChEYP?iPvEAlLd zABEzL^h{IH!O^mk_K?|vL3Sr->_GnjRz6NYH)LbLjrvo~Fx*#yVUrF0_XB3t=cAoQ%RJcQJee=ASyC-f#GhlU@U`BCTg4$Fx?d%Kf__&9Hgo;F_L0Zz5A*5=SCzCbE%6(7j*9IS7Us2_4YFhhe@yT~Yhy^_$V(P&getZ>JuR$LW2=%F}$d zO*w{7Jhy4d6{k#a$6SUQbyhJ{+>*>tnSp^*aYR{V546b5ROJJKqU$mMPnz&syp=P15Tsb*Q-bnZat$JRK2ITDz+thOOcXti|k^QF<8!V z@Rt(B7vfdb+or45Pmx$?Ez0(%hTU_DjM<9J;z?)k8nluzGHl9SVw?dQOAJdMh(-aM znC3jDmmb8$Pmp8;7A@zEj@KSWc&TKeilVbj^2(>IQ5GPeJC~r3w}Tl|c2$$wuN%Q` z?HQ6-#(^T_P4ZzP?5J57heiPqhS*SDi^}DZxXv29fn#YuxR_+=rY9qky6zPFp_TPY zyB{4IMnz(TB95mQ9}<$u2uhx$XN;UF$1OGR$OGn=XU;BMl6%4GMe`|2WTn}pVIj{$7YJLOq8<7=6=mPv$?7LK$L*g@?g2&A#lhXLV0M7uDNB9a`oqXBwp{nKVv za|BCO8Bb!Tyr{L9srLvA&^ty|T)Iuw!*yAg((gunNAtygV9&8o@4AaF(Oi^9Fk~cDBP62b>bh`$M6d8}3uo1zTC>@|O1L(17l#v! z$613N>UXHrA4x6)ies##_HfwT%mr!W`9@-s(yd0zm~pw1&5N;LBYdB){-4~~wD-K`Y3Q7`wpBIO&oJVk1m zJXMT=-?yCJI~(eRuwijEFg}}8z)On7_mE4G%X3?A1oC9$OA|Hgbn#fpZDXUJQsRs^ z7HcxS{I!{GQ#U9707pJXCOIc8a-3s`jN^=iVnS2ONBZkM!Utnu!x+v!n#IS2B^b_3 zSuu>eWb8k18MuhCgnE!6DFKzA>Gs(hq%b(V1qv7(6$<#wRwleu@suO#617V4#lE?IRx(mAci!G zvaD(rD%FH!LXd>$V~G(~KZ@^6qgNIv@XElMIW5Lnbt3@9C65QSKKzR(mNyti@ncoX zIcG9+tn&;a0}L##5!7yZCJ}r80CiWlz(lr4!i8YHA{Fab2$4lyA+KJ#K&cv5uLLa6 z#RYg4IO8zK?W8NPii!&qxl#csFo6>kB{UrsnUz^jR*{&1uF8jThbq#OwI)IkqcA2C0xXI0Bq}$z7$ucKZL)0bJyXzEYH2lUkc?Qe0r&kvsCD!Y-tNWua(OR;|x*BwPZpjR+fxX!b zYyyR6(Jiv>7fcLD%sP+}Ku12~G)6ylA?uVq72n)KSF%Xu*Wjw^#hXAF$RSV%QlY_T z3PaG)@723>KHx=&$q+>))VWhD_xQ7bQZO8>n{v#d7>$~-`;FO&WCyWn5mHt~eU>PI zhgpL#-*j@VsRw2OqB5v$qo`cbinUdG^0dHW{CM=d~N+qHym+wDe24HzYyUAd!GN3dzOe32&>T!+esrx`etSMzqnas3K@e+!a(ZX8u=L|v9ESG!bjAA zoxlo#4u@w~X*$ExUl3E(F#9aisRF463fVjF2d zm}A+L8rdpjK0;p?+A(U+adO{>(*|adiD=q1=&V#2WYALXC6yUoMLi?YK6}PiH7))n zA5Gf>w8!0fWYelMDn;xwG+|e;f0#yMp%-ZCrZLy#;K)-^rj09}_KAj6jv$aj?G}Yi zd1W?S%z<387~+n7tc>NBPzYrTV9P2g*ij)RS&0$}SqI6!L*io{-1}h}2v%?kzX;9| z#>*sR%FeAzt#xhpma4RSU4TZ&uQ@_&xm_2UQ>s$L;;WK}#J8PSMI! zjA!=ck(HI%nt42u0P7T2sNa|8(@*y(%D5d@Ctp3vF0`$8Dh#DIB85RF-%B>DQ0^Z{T(>`{{SFA1wS5$RTp6~$nWkJ1bmsh4{RRYT(EAdAYJT6RFbiU zUd%f)XCmxoA-ruAb|I7%>WVh5;hB$y--6((w_sx}G{yvpQ{dgn&@`og-s+oo>c}#w zQ@c?1q6tW^VJS+xd=I3M&!R&P(jKe;P)4@h0_cTc3upqPsZxLXh^w&2Ws07ldD4bI zFZk<3FYUAg?Q}=PeOxIg-P5Th56Gb;k~@|~0J4BdA%gaGa#(`E@<&_0{{WKqP)jfQ z9S`UN3rVC_alZ`OJ(P3_CN(Bwkd=2YhH(|Y>DoF$l zp8)S*AEzthgfV-9)mfEeWoTo$?l97@PSEKXubgxK{6~@va-Y$eNXl`1#!vUQJ!|*eX?0&7y%lECASssA@08KS3N~Jd2 z;`}6F?A2LAZM%S^lm7sO2e*Jj0zX^dWh$x(**O(>{lqKRUyZj6y|4I0vQ3{Si9(-IfJ1HmK8@2Fi3kh(t|{T&V#XpV>rPyyBYl6>g1w!FKj zMe?NWdm(aEgA9=$HRH~_HRHy%e3UIW>bX!Q*4t*$Y2cMdUR0qSJ}=Lrl%cCFn?l1v zkOYy~J1Fh}WnYsrkbXoCjlQVA5(~ynO%^U05$fD7>Dy5)U{C-$lxbmtDS#?lOeX9; zEUsMv2@$E5Z3T7@E2{upJDC_3P@W4m*dr()0>EqIu=}@PiE$_r9JN!Q&N6QGD6P*^ zABilABB*4iDpV9`OZqW}KYa7$QZd+&xD2Iq)CkB+ z?sc>WBO``zJLa6{Mm|0QGRY{wk9I`lN2#mHDL`&8R#GjtgXE-Hxg26MzLORX0~BS@ zj#C;2jgahl2e8=dwASWfL*oP42SR|F6 zE)$7{0Vpbx$(XeyksWBu?`GN_{s4E4kzPS3Sd<+rKPix_kjY7Mr8x1`WJD0tiRS4F z`%$X|_r1wXZ8E%tT2~3#QHTn9*EF%m7xeSOa%$rU%xP21;U2?7VzL;@zcGl-JjdMQ zW`t>xET#rMk{}K&laRzx_E`S_f%y#H+cfe3n(ws%IPt~49%k) zzZaI{nRzgI%wAIkn#BaGkj3U{TgGH5&hf=zBeP2EHEdRrXe`GpD#~Bkkr@k_lzjmb zM919lG+(#{Lo+BW4w+NKXm6?0eB>_7=)|68QMy_qWoIOZCrUk(PytpepvxAz=$Mym zpn2k|Zdg6yV(Tl9SG1e@M<--4G5(o3B*v!9=s+jfV8!mr zeLBm$V;GVc%do*1$>an4nmrE1dif!KL^o5huG<86(EtLc>i}=RfCF~ZeuxLC^P|_u zJ~Vf>Uyj&=u+xSFt88~a$EzKZqxb?!uD?gfPVOJD7NsJg8nU8`lK02+4e{W>UoY@@&%(EyN1e*^*7{{YPg z_p|>1;PKQtn?Ok$*TiUmG)dO<3wR?(U~i}je`jat1X4-xI|d{I2J{aEf zl6Solaxi>8iESO|kC6elgr%imtvY^t=37rlVe~`;X@SOQ`m* zhTj4k*P5eHhCN6gSRTM3Vfs$YHmrOGEES6Bv~)WI^s|qcRl6Lm^H9J#pe3CNUgJO# z;kxY=f}vy%0}cHpLY;u>NbJgc@2FrjNNq6D8x8)3)r)sN0p(H}G6#U#>#*H?FbDab zz;^Ae=o2FL+Oz$7K-dj5cB{6Fz2EHKkCu;D6iV>bQr#8ejkmf>KR$g(aK&w){E=d^ z!4sqaGSyd+Srv$6nnh<-_trvVjzR5~leuuf4y0+snUmK=kG57Wz$$BNS(pvClp$M6 zKnNK4X4kAFSsapv5H`#S1*G_>>!t+v>@*4$?-~TzL-eB*eV8$cI{?hxRdw93UcHr> zijq8p*k;oqLI7o)bm@uNTj)O8uauRx?x^w}2_4B|?kBZs-Px_OHkAA~;Q4W);>!ek zvd+67r(&QMR@YNio967=E7iyh4&8KBVw(z{1XH;U<(N<5)trD(v=Nn3RagS0kf?8z zn)+c9;kSz^sIjjki}EMf zfm^be!+$yE@J^3a0mQoif!Pa&ouw>>Doha>Lv{AU2QJH^$q3enJ1ert-vvz}R^4jB zVcRf6wPjP-0)ZW)WOr2~qO7I5GKFBW23PEUp7?s6BOq;Eor0LX#{DUgHWf)=zz*Tp zOxp?&Mt-XEK8Z^)&q?yzlW^^3cf&of$mr;f$6mrJx?N|fwaC*cA`)%H6` z#4GeAU05eaXDkktynNger+-fBGTdNQjA%P-gi^}kN|tpU*fxMti=bQ`o{CEptbJrt zF>Q7CB?XBpGywsSA8nJ$NQ^x7MGBynZM?Cx{zP>Vp)PiMkby{NR$!z#bkmhAOpL&= zZKjo+k<`9O)KgE0)h!-RajR@c(F&>|9eFBJ^ID;HG_5UNYs$tp8wX47lBfcyR8$`Y ze`xQg#Dk{^+&5CcH7p5yNOg52;RoQyQ5b6KaZqHi(cW;M{+xDPhuFv zegKwzZ52F|v$kR#@;&=;y2Li3$R#W-0OPn?1Vk$6{Gm=(awKl1i_Y3>ZnK zPLdam2XKWFNhRv!cF>Vs&u?xr&w4oh1UuO=g>J1OBvn(XdNRKT_*JZ z0KtJeE;~p&0V29W$Qj@n5m$^6gQ5Cf25^L0}4p2T~~nxm~FF5C~Z#B?}Q4 zKD$EqOW+Z~l!?UXr2|_h=C%^^L zbxzh<8W`&CFVBmTA8F=|>9XTjqAO}YBSxF_mlZ$+eH-M;9R!Y16zPL0Vo-H=f#Fs9iyf_%Zk@N{|kKll&^CPQOa9W99x#teTM|8$d|-iCQ(< z%h(gu*fSz14CXlunkq3eG<2xl&Peqoydm5V>VSNIO&q!75|gs+S|ZP`yZcq)*aD z)_`PDA9uFxzX;tBy09)@UlIP=sug4X*H^ULUXkI2hhDwIDLz3(MkvTs`=_vUEu;{t z=r2`6{xnxmiWlEvR4+|?WRe1uP`$oI3TCCMeu>@Ou?sh;1UN(n_j!{Z+r$R_^7AK-!Ih z)&te=M!g~A{9i5Wo)eU3xHbHX*0qh|GsBO|%wdUT_g37sCyFRznW0N+(Il^2ymjS` z`&o!_iko1nkmbH=ORq_SD-!)l(y=T50No0|Mb^u{swduVF5EmDj@%K175NO1f05s^ z8#JA^+a(ke3D)!-Kq@+h(AYD!O8_EV8c%r|_Y&&VJIb9 z>Q=gM$FD;;Z@n++ac|ODEc#E!Jt|*TL|=_Z73!`=^>~S}&>1Xczv`$le19!)SDGZR zj}K0ze2HstWFlJA*>5R7dKj*0>bI`^*O=7ecnER%F^{cG`fCOwBf=rAjICOwc(Ic4 zJ2^}%+nHi5kZPF=Gg`U-0Cj3su{82aQ14usHj45iD+N|k%IC~vf*7}W{{Y{E+$ajY zShv$+-cIalL{}y(ts10{D+VEddhVxsE>60tvFZxDe1?Y$g$x;9QIM8b20k^%2Ok0K zNA6^Y8W=IpJffuYN(`8hjmH#Y0=cv0oF#CTzJF;fNCZQF?ZJ zX|a@ef7|~6sT|iK9wUozzC)eMO5!!eV=y^OnHdCNJf$eXP2`lt9E~-EjhCVx?d4lm z-vj+P{^;X+_i`SHdYg!lIg-0t;koLvwUUoC9b=xX9VC<5M~#bvDEU`LbXC#2}q_{F=plPVnXT_3FMHa!6eE6#Vl~_IAuBsSMw3ZE%iD?#g*&_ zof7Q(hKG-Ssd^9Um!`aHCrg?7A&#?N-Cua;^ZausiR9QTA*%$nPRiRrcjYkz`(s-F84B$llo%2c@sN zzw6!VzuX_EnZHdlzMFbaR~ehBHF<8@;#ISEV2VXUtbDoQb~-b>Y{XcGF(XFX62yCJ z&L($1R`yEW)yLOXp3_RfmdtGsVi*9iT8<FHMyfMUp0RJxxf2-=Nx@`TOqS@UyrT-aUt_6T+WFHRURy?j#YQNmo=9Rz zVv^I#W^RQ+nm3){?;(DGAcZz1J8-KMeJT55^c&Lr{$9EDf0FvG!s}z@-d7pH{W`&B z?ATA3d+3^8?$(HlotBvFWSG~hpnG)RPYIaDWMtsHmU}tACwdy0k(#rE zd_CEX9CjByG;$_xwka|5Wh+^=6qa3Qm+IeCIR*v5+`_6-V99(RbSB0r;fP8yBF4OW zjx6A08OBmJe{7^_I|C_2kuJW}W4rJ%m!nUzze4`SDBZouFkZ3x^}_CAmPn$9F;^RB zDV2K?emS=mKLf#eWvNoq!12dU);rsRwYi~&^~*KuuXB!P1Cl&Rxo>`Gz zv{{UA8s-=n@7U|oIVUq##8PJxkn&4M1rm~9+@Y?jJn!)j>aS~)`nQ1fGb8BFrJk2v z$3=k?;{7AznC=(Ha(A$otlY=vvpB;;FLyI*+OT20Ln)M-6=FJ=!&06;#d$4U^NoH!mf7_?uY_e-yV2y$s&at(un*GAG!UBP`f@kwaXpl})MS zNu_R4!%~xz@+n$?|04zj1hcolEoo0Bpd^%Ifm2D)yFEc)i%; zr^fHy!o>do;aOn4TFi99I^K$K(->QoV!eLgc+9^kmyYqfQesYp7O7LggndFz5n5xB*P%xnE8)7^knxu$+OZd?=Olw7!S z)TA+tBT|aA%N{AeaOx7>1fJcyT$jy18}+N#&P{05x$38<{4*_HTQ5E{o%(^seLIU8 zN2HYDxpL)eyn3v*=U0&=#ncuprL1mF$KXYZmlY)MS-F3&cW4`vead~c(X1tRyA2FJVlPTb!`Y+>^@{rH)Koj?ll$uO|F7T#{RTNMCb)yz&f> zr+Hol&i?NB9X>Z>0@y*qIB%)ki<04`h2&Q`25iWA!| z+xG*vSM;8K3=*ufmMm)wab7N1V#e3papcTnaKdu7L6T4#(Iyj4kFLxgDjHB(l84q>;k3(#SzV%-z;b>`M|y$g=h&oCXs2G~xq` zWNc#j4mT@`%EDLPg5Z**@Jh-Ql~-w%hBlJZW4uiPxW?@nMRLnBok=5!@Y zkXw5o9UTy%_rAqeC$A9>VzDcDkr&*JfpES9KU1Y*r>|Z14f}Dj6)oTdY`l^H;1IFA zWDkh_u;_HdKzo3Gw4~@W@Q38D`}|YqTk?F}e7=%p5UZt9x~Gs4vwHv=zZ+c?b`ogH zK_!)#%6l>F%7s{#Q6j3hbD&O_K$6<}Ejy=Tu}Rnj5v#KMMVJl9RyS!Gd$)3g$<@$A z!)ii(8fuajVu6=M!B#~op+F@`h@Pp~C}O}bRvu2r(Mf8}*W=KFG{iX8m*NJG$9iv% zQ2rF?9q7A;3`4ASt<_t1QM!8BeoNJ9A4_GNb?%MPuF*?tYC5X;zw$QvEJ-1JY=!Z) zT@~tjf_A|`{dXVfkL)In=_82(#Co>6>^R#Wbq3@{B^_5w;fW!7h3Xh62*E0;KHD9D z+bz^Dh715YAcA$+pz5G^9ezXN83&akuF(~PbtHU=9lQ{r@8mkT>g(rdTY`@>v|{Kt1kitu?nm;1U7PTjN))my4CBn9f=0!Y?@_^|`9*#fd)`4C7ro?TIJkND2W2l?Beu z%KdJW%kk>cB!y4$I_`TnKoLuHeUiIZ1blpGMnRy)Rz0J#sVdqjDqot3bQgA-4P+=H zI`G*W5x;Ky{>Z*VUWSHQYq&nc9ejaraSzM^vP5UG0kniDZ4RJ+FQcn;Xtb2U59NuG z(Omgc)b>_e0vlD`hhq$i!_ zMWX7yNhB)B8JEcJj3gDY~? zDJRHXx=~eXZi?DLB#Nu;fgEZBpbCFXN@UhD%aSCcBxMsELItmAN@!AD zMWXw4tpn}!43WcyV#YVw$&x-AjCvJUu+{~qR@2AdU35Sz*Gj}ELZlV#y|>9~Fdwy7c^O(kG^N}* zQmlc4Az0ApZ>*~@UdP-?04fZ1El5|aQnBvLtg%Vgt9DgQ#H2GGssjV2Bo4~#R0phL z!Z`lqrLN4SHYoM50w_1&ebxklQHYaCIey1T)dm_wtF~D(S*=+VG#jr+5?N$YS<5Dz zuKP$(duqtOR0JUYku;z9(LIK=BzL`1D>8LaEJ1hPK#|E}Hj}JrqR6Tlm`2RU%z;&i z>$BprBy{{atGbcDb~2rndMF^z?Z(8A4^?+kda|h=LHvFidoh^}s!{t&;o_QEM8!L} zky0wrT9MTeSU0pfBalL$(3!?^kad;WBeD{dNk;w5V{yNHgekc%fS5`l+T*zOqC@uk zR7qCZNw6-8_W1NvSZB9lU4oL%^GeZ;DuW}q>NFX9c3!H*ejZVfg(X2PBgRSgl!nxu zD}|fHZKC9YSvMh5u&jq$Rs+e1xcx%PljrHTxV>6B^zxGxP&%O^N)=S>mtMb+S6U7O zN7Rot5}Ya{g5FNl(Xi_05^L8CV~pv+w`}MEr#wo8Oy$mPzC*FlI3pzNOd8w|vO z^nMH53)UrYjSwB!EA`k?RD@R=@=nK7*eN6)p+g@A0=ykEYLZ(e8dREVFqogSI!3Qkr!-l}IucZAsaI_FZ0E%rTF$r_?LD^)7i(E*jNwOa6a^ae8~(A}#sP>7SoE636q zA}X@0l$jZN%Cf9ztewn?S~39Y&GmHt&bcq9d`p<*xi6}8EM)N%adCifiIv%a3gD{31F2!N*Qn_tsWCld(6I18?4_h|RhA(vax9L_0!~ik@B!=D zPG{4xa_~=$l2VLvj3ts0=`*tuM|nm;KK?Ui|f$$qaW3;J?YI^@mLOB%lIBPw4ywA8-`^v)wsGxQ4MIUz8a2Oy&rcUUbf?! zT%n1{thR({7<=Q#f34rGlJOj%$NImE%9^n~w8mV=<8s{I__BmSTN90&jAin7)r>62 zD_kV-jQoqcxy0vR|YPYxbu~Q!>$o>ubXK71~laYpc zl%jGa(nMnsB!JEnchzMC1FT9N++SVg!9L_M&lw;iEG{6NrQg3ybH@VWy|R9%BF&Q_ zeRuC6{YAZ0^>>=_z9E#g>OU*XWb*LfxXuqCIfiE5OEZ3UnQ+)1BXUKvkj&+>5=U1R zh^tO}IU9CqQlzuAsEoPyDF-~G$Ewfkm!y2xiQMELl5lvtKX3VeO8)>lY7(wK#L!l+ z#(10!ECO_ynl;Hid8}8rdT6ptBu-HJA?hX-bCBdcM)fN<#Qy-d;^&^1C8@`G4=>~t zuNex(PMfzl;eUkj#H(UEaAqQ`ItboKnaVZ7yZ7h z;dtVz(dh`M>%L89GRO?wC8jC~q$96bmT}1aN9l9m^I?mJ$8uxG7zAg7G$6~f*@q|W zOOMu3A$Z{-g!efj5a_<0^$Z-GStZDkj%#0XE81L0W_ydp*K9mmzv|Yex+#a7%YLO7>Vq9eAtP0jI2mV^)f^L=^gz zru(qv*31*-JwD)1a@=tmcYzHC&Yy_ac*mmNQUA49 zXsX$kTh*&_ZeznZ4;HzX$WXs}U1sXZgM{JY!qT~oxn`xySq@UkgTldP)q62syJDoU zz{eqL+&=UUP@d7ooxS3(BctzW{z$_0Bs(z~@9fv0w~3*P#Y~PJWTi$Lwo5E))kWYx zDWXx}sFmYsH0-Xs>!FY6u*8eYAta=xb%rM6FBL^5sXWW##v-Ao5MpDNp zynIEGsTlF(lzPUPK$+GupN2$P9bdQ7<=ePEka`*YNPhTzG*t9A(RuwE`+Cbn^|7_M zmL+{P;ko>DWKfb-%;lT@t@Q`IwWq6pE#D}T+k;bIHWo)|R`2vK`?BDEn@MT-W?wa( zhC`UX+-nm?_EYkZ*Mu^gKarocMk(qgs`S6R-LFPwmm^9F?RLtV8|ZKKG5fXjTL&Ho zfqJ{jaM+bpiYli3*3uxM$G2J=5;DSw{ayr)MM(QIMuX;lzV%D`fPKaKrm`H?f!<$kZn&p5;R3^*q>?TT3(nQ_ak zq4#AtOYT&B^~;Jmy7re?$cR|-FyzGcj%ISEIQpz5CPk?nu!QNkc9uDHlFAHa9^Ru5 zTYU}tsiT^y!+mY!77QMqR7#k9KRWd*0X%#&88lE$)=%88A0*b++NfGZ&eK6uUu5ZL-<-W1uFnC&4t7UQ&xYrHLbKYSrA~pB%;tZ(boI@Es zxKc>0{#Pci_|Upmj#=mJ+OYC2eU!<{^UD~Hc4F@%Zb{l!43VIgb_~+8mR4mhLv6ba zDv3|ff4ARLeRrER$^QWATE3Y2N5fEG^&8f1PpZ6MhhiWJX2Fl%wOzRvAhd+n$8qWw z5`2}(YsYTRKBL&l)pImVJUoXhk&lmwff>&h2x8oyF@)YgvXWFI2}*LhB`H^`#g6-cJZ^?(n)B{Zw=pk-x5a%Sk2RF3 zH3N~zWY>^9T$azLIJ`v+Y&i_RUJQ*|+*6OPMhM31&(p*-zVe|VLc}Fi;qtv>0^@f4^S=vN|rHd*0Wm*V6A_b^4z2&8N@Jo4o!ap zg1b_^M)i`9Fu~>h8~bm3{{Rv64wHTlJoS5#OFUku`s4VGS)_*Sy<<#w8J5j@&x_%B zYS`RoVHR_j>fTzKP`k%~~XaAM@bU(7M@efcDFTuH!`qlAq+(E!jIz#sm(<0?eMa>6(hReYw;n%Z?x*e< zWN9va%X*c^zZ24*O)`&RqWr%{Ju=LD_``OS7~2=kdE~ilj?55M$sIBQS7hHG3gMZZU*X9^1!sCN^7P1{lYE6_tWaBU0Nf z4oT0pNyf_kJz)^j7{UNLZ9}!2+Ga@*a4ep^7C=|eC`p|`vr|78$I{78w{X003N&l03gwD zLujnLX^@@3ii4mm>Y<$rZ5*DB)DH^%N{+ph24K1@anKPXbP6mw)g*e{qq$MuV8%5d zDU5>Vj6z;*5oZ|5k*Zph8+yczM(KYS5gd61OEKTH8{|s@!HS?I3m`@;2$8mdN(Btj z34v*G?lwS^v}gm!I+G`LPl*GlW1`(1{{Y5H_Z`o;?JG^j!vP`A(7i^@@`hMhGbP_ zhz4P&X#)a(`|x3(x+8y$fIwvT z0Dg$;qRdyKFf4kgW7UpX;1((^)+6So^^ccm8&Xb0*{dOyqx& zLxN>ugHf+i<%+O(bKm4-WNrOQ*D*#kc)g%^GO%HySy-|wvwMTjQi#{C zw~lq4m<9~Y;B=MO!!Yl*5{ElrI-i_`yg)z8x6>ULuBBEb4y~s^*5*dqtLlMO=;dxf zYvZ%pUf*gD_HIiSLW}$CV9Q!a+DQ@#!Uwyu3|NO!LqP)#C`Q_t&(GUtMFE*WBq$@eDza7DfG2Nlix`q$Yq3cqa{ZJYNRgP( zd=-yY3Vxw?tVtP>oJ#GeK=UDW3`h#8uB3nJyRxl5SgBD! zDcU5El8?*p+yS1XOae00T5Nbbudb`_;o_Zy`09?`ojnh1aUqDTSJT?YyPAc-EALZO_1Iv7=#L=t;M zuiNHJhG34{?0Nu01(+vB?dOU)ofsn{sxP+Bv@%DyM_AF8G6R`UW=3C`U_(fN-Upd> zmHuR1U7skPbwv+~+QgzU78U{Rs-iV}a!;_U+12l{RV9ahyBMZkuH>X(bYBagU3*8j zXvkFRfhc35mYjC(69My`6Z>$G*60yt&)03BrNsvD?M5y{YHI@c9rP z;!!(YAXk&LPdB@Dc4@ja`n)8vVxDJ>4!vUdxYD(t2j!~$nC3vNNMfN-4FWbm@uusp z+hilB@+5)@CG>}6mMzqm3<)3|9)Y_s*&bWlVew@>hyLMhc2#-Uf~+^PS7a9qK`0cS zsz7F7b)ml61wkqTT#6X8G3>ot!va_h5_**yA~tUT_8<^ZOEZwPcORc6dEfoUKR!pT zS^A9@qORH6pbUK7JYlnvQKX{$PmV%1;3>P zjBRwlf&d+ZI6a)UgI?Htc=NyUM~kM5+OGWy0(rckRWC8*s7`r(FAor z?|O5tqhtj!$d~kp_@*TUnhV%lMM>ECYv2%(x%aj5_I!m#E!~16Wl^H+^j-4?8>AVc=|d0CWL>W?d%9RgLa{{RQ296Y|pPMwD8rVA-$3zbvuL*7-_h9Al` z8epY}0k${QyLv~te@x^FWNDg4EwLnx8%o6JHr!~ieUcSR5{G|EwHOKG*IgAVM}T%x zQ{?soL})1=pma|3K9M9Fu+QF+l$SY2{w6RkmGk+I~GBHL3PTdCJH%2rf0F)E3Z3Ufx51 zNeAKb`8UxEk^3?#63r5*U`SHr%F0ys>IndXdxbjyDI-Jc0y3H(q8xS5U4!u;>@Xw| zt)KVXV?cE}w*LT=F=BKy#faG?H;~6&N9%ez3)^9Sf-!H}U*~IjvAS)wx5@tihN3;9 z%PTFKL>JqmN1rs&W2^NfBax?8WC71m?I7zXP^ij4Qh=~hG!?p$vdY_Xc@hfM?o^MO zvk(|LA|R)?>AHeLXoJuQ*hoPnIHpY~8(>_x1;TUz2akg3n1WO|SJJl0Pd{0*;noHR zXMR3Khf~os!F0WMuA0&4dlh}NH#^s?q6&GnWmiCX(N*9BS6AnD+H9dTQ)pGylzi9w z{{D$6*X@An3X}WU8`tTNfCrTTm10h{zoCHN??4}bARV9J7qCzZbpUo71b_a|*UE>$ zJ15S8+LB4oKcG(bq>@2k7!=a3#1ZHQA%N-$BzGXG(d+vJj-Ys7-h+FJPNw{x-GJ(o zttHo=DoJ$SmQSw{c2cQoy4S(`*Y0lX_t{i7lUp7>np&0CdA$M?wmp3+MKsv;b|AG^Zn7f~0JK zc0dF#P)3ISKOzRkiv#-CZ$6J&ABy`uEl3FH@Ug@%YE{E&d4in7cYuGO47bU(oRf&2vd4Hf}GB%P2LGY0xk zhvI%)Ku~uZ*wYXQ*!c8d;+%jMhPSxN=@5CGeiIwXP!V5Bz3QU3szB~O1E4Eo$M zXes?l>v|28{{W2zKZi%DG%s({9~bVmzxH>3v-#WUVx(X#uAm~kF*iriEWY)Asy;w? z_^CP$v5*eg0=brrl?z4ENA~)~*_jusKVppRz$Zo9_8@ux0D_YlA=G&kPu28HaU+xd zKhwe#b{&azBd`2OBf2>~T}+_z8FWbiNJ&z5yK~q6KHpYu%7p;(7BRA1Gms&A>#a04 znyps6Zi@ZA79JYA2p@&0#cT0?JO|^-`aJ@;ZrxO~4Rt~~g1|8ym4IeaSxI7q9<9HV z62DPZ7ERu*id?TZS0Q+_>b7wIsj}0 zXAM#E8+AkSDZOi`00LNVOj$;VO}2s91fQXHo4D#Xdj8q~+2EvZ_hVX>S}>!*@uS6S zN8|j8)z^#kvsoRGvqq_O`xg!Wbl8kL8*ibFFt)WoWLkQP59t?yE+uut%wtr&y=A{GG|UZ{R! zw@NmxA1La0CsFl0g1~sp~q%Ml>-5J#h8&lFoSqy>I!T$g$X{Ed-A?MVQ zqcLveB#gaQH9}cH1fw3r7LA=wf~yjOHVZ74DJn#Lsqf`teQbx&Qolazd%Bl8 zK&3;eh%yA(8b$vA5sDJQx~H@@D+Mg1D<->!W3UuNs#Td@K_|olhhw^jU5H<@fMpCH z8J*v=MCw2ximI%HN3qqIKT)8uxegg*Vh9CvpHmB1Z?4$cepBYJR(zg3_P;~PBleD$ z^uSZu;p#RT{i?@9=`R(FEzy!T(`}L^+NfCLP$2_PN^4V3ff(TAfCEGCuJ-^&~vGWgO?#0QMF~MSGWd-C$_b# zg5QySWo6~##MfoqQ00O;snPh7iZ`+x zu@3F0$7Ll{#N>^>#AiVFi?jJh6Kz7Cpy?h!Psgu&Pl)tWD=>_uD=y&)1}e69-B;cH z0CpH@T<>i0_#;8SrQ8qOKQ+i0l7|?|+Sv7pMrJ@B;jWLWF4&!2s z7h|fbu81cX_{g!rrc)d26V*V|66Jw1UMKo?`uUJ$3F+oiv36aIfUS;RtL+bw z$XKYT#CGgt2YPLOnEfd~rjfChD9iBW$J)?6)i%vu!$50Kr?K+n^{CD4AEpeudx~`V zr&@j~E7vBY;}b54gfD0J4#v?)4$L|r+bgkTM?4zhj~Eikjs$j1 zpR^6JT|^6RrFG$>(~!$K1Y-=6m42AQedSz#YAl;FKrXC$b3p zb(CoNeS`5Yhuxb+8nA0mprZeYD~V ze}473vW}sB*s*vOjInho)ohD-UfU&ANFO8}NFM15{>Oc@{fJKv2d^p_<|0EADNSsBs~AFyz2%H+=hIlY{{T{(?!y>F zA1niXQF|6Gc#L-GeEQ)=AJNW5kwuaWMY%@3uFVXA7&0edvjLkK8A(E{MYnhJ4BB!6(X!WBGA2AX{G?bYn zStLYEF45V3)`YIFu2A8>r_bCLSKBdqd6lUf9SJfJoP1=M(2seqty94CD!d zoi#81rT+kA9;o^`_VYuS^2|+Y_;|U7GKBL*lE+OfcJ9!>3W#`$hy!wN9wNRy zc>&7=uFQ$q!815kEvUmYhS5+x!a5V#0YX6dk2;SsMUfaQkV$3{v0(oI;aN5rh;X_j zh3W%slz3)fvTq=q$979IQmttj{xFB1+J2HnG=fiJNF_y)U7(dwk&$P1jnZ_ASfd<- zvq z&B!fOfgdZRGzC_T1uox763(k)XGzjg9FnTa7Ep{9HAeU_U7zH1WN_)&hVnkOk07Y% z%E*KiB~c`ku-HA1z$qt9*vGP}%I-SpQ8Fkj+nzeq>dj`&nInd^dayj!EK4hNf*2~o zvPkkgkL|@2X(O`)NW*p=l5I}wDhChVH&lMzRkn_$y9QM~x|R+L0vVruh>U$V7=kJA zg5QmHE5+|uettBHDo*XXO20nRqSNuZE|$Ir)0Ac7wQd1!+awO@6!v6^?0ZmnLn^`? zO)!o&X<8L3%zi7}A1(VAL6^L87Y1F1Bd8-}gVoDu5acNB3HVmdlv0R*8Y z*m`U0n88h288VNKXkeG}E{W&rw(EfP-pW^w^@9YWU}t#al)(&4$yoc5kXLtMcf|LDLiDf^@Q(=-x<$iR>&d8vE@5Sy`2tdq|Ockw-hC6DP2G zERq1M>cv_toZJt&VuWNJh?Yu5#f+m!QB9#O)4P5git5=$n9FHmJy%}lMMhR{M#1c* z{{Xnl3!5)T)m}Tu?q2@@w5yb(l;u^Z2p$n+Ms0H}2NJOXs*ymB`6^WVO!0mwnO;|k zdjc^%+OI&-`K5546V{c1V8+<>TUZ@5_g(s4|NgIu1rD>|&EGWm4jUN+gOVXdo zdg9EB#CbF2nn1Q)!^^apkU&~E`-tUu!pIg$5dmN(kRvlh9FD9)Z1Ihpi(%D6I>cRN zc?6Oma~{+$WiQ`)k(EbcI_+IY=v-;Zl%Wk)x^>(_!>Ji=$|*+H<42;uP?3#)^mT_C+U(LqzzB$A_MT+0#M^zTR_vSo* zIX&tqV`*C*c1fv6dD2#eo;f2tzt8&j$n%+5b2$lW%W_-tWZpAcyme!L%zFt1T1yO7 zYSD-Mb?Z>86m?^-62=grQ5{;7IX6})<6y9nyY+8uu<~7ssYUES8g+~k2X!ZC6XnT} zFm~Tj@?aTDs9!tm-FKtC>?)Gl_?2OG`(Ahn5;9WFd%IlrU6rE>lW%<|F3 z?G@=R#mgl1H-W%rUbanqCj`V*HWDh(JqkOC7ryBK0IFV3D~yj3_Qm%Z_j!uLU86@I zl;ggna;`m1YDHEiSz8;J;FhRIb^z%V5UcTQXL@lIS5*;LhlbK+B#=2JoJOzNwp*&~ zc4FOFFH!=ZJN_k@kXX0v-R;;C%c#m|g#eY(jc5Q0g2i;-J)JIqA&x)r_X;_&=P^Fi zxX+~RylD23ETnH4?T$#}(<!o@^&onc z>Yq0CJ1ChhYs+&Srp0uYI`%mRM$4~zIf4vjfKF`1s zd6fSE5?C--j+s}d~ESU_G>nxEX;=)H0ke+EW7{W{pajwgg zBub`Ig)#6yo8xnN66Nu5oJ=^fm@?;v^y7`K)q<}c^uvl<##)3;j=EyW*oH|c zT!u(sWwlnz*Nf7dOCrYD)a zzX|1`upQb9nDM&ZNt!>ZQjmh!SLtY~5muLOgy}pxF}p;i%8uQb4YLN<`c&3~FJPbj z(?|3+?R8O<5Kw~KRM-c~kBnknsp?5yij3dIOK(97D5|5YnD#WQETE>BPqq1}{{UgO zfDIJe7TM3gU0XsKy8=1|x~hD2AER85H`t!7wIq#=9=69g#=6ap&30mK^JD_ID|3Y)v6ZVj-tVB=+KsVTm2T z9w&aW!jXq!@~~f=(mNSJ26$b;A(x{O)UpxLSOKSQx+>lnbopzkCAyHnmw$18>TNY% zY(TAU>q~;6YYlCCw;GRqdNe!008WS?N`eJr3Q)jPw!n@sa9rLK8qTb>{~Tj_|r)d zO8FgoPdLV_d!l~p7F3bL^M1HQXpLoa^4POTl0AbG;EC|P0cKxz2H1c^ z>`Z830Ep3KMF{=>(I%pV%m`K}Ris<&vy*nD##fQpJ=h`62{Pq^`R%gP?l(3`w#5 z)<#4!Mx9%$2AjbLR)@nciDkG2b3W3x<`v|^XR4`IO z>JMKludUcAWD;cvV4$)rQ*FAHAbDj&<4PDWf<9liD-5Fc2PBruXNnOd?Qtc-Mb{{TI(?7h5suY6Ib zyonp@F4I|gJ-EA!w)mOY>S|PaFWH=gsRX(#v102WyOc&!E;Bm}NUM4@U6|upKTh(N zu~`0Bi^p-5$V|@;bBRUAIds%uTGnK(6`nWFGaPpvESK-gS!~$IdXa&ni=z$8GGX#_ zy-_S>&as%<87XnG$sNtCR_NZwT;pAA(XyfIy}F!7DW1gRvMz|i|UFBSZAC??SJU$Ya9RAD4Dq=FT zW18_foW*R0M#TAxf0>!h1CX&+{WzsH6B&(RQ6a5~s$rH}NlTSk@neP@)5VpXa^yN> zhB|{a$=Xo@a*x|8GCk3akvn?V;r%ZkBZbc8W#;j4=HbJSlMf1cGDkl%?&Wb`2q7p* zNc2bP7vwzzAai0zQ{{RGP2+#~eMy{YDuwn^042x1@ zAh{GyuEc-cQjEvc0PQ45va@$qE4K`~JsYUcxR_qIPJ-Z-aMvqWDAAu!wvq|#t*mkU#%g7@TL=)#q`Po;sv$C#+ z#U`~<(b$TkpcO;6xAHpjyY(lpKFL>#qSedF?^K|MNUB0@*8(sMLgPUk%?xpY{{V0A zC3g3TND9v@xKZ+Zb|Wq&$TKkP?)IgFw#p4kQba?r1Z&y0Kq5WqOE4d=w+B}Qr?|2W z$_t*w5nr<^hY1R^fD06KJ`ecSPOOu%EJ2DE3`_SwKo28!Z3cJt0g_X)?#bJ#N=Vo~ z+!->CD1p>^#~HaqjWX+F{{T`*>k=g`w~hY*eCHz0q?tx5*!HjbZSD9vx94xlIeAvv zPkNlW6a|=9FL&9N6mcU(V0&!hIiT+ZrZq-b=aI(cggRZ=zUy)sELY+2kFzhd{yRq;wiz*f)NJ;xZH zO3wo~v^63iHzy)K%D&lg6FPL%5jVvQS6F4~ExfwMtQJ**O1AAv;FJJ_R;vgr(724w zgH5#|nYWM6`ZgYSS>=TP0H&mGCRpRCNJAz(c_EFLwjeBm*v3gEmY)xwn~8D9BkjtW zMp*kQbqN<7slCaFy{*+XXgR+#^#hmFd3k;#(z+PxG-fq1{5J>bpB%XaqJ!jV!m)9< zD{?Cz=EVgSmR5)I9xQ%EQft+rwO@?0AjX*GF}c2_7vAiuQflbgi+ zG)m0z%xt4ZzS@GOMo!EmW<+QCpdnT%1hA|vblTwFxw3dveBxM^GQnipOexFx4 zGRZH!kV#A1OxZ0YqhFBfYzXUQB`qbRb;nox{7XsJqFV-zSYj^BYhHHrJP zgmJ=I7pM`oeTL*f4$?a-)*{?h{o+gQ{{Y);msU~>69X13SxYk`J9jPSF}6qd0xIo^ zEJ~WJIy6xhRXtRK0R%6$G*pwL@+uxcBv3jYy+HcC)jy{<-JWLkyX)!R4-bl+fn1*? z^;gntEGZJh8Z6Sscbt3i`>{BhPSBP~)UW>H6;}}cpE+yv)`@#DlAC-M~x{)F@D}0pUgH;_Bh5# z4K*4>BT+jy>CfajAhN+YN4IOtm{ioGMool%W#e1*Mk&tcTaVcv@i0mH~C!q*KEc*#3ox2 zWW7-2>1ypLElKUzRK?fFwQCjYtx4iq8Pb9Z7&<&zv)Lb!`kGN)|@s$$F`KCimVbO zk2jXg4SidvXH{t?TN8Ue09dq3EP+(U$ua@C8b(+kw>S(Gy0=~a*ZpwyGt%xQ#W7r3 zUK@7>9(yCn?_%;;dpSIe*YeWgaG4rc;+~7sw^U)cjz1|%oO8FdZAi}0%VOL~ll(~z zTsXwIQ-hv4A%Almr3uDE+_G`DBBY5C?e^jl>UL}ClE!5*au~-F(ED46MT^!_2V$>i zwY%QE250`wzR@gEj(k7eEJEdnNa2e!>5nnSQCPyOO(eJDj_Ry{ZK8<9)r+DTcNt?G zL-tSU9%nFc{9o=*(rdDyd0=e5O5YutXksybM5|i%JlG**mNjV1QWy6`fv6r%OacHttY-RC}2eBeG8SYcH z9P-Cx8rC6>cvm&%x%=y$&2nrlYVuj+IO!R2oP#kv1f^o-V>4wr6-cr8T2`g0kEu3R zo5GYP$wT>TEU;Itca`Du{;Pr+C&-Qn1fI~G89ifP)WjJv%Nx|{<8oyp+>Cj4OLsmF z7DpL~$g+$W5&lLyEq zc-;!OT}^)tii_JLqo?_F8M_}0R59~E(y#768SYGdKNjJMx9;P!+;1k*Mx{^q>r~Cj zc0${eNYDrW0NeP0!?Y{L`3?R#3>NXclk-e*C*x23>PiAxkPyOIA;5*LF5yTHqf$Oc zP2EAXJYVj!)qXu+@hI~w)fi)As?|M6&F()j0ulj27)T(<7C6!5keF3a%Oa1aBm7NF zd;LEn3nO$&Rqd;cdNCw7cOYscs$IQM`bHUp4n#$XMk&hGkLM&M3yN1tx?8Uvs_t*> zAJwYtdZ7>904WAxzSszMIx02 zl}qscBH+on@#PPPv?4K7ib}H1O6ab(_&#uRPOQWOEHedI z*Rqr(ubl!5fT~misy=Kq6u83SGM4iL+&~P%BDbBKqT!()=v)IjA6+LtJM7c zEM24hIQc`9d(-~_QaF^7720C*Fwar|S^AKZW&LKr)V{ z%d3`G3*7tye0>Ytwncmi$mrLa9}ZAXRNL9fl)d2@_+qC7F~lK)`yS$9;(Xm*?NqoJH+N46+Cpl42s6p^w}mb&7iwq*N-c z)ty7D!pO;@N-=y4k|U3q#bln?%5ldzRj)|Qgr>yoy?an^UQz!5>W&zb%f{qmjdgN= zFPeZf%3&;VBN)4qShZdr2IR3d;DsIW(%2zwe9~l6#Mc59=tSMRH~CAVM zC(Tw=3aA93L1O8xtU_5>l{#hiy|r0^9Y|dkCREVqH>h5R@=iTw)HWcYBz0vG$u(S_ zHq~EtL?sqEV!QbAIVn0!Ad*22y~zlLBmx1k=r2Cb{zN$JfA<>{{kZKW96nB8^Smeo zaN;1nC}sC1v8e(8Aef1S=%~o^GGN3DmlS?AF%2DcW7*v!BCg>ky>0zF4<|pru31M( zI?E^*JvO~@#xb9}s1q10$dNr$T!M!0BF3aYSkQp10CFP;&F9Onkjx`;>fpI9ptLSJ zJ-3h)1gwkUomewUblYZKh3dq9(RAZozAe(({{W}oskd-7a}_yP6kMH_suzl7xc>mF z9CI}aN%J>l$mG2=hl#Z~<(IUkK1^;jQCL`^duX)fs$ARcx7B_Zkh@PY#=4jTw3evk zah7507>ZkH7CeWz<~J`GArc85J=c<0Wl1H<$MsGGrPSte`<~=y7|FJ^_au8`?o+L; zZX{9M$@I>AVop3T>@CQQaYXVKHkvziAU78daSkOwH(ON z*{JUogby6yWs9t2mx@CJowMxwk_kii4(b%NSIMI2A}V^0tgJWw`k|NP3WrsGpa%*7 z>PKhL8j|ZQWTM~cV#T|P!kDr6ckcKQ8C@ChDojy~ydo8FswH&UFV$Wo*m$VoV0#AE zj?^-etUpV?XKoClTSc524(&z%aB|$7V*fDYd9YG+r$H_n-ZAoQWQ)kH< z_WLLufFSIs0YC+nKmdRX9WPba(KnCD{{VX}B6&TA%P1OTf8=+y9f*`{`;Vjwu{%=y z8*62ST^)QEz193ajk+5RMWB-Is*fppeA!5PA<>B=Lu2H1)adqN09|xK2pc~yE(ef9 zeQgXr>!@Z(n3AR4lmYP`8-6=9pmg~T#1>)?at37&{Jf|E2>B92CWAJ|RwRLS z7DLwy9NUgC9|3gCNIjK_Ugf;)x)NKWFeO+yAUQoo;W>{_ z?(zI~LoE&48U8bgFj?+`i5_&^8T@l4CnOj4t^&WmC5NJw}(GA zIia>d6c$?<7(cAOf*~q_^n5gmrNwqr2%#ZFEDjfW^rM z7AGTqC6m6wkgD6*RvI36zl-_k!~*PCI37vMD3(@#lARFk*Q>-pVtdB!qx3dcuVrnL z2ybM-7OVxP7=(vJsfNYE@b<7K*$*U38!NN&Kt><-EwsL%=l38V4- zFg=G*SPg!@DnE$GkI<2_2DGcM^sEUDvPZ>sd=Bf|YWn)qbFb;iP{_M&_|PN3Zzo4g z3o`3kB(P8ru-Cie;QZP7KP~FK`1R&3t%^ua)(ueYi~j)A@%wrfro^$81Ola41x*#| z{d%{MK-%{p9We*8kUo)S{{Y?ucJTXQ`W@H*0FH|S2<#7#3j?ACwz*$#VlvIQ?hnCK zDF;dc5h|%h8yaE``XB!Q0wn$>K0#k{J*i=#v*4YT@&5qObs@L1cjU~Eu??+enel(4 z60NnT#axm20)-KCI;+7E>gtKhS5}+x)YEtP``Oz7vp`J0s`m>ch3c#hv_Fs=Q{@OB z9XDb8*nob6c*2%pG-ZRbfIZN_Hjj_-sXH4j{B}T6c66f2uXPD+0;{ln&8qH0qrScm zU=M%@U|B&UM5Qg=ms%edJv0dcM@8`7SF?HWPhGahQVkF-@cTUcL%_QV7|D~!ylNRFLokMRlZsp=e-{zPe&iv`gq zQg$GgLP2)O*_8?&iiGrN#A+3kk0+~tpf;+fufyQPcIw0w>s^L`0Z39*ZJ3^`@+v!Z z1a?25LlSm=he5I7kxtk!Wb(`ye7iG^ADJuMuH5{8Wyk}2kX;n~Yh}o)+JLuOu%w6} zQg}Nogmr%D0sjD1*y@2A^fYH}rrwueZHo{AUyx!LFgxwp_rCqSF)Zg}2gdvnwbqLe zRYzXi9f;nKl5|4o7SZ}A8fXP$)UZbKfBXcH0MYH)v`Hn8mGiBfk6eu~AUcFi?0YCIHheH0NgC~?CQhN$<3HsLdlnr71z^DZ*P#sBJs*7s>6ir|nE}-qQGRWz zX#8KrCyjZ04!3XH#n*!4s;$xq=Jo#oSMIY|I1`df4{baEbXB?*C0sBYUG-)s$YMYz zr_sb#2m+OD0{;N-sQCQ1ph15pWTSX}ldwA#sn`DJWCBrsK(TF^V*dchA(XQPCrC=3 zhuUIQRALGWyC-!q1JJ+A^xb-}Kf#YtrEL?{OrP`m43^^fLG!xXTKLnllr}w!^hkv! z?IP>V^@2X?Uq7GCZ^_!=u?^sWzZ770$+N8j7yN;~I~r2Jjgzt$>vmRBJ1e= z*_J5Afg3+QjKNAM>J)-^8-Soh2;_oVuY*mh$5*P|>qhsdR(lPR2JX@Vpho`y@m~d= z9r|$AU_oMZI`jm#mCCNzBQ%VvPKJRb6@JBu3RTsLkb?{8>=x`8fE*QsGb?_z{8#3q z+xFNh2|dMT)i>-0glnP+ldARw6vja6BVMkog?a+fqV-iD2>zGpDylBf5JJ3ZqI9ns z_6zbX1C)KTr~xBQmMD9HK_t8Kesq_iu&>|AdIQl5+q-2OK-E&Qw(U~uW{=y`_XEqg z<}W!yhbOUmmO6PV{$<>KNOBWJMrlMdPX!Y-U&^sjL9&TrY*qgN zqW)(K4F0Tr$oj)ak-Se3*6%I~hy(MO~>;@%XEbjJl0fr_(iR`zS2dbTwg>l@`ksoXCNy z+4o|Jl4L=mVM}njh?L5vVq;H}!ZY+^%H-hjBkfD1FQ~nknC8U2-0QUhr61*6~r=FdEMNHNQI}aQ6j=j4U@wt3&AJ21q$0!xBnRyu~N1CZt zrCu~Mck!0iwb(Hi8m&3QPWNhGr7TK}&Oi3y{WhcR`JaCraw`FnKqK_Km(Cs@rAI_E z`<-PH!z2K|`J!DPHVhYu$UCF`1f4E&z8>-{-R^z`kQ?yL6M_J>X_8#2qKz8Y#BY=IP@Z5A(a2}6w zY?d@ASh7EZf#h{%1tgJVTiLA5;UhVURS($8?v9G20zSOYaX+=6v3^#SWc084iSSH5 zLVD1=75UE`yToOZ)Ya^nWw)BnWblQONgLe}%U0UcoXCu1l_P29>L1dh*A7cc)>F}c zyx&dv<{|7yQ6}Pi&g{^^N8DOj6LM@mJ1p#R^sPaY{8%%BUdJI`2aw5GEa+nXA^Mzf zFpeC$uKxgTJibgk`%kz0$1ir%{YE$XZ&38S{*&~XWM_|)gDiG3&yF!QU8;F7;e;yV zWMN7wI(>J|y;Af`kF+vk{VCztrDaEgS@Ae5TaB26WE^e_AcN&8=n{5gqQO9Kq|1MI ze0vUFzAG8S=p=+DUNQJ206o@%SQ~I5HV-5TK z=Yw-A7;FU@FJ$cH{WaqJ(*stUdv>hb$nq(;o^mMRtm3>qq{__oWp}7dGRHZIEZ<-H zq-2?z|-REUZR=dS<-t2u6NQ2C=$svX)wAK>(%exXZT@bmDtA$;K?H^@6<2^>d`A|!n zu?sMgO4cYtW`$D%7jW`Q4idl2dohat02>JMks*>qk|DvrO@8fu>JDBEH!k#3h*FXp zW=x!!E+d5FxfrTbqXt3FM+p{F9`MT1PaV2gxN%l5UX83vi>YEw5oZ45{`zkE1L_@~ z6#kX^Z|b!?ehZF%S0nU`lu_k8V&$xsE-5ll*Rxb|J9zulGM}A}xmzua$6vQ4HOVa) zvDfKYw2oh@X66$m&&eVZgeMZ?jz4jfV`MT!lPKMbLVY7I!?frYThy*uZT|o(A(6cmb0wt`NGjTn%b6vK9p-uR7UFQq&nzZs zoPe;PN0lB%;pRBoN7`$`JvCFQ(GTM)Uf)+NJc?LzJ&VyhF^vufYuLS&9I^F!>!zS&6$mu&P%C_76upY(<}h@)ze zWv$(>khbp(aytJ2Yj>7-;6zxMrFe=F<$-BjEPus)R`es9+LqQo)$dOEEm+`gn4eF5 zcl2(~O2U$oY;g>~BjY)2aS=ryz4@qnI+ciM4$7ELTg1IW&0pjE0=F`uJ_@Z%dAm@Y zEEelfm7X~5Pd+aFxvnkYMba0kk+TabxJOdHRLR6)82#AJ7W+NR+{Qx4GRIRwLNRHR z-Mz^n%7o;{6yCrSIwYamD;95&7hfhTLz1r-8iN@G{{W7bDB`54 zH1-7X)R@O&-XNqgM=+6EOJ3h?6$)66=Pg(C>df^g&-#JIEWrSQXI|A--CE4jM>Hny z_f@v6WOINQ{0k>jl^LfzmQY552t{mOhx8mg@uG>VC>Na>-8ezy+ZV_@~cwASK`JO zX<8`qFj@SGS)y5vgEr;Yrz%W@n2`0U=byxqnJHL~~Td%fc|Ui>pNjOCMJI zVry7cvgS#p{MjXpyFkVswVG9dlk%X2EYmg^T!)G9UKL)c$>un85W@tK329o&$&nIC zBr4A|HgZ*cxY9QZ5sIq9i8kIqsJk{f@-f%HOWkNds;-Fx~vRg zH~N{R&mnPyGfN;A77!v7tb8uw>g&{j>IKhHvJ;8;4U8hIjd&SJECkj`ddv@p^q1AV~4~JX_!nKF1+yms*eJ zt`6m^P+n|JY^zaBlEu~wH|vI3W)YsC@(k|=y9>pD<+N<7v#YgSMqemW*W$-5L~B-3 zRIU|+G)ksae{GD)iP||iRrgu;jp|3NR`NFS7BE)p^}A~oXES_M%vlmmF&o4~6|7V- zim_EgHEf4vWt>ag`l3eK z5rQA8G;4CCHR#IiIX4T$zQWb`ir|-dn$Kocbzrb1V1@cCNX-vWlXf4}Kk0e*Glq6~ z{W;`W7{mr>vNW*yscO!WMg(sJ&{wnW`;sY0+BA|jWsI2wj)2nMS@v)1UNU(hUr+fp zhmI=_(b2}(vf?CV63kMuvtXi!hEjhJv|+!?9BkkY!;SSGE!bvxO(A0O*bRP(dCF4JjkU-JSHOm*MQaOqU+cR0MWBTZJ`e$I{ddpNWp_CAbgcqTi1dB z?0OJ9kOJs7$N+*s059T7`2=rTW-ak7Kp>EIPS5O}f~tFx!b!X7_I|d+*!wXSQsHHZ z;*pU=XSY@)uyNo8P#lA|R{gcC;B8eTN{<_BXb1_kA;2nph6|<(`Yhqp5(a}1lx0ZY zlfYSYrrN*uJRp1lgAFK1Ta8^S7g|xOtG}N}u({anwNe#`Eu}0Mw^6kxsbS|qgA%|K z`ucu0Hl#dT51w1FJ-hsaGlOhgb`@;L1{Q}Ky#?ltT^riE+1nN1=?Lv6K1Bv?vZFN7 zc>4HX1pI+2$~qI|pCe$oP`#CPrW*c@AtDW6Fp|Mn@cR@bbv{Yo6{hZW)S zzm+iZp`Vc#1T!42Ig2c3#rH9BGs!$zKJ0r=KWC&s$fM5Q7b`~xTRmc&sffLnwTP{e z3n$~*yN;_u&5DU51YdF(a&;sfy|-U@61qdS!MHd6Cm#kXHd*$AsXw*YVbm$sk5CWE zROo!4G|j&islyuIemz5w-sIIPNdyEzl*r>TxSQ6N$dBIk=ckRTtpRUgS`=u~HU*iG za%MFOPmmo{uGDoQR5!$sSFeMhOLg*p*Bs*X1+{e#NU_AbN4i`)a)1hi^4{>v!gqceC=W*}oYD zqmhopd+xs3B@h>0%I;l59qoE|RWdi0Rr*Pm*i-ulOSU6=W%J{=ZlgdhzmJ3EKpH6z zaA>NrZvYkFQU->AJ&%AsOitTDhx~L1y`T9OAcPIvzQF2ruyl4jlIjkR#0Cwe`ez;h z{kKAR@?E>oz8@PmewUs`P4+^*N*L<4fq#Qn^G$kKlG*X{B!i+ndC*oP<-O>I(O(P+ zPzS*MCQWFc8__4RU^;-uKx<8)dw>WYK+w=6?32s@C-!?4@=Am8@vt-tXy|;1-%zBp zHp#rF&bu%KFklCt-=6`41OEUW0zN=_Rs=PU8`sC-8u|YKFU{5Y*M@~TNi`v$Hx+&= z=r{P?miaswl4G#PzPjtcW2Ndmj;u*LQRnnYRsR4;K8n1DPT@*v0Y5ZU&~iGLkf|TZ zPf+BZ!Q@ak*tC*>Ndsi<51)u)RBRGE0DO|YOEA-HFjo31?f^gtLP;c+1h2(GZypEy zPRZ->BcM9l{Bq*?)#$6;2z-ZztMljKERzXse0;{JuLT6gtH!?%qZVgBuaPW+uW{$& z(NASSRD!@iZSTtL7hQyBkZ-{NuZ7x==b*~V*F=&${7R5R72je3mS8jq2TDlapVNRk zX}oK|8XkXcrFWuV>DNQ{!%MvlgRpxK1g~9bdp`S;Ng%jJsY8DzzZQJ>{O-IKdIK~< zlHbSeO&gZme;@Db4*U6R0AtY#Ph!jzw}Y>fb|idA(Ay7?0|k#m)SlZQg*ybSe=U** z`~Z6Xy09le5;c(P+GF4aQW%9BPN-9<(vKS_{vfKiL{c=rFgsrddiiaKf>oFhR2K?P z)PE32Z3SRJy*J}@YQG`p@#VMnvu>&{h1yq^-KCF^7thDy_v`Q54eY4>e7t}T_6hPn zU53|VeSh%Ib~<8yJ_&6AKp++y>J&GD)R3oNC2tH4$+|Y^Rh~z^LGMIs-GytU?*Lm9 z*OD5Rd!iGn)5{%!8B&fT3fk;`i`PYVP#;0z z0x^+0k6EgWW7bT@H5C}fKKOO)lIYB^V*40!$Crjv$(J@fm=C;X$u}?;mMa^6+6;} zC3Hi`sy)KnEJs!RV=EALEei3Muzqn;$@C}5X~G}v36vA zzD7A=%5|4PmNe}WK(KsD3}h)Hh4pWzpHAlF;vCKwIxsP(FX_CKmBh>695NqgG1IdS z&OEV5xbnv&6SPsw0pFssIa0bB+McY$ux&Dps_lZI4dfA{AqsxX%8b zBx=h&w{2Qp^!j)3?kUOnry#^}jxmbKX7jo1oh(ip5sV2n+?GoxVk(&WRnd%b`_fr- zjapEnYzxSR9#5x7sQ#OCuSz*)Yl3=*$1_|zmSALBd5%5ED9eq@V`iBno;WR1o=(xU zwPmkiNchN;ML(ADv>c~{@;oOjRG9etBwth!o@A6fv!hFJ69RyntQjWwUCllnr30M#)lSMJky?Bk>(jOM+PvsOBEk+ zpRu|Th2#;@jTUj|Ws~a>`pzs+;_%<1ycte;>Q62|Qv1>C7Wo8YfxyLtBgLCMj# zhB)!!&t6?Dg;U(KwvhQ@q$$01(GM9cy|$Y8{{R4ks1gUXokGt40LXyGM_-Gu_W*vt zlKn@Ly-vq%$fZ|z4coG-FH~Yni4KbO(N`pEU=4r+Hv09@V8)}TV6wS_Py+jb7zkd8O(j(RqqWs}JOBNKsos=ELkUIbEfzo?Q!`cQSXlX^RG z{>cSYD8zyWja)QJ>f}aaeKV@{8elq&Aa-Bl+@S|ar&376DlUkQNh2p@h3oj?bWxMW z{{TfmJ0O#$Vhy5Qv9f9myC;#d>hDp%4FTG`+wMr{77>wtKV@khzo)j4`DyeJi~MSO z5#5ODK+xHBU_k5?05+@gLc>f6EDo~8)--KML2ZJ6Ltr}sy#d=YlkwTt!Im=1w@es* zv~l*>hg*+zLWVmY#E0Atij3;M+{w_qgiE<}0>kw6&t!3Pa4cUJt;cD@kgb`ql$((V zm2b}kl~MidlRj!t;*%|A~?NT_Tcp521X=Q`lFwZSGNTrk#N%o}p7557=2{wyh>}bcf_GfO&+Sswx`A4##_%HHp5PXl&WF&+vh@?0= z(b+mwh6#h@n|d!mXJkBooLFA}MyQ`A4pG7@bR}3Jc>3y49QjY; zL3H{Eb|rL3>=m6zI$i6aR&YZAtfQ*1G9N4Z4Cl-SLnE%pkh3g`I)H?+Rvopaa6*8} z8F~Oq1Rp}hQ~i`a0tEqf-MWynGHigOWlo7uH?jLx2T(nxo85wj==|FuWKrb!Y3O8^ zNcNd2N3E%+sT;3ssFJm|ztyw~bz_jjH->isn=*v%C3Z5kKS*0F5>Xj#M&`7qXBLl~xi1;Qb2}62id4 z96&O=samTW`1d@QmM3$*;1F1ylG{=M`jKGc?KGj*)g%rbVn-<-ox1dl!uB1PvI2p6 zzR{PdkyT2RJRguuuPsWEScn-TQvyjd%1I3rYY%jqLPU9Mj1(hiOMzizy<}M0*Qy7fgezUMtjSO}P%gE<^yb=^c@M z(I1dgs>X^yQmnD|Dy{NhN7kaVfIB=VvLt0>?c~V158s- zRt#}|A4X>`Ac~dAnG?BIl!!3$F^(WRGpwt)lswau2$Yohb@R=JGS~ut&CB_@Q4C%i5?lOx~a_sapXn)0}=k zCpu%t$K*C2`*SF1+xwm`wy*NOs{|E7p9qAkjEM6dtPGy#b08=SCcsraOnN1I2J5Fb zF9Ddz%NkOlk-n=0U4q9f%3@Lic0`UFG6hmx}Uh>oS%G z4Br{SNT|&M%Ph?|9naiFZph5$aI4k89i-aMc)vv{*s7^FrI~A1;_W02bD8A%63CHO zS-r)_VrfwdfkVqQb>c);{wfTSpu*&RX9?TweYwgfpS_Q%BJ|36A_S2Ye79AzUmwwP zy&R*C>Y_qMmI8YtDRzy=amJl|qh6^G3-n`@<)e;Uyn~GKlH?%%^_iy>(gu!T_2Z61 zAax*sP(QmgGBbsggAuWuYtarZh?X|wzOC{sc8e^-je298%~uQuL};?uoSiz72@y$& zrmr+YV!f6`kH6K1#`-zO;E&t8_W8oWb`31H=yTbYWoqhTliPy#WOB?0x|P)$CW+n| zdn-J_#<(1KNyWZ7=zj#JKr5q+wy|l9!bBsJP>z&L!d)7#B(VvaNRqOj#{-|`eNUI2 zl(F*hLMMphj}9ziq3_F;!bPwJ+46mrYdQTiO1fPs? zj7Q_^FSO=D=9APvQn0V=Ui7z# zVj2kNSme#~BwN?TKiUfK>AEu?#6y+dT9%GX{y3*12Au6G(Pfad2>93>srGJ%_H%W89);=zG9}McxNwLpb=CjuYtWRQLuX&%dI3z3j?_Tr`SB=ZSEQi6^(&S8mcv$>G_9J= z9vg&-qIldR$sM>&G3{z07}~SL%;ZPBndFF|;?J9yWBYN3U%YX?_gge~F@$JXMY8ec zVuBds$z|1B<4zzJMnq;uAj(ny0NajFHmzK3eH@jVQ(15A(L}nIaUta?W(8CoAQ9Kc zSCl$Q`0|EW43VRVgtCb~5t^TsOB`$YHt5uaU)lWM?zdxDuBn;`BHV~cE~uoui_#X7 z1~FM?Vky*|v(*VLMQ0twlO_`647Rz2?mfqAh?=<)TZ0e78<<|PJ5_N22PG7$B$0iy zB&{MDYu>6!4Vw`yyhnMcsjtO2M-+mqNh-%yy4t_bZsqSz!mqJaEw3N1Jdjt9+kwGP zY}o#d%A0UWl>@u?r5)F9vxIW?r))+#TbH&^s!!^8Vx;q9?RC`20#(%ao#6<|HgzAl zYL8oJxbSjJc0wh9%9bQdWV6d0a7mlJ6vAmDf|Ll^zIUAUXR~A~k&vPL>e0v{SM}UZH$sOj#d(uH*M+18{dQBuF+Omq?+SOyk{bb9{ zT)5}CA7N&iMt@j&uOG+STa-|-n~m`dw+iEv%lKaRWs(UbGl*gLK#;RJxOdtIsvL&J zamM{6;T0}DibgAVjuAf~zZJ<0-u;)(<1qZUDK(h?01-7}E79A6t!PnPnHfH`u>SxK zb0mGqVxBy4+^3Mm2py=iFWrp#*aIjs@THcilk2=_*$lGDJCA5!gmO&SI*B#^08eh% zmNr>0cc<0ASba7K$~{o@rPilIa)t|<(BwR&g2NnQtvoLqwVbyPSCH6PlC;vqBoJy} z4H8WLtZ|Cf{iV6h^Hye-D)nQb=(nqNDpmH{HI6HJjzxmw_(w?PSxmG3XXE>lO6EZE zMqa}4f3RP?jQlYu{to9>S=wFYmJ@V+@**T=R00Pp;g_D3N06^rCi6OH30rzw_3Vcu?^kb#JrBFnyu ziTo#)c+8XLeLs%_X)meb$&gL4=`J)g-j2OjvF7zzxqhvk-X1^HGCvM}G)R~6 zzKlLloV;pUeNc+NvT`g$VX;1+`lD)X2VTe0d~IQBq0(AvRO>kAI1URQWWDSWZ96;?I~ES7ykgG zv+VwJ08lwhki{e{)$;t$j9_R>EMfuzr7R^Y`(X@BM0pmQT?mzk40Un+7wNbN z&o|Yu<)i*y3>@Y|qPtHH7)nK0GwQb8U!-0~)iYXgzRcg#9J#S(tw(ZrZg`)DG4~bY z$F3RQ^^fjO#D9-x)%kJM1cnOu%uYL(%?P(+yGb0y^0>5cts)?hMxsO=*ePKj)PI+Q z)ecnBzE781o ziu!+r!gO#Ve(gF|$1^urkb<<5wIGs@uM$W!+vDdd!68UhC^?aC!s5FuVlRrTkukA1WH(ahqBupXP`GTo+y zlII)r&ZX&NkjUz<4o0^fzm*a@!saPnone7~1~4G#ON{;`<8XX$S+;QUjC;W5zie097mv0KQEP zNg2uZA)d8rX=X%+QA<5nXxy0~5j<-$Q;+msPHt8%ze}u6Nd3>f9DkscT#V(Dt0$w{ z%x&sG+9Bk9SC5B}IGk)VU|@`-vjG_O?Fg*CWsvGRlKJuf0PBWVnp4T-DM`q3 zvUhiiWEbp51f6<-8U=P58*gmN%;@hSUzGYZZ$CZPnq{8dx%(Fk(#;_yS*0)YDp|Bo z#Gfst2YpnFqw8-dgEg7R-Bw9G`?5NPWI7DQKlr0W4CktnPi;5p&rQ89&Ppbk!PpAG z6&i90J1h>vDuz;1vD)l5fecrp<^4a4#w!Lac*y>qnBxsgvQZEZ(8y_CsZC$3EIiEl zf?2yrl1@z7th?GW>^|rHO5G(JwSGQ^Ogw1CQ2UcA>9oumNjf`ibXG{;OR`mjYqnJ( zKAF6}C0B?J%m8qu3iR?c7Bkf&S4j(_X#;ik(aAqAtF7sW+hvbbI2<|8LivUd)t*g> z#|ymo(oAVw539UJ#C4=MZeuvERK~pXiGr{^S>7jZ^}x2PRkw(W#B&Jhhp8NYEs4ok z$K>&u98O0WB(-uF+@3z&8~FPj<@YLHqjn0`Xv-SJJ-YVdj!;-IQkoxJzCLyw)1C;- z`}pV9cqB?W0FhGZF0WZy_K1u6S|3}{JDq+`<|+8IVOjdeBJB9bh)%A^wa5&4AX zL9&c><8FKcNhEh2kLZF&W$G1KKn$u0Pi5cyj)B_%ps^}P>;*kRLK#Y-Dtv}NC1shS zWf}@JzZN7Os$&I#PQ-X12KXP5UaGC4K8Q>QR*-lbP^v=t0bNRMTd-nOf>`XSAnmjq z&u8(koxhD}E8xAAdj7gYZMgp9>Jh3t$#b|a$blFSGzv8@IyHrpq-Mv;3eRPv7M96K1m z5t2`GgtL2U#DU{L9-)Z@agNZyC^A9Tq zJf!(QaK+P&EQcdGSf*sjgAPbw2$`ji?qmCr^uZXbM5T)nuzaskDjuV&Xl;6r<)&V& z8_O#o-vrp4fxWwRCum2IOA)qT1N|{A@*RL*0e)6+(E!UUg;!AiAt$;W5}}C%?Do?Y zB%dF|p!w^1wo5A?@@B@DmG}


JfLN&V%-vCJ?AULR>>Ln59ZG;V=i~s>4HCeD4#{mPU9JF@F|a`=epIPmjsOhZ zfZn?fi?t`i%NY|Dd@t^=^`D~=1nE*O0 z0s;sihStaNQThb22Vm(=$@zT_c1igE04Lb+x&^;rjSv`Vx1w}<>;bKTC{o0R0KZe? zw~dDGH{-A%f&7SO(*iy~LfI?3y7}={`<_6n@Vn7;y6Hmx_UKa6;PO`5_Xf1cjOIv| zGC%gwoe(SNgCh3*kW?@wRZi1j>6>7%Z6rvs2_r5?S2~c6qpwmo)Dj2;DiSoqY&9T% zt)XQd)sQ&Qn01yogFk(K1nn{=O%t6NEAazwe&rlhUXx$MfVy-M#)EC-DJ20aT}cH;$Oj{5UsNnD180YN>b?%% zH~uzT=(T^fDL_}jU!U6d=l8!wl<0xjI8Zi5f!Fcy7#|%Dn5Yb-s*~iEI~eQaXq}PN zZ^rfDA1YU=Ado?28ZGV>VrDAyx!Z_Xso63j62UavJ3>Gss0;}VHq1i}1Ci4p4SPCs zt>}=%f`?=FPRZY3tgb@r7TBXI{Ovz#1X$ZDEb!^@dV(WWE$MtzzIAV(AF)7J&LE7I zj13lJrt`8#eTEF7+sGRobbnxI=(2=4 zBJ6yDUY#WB8>mr(9>mA(%?SiAR6idI8@FABSvryr%!8&>(vhYdvH)zNeB4&?A?=U$3zfV1i$bQ#z5f8E zkLqf|?Ci-OpGRtsj)*M%^a%r7*JI#meqJ=XB26hJoUwNuP^CYa*(_rW015(zWG}fR zZLus>Q{u`AayG6;y*O2aF)mNV!bllhFlA!007wIDtJuaA^*}#eTomfWsn}QT<$B1o z5&;UNl0CNxwQ!7o#6sxA$XMxlWZK!b+Y3LndbIdyvrdA?(Fis9*pE`IeC{Hp+>O8Y z^%(ks$hR@9yYo(EI(7w!vEYDwvon0VC<;g=OKAtwLN)?a1gQZLwonE6>w8i9Ux#8@ z*+GmAl03crOkZy$h(tpGH0L9<<;dNk@(z1Mo=^=&REE$R5yruSvJo&+$l+2n0YUTb zMHBTJ8VrSo*Sn2u_H_&0tYYJj@6>#G`6;P4T0ks3E9$g}JxihXl$}oow{+dojfI|` zn3gTC3#iGIcJtVkZww0--h&cG{{WX`uuoZQ4?UP-5eCq9_X_wWoCtvU_zKLikCxR= zgLPk~Kc{$u$g`NNNuDSk?U-N^*mA31-6k<3lA*n{&}kk*RTMdKpnH11^rQa(vCPSO zr|HKY<=i*!tJ2JdS2Km9ke3w|OZf`aC%Hu?H0@+Cvs#zjiKQLf(LLP*fWl4vFDT{g znEv#q`la^q&S(g4?Uap&P4+D#we(DEC2^dw#2xpM9S_1(V|AhGKR0i$HWck#MI9!1 z*cV+RJY7fZZTx>A!Zq>&_RtPOlK97S9z~9tIca9HHRi6)Vs*b_H;sZ7(z37xN5nZB zC$e?gl|NnD=imK~U*5+PS?1!GJvsFP2vSKAupE^!@=O(3<49`qI=E{x_I3)LwWelPa{>ZTg1mYFHk=RBDytfm;M%l`msxg@OY)!`AeQpUsE3X&ZLQD=C+ z^^yDgJEh`X`-c^Y+A}Hx2635TD#3~si?4VJMB@l`*T{yBx75?w(&?TWEA3F=bOBch4 zgL@ddkj2=?;QWZiKEMo3f>6@Tl2_WjQ*SjYO&_6_MbBo~rYpCy8!#_<_*W_Xp%-=AlR zWp8zKSYa;}`j$&U?;8s05P8CUZRq>z6=>a+mr*cMzy?B!KxJS|g!by7GM8XkK@7n% zFG9UZ0lku)nacHWL1o((8dA(aZ{|BL_et>ZPNOnXk7iXYv!7O0vtyc5g7%b(M2M_u z1JL7fQWKOHueKx$0zG0zP}D#Uu^}3?zYnLLDfgNE7&+Yxem|RiyZVRe&Fw=Sl*4jv zOM4pxZz3BatWE#KFD+)Yu*Duz z3(Ru3++>yDm7V;sP#Y@^6C^`@xCV+(Y;_2_dq{W3il=9cU) z+rQrj+s{6dS~hJyE0c1X+&eb2#wp5`=vI?AmG>kNPY4F&F#iCaX{yg%S|Cjy^=s`L z)*nE5Rx^$A3=RZkax*}<9M%hx@%zwc13Xa0Zxv?{@y#H0dUN%aY2HI>2a+;bLFMe1 zGBH1Nu`O~`FnHKTKu0aM>)*0~iWzoD1a|!r0*jS$Y7HHlxr~HULL)?Wy<|LT6mCJcPy!hGq53*Dt(oDabP17JB?I)Erg<^?R`MYP>5s!)D1@%TS?rAy#Rc zZ%sKAvf-{xE;ikqi;REfK{Z@WytXO`FWcg`pug0!?@R5*l`KD{zPfV^CmyFdOCKGv zdMwu*g+DE)u#14rM}HEc(|1{jsI4$|NnSv7-4Wuy{gBt*l^`JHU;1^;X-fct+&PX5 z#UmD3mL&Iy!{D*OjEG(-kd_S6Xet#5sd6|RrhT!Q8ld}8hGGQ~k`w0eSF|L;S8{}9 z(lTRx?;Q9D$e#uoSu$2%YpkkqlyXgY+2&3xY^lZ_kYh0_+ zUsC00R##a#XRo>JE*&P1t!rM@ZcWDhTF2Pmw+vR+t(1gI0z(@{%M(X2VSfC*4oqSG z@l);-7nN}%WPc;kFSq{yRA|QHSq+63G91^^T(y*4qzz(Re6q5%GMM{Bk|P6xe_t<4 zug45Nt^JXGyXXD1MYi~k8;zl6%d`8E$g<>d+>RLC%z{?yL#dsml&JX=J6Hax-_lFf zMF)^BDU*Zs!{HA9sc=ad{%Id18z+Gi_NWRXUDUl%eet-6|S- zVE*R*)e?j`ntyYgXA#S+#?fQ2yvyy6)Q&keD#WWC&wnY9;kd6EUVY4RxoG2c{5G)$9mtA4sKpiID)#d~YgyzMeMIFLPB6Dot9SJug5UJo)!I-v zfn$7^HR4=#W)KJf14${f`o{ z_Th;28E(k-ahN5+UjE%SdydoNCyq~GnO7eze2yy`w`!$`<9DxK4nG9VV;OEqW`)~W2f$uM{*ozqx|R7 zTqHJ2mYAiS4nn&|r{AL|yR{@RW6Oe5#fPuEw4;JmWU^v6MGL)&BtL&sUQ1q{<7JoQ5tMsb3*$ z@UV4YG1zjVNh3@pi&-fQk}Pj#^;*c0O47{zS7(i1aQ^_)SJDg-hBJwznMRMl<-la3 z(#ID603fAoT2#igkNHugFp5nfV-R_mbcR})#ec51+-DEL96fuy#*HZAx9``@a-JQ^ za7%J^jtD;CPoakAGl5)k=hRsieVofiyZOfEV9*aZ6NxX@u!43;^bmwB!uy@ks6P0 zbH|L~)=fwHoh!A;rCJ<`m5(8g5RR%}Xpg#J+YFOQF$u^b-r`HKxl_}>>6!NB%HzhS zTaae)?PYCL%13tqqd;808Ot%!VQsWz0xm^YD~`7mGAXe&+3ZGB8u8qR7h)JLM$q5f zpY(^j!D?B_@QjXEGmecVY<5Qt#rduLc1pB#<1KD{rc)b)#z#N8z*>%@OBZoGa2U}e zGIaj{&>!m8_ML*_m7vJ;>^C0DMJjuBE>`sqg1lN*F(nu=9+CaUV{1TCS!92Im`x3c zZ8}-AJaS6kPfVBfE&FoyB$;kcZ!H}uS{iu@UvWQcxR!7v{C2ljjCzUcm!v$qAnOEB z%z_>jEw!^8VhXUv#wiIb-&Es2cNTfAKp~!UgnP1xo+TN{kadirl2nUygL3htG2}(Z zirZ(07|5>i`%sKwmV#i&Bt1yIr5Q`tk3MhcFEryeau8apaz(}w`HpedRUi%RtZ!mP zip&+#T{5G~U`HaU2*qMO;hA`TWnG819IR^0fW|hUbtkN*FiUm-6buY+;k^BN$oq`@ zru#3;ak;N@ZYApFem^!tA#%QE?+(h(#tugFE8DeKIYz%K;<;OsG)r9NDQ2=a?^hK2 znZN}(5NUmydXJXLEMBouPB9SW%0kjO@X-`8?1{{T*W2O`JN&T!ATKTU08Cs>xOKlSGXx0Yz- zh|AV|67rfksHI+}Ng}h0TQI^c1PwF-7hz_+5Bl!qaW#J*!4 zc8v(r^BSD>B9-0XGCVRQs~l0-MS*QR^92n<>bOZidhp0aB^mfql!=mC{Lo+STU?w{ zhBf zAh!Fk>J|S0iS8xlj2$KQ#elcR;Gkgmcj9+P{QBVr3Ln1hB-1OxK= z+vDWNo+Pm3g!B(rwI18^v*7SQv!~W}XwMX@BzkMW#UzAEg!LImWo#~+PYoFuDFK7{ zQal2ol{R{V)a(8uO2bSSL$1n|X(Za7q?I7(fC{MSTm6E6(G09f+1Nc)v&IPVkVff$ z5s|pEpfJe<;+&C2Iv=0-W{N>8mtthB4ws^hF#2vwR5MBZ>t0hpaDF)A5~qR2to zmIKJ@6%?`T{yse9(-{%JKH7XVbyTYGf)v-AM=n?Z#zpoA*hSrWvR?!HyVr$DcPC>* zTP(w5j>pLI;4fd0QKPaP^#?~lvuzj3=mlZFijWlS2JF8r9Tp$3BpV?~WjQI$AAl4N z->!=OH?5wf^gslvGJp$tVi$ivJxd)y2w(Kdz(xpCM^U9aZ5AYtZGb!5GHshf7ambI zNMDV9W4$9me;?+7eIYEJmAIZu*X-K-ekgqWYtn1T2_%-%pO4J`)xj&_imMho@=k*< zQZ_>uBrcp0-HMO~z#qL3QHcXzuryeLbm|*s+BXb;*$PXY5)Xh`x~Nw8pU@|I*w_0d znM#mZ7!pZ6+^_AJsL@W1vIy!==;#i?zK&v>`2j;srN{Aanx?n$uRtWqj^ii&D0zNL zw?bLt^LqmNK7)-(Bf~eHfCl%bQL=peLmsD0 zM)lOI06vze)-L5r1|JYmA=v2c@jL7Z9UI3|+aBJ518zoN_(RmUlma-WxS9f}IhQ($%RvMJe8r8d#sT`5ZE6A$@S|wIS z{s*OgzTrJjxFwINKggVDx%ofJ#};VJF(zD?r5-%Y(qb60zRZ%x*ZQ$HjFdZmsQNcF zhYRW0zN0>07FhEC05jVLJn)w})XE)|tulk^NnNreCF> zX8wr%s(O>ab6HE)y=(N&hau!N@+JtP$8r_I@$9Zfo-rX&BT|MQK~@;O`!m>(f(egt zES_*IDMl@`N#WEtjUJ=E=y@>!y~Ycl_aMK9e>9Q+`DH0Z9WfxD#Da9C)Br&sD|pe~h$V>!OvP8K zsRQ-}MGdcsZ7A3b<$Di1*&r|@^jI#w3P3%S=D?@-`3-K(eDD3dsdwvALhr4As_K15#*`X_TD$-5<%+SlEC!@ zogL_PAQoc5K9Zpt(NZ>7qY|Bf@S$|&PWq_;_5q7&fefQ-5CY7B!EZX(P~KOvf(ZEh zM$2{!*+Cof#Fjn{qvy}~Q7L!w)BZK8N~`q2b?(t^4~YEIT$A&*{Tz+tZ4&R?KFfZH zJy}bS@)Ai3LZdN1vDoWDLI@p*?#27D>RDuPQ(*N1Fjq`A7qb!+^-vXkzo4r{BM>#U zRd9TkJ`}f>@Dyp6$tBgwzhkv_UaFx&g^4?jvopr8v9xe|Fm>9MP3y=}AO@>%f~X#)Wlt5O;B*9|e+2(j((-dIl&$vm*rn^(s_sviou}x(4sEI`{5S zot0JxyRxiBU&{9CS|(6lG4gg0qWpCIi4IDVM{nPL#CCt6f=2D`Du7?J?Nk83GW-hk zAz3;gDr72wv;?E8I3cd(-9$vH{?AavqcJK^`3kU7(gln&Y@cifLS$xR4;@0pvRZY2 zG&(naA3hIM?pEw+ZkJ$Pgm>jz4U6%&9SCmT$7Atk;6O0t}LsxNbKm#@Z6(ef4Pbinq>6+hK553C01hI=>jEh@xNY@A0UMc z+ENb=i6XsGtZ2m@pz;P_plC`JkGC0-k@}(*Birgun2+V^Th@}6 zbC~;pzsE5t20H?@=I4;|Gmx_RN91E1hV@t~!7CXbDIz?vA}l6VaIez+JA;dtiV(>1 z11?D5oUq~hk>mD+r1CSpqQj2@FKHJldv$kwPu9M*%ldEBczj+b8y_NB%-o4fCRyQx z;fFsL9Jst@7&4jup_t^kF!81KOp(Q&PH2#C$ZXZ5MwAp{6v&`x5T$yl8_*vWZj3fd z@3MSVh|Cq3^;X}8{{UzTvjFUYfBJ!j@s0!^3ug$y=q(@J0}f{Zf1pg*%M`= zuPyw2jD38JNgR;{yM~_F$x=sYU>51ZY{N85G%_<|rmejcDkSm>sR|hM1AW!l7FI?e zkOG3lu>J8u}Fayk0(7<&3gUQ!-)eB3OtR z>7Ix&$=v{DD6o}<$FV3=O(dS*V*2XDn8F^xRi#v9S4M5IUgtqN0G}oUL0mbA>)@m) zD$J!vPbIoJUG`nNuUB;O)P_J;VxuWNLV#6Dx!W^odiQ0Bq-=`Ae-L_!LD)Xp`-(7P zWF|7Fv;MW(MAv3z(-1nTVswP>V`v%n>KY*HZv5Ap(A}qohNV^#*jSCO()8BlPWBcl ze>E3g3Vk=JEIrgLOP#u-op)ts5vX+fR)+xK0vBvf zodSg=jD6%AF^469B~VA@)FZbK6?R1;?d?QS^P=KeL84Z8++=Q#FHg-k z`hIWo6-SKuc3!HcK;8?ik%kIb4Fu3Y$)HG0NLNh2tfvzk$nO5a5CR|M$^c-lf7mUc zd&Fd6v)gJ9Vr8g!oQyz9>~;ev(<6k9z|xiYGctz?2Wecm9bHOoTE7i%5(r9{Z*D@w zs0`(ZeX15^3#n0`NEj7ekr{GF6<6uKh1KakMpkt|J|83J(B;SmnIUqap%o|sGLS27 zg=!}0A_0hxunSfxG{_32g%9%BWFPkG3j9{La1`4Mt4%ho8nK7l58Pf-Vlccc3Y@%SKye_ zBZ=}6tFD>4BN+tR1oVxpD3p7WC{{9pPgGKN+YfIz3x@z4^TWDQpJN9u9TihTt<*3r;=&HlHdrMu|D@-941B z#22E>=I;RUJhrM*<8eAbT!yyToUS(=Kw{}}T(>8Q zx_ee~kk*Cgo%+UIZDVcHo~#fBl3AphgD?eSOAQ)(W19Mp)IOnw4j&Ful@XJl7JNkv zWcwuIjE~)zW0lz3T?fo2wZ9L&&A9)!^VYti;RgMs85XSQ8?){1ZK_-+S;i3&^Z-Nof(np}jE5c^24Em19ak|`q!szRYu ze$J{f@%>x)hFK%qhr%OPy{5{YQpY^gRM1Hk?GiS6(aXa6ByPDJrgl(I3QNVH<1J;s z%ja*q*CnR=d-W!cgq%AvRpoa{>-(0+SWqcm8mq?0L+srI7Wa;j^p1Jl1$@{&tpd$r`Ac}#MO zTz0WDDkKcD*|i)JS~nzRE`i=DAykei?2uSU=*9iKdb5;d=SX!N~f?c+7bGH`{lOue)o5%< zEM}H=zxI}ryXv3;;xXh!oJ7%8*pPQ ztU>_MDBOsufb}UPrLJEP{*K1 zH+595?j56vqXIUORm=1YJl0d^@ji!(;g)>ZIQibhZaw8F`ULDkD@^9$9KTiEg&(7DS%5x~}PbEi5D3AI^wTP^=5=A3)I2h+; zRapyG0w~XIJf7qIdRxYNTm3bCEp%D#@jUJ7?<9iF{!y3YwoHKIy zg3PE?02Rsq0OL*eBftVl$2gA+ifW4(g5E2G@w&EDz>$bg=g$gXV-Q%?U76%T7}xMo z^vC=wgNmib`hP1oWS4nyBNdgi_D)}Zc*|K_dbZi-n3i5@KhFJ3g^@a$v;C5SHCeeF zU%6WXSo(t4?!4DyKF_&7E-PC0Hp$j#Px*HIWwPaj%GGuRTkM$$;8 zQtSc%EC&w$l)S4v_4;}d%w-cxTm0Go0PmQXWa%_ES>&@~d<|f(Y+Mg5kun3(Rz+^i zor&e&)w|L@I3K&7yyWiH1Kc?r)1FzGw#w7$fA5qH~d|X^ue$>dR z;=+m$G^@b{Tn%imBnjZBhyYV3a_8~gDH-- z(yvJ43L6K9<<^+1ps-TJ$+lR4oeKE0TsQha;IV+s$vJ-x#p*i|HGVn6+aVXXW87AB zwR+|NMJh!zMejW+!IO;=zP4B zi~Oh3c*RwmN0lU)4{37aomQ6FuDsQHT3=e=;<6Iv@+52{ERe@>Pj^Eu4099DY)oDI zUmm><)8i%3vR`fEx4!9 zP#JhUC-lekQe3Qf{9K&=?oP!!mgmjna-6O>e+B_swOZ?#$WX+rVVY|_A*U>jVpjL2 z5J5s3zGZVCah#(60C%;Y%2{P*5}B<$iaf8$JGtx;6Iv*z+$Uv7T`=$Z;ggUwM)ig) z%ECh;uT>HfBh#@xS%3r$_&Rk$pp6K93Pea`&$1%D}$!#{ZUcGEp`{?^S;ZsF(hx$dwaknbR6jiO`xYrNE zT#7o&3PKXzGL@?l#{fvxPrIct10QBlrq3w;uADlOI`QroTe^TFY=&j5BW;;e{57l4 zE8%v--e7=eosE5Y8@=lVry@g;u!SE{2blQScK$(tQo;LmC$E6O2Ivb`*Q|@x(ef># zKs&O_Bt$puiGL-fB?uZ)0QXNp(X4+AaOE<29Qh>CbI4mAUs(vqi&1wFlO2QG(wRSq z`Q&=zj~5YXMl87zQBcX2P;B0yy0mQd>6@7U09fvQBTEh+6U8xVTdXf$jPtqd-BbSn z%dXo^ww!{?rVFq&z1D79{Z~D9%o$*dnjB;y+%n?p(8kE2T~sNO3engFwh8LpnSLrZ zNIripda7&^u+M5kBC+WT$orC0wa{L`w^l5yJ4On!uf;X=+q2Iya)t?7%YwuiW^#wA zbxjc~dG9C5e1~KT(d+<5lz)eKSmCZWVWIDia-&{lk(l}Xwc`BNWWK-k2}Ld(yiFC6{2lo=K0W3IQ*zX*9oF?3Lbw`5MQk+UCBvIU=yR8~cE^F0pA_5k_W z?WHZciGP%1(gluu^@$9Cx~ye-E5As`X#_G4Y%2vII~QdPI*`CLt#WQS-{pVq7g=PB zr@3RIx}vEKAp#k?k+()fUaC%{D4~^z;Kc^Lq9Lq#7THAHzf5#dKJbFdh_fwM@6Jkn zzdqrilx`-)8uuq_Vg#bLNLwwO^{&&FD|S{oF{=q#`w}`SbPc7AjEesNB{BPY0Cnn2 z3Cev-wU9}btk_^=4#@25wkpn@;{oM#Pzvl0p<6_fREDDREFACFJaiF)BaxQDYcin< z3~VNpNeF(?sVCb|8J$kl0res0JstH<=cAK)$qxYKOX*tY8;{G+qQp-h6B)Rc5iJPv z5l0m!w-KHg+;~$lhP%5v1Si9TCV4Q&7)oAxtJx)8g8KWV0T_j$q^7}_or8?UU>|A@6|-*ncFt(Owu_xp{InXy*2$RbsBa00n_wx&%0KqeM4ABs+7| zkKkHAox92gijK^>ZJo#%kaS#jAe8fNhDiDYvs$rw@i9cyD;-guusaTf&WRGJM(nOkor?ep zb&*1lB~>awVgjUTxmKQ{tHQcjRH={JM_E*aLL`aU#_)J<;Gt%JmWwXO7tP^u`E%)> z5tNBb?anVu*i?_Z9&A!Fxi8zN73mP;9J#A|mGnTpjL2tBJIqSQjsWj$o{Q|>l1 zN7tS&ThRXiSmqJO53JlT7d!AyQ*KXj5^jCOAWrz37G#Z5PC()a)~6aF$bc$JGLA|bj%h3D*#7`2$}Wy4BUJ=k5|dR!E5mlk zrdZ#Om42w(cImFlnr^HMADLo$w{Tnq3RQvE{8iDk2m#8(I;;8j6;c5Pn*wjr!bml!Rtc87jM$K!}~)y8DeQC`1Gf&cFbm zpZK!{-h0At@SFHb*&L@7%ACg=!ty$kaPDQtIh81BWm01e9F{|jWpY(`J%njqQo>$=9%8M9k!;&$fsu{xDg# zNoFpfZ?ccxf)cD4c5cC_IO7?TiE`>fLY)ZtI>w_e+AY!7SAK$$lVVj-)HnJ_)UM-O z5Wd1!>DfubhV0GTr){4lJn7X+fWNI41xYR!&+mUpISm^#5;gN}s*qIqAOJfZk^y3> z%^v!&XB%Ry`a00jW83(U!I%T0cAgvLy3(@}q=gF1Q|}$vkb&448^?kBE%G57TOg|J zCY+w9U~B^-RKFq(ij7|X03Vm|eEEHQRt;FDg{{SW)%=Hxsy=-tDv*Q8EIbpYAb_90 z^g9qk0C%uM79f&vS6`B@OR=pw zy0kQ3jW=oND1i4J77B!KjIYVp2a{PvfrOZKudN#lqe^#D$D^>wkN0{ zfOX)KN|U8XP{S90^JF!3`f=S~l(vmBKv?Y{E@-adk6XI6u#S|f{A>QjnLk6w2Tigz z50W-OUjQjT$xA5%Lwfow?h7`{0(PgueuC_fKhl;5{cLYQ?Dcc30N-E`3d?z95|f{ytw-za>#c@5|=?THlZN@#>pW zpBiZhf{kBacldOCzMj#r2v2P=cTzfaa0-ov0ZRo4NMcKp%n9Dk_nu&@6Dl`vm&7xI zHj$Ch!D8fsNJ2D9hHlF02n#h)uZ+In-j|{R6XeIn%I(zeYJiecV@#x)ifG6JI3@~H zs0HJXOh&-iA-f+Zs~?g1d|gBRV6W(DPy&zKP1pHfHU7eMgix*5n(VxS$4DOeJJBV>|Qm5AD?(AZLBB$63+KbF{* z8~Pq8tZXD>ruz0qm4Aq1zme;;>RE`9OLcZFwqgnR&Pacu8vc|=EI|`{--T~1zZD7r z&^kNqvL;LLd{+KS6WbpHV|0FZ=19biSBeb?7JGax{I_nu8uVH^QYaurE0RgsMonmF zd_Z2O{Sf`TFd%G&KT0stvK$qTbpyF4tAo{8lA(lSu-3<8uDkhx+8%gs7b&f^@Wp&1gZSNj*|T0Is7tbSUx>wmSKW516+P}i;DrC{wsOud-=bo~p+8>nNj!}Q^U9r+p` z?Uk!hvHt-53WCSw9IBxEW8w${$u03EcDIKLDN|T`E9e$VxC<4-)dsEp@g8m&{NVDMa=YBmJ zF_7Q4UOqfgT8qCw6#TZ|p(DpzQoD6Rx?ZGdJ-`$lA7#N}T|w{_yM)^oZi?0Mb{v!~ z+d@u)GDL+z@)%CFzubrA^YhSkI@;z5=V$7^-~>tAPa`nd9eOYfNcj*KOc%4c8{XWt z<&YvWhJAZ&xkQnIfmhcdapUqscw(diXmffT2{oXlXd6OqZX9* z+if?k4JjA4g*+BhUW2QQvZg(|s2<7cB|vq)q`HC>0$6}jMs0rpNYQmu#Lm52wS6!; z+=UpDhs1Ho7$kTF&X@)adlMg0a)R0K7ivsK`l%&PZ;@cYGP;D?=qY}sqzo6rxqH;F zKTx7HjH&87)_GM7Y{5@(08)g+hratUAnl?opq%15vDSQE0Km=?3gB z!qMNAw^kj2OZl%zFk`I-Ua1HpXR5egfRKK^K(g$Ty|lrb5HzWKGTq$0B?#CYL4FHg!z|ND5Iz#F;?3HqEHPwsB!#| z+kPn#>5C|qCnsR-dM9Xs?<#CEh4}PR^7aY|WsNqG_rzs)846S8NG;#ZQv4wZEN`rB zkwu4|pQRO)k20d47Lit_`mtU`$znu{*;gGQ&~;@Ii;^lbxzJ@mx>l1+SgT08Z7f44 zXyz(99*zQpVu3&L<9Y>8$EhF4?3O3ZtM#9cT5P5f+69apPL##duD`iiP#35`K~+x# zg$HNid>ZL<8!9>OjlJ~_I}XwYkN|&~Af1gj>%i8*-k%#Je#`|1qAB6irJ|cg{{T*q zJR&(D-{>hK*1@tOhk+Y(Cy@^(_4^ej=Xgpp3wSr z>!+$bI(qW)&R58BQby3UO^UZP6Cm#j?OrEYBMZ+D&}<*@$gr!z zJ;o&&Kgi9tZj0%kNB;nb;mgRI2Occ=IP%8d+?Vqa%_dQeS4fz8&1-XojlQw@zfd@N zvEdAcOx%7(Xv}LIW5$;r5`@#QSx@ zO3yUT-N(Yw2HL$FmnWiGko1l=kH&+k@T2PH@ek|s_v^vl1mr%T@vdV+0D)<89vQ`^ zX;7AZPkxRXo>Er{wRuhM#E=*H78m#JgBlO?clCPZGPSMYvD~p~y7%`Wr)M)t{hHOn zuT`yj<@xMAaDuec&emm(NYw zL#!;qSea~T&ya(knj$(sLanZf-AE=f2vHj%l^_D$f7m_?FK?`W)b>|oNCO8RMzlyJ zms{$i_oAV+KxZs;SbUF@!JO3l(wzx;xcpv6l2Q)YaAe5%l&`W8B;3vU%^EMjk7u2xizXrvHvTn9BN zS!Xq)_J7AEb2G;N&{uHh#eYlh=}qeWcbn3$zy33dp6QA#W;c~(usEBcq=kY+^m!e= zBb1s_&A7r+ifGkZCP`i*@8mijWpHUtjgSM7{{S={LVT0}I_$4gzaBd<*aPXoOP}N* z>Jt2sjRho1%Alxa0g4`_Hrm?)NMIBKRQ)IXu1s;T)~)-TtWJ}0Fmj=WBWM!A?g;62 zw+>H}x1H|}46v#%{&ozRB8j)|2(3^juUWi@{{XSO*4p z`BAqTU0iMj{Z{_-_!PB|9s8N}VhYsRB8HY%mgTcp)KxtZPCGSb?lsT0Ty9#03Yhu= zQAh?@=hTUFAyw^jaI)fjYNzz`Hva%k{{S_68(&s(K(73383y)8E-Bc@#J`#QNS=SB zdC(j5bDV!of4klW895iC9O{}Tg2?=HAsR4It)ZH%N~+EyKv9TqlXhdV^-}qNpuVed zQ7dOS2Pns+QM}d~&K}YvVL)G+^krWD;MqRcX9YtNI{kJ})9?Psd+(2nnAebU{tN0Y zcvSYU%6Ly1g`6U&WqTZFAII;%$gyT?Z2thSo|t`Dw*LU^ivIxX3}yUht)FK;hx(NT zynU+uYuUMjS80@@3lE&fbCi-PJL}vKY9J9sqB|PKH!-hWfTQgz$hIqy; zjC){;d6Z$Hw2XES6DB=hW04H8rHZ{i#AI*&xf*^wd3TbG)uec&uJO#0NgG7*klIiq zF+6<<4H&iRFH^8|%P#kZ!Rdsb=i>c}((c6x@kFXs_W7MNdGL{5|0e!`C2~ZdPg&#NS z#Fb_M^;BV?2$R(>EB=t*(<{_Gb+U1TjtM^?FcWqg^}&|4WRT3w)a^nOzmV#vskQOokP8L}xzX|u(a3Yz zTBwU#BW3`d(LI|p)(P8s*@i^y95Vv_y8^`kIwW>epMOHH>I=bUl((a^@+#^jkl5l` zDtXjky}hu4gU=)TjAQ8;Sj>9x2<|?qXFdB1`>pio%DltSzfrJ4x~oqmzA2YTM1_bU zrT*XSgf5|x-Ox7Om7Tk<)!fIrGw+PoXy%0QHj#E^gcANW@qgrz$CU{}F~}oq7|to6 zRs`Y??x1T62Se5(mO zweq+;);47)X>S{D0;*C~3hO0R>V7O4PQ&N|c2&Nj+_nP5D!%MeEMY+%>&XiO$QXm} ztYmf9WGckz0bSsu}JH;!zv}78oFNOI8J-au^ z62*w{%j0Ki3l{!N3DR%J(tM*}GcUtHF$uEHz_0`5zJxZkL2aD@usXR6P-7$X5(xVq zu#7<281;57`6@9L)q+u+Pi91FL@uQWSbL0Ye%i;$+A@gVo!_NTPX5{d0HOD)+yfq$ z{_Htlru_MFur0fp#pX6~%apAYb2{0^&FS=5df%2MmN~0cEU<@51eUr)?Par3hg?8;c!MscK%SU-2}u*V*wSmhOO!8v-aPF7+tCYe$MJ@KFl ze&Gx;#TiRmWfhBbPzCh$H|&GfUrG4}ACC;*66E=O{YY%#C*acd`=<5VAq03XQ^vmC z9~~6hxPSaqKHK;Xd7+3*qP^}>>4&2HQ<_U0<{3KvFC&)mj&P|gX)E><8TV(N$JY>X z{{XjNOrgs>Rv=D8!2Ln{vV%Nib1(IK7;x2aq zWW8Aa?(b(S!nkbqB%j}zvDnL8Wf-(e7()jbzlEz3L{!WbEBT*qAwKMZ{ST$GkM$!Q zNc)aHY`CL8n~{!udtLi-5{W0W-@DM>R6!#L9zAu(895*TQ!EiU_?3E!vbdT}5$Ft` zel1@TalD5E>su?*Bs010FUgpDx$HE1MU5H# zG2$2tpd@S1%YTXEDN7>|WMIuNc?c^ze~`0i@iG5zUPgw_#qoBWlVH9G5ELd2rHxMivP+%%&_w{y5`p-FphP zd9*$Xi4SR1Dia#I_*HDnX9+RYdo^VQK9)X7gm!WVRV}BHNnoSkh#h6BJg(2dgtJK)%1EH=v^3Ksj6w$NTMuDk&~T%2NZ#MURPSf#gp~sA zjhg6wQ6RNi)hS2CNjtjjA5o?!u_r+Y+i3kUq`=>aOooI>q9YPB$q6!mM^5rGMtiFU zBsuJb3b*Y2ZYSihZaD1Zl@OK@#d5^xvFI=!%yUl;fRUMrg%Lm~SU4MI86XudG~*!- z%+(7#<0FQf@pAp?0QF9?Pj4p{McEXFF#U$}%{S$L+MiD~!ek|n-HstVeS}@1CRAn} ze5*ucjFtH!?Sc;|80&vUMhfc!J-aEQ2`d^bN&>FKNes*rVDB*|_a?KL}TjG2aK~Q0Ug({>-^AfCjkyvKZRWeT* z_aq9yq~u2!kmw)fqr&2Ga%aPeT)cP(Bx^2AnBZfysaYt|AC|g}4J=1Ho6qIqdVkO zmT}mR(`*90N|JUwD(rk;?G`N^Ba-Y76U}l~^zAs-#6isPEj8%shn*z15D{j+esSdV)Yn1d_f8 zKmh1isVrCh_1SF@#fM-B(?6*3=-;;e=@|7L0wSpcs%zYkm13pUiAju~$~_hXv$m%c zC8Hvwo!JnwsYLy;QdCI5wt$o49E_!l0ok?C(fWMN+(N92{lQ=1_a7s7;k|mSxtP+6 zeEe!Z1?m3)J8mhX#YVNUvbyP4r~|r^OYce*O98T=lcCu_VjWpTeaF*+wk~~-@uAYl z&*xzXWp@f)*lZuZLx6Dl};TI-)N(bM36`A^!Y@sq}Ro}m5*z_(YWm6WtEtR zeJ%4SWMn9Lup!oeO zV$~dH4c5a*5lVtVL|&kECwomOH|9|A6FNb{i6D}#(f3hp1o)0!Y2vm7cSMpL0^$oxt(KP#rQj2!-o$@ zPhvAHQOh&TB9=2CNq@j2YqRS;!83mie-ep0=;tgl26{xa;kc z;)%sF`HYj`@m~D&aV<5ODkZONJ53cph5-Fh7Gyw@dy6cxH+4sC@1-x!GKV%rouMmrLtLK&iI8=`#urf}Nq zpQj(v_tsu=t78f2S2@d9vF?#^DPM+(b+uj*6IhlQt3pD$)`tfNJL)lnxVU*aan8DCaQ&VCHqGsx{WO+>UvFIigj&UKOo^ zjNHiE3eT6SVRm zHRGu}2bN0=gUXeWwqqozk<~|WuEZ9!{0I7V`r*jUdmL}ko?n!Jx zsLM0cjr1O5i@yB6TrrB*>cx);)$JVVdb{7E;`%om3OtXj@sz8E2tpE#e0|rIoR*fC z5vOL~T&>~%0Mak+doLYXEqZl^_WQi`Dmt>ZBI# z1)|}f(WBLf9VO&E)6+aMJZ3i$O_$7BjZLp{Nv~4_i>Mi3W{j#`m$vlt_C3O%GybzY zu4I*X-yGvOAkN7gjI!jXL$m-h-JK!scE{yaN9=3jcTTzQ^;Y%gJoCn$pxwm6V{#J? zxcpzmT~pxHB7#yITP^MZ&=6b`rlh6yEY*zqU(xu1{mwl3vK39-`5B<9+w27vo%(3W z^j;y>Jf2r8@=KAD(CRfT4-kw?*IoD(J#{0E{{TpS8ILuj=03E^Y6up%p1v1`QpJ~! z7q2G2KOvpS#Lpwa8%r#h(vR9jcv?9e8DkChUG@j*WX^d%JiW;zS=!BtJfGA|aFoa@ z!&QCi+#4CjvKo#R9@4W0)RHM@kK(>;c~{=&sJw_d%X98gl$6V+7PB`dG60FyfR@Yl z1(fY{Mu8`(KTv*i?sJk^_m#63q*V>0CAR9wdj&1?k$i#(C_@(04x?x2S$>=K4osup znH)*&kMev@Hx-S(BRnw2HD8$wmqX*wzvACa!v6qI>Bd{wWz0@D?WCU|JYAS|CK=VpM?tg&NTF#E$c2Erl#& z{{R%up~?3PE9dk^sM z0~~AZtFFC_t-d^5Ait;Q+&?ugsZ02W>NAUMBK)w!B9m2egpHr-m0B10?l-9))Zf>B zR`W%3)UHhpX#|TkOm0R@B}a%ds3xv9N-(l80f1=BHp-Rk$LgDMkGq~pl6l_7cQ6?j_)+TXi9$?^o%{vY}gA|XnGQ$+n%=8R$#z? z?n<6iI963ex5%;*X`E4pF!}<;=8@D6>aG$BwgF!#6p4rdo5x`w4&nM%94q#)#}m}1 zI0EgnwBiY1v3q#ZlDb1L)pO?d@;OtHrHr#kHqmj5K4%W@%Qa=ln=5%i8+KV+U?@IAj-;qf_8Tlzsbiw7 z)gI<~*W33qm7)?zfS{`TkTh%imRpIlqRJ&O5X5*3zM&3$%_6;|zjcC@*)qif%1lFI zHvCrb0U!I4mIM_I*aj}*#f}LqhB!1+EOMRd4R*$4uhS^hqwW~g<0c}!c_6YXaq^6< zHFh}&Ks?E9(y^&kTY0@(xhl78l-nn=7P3H6t+hJs@KOLIXom_rf&3M{KdI`>i`1xqRp{)k^Fi-AIzR~QGDEBM0VD;?EA6p}_ zVZOgg5OS|DKQs})%OCRqed8FuW281_^u=ys;l$;QWhn;+>T ze(u7;zsZILMCk~nF$|JrP$bQYM-~?8|4sMH<;@8M}o9 z9fP(5MaUqq3Dlhu$ChR+0Aq&Rc8vc3l2#FXNILAYAnXp6$B=YLZIHmkBRk3^go-$u z@uNsl20tC`D+tO4W%eprc}aiMCSJ~ROeok)^SrRgaNy06_$x=T@>L-psI+tX&R7%~A5X{Cb z@k%2Xt2rI1uhK+fgGEu)SGClASy#*E=80vR)OF$Psi`HHv$+8nmWWHeGcuA&qp<3X z{d_fY+^H$c?6y_ycSm^wFo{=DGa!+tX#*t1-FFiI0FS68I>^W?jjm;Sbne!PS7PQP zS~ZPWyk}{ypgBR{Mit5u>JPSkv_qGdLH)*Q2pz))3VMJfGB6|`ZG?S$vy}_BaLmz* zIq{OSW$NP?-o#}QlwQ$^-HR@*Y?XSn@a2!NU{RG z_S;~sqHDaFhW;VXWt8~r>|3$eE*vq@2_PuQ#DrM_5RWI;t(I^OrDfcQZUcl*3OCXV`t1)KbYAll~nDMJ*VI9ZIL^sTlmLV!fA z&^chM674`z33V$yql2_&~y?BAa|D+Xqrk8;cy ze>Co+;(iO!e@syW9-y#|lc`oj`5kBn(y(R&+-4vU3&=E}o`f>D$O$~}^fs9H+prAa zs4S}5AOZ;>btg(uNPi5fp+H@h&;+yCdzoKSnHGnYm)mMWvZ&Q0qwOStV}PI{*{hF( z^w`iAt5hAA&coBzT+@{(To*pyZGr$X7h(dkjSm2!K%+qQLfU3de9VgdOEQ;{K-(XP z(+`X4K&!s!Nhk{JbHrxY<{k0MP<`6xG@z3p?LcO!A8Mn?b)_RU`Y$|B3JsbJfH64)$IQOpd2Udy4NnS zo|SNn-e;0f;?$sus#(wH@;9foe<@-$TNycFOH#v8Ef<2MEbUgbbG?b?r(fJo!3S(X z3cK3xsD!B=#&k7E(Ton}BsJ32y!eWFVE;LK(KL@jZ6(YjOtI(>KxZeMdJQ zIanw4Ai$iV9E^I9sbZYTOBO~e7I@gt?c|gPq@^E8@_v`c=H%kbJ|<5aF`5f0M3X2n zte`~67?LIS@^*oi5Xl&JhBhuPWed@}RyW*@XA_3XD>P_~PFo*aBN~{%@QD?;{ib4| z#$t96^$H{5Cb!``f=g*s4{=Xk-Aa`Nsq3$qIzHOEh5_ZzvX$}~IuBitC2ljtXcq`N zgGY~JD#*k!?nrnW-FFK9>0*je5zKzlw#oCeAp?30-xY8=u=3=O4coCA4&Nq!tlz04 z$;%igSk8pG5>By|TFLC&ZT>V;YH+(eOf0OHNJd>wz!?i#4G4fS5GlJVNy9|{0E+~j zTuLKpn6c{LCz1aE)1Ix>jAlR>Fa#)YTj?v1)dnbC&sIBbzy&2bDlW9hK<%=7FM-&A zccymY<-b3pOs zFzh<4W;Vz{H~Az};Ti!lmNEia6h^{8bdowFOTuR6;=__t%|4#>sYR{ICakpAQQygX z-(81;$et)i7A1oiK4C}@>at}Ox&>`EYt?bF2W^#K(O?;uuVP6Fy>)f#)OKWT0HImN zo2h2AXWRDeqFIZhC`%{~m6R3>C%5Oj6)m;`LaM!AsSRSM^q#^e=UQtx3B-zh+Zgf}-@)VfeAm+I|@x00kmZO0|dem=zM6T4>NxJKVzM+{%E zh2VKZ9VsC_iIAuubp}LGPb7xqM5 zYzIQIS6Kec=kL*UtBZ5fN9U~G?Q`iSp&>n=;h)b-Al1{D`&2lthfO zuoKsKSS-Koy~H85uDyzu45gHLPzc!(lBmbbMf71ZaoJKmvM=^1{VBVlsy+wZNKYGz zTJY$V0MJ*&t4`YdUx(6ng6QC{mr}z(orW6GVe;2dLEAr4I{b+RHqjpII`{;S4JOXD z`e1+A0CrYpRRC#-P|V<1`!cXqUABi{tK60fST=|R$WW;y_1~530QyC?8{OLi8?gQ- zeMn*pe2+q3!)Zxk8_7EgYmum~(SP%0Z{zk&YOOp$9?~~OYx8$?t4Gg|ZJr$ha*YwD z*etNYVlr5Z}vXK_z<@)W8=y z{{WNz#=r-CM$`?4*-&<%g&z>4_4>Ti?L=?&OU3J0!^iu*z6HG&P>tj~ffy_MEUR?< zzwNfG){c$eK{vJqR1UfUf}c7*G`@V61dRYeKSgGb<`00(4*O^wlh~bg8xFhB@Z0g@ zM`|WEb}|F9NFbg2gl0efN(`-%-N zN28^t1f+-UM}Pqm-QT;$uI{vi*ORaL;BWStm!^O!R4-`aVWmP>&WrEd(~un4##x`` z3~oST>SC9)acB}%y|*Sd(bkFTq&qQg;faWFZ!ED!ITo^twQA`ip|4vIIOJFS0=oXw2RqPsF&PAL1ClRhK#Z+xs`}z=O~-@pEfex zi=v4Z(%9ea=+MEFRS8M$Xba@K@P5};YtN*Lc4t=|u=M(uk%P5)PS_RN_Rv-&E1d-^ z?UACbDK6u$E=pwr3>{q%h^hU$Njoz}tg-4ySn0}=rHKkwRFsK#r*0?H&UMHUWaE5S zoad0o6ryY|9psrsR3~!AV?^Egoy? z7pMF}>PQ(Y%iA5yc^)R=lpe_xP{8s#M+D%=ppUHl+`L{p!Ad&znQW@{yBqQOel={z z6x~Z4%irruS`Zf7)~jQ8qtja#f#;H>MjjKCk~vu!CX0q%vKki){{Y=T4pRQ?1Ko~9 zkb8-#4`oQ4Szk;3+&?&m#L^v;CqS;ydv$0W~BAGW0pXg}#LG0Ab42fr+WIV8Ud zGRhb_2+J!Y(x15BSbZ4G!=Cid)DB_k_HsDHU)^|bASsn1|SmOYb>r+Z=`KuWKoG56Q4pv)636 z2lRXU^W>{m)SqrV+mBY7RdV_KQ{uG;@?#}6rzO`T+|ovCA#H4g^Q)KX_w+mau*qJb zPm*!mZx5v{c#h6^hm3dPB-7f)_j>C?E$BeOJ+$L?7A=6|E#*L(Vg zdT5DVJ$>cep1B2CdBfs4^o*_-+6g~3#_}0ZtFOqUjU&%s}?WuS@CwvLP$fC{{T(j!d6H2i;(M8hQQr-46F5*laKW*wmjTiSX4m6 z!o!v_Y#W^UCSr2@eWCz=%w<5)p8*|xIY`srE_}9v?lHy(VA$XP0AiPKe^>tiqvxx> zl*h*_VQfw6mE5H%Zf9?C4jIZSaZWbKVl>iTVSK|5O5NzisqDihD;Q|3b;D0)Yrl(G zd($uI?e`bXDbdK<{&WX1f^#WfD|oVRHC? z{{UnS_D{(c2(tA(QsWk+j5M=kF??yNMIix-*Ow8<-rb16Q0#1CRzM|D?dUdw@Hvwi zPwR2Th?Hcp;l>%rOR&cilQv%W*5g=mNgv3BX$iOS0zitWqB6sMbw?Q@jq1G?!W9?>@V+{ z8@Yc?y;$^%jrxy%2Q}{SUSq`aIQ*T-#KtKye0LpoDTMZA3MR8mR#z-^A`3R)FesuHUB&RqXda^Q|AK>9m_oMMpqo`Hsz5G41uzs#* zqh721w&7!nUs^p9^?RCTr)GSHV}SbA#&|>)tndE-%HJ8D^k38&8q~PYYeFOe}D#aO7`$5lY1(IEwOiD>(BN1uJ1`s3-2R!m1W^yilF+?-9(@!XG&=W$#R&m3I8q;oUi$r$JR63Ge6jgiHh6r5P4EF6q^V-_)!0zvE0C!-(K z&-!(7f3nX}KHTKszjgdW7tL|m3TE8)y)yM4?kgc`JbO}-EU&rgZF%agnw8}IdHDT* zela{vW+33j=FitUo{y!hwnx(*am({H+T^lStIYVH9OBnr7IcMUk#OFka`cu(s$O72 z4{}5Z5rl-sgOl`!kyB>w>q@~AGgZBbyrxz`u&D4sVPr>jF^5yp`m=XbPX7Q=CC^R0 zL55k9w-(FfL~kc!jK)~ItuiY+K~ftJ84ggBBBQLTdnni=w)&s{0CavA)c%{v`h5PG z!<0E}^U687{MHz`lfe!&d0be}KYVU1c(4$`_w!(7gmUA{8Oje4{6GHy+}eLY`mR5z zasIFMPWbrn;pHX5`g0Cf9vtpxI~;i#4irA-S2sJA_qh;`K3-B`JpTaG$JLu9xBmc+ z`!c%{KhmE%?E7XXP1yPDRI6!*$zRDj8X$laxZc@Ve)dTq_SVP;V3h><5A=H>hsxvS zHF9|Sc-gxh*1ukAlCNzN1T%BwO5QZk?sRZI-J>jXr_=mOWUw z3J`pYF$Y6nFP#vlK=#n`MvCbD2rfDU@*5y;%XL%dWp+q$)a%ZP1aGMTlMjuQY?#WH zW8=xRR?bQ#^FGhIB{@FSJFeiT#w|>OpzB0py*x&#CC3A0QsTqR0x6 ztQ0W`ebpg~og$dnl_y8a`3G(lb_v)AMMx#TQBjov8u$h_?!Z8PY_C3ax9TU@HtM#} zmuJms-^EdO+v&_Rawd@b$X*<4!jptw|=Jj-k@b*Vq(cmjP5pLoW|%?nZ7Kn zK`u5&Wnk<;D5M5wryBLkoN-&#GJI>7*dnT}TsK*Fwj`D(VTu4jJ(%lY?M|2f06H4%0p6dSz@D$vsoCkjBsayj5096} zM6dv$+wE8APYWD{=?>DU?l-7_Tv*#*?y{8#*xksqvRX%1Nv#T1n%4d*=sk8P(|_vm z_uJ{U%62e+bKa_1hOA~KqsV!FSC!&H=$)JUUnRMi#44ypC?1Ql#uz7t3-!?+1OEWo zCVk~`_`Qx`o|<}?yIl@Z#4&VamOjq1D?b!YF04^m8JU^OIu$O-DQ~YW10?7>7YDiC z*zLEkB!Rymk{e{H@u0d;MHzWe@7!XlNh_@m+g9!qxBQWGKwsGdUAEs-9uG?)lP)vy zk1kjXK^uf-LPKBO8Ac*d_4GA_q_ZTagq})@R?Cs+N#NDDyY=yk{{ZZReIVwpgV&$1 zUq$)6lOld?+7_te7&~`qq!DHKpE8u|Nic}q1&Qot1;`BVxv##z=%wpFrnjFB_K)h9 z3-x04D8IK^;Z`_?ACBYh&cM#I-kUjh-K$nPZOaIUgVMKb){3&($44VPK24iFHp6!- z+%JujrW;T;UuWP?VB^WrI&!5+OP#O))a|lac3dkEszQbVda(VJ-(aM>s2d7n`2{5w zQ1=JATznGC6st^<#ojW%?p4>v$jLzd?8LqpJ1?WApx z&(){NRcaCz$jcZJlKK9b3hD%78FujBVIp>K?~D2@{l$Hdo;{J~ypPlVON8ZXX*l*r zjpo`}GIP=PTKo{wl_Iqt<40~cmRm7F0gZOENLd5b{{T-vrcd6dtK59@pG*GVIsX7T zM{-S)}-R=)H8(&VQXqh7i4%nm0WBwCzXCw2}?#A1!+_iQ9QSChe-zAQf8@NwZ{VnGl6DL6gnF?H!j^(j4 zQbHS~mXh5X{{W1#C$!$g!|F^$HU_I{{XKX{{Rcj@K|ZAO^?Sf0pJ{dC>q-dWD`ro_?8CE!US=}+SJmy ztS42Keft7R9fkFGjlp`Wa?eh%nY=N9A3j7jxtPA0LvWmWQ=4rvRqA_hEDaiX1PqxYzN={Lcu(!Dw zj9C>Cjg~8ZE3Joa+bz|Gx7ZQq#>U&WyKQ@Gf1*EN0F?3(vJ?PRf;F?)>=3`OzyYEQ z0?Xq>06wiJsT{BE(~zwRI5!8+ajCxuN05gj6{T1#mr!?@#&di0vh0i8wYr|4@i=GF zNVrHDSQy(Gf%L~SVx>jQO-{vvk&z~9YH19PSG!FvXNS_pLlUH{V|jC{AAn_eqeA0a z8KV;Ak0c0|$$>_O%ATxhihP|)K?!2BQ^qN2+8R2WlXYRHq^8TE^$j$Hd_gPo9}+f5 zI`F#Q#)&FG?BB_T!2}a49fR^L302WOKs`Yl(v5;Tp1n`S3W4C=Ob^;kE@;VHi29v@ z$z^8v!HBP$^mi>Siwqq5RpG*V?{AY%715OYTtDAfdQ14=GAkMNEBbi-%6eVLQTt(bAQYB9VD%(f5n{I^u=>6}e-k9S!w^!tJmVQdDZ+iy!;no9r*k(|Bc~UzQ(5d+N+V#=bU4_}$ z2k38pPai2!wPi0n4M{XbgyYw3t<<~8BAUz7GBWwrBxbic`h~}JPT2$p;N8AZ|rL%OSqQK*X{K68^b_1`i+;7$5eQqW3;0+Pm$?!Bu z>`IZQ--E3c*I-Vy^uf)~5I>~Fv)#wz%1L8=<%!9Dc1--0aIv{nHzKLRz?^}-4>;ti;Ay_EaU{q);c^|Ev=zf73-hhDl zK0s0O{pq#x*Pg(Tt>lse4UkT>Nxz+plkRZ%lDipn%^8*ykKXCqRQn}*7|_t%GCxl< zlMfAlMsal=B(cRu=g>`M=^ORjtnZ%W{l1(38tW|TO+c~p6f%ig6;6-4;u#8k=0fw+^-1jg0;MAlT#G9<&aCbU93 z1q2oyLW0}sM!Yay$7)Kk^W{PEN9cu0*^ISj+*hrS2SIE~%0EPd8$VtC{vlW$9e@X7 z-aPy%RDYDsirQRx<1$v1nCFNDzdfZY3Xt7~c)28*{{S-y(kFZ}#Wg7hCK>zu9pa2# z=^FInmkE}Eq@G+Q$XJaA{2AcTMFbL|1Zqz}LkA7lsq8=v_3+4K<5hyoSa?dESDloF z_ZXMz`dQOUzbs|&%i;Rzu}_xr3g>WStfP{Ai5Upm?Lq}%uOy#rhmBc*VZYMd-e<@% z*w5`5E27>wTTAH_(ARfMF~ck#;#z1$s6EJJWSSVHSgaEqlEm#Aurd6cVy|L zMl43iBo#riw?*6^0A2q8qC%d!8&uarwJH@`$o-C*8w`B!>CcYeby1=6J+`RZ1&D2a zhM%(q3^lEdb}QE0epIk3W5wC1_F#v*!3g4(JaGd3kbw_qf|u$ualZ9M%bqcav57GR z-3+nLYJp7IKjM#8ClQdrNYTB2&9u%Vjf+6u;10gpx4ATmk)T8%lCIIXR8tEHH!a|+ zwnj)|tA)2>7c4=sBvI?+t?zdaJ4+jcl33$+0zxHFngxEKjv-xSnlEvHK&r=G`>%x~ zuo`oq8JazU?X#l7MjeX#8uSEu)68%@Znw2v@>c7>@-jS#id+dKI%tEiRxzPPRRqNu z9aV?c-y4%Ww>+6+ixxP_Q;`g0Ap>(?YbG%u$?GQVS8=SKR}du(cyQ$8<;$KJabt5g zJh|nL7|zlAM0-wPU!MzG^;)?90HxfoCte94!b4gKWr86T_~~rOjT*)XmDORdBqlkZ zN)U+R0m~3r8AluFmVL^_V)Ij55=!wxw1rtru(C(&#K;y`XW2m+Rs;djU5rdUa{mDO z8htp$@cL~2wA$l&xTeG9?PMjw#bX|qak2MWq8H24GSrgPz)jvndrKPkNWIT#9iEE) zll_!>S%$w)*N;&udb7ytWm0@*LMSY8n4qKW$0X9t9wOtlyO}GpPx&*;aEPK6tJE>e z8_M>N@lWuiNX9=|&&Zvh`dmD2O!Cu2rS|6xco@sHp1Cr{vLzWt+2bVv2kxuCCAd$v)XW$nN6FoqWT-(((@O6JsTK{W zk`bY>WB`V78W}XIuPa$@4gEU3OXg0E#{E0yJb|REYuH?73eC2b)maQt!yFZ=ST2*S zrHXDNCggMu0SDLr037v)`gr;~UNqu-M~36%rxZ}7x|~vmQzDSUVfNxVOr(}91y(2# z4WPZ^_YAs z$ogl{KBvozD>CvWi-c}5_e&2SkIJy2{{WvKgGG8;U&6T}cIJN&LgTsHLXWbtmO3e?WS?qKMN>WMx08q=0Jwo-UsBj}v8iEo*KfGQizrj}48_$XKFGx-P^C5E(%S zt@Y;r0M?%yP|TcLf#M+O<})r|Ej~^AYrqLraZ#%R8*0W+{4(qJPWhMhob`_TOCBpJ zhry#oB&fLjJ}|fe`hb#JOKtlHMdjEU48ZSkkLtf%$q7b3M*2PoAVuWMnUf@4Y$40X z23o&z!{{ZJntM@*AP8>V>3{4!dPs;sn zZdNq z%UZy=lgD$7aQaIsJWdP6l82Ew3L}LTg~Vmn%N8TA6gh|WL-ntbG?C=JPUUk$D>u7Z zwo*!PAQB?{tJ0bZ<$AAuC>}l}c9W>9oSW}Im1bm`TUp%2iAb0^v3_>>DekUhX?v5` zsnVl2j=@gJ3(J-KPm+CJe;bPm4xCS?@Z&1hih@hr`{%#wTgo?(#8uy1W6Qt;v} zSI4nrj1~s5W+6tpM-r^fhxNnkXVY|yaZ28uVx+F-Xyn0hDywWtN_Ly`8yYMbn@PD^ z$8+td-}u+-#ST;McQ<888GMTuQo5GZy;YlKeYP@|W>Nk%P*It{>{mejHD~*j&7g3( zd+4m)qtwMh0ERYU@lC4hi#R94_MkF@5J0 zOL_-Qs1K{-`kx1clHq+DgT;{4XO9*fOA!Y0W5tb}u8qlGZkrEY;4`1pThMHLOt|}b z9D^^#5Jw$2i5e;Zler3hKy4I!NC4=8T=|#vQ{s5#kYKpYN!z5Xl3&Y)QV=QFNUNb> zNgx2;NFb4-4~|R!0CJhPV$YSc8A2bau)qlbke?;K5*_S?1~u4ipE_sV`;N%V@%;Jr zL#oIamsT#n4#kO(GnNb(6m0?21sk^?_&E^RjNipv zr1s*$iQj56NsO*Odsx|Ptt0q-dVuu{`n7Y}(r7T#<8XkM(VTC~U|V4zN91T&H~w+a`tGqREZc*yD#N*c3s``6jMn6Fq47%GL8)mPg>r4}yd zS|LJ_u;oA=e7}qMe~-nSXNwGBB9cxR%0~Q3Q}>Bq>I;1Q$r=57m!2#ol1yY0qwc`) zDRGEZ8u;F{3DV9{_if5@CVzX8UY(4Aw$?PKaE3a4yEs__pbUh_${hJ2Rujwp#OCbm z{{VHiS&~#erBDZA#QTg`s2QWJWfD$ zDbZAXknEDn*$&$5my z3K+;(k|P;c;@~&sp4TKcUI)kG47^5R|O(O6-0s)xo#xo=RfM`6~q+nR|Qv zI-b2+Fb2^;Rq6r-QPx0EG4g|J)_ZfSGhTSlWhAV}$7KY*iybS5CA<*66+mIJQRTTu z+y4MQO8e+Sr&T?X7+^_ove=ZB(QhRbsbvg=_y8Qf8a0j5zCzlaKe*DW1O`ags1bWi z6)h7b z0S{Jg*Q-_^uxyJcckd#ktN>u7b^~S1nov_g8${{1<&kCe7R7@8%iFfdvY7pt=b2F# zp(9Fqq0uC-VnHWl_4=+)%kk04BvrBDMvu)>M{x0#(QnIv#?-m*)NM;`lmHv)D$l5Q zm8?W!1V=lpZe(U)AudZ18lh$qb@Ld8Mp8qP0Vo;$wxmdwoqL~kQfd;XutQ1GQ_&d5 zb%C04xZ~;|y`_k5fT+b7sMz(?V&8!EWNdRR?9KivHdLyO8xq%tKq=|men+@fpR)N~ z2?A+$%6^h$&gU!uvRSDJa0~wcnpvcHizs#~u&R=PD=6=-q=h7g?O7-F11d{KlO!?r zGIdCqSQdW%>a@)IO(;@JmHDY4?MZG~<(X;r&61s!zsBl}%CZ(^cOXZ&im~i_6bEsb z$|)>D`7&ehGu6czL<;@-{B=Fs32yWu;fp-3$XR71vN5SqsL-S5NHrG2cA~~rVk7di ziPV)o+#)!&8!H7XEs3T1OQJyNbm2i8eJTacUB~11BbNNru?9fxe#7s=f~GnmF3L=z zGP`H$s==4BVOD0%NI_F9hvuyr1UnI}D+XXhgeo)j0F{uAs>gptUoz~fs{a5b`4T}L zijKN&!O1S=gDBr)wouXqDi@MmPqxy7-S6>DMUR2&?h!k7Hp-3syy+a9_=x~%4HYBF zx~e`_o3a);zaEc7R7uI`OB%~GiX0UMrMO$>onrv(6=flNmnZ2ae^SAO$5ykb@!8dA^z2tnzt98%2UZT>A{**XWPxDBW7SeI_OT)DrZP3!CC!b7-!HEmNJ>L8 zQasDEkT2O+?*buG2W8uPeNC46)=tN`t28i{_czfTzP1<{31-(&q^SUO?7HjRc0rqz zR?Gp+HNwmT!-p zf>}r;gCRXcbT-*2oN3$;y*!mm*h!Y;U&ftUAYcE2H%; zi#;A3d~ra>1I2qsR#kQsOY;6z-9Ds=c`iZEw$^1bxcMjM%pIg5j@=}YRbyfl5EtdI zfYXowe1*a*wTq!5mN@2Fmh3h`R|Lb@RhHAn(gb9UWeC6$307Sz4<%;3J52)KhR^ux z29m$HWA`ORmSyhS4<&gdXr*;eW>-@1NhEBpMX{8_Ra|>xt;=dvgiDr=dg)OhvH%~C z1dWisvWT1CGfZKuWC2RWAY~|&ha|Tusb5(g#`Rrn5%$Kc1*N*9#Ee0VBQLrA@gz)* zTK&NzAD?n=z|nr6OOoi(g>cdWNnrxUNFh{j@(GPX_Xor%+AjV{BkFeaH`RQ{ro7J2 zEuqEzJLP`Q8{}Aqqw1HZyl>QQHj9^_wIsg=13yCkDjdBI>vI>CT9R0yJSJ{>N zI4n^%@`-L6X2v$u(>SskIeNK{YQ1DKN(>(Eo8sj|)`*yG@||0=uSB?eYwUs<7sHha@7$@ zda?eEa85Vszo{6`70Eql^taMVnRzm@*ykRn+T<9X4~$%9KJHW{+gN@pow-r(e{W1~ zHZ`KrOOd-)8RV%PvRF#@$Zb-mnaWefWb0+B*U4L}Q!7YXf`&q@Hl-EsQA>5{TZ*-m z3u*+hQl+6;wKNdQtz1V^Wv%Q5WNyF*Z~{D?*;+@DmB~WKeZNEGqyjbpWynaNJ2SL` zP`~JvP~$)o(FxjVS=UNI2v2Pg@vyivWtpB*$2emnjf`T#QMOa;d!^dq9x9aFf-lb} z-^T(`jmC46C=#an!>_qdZo|!`o9%C7kU$Yt*RR3!ehNYe31{py!^XpPV$7kHB6K~1 zd(4g0fC48`*n!Y>ZL2VMQox|np2Rrl-McA9oHvyuX(UMs7DhxJVp%rJ+BcCIUL=ww zWHRg$z_(I#zgzxhiEu)Whq2jaDmwR4335+<+cF0Jdr*J{`hWR_qWoWqR5sb+JfPF7 zqtdd%c>t$PR712@npXb+JG33voTm6*n`sJp>RHJ0Hpq6P+X^-b>#`YKE2$Co2;3m4 z^WA!t1fJjVm6eP@BD#_oF5h7GD#AH^*2`GY8}6*c5R;m z{{U}MDcp7gIKm5>H~cI*+3*~$8@PE;}ObBrUm-6{cMF>XQ)41jL>-(Iz2 z1m!ZJCq?y%p%RCqMKxEobcp)iTV+Eq0H<@%FziB=VneIA*JSy1Vp>4N4u~XgqK{}Z z6$J08Jx5W|LaAqns-2Yuin7Pq)t9p?G3coe7PTuVn)MprBvnUgr;&oT)TpTisMxG% zWJ2>IH@KjwMyhNrJ8am>lE@%&o1;^t_qLJsqOXSm=7U&K7Q z{{Z#3()syiJr~Byj@lj1n=UkB=`C*R%J+ICevil7o1etS8fz?aA|=s+IYx_+?C_4_ zdaWzPE!=4eUAbuKSo?U31a3H2TeB`fOAxC11|()3nPX%Gi9d<`w)%z3nkjLdW02d5 zT`-;Dt%=8&#Ec0Sve26Bp(70CXI&I{!fdOT%YE5rF~(SUFQ=ZFaHK4TmO`%{eC}=* z61?!eoQ`(&ynXqgW@Y#0#Gou>WrbD12R&fsKXjP5_$&IC%=r!~x2gV|aUWKA%{)IM zp-PTJgYsLMdc1EZE+2{7Onx%fMDhC;MmqIs88|7mYgVYFIVw|IRr-hV2PZx}CLRY7 z%s*~C?nJU=lNkNVF!1papGXo|!<7=_zR*tU9;;pC{DXn|e*kuhTO5;>MN(+ly2rD2EJM{*mRFS{W0sC4_SC7` zAq8&wH}HaSk(gB#upJ+zQ#;bi9`pBCMN2?x>Ois>uYB6>@k8sXA$~o64%}q2EusmZGl;m84FEEL&PaRBN9=+T1&04D1wL3=zi6g57 z)?{^pCzV_IUrzZpCgtp2ZyjeBl%sa$KO>6B)}J4dr)s3Xk8ZWfcH@rSS>v$-q|nbC zGOW=^WPZw^I}hQH;x1H7`M#x_>`HxK-wt$&0s-vS4>Y#cboOFH<7R8GfcVFCqJc^xm8+2O0D) zkJXr}#}&NBU}l72)sz>GOhk4Mg2Fvsl2IF&-bX43f%6ns6zv3xf>NQFyA5pr0GKYB z2>!PH7j>re=PO2Dyo;z!> zBd_vdpf}if*dXbZOP}Nv{Q=|ShNBpoD@~izt19VTO3PG0v6^+YMc27*n>>6|V4Jti zfbYrR+Jq9Y5@fN~dP{l%zkaQtrDMp}Z)|E#zotM0@Q=o@gmjuF>=H|l=~~o}Zj7ti zm7pBCh$E-OF=hrPUXoU2E)QW2re;Q(gcF}^{xoJOP-zjO>oI81u=YcRl@(e|H^o=5 zWj@g%7&-1e{kde3B6h-DVJEt(rSVpqW*PR1R8*LkudeRkEGwyqJL5agcV6YU9^&WLxA$AR}Q#dMJ<`q{$|OuyknL4UWy#qHl4F zZ0(u8K=oEodxEKVs7lfqU8HA}?d6lGF8g5Z*|Z&;Y5qt_T^1vu>x^Z|ahA<1E=_6v zQAmU%MC3Ru2=Nq8A#mM^G0WJ0hzShuIYeX*;F24PC@R zztM7Xrvs|%&fRK_mHDgiyQ5x(4m532-vxOEKTe(9yT_|^xrZYL^ivS0nyiAr;MU49jdryc_a9Z5{gML z*ajV3w`n%c32mueJfviTCkk3WlMp*RY{P86ODYgZMhZ(YUfvl`V$4DO-T0)hHU(Ki z5|o6CM5-jJQUc=$+FV@#NIkj*Zt1mTHb2_Z{MYGdyj^^=DGH~@%~$|gbV~1EwNg8E zVnP5Ls(m+Shi$I<4EhKOK3H$!!~n=ZH@`P!){goP#C(W88cBwnLU@(>X`ib%w!al- zjxnG|VbQz-9I$?*Y)H%Wg>HhGH+sI%B<(r)Rdo&|Q!J00B1ph$7dPoAawFs;9-DgU0<2?Oyh8S177j_%6%3 zs_=X_=~A{F?PYSrF&;F*oPxvRNYbys4*tl~4!Q+<7c3OA5sg>uis(sXW^{9{yksHy z4#nO;LXtj5vHE?@#cNxCg;>+z0G6z>FG8JIAwZ@jVb}xk3S5Fq5*^D9ACQPI;pZ+Y zl~AzRj=i<=t~vq|E~I!*ahs@R5qT#|$h@eg=0tQ7x_oP0mj3|Ae)_LndBy7JCe<#A z{WW(RAB!ege}bD)*1lr)=J%{3%*9KqA}Ig@%i2}j^<6u4C;kki4-439ckmaYy^5YH zcOaFF5-luc*yD2Oq{$9KD|IARDuAhku?XQ=j^Ps;57cQiWID9)02T3ByJ9KhmAQh673D}b4M6T+fo$S8;y)1;I zw-ln9jF>T}skqK~_28u%i@Wd>8c@bWx7J<@YzZQ+jo;0F*71+k{{UDd{1IQ&EQS_L zS$Sw!;`FgxV<%Q=-3*8=aco{X+>sd(WcKEoXbpt-BZ(&|DI*^;&fa1D_tZ{bkS^lG z#Wl>vMV;2fuChB{%2j|fSb1(Twu{*;$8V$bl?4jpyI#UtS5{LcimZ{v8<$X5-F9dj zvZ}BF0+uC%GKB?Vo=U9}vmPl1L^vWSxPM9 z#>P^|iwsXMNMMUM&$*O(N;>jN^>$qa-R+lQiT?mHStWO~tdsjv>@HoYT>-${VpxjY zJijIwqecYSykjcHq}Wt;hdu2xypjl|5V1xmBuN1U4MuppaU@nTT&`w~*trks9N?y(NsdnaKd?K3D1A+?Z>P?G-Q zmaB$V5wSgbnSU9Gi!)v-Z|SEI$J(AT^U79}k5`Mj_V-)za`;;n#EV(Fgk+Ln#ZXB! zk!v%Pox(qIF~<_EbHXM0w8RMC`kLBF>p<2hN>sp@*PTR*qvCU8`}K~(_P(qAX?SG* z+;MTfMGcl{m26nfP`6q?^P;c0N**^E=)V<}P2`oPVp>2y!}VOJQykV2fCNb(k@VW! zWG=})dX-=Uj-W5c;77;nw!WBsyzs73T50(g2EUuPN!4j%Jvq!^F;%i7xGpE;IgVY+ zUb?Uw5>VrL5*(tKSFw>8)qkX?s(g<1n{={S>}EFH(pjrnI6dw|XB|dnmPitNHM2O# zvU0~%0r?QePC4Csh@fAG(C~djh%-Lx{jWwj@-`j=r*P`ELLl{jOCrk-Nup02fj!Pl zBP6BQYN+Uxn1OLS_Kc$*LPKE206jq}r}Pwd3cXl$Vgh_vGjE|jbbn!545YC1Ad<8Zr*CH9>*Tb@i;iW`cc}) zS-n!>qdzRn=9!rxR=HYiJ$m(_wN_v5B3m`!mz)<8-E@+ty*j|s$2^tHt{{0}jzosT z$G(zSi7d>q&cnQM%{)={5;C*Aen%gc$i*m6tm7FJ2_%H8#lG2%JM8sX%fh+wWWYzc zU7^|mJaZA3QM_!5)23GVYhItY&S7R9b#T60xC91r2yc>~1$wto8D!e^ZoQd0z36(2 za=49>Z8+<_9S*uc2?T|c;z;bsPh+FCU42(!JcvQxU2o%}Kt*QR2e||Iubq+@Xl#vx zNpaK%57)?DlHLeFRQ3h6wj;3r0PuPL0AEhLTv94gi%YhuoyN+oY5XGV$E9PJBz4+R zt!b$ED0Ni)+I)tOR-&h?nK%jdt+ZiCa8MG##)v2X0K6r-=;?@lr9%Vsvc9$Ex`J}o z;~hfvTXU*{t0EAwmk}>ePhi2HM6&rSs)jOB01tELP5Ri^U>t+6HL>GfM^n{-@P0Wb zJ0zWLm-!K*#Ch;YBmhfjuEw@WC4gQIDOnf}%S(FuN-M8aH%MH9?c7Vpmz4pMo&)fF zww`=YhtI`VK{#jL&#(TMNj%<}`q}Dt0G3i#Nw{Y>83SwFE&w|XqvU_Sr0;5{MTu|rjC2SA{(QR!!EV}L{=XBwv2sWt zg;L%~BYI)xvHErh073vHj)M@CO-$-3k~;=BGqqSRs>*EIMY5z^zERp(nlxA;qt|pj zBL1ydju&S7`j7UD_SNdWOs(3MG7XaAR(P%GYrz1k>|j@dyhpQ@0N{Fa0xEA`+W$@56~cmJM7EY1HG{WP2`ekw&mQ zJdT{SOjT~g)#jv(vQHiR0sBwoxO-N;ApWL5YW(9Pm&nS|*870;_tLuAM2g)@617ZB zKDAlq{DvVVlS6T0u+Uhf%W}<7E!O-?o<3>kri`yyb`HTLGjHTNp8IkO1?StVsHjdbbPk<_A6 zuCR+G88fZ3k2J%n$dss5o-A2l`Mo&e)wL(JPyt7;XZJs#Cos?Ps@bdtKkWn5WVKyD z2D~3N8-ahsWBd&OX>dr{ZDs|KieBGMf2;@JKc`aG zv4i`X^&;QmDhTUx{y}4&P>b4&qDHvRZ~p*M<3wtWDE7r)YvmJYl|qWVJh2uTey4>b z_36su@?l!5k0*x=niS~fBPxs9EV~~2{FyOg@$$w!6k{mKi(Q!n*x6dPMbg1NzNC(G z{U$Q_2qw3ehwd-ZDhSn5Zb|ER+V?oc`gustJg^9lD)h%I>ZWe=&1MPUf;hNMX)Q@L zNP0>BY_Fhaq={dcEieGNX_8+FKTVOQGpan@Uf34$xw*(o*|5#F9!m9}@KUlJf31 zJWwoB$u&+z#&LOUHK-CM{EvPM%?m_-A~t9XNGYycisrDFEYZqiF5~Z1l2|U)yH|2Dj$6b6$ z8&?F>ZAmh{8yIM~mpz*wLTL=^I@gPe*P%(`F(eW+YOh(i2imXLudIHiR-e<4zYZ(H zF;iEDYV`eWp?@=ujyNko)G?f%A5-ugL(}}FDz%1XX;+%Xq=Nqdvr#eEBC{3dE-$Nd zaGg1L;V0a=aE?4LwlavhvKeE2i1(ft4StBq;1lifaz=A+1foQYCoJ8iDas=g`Y(cn zl!or2jhNrDG%j%cdgrWkb}d*a{pKC!*|^?m%#L zuFa$H`6*V=A70w4e?y$dt8_;q^taUSu>SzKYzz)*{{VKy;IbSK7arz^ue~4JZ9HZ& z&4FDal38qJ7HIzfCd#|d8Hz(!{XzbNp0eQ%TIVDCI$r92cK zb87WG53E=pRr#K3?oOP+BB=~i+)G-!Lr_|l%yU17>ivdN<8uDoSdLiXmP}g#toXa* z>mQa!N!G57e`U(NUo4bO<}x z8VFfbYe1uhAIVrEj*q>lDoN2lKaW)^Rf+0Vwl}{Wq4n4LZt?#BMrn(j_l^DI`bCkx zv;P2N#d2@9{3j^l)~2gm*tgr%L+Zx@nrii)E7RJsj^G!+A0Dwx$umUJ%g*=o5=-vT z;W@V*$=v+d@vA~iFQ_<)lFZ^1kMeREo)t@uK_9szMJvn52jj_B_eX> zRN}WQNn$#X(879&>GvSyl1|PQJBZWGPvrId;*Av{sTALn6r=D(g?)Go~&N)422C$xb|wm7m(eY6;`2%87n9 zOYuPvT3ry@D7Gf9G97_9_7c57x_l5R%IP zJdK~$%ZBp0AFXy9Bq{T~{(uLvg!N=y>$byo1d__2fX88g1nWm&A1KZg>r9C}Zin>1 zh50EP>{YaO0dN<%3d5;Y2jjmd>8O!f64JbWLw_&NpAM|^>1jb34Sd}w{3Ujco;*7J zk6OuS`2mMh`p|7}V_O^e0GccpWP|!UC+Liph}r!HBd?aMNxnLzQ`b=i+ik>nCTMO9cP_N+i+HVI?dh~tj0 ztADZkYhU*rH+0?F@?CG|d$02D?*4rIeEK@p$RHN%2=V#@WB?c_8vZ*3uw8?%()R%V zX+5;W5wX;s#1XPK7?O9k1O;M9>~?m)Nm59_k)!e_t992=*I`?1pzJW}8(si9-uo4K zhmDXzugD(2>>u`YplC4HfINmByE3a0#yi*l08R1nOZ%q0_)tZqkv2-N=Vp%{BYz$N zD75sh_gg>$qgpMk`2$11-n4v>NgaHTh(AOmwCsBlPw%K8Xdl>8Jdj9k-ZnuS0G1y_ z48?q%{DD>0hP)<$J-{FmN9YD15J&)!9#DUg_>UX%Py5%$!Ce4$2=IFiGYodA z7A`!Jd=uCJzv%V&kPCk<%G%$=o#}wt0LsLYNAI?YX8u5uLG!RQcEA!gPTRNf0i@U) zE#L#Oy@BKO6}$io9>-*PDhlsJV(QQEHV=*I>sx+5W~?#Wog$x>yKDp0l?UVG{VUVv9H$gt`&S~&V^&`>8d)2)jJ<;nvKS?g zw~417e1(zIVO~wOOOw5~mDmHXVl;aKdmVsVK!LrH{{Sw-w!Y_32-d*g#kH~2Z^3Pm zzlj*U(Jc?pK?*$Sx0o8q&t33j})FM+p6^CpOt6q zples!;ZO-{@Yl%5PM7}xy5Fy6RzDpAtT(1prYC3WbKKoX+8^;vU4($wX1pOCo2g-1 zEA^@=jOl`VLJ~nqB6ykO`eK*go$M;_{{X%3zd9|wY=5u@!31?Jq8WB0V}B!}cEo@| zJx`xHIw0#ufAS+mnhLXFbOUu(wY#;iD_ZmkwzPcqYs+<^)wng+I0hn2hKIi+}2j zTDtg6R@)SG-;e^xe8@Dk&D-)Hq(3_FU*poBOnaXb%@JL$o+zc!Ah2RYkZck*y^tLd zz4hMLVDGR8S_O6n$<~g(41kZKMtJLR9|xI7=X#97I=!L4mc!KsdiN=G zdt%x`8z%bfW!B&SLrciZFLNM7C*@AV0GCfk0hwk1f6VoVptfC%*x%8Vw*j74x41D z{wuMq4;v&gC(g+1SpBIslNGv*;+{$y6;J+(?^kE2Ss(rls=s1B18-y!j}d<#9)>8& zLY0y-LY7wSq@VSm2_sq`vEUu~-i|x4*PqesPm!ez4~>uf5X?V&(HrurZaemX2xRQN zPlqM;2XFxo*pfzp9Xkzd4!hBXw6X#2Rj)5({{T>QBp#!%DbvP=*Ux}@_TIja99Y-e zmPg7;0liAn74kyp^!QltJLpF1O{0PGMzAN-2w zkKg=E#=w#rYx4vhoooI6wcE#@#Q6UJ@DcQJ5`&d5T3E>`rh;YxdlFOuD#|zhx3Ie; z4?jj$l_tF!| z=2=(5g2+M^Bd~21I@vpI1Fxd}xe-<+1uwQ$WqI2g6g*Y`0FO}_!ASRnoA#2ARTN){ zw^UduVe#n2X7U`fF3J8(PmsG-Eui2Xo$KNNC$lQ+>Di89u&1#hm5E|B!)oLJR2Ctd zYvAY~{ve;GYzL_d5A$#d{yk5SLlrEczwy`v4Bd%R7&7fSzF?E!0(%m7v#ma~NY}@( zDmsJXZoeoHkf7CAjXpaMmY;|7YCa-aL~*B5zevnlG&CE%$98J`uc`BkUsz;-fO~lC zp_nNOQ(f6tu_TVIu!NR=z8XYMulr=lokT_(5Kl_RjA^W0jWTMe`*K zk-Cx*iy_exCj6y(=x$r?12}!>IUBLaUBV~4RbxjC0z3CbQP-$NVX-MJ0)`zTjK{7S zn=?PTlAWS~RUe0PYSt4g=Rh^@5#X$=r zlnxa(P_Mbaik`i@A~e}*i=?@pcW}$%IU!~_iIdk#EUhW`MQF;xtp0Hi5aLYLH*A>LerC{;xu%n%kX%Inya*pI0y2W2bR zFl8)FVxN_9`sx_VJ()el8);{C482)bcJ&m&)cz56!q+Vu*_uWyCjQCk%9uej9s5BBpMkW!ZZb`l{?~^xXOE`-+ch&?T73RVI-o3b2xUg=m=WaFTzRl-ErwC?P6t zQFU?#ZV5TPHJ)(HTwf zTq4H52f7aLHSoU;S&533K z5bfkG95AkzQOY#Kzqs2!IRQ(vl8hhw%+u(S$Jv59>H`G@jI&8Pw^J*IbLFIX%8~|+ zV4s!WoCxH-I|L(Im6xh1PObv7pkD=#ZjY@fV5Ab5a}LF&_naR+_Dhn)#=roB;-HXA zA=HVrRqz|=U(XRjCPDozNM$QeCr8Ovzbf_ihogTfmQiIU6qT%gHb1FtqjmXzv@Np| zay~d6mPzbeVnEy5V0*AX7Z9vULYWk7Hu|9I#hOL>BHX_R68DE6S%!wa)t+KmKrJXU zAqPyPuwXsT-^F|ns`35phfqs5R#$GP=B>X4Se7J{+>*>Y0kT+l`VI3^kN)h+-@~%@ z+IV&9!$dbwG(E=FzuC}XS$$hEA8epi9^k4Y7_noHakFyT5|miUAly$MPsY(HOUqpr zHmqcOq8l41)W2&+!;XHb+|)|&F%k_`q!vd&=vRH?_RjQ4EExNTQUk8V3iqiuq_tX% zcP4MkR)tGhdhq`MjzJ5_GnIlUStODr?j0kIHpW5HRY>QHVX{1{`_Z9loC62PvwVv5 znG2QaKq%p{^WZ`m*yDAbB6C$VMYQPLlJWsc#>toeFUen(Lh$Qg&YjQ;@l z5WBM;tE6A@t2%sEFg!n1Co3=3a^_w>Jm+zNKD(4mlJ>RwszhW%vd6a4K~mGj{53u= z9|zPqTwL+va?G;f<;{*pE>H5wi#vxjq8VY2CF7j2%0@iC$#1dh-13@qc&zx!*Zo1_ ze45@%30E(9JwLmdjmjKS3vtHz!l zW5&4@`HVemzCynqeC3OrYFigALlzf2_i$Ls7BfjwI5GtB?585dLstEIwsNp$pvq!# z<;#;aD;tt>G5e*F>|~c{^}5iA>cF?>PlNtjSL-tUtaIZagS9F|tJaN20hi3-IiQ6%uMOgV3; zTu;>wXMwkdINwV+m;GbNBg*G7c-)PQV`uQ3d6NT-vZ;GHlC5t!9s89l#=^cTjzZ*) zp3G6smzKhM1rMhw}e@Rm1xKk zoyvDEP&pdklPxiNq`17^SJW}X9Joo6Zz~QYqtido?t(_<+?sN-@@83lx{GWWp; zXXzY&rRC*hkJL<`Y8(%!&MpqnPF5ZsS@6bFhC?JJ$}x65L3*{E#T_! z)&1lFimLqU?6!dn2Vk8##kC=vET`r5t-Pr=Y!;LgB<o?E;Ra z&c37C`5-M;EPs@Ut?mtY4#0UOjE6!(uI>(s2VkImX)Zy`uI$Qo#1R+=TXM{*Mwvqn zt_u#sxpG&+uCt%nVpn-l67~b)!&axrG+5J@93dt(e!(uwxs7Ps;o3KE@9E_(SGV!d z=pB%V$B5ME6Q*$B62vE9-^4Nf1p-UKfY}Myvkkcgb)^B9<|GP1BWwz zZ{@EWat_zC79@Oz*!Bb#&_v$IVV})y9WhXRbzLsIAa4gur)$}E7yubdY@Lxjoo(F% zRj&%te{__vJoefEV~!5|-Ts{??NRdT-!=Qk)0ExO0j1wwq#Y8UqEEyyMFBMAY;|q0 z+J)IyxWsnudj(}-pj*Hvsb*3G9fEd@H?5XpOQAKSBm%^BeGRg)LEC+Z4y=v)Rv)Aw zAq+=C1eO;`@;yjZBoLcozY-80$Q{!_GXRQPWlC%T%={twQ0?#|;*QGiwU=PNiel@c zz;uOpBQGp$9W(`iBk5`G_|R>Q79cZxUwyW8r9lLRE9H;N{{V4;>3QmCmQ?nHZWRgB7u>dh?E|P$g*o`oad@FVG`X@?G_2rakk{En| z`bjgeC=p6Pey4Ve%02>RiO8HR4 zfXC{NWedI1hy$Z`O5}J73NLaukiqqNjg$UT@Xni zs*=a|qCQZv0Nj>G1qpfSdzw4MlUqUt3;A74y3W(w*Ajs}4~(`k?ay%GLH z<6hkqdzS92L(izzx&HzE*( zmU54p>lsQ(tsQI+b$@SS>NHEy;fa)^P%>LVC!~K-EBBNucA_2{@#r(QAI;pdgYx#< zsyAPcW8AR{+a3XOfUr6WMoRM(9i=PhKon+RdZ`9M->$l=2mP-8Awg2Zq~C78)92Ms zx|&db=y$1qZ=Rv@DLYn!)BC=&QsA8W+@d2Sf|nNcDh?lKD3F3XHZ${~E$(c$aDJA3 zU;dk4cb{)oo-b8?+Bvo*Qd@}~`t(JtUFWACyi*gFsv8%VjKl$F#pLIWhV~>@Zv5t7 z;*X?p*}{CNLB}#VC6-1QMr-Yi=bkXf8J%R)Hhqc?!|P`k(fOH>hB&gJVTxFD&!ETM z_VG-~*Z!gmZPc{-=A2mdD>F3mckX(mb*8Wxm$Q7&yC21!j*2U}(CiVm%(+vJ*tsIb z4SUunk@_rAM18?47gXF#mS5a&Y<3JI)Iew;Z!%{f%-Z1grlFPKV~^Zk@H8Bk4?T+l zM0lY(hbFCCx;CQ=(q6!(qXo-5c28VAL53e|51p}rg>;~C=xgy~(3C9<&BtKHPc$qG z2ad$@Ms})0$OC;fkLo%3aWZjb#+Etwo0d`=q^`JS6}H{<{q*{#P96*r>B#%!&bN*@ z;Ryp*WU?{@A8Simq1(F+_WkOXQWdpZ(~d_1tvl$zC8*b7w-n(J!TimVNvstiZcVZ(=ZP}k~B!^@W-m!8?8KimU zk@e7-8Oom_fK>;l!JFX4OBCzSlBBd4{-KgrE_NuDNrwcAv%@^O!a&pXx8Ue^l}tVk$45D+m6tiDWPJ0Z{oK`zJRtt#ttD|l_m+4r>qH|jUp z3!bVYL|rjbM*9*wbs=dlr{l=Kcah7=DITs|7`JuT{{Tsg9K*JY%F9w&v_$lId1I`2 zIJoHZ3?@&VSKXFPuDZnY7CW}?RKIpn;-N@*2csU5@cAK4Rm`^?lRe36POg%q{{Y^y zwkCIY=0416VymDb6d;Nqp_j=1?0tOXdV+6JvzXXoa$!z49Zo9V*L5-XlaAKIw6R4R zyg*D{pQ8qO4vDPBV#rtA?W8&}wzfJbUZ+bNFeCV$iVpS(>{k*=?XxF%+$4Q^#>!9@ zB!I1ii%V)pmPcTb?7aQN zn_$7*0^O3!NJ55rJB5-(Wd#0$ok)8!s7?4`+qTFh)j>~bRX|lzgRx!c?Lc6RM`h{P z+uDM_5ugwl`l|&kuo==og_TSlWe&vX4LEfwH6x8SnZll-%e-Zou#5W>=3Q3pHCZo~?ow~&)~?ELfAwms(dV7PXL7(E$e=HGE;}}f0Z7n)ix5Br zuwqFgL39F$BxWUm1cU{F8ag5}cG@7RK0)rJcvVO?2`D5atZEb~1cDd^RZvR~q^g+z z0DVDbW%+;s5`UmJWbLL+6#xU&j-+-aKS1>?yC4#v8-KR`ZP+ADGL24;2;>K#F zTXW)C-G6csdMeYsc5?p2g$L7|FSRaK12mxsxu8oc6)}xP$-U7TNl=Yi6=@{--*OyW z^TUc+^2ZFPj|3$HCTT`JqlzDLSfSo%Mn7{TB1s8OF&Q4R{{Z_OKTkN7{{UF?x!k=9 za`IeP6wTzYGu(6=&dY6`;88gwnlaBr}#nFYdZpDv|Yf?*yiY2KG%Tz%EN{`OpT0ZMO z;QeXkxxQ;Br@Rx2Wizu)Zzpq$dP~M|mhD@z_NB>Kp8f1YWbaQsnP)aciYDdeEv7mI9whsOtFtEG^K|Z( z4;mQ0^y8HEM>)@A$J^pC!VGU3p<-iom$t(X0I!xT1Xp31U;UO0Mzx`# z8h}d=0EO95#4f)}$P7@dj?g=mR#ikGL-0BU zM}hRr97%9X>_)>~T34>clfPeU`hN#54mTSc2=~X25s}9kN*{0|-Z1SFPBu)K%26dv$}uV+ z7(N}J&STB`abw!E&opQ(5k7Xn|T5R|VLGSF(@XfC?5v^kRpk9HS_aPmjRzJe_%!J-gI+wpMzY za8*^UNYK>w!-3jIvcA|YBaee9U2jBr#sr(z@7LjF;&+DjcaY(D%&enoN~~F{cLsq) zG5jSY0j4@5n9H9Nkz>!|-TQH{lPKL)z3N-g^&8M0x@>Tfjy?E%lqhB_NjfA0g$LyM z0epIP-OAaIr{rQ*hT=tIdacN0I*pn`*YRZqKzPpG%d=^TX6##9vSV-8dRAej(&Tbi znkD}L3fT7qVnhPOwc?0^$J(AyToS@F8i`-&A$bQkNfR1bIlVaM(8TH>$w$Hy9K<)Y%_LJMACKBc z9TXRyw{s^=7e$MCM-FPs8;{G@oUx6x2f8sE^Ig5J{{ShVa`BNF!ytQ3v6eX?b@BlC z5~!kut$L361`=#WMr;+H#031jJ(pA3TJoOpL_?xSB+(TWG9+bUiQr#-$&;qlBVEYPj^&jxRgirkpxO< zPb2I^WsJPBu>_Oi11xeYsn=#K&RLhQQ@^55jkL0AI+HXcyLLz$+jK?Lj>+w^pMwIX zPbuGIs*&~eepwXNV!W}#6mo}(NnHLfTX3v$%@CO;S!R|YENsm3J2-e|3;t9rdJaYI zdz-6^J6U>@R?vA8Hc{GHVx5r+kibYF`9;3tx&m^t9E@nNCAV?x$aK% zgkh4UxajxGss@WB%CBu6V_Mni0!aO-6_y#5(ZGvJj43Vy4Pmocfu zj*_U6*F`rOMAKB*&?jGOS#jg>^Ht##KOH2x^6Ak{yJ)pi9O>i=eoeTMlSPytB!>Za ztq|WbM}pm%G{vTEPp+)pf5fVxdayl8v$@xwX-cRP0Ii|aE1j{Z2zdRuH=^G$y=)zI z+MT3YEUVNh3fq!G#R)wdDqI--&?F7;MPLB_E!R%#*@0q#b^^*W!36D&x; zl0!(4geEm@MjPAul42Dx`QOJ zdXxDo>|;0QiDFc+oEJ6g<~lGvCHq6eP>UofUTpN=Z!&tgTD7S46{tBMulV0oBCT3; z`D(c;GuBS+?H^S!UP(>{YHFvqg_XDUhzitN{8z|OVHz*f6Z<^sy#^d zPW9Mj20dg_4{1~5<%w#B7S*3q4F$@sook@G9UGZMq17lBX}ub_zpO$s{*YB zdly}qnjdmDQu0icKG=Tma$wlC_Sw&PXCIz;S`61U<9Ti$j%usf+H1GDV&X9sr!dGC zG!|rl$)ytj$iGfLQ|b@jB>4MWd!73CSAgN=r4?H|bCCVa@Lx{x*xKR>ro9#P>x=Wu zIj0Y|rCO=QUvUVKLWPV=Uu5Inm@Y#plJzt0XVTkuUf;QpPAA2EW9PX^<|Yjovhw<6 z#;{i0De7gPmrD^0Fe z6G$S1BPue;dP^%L0(i$6mHT3be0p)NP3!kLwS6ItIQA3MzfZk3s`5b*nclY~$#aiU z^AK2^`!R=pD7BxYhA}6)A&P9{96v3bOiKEH_G!-fjU3GMr^Yv~p0Q;4KN7VqshXBP z%^Z&r;$DPMsXDz(l|N~74vl&_D?N$DNn)}r{M@+u8TmP}Gm+LmYai2Ya%hZk{YQ{J zq{gF-oQW}2ehUajQ9j-;Xvc0y=4J1U6`XMoL6O;vGENb$gs0cLgMt0#`epX*%_-79 zY~F`@smGzIPTV#^wxFI`kmhV&Tt)iUD_XB#Bylehu^LRNdaA`J?MK_s z^|kvSS!1ov{?f4?lhH&~2ZF)Fxh-{Qnm0(&7`R6fvr4+n6H19JH`cuC6C;KuMe^tO zRmA;A;oPH(k5Kp*3-s7zxb&lr@!k-L{jLmT8C!Sk%Vu+)!{M>yhLP4dtNx5k8Ei#^p5n) z`l|l`OP+3&EL8PJ5yNu=RIQG$%l$v()mo&sAnWhNG#oD99EKK#v~4w+GPR5`$z5Ed zv!s0&^#1_vH|<~4)W=1|{@^_(C}Oe0Jzb@W%RlC%jM2UW6`c)IQlY=V@WUW+ zBwZD@U-Fm6bIY{RJ*j|VI)4>klLC7MkpBR*()a~Jf`eeLq#{IHq z?P9%6^uv^5s>WnB^IzI5&xpE+6d7sc>cL`_ly8cO62VsPtMMU0ZEzpHPhCASoANjh ztA3zxt4yXjZE;>zm%!QT-pUsD@i(eUz=#Hr$Vw1=snIsJhxNJp?5Tu{ist=guj(%j z_hxJSW7O^w!8zqjs!pZazDqC3IJQHSTY;@OXN&vtjTA`O24VCZKTqUwc{Aj3Vqr5e zmTo8W4sJB^R91Me95eCdD3Q3CXM`hvWt62kNz06&V&pWHV5Z>ae_Ru>l9Dq|ri6xNUoUyYO1bmx7p#Z4b zu>+u8E`U1&WDO7xp3X)6NBtb;x22cYpRn(@zH5$n;df6qebq`l#c%Z zJ;X)t%p#h|sl;Kf@+FlJNA9suF`V=IL3)pOGm!NY(J#C2L>ci=RKa2WB zB`v8ZwUEDWmhsO=uSWx_Bufk{eau#52#D}OG}}0Sq0A`F!jV)C9I(j#rkA`hf<(1s z+3h7MdsQWijeg9i*b$Z~1sy>gQpi;*Xp`0U{QBb|f>jJAy`S(QT*f0bb|S*{O8x-!^iVaP8e5xg;*R%EQrJJR3uBITUocdPc>_k;F- z_YsnkIjmCS9-sQj#%}WIBd&=frHmS0Gggu~4ARRLqa3lUW-}LdP)Yv)6~P^4#mItN zD1R%PETdh2QN=S6jW-t0Xr_sJ_ww=V5YK{kMg43N!SR^GBD8Kbdb;)JsFofGAoVEQ z3^v|InMocOKrk9npjT`P{cE-dKn}{o_4 z>+#-Y=ubQsjI*tG!{9QxigzS}17c>Oa)v%yHxj*4mTXN@#K@2nAz-1H)O^>Y9-?vi zWUrawJf{}wT(07ndu-qzZ^E56*XgW(P~pyq=fo%-B_b2>4Z|l~ zhN($L?6uaT`8?u=DWRjRdqoO-orbE-+LwNPL?}+Runzk$^S066zy$dtU=TwG@1d|k zFs{qhj=)g52YS)o$RM34>IhMwdXL_~`gBXiF4ZiyD^CMQrDc*SqG;3ni}URmWpDAY zR$>?s2FF$ao8l!#VXc%bt+Zxe;y>DU00I6(@z+t^8OiPRQ!E-uMY4^FTKpil#iQvYPQVkeSQFR5{u=#_5C}gK6duQ0>`3kOVJy0m!>}4< z*kC?D?`(Sw>=HBzfJq~2b@jVYk#+HHGL;)v4hs*8XpXx50p(L_0P1u=CZwyPK0SJt zCtwC71(0t*gbX+FJxOonzpE3EVG%_y+Z3-R@5;bY_duwFSBgC8icq#t~AJ{&Z9k z{{YptRf%9uhR6hHY;Ri|xrQs__N!XDO;O>!7xB7F@s%Xp&~2|Ss;jh3f4k?vKCFHh z)(%UDo-3H_{!)dy@~p5;R`jq-4Bpg;vqK`uxR{1wtdfT+Q>L9k`nP;1`lWsFdV3v6 zIFH>&toX`U_~BZZru7$-Pl$j)u^cOfx01JtCQXw!HIWGo3)KU}jnnN$OA}cfXWW0@eQ)WU=nsTJN5;NkV=l@s3d|51!V)TkbfhMm)zs0!V_}lG{3sD(LH9tM6mYQ9JP#w4Hx^{oA&-DT1Sl{fN_th>j>J9>E z0$}*OI~z#O9?8H8pr*+{{UK_Pq=j0NPSxS zANy$LcuXZY>P)U)r3dhDt|W@yIv*v!}$$tDGR!ke*nJK;K3e>{!$Nz7w~vX!-Bz zNBtB&=xJlI-nf0Ga<55qmm{fpBhXZKUS&ZpwdfZN1#w&I- zjDN-wa{mBm-_WPk94+fUkNx;^A4q-p=7BI-SLK*^{{S&#YeoxDSitd&T=gZaX-D2B zw?o~Dm*2G`tWfygkCIwcALT4Ymqe4cO+S&OVEfoE#DE7=v97^M$gGX3Pa*BT-E%hyy$KFz=eX+5d?UZUveL$x1i`g>!&P4y<93iLD8-$6Z9!6L&RJ@DCoPCvL< zGpx-U+{og1$ELiqE+mGbHl>=)xv801Cy}05Wtr3Jhx9Z1qV(g_yq`4A{j=uzwknl7 z5BZ*rb6HMdS!76~w`&i5y;ieoxe&=aCOZ?2LbhVtSA7$}n7M9Fo2->`cd5x2m6E;5 z>pE#%D=d+`WxM|XB|W{}?Yn?JGIbBTPq`jHMoex4*H2b47{_NLAB^X`o|P|hWR5pJ z#ayaF%*hx@8$ddsQcr>O<}NQc9O&hfg+z`pmJ%(B%^b4Is;9pS*H%&%UWGieI+2Vc zk6oxqOsJP3Nc)>)#u&?z{{U%i-%$M|$#9It%r0waM%s(fdX!AayV7)#>SsFZ-HRC>^$%>S$pdk17FAV3F z<2IkXP#Nf@e|{+=ns}5)G=XJ(Z}kT=J&RfXMPoT;+oRmKnu-jq+h!upp7uj09jlYD zP=PyI9SB~X6-KX@+jsR(%6bXL7l-FQ*goBTR>3uRs9Jtc!Jw<0yG>j>i#a%KT7=Bb zBP(hwQ-7KhVsxHYndI7zOpuIp$%tOyD`8uVuGh+%D4D0y9EoJJt~pDzw-`8XF{|vk z2xxS~B`u6Z@yzZ|!7gE~OAQ>a9pshPP_^t}b9F4qc~6*UtBAPR{zM>@GKCj#btP6; zj%cHPsu=e1nF@zjDBP+~$Sl=ngL~QE`4TYUm!bav$IE-`;9L(}{cHPv^}CnfOo?^B z?VQ0BpW%5umf&5c!W{IzmA&F*6|m5&rm>8-h%+F zK~Mp8E5GC$1UF7bWG;8~AQv>0H}spn{h% zO|$PSaumBg6LmO~p^Y!!{5XU9g4^F~u%@C2~Q8B3sw1LH`fSw0@Usyggic)wI}l*ujd z(n^{d?XA(e*o}h~YPFxn4~YYQlvn)QD1&pOq&C0-9vnu`*VM^d@VjS4HE&QUMuAJROLmNYWR$Me4bds zT0eWOy7TEUxH{SJJ{usAPmlrd04g>7ze-!NK6jyWuR9u22VXiWb<{E6kaexG0IB_t zkQ!LPEDNe^GodLgU+r{9yA(Sij+g=g01wv3(PE@)OuzAP+Xv3TK1d`g@A(DS?|UQ1 zft*6WD8iv#_T@TU!OTr0ZS3{3VzX)ctAa`Dp(7ezXby0AK|q?4R}Jda%)B=j%`Q zNE>2EUnFaK>U@RRAgBP43uyK7eyzUN{3G}quh>33?0+R}U6rr<8c@;H*Y9^*8hjU? z-F5o;4UZmncjJ2>?2rL07?tuEl5yA`yE_Zvc0Bme1dkdDH{kE6I|qG_)-*=K?1G{8 z0P&zkn0$d^JTdM5wXjad$M^atuV4r3YPxN7@uD_0^8P>UcL(T^HAs0pySBXkANy~> z8}ugcf9CwvR{sD`&3OI%9=`4V_vcz0W95gDBQpld?Z&WN+d@&^p)0$AF+| zyminlP}^R0`%-*6{Dhbf=3GzJXohaLHY&`yn(DF2VjrJK> ze4Be?<3r05J8wt-02?5d{#)`vJ+@fhzq@qaziMycUcNVe6Kxac@Y3Ikqh8vp0k-Y@ z`c|re*#@=P0!F|)@VXrX$a{7q=y^Ut^QGwzp5#J5m_wZ?4Zfmo>=RSZB~^-0t%lU zOFEr7QiObzk){o=JK5Hh?4PH8F8i}b6WI|*wO;aUbRWRGXvTWRJRYp5#P=lkAZ-0V zKOYR)axh0cCk8zk^WEM^Gsi&Rd|*=k7qJ` zwW-vzKLE!jN7a_)4U>xevSXvaV~RsOj|$wM1x-uUjt2gbJfeOp{XzcTd1V;lp4S@W z{Kt{HxIiAZE7Lx6nz*|$$Q5PB<8m-NcPzDdBKu&7I>Me0X`B zX&E6HOC)~hJekRa+_>S3mBq&{9mgXH=Sg+>{vYD(km3DTn)2b!;qX42{{Rw?B1aNg z3~ns59M~{r!7e6TapPo`Z>RI}aeko%fu0;lPZX!fxj1fCyO^v|wFJt_eXA8_g`*6t z%sM&-3KlX;6#+_&CU^Km@maFgtJ*Xv8w~Vug``**Y5xbUQM)R98DiC(g9QcyM$T zuBh$$0Z@QGI#vu6Y!kEoh-M5*k)i{F3r6g^>Z8C5r6iAt(CUErAHVz!YhVI{>yDSU zbc&Mmu`0BujsF0h?)6@~$jjPQtwhsIi#`tD7hxU#3Vl22U1cgm0oA)};z}?euqBBK z2FHb7rCGd?<(=b0Cf$JtWxyowL04r!Bd7$fhh<^`0FI|_XjZZNDtuRf7*62m!UNlB!0_9VpXm4UIDxaxv4VUyu4}yWi!ng8p_H zz(>N^=|NOHRW$8uas7{03NC3VB1-EOU{(mkDpkSutE3~Tkakx05uC<)v}Bn3FbEq- zIhImGFI&$UkwZ$UF^Dl%2SH97HZA;=zzdlCz)b_9ddVK(36Ah7cL z*1-6M@6|~E0G`d;OhHy45%TTPe@7Y}vQnAU{?`%$^F?&O0&cd+q*q*xV2bC%a{rKL2 zA%BX4xxQFz>tpuET{cy=P!Oa7+a5NckjguN8lTNh@4MQa_m^VA&7pqhvK1k@d{n%6 zg#i~&gdYuEUd5wN?)*$K#WUh+W}fag9Ce(vtS@^Rd~vxQx)pKvrjphvEKi(DEnh29 zD`XBivG*rSRVvt;#T!t_7rneOIDM^rfG^48|9>msUpB)A@;>bs5 zwP8l>%P_ThhC;m}u`JPHwq1|TVikIpg}zz@n3qwn@A(nf4z2Q417qtCaBbNPh&0Ev zk!T-|_WDHZTV$T>N&PTl57mD2QDm}}i)rPp>^!$cz6MJ}>e0u(pb0<*-5(03fLaBs zy@T{+0};{BSjb>ePky@|;p(ix4{iSdB`n0gmB>P4N-^X5^ijX>j6zO(BP}&U5 zuB5S7C5L7Y_YH!;=@gRj~0f_{D{{TU?rXW7N0hZ%y!)yZW&~LLJ1Q0>l1n70{ z0bQt22Bd?M%f^d8dMF>+YKi1UrH2zU7dcUxB>)^ev+Fe>NU+x31Zpu`WgRAw> zZ4s~m>Z`xv^lC4P{gr77_yLc-0N&eCDdy~5;VIF7Q3wtzipil0CgHx+LA*L1@;LotsQHBS{o|B zhAp69dn~L^>?-R^zJX^L(p0DZ81<=5qHZALPB3%3Qm4 zLao^rYgXl!#N@wVL$j7B+aM9NsUnzZrN0z?4v}N;wb*9^ak7;R9DE9?@J`!g4NRP< z^)w2LqhJJL_PQ)PT($bIVC3<*^Tx&*GR5f>u?WdzT88A2L&QZ}jnys9k^Oc(%wPr^ z_yQETbER&qdvy$ldf4hb53OX+1*tuCh%udDDw`5-G0R(TW0zk3Fc221lE@t>^Ok|LTC$5186h~sm z{W?F7*#LcJ%Q+C6A|XNAQ`Nxb#DSH26xou@EXy=gMDa9%l1R0t1LPhy z3dnnHS~AC49h9ETX!4;bk&KxZwW{A=9@pgUa(t@Rk5~H{2@Ie^LE)F3not|7)4!Ub zTLwbJ`%<4IXaYiyCPnOet1Bbu&x(Nvql6Tskv?W<)*rpwe~f zt)K>>3fg8SKagz>q^aJ9`0ca`?S28yx4jZaP~}M56#`iF-F+9z<*HQm zBJZhuR}AVF?sJC4$9axIlD73Fel?PpiAQx@g6|BxilnGgF%!(=N3C9(e@fp+KIO3$ z?){|w`FbttHzt-5?fPBoH5|{NKBGx)M3tk()yL-BJH~RBw&EfEvy|AX(yD=FdxQ0X z%l;(8!kHdM4A2T(jybSP>O{+rv~Ba&+4Z?~>M5&(=`za*u;gMchBm{m=~i8is5hUdQc3owqZ1V;J_s$K>{6LH6YG4x7R5 z31)7g%BM(v1+*_yQ2=rOaz#U_ec5!fO`W(Q*-USq%UxYGmKN)=^g8@C(yj|VN0 z$L%bTL3>8vja1>@5~_NpSSPfXkWWwPGQti?#!;8(VN6)G*)mLJwRI-l>G0iVkAE1$ z0HgW6xxj9$pcwX}WkYox7p}tz5cLOR4Tkghj@{eHTzj^MbsC~J z2X=mKcjv;uhDgDZd@Su6fD0UcMin3qrJ3PnRRA{1jeeixSABI`_${x$hml8(NnYiZ z@H_lKo7~YL^dSEL_y_Xs^x2yse#vjh$z&%5cd74NbuHVl2i$YnbOG4^0AMf2_4Eg2 z(v6K4Rs`&my{?ag*r!wDs_6M1c0PvA>$If0FS5QOSG(ij9W8jX)RA9?wZ5#iqhyC; zR(QSN!2bZQye`RAl5Ey26a3i0W)(V(h$?H=VnUCOoHJ>53n^15@efCIoBU<#vK_cq*TqN*$Myjpbld9R z?U*+Doq?te^r=}RBuEeMkMLe+Rj=NFqNg6OeAVQ;l+iEs+k0%~{k(6P){Yt*m zzy2Tkv5U)kt?AS#ak-C9J#N9@&K#5NHZRp`k~7BjjECf5==&N#S*{<1Kl;{giY=M5dKowQlm{94FTBCOMkCt zuI-DX#Qx%aKJ>rtTZzCDJ9K?b;}|@KQb-YGSqvP8jwU=OljyD;a_Rrb^e*0=QRGAUwAwx z*X|iCGGudpn{n<-imj8((lNYH{{YrLjdNL~$7SSryJO)ELnCqk{?#`|oRf{lhJGGQ zoSr1G@iVfA-IfT?2Olh)t+eV z<&zjwQ05cMM6TnHK5T?hj4{TO*P6Wd6wP4XSnpGs2UFHnc#3J*k)p1F)wU%gdR_D# zgFl9BiU|M`q%!STxD4JqHo@5V_y=q|0!D}g_s`WYQvDG1H!E+3{pEeQXTHq6YK8v* z68EXx7mM;s{+U?G7n(J*&3z@cO2;VS@Hj|KjE@Dq$bmA;X1@=Z{AHuxa9?76p?YtF zsp>BuhYjj4q*XK1V3*8=qb@2By_oXe0)(SJosY@YEsP- zKHzWMl%QYA2Wqca`1qWeWFrh2XCq8Za-5Nc^usf{p2)5Wo`9>d5772) z9VsWlDy%}O01nI8CZc&ym2&N;W&JDu%WaQRub_qBWCm~8V(b=7i_;f{;!N)=;<$-q zc>7k5AufLFEQuHSLh;(!N+H!G>|wKZw2I2;${k7>4~%*(Q;_?IkMaKiQ$0f}@$ z@E?N}dE;5EGFi1HeBfBr#*gm25f+UlZlhqTIXs0o@DmEl-tot9C7W>&HZomM}x-{(7|q}35K3~ zGZH1FS6MLdRmEhz=++@2c&3s^l$4i11{u=+C*ZPShO^E-V+@haBJ>|`iTu`0gVrPl zu04FyXVCc-+cca}p=BtLBVJj{kuE%Aqf@k{-mBFNqr-VtNuzpL45gm>iaAo0{>$tg zgpt?TJy1x^)%ym9M=U;nOR)N9mqR!AoSp-Y`!FeCn99axW%kx*MX8OB{jo5LNV@l| zisn^8A&@W@!u`*+yeN2c-lO`d>SH`lG;-iE&~e;6Zx6p6c1^1GyeefzXLpCiQ0T$w8XI$=jGxh(d{_XZTxJHw`nU{UOeNna^=8H51hwV}R(KOJJEeIV zO@I{rH|_oC`kP7>slhSa7t^XCq;i}~hvJesJ>IgpXtHr-(kWzQC)|hFVyzpK*)|}q zRqH>he9b10lX`*5GPSHo)+M8BEp@0Y;D#nFc$4s>RAmA<;DJKN?x0m?RWP4d&OdXN zj|3zoea_Pv5z`zPFd7|o&d8Jcf{<+Z5N{tH%9XTX3-u5XNC4nc~1;`Ct7p$??S7p3Qd0G!`?|*3=iHuaSkTqSkwYHQa zpHsa~^t+T#4ojW-=?u4{uV3;w-=&-zB^-0kQYXn}A;{adxI>rC*e!Q2dT8XEA#J3$ zEr)voIJtX0hIiY^JC#sAZtv8o0b6g^usxZ-+1n`q7|1D)I35Wa3VfX~ASgiUKnFmt z=)RL|dv)l3g%6^`v~p$T@+Xod5{zLJtg6WU-@Mz_D=yQQSO;ngnR8^tgmB`7B`ag^ zlY8nUX9zJnNu~h3nw2lB!DrU*wyX@&98aWt*VGwyI^O2ot}Z<&B&m4~PCXV@bKNWpnP^Z14OUQw7*)bDz9ZK zbU}|>?5b7N_>W#kj|81;b~vtPRY33CKz2R~$<^3^ z2a!f@Tv)Qp7Hlp|aLFt=f*G*0h`94c6PzQH9rT$Q$`O=OGn7H}*E5L@A1jr^k0*=u z2ywYNc<|?NvSgnNlw!#!9F8ROV#AVreB?~HT-b4BV8iZWgu6gp!Uk-%E3nu(8Zods zC#08RLabSvYT>%M&`>ltwjeyYjx~5cJawh|PVXN>L}QyLP%)PiaAB<(BWJrD=^GX5%wd$X z1=5LQni-ZvoJu{Y+I2#YYzIH}2h)hZ3jxbHHyFWOmU)*SVgZ)pqE_hyvgNqOQY)C- zP9hbcv0zn>>(UV`Lo&2bI@!4RG6ns&A|xj%#v(+kmZt`Aq`a7=QLv=1M2A*g{?jHg z2`6YtgE&r5GUI;lPSK3I<3XU@SJmpob5FJ&OImf0KlaV}Hew4~C+fck`@QsEmdzs* zufw6}A0qXC(=2?Y(DhriWuk>yT&gfC>Bo94>31}z9M~^Qy&cKVGqb?hZ|ZaQ$--^e zK;XvJxPPwPdyMlc<)V01V7QaqBs^v`JL^wp=9zJcmz46~Mg1G~dy3bRw3%*m!Z>zQ z3@OBCZ^n;3C#N^~K3j;*ZdYicPEo}%w{NP;HB)-BEu}e(=09p&s;ppoH76Oh(c_*D zGwW9^$Jh?a=o+~76O3})Y%qxG_C%K=cLEYd zVUOw@BOu65-Esq65(Ro|k0wIn&5%0;u}XMu66+brVL9RJDENNv7H!@{?v10f_Fd|& z`$DG^`zQN^=Ir$z%rEHItK1XU3jWMw*J&ib={KhQ?-e9wSo$i%Z@YY?MfQMU2>Olb z9Nv_%i`37yFT0;e=82F>2qIf=GmPc^{$NL90B>35ll2OtPslED|gCR<-Uq z_U~ueYH<3!!y;>b*vMtMU#GsIW6x0FB?QKCPfjbmf@w4seERkdyKc$|ao{Y^#j8bM zg8kS1#&F>rwC;-Bf78B4i-MxnD-;(g%fkJ9wLV78W%rt&vtEeqyNbjiOutIwauXw- zdBRSj@P42paW|U})H!(kAhL%@-LaGGODQ$|OxRRHp&zii?6b(ctX6esgd$0yVhieH z#&Pey4o4JXe^~R}Dx|in*Rekpp&taRPHWi+>#TR?^!pLV;i4p*H{;io)<~IbLmW_u zr2uS~+ebF!7pbqT{-}DV>T`l>(vn$n+3baRs@$9`Rj%?IoVG+r6(&C9l$yFm(pWts z4pzz6^+TU5ADe^akmfC;S#p%? z3>EvYRk>bnj!lx*V;_{~Q(!HkRtmLXPp0l%k+2xedYIQg7okkIaNllF@5;XM-0=)XtI~r{k)`1{` z31{Adli2Jp`XkDC01pJ4TaDC@bHG(&qTj#JQQ5Q!B=`h^-GB}H1(t=S?4I14Qpdu` zKphzD_#O)D%M|cBsUU|LYO}7kjJ+6w7%su?2_1v63Z1p3{{WF12lg9djoa3c5e>&w zcHFk?-F)??Vj7m2KNWi;XM%#4@>LIyFQZ?c>NnecfbryjO6-1*$yhT2PT9u1o}@Ov zohJM~!jisr28O}yv)r%%fC11}=r^W6ML!-*G1idp$yQ^wAH|3RXHCD60f&$oNGD%q zxAG-VRwS^}vvwdJpaH#r6fq}EK+_OSy{-PAnrZZNCnV zf&1?CP{lNTG81SX?4%HkLom=ITG?R7V7KjjpOFN1U!$>QtVDh?5%UZ*+9d~5`wHEL z!swro0d{(Vevov>tB?Yd;5UJ`9frOq$NvDDdaAKq>^8my$AEOqb_S1c`F0);$xo0D z$Rzpy0GH6`2;CkMm0vY`>TNX?6J@T0*Or?u{{Z_X*H8kh^ZtK*KAzR{(l~?6B+lPystqLD4I}t&FY#^R^|JfL#Lk1&A8a489luPX7RV0QMBHl8}UG zm3fkvS~Y5w;dQr0?-?~pvDMzs_bTtoem@i`X1F)pr>y>%TTHK}-m7|r>Ha|!!kHc! z%lQWyy%bWwD^D6)!r!4hNhBJL;}Udelq`!ROv&|m_>c96`_0GNbA9tqhcfE!q%{h&lvyU(%9E@>PM~>>u~D_Dic-&}5?Suj^y?GvXmJ$e%zhQHGijH;7>&d>f{{TQwRy{y_W9{GW zYwZv2CE;nTrZ>|609kO^Ji^yPfW3+qt5W=LZDb-vY1zY=LZB{KdGD{utfQ6__3C?g zATTPsLc}hLc{}OU6CnVW8!qgBJilBc{&dK|jdYZf8Fm|GnYt2LS$Cinb_igA4t#z@ zN`_333lFy=u!()8$T?A;SjJE~7|6SqWTeJo8T9T~izD{g%=65y6v@LY$IRj1{kdmpc-Qw>NCssk+4jo7ua2ea*0XX<=w#_K`;FKS^Z5IH zy#0X~nXtz!=;}SChbIam?Ghf*N|%<#c>e(IaY?CZgEv8SRAq$x9!5(40H~+e3Nl

b`XzlA0%mPMoVq0k-<}6W$U%jk}9yZJ7d~5RSmF_eoS_wSv1{2MqMKV=jORt zczLn^0L{h65EmRJ6EuX3u271wu@RR|?bl*X;mwDnOkB=XVJQqUWUSb`2vIpF+yHw< zE=`K|b|EejW|B3AM4LlI256iS^CzJU!8hbQZ6<*5yKNlL$1WqXkbyyMFp!Sg(t@I9 zNB#^tyo;e31Ui$jFs){rNMX4WFO`aDqb7!^>XuVbOu2HPnGf|c26EZ+$twW&yL zd*Dn@b~-v`EUG{ZSeDsizxD|^^Krt=m?s$&5hfL*O-4$ux%ZD&t$nh&o00bqx69*X zDBFrqk|^CC)gJ|x%B5O;C%Q>do;P+w)%!!KenhcT^A2Ng2jpXN5B_#Mls+`wbVii< z@%!?_TJQ>=2jn&hC;chIYD$mPLkzq9i8?te)q;Y-WGr4^+ELnE?+1HJatgcK+#FS?kv47*Bsz2_CB_Me9PT5*vm=B0J@vp@lsC7krq3hdlGwsK7EKF1pv3i=>C;Q=<9wq0Qw}j{AuqL@)z+c zOVdN~Z|7m+Plm&k+{|gCS~U2DMCPNDUtQQ+tuuDk}(#!kdx zbfIJmAsQt4VYVY=2H5OWcC5u(ev@GHhDKDLDZn1gkvrHYW6;C z1oQj)3|q2*f0{;L3{}Z1*eOs*B(B%U*OGwgLH&V}{EEeyL1CfsCLl*`X@q0|HLYm@ z8}a`D#DZ2JPS#!Rf)LS=RBVl%Y#$>;4JjJxf7U&uV5}uz-T_j&VZNcX%FaA^Z#_@Q zh1nYV9Gv*TGIsbQ89(&-61Hyq(eR$U#}lRmY)c_bkHX{KSDk_R^nEfBb=;7WNe|m; z`u_lBN5vTb0L1NBuY=oueuWa!mAiM6A`gadJNYXpQcQ}BH=&{j>2wDEk;+J$(vm?t zAcM8)f75GY!5Zj4ThZRWgFU}pb~ZftVfz4Yus#R?odMYEe_oF_G*poZdA`I1?dA6M zM%7zcF8vSrY-%u^p}*{&fvt6zfnOAE-#hfI(7@X%Wm$WEm;_>^5BQS6YtLuw+R!Jr zUmrb5!P=7R`}p9e-J;{*2^r4 zOAg(RiEiXE*gFJhx>m@OnI6c+Z{ef(LNHh#-;(0C?F4!2oC}-oCYI7?RHr{y+Sgn`%evv$Foi zitK^lge{^&85?K-@7YxCRrEk_03O7Xv*hf4yp4h5=taEJH)et&f92DvYJEm8*z!6Jc=(L~2s$}#zue#&WBb5N&#RS$M1i+`(v_xYtG$O?&-Tr zvwx{Hv~o&1mKy&6=(3NBd=Ws8i$lo29+Lrcv#oX-DoD}oy^jaR$nZ8bui5<(krztR zAs&82XfIVDG12R`&GS_%%wZEb@BH?5FK8$bE_D|FkMrw4jUgTUH~dKt*ZBeCO{O~sXRgC}J_nzmS}9XZ zV|399&A*RhprE%jrln z*+!IxPy?0O@Bk1OEUy?f&)Tp1_Ux1Z&9z??b=`S~?oh`W2^? z`2-W(NT+|q?03-E*J2d-(>94Mzn}@(>{qBD?Nj5Uc)&;WpT!(e{c>s|+f2mb&~1N08h`v-sP&;CEw_xdCEvAvHTKS41d?TA6-?TFWn w_|}fc>tFc?L;d|yJ**jiD`jqte6@AA_I-H9Ne8R)eEj*2?^XEncx%`H**Fv=9smFU literal 0 HcmV?d00001 From 20c56ef780a9c5e790354d998639b04d6e88d80a Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 19:41:36 +0200 Subject: [PATCH 162/176] Fix game folder name. --- .../game/__init__.py | 0 .../game/__main__.py | 0 .../game/config.py | 0 .../game/gameplay/__init__.py | 0 .../game/gameplay/gameplay.py | 0 .../game/illustrator/__init__.py | 0 .../game/illustrator/illustrator_dalle_2.py | 0 .../game/illustrator/illustrator_dalle_3.py | 0 .../game/illustrator/illustrator_gemini.py | 0 .../game/illustrator/illustrator_gpt.py | 0 .../game/illustrator/illustrator_grok.py | 0 .../game/interface/__init__.py | 0 .../game/interface/interface.py | 0 .../game/storyteller/__init__.py | 0 .../game/storyteller/storyteller.py | 0 .../game/storyteller/tools.py | 0 .../images/chair.jpg | Bin .../images/machine.jpg | Bin 18 files changed, 0 insertions(+), 0 deletions(-) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/__init__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/__main__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/config.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/gameplay/__init__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/gameplay/gameplay.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/__init__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/illustrator_dalle_2.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/illustrator_dalle_3.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/illustrator_gemini.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/illustrator_gpt.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/illustrator/illustrator_grok.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/interface/__init__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/interface/interface.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/storyteller/__init__.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/storyteller/storyteller.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/game/storyteller/tools.py (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/images/chair.jpg (100%) rename community-contributions/{dungeon_extration_game => dungeon_extraction_game}/images/machine.jpg (100%) diff --git a/community-contributions/dungeon_extration_game/game/__init__.py b/community-contributions/dungeon_extraction_game/game/__init__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/__init__.py rename to community-contributions/dungeon_extraction_game/game/__init__.py diff --git a/community-contributions/dungeon_extration_game/game/__main__.py b/community-contributions/dungeon_extraction_game/game/__main__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/__main__.py rename to community-contributions/dungeon_extraction_game/game/__main__.py diff --git a/community-contributions/dungeon_extration_game/game/config.py b/community-contributions/dungeon_extraction_game/game/config.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/config.py rename to community-contributions/dungeon_extraction_game/game/config.py diff --git a/community-contributions/dungeon_extration_game/game/gameplay/__init__.py b/community-contributions/dungeon_extraction_game/game/gameplay/__init__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/gameplay/__init__.py rename to community-contributions/dungeon_extraction_game/game/gameplay/__init__.py diff --git a/community-contributions/dungeon_extration_game/game/gameplay/gameplay.py b/community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/gameplay/gameplay.py rename to community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/__init__.py b/community-contributions/dungeon_extraction_game/game/illustrator/__init__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/__init__.py rename to community-contributions/dungeon_extraction_game/game/illustrator/__init__.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py b/community-contributions/dungeon_extraction_game/game/illustrator/illustrator_dalle_2.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_2.py rename to community-contributions/dungeon_extraction_game/game/illustrator/illustrator_dalle_2.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py b/community-contributions/dungeon_extraction_game/game/illustrator/illustrator_dalle_3.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/illustrator_dalle_3.py rename to community-contributions/dungeon_extraction_game/game/illustrator/illustrator_dalle_3.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py b/community-contributions/dungeon_extraction_game/game/illustrator/illustrator_gemini.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/illustrator_gemini.py rename to community-contributions/dungeon_extraction_game/game/illustrator/illustrator_gemini.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py b/community-contributions/dungeon_extraction_game/game/illustrator/illustrator_gpt.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/illustrator_gpt.py rename to community-contributions/dungeon_extraction_game/game/illustrator/illustrator_gpt.py diff --git a/community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py b/community-contributions/dungeon_extraction_game/game/illustrator/illustrator_grok.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/illustrator/illustrator_grok.py rename to community-contributions/dungeon_extraction_game/game/illustrator/illustrator_grok.py diff --git a/community-contributions/dungeon_extration_game/game/interface/__init__.py b/community-contributions/dungeon_extraction_game/game/interface/__init__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/interface/__init__.py rename to community-contributions/dungeon_extraction_game/game/interface/__init__.py diff --git a/community-contributions/dungeon_extration_game/game/interface/interface.py b/community-contributions/dungeon_extraction_game/game/interface/interface.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/interface/interface.py rename to community-contributions/dungeon_extraction_game/game/interface/interface.py diff --git a/community-contributions/dungeon_extration_game/game/storyteller/__init__.py b/community-contributions/dungeon_extraction_game/game/storyteller/__init__.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/storyteller/__init__.py rename to community-contributions/dungeon_extraction_game/game/storyteller/__init__.py diff --git a/community-contributions/dungeon_extration_game/game/storyteller/storyteller.py b/community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/storyteller/storyteller.py rename to community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py diff --git a/community-contributions/dungeon_extration_game/game/storyteller/tools.py b/community-contributions/dungeon_extraction_game/game/storyteller/tools.py similarity index 100% rename from community-contributions/dungeon_extration_game/game/storyteller/tools.py rename to community-contributions/dungeon_extraction_game/game/storyteller/tools.py diff --git a/community-contributions/dungeon_extration_game/images/chair.jpg b/community-contributions/dungeon_extraction_game/images/chair.jpg similarity index 100% rename from community-contributions/dungeon_extration_game/images/chair.jpg rename to community-contributions/dungeon_extraction_game/images/chair.jpg diff --git a/community-contributions/dungeon_extration_game/images/machine.jpg b/community-contributions/dungeon_extraction_game/images/machine.jpg similarity index 100% rename from community-contributions/dungeon_extration_game/images/machine.jpg rename to community-contributions/dungeon_extraction_game/images/machine.jpg From 3d3d21943abcc689586a7a7617de00b027a5b059 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 19:52:10 +0200 Subject: [PATCH 163/176] Move all config to config.py --- .../dungeon_extraction_game/game/__main__.py | 38 +++---------------- .../dungeon_extraction_game/game/config.py | 38 +++++++++++++++++++ 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/community-contributions/dungeon_extraction_game/game/__main__.py b/community-contributions/dungeon_extraction_game/game/__main__.py index 73a0e35..c166c6c 100644 --- a/community-contributions/dungeon_extraction_game/game/__main__.py +++ b/community-contributions/dungeon_extraction_game/game/__main__.py @@ -2,42 +2,14 @@ from logging import getLogger -from .config import SCENE_PROMPT, SCENE_STYLE, START_SCENE, STORYTELLER_PROMPT -from .gameplay import Gameplay_Config, get_gameplay_function -from .illustrator import draw_dalle_2, draw_dalle_3, draw_gemini, draw_gpt, draw_grok -from .illustrator import draw_grok_x -from .interface import Interface_Config, get_interface -from .storyteller import narrate - - -# Choose draw function. -DRAW_FUNCTION = draw_dalle_2 - -# Configure the game. -game_config = Gameplay_Config( - draw_func=DRAW_FUNCTION, - narrate_func=narrate, - scene_style=SCENE_STYLE, - scene_prompt=SCENE_PROMPT, - storyteller_prompt=STORYTELLER_PROMPT, - error_img='images/machine.jpg', - error_narrator='NEURAL SINAPSIS ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_', - error_illustrator='NEURAL PROJECTION ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_',) - -ui_config = Interface_Config( - start_img='images/chair.jpg', - place_img='images/machine.jpg', - description_label='Cognitive Projection', - title_label='The Neural Nexus', - input_button='Imprint your will', - input_label='Cognitive Imprint', - input_command='Awaiting neural imprint…', - start_scene=START_SCENE) +from .config import GAME_CONFIG, UI_CONFIG +from .gameplay import get_gameplay_function +from .interface import get_interface _logger = getLogger(__name__) if __name__ == '__main__': _logger.info('STARTING GAME...') - gameplay_function = get_gameplay_function(game_config) - get_interface(gameplay_function, ui_config).launch(inbrowser=True, inline=False) + gameplay_function = get_gameplay_function(GAME_CONFIG) + get_interface(gameplay_function, UI_CONFIG).launch(inbrowser=True, inline=False) diff --git a/community-contributions/dungeon_extraction_game/game/config.py b/community-contributions/dungeon_extraction_game/game/config.py index 057b781..ae6a70f 100644 --- a/community-contributions/dungeon_extraction_game/game/config.py +++ b/community-contributions/dungeon_extraction_game/game/config.py @@ -2,6 +2,21 @@ from logging import getLogger +from dotenv import load_dotenv + +from .gameplay import Gameplay_Config +from .illustrator import draw_dalle_2, draw_dalle_3, draw_gemini, draw_gpt, draw_grok +from .illustrator import draw_grok_x +from .interface import Interface_Config +from .storyteller import narrate + + +# Environment initialization. +load_dotenv(override=True) + + +# Choose draw function. +DRAW_FUNCTION = draw_dalle_2 # Define a sample scene description for testing purposes. SAMPLE_SCENE = '''A shadow-drenched chamber lies buried deep within the bowels of an @@ -137,9 +152,32 @@ You will use a turn-based system where the player and enemies take turns acting. * Reaching to zero health or lees implies the adventurer has die. """ +# Configure the game. +GAME_CONFIG = Gameplay_Config( + draw_func=DRAW_FUNCTION, + narrate_func=narrate, + scene_style=SCENE_STYLE, + scene_prompt=SCENE_PROMPT, + storyteller_prompt=STORYTELLER_PROMPT, + error_img='images/machine.jpg', + error_narrator='NEURAL SINAPSIS ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_', + error_illustrator='NEURAL PROJECTION ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_',) + +# Configure the interface. +UI_CONFIG = Interface_Config( + start_img='images/chair.jpg', + place_img='images/machine.jpg', + description_label='Cognitive Projection', + title_label='The Neural Nexus', + input_button='Imprint your will', + input_label='Cognitive Imprint', + input_command='Awaiting neural imprint…', + start_scene=START_SCENE) + _logger = getLogger(__name__) +# Log scene prompt length calculation. if (max_image_prompt := len(SCENE_PROMPT) + len(SCENE_STYLE) + STORYTELLER_LIMIT) > 1024: _logger.warning(f'ESTIMATED SCENE PROMPT MAX SIZE: {max_image_prompt}') else: From 67f3307aff289dd03b96725fbdb106f0e737fc74 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 20:30:36 +0200 Subject: [PATCH 164/176] Fix interface. Images do not have a copy to clipboard option. --- .../dungeon_extraction_game/game/interface/interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-contributions/dungeon_extraction_game/game/interface/interface.py b/community-contributions/dungeon_extraction_game/game/interface/interface.py index d0d05fa..b7b48e1 100644 --- a/community-contributions/dungeon_extraction_game/game/interface/interface.py +++ b/community-contributions/dungeon_extraction_game/game/interface/interface.py @@ -29,7 +29,7 @@ def get_interface(submit_function, config: Interface_Config): # Scene's image. scene_image = gr.Image( label="Scene", value=config.start_img, placeholder=config.place_img, - type="pil", show_label=False, show_copy_button=True) + type="pil", show_label=False) # Scene's description. description_box = gr.Textbox( label=config.description_label, value=config.start_scene, From 369a2d3f2dc5f95eeae2a4a4154e6baea683cdc5 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 20:32:37 +0200 Subject: [PATCH 165/176] Fixed circular import issue. The Pydantic class will be updated on runtime before using it on calls. The field now defaults to 700 which is a safe size. --- .../dungeon_extraction_game/game/config.py | 3 ++- .../dungeon_extraction_game/game/storyteller/__init__.py | 4 ++-- .../game/storyteller/storyteller.py | 9 +++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/community-contributions/dungeon_extraction_game/game/config.py b/community-contributions/dungeon_extraction_game/game/config.py index ae6a70f..945d987 100644 --- a/community-contributions/dungeon_extraction_game/game/config.py +++ b/community-contributions/dungeon_extraction_game/game/config.py @@ -8,7 +8,7 @@ from .gameplay import Gameplay_Config from .illustrator import draw_dalle_2, draw_dalle_3, draw_gemini, draw_gpt, draw_grok from .illustrator import draw_grok_x from .interface import Interface_Config -from .storyteller import narrate +from .storyteller import narrate, set_description_limit # Environment initialization. @@ -65,6 +65,7 @@ SCENE_STYLE = 'Photorealistic' # Set a Storyteller scene descriptions size limit to keep the draw prompt in range. STORYTELLER_LIMIT = 730 +set_description_limit(STORYTELLER_LIMIT) # Need to patch pydantic class model. # Define the storyteller behaviour. Remember to specify a limited scene length. STORYTELLER_PROMPT = f""" diff --git a/community-contributions/dungeon_extraction_game/game/storyteller/__init__.py b/community-contributions/dungeon_extraction_game/game/storyteller/__init__.py index 042ceea..92d6739 100644 --- a/community-contributions/dungeon_extraction_game/game/storyteller/__init__.py +++ b/community-contributions/dungeon_extraction_game/game/storyteller/__init__.py @@ -1,6 +1,6 @@ """AI Mastered Dungeon Extraction Game Storyteller package.""" -from .storyteller import narrate +from .storyteller import narrate, set_description_limit -__all__ = ['narrate'] +__all__ = ['narrate', 'set_description_limit'] diff --git a/community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py b/community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py index bc976f2..4cae135 100644 --- a/community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py +++ b/community-contributions/dungeon_extraction_game/game/storyteller/storyteller.py @@ -2,11 +2,11 @@ from typing import List +from annotated_types import MaxLen from dotenv import load_dotenv from openai import OpenAI from pydantic import BaseModel, Field -from ..config import STORYTELLER_LIMIT from .tools import handle_tool_call, tools @@ -30,7 +30,7 @@ class _character_sheet(BaseModel): class _response_format(BaseModel): game_over: bool - scene_description: str = Field(..., max_length=STORYTELLER_LIMIT) + scene_description: str = Field(..., max_length=700) dungeon_deepness: int adventure_time: int adventurer_status: _character_sheet @@ -48,6 +48,11 @@ class _response_format(BaseModel): return response_view +def set_description_limit(limit): # HBD: We modify the class definition in runtime. + """Update "_response_format" class to set a new "scene_description" max length.""" + _response_format.model_fields['scene_description'].metadata[0] = MaxLen(limit) + + # Function definition. def narrate(message, history, system_message, client=CLIENT, model=MODEL): """Chat with the game engine.""" From 9c301f8bee06bd7ab9292807993feabd6f228617 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 21:50:31 +0200 Subject: [PATCH 166/176] Added README.md doc and some images. --- .../dungeon_extraction_game/README.md | 133 ++++++++++++++++++ .../dungeon_extraction_game/game/config.py | 4 +- .../game/interface/interface.py | 2 + .../images/advance_adventure.jpg | Bin 0 -> 200543 bytes .../images/first_input.jpg | Bin 0 -> 16849 bytes .../images/start_adventure.jpg | Bin 0 -> 234544 bytes .../images/start_input.jpg | Bin 0 -> 13798 bytes .../images/start_view.jpg | Bin 0 -> 246159 bytes .../images/tragic_end.jpg | Bin 0 -> 190236 bytes 9 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 community-contributions/dungeon_extraction_game/README.md create mode 100644 community-contributions/dungeon_extraction_game/images/advance_adventure.jpg create mode 100644 community-contributions/dungeon_extraction_game/images/first_input.jpg create mode 100644 community-contributions/dungeon_extraction_game/images/start_adventure.jpg create mode 100644 community-contributions/dungeon_extraction_game/images/start_input.jpg create mode 100644 community-contributions/dungeon_extraction_game/images/start_view.jpg create mode 100644 community-contributions/dungeon_extraction_game/images/tragic_end.jpg diff --git a/community-contributions/dungeon_extraction_game/README.md b/community-contributions/dungeon_extraction_game/README.md new file mode 100644 index 0000000..19995a9 --- /dev/null +++ b/community-contributions/dungeon_extraction_game/README.md @@ -0,0 +1,133 @@ +# The Neural Nexus + + + +TODO: + +* Set boundaries to user inputs. +* Add sounds to the scene +* Add voice acting for the Game master's descriptions. +* Add voice input. +* Control End of game. +* Use video for the final scene: escape or death. +* Allow different settings like space, medieval, classic, etc. +* Control difficult and increase with deepness. +* Control deepness and time to die. +* Generate a score based on total treasures, exp gained and deep reached. + +## Requirements + +AI services access configuration: + +* A `.env` file with the credentials required to access the different LLMs is required: + + * `OPENAI_API_KEY`: Required always as it's used by the *"storyteller"*. + * `XAI_API_KEY`: Required if Grok's illustrator is used. + *(Less prude, faster and portrait mode)* + * `GOOGLE_API_KEY` Required if Gemini's illustrator is used. + + Obviously the used services must have been topped up with a small amount to generate + the responses and the images.\ + *Refer to each service's current billing information.* + +There are 6 variant implementations for the illustrator component, some of them may have +additional dependencies: + +* `illustrator_dalle_2`: *(Set as default)* + + The DallĀ·E 2 implementation uses standard OpenAI client and should work out of the box. + Although DallĀ·E has proven to be a bit prude and rejects to draw some combat scenes. + +* `illustrator_dalle_3`: + + The DallĀ·E 3 implementation uses standard OpenAI client and should work out of the box. + Although DallĀ·E has proven to be a bit prude and rejects to draw some combat scenes. + This version gives noticeable better images than DallĀ·E 2 but at an increased cost + +* `illustrator_grok`: + + The Grok 2 Image implementation uses standard OpenAI client and should work out of the + box. + It's faster but does not support quality or size controls. + + Images are generated in a *portrait mode*, so it fits specially well on mobiles. + + Grok is much less prude with violence and may draw combat scenes, at least against + fantasy enemies, and blood. + +* `illustrator_gpt`: + + The GPT Image illustrator uses standard OpenAI client, should work out of the box but + it requires the user to be verified on OpenAI platform to have access to it. + +* `illustrator_gemini` + + The Gemini illustrator uses the new Google SDK, `genai`, which replaces the old one + used on the course, `generativeai`, this new one can be installed with: + + `python -m pip install google-genai` + + *Both `generativeai` and `genai` can be installed at the same time without problems* + +* `illustrator_grok_x` + + The Grok_X illustrator uses the xAI SDK, `xai-sdk`, this can be installed with: + + `python -m pip install xai-sdk` + +## Configuring the service and game + +All services and game values can be set at `config.py` file. + +## Game launch + +The game can be launch from terminal, just navigate to game's root folder + +* `cd community-contributions\dungeon_extraction_game` + +and run the following command: + +* `python -m game`\ + *Notice the `-m` is required due to the project's structure and import strategy.* + +Game will take a few seconds to set up service and configure then logs will start to +show, among them the service address. + +It will attempt to launch your default browser directly to the game's page. + +The game can be stopped by hitting `ctrl + c` on the same terminal. + +## Playing the game + +Once on the browser the Starting screen will be shown: + +![The Chair](images/start_view.jpg) + +There you should input the kind of game you want to play on the lower box and submit. + +Your input can be as simple as a single word, like ā€œspaceshipā€, or as detailed as you +like. + +![Set the adventure](images/start_input.jpg) + +From that point on, only your imagination (and the Storyteller’s) will set the limits. + +Once submitted, the image will update to reflect the scene, accompanied by a description, +your inventory, your adventurer’s status, and sometimes a few suggestions for what to do +next. + +![R'lyeh arrive](images/start_adventure.jpg) + +Although the game begins in English, if you switch to another language the Storyteller +understands, it will seamlessly continue in that language. + +You’re free to type any action you want, the Storyteller will adapt. +Still, it’s instructed to keep the world coherent, so don’t expect to go completely off +the rails. + +![Adventurer acts](images/first_input.jpg) + +The game continues this way until you either escape with your treasures... +or meet your end. + +![Adventurer dies](images/tragic_end.jpg) diff --git a/community-contributions/dungeon_extraction_game/game/config.py b/community-contributions/dungeon_extraction_game/game/config.py index 945d987..7cf3735 100644 --- a/community-contributions/dungeon_extraction_game/game/config.py +++ b/community-contributions/dungeon_extraction_game/game/config.py @@ -15,7 +15,7 @@ from .storyteller import narrate, set_description_limit load_dotenv(override=True) -# Choose draw function. +# Choose draw function. (Choose one from the imported ones up there) DRAW_FUNCTION = draw_dalle_2 # Define a sample scene description for testing purposes. @@ -173,6 +173,8 @@ UI_CONFIG = Interface_Config( input_button='Imprint your will', input_label='Cognitive Imprint', input_command='Awaiting neural imprint…', + game_over_field='Game Over', + game_over_label='Disengage Neural Links', start_scene=START_SCENE) diff --git a/community-contributions/dungeon_extraction_game/game/interface/interface.py b/community-contributions/dungeon_extraction_game/game/interface/interface.py index b7b48e1..8d24269 100644 --- a/community-contributions/dungeon_extraction_game/game/interface/interface.py +++ b/community-contributions/dungeon_extraction_game/game/interface/interface.py @@ -15,6 +15,8 @@ class Interface_Config(NamedTuple): input_button: str input_label: str input_command: str + game_over_field: str + game_over_label: str start_scene: str diff --git a/community-contributions/dungeon_extraction_game/images/advance_adventure.jpg b/community-contributions/dungeon_extraction_game/images/advance_adventure.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d2a5be7838bd8a050dd9d108f0e4d421aa6e9a4 GIT binary patch literal 200543 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 z z;cup`QUmSWelD}=(%WTE<3L(VRS%yx$AlqDH@aE~&rwQaS=z*e29R##- z977HTR$b3{JVz>EpI&Nt@qOr2He0I}?WC6}t3W5*kZiQnY@(l3z?{kT_iD#GinxKr zxMr_|;JA}=5k$YJiE&EmL@!(Dk=Lq2-U^!av&J}`xU5k(r3kGdr*BBddlf9d8qsj{ zz_JzDEJ-5w_Dmit6z;upEZz)a(}mm*-rTw^*s`muD1_h(bY7-hu9R_gJq_RM_U4GY zI5;zScmAb7jL_BK%M$N|+cIH?{goHoR8zIV2{ztr)J0X3N}kG1`H~@~%LgP6Ab(;gDu60xFGHWf&C;C3NGEM=J#oYasIn%zv$ zSvb`^zh)JtCppQO{9fI0{D3G7fED5;o=NX>o-eL1@petMe9v^wpRx;Gqp#;k{kOXL zKi93UlOCn7(Dt>WwsRa{TzO|#&M8ORgTM4Yj9>El{*2g?|I6P-I&v-WDDLzRV{iH& zhAqP28Sj7V0{-W^b}P$2jCjAm3uNFno1SLmTF-o;EPB!`dunS37K4C1Yo!5xT~UD& zVKS~w1s~3MsE6L&FIq1u{HgMZCD80UFLjRdDbL#VnkT`_G>%c1h)R~_y?2AYLi~PO zpoKrWSsGT1DjEOFS3|wSyC}(S*5TD*O#QpqJ&we1FA;xT7WbrzD<;l$sbssuqE*AG zDTd18qPV&_g%SHnBn1jGSu0eNsm@tS%9x|pIA~^)qdyfn4WpCz@Wt=Ae{$jSkhnDng-u~=TX<9YdQoasULnf{Ze#FpJ$ z{>_5JJnT%Z$em)Ey61GrP~Ib`I3KOgI7OIm)JvMPA)xsO+A}$!y)TlFumriG26nG* zpa99TkFg?&{n&l8I)mZEZg*)o+8HDbY8XkYp%Ymv{gs3amh2PbQDV;2xV}{%pDk!t zdm>&N%|>=$8P|^yPu=qJ`}*QF(rDI`tEyaphXy}aBG#RXK4c4N5jThxvr-ODZ|EEN z{Q1VTd{|e9GOg~Z>x`CtitEEKQ*x0wOq)F;nQNn!u!A#8MWc7(-4);^Z)ZVwo z+Kg5Y3)8TLL6|I*pxeSAm!+fut&qU&Z#{8eoJ`6OVXHA;=OJovd*CwAI6euvg2kY)_xMJdV#`faV*)Qojn1`VP#5WQ2%wCSEXfsym>(_{@0|@YX;g%Zp3<> zU}wbEn@j>bsb&58ap?FIXB;qgb{h^T7E__E)E?Go?H7KloG)fRZ@+gQt4nRbPwi_L zMr@4pewbYBp$|GF@u?OGu#2wglug5Il?zmEQ#hSxrlZ~@x-oRk^v=x8k;c5gfXN?E zhaXx77dF|DE?~B*--}1(`~_0EB+Gy3rT~3ITYsvx5L()7<~8+^9x4484POIt)OBzD ze$22`SykL2j~e$wtWvfMwD}OPvnsKU3YM-Gfe?s03OGj*xgD@ zk~RXrCUEzNvy%NIqq00x3<|RroKr)ZwK#N`+2s^5@K(ngPf|#H!R!nscWsqFgZ9jD ztv<;5CG?if&L$0CV#bY}mPtUU^ygxH1ZI<)i;}OcwkTP7Myf%1e+rc*BGiX8$){iM zddWnXe!}lcnDL>SYmJFEV#VXoRaccWq^pQ{7qgWM=vszu!7-6>x_zWVg|rAGV2cnt4D9<%s16 zqo_5^6ZW&Ywe9bPFGs(lew1&$x&JLIX4fT7g&;-YydFsOI<%lOHtr_(bPQ;|1;MVX zPO%>rPJ^HR_1hd#=9-5O`8}-6LLEdul?!3XRMRt)LkbJ#&Y9jH5Us45`4Cqg2GAnu z*p$~OFqNxhC`0(Y)nguIZ>BgRYfyA$99y#dR|KjX2~{luA3B(@0de{I*S{SXy&UT89O z;?R9*I6qSKWa@is(S;2nP4|w9vzI9%$;%?K;TuK^wJ6b$41lot0}2$turNF7M-$E>61#D$2T*#g7|vfRLtoi0Qzb~$PF zuB^Q9A4!YUR8E64!%xr^PTP0D6VqPIR%xRO5wrFium<13_~*Pp9GF^e3-P;u7(Uk5 zpzcCxi`d!Rui~IjF}?wOm1Wl@FS{{000(zN-QMfgNAE%xRzT`bf0W#x%Hf&2VI-xm zL)hCms@42j;zqgm2WXC~28!CiduCEQZN46^yb}! z_;}!0jASx$9q&x*;)8=(1R*C2bfBUG-Th4us}O;>LLkDp1ao3>o*#w_M`#$?VWPxi zm-{YL`B#{4=9{i7yKQC7o+dDyR0sbpe}RRp^J$4~wtTUwv!2jkiT(1?3#NMQxk^iR zrYPW3Y?l!~8#3ukBwPBFXFA{OqZ2U;HlzBRXaaoE{htU#B_$y8)hV@sa45 ztrZja3mVnlKGpvOZo*FtVwXb2!C<5-^ffGd_$9ozz1DeXXM$1cFEn{CvdeAH-;`H> ze`nUfecvx>(B!A)Rw?NKx}6ngnoR0S7#uvF&9ez6u3vmZhYdB;wH;xMwcEf zL&sz2qM%Ino zA0FmwDhIzW11-)v6N6A_36VZV=oy?r0=C>Hxg z=`Ec)gAB+EkU3Qsu{xb@4$t!FoW_ot7;WaeEDbq*+MyC~F^ATN|3to%S!NC7d_!}A zy`wU_=UlAA;lWrRa<83^--V%1k(^=mW6;^xw2?lRSk`~lK==f=?k<`7$GZQlgm_NA zS7D6fdd(#C+Z(_e0u|M4iN7r`LDLc6#b3`3{*_JN5S|}~9ZE<&ZTD-VJfEI_~?ogyiL$KmjTtl$nZoyOBEy3L# zzLP!9)w$YtXY7mh53G#!zIo;|=lsFTr`FIOk8Sa)|4Ts0o>Q-fP;+$j4o$9>wp*%@ zB>4|xKtS^DK=Ok4ubO%63ZdH<1#T6`C9T(Dr|R>sOqhqJMoyTAHF>;8RjBj;8#v-?2COzT!qitfVX_}NMtzUJr6WNN;z8NoC*vpw)p*m?cST12oTtVLnsWh?=K2Yl$ zYwJpYw~4qSl;fDK^79MAq0atBF(Op#m)Z2&eUyB6OB=D;jeQ%sC$o;70Pd#CA7>eEkL~ zAz0xFG=H{jcSE>*wTgAdL@1E!m%h;i%BG#?Z)NtC67If#YjEuN95cTycCkCzRB_AZ z_YIr9{~5E~<~D1&e+ z!iunQ{(DVJcNQ4hrdRK3m=&bA;i;y&q1SN|X=AlFF|z=CltwXAu2|7(?cZ2K%qo(J z4@oWj%Hfh8|C24g)hpoaYGi1tw@O%M(`k4ASk86Lzp!w_*|Q)<0bx5#km_+ycqiV7 z4I?NP$x4vZ>YXUeb5yw$&WWHV{oQjFzp}@ERbKib0M?=Linf$76E)E?0J)@y92pR> zaJ>C>Jp6D~3eKXm2hZZNtZfftL__hTKUN$3fa!9?oWJxB7RkKxsN7Rzb!AuMs4LV# z(*l#~qxbxW7h`%U*MGefeWOQI>3y^!ZhNRrSOfZDj99h5LKR9HohDEn%;GxPVIxEv zyPsaR3c^=J)ZQ82k_R0fnxRHWhchn+c0>ZT_toag742*zdPF7w9Vc*EBqAz3yuNwn z#3a&QVEdZ(joV~;X!q*-?Ise}J&~WF@__9?0pCX-C}$ez?1d-W+#a0&x9|KPd9Y#^ zlv=0Q6H%bA1ZaiW`8NCxn5KV z7|`&4*iLrE;1Nb6T8Y=a1`On|C;sfI`h~M_6+mA6$ac9X{gL8^8Epm!*OjbjS*nuP z&MmpRs!AL6+tkV(IvExfO%ZABKK;1`Q9q0DXeONcAJCtwE=VrgGCVY+wnMr@X) zdxHGXRlgk-q<`h9ZEvZ5-Jl-Kt3!u9k(qTVZu$8Sh%_^+W4lm2>B?=DKTv1C@%v>( zss13N_zRceFL|`YpO>l!8H$s|%U*XDfE?qo+t^1k-76KTUZp74Di80(58`H?nk=px z+w!&8kP|wLQ@%V9--r8iI!>4ntLv8x4(_72N{hly(7X`(+r{AaCUI6JVD+eh3CDJ$ zExF?9i&4m$nZpR(;Ok9QmnprsNKV`?;HiZCulcX+7zyefEEXRU0`qMHu0zq>8Rnh3Y;T0%F;fMr72 zJb6k0?qNZIQ35 zp`sHr%EJR|F^Ci6H zr{agpiiUKB%XOyiumZ2y_UA^NSn~!SD76&2ip?L9yrJkqBPj25oljljS;EypprT}d zTmP9Yzr)MT96RN$5H9YxS6z?XCIQI(;3zMk3kg1s;s@>?NAaMPU1N^o+UyK!4>ED> zSm7qHtiT+&LF`ngfC214UD?Sy*qfYdn%f`q2Du^ellyaJ>@+-$Hu?c`mQz|uj zy6{w$zN{2U*s@mPH{Ur9@r_A_t{XuFr+XuJybed@bI7pjj7DCDX3$N!|%9$1s!BaITbnGe%<-Ho*ueB#5O z3*E0yG%b3M#Bbn33~Q}o8ZZ+9E>S!GdWZ2fbbiBPc44KTG!bVB+&8*jSNVfnHaCu; zL=D!q#4tPM$R4IH_5Abl75o!&VET9i&M0{-_b*xZo#^(OhVI4RePMXZBo5{@5jzC`nRq@|8PQb zWsuUG^MHbiH)p0b0!0!@Rf(ztC9#DKj=8=@Nv51Zp(FXqoS=miK8V#rk3jw#*5crT z$?UU$6!TDOzNyMjXXHm;BQara!5F(b;J?OFbk#?2h@}tvRwkavsV0ZHS$mcb6k&(l zp9y@(;NaVZuSd&!thHhCmv_(NZ!W@rSuKfp?VEn{=NK)u;e~;voaKIei)8HPp@xcIvA3jZ$ny4|#gf}J65Bx(o%KEd z9wov4rO1Y}z?S4(jlHMhmo7(SH1;LO=ZEsfXV3Rbz}l&k$Yht`RFS=K zg%(=S4H_QyZIRhDLI{>hu z-J`dGC-Gyy)By$@0~4;K-y}y2(k-xrm21!BUy~q3HBRevx%->#>ArOcrq5wBihaLx z(ffFBKG!GQG^_yH{7LEe#{D?^(pvt;xWrEH*SgN%I)WoM?Tth*_fi0GnvW(-AYJoe zb0a|1OP7YJlA5W8n_kn4 zB<~xozN>?9ez^%Mp48td0 z?PBiZTel#>3!zrg6S!i%bSOif#h9?Y+*;M*o;^g@s4gdc?H%}CD_4Xy2|7$G&6f)hQpUsY59oYZBtAj5e=1@5hIlCa=*kLlp zHfytYLpr-k!*%L;af7sCQ+q6=k1XC(RzDNM5r%1Mqlp70Gli*p*qF>?1njE5&df|PHsn~&bW?jkVWLmqL4!9Ggw_yP+mWf_p49^LM=+c(#$X@QH z{mE_}r)sScn2O1~V;U??F8N$H6>h$(Rp8U-(N1-vhJ?Q7GqoH)`ikDauv;2OW1|oo ztkV~g^SlOGSb)_od;Ass@q#DsVp2pNPnMmt$+;LcKT{Ja;$Ei^_;*imydvJHma}R! zK(FX&XoUt$3cA+Q!^`obV{+>Bd;of))<(gxMZ;H?ntv^v6;XGymLeSaby=|@ML%RY z-E{rET-HZb$Fb_LX_gnHD>l!~Ddx!}^4fDx<#K>(i!&GyMYIwVix?9`$x^=($p23l;41b2oFX3G>S7wBI=;Eds^=Y z#T;P4PanCb2o_pbwVTXKL{*F31V_85m-o}AGtJggchw6;+NZl1V$~kA{dqiAiDl_3 zhKZ_p9K;cJ*QU`cw8rG~2W*b0Uk63Ti9maG;Wc+N5$l;&-gU<4I`k4^cOhoE4`q;4 zPmn@O_kIooA3!scgM{dI4;`&)XDSDn`@CA@bA7xNqfzyyrJh>nP{>T$QEF#QSNqC| z){7!^(ezj+ekwH`FQAR(tK|I|IpNLNf1dnHH|4z|Bt0I=LK@FAtA6SwUHADA+*C{a zE*LKIcEl>`qO~lv8i~1?eOqdmVpuqyeYUxs*4$FBcvZAdPc#G*xQkJm29zl;9r%Kq zPOr{9w5xwAs&muzWZunExS+kSray>t%K&t$J*+q&4}>(J2vZyw)YTAg^YpQx?HcSUwjmiRn2|7o;C1L2Bh3rmqfT#knVAm5@)Y-U3GDJC282 zpu9?)_b<6YvlX}bL`>qbI3N@YnE%>3{w7CznjiS{s-@wNbtHT!^n@sdT#P9ZAE~#m^wF`JozPTA)UFu*3C6~B-emBE@l@0YbkNIgO zM!ANQOp;>rB@<6p^uV=YtP?d;^sqqpR%mZtwqmq39Pmp#lAkhqF+xly^>8`0iH73< zOVNc?hm5Rjb7ISXVV=lRv&C7|vm{v@?fm~;iapr%9As8n`Nb?xj|oO{*GC1^(@Y!+ zPx8f_sAZpZ`^89Pt-j1~fukD0!U&7`2orGknZHPk82Gpmz>*RH>FbA)H%XX0RGAdV z_sJFjd^~GDZDRztPYeFqu$q4McbJ><&h06PrCX&WIuihhEfu2`Ok7vokSZMc`6bAm zp!0zXn0dE!{~}E6>G$1gh7#RK1if9x{uEOe@oI_EV=cblMIU>I zb@UIwIBi!BaH<*Q)x)~6{C$JfTq3*Y5?U1a&YN85K+B-nrCv(r1?8KQ*QiP$T!PZu zVrd}7i=Ybj<3UNv$;rj!INwC93SPX>99&VTP4LgN&q-!HX@0|eYYAXB7SRiGf?OO@ z>6ja+--bQITZLDuzVLb3e}GK|%3MEk(moAFLJ8CJYFn7=%oF-%`0Lq#}83-N4(l69r?`n9f^#~}WzA=BZ0kU>R-Oe)R+CY#wALw{w zhH-)qdR=}FKECj}JDh+Z4II=3)*K(gzmc%7YL(TslQLNJl*p9}f2;6+8T%9M|4g}o z+fek7dzRXV@!8W_JFQw9Dv|5gik(UJ7YIu7741Cq+NzF_P|mzA zrF}$(K2D;W{NH09M`zEdN1};My4z-gV&bLjnF&y-AupP4$Y^Pu#;-qo^=B6N(ofE; z6v~N*B;Vvc`o)2sq8T>srS?vr7d9K<3=+E+5^%|IO9$ModeHVpn^8<3CJr9D5Y*cF zQ1xePqs4N+iVlyXnV;^M$=+AjLU!C_hlqY>ZoNFSO39X8ZTHLf0*d`FR2e9$wJVcG zHel7c)&cx&ofd4tC(;+tB7as}>%TW<^s;A*>ao|gtj|1AvyzXFu(LbWXJ`==YK;WW z9rQ)E#M^h#$tQ-RzrJATLD_N(=@4gr^@V(-zkWN-$;59Xn_tJNit*VZnE?U7Z73yx zp;UA^Kh0ELvSXo@1KAisn<=UCIJ3GkKQOp3_h0pX=y}%AaSZ{qw$U!Ol#MU85z($Y@xM zbid-EskkcT*!ILw0du8o3oS*@)w8D^qrs+z@1HqWJjb{sxlN!aYTdm0ds<6s8MaVT zX~&wki`tnRAYarO)bPagAhiSU!JuHpJ5YPP2vS2s$3^Mr%Hspa@T?3%de+Yog93+sl`W=s5Tei*%*Aw7b2AVk z!~X+U`q$ESxq=_&oL}^9i&1r*0cg8 zIpYtxmLK2h5+|;!;oII#!yf;`h;(pb*VTDRiZbhycW85)B!X+O%=~c|a!&4UAYnjD z-Vrta+$X9Trxa^rG2c07RsmqI?`If&FOUDc*bl)uKQxZMk=Osn*J5New=u=>ky?WV zJB0xsFKq2__hwdcjfz4JZR(7=$RW^Qe8pG3)5`;Q4(3`Baze~f0e1()c#HSafsgI4 zvS;|&sh`jYot%A>a0)sf(&m~l$aoHpoyqf4D7fe+r~6Oh-{y>XT=I<1pZT3G&ZK6) zZh*CN?*S=azw1@+#iZ(_3(7IPS|#&WF~#2VYG(LdjJxwSm^kj?XYDL)CaRvb&!F<} zF{mD-*7N4u`pWIar4Zoq3vu88i>==hKvX?+Yl2+PrqQzu!By`6aZ$JL4_rz2jB#hkAI4jp{ntFh+KEOZ|3&1HpcEJ z>iUzd6heWWGHer(9K&Xp?HpF&a$W7en^R}|romnn!&foVgarR#uuWys^iFe<`m@IN z2-t1iq}A5tW1jngflE%%{DyiSz6>HC^UUuUD&B%o{;K{el?vy|pN*Io$+PwG3f8ha zVtn~&tthN!kOWBWQmEk3_c#TK!L3w*7c62062x9vFLHDE~ zTx_*rPxqLo>T$~2Z+jA}7-bBI52=xVzCR1Ga2L>Z=IhIwBlEtM8h~JZYLGFw`b#z_ zhI!e8v(BDF=}xWtXx@8wR!v-hEzs6*|A&D| zia;4MBzNnxB-~s`l%5Lq%S z0zAdMl1+}Q!BcMt+D&a z8lG>{;g?3)*?upPBHpw%us46)MX9G!Asvfr`wsi8U#yF~(Xk*ievw~I|DWa_FMY)~ z3W_v6y89Xag5fQ*b>o~*FY!cNq7fNMb$98ujH7b_{W%-G#tpuh(Fk`{DPcGOr00iZ zy119bU0i7ENGcO`O7yus-97B89;hWqx?i*#$llGx{f;4JM$>^d!%d~sT z!z(Kf5}t2`P9M3eC@It9gYAD&-f0t`vvF0^%b%CDFXgW;>6Fqp5zortCO@7~p<7Dv zR#!Ym@jn^-#&c7zbrjPR%h7U=VcNjdW@H1_o(ROg-JD)(h^&c3Vw+QE2}8xf>(gBq zkV8i8=2}=&I&qifg0xtASDe&NU8TmoL6it)mbvR7JK^1kwXPK^CtZDVBdxnZ~ zGA9vq#PC92qPBtj?ULbahb!wuAnmqViWB9d8h;uMKzBCs!*EL~&jDHYojJ^E;puRE zOyc@wRYHsSoYFs0l@HP)R3Kl_70`$8h?stmLTX#g15xN$)D}>@{xpFDPiDVOc!b@vm(Y4jR@j5oj-un-<&^=mx|wVmzV z51hZI;_YU;{~fL_1=kd%nP>-|?7{KFE~(_zJrjWYrT%q}&X~gjYP58xvAcSaFj2W2 zV}$7Id$=G+2F1c9tgkRr%>^TZvSdJ*?#-J=R!+53lEuoEf2=-^2_z;ijp)x*S{FN` zV&15%R-vrz^~39e=IW=>c23IgUn{Vw&f%9tedTuWyrv(g-L$dfrK~rJ4yHiQ>VQ6|Jgw%=mO{CnTAT=-#8f)h4Z56n^#Xse^V> zXReDia!55b#0A8De3ZCYG;?zyqa_OPDbNpeRk_`HXEVV^u?TmL;rmudxhaL9YSu;% zEUlh1P#5>|dUOMdLO-@#8U;7X9%&js4u%9m8EC=fsYc-iNqkkSH z{xeI8``OdJaL%H9g7B`g59`9zjg?WHE~Mpd+{m?SqR+;0cF@#{&?#~Ykjz8dK0U26 zt=x)x!YWIEVNUw>#^T5mtW247x7 z5ByGUB`6<+T250Uuk?F@NYfN01rzWGZ!l9 zUcJ&RmRx~D{74Q-$ajLU)@vH5WeYPFdntro=!Mf1x(wE>GH;r5tG%0{a`5A2RJqBb z=?fxO%TwX8?d+el9Ub5aA7q((;^2k1i6R+8)=ys)*p?X90=m6kbG`bA>gc$HCS9r+ zX`dW}_(oN`K+KKet$h? znTpl2gOhsT*@_G=g%{bym;yg>2XdLQ`%b$>=@sVfhLnMnx@(}uMdhtlxOUb-tU#8v zVj=w~oxjH#end*(XPeCgwVLvGEf$)uWaJbPs9Su)3wCRrsX8N}x8$q{;fz zn^r$vQTU{LlQK%SI|iO$-gB4PRsJ#H3WrlfI@{zY<@qD3g2;Ne z?D;FAL1wvVCA<~unyFL#^a>}Sfo}#i-uPi%5RtM^x$$D}T0foOhZ51+rl=*i1UW8N z#;dSX9`9IL`GzL2k;3t`xdK4sKXk=1UHp>||GC3VzDJpfikl0o*o45=imThrG(_OY zmRce0KMc=RVUtj=Z%=ZKo0=?m+z1MBDcwVnGOvhnQ!6lv#4x+I2$-a`uFq>dY>OQe$>XbTPi#d-)InLiP}DU0ty& z#JXy49CQT|gVp1k62%dSD4HMk;Q=MZ_y(xiCCZ)@6+;2fYw8j-maBus2QQ#yPj7D+ z@UeFG3SL7UabP1^az5RmJ3K)mE16XC=CK5k+U7;ue+-@wcVSOte&y9yDk|86@8h(= zi*0uoP^Kxq-MZm<2S;<8t(f|nY}RAt>zGfnmY*yf^7j!p=%y338>_o3*xTiNnFP_W zIPNDJ=tOgwMzr!DRBnuGQklK?`(8vhD7(8&u(KT(tb(_%n`A-4UG)y?m_`SFET3cx zB)l=1nGu>93>(1YsXYo@O2DUi^qqyBluRBzA#89NmRl6p0>wvJ+&!ifO-YNX4ZWJS z2x=aSggvcfX({!Li}zCW$eoTM4{3sw7;fP^udk7%d(bRa{Q4~Hga5>AZUsqg zVd?UX?n3_nY-=+1Np2tvP+vv__>W1$u8B%;~Z^?E8yB`Y6fetBTtW+han8Y;#@M%!}J9$-B#q z)2f8^m2a-CGQe0gbb7nPHXcv2c;h&V&O3$;Kd(CMG{zBy!GX2Uv3ccJtY{#Tw zQ*`7W)jj$FBskpYu_w-w^k>kES=Nd94>9&bHuLqjaWyY1t5_~Lt%nGGC#Q=YOG zlk$mMi%R1|9ezH?``=)GDP0*`gDe!nbkW8#vIc|;N0=$O!sVXVcJ&2fMwVooYHtG2 z$Ri@{qe8QyBpCfYzVqDWs61m5-uiV0B{^6au(1}-SX`*xw&DhwEoEjZ&tw+e(}y)A z->u0LTFFta1IPWD*BKIokT!$KUuwSta!e5qtZ6qUkqa$-ENtK*&!b0|n;@1unoa@F zW}S`e4OCP^&IK-r|NpCamh&-}{+{i2H z)8E_w21*FZ74dw{5?OOGfuh&@Mk;L2dw9R*I{o<0bnt4h&>(>;-Vm9waSj#!@*?PIlO`S*Ms zJ%$BgarolidY#+V*s;FIBQXZ6sdQ4>MIJ!{R4I1#LpifS8(y?)JqR9P?$MiIYQ$D! z-(5?6yB}w_6-pG{f9(sZd4&?z|8YM$nd5|J(YFb+ZCWOLK4b2uW5jr5sfRevxZ+y; zAw{febZ*0xoJtGwJ!}$z)LhNY&7b>5lM1X~#XB2;UYbv32Hll&z@zVHntEqXqzSaGwx<#=nCzWaW zHzv#Poh_#uhX$l9gf{hv2K;rK&s(K(8j1I+N?FU=GxcrzDXAy^krv`I**6bD9 z$>y}aICdLMgn6Hra*{#jZE{eT9p>eRUBwO?x*!&ytH^|BpPrQQAbXeXOJT^PxS0{f zz$Wb{TnyV4@_&8Pt+fgYI6}8>*)Y{pUD32>^-^Zoj+Z%_Q}K~QV%=(5qn;ga$#NT; zn6tJd#3jkM^T(}PQsW8c)7J+Ec(&3y7m_oFRg;! z?O)L>`|m3+O~WO5K6|X(fq}Jqy|No8{Q#L2+~FuaE~HW$}!Z|jn(m$-;=p&;J5-LjzSnT_A^;IU;^`+ zD)91O_K?$;ozD{yx5viSiLu?+Vm{+Zlgj3%Xgv#O3wFw1+3;dvN!oswV=WioL~bH5 zCk?86GSzXCXh)u0qmdt>_VzuuIAVo%HcmvBsXgfBjiFC#l3)YN=jeH(t)+mr4z*2K zG1o~%PYL9R%Dg$wC-H?_%t(MQnt@xE!}fg*%=RToev}hUT3E5me0r+4wQ9#@RzV} z<+b%}#3c{@@?k*CA}IS3!E`QrM-m=5rYKRd$wx6)7lgaK*K%_5660{-Z5`@kC|qr< zrf%7zRb{=UWtWWDJN=y}C)Quoq}VJkV>HPV!RkAM;}ITsFa=16GSGj<8jXD=TClA* zOiuA0dcR9z&V?Amlb>jsf`QZ&*O!_Kr+HV|w(iZ+bmp_<)}t_4} zJFY?RoQPMYTlF`&SW57E3E~t6ptLth$T@#m52u%zw-bl?UqLSxld%$G&nMb&QADTB zV7O8p=E6a;8(0Rn8@1L=1abm){5V=c-4o}{R@pX_H|m>ZLDt#Z1po|3hWH0-MTI+Q!&^T)IapQC7S%a*ARfA*lEcwK}#g9X(BbeW4pYb2&VFR)f|<3S9wLhF3Zy_OOEKW zh-7;JBx`dTLc|QW)u)rE`SyRO#ydfW|6!UZ7D?^ksdeDv{Jw+2zqC z=i^?m@mVIVzMdpezJNjNlVh!MdxuLJ96OmS=6qcyo&*k8F72E`gVR5{cdOyOzG3eT z>=>`{`It09F%y=qc36>W`2M=5PT?!qlOFeTnnVlne0}+gyLG40ch_A(b&#>#^$em@ z!3g_HodhxQk?*C6p^4e6Ngi5IoKm=zw|51-zo^!P^01t*bx13Zy*p{cGFwaDLXG^n z1q!;a!5KQyXL7F9mgu;gC)9>5TKmX!qSm{LeUmXRgr1o=2gi!6drClx4jh9grnr<0uZ ze=>ZKRF#5qoLnEibt~WXYPOh3HrreOhLO7Z7%%}1HUrI$FH<^+dp2J z;CYA}Smi78oWu0p>Y^Ia{B7J4C5KBtA$38Z*afnUUxMAhU;Bjq;H9#6VGTxq!Wtpg)`rD) zG$W~^-xyp3V!}UJP}yAD*Rd|MOR^xkC2OprHjMKYBzpKUTj+RorBRalf$BeuFsyEY zySiDWSv|qu7!8cu+KZpYB-dy=e2@4#qF0D(Cq2X)5@jI?V}mYath6CgWQ}2X9&P7)Ea(lxgJ|lXn z8|6!PF1ns=nqcM*7|8|Cb!wc=|I6V(S>scN5x*|KQIVVmJ z{;TLXCG=?;+>B%MESl->|N2z>>-~rEaR;3|D|wQuFQ@1;J;RTEYL4BoG4rF$VV9fK zqO)Jdj&@!E6ZWj?I%Cmlc92!ak%&bJMWtsP~p>fj*(CZVKCy%zZ4y?hT@`cB| z8MWFEjjh2y;b^e7gX>Tq`#}Yf6ozc--3M^v#Z^JRr|WdDtAVU>w#xeI{Iz2?#@t28hvHsA~GAo z(1Fg^+0J!-C+LD>lVQ(k3(_nS12^TU;wY)Ze(vw1UwI|cy)pa?DIktZkN~9R6-9#o zCfGMq14!Pl?CF#AEAM1A0PLQ$@FkQ}tl{R=$amPlwmB%nwK`I2!TWw5%^0e8;1GV& z3_Bznb6F_eCw~#Ml0NfKt@YXSB#|h&N351XsCQUu_Up|T-&7hlq49j z^?U8IZF(g3Z9k0hU4N6Ml&Y&;2Z%2KC~q5vODE97zQsriI86{QA3LUNY>b2T#?Wrl zXKu`jE&LWIg)hh(gMar@i%vb5GH0kKeI3aa=;sQ?mwp6h#kx=8XRv42#dRAB+Pn7= zaLYaS)dh^~hMB*x$!$>m2jH=cC42rKhDi1LGKaC%<#f)_FM?$AF=;U!gN;X&63RzB zRtaW}W+v}W_Sql>Q}Qw4jpC=OoQ)%~2@4D4Vo+T*)mj29m*JPZ)Dg|E#Ga ztg98m`cF*sH2Oyk)fXQ!cxHt(yb;QSv7L>^PY_~<1lS~3q!1#Ch=D3jO6PyG3cp!U zZu~?@W~mXU0Sh4|Q)XVjtTt1vhqpgP9leHT`AedHkK!N&qIGdv{mk0*dO9c%H=;%T zrgftt>CVpt#ZZ&Gce8A9ZJGJihpZ<@%!g0oKkO$X$YMedV{_0a%06H=N{pn;Rs_(% zyZD6`evVIHbAvGTH@}@eBtae)Wfak=8y~=2&Tg3-sdG5jX9}hRKPf}xiY7cQ=g%wu z4WMWQr1xG?x4Ielvnlb;o#7LCI~us(99evMI|bi(|04)+DfXnZmEKn_@4fc65R9kl zb8Ot#x7Be9?2EG=KzNRe7>OzEY(R|$^`(Z=l4PB8m>Xix4-0zB}@ zrmiATO=Q2GkCq&v_2-7uk@wERilNP+-|@quS`$KjO$fteW`Jo5D|x3 zE_cD7+m#K6^8gkBkV|MzA?rgbiZAoTk37^bQrlraJ;aubNSl(G@>CZG3^Q~}tG?MP z6I7E{2;L|yazHzOC)a;(kv)gl$!KQoNeU+8yutkHurP&pC4(wnp-I%8Rj+3#|(Z?vMBq3w1vtHPq;TT3?Bx5L)s z(2ixEnS)OM8Oo30$x4^39xRieFBDDA>#1qV3qJt!b265rVmWp7&P<=f`233(AoXN! z+SZAVKw(xADrI(Wu?{9jxOBRi!Y5sfH}ShV4n-!9c5>g36!;UZh6LE;UpN1e>o6Q| zXiOz=G!B7MXs>CD7}2q|RsyaOc5U0NReW;UVMDrp6au`hOad)0g~#wsyW>m^`?%a= zT}U0^F%=@yqCT(8q!;H1zL_!zrUM)dC@`!$lvb8X^|!0{B{0$vz0Ff3BwDvMa?f6v zC%hDf?`li%n%eoUMt-XMgMXNSZh<^kk{VnhH%n+_;I#2d2DO zb$>Q5oOT+rx{NMAy3|bsTsVxHN3*z}Qtk;V+F0GlO{z~^meU!rM$K5wf9hJiL&FuG z*lfMLvWd~}hY#xT^oG%|_{=we5&Wt-s=_F!iDPX5xIZ=#Q{Sq4gY22u> zNEI$7Mrel2LP!#6x;l5{ur!)Xq%zciDKmXIeSw26%I$33RwQL=e#;e^iR-k6$Slmdi z#o`%SiIeZj0v-gtJ={3kcttep8zPVK1as@9<{CeEkho5$GkYPGQJc&T&H+SUY}1wY z@ouolIoAEr)9QZks5DkV+HQSXw+Ze2`3r9;{)xX^VwaA-$!>ZY=5**+>iF7xOZZ1i z301h&noqFxeyEn5os=b)CM$vv~Y>@?)$FhY!yp=*-@0b1ye1E9ct)VP|0IqNE({_ zvKXqf0YlO0hK;mznzpS@3(YShRlDSH+w~DH=4NlUE8x< zW_^LG!VUaqch@;<(@bcCm64%&HA3X{qytp9e;FVD^(P(1$?3;Uh`(;E-fYM_ zl1;X9giN6rPM@!%IMhNh7;c1+;4k+4?u}& zF|pr&B7Gjf(v;rgCVu2I(bHdPc1s-txMH{NY5o(0dwPX>vyjxKU+|k_MORKA^;d|N z_V33DZ_ah<#I-EqW1X3AmQRE9a|SsyOncknk=RfuApn?MZwL*m@GweSvNd$~5`6c@ zhdz}UXLW^2aG2v?{!~p; ziqTXZ_j3A&yaXcN`x{O%1Tc(;hdD%=|7LvyM5yVaAU~wnBuQ=WrtTd6xGEeh8vU3n z#u8UJz&3$ z6|hCIH#29!{y$E`Og>JnERepZaQ8@{ifW*>eWPaLMZO7%2p4jb-SfTq=3qD-kO7X! z)Q~0W_WM5-P$JxEm6VL4GqRyQH^5IFhD-Mc89I2H;v9~yMsk=@I>MYD-!el6GMmii z6LRp5_@d}+>Y`w;WRBj9$GL&ms4>L%<&{sy>So9Gzb_b9`kd!!Kd1idf=2s5+x*yz zBCh;m`IeLtLR2q>#6WI0I&Z&7N0VJsL>*Dpd>LdF)Hw2~EMylD^AdNQAKvk0b2C~p zk`^7Nv)7e}Q^ZP%N04@v{+;O0aJpKp8)YA@rqC|hQFfaO5Z}ALlCEn28NMd6zCVh_ zfV+X`pXy=@;vMq@Ub#{TGv+=531L&?e4~Crkqs$#_O>q1Sq{>AeJJm(|5i#Ot$*{~ z`{~mVUG+@XWS{UhzVCzZn zyQoZS(Xta)6`C^Dzphi*65~X%f1cTqx6&~flx)3qMe~#kz0$p+l9hiF;!-HIc@hLm zgtj@WoD?fpwLcRZZiuP$W~7p?%#l6`$j))LN+2`q?9>VBrP&0yWF~`-OG%Z^dd-Q+Y2S!JlTq@rZhiV=>a)+5j)4G2`2Izuc*R4Kt|Ik@Ih6}2 zP{$R1FPkbxz#-zlEGZH=qqryhFI-`TZP$OWvgxNQcjtFm0Bpq0tgS(%0Od`E-9Yqn z3zz`^e|S5uaJa(0>q`g`LI{a22_bs#J!16UdlqBr%^7+Wnq8I8EFZ@X6J;i5#Yk(!&$^08@yfvR_iCM3CLn_uu&BFhIs)s%v|P@aMS$sk$+Jb^UUj0o)FvHPPK2a}63+ zEwdYrK7Plk5Fjh~ORnj)8Tuj)&aK3|3(GT|Yza3QZF)3P8BWTk+i z)4rE&=A0k(H}y0MjA(p*t1CtA7rte3ygzSpq5ZyX@{!=qr`Q_oZ0v)hL$*RB(h2OR zOj>%TIwvu4+B<1=a9L)gRD%LiC*yp_fGKvCSA*}f7b-KHo!2)hsW*xLcI}-*sT1(G zXG96(aZ9bIc^;tJQE!5mis;QDwp4tM>E{qVi7`C|^clgs3Q;S!5oH2a%rn zjrR#wUruRW$k*$E0h!vV3z6FrWwZgAF3R3K`fz`^Pwelpk$z^VvY=>kp1M)-=KRpiA#ss}_H|DiWmXwM+S{G2v(!oHDUT_h`b) zu(jkIH&q2Y(jqs&r(#~%p+1e*h^Dqz`)d>3`Z93{oADLVuH&uTcL&~}LV0TN6cQ^~ zS}I55gg*YjyG?2H7&VxYJy?Hsn*2xC-z%6-{OfysDbBOx1f!PxD_@nijEJiFe8#YB zcjJ42hmR`dt&#g>rY-B`u*bf}q0B*S5tA;gQX?9}#BfhwOJx@OhC|gqbKtxR`(&VH zFq>S3Wk1Z}ZZet4DhwMksgCIZJazFe3;Eo+OI-h&fC?p*DrvHXS1k;Uz8kxP_fY{n3Vb+>B_AeCE?5O$5*#C?@BLlX}Kwu=%lE3fmOY8W8^X)Si~9PIv^DJ_V7eH8{}^UoS4NW97vI1pr`{FVClv1C zkW-mB9L;iDI79)+3Bx`d72Hi*lY5rH$;k~)9eLaG;2cTsjVP?k^I{{9?~=yU3(T~{ z5JOd-yQ+07AIPm}PqU(ia{lU6y}FCgaXsDkB`#jX z)W!ow1E%~KKQ{{ceG*ihH~u>6lok=7D|(-4LwVGx*ZtoSa6k7!WI1)pT_|G?6emCr-n)2C8 zLd@B*vvnQMNd^;9dYL`RleP6v7WiyRH64Vk`fg|VtX7U417#DfYQ3ep9f_o=A@NrNbn#n9ZZkJ=5vmKeI$Ej>Jgh z_y+KSefEDU(~CeeH0-*OPDV;vQa{iQj#M0Gr~H|WO<4o+--O@QNd7U*T3)I%HBy12 zvTdpvwaR-aM2dS=&-}?%nY;wouPy5=Z-3e{lP5q1%t&%kdgaU%6}#%PxsICFAR*z3 zxGuUkY4X$1{0~fFo2CAD5TOeQfL9{q$jlVigXWR(= z?y>h?tt~T=r}354km5b~^Ti#MS0p)oN*|lq(`){!PMILkFj=#;*`!5?F!CEECAvNk zuO~D%Z$5x14Wd>xa#=;e_@ThrxoJJbdovH$OGF@a{^CiCP1Zi|py%16@1*Qs#2!r+ z*4xeI)0y4mNrV*~*Fr`9s^-J4rhe5g#|Th5b9FD}m-ZCF$-BVh6pUc~AIx-dW`V~- zTJ@o%ZG9)F8L|qOq^G4L?x~2S^}k1>UJt_4%v0?Wj@+m)Yg=!&KC-WeB0($`{lP6E zQBBW@JAE-Jq!%j_`KX!K9{Kz*>$z8+$zcz{Wl_qR_RuMbSYDmuLjl30roZ~}T&*&$ ztJIECPgz>)lDL<=oXE3ivTd(#XTz?_WHHCMKbPkPr#`LwhbzX6@#GqY5-DO@4B~F3 z%~5`0eM?l)ifv$uq+#1c{5OEt*o;J5H~PdU%5XErrsIaJ5(SRCJa$}zW5Y)blv`I( zQldMhsNJDkh6MakHIOw1_BB=uF)t>R39)=7p{e400$f}8>586MJJpKxL$%urP) zSI>=-|3Ip^>yv$PanG6?v&MCRAC+I2k~M5??>vpW(S=z2yK<|Gh|OhgJb9J%vOD3W ze^n~Z3;IjvGoX0rIYI!Toi|{jAj$z^+@4-JT12ic3Y}9us`?dB!JjgBHBY^i12nWSz;$N8x%1m z;c#ZT6BmTa71=QtBc^aTsUh)Z041b1hMecSp2!+jXOLGA#^n@+7*8!l6R<7IN?H3h z6g3YP_Q3L3(wLdu*B=D*9s~`h-+~4^sT;j2UP;B08uv45_tuakC6$rDPG%+8c-r~q z7nW4AjNQaMyAZBDZPr7LO-1atbic^!PCjyHhm9$ex3mO*T-z?A{njr|TSQksV0@?2 zHeHb)H8v9Qw(~k2oTs8Mdok)EpwB|Ux$>-pJv4`IjKlCyoqy#*OiWDK(RIA1#Sdsr8W|Kk?r9=)5!Li6O8~vIunOj5c-UytoW&C^ou^OWI8P9l#{pQJaet+g zERwK`Cr5$p6^_u;F_GagEzdAy60XB63L@LWn@yDm3Wb@%s=sTiDJa+7 zMDF&u3}%4!+2z)8MY@I|R$EhfE^O*$?Q5z&qB&Yu1sn}bu;iLtcoTBSwg*=-V?b*OLa5L@tc-!pF$&)G7;sxamD?ue^Jm&L$h(mvAfu!D? zr8>_SP0|Ad2DITNNr~j-6u<|9cN7^yW(GCCcpgj^QaHpa@*sO82B{OZ-CEdcgz)2EW3-oZ%>`3GcxjD-4WcjsJ|L^70fNn_Qo6uI;XdP69J1+g+Df z1}`@&>>gfE3kZ$IL;A)Uju@>T&5B5{?c_Z-^KkpsMt$h{>Xv!9j{!v#XTtiA$z7X#w>;~W+zKV5g- zv2eCO+hwaA%Au#BIk}pxMnyH&*TX=443eG3c7r(2z`Lh*tIPB^odC^z1Z96EQ%%aN zx)|k`EOak@kMqo94EpUiSx!O~tX^85x!)wM0?! z?s()NzE2~-mQf!je>|(2b?@@at###K;V(i7L+Qr(yHGCws@k180+B9FKhzRZ`BVTh z@=!Oo7W&60^~?3wj$3((qB=qMs%{qAz1jMs@E0G;odnYVu&y)yVZ8Uhm-BBZIleTE z-#oQ6PDcwb6ND2_mKLB@=U)g!$_bUnLx~=G^p0iix_zpedFyg5-P@|+Y7%TocuteX zCL@zi7rPdRNyX5|6`6=t+I2yDiJ59gM?oQhUnmp8o3Ple^Mpsc9Zt?r+D;eUl!VdQ zYRUtXniTU`1r4v?i#dmY2A{^{r%)FxF~zwzShwhGE&GFDTelrbgFzD-n&g8-J^fB! z?j5N%jYf-0hN5He^?6yddURoR%q+sZE)_+c{h=QxaN1L>u+CbsusmmEcroB~*@=N9 zh1r)@Efle(vkB{97fO8+6+jeCk2bFLvt>6sT-~r?Ol3&^3)L*_@vbfi;suZd1g!w+ zQ`rhhO7!KqdecPR=4d?a8abj23VM9sW!=Yl!@}@A+T0IJ_eEO;tFO&IHWONrW8B|K zr@KR^q{mSW17m!Nd6la-8pm}v!`ebIne(D_UNd|L%!8ltG?CMzcsdV#$dzX5NrMGp zJiKFp77xNVPRSmPm#V;J*`~|9)=;JO6vhU@NPP)J2Zmyrqx|tIZB;Bw(F!|};Nv>J z=d8Flt%&4Rr4q88?9Y`ArMYq|ENZ*`Sm+BRunbEC-QhIb8CsjxYjND)|6*xqKedq} zN~;^Y^2^sjw!hpZVExEU%4Fu(KcJEOHDI>VF9jUVdG1LS zm6eW8231pHMfC5Pa|NlKT$G?$GO0^+IW!x-0k_>S&EnQ}{TVLaEB6rFVP?PUv>?Ni z>Q*_IlVJ;Imd}7SQJdDbg20$eEi87=Fj>P$*EHc0H0WIc9%w_-TCw?OP9+HHP+}V}pjok+(000~Nq~ z8+zq%^q!sz6M{o0S3Nz=ov@~S`kgOp~Xo`rnw zzLFnyy{%EjGzDYzU-Bxlej?GAreuc`0#rt?3cm_#?`Z+xJmH>(Y5K|YSiWpu+#^&? zovkzs6+*6{B0mgc;~ZuE>zSgK9S-iA%I`mF^MBOxH(RRLbWOD(faS?(sXdL1@{nK| zGTAQfPgzXmSMK9gB#b+)+NyUnsDVSkc;e4CIegiFVgjIHrY}AZk|{ul-A&wsM>Cxl z$`MRuk{O6hA;f00)tRKyez)RnO|s;tCrJ#d?T znjHr~n?EYktDlW}!}Y^ej?1()`$TBSH;ZRIygL7u4z+wSvg&9_PVB>f<03PvWzVVI zQusAXPWXbqd+}!S3|y~}Sbcee;pEjaP{(OKMQGUfM(jApn9 zIbxZ9ImyG*6jm81n*_dOla|UOcei4dM$n}^mah@N+-0@C{x0F(FZ*N|M)07 znv?l8YGmjrI~KeqrTgh0_dpNTuLb2($^~Q_bol((^{xle&##Fsq;YHej1_^rAE62j^4hkKU zUEbYM8k?Uu=;lXP%#2?G=+p(a zJ{EDT3ILIjEQ5do#vIV7q>AHl*ORV#n6JV7Cqmu;Te|b3WjaYZxz*4|S3u1eT{F{M z7yOlh8eR~+3?*U~^7&z)%*=c6gIHDX9kNBwC9N>Nsq~BP|AVE8@E;aw=s-J0kv)I? z5cb~v{Ey%N=y56N+!m+CkT!)dzrdJq>VXyEP5-cP|6%oy{=>Qt_=k01u=lg@%YSoc z{pUVQGQcVlN#nkgeXG5#=Y5+KKo4e`w z>}Zh3clfE{QFKD4j@w@4V8+*R#Y{`(;_3qkixslVWyh zIR2CGmoy>XC1s{p46FC+Y>tJrfDO1&@NK?%VL;}}e&^IW3k6SSUkpJq((`&+LTL%D z*NjpscYtX&;_axpWm_icGbyDQnr9Sv1#I=Y9h41@l~VR@#$h&ccVT> zPF5J@;FwfOFlO_Iv5%J7Xhp5PN^rxzN~3E(U&X!%MD81|3u&NU;ruiS7kTh5U@mOV z{;>^zEs}LahN?$4&b}s@N3fAr!_^0fftjUCtg8I7jLiNxl8Pv67ryLMEGRvB5FLin z-Woos+`;|g;Mp)XKMxy0^t$JcYgDrL4n z%GMovdsJQ*SWzNUsZ4X<3!cM&}_x3`%i{x`^Ch^r;miUc2usK(3IW>p+hwWXQ*hC6O+u8UMTxWRrZ0LW@hJ&UXoeG~xnW@qw&(;X=(tR{QFRNhQ&$s);;kCvg(k3Agm!3D`G9>Tbp(oAEHn0{6 z)#5ctR8IT3gQ=W9qM}Yn(g*{qQJm;nq#`t6q01d<_oIcTMav5ix0CYBsK!mx+Bb=p zu5R*s^Yz|wW$MpIiT`l6PrU=xz7R~^0R>pLl*|;T@%hTfYZFt7$pZo^BlR^C6q`l_ zlZ`%7eg!{k!m>IA$g7)8kD2@JJ_riE3KJaQt^R?)9^cA!jCG9_EwdNWi)-MjV*vxC zMPx72Xlo~%mJhO`zH(j|bgkl1T-@k+zo+wAt5#_VUt$ zxWO^0`9yyqNZMO0k`#l*ErT7*KkcMXalbUm263xzsZBX;A~!XJoS1QIFA!E!5G9%$QF0r%?zbx|1*qV;vX=_p>u5M*1*KyUI3sVdNomUK9HHhL*ErfBixjk*c zZ!h-Lv91DyjSMWB^RQf;1bG(bi{=&9Gfjyl6FNoLwPdz-KKueL-j_erC(gPXnzb&W=a9JHGC2$ z{tFhZqgC#vF^A#k?uej8!q75n#NgdOEU3-Gp!kCCz|UXs;L?UR4Bv;)xsxtWtUWk_DX^4)L^u z+@0C}cxOA63UAFa3qwb#*Iu=)?vT7gG6_y(e~WuXpIAy7auN%V&x7b7e>nz;m=U)T z@hWXk7zHSrY>TU(0L@N54RRcy6{?vAl3m6z>zNTc)l-O9(&QZBsX~gMpNPR}#Fn45 z6FfS-$=v$7zSNvAr$%z68$Ili^$lxX=Yl<+ie})nV`O`@0WJH9?9av|r&U{!E zPeI@(($F)Vng%~|+@9Gs&tW}>*5UCEZ()I-X+%Th3lMAhQ(!jo!0Q{V=ha0Kr2vw# zDKaB-ZT)Uhoh~JWn%tlobd!mw*IE`7-ZR!a#rMu zQ7p3+Yk8Oagm%nP5#6Z3h*^j{FB$sjwH!Ys{fS!Eeyao64)8R6-ag0}gS_9Uu<_?z zbT@qt>UQR2On9afu4PSb&cPFRzrqA`lqJTaneAzXD-x}ozv($*lc@&b{Q7(|Ct2?d;p&%pfo zhJklkif5fbEm6qt=8ibEB)c1vU0+)UaKyVtNV&H-N)BymY~$ZH##GOaOBh671hs|V zI&8GIJra4|V^ge52?pTJ)Ta*qUQ6w(ck)nsu0rqoxH#WEHj!ywEfo8cm10HhZ8*r8p`DFt z)u(!^&BaMSvU((apwDWcB}RBNw&h*P_8@~L-KXg8*2a%oXL$z&2C18 zK4T4VHe5GrvuftHfU2*(Zh;#E3!Ps$U5_pDr@yQF3uTqhaQI{jYWb$(w*Fm_mbFGf zFig*dk5j(h=ClTQTq#-9{8x0fwyDUKX{-nLS8F5Th?_KXMD`TfA?B`(vbKvKroA9oPn9F9rPt%hvOBF*C-P87^ zAr&1@ik3Oh`t+-bsf}P+Hn&$};8SOAc$@wT7YHx%&ik>l8%Oy$MJC*zVpT^{FnOPX z!(aJv?Pub&Hse@X`Zp^xf8V#N>`v*vS-Z(ozLUvPtJ1*~o4w65X*Zofczto!djoD8 zfQLS7Jf1bEJ6=lm5lDyU`-EA>_HTYT1s?HW|Drjs*|6$Rnt^vJ&&q2mAfK(DE z24sNhN8tuHNr4`Ul~#?a#=QYd)t;_DF*bI&BnA3=lb;p7OjF<8Zyp4?@W%wGA`zl( z0&1B>969y7`i-;Y4@}Cwg@w6|MkXY$lP#Tfun#Nv_QtnnT0Ph3yY`%!g{oQ;4F;RO zW*H_1tnz^|R10W;d3PS2?CLVX?)=x8JPQutFa6<<-h}22wW8M&;yHs1tj~_RJ8ME# zU$4jL7YgsXCyf2LrloU0EH@e0>gB$Nr+&Xz*Se3i%95Q8(!9{>i)_Z42)?{s<~qM) z!@l^2jNfQ&I4n<+EoMt`lZv4i$4KsSE+IWWT<&Y}eswH7N#pO7wpioyQeZbT@&}p@ zsa#A5v0kXv1kpb`lY5j)=HTPFZqaObF3>< zaYLxGE#umv9yaG`)AkT1N+@6!b1W!JAIJ6dbJ0E*rl7YXaT=h;xjj_bIhHFG9^m@p zQAc`%@H28nOdUg6W9O&{DA#(r*FhS7T9h5kgPi^CKy7Q6DVF$>WjDV;3c+8Y36!pN zmBt%|dDBOF--cKp@eL{|1N+QZ4$iYD2@F@8WG{ud0Sx1}n`J0JVy*fF`p@YDFYuTt zIQIE4lm?@=C<%ePLC8NWy#PE)n!Ja4lAX(E()K-tqRwN%dkRQBdj86ivtd6Wllo>` zXF7XqH^GY48?Q2rD_6~Aim3|uw+2s*-(=p1sn^D|I}fc0qExa%q9?<+>L z;LQnh`rN%?Zv$3KS~JwU+n>Q>@G+VGp_oc0XC3%rfT| zMmn`qr`(*E`*R?pV_N2DwxaJu>{q`TiTQ=Mes%GY;sf4g=4lCCs=S*2v+_b5?u5P9 zZ;ruRI|+b@x&68OvBDJ}bW4aP;yY;q2sMX+QuZTAQ7rAG5Whj@ztD7Kl!iXV z1N$kfVxbH*UAA|*W1E&RrOrUWIy#p%|J9&}r~v5O7iOH3+%_10U))%&IV$AJ+Ls&a zvrmPGvxhfjxEuw&Z*C}6z5N>gJVlPelan@?Q3qhH0JU`Z+P2tRYX1caihFw(afYJ9 z?|0CMurJWNvUloa3LTP$GTSXYH(84;WwTQ!pS)_o zuo6PQHuKLC&1}E3rMb%&*;}f<^Ich3{J6BNT8{+Y(lFv%I~@wswGmIYnO3~CbIu>p zOi-Z@h*E#&^?8p(Lg|3kQQdB7)xRIubB>`~ERG1Cbp>zrR^xpBhsAP`{Ycjp(><&z z&TR_#KFs!nl<>R6nAmK!V?au3vg_th0gUn!<#jbY6ald@_xnx#4Ve2uha8)L;qh`& zo1)%#AKmU|BlI4i-fF$PrKA&snNJ)U@nANO-& zwVnG9gu9a#70$-lDG z^BGM<<@kecP!}22SGfdVH<5DAG+DKfkfOZpcD~wUnM_Kj{J?Kr(mG)^w-i)PYq_LFte>$VzD2w08gD1^9EcA>&|brE3E03y30-%W|mW+Gb0c{X6*5*1q1KKMXP43;stK1LI6v zgL-7Zr#U{#c8h4!tAW2ecV&X;m9($GK{oHy?N3)&v$ACb1`JP+7=xIc!eLL!`R$!^B=*iISd<05_C3mRk#&ZH`T6BeMMc%cUZLPSZjs(Rm!0v^d zODwLai%NxVFv0&N3W6@|9i!5_1|(cbuzK^gmW%Zsf(8S4;z_^%2|Dg2c@Ws=IQGG@ z1VG+O=zB?H`qiK|%RzKp{0XmqDvRLV>leASYKoQypcD;G;uUK>7Kn${r!LvB6P(uC zB)3+AP8F2Qxx^3b2Kx6j>Awn9_maK>1D>~Rq~YxhR0zY*I%IvdSOw*2FzI{Q8~4VU z5(jhpB#Ft##eQ(M#Hwviff6}UXh@f#FEIAVA^954lJ8#8)j;z|2M;p$klvl2&074g8 z2DU(Y{AgD9B)cW8O^1Azf zwqgMwI^- zahKtbO@S`s=TrOc#YT_zbA+#_JFYQ>06+JEQzQR&RT)Spy5YkH`OPaR(#nU{U2h~d ze}mQ`zU8iH9s<@)L6VBDHIpatp_+)4!{r5vcbTjSn>x4VOCm`s6b1zf=8fn6;2$np zaPkp;I!uhN5F_@~`O6!SZWP%J=&i&P$p1O?tWF*TTGx|9+qj5QAtz_|H;ly;ca{p- zmT>=(ZzF35>YZ#cGn56Ym7U?Jtu!DNX>XM4@qnt=xCK-E96qs79)AoZ$xpo$jeeH zc(I^%gXDf6S^c-nxbe~QOi4fTqKs#z+J`r(A>Za48$7M;FrRm!Zqy`lEloo+%@*~V zGzD7{sjl_gXlgEV#q%_APXomQw*5Qi;L6@zx@rh;AC+^@`F5XK>$_21;OuGpDL!Q2 zpmCEKYGSB_@_^;rdeX&T_6a9ChHfQMpoky9xfp``vXf z$OqJ-s;9v~xaOuO+yQB+U_~7>9}qbG6nWSMP1n+k1G3S!J{!te0yXWF5dDmuh{DE$ z*!I1RubrB&%kgDnBMf#FR2XWMtSddt`-oe7f znz&+MaOtg@PU14oLt&d{sNHih8GS12^{OX?zsZ1Al@_4cFnQ+G9BJIL9iL|Bnd0G4 zwjKhOw`c|t3DH?5Ru71MXM%-VU0$7-D|ry6eDi(pcyD#TofT&_qeDU75smMjUJ%Fe zve8Lyv8M|^g6&Gk`5hhbczKs8dizg`1!msK-KJ@V-g zi`@j;!ciQ+$(MSsp1b`!_Ef$8*@xd>{@cZO_n*o17Lyi6n&050^v_zXsb9ZderW&w z4{MyULNXcq=l_foZ{7Vb(L59D|A3~#s<>Pkc0LhUWrGFBTn*BnPD&}Ql(k$5+nB#J zO@A@?q1Nfce}?BNfVbqUfb7YUvT&bX^~Gnsf43FLw$F`U`Jpq_nLfHlt>k%THkR%A zzJd`zRCyNi7FVl6iRuX%QO5tUissk@YXIwrS*R`;2kFb-(E$Awy^+pi_EZ~IDdC5K zp_5))pGJ`zAMp|96(7u0StL;>egA24KmL;_FTuRKp5adcpo7g#SQ?L+E;mI}>5}(H z@}JzLF|>NSeG-47;h45xC(fx%v9~KpZ|eS`o*;;*=zB=cuASEvrp5Cmo#57T_AGO` zAJvwYO`u5Y0LsdBz6ccA zc)SP_oBg|H73G&<;6*%4c&2;EepIg8*Q;X8arS}TuV18J{9-MQjSCe>7el*wj^~k& zP9cg+h)hdb6=FTU&m=6cS<0ux@F?D#nQ`!ZTL{=+KaI3rnb;Y-BCaC%1r%N#6M z=I&EaoPV{y82?x;_>aW*d zYJ8_Tl|dV#-@k~$XT0ZmaM#ygBQK97x9SP|0`WQ9F*B8l;3_8@m=C@smQ#5N4nJ8{Y&ExIxx4cw89U&vh=wjS?<#gT|F|h?*+T)B z+owV*N76BQfR`m7n6v`&)=t!WFr=uK5S>==@;#k1sbWV}xu|1M1W+S`bo8H=?1Up4 zWNIDKbiB}4Qeu~>wa(-)3x_DZEZL6Do5F^@y@)Y{)`9Cv{uhNwLjWkreyOX;{6ItT z_3*n$1Ww*q>8LmE;|#n?+)DLTM_(;$Ub?SexTT&|(tlmG8CEz9{QOy)Jikdr)%D%s znS7xlgw7~vWUoK*KAoLk)753FDIYM8vB`npcvCJc$7Wo_F*qYy=er4~n`g7Qq49Ml<4| zVs?K>?Ak?F>e8lXuC)mKbr)RK4|7?{t<8MS z_CIV|d0a3gQTQqTG?XP(u*mDKEjU(>9_`BUGJc=a#LNDMenc-qWm2I~t_u$|oyg!p zk>YycD94O4f)Y~R5&Ty3bT2X*Md*R3ph7*w1SaxP6VQe2bgA@;T*b#=Db~nBJGe~O z4rWtQx*052GN^d0-Te|EGpQ+q^CF3R?`kF}ul65SM1fY}{HnTT8s5}W+fxO>Eeigt z<7J+`C9uVkq8)-Y`NHA27o?)Sypa3TzqIFg?I(TBW*pO+w-`D%WA1@`e>e*JaZ$qf ziMo{li?6uIe|$RR?u{C4E+PZ!J@vZ(u%av`r`TV{Fl z6Q7nI{=>4P(fjUL`c9XrIZp%?GWxB$R;GjyEbS-#0BBm2y$GCrJ1pbw%IY(S5iUIJ zj7vepLq9WLSu;~IBxX*WHrSNu80Ecn$ioj(h76wBC#gKT9siF0TTakHyi4VY(^Q-J za%$@%+W~36J9A|~)ZrNIM+R~v2@0_6Z>1pv*<`_P zv~nui>EALpRy^+MF|+rn79LZ|AY!FXz)%QbdboWl2Eg_230s+YHs$s-TIxDM4YQNV z@5+R*bK1&m?5GrUYk1|QMRv@#ggT`Ns)vFrn6{)^=~s0*AFvk&V0FlOzQhDxZWM4& zbAQ8AKIUtK_%mgXsYlz6+UmOYUzqX!=og|M5Y2hna0$Rfw9C^`84C;#Mvz0qx-mt)4pw#B;>$-T>tYjL6BPc=zXS%Ej|0UP^cd4%6*N^ zPbFFrCVq;AI4yR!uQkw%LiOWAndXu#2Hsc&v&r^8p;nJc(0i1&5ZhFC<*F4mBO?&s zE2pMlmmaD#goL`d^81m=zV*9Wr*mNGD~mK_LYKsOz<{yAt+!x3y*MJ+vNU2 z`;hPe15>HcUBC*c($!%a(~lV@vu;_cXyY-I?-NK=U$5W+*|f!Hn@jy0dUdP^CvtN* zQ;!tcexf~YO+c^!+X!}01@Nusv}2uPihfN`3Xc%`yW^R@D_-(gL@ZfBTV!n`xm_vh zo__6CUV3FdRh*me16DHIXN|RSfY_M>ljqD%a&MT&XY#$SrLWukE0sW5(amF`iM6$| zDq&w366Z@14xE&3ZhRf%H3{ho0I-1I#^t;~2=@I4}$ zQWDk|EVSA|c;&ewALS~*Qi+e`w3^Sgzs?BwB8;G*FgZ^=Wa_HDU^h=H0X;GmiF8*8Pivc$KRrJU`qnC-*b24A)RvIlrdqKV5}hq!O>$ zK{@KaZN#q5i2r(fu~mF8+___DPT4AV-&Rz47}?D6$4VuN^I3-oEtWWN3FaDEHD`1c z1(!)bq~Lck?KE9~fg9)z58kW4suH{km;ip0Cq=RH);L>v8$QAV2jmUa{V38(S+`J& z6ctV{W*EZg&u57I|29Pb=l=h%LAvtO)oY=YwY>_3MXSC3doOV7VRJ{+{6R_X<5VLOKbpqBv8 zeHUX2nSrWGt@%WIZ-|wDuM+M7<4wixT=0r#NEQLfjO@QFyOhzy@?DCCMq-GT46ZmX zW9kCQu4}Y{yS$doI$Sxw5N5%SqPM*b4PuRIKZ(;kvTy!jMVeQ?ckpglrDJGnx11ZM z@!fZrobzX+IP2P*sP1obYk2t3*o=}x*j>I)b8d+5&Gh9`NFqVOHa0!b9^R4)%ErI!3s~+7rUNcgBMwuPgJ3GpV+S{ zsoPCL7?x^h#9mXmJ6sCU%U3s_5%k~B z6=_M^7@N$y=mL@f!Bg}=K7bA20Zlpnl5o z3a)F-Q|>0nt2T0uc@_lSoN;%%j@v5}D?T)N<}x{>uU(uhzRM%c+~-CRUWrn9rFoM} zEv(B9F3M*x37+{H?n&Y- zgTybCnaUU4rz_YAl@e@xy%-HTtJNvbXQJ-hOoBCfp>+Ubov?aB^Y_jDA?wXm{-^rJ zGcFE6)+%B~!<8*cG)kjnaGzNNQnC+w znIL%b{yVgLCmS=t^%PVbSh8IlkZdJZ-_R>YF1~5iLY*s{8WL@9d_UA< z)j%`vTu;ZvD@ptWJpxnHvJG0D^zOGiHNPJQmm2!hL$pJ`>6zP|j{X>CK&J-({D-C1 zv}-S_3oQHAHd`x^Dz?2&1B3G=PD0Lpe-BhUgW-1Qs1XLx93KskYw~Nb#5oWNW`(lQm5v+qz|LN3{5;5E? zJIhCJ0eG-IEr-`s<<+ST83t%fN|kO7@i#v`L%UIXydvrO$Laj!C+Yx%?0NZK;0I{C zHtVZ?7d-L-qrpml4w{XZ{`>bZI3{a(Tv0qygt!hSu$m?rtk^P!l_tW-X`gNua3r_< zI@&Wq@tJWEzY(UO95n%-MbX))tJQ_I*g2BvT}LxdiAb;t#`}cLo|Kje?pr))@ck`P z82!=}^H5j8Vfa>V2dSe4D1~9$BQ#YFzYU0M&s$r}-b^QZ2*}wD_&nc(;}->|^R5$# zdLyYiL17*PK+059oaBpD{eiA8` z0nXLaqjU+jFZ_6yq$)O|r=4w!fkFmmMgI}Iop3jBUtoU!8UnC*o($Uj?R-*8ZW-vQ zOxu%hThcF%p3mbWFJ~~08aTh13aWsSbHh*?WNe^3ptd5Tn1=>9=S*E=Jb(T0GqD*w z(ZYgB@nWFt`9m#O8>wvwo?5I9>)+5>ATQ@$sPe&1{F52=$r~*px&|?9x70m@KfBR# z+2(=W+j}aA=;RhCvn5Bs+)-O61&a(c;qEuOk(MuBA}T2gW5l~saELET&iI7XgxX@0 z*#>(o!qADC`Q8QB*YDoH0nrKHl{v;YiBn+{H$Ot`=u(QM{1#zD;N`n&+Y{b)w8pAh zqWs=X>)=jsq;I*t_(^Z{7pbL&wau!|p++=uWUAz};oBY^-`KOrX_Db3oQBQpvOzf} zO01&A)noeB<(1Bq5tDYx^#ELK<-F4BbX6C4=_b4tTj^PB-%wqP@O->axdE4>X`Qe4 zR2b6S_1n1YRu#O?nV<0+_B?IJl5At6e0Vai$TZ>WNx2vQ^Te#y|Kzp&*K8H*d0s)5 zuAN=BjA=<;!+BED*^y8=_x_n*lM&mFRP~~QZbEsrqho9DkQ9~2N71Qw@j%66X0yg* zg7*!he>T!-Y{UKjR?0@Nbs_T?B=>l}54m@3&A^Uc1gW;Qw7R1|42&4o&c;H9tMzh@JZ+?~lxB{6T?1lw6;5-WzPUimS6HG0BD(0J+FmNAn;Eof3HEL)QqC`iU0}|ax*^H_*`R?UN(UHMRNC+xTmRP z&hMR@!rbo?&HSHFYXC(4=*&>#_;Zd)dz0%W8vtm(Q?g#ypaI|y_pkho;axA$IvSeq zo0&u;u7~5(r3{R&9K53bU1dK;L0FlUI%-^8IQ8kw_!pXY;jX;@$TnMNCV`;_KvwJZ z3|BQ!x3Z_Bp0#-=F+ch88{P@r5yRT+`G>V1c+KSa0aVTndEtI_i`jEXY**hZ?*Mx% zTA9l^no>2I&iZBZo?zTTV9&5^| zWPg_#v~ThlB45Hl*8yQRBIN@WHp=%s&*htH)5+v_b%h33x*k_{y{e3!WcdE(k8Tm8 z=Q8D<+*TI?r;f)~CV|~!q*iK#+kH9VpQB4mkt^jt&|?OAK4ZhdOny0LBm z=h>=*doWyV$`z(8CRBE-p8E`LY56&mIP_mDEpd+p`o-b%g4@rsX~)&~k_QlP)$YtS z)Qzz^=%TtYbo`EcxLXQj3;fXV)K4hEgwO-_2^b-4u4`f3lHKU;T`JAPs)+tH+N`qvHkHkk&BHlQ6k^4<1E z9qB!2p9voA6d##_X4 z)UjUwA0e0+Rr&u#)i{@Fzlrgp2>zE3^<>-)_6J{7s8US2=~iKXPCK6EbZb7ubE%4! zW(!r;7*AXJhi=a9ieK*Iqzl@|OMPn8c^jTB@G_ffQdu5@LL)qZtTO#sY6T&a7D^SX zWH4yIJ+pp`;cJ1I=N))YY4!XL;DJ{MBcsRpX2q|}J69tI9EiR8-}2M=vfk?-{o^$k z{M>o}ecx^m#)pa0w5$^$8EOc_E23%#{^e9-sFKHSzfh@D8_z3q@bEwW8=2UenE&`# zoLYKXJ8+Q!r3-Qz?v0{#v6JAgPJefLtnd9F7V)8Wsh|7uzcPG@KN6?LfeQ;`Vt2x| z`0nN5CfziPBIdF_SKTS!4vb2V-NEV8UPhD^ZcOkPA9#`Ij~G3i^k+(a7wRexy@ymKOE(cns9LbE)wq;J!2$P!ycV-_mkkfclskQ$@g8 zydA`4+~pu%Dj%b$l6cDriI@@@-Gk1JU)q97W4D2>7kz856K>Y>#fR{{Cd_BNf5^Qs zSzi-&VXIVfpp!CsG2DyZHq3Xj5HuZo0kWrNu}m|I`{K1UpN-b~CJ{nh8S}AC0v~)P zQBiSg@TH`3^uSkc`H?wAvyD(wCCQzM;f_Kw=^s~hyDATlI^<~Nm8U{Z(Sz60+G?A6 z9^(mOfQzbA{TYyqf;g>r(jy;JSS?wSj5*G77YbxBkGvkEmPW8>DtPurTnjuw-S&qh_%Z(Qfy=#f$kI+f~ z9E+y2!>kt+8}+aCVB^sq4ENZ#sMT7L@(HKp-*B(upx>+8L%gO~)HLo|dxJ*y=^M1^ z0Z&NZSzX8kE@k}g4uuFOy&o-#zhw(c{SuTc^VB<({OowY$cty-MWYdC--+ulG@(~- zZGsC&qih|uPvYUM5b?SY_Kc=ym>?(2gs}j^$K3#v<9BI;2YXljhqcnUxgL_e4s5j{ zh_DHjL&eUwo@orm7dY_Sr~9rq0-lqxpOOs_&#RNmBuWZI{iNKaT@Y4OYN@0@!%iLE z-o8SjYhrwe*4)pxmKA(!_|5fP;d>U5Z-4weH0ZGps>D)=TGe~L5%BA%V73Cd!y`GV z$WzPeDbHr(vhw#yu7`B&dTEvP-TIzzL$QDO>(V_NymYiDQn7Va4%9kAW29NEbOOVvCs*PO;=LknyCUQ@DGB_|3WH*6c@P4Lr9U3?q5UN&BQ2Qm7X2d*Db5+l5LX#;x#?g z{&`oQsd-pbQ?$iLnMVuZZFO(YsiwfeT0&fag9Zt?_Q;|2J9`<&Ir9%7ji%L-*!d2C z8LvlNQPXBAdFqb6mDKfP2v?u5C9%^hAO+C(6QO6La_W-`Y z>PQna`ZT{;O>eHzHi#B(Fws?tK&^B332J@xlq@(hdf{J*uyQ^IWeXAvBwIaZJ^Cc^ zfuTRAGJf{vmj+;%9tXdQ1;KeKLf)&3aQpfp0=amJQU}(Jq`CT9b*=NLYM<9CbJoN? z{sGI@H=+7%pz1OIqO$trbx`{HvnpS8Pd!Tzuw0z>qn4VD%gAfrx(}#2$~bk|>YE^iH2z;b^L`EM?TNzhw@5 zwf}QFz3}3RsyuKCFNLQS$$_eMOfP{LABgS;yv5}^tC;W%EFZXcGSDVzOYwCdcb5qa z;i}D}onN8RtE6dZ&l~D{sO+WRW^6{#h+`#h`(p|pFDVQz5!O$NA zwkaPAoP5b*f8W)l|H&N7vsje|<>E;i9Ph9DHsp;N&Nznyq;7IK!M!R3m;`l)N3_LB(G2 z$8iJcDXhL10W5pfSg~F_!N6LRRX@5^A49Q|AkF2Ka5-qZF4Q+cKatC1k(R+&}DyIyUmMFtqDzS?&_aIUZhDaeqpk_}zUX<=EhLd-?|w2-v%tz>RyH{|nBM z=@5AsK}yPUk9{D^YJbI{)RIQYku56+ZA1_E4K5Wt_?lLFiSA#4v`b`M3C{FGhJCe)Gb0_L5I8X;DxK**(8&OUsosxr`65xPp_7 zDUF)7DtB7vysek?Kr=WJg}nN^0-g{C9F3OP5C=Zyqc4TZ0lMz_ztKA!dU10yjA0Zq zA9K+!0Bs@}=RQWQPYd6n7_k(UsQY;Rk=3OxeM7&uqsQ>~#$ z3wGk7`ZY8(b@2$z$(?Nk2y?=!`3}wxN$low>YBty)|TYrd^VXDPx#)d+jB_?5Vg`% zi4R&GNQP|e!R};o=K?xe{rekazKE>ey!<8kjScEh{FxCbgmh(MzXr;M9~@~D=%p-u zs_IKNasB+xh1>rrzXHmQwZQVRi+GO`+2rnp>C-^ej|CC;>f@G)$~`^-B>4i5ApoPA zWW3Gqn;`d51;iPIMcBji9RtYVJ66@Rqa`^MM2S&bhi0W)yRS~`GIpkQ#wO1^4Xm~v zg-W>+iSbTZzKzTjh{oT0d_DaiR-88{7cI0BLMR|VYn_^q5uP2T)U5v&$Rba6&QC?1 z1A+Uz8m_zV9y|1}v~3NCF*KY^1|iA_JysgcY+^40Ft>7&Y27)_Y)-;!^|H~p?h>gm zLgyozhqr`OVI)1L?X0FgT-ZsM4{ zJ}rI(gQjwjf!M(DC-Zk7qWC1TsdCBb81KpCAPxo&%KiO)7Bim%2LDF|YNXUw!umgb z>~H>GhTGcyfr1OZo_`@q|6vsZ%|hPdD{ODw++w&5b(a6C8N8{cZvNklAYttPKZ44! z&G94bKKlSyL{Y^gnOwvdH{SFOuRBL5_B{s zaclzvev;RmR#<~u^q3%B&@0FLD&I2mg)U$o7Re32lLb}W_SMIjjEg@@EPaFNK{o}1b=;Pk5Z9@!X!W1Epqg%0P z=ovS($~Z-wC~Ld}!@ieitFHV#Ci>!uh2^{7?(YMUy;vWbzO_@j_`%RddpdlOz3qJ} zy7>9wH+VF9A6YP4hpBj>5r;zbJoLF#gq>CiS|%tAfU?1r$Cbq>8%Slkcd(3llJT*< z8MgGzii@C+dNt5v>aqfqjnGXpetGRtExKW@#H9Hv2rzk1kknuiiCUxks5kyO4E z<0QhRJzPeh>v%9h9u{{_9K1GBVy*3#f=s|@ui$Qlr)HPIniqz{X}DkL zxrifVq;#cy9K)Kaf$!Z23(2KHM01hwV82>B8Bu~gLEx(d;J^As2b|Kk`$Y}lI4B7OI(Ql zg$4R4bTsk4uoTL0t9gGPq-ySYs$;Gjxc<~7>8Cu-ji*HAX{Rk-8H)Pmh$yc2FoGGC>$q6GndNgzM9Gm-orD_&_A$H>%cX_AF7 zSAMti(T&u6O&}fkYDbT_5djeTC7ZT%W7k{ril{VgUq$@0kv+~sc9!m5f}kIr!=D;o z{xJ`M2ve!xNV!fWH0^=uk{F2xT}biUNR{(8WTLo;+SUgO(;q)1HlHJW7x8KDaLimG zyJO4y$%{U5QGcxVfQTC-Qk4d(tZ#+Lj|=F*#)aDMi2-8wNr9;@JNPc}eGLomngSE& z{|K?wLgqQgDNQdgrfWq@{H|o7auLB z#D$ROJI268*xyq1FWbN^R{|={XF3S+M1dh$SNu8Q{dl7~me>zZt)3+&nCx%Fw2YWM zj66#^j(95b8uvy1yy>O_&m2QSq_2AEsQ4t@MzmYTmihEqrHCuk0*^ynp` zSj+OwP1%yZ2c1Kj$|!1jxUf^Avr^;#S(0A!Y8dhhXmxE5mHiwRWBCNo-)_ zKZfDA`aV$OpGFfAX%Zu@%I*P!?*eK|g)G#$8{ZKoW2dy?6enCRRvO<#Y#pn=&=9Vv zu#|FlSD}?S(x>_T(oNe{n8?URr|eTw%;@Qm%s(=k^3~P8%J3JtFOrw>(M%{2&4AK* zJ_ZPmWJ+QUfAx@f6Hx7PGtGx6s9w^pNYb=zDGs2VsapR5V z4xVaO&U=z<+yj7-z?PSvMV!!%0WM*e5UC$_&?X1-(!{^pC-m{+mD=BYQrISS4PrSQ zsayWWxzPjnB369GG5EX`W6ACYTYJBzP#~e;IvM7F9A(IQWXamv(&^dk#cW?5n#VyOmUApDFPH&Fj?LJk? zbj5hLnxFw_!D}XxKN3ABV7}r9`qGA@hy`%gsm?#p3ip4#JnWSQaU>K|b|RW94dQxo|B zgfZ~&U8x(l$FQu&AQ1UJ^Yv5Dt+PaPE-U5Cqim0J`Wvj`>^e8CN{b=WJUuVv2a2&1 z5~GVHR|WP%uGHv(Bv5Ak=0f1sfHshpSyV+yq!}<9M*i*h)Sv8Gj3Wwm{+y-~J&5UI ze2bA-FUQpp?fNVk#TuUpkvNda0=$U-J!|T}0(1~#I++h!In#(cCo8kdb7XV=zM4e_ z=7Cu!Mepbya|{|sH|6F>eOnD_CK;M%k5Bz={eH(t{84Y}Mzyf*yNgDD(S#v}=Rh)F zBpXp6Ox@tvXZE*=wE$@FX$9A(YKj5U!I3tPhuW-xpgZ%Jgp=R7cq=Q`(-Y4CJW{T? zg^|rkz~W{f?nVxxIl0AeQFNuUW)aFvgK)Vxg-VAb9OjtGK2JU3dH1#NW|{Rr3bG_! zr@|msix3fzk1KM5yWvT=0NHe*)4@d?3~4RO@A+wciel?emKlc)DHfs4g#ZjfxF^gAbgiV8WSZSi8aP zD9+UcVRIQ*b>abUxf9vu+F)SPn|H+92L4ZnO5Sc zFNV^-b+|5~#;-~Cc|D)eT-W`SrSm`4SnA}mcJm{)*KblFE|!<|#O|+KVhXSEV4N*e zk|?S*nselCpiZIByx1k^z(q28td>WsU+85ne8NKhpbQ(5^?cXK6?Z@K-g ze+_zFY|whO{!!RDphZ`Urf>ht=3FR66;8o!ce?_O-#Rc}YBc>AO+cFJUehqH{9--h z*9ab!;9-*R_InJ@vU@Dvy#yA}EN8^d}dY&z7c^ska)(Akt) z^J@_j*sLMd4)k;vx-nSDFE1a-5~H0)TC3t8Vg%t3on6y?h1Y^Df8quf)8e7_Wve`G zP^h4N=G79w1-EGZiKxm+Kn@Pzf?WO% z1LSK1CYB!=dVdIMI8*qy!c5KFLo41g zC8Ktq58BBiRrimbEVlLfa!A0k8K*XZ2|m-}S&;7?3X$QOW1SuB3@V8Z0D(DBvQSMe zlA4-)pH`VKhgvuKUXCkug7&Evj;`S1C!QO&yeJnLUeBmBx9&<|R|YkV75 z)+#Vi80pseaKY6CJBzJgbopha1;7)yUAPIBa&V1&X} z)-BDX1P?CyO09$&F<5TlTT}K`Z|>SWT$)P|o5BbpS;#nWv5ZiZV(YW^1%eez%Ane0 zOZ^Lk()>a}L=n}$v}BsO(LZS@ppqNp@#qf$QF9f?)lB)=&AnswD9)A3f-^BTyVqJK-S>>D^@;aiB7rAu4C{2VG0g_We|_L3sx8OHOIjy zvwsILwl2MbPCE$g!TWdxwq&>j)&0Whu+rfhbq+Z@Y5}n`mi$ZutnxuY1|q0Fx}PBj zLDU=TwX=d;=GY%DoxE-JN7$w5eeMjpx_jwxazVM?Q?pRMN2Vj+n)e@-BpGoC6cd&( zK(^@KZsu=)T=*H_SU?!C!mmqFHYB?1c8>${rRaMi`VdAL-6{+Lna_ z=o7l`2b|GJF9RNL8N(R18NQYFPlCCjJtz^LjI!EshIeD_RvAH>yT8Cmb475F@vKp8 z4s#MsW>!6=SkK&nxePq~wD#v^WaNWZ2P=@q8l$SrmLqoL|D$Uy{2h{9M-&>u;hPK~ z;VoC#S^JHC2IAJHAWz7Q*Rr-qv;W!uFCXNmi{hNz>cpl&Y*FoJzl}IkkpjLLxVfcL z*<=PMIHGw(tkm_BY7O0Jl&#YkB0bc&S?2<2Fa4FNq5fHvF>hAw_JHEsh`W1z60$zn zs~}vi&ZtS>2r`EFut^Q?Img8xuih^aR)y-XZ-0HH;(nQE9JlK;T0gmTkUh28kRVV{ zv=tJo602krGh%3n^L0v2ZU4cP?c1L-K^Ny-2`uvbz$LE$`|_i}ka0fmbk7RX6kcpZ z!_>Toh3T%kchkIG_=<56VZvm9bc6(gg%Mh#6Zp-v8^sp_a_&ffbHUJ$b#=TYA{Xi1 z>*YRyyD#;PWp7e2MEpqC$cVSD8vYYc|B{S^g_wmn_cFe(Xhyj0Y9rLfefsezFo2aR z)Sb@nr{i%+L&?&+)>#)<;ahlStRGXR>c-{TLBV2+TXSn79H7$SHcT+Z!d`@)u+pUG=D%7a>x{7@0CL5EAs&F$fSJCLOBGg|hXGF&XMH2(8nqmY(&u$e6knz~M zg2eH?PwtbSHSYi;`JBF>WB^BU$j}t--hFaE7{ZLkyeNd%~(;CYSX# zS%7EcHcq#-!@C>Y&(;RhXT7|1W#76*bs+2qw2Vr9{X|JCGie$-KA`%phFu3toi08U^ySz8%(IU^CUdGz#<)LNKRkPU zDt({tq*p^|AnyNQUwt5{{$|D5qQe-yml8G zS@2=091w#|MjYaG?f)N^^c;Jp2?yJgud4!&R4;y_Iz%Ed{8epJpi6+W^Wb6ug_%a) z1qW*#E%J(LPBhsj+GoZYd!7t6VZC}dMMs_NKr1jrFvzp@g9mYsOqpZPFEDvcYL1pT z1a^T651P9;6}ZT9F%SWA%vUYijMg6}HJX~%ID2Z*eYv8odeu^Oms7Wbx-hJeMQ69n za0zW_&JAyE9Kq+8lx}^67Eb(<%-;Lb)(;>ALihWynCL ze=au^S|IvWEWMZ4YcfE~F$QA$Y{%%B^-GO7eCO0iXt3I$CAs+}Z6d`-L5gQn@0JRy z|3X5N^(5Mt_ku&pj+z7&XNao(CqE9zy205uJNJ!{QFif4HnxW~{9$}$foo3fZ4T-C zo9yJdB;Rj+|6-cyEyW_=(?sar6q!Znydm^KGU@6ysPXLx>#;j+2u&h02aK3@j`U5n zH{wdDHk~X;B2E^{=1T3kX5Z?RV~p|?N2>XwI*rOR^>RLuK0*4NyvkYt^-XTLfGzH2 z_V_%vj&gwfZJg;PVciGaQs+KRLCGcWHd{I&j!nLIIY#Tl?xv8>f+yg*BOT4rwqO@@ zr5M)NBs21e4oQ0O(k&1xWXmKzIyd!YSU4I2T(*|D@eO@#r^ z@k-Qaj+CmTTRr^j-;q>K!$bN~l+@$fPe>i#!vI<*FtWfPO^GXp zN{T($$YMFl8nX&u9o8&LE?dPBP$YfOGe+8+)l zE|N|yazUi#ViKosPe%Qow!{?#Hj(cq+c6(A9TP5OMc0X#>x+?`ra2-j>7c&OWux-b zC(OfgfM9nPq35~ocuG=J_tH70sc1CiX$$itHp3J{wVZdyNNj8anDG1XhXOv?G~A{D zXW*@}(8N3Y3g%A5Usj>|-}Y0QM6{hZ)eZ|1E%eI%p!OJ`6N_u&Tlb`hv7fAgTkrM(`tGHO3 zK2r)lghj1{r-)adIgyV4#EG&7$3qji+3MG|iZTYZEjPqlQoOYzXb|N+a%$5qCW8G= zR{1Lj7B35(3=bOKq(yLu%gfV;;&nJNcp@9=TKm?lYUv6wqTW2OV{Jh2PlMlqGTqgf zs{7^K)&pmg6Or^`8If=rqmQBLFJJO2@q=Jabu3Bq3->`2vWHaqJ-QEClXxfn zi2&rR;!IUdm8v-XnU4UdWK;Jd8&e{V7@st z5tnlOE#zd4h?Rm@AYWV@b&26GwP$E`$NK-|p!H4uD(#2AR;E?AvUX?)^l+nQ`SouN zJ58R=AI;=q+TKbn1VYm)Y!8 zptW@D%<$JlV~^(luyPGV*1uUJ4BSpBgsu)A{cFEZ;M%jGnzp;tl*l-Zv|DvN)fvBd zqif-P|6vgwqdAPWMmRMy<6;y2QRN4x=1;ehSCfT1ip-D?HS*Vke)+T^ya6T6Vw|rq zEc1}%e;S?(E|5v6hzt1u41)nF+gyv`;jOi1W$N7NxZiE7qX_0?#D%Ia%s;NOdJur& z&ESZYqp6L5PQQObwFU5$)?Q2bfB5Ls8=O-DJ3;?qxSn#F3=Wy(vthDgiNHi@%8kze#GvWIXFg(eq+*DY9*hJWWku+!csciK*NFuwEq{ zyJU;lhEvU-^)vqiJk>*y-G!!B!QDTtu*dtCTi@Yui%Z1Hl%yld5AGJtq5ILSe-;ni zP$;r`k}WM0X<)GR-109XRYBiM2tcRMu3f6vHoD(WS;LkzWXD0_RaSRr&#-*`hARjp2FaQL&`;Ts?zpa@C9P>lEc_ zQ(BHrrXvX%WN_(ot*E6j%bV+u#ZmcR3i@)0K8#M}=V7~QsQ>jz8k4qx$*W>GKuDeMedkeA z64moBl%&dhKi25iZw;nk!q`=*{=_${>WU-ENN`=qHa(Yjd{Iaa9w%*>iDN2=8F?u^ICNP7v`4oKYazU=GI5Oabn@D;le)rUE_Se|o_&vq z=b~s_uLBPD9}RoRweY^dI@q}Qyvva3PpmRb&n4adJ`V zmfr1TKy&v`vy1LXk(i>85%#n#&+vlDyf?R5AZ8c1bZnxT>B#jvm)`^jIzZ$JVL_U} z<=8RRZa8IxB})TxVSc^{cG%HF3Z;8)gr0MoQ+sIi=lt={L@3g)6I=S8Y z4=~uBLAAK@Hmxxz>Ei?iaNO8{AwYO2Sz+P+s>~XAPc*3ay#afe$Bv!lHCLKrX ze~*RV>cx*H+3;%MijIC!tq7o%k(cPLuxq67G{V4Rx?2H)qPe;)q@>skhvR4go4Iit z7d<$8xH>&gUNyMDaWR>E67S{x#0S-sxuXx&S+m@+15Zc(!?Mdf{10m|2@P@MV#j)( zcmA{qRk->a7l<(-h=jz-}H&C5d76z6`p;kZ%Sr!OHVc)3IwWXto4WyKRMY#sM9-gJE~i(G;r z1zn}#4zhxBBxSdNi?7~$He9-wox{tm_3X6W-P?%CK!Ya!$W|KN$kVTj`7O4TqyV;; ze2Q~>^AU?LuC+v9gvH8Y-h+0Px1viNjO6$VSE-P3^k3wIh@-i9w!N7hI!{=qxk*L zM%zfn2*~Q;rRlKYo~<;MtCFbHlWp6Ue~#$x7|Pskwfsm;xjcJ^YvF6gIO-bLW9Zuz zW;;(F z;mH{`!$uP*JTB>U~+(waWjp%U0A7ovwF!IUhvozFlNR(G({KI zS0=E&rkvcVLGOvB2cw;W(mz1njtTE(La;;h}Ou+c zkG=XstY3d+JLg`tjln;S3DWsu>G$r$lDlPv6s3UPc}G>_MErBxt+`9 z1;#pEBz`IHf6Fuo>A7mdCB$50deKi6JkINGPR46W5DK+1vfX zSKJW3(E%IOY7K5$>Pgl$D140ycTw|DZuSHuvtY>tc~hh5Em1P`_m@o2Tv!8cG}*jw z#nL47W3`8Szno8Q(oG2Gsc>(1kS>?oY=J9~C%;xKY{!E`T64;x*v*pJdhwFoK;%oe->Z_9?bbBYecda-^3 zzxa*6_=ByUcRZhql6GLgV>aWD;PEZrGwtQCgN8l{;1d?a9rck|rK)c!ZT^`!cZMG~U(VWn zx^VEFns!}VVk~Yus{8iH)ZWR~yv)K2WQE5|AKd4Rfihf&o&8EU4<%q6} zZC4BA+F4U<4#0dTsX0n~oN4K}Z)`i^BVq>_>4O--x>YebLN(0amtyBIoJZY^Hg&9brG>OSE73vQ;j<&uHLu#7&o0NNt{xer&f{pu^ovAW+f zIV`-16p}C2rUl4gJ?1&)0SZQy^Co`{Pxh0J9S@f{@fonlq6h!O>Kl)sB}mrz+NN}1 zd>O0{y=0v#5EGX#Io0{=^@rbD%Reg;uwAwAjM)gZ%pM;a;IlROgDESnte<>& zw-9#IOYBT6>0Hw^pG+yE;`+}yM$9#CANpt!6 zWdSEES;&di3NKUPGL4i%Vkrd* zB#kxhE+#;OqQTh9&{{FTpX)TXk#_Ppc*M$HItOF*$@|L~S7WpMG9gA|1^`X~Hs3=c zAQrR^=N?H4vFmVZPsJYmvq8&f1m(A=&tfmO!i_7m8p^p26KwB4dKLZeQ@r()H7H)@V6DJ`{apNK z6KefV@3JFhH1?XBD7efvo|6*%d|13z&iF>9%u$!tfbWg6blNYbXsQj?@UXA@ck{*a z%eP@qxQrH4)nK6Ex=`X{jd~y*Cq~*5Q?S@7W4J@wWY3ZbxoAU-SuI?Rr5(Xo4)ph+ z@ya+A(w8QqjTI2_493sS!3iNdGN!s2G*ZU2n*(Ei2O8yBHxDKM17hOHZ+>~Zm|VC<{n2M?ZkJa zk)mRRpdc`{H$%mSJMYEYrmFg)5wmS2w91AJ)sEWGq1!hYmFbK97^Cfc|7zIt7}oV@ zcDYFXf4h6d0PO2W@0kj%SIA(N~3I1!XI{L*R$HSLT z1o3tCYoXy>PjqQ$sQ6aOib~B+D}8uC_lj9`o|SYN7}&Y#Ut$rWBe&+NsV5)G$E@KD z)tS(a7|>NrL;$V0zM9#3chUNqFI%%tvMvYY*E^fVV-@$6ji|vfuZ3d%e_OAO9`zn_>2F6 zQM+Zd&yS;ClCIRLWNhc>C9=>1gC5eovraqH%HRXr*Tkv;j0F~9iIsmFpm8i35aXGf zoE@|Fp{PX@^VKytAVy4W5S(lCB*-AFKP)_{IsMXcHeL0ik5c=-PhwKbZK+)C?>z}M ziQKQ27nV%C`y2ejnJkruLAfC5B^JzJ)ZAaLKc<#d(+<=~@!}J1U#d+3q7oWgCw~Vo`G9AB$0ZwVq%-D0Q9Uw;4)gf0t4EB%f zth>(ZDRiOi5AJXqV8BKc`(R2YfPstXm&Z-={h;!yIy8SpFUHUvCm!ijC)a+C`u?^h zj^aWuT%JykgB_<5qgF`y>0hls10`@PE*S4fw9elN9!Df4hH$Pl>%^)o7(QQJeru@* zi~0L-cv1DoO7+CcLjT-Lr=j!gL7>0FbYp{O7nVWUyZjbDB7QI_CwbvUezT^3u0LI% z-DbS6ztX112`_?|>C8DJpF_ubaQ_f`rEH1h{7|jXZBF6UR-%eo{XYrz|F`~sN3?H| zb1xeaY#S2avvP_N+p*LM){gC1#)R!qoj;vGrJ$mqpGQ$NV?|R3cXOs$`isPOpJP-A z^{$zHep07J0ZBJxK|@@VE{~!nQv6PCob?2#T8E2Zz2mlIIi z551pZnek2EelGV;c`pGcFa>-$=q}nmS;iV(uJ?^Rxe$5pRe&;7`Hl+`^d8so2(&ZK0lyO~QKSkzi6I4o2Xrkfg`W%?G3?!mnem9w-zZ}l1g5;9@K)jdfC zoE57BOn%{C=e;Yf=Zo3EwyYo5T~KEtQ~zPvZ+$3?{>3tPH}7tA$ls(qr-tWs4`tes zzjdCFs(WbySxT=M4+89FK62mAtB}#6v0`iQ9I{}*7gF_;yPQ4C>EDuPWVQ4eLYs$% zPlL@p=qUFLC2lnooOY?ZbI5%5hUny^GZANhD|>cc#<57bl&1R7WfEU++iy0xNdtH& zHTF`|;&IiEzM>1wNsC0P{b`ysqy0X3Jsc9%QLOONXkzPrEePyS=yPMn+qLA8bRo-I zaOHbyB1mP7H;xergX9txo2Lg4os4g?H+RLJ*wSE1E+)r}vzMTmOWJAhP&MdT$ujN3 z_dQz)98{jC+afUk_rWP`{*m9I+pNIGAnD7_m+kvAu8h_jyIC8$q15eq-e>sp*a?ey zPCHIgQpRuAUi;uD7g!#dD0AfNzeqh78{nEyh>ey~`H08G2p{;JY!@aFE{!UOTBf{@ zoxN}G+rXu%ITj7}P5a!t$$=Ei+`P%42__yuYo|5pWoa{(ST4 zf+%SCVb-_9szv#!Cv5yN03+a8JdJjF|EMdmN(Fn~53wf@V|5W{doo#8!_(a*vA1LY zyH@$BAtQ&AQzr`(-zgrbBX+hud7+Mpf2g}Om;TWw!~SPnpsx`U3U0FYV+il?SPoj4 z-`8!l)=KJ?c)gUJ@po`K8S$mZS7iG|qFlOT+IH-x;ED|uomo-fuY;@VrN2y{R$N#M zB-k=JiF-0@Zb?@}!!H&M)BYj!UB8wX#BN}*h)=4x4HfK5b1{;JcFunse&zzF*{%6w zUX+TŐ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 literal 0 HcmV?d00001 diff --git a/community-contributions/dungeon_extraction_game/images/first_input.jpg b/community-contributions/dungeon_extraction_game/images/first_input.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4a319e00d49c2c5ba5a06622bd84547c33a37c6 GIT binary patch literal 16849 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 literal 0 HcmV?d00001 diff --git a/community-contributions/dungeon_extraction_game/images/start_adventure.jpg b/community-contributions/dungeon_extraction_game/images/start_adventure.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80686a7a08b8e351636c375dfe9f13a1d5cee3b0 GIT binary patch literal 234544 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≧YIrf~Cvn=c%)0%8UIox5J7q=T+}e7F@y0$# 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/community-contributions/dungeon_extraction_game/images/start_input.jpg b/community-contributions/dungeon_extraction_game/images/start_input.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0b3f4f941a2f42edcce6de65ce5ca24574d2012 GIT binary patch literal 13798 zcmeHO2UHW=)*gBl`Q)zu-uwQt)_ZF`CUaJ1IYQnCSmuX5nCA;Sl2C;t~2EZ(tJuVF$vQ zJ(w8w0*nv_CI|!A21o+{0}I{TZw~)`V_>BF$jZjf!O2BG0mTn6GB7bQGBbVintpaP zy&qtPun5SgA7d4?J%3#n3|beoIG>Z{+xrOlk-JSuS?!OzJAw&fX!Xs|{bTdBT*6qZ!^o;wN zSq~m&=jP=XJb7C9tf;)A5>~jLghT%xvFqF))VG8xw??MMj-f;FvAj`2fMa z8nNs`#;K2AHgm{o+7X2>1om<6lGDP;FMosf8?t{6Sls^#*>_<7z=Z+0nHcC7j|l=8 z0+jwT^AC+vGQl9==CYZ+8u2yRl4dLdT^nqCSi&#-xwOKPr1 zGV>UId4o}SbbtJQPlp_zh3R6C<>AB`tX1tf^cmPeZ9w!`5^Y0)$zNi1&Zgu>LHAet z%}O5Yk?Jg~+FQ9<9>jx~Jm&P&CNT+e;%5(%4PL3NT#w(S*Z1mrfcWdhJfA(0`Dy~) zn{D2HX`jf|n=ex{(<6R8vUOm3C_U6ST))D&SI#i3LtAwuMieq=ZOV5%^)AZ$B(bWv z#IM4)D$`D%a?t9UoB%{zIp9S9YiqpDUd@ZoI>odyi#~^hqR$*itPXNJ<`D4W6&DI= zV0qCm#_{WC4b8c1?{&A?EOBaDbecx4cIL-Rd-&NT(%APzzTb-yMqQhr+6`L_tg+p6 zQp+|;92M0f8U0jYYT$LI{%V`Y>fMYkJ=y22zgm`bJ+;nub-2`F8Sl#cv*Lv$og4A) zc@nWh@q}vsm#HQ~ry2f38%we_&3ISi+92XVnRc1^0Afl8Mh`oO&BWD+Q;hYpb|7%? z<}fwbe+Kq;q5qKDCc7JA_#ExhPi*-XcqA(+4>ufNNeEeR96%v?T-=-7l`4v5|g7uD|mbXvVvcWy|TouJY8XB$6;j;}6`KLCN<0}pG*OF%%9wgCc+!yZd{ z4aGF^6I8d5Ddo}3_5DV1- zf%D^t-rDOIDL%B;1`t4oP&!E;2I>u9(NB=0=(XWOY{M_-s5XzI1j#m^4R%)&KMZGE zQ5Vbn_0DDIlP_ZTA(=+>UnC{)%;edKbvV%UFSPRJJzQ4kNIn1p_%zrP*dyzf@m6%U z^0ktjR?W&PG{m%b*3Ej6$@*1Dx~>Dm_0xR!5dV!6{iw1lXo@{@hIY9$l%W3Vx#0+Sz(TDSO}K<1vzD#TlU?LT z&>wWXXW4yVPp% z+XJDtMjTH-;I;8Et)^^McxG*Gw?E}46~saj2&lXJ+chcuAYAIkeiSu6MpnhqJ;F5U zif5g#_7%c~5%zOlAmH9bc^j=pRBO@jGhio$YbQiW7Ldv%&DykgHK@I6=$EO7>0Uj* zGMJz0i0PcFEDujSJtdtp-R@RKjk=Zb3XWJX1%cz!k8+c98#0z>Tlf+}3W>?=NZFU^{iNS>lC>MyucQJ(|bJN)J2xam6Ek z??^602UAiyakc4A^pkl^!Dz>$FnDH%EKiYjut-w$lNoVe_k*_9!>LXTY|2IIj^q=Y z@ImO36?F?TkW)Y)VHXW-F^U)^g1+E7e86B|Sln3j#glb+tfHAtRHEw!7A2j<#4SxV z9`s{OyvD`eq*?6tateGC)=Wfv!4k;Lia4zWS^bB1OoR#VB#F5 zH0tJWln?3n#|JgWRyoJ?eI0eNuOJ3j6=C!ucydQ7OA5P@7*;YhQu%_sg>181>8sZ& ziSJ2lmLw_;$>bcJEy?7z%+gR1UC_nBaXDSJsNaf-JE|Ez+P$LwGTPUgSp22_3fUP1 zra%CBd( z>MAC?1%9c$?B0VU&rD=^dh!D=;mL791McP$pX)-)(yimXu)x;mD(~yc!%Y^B%Y}}6 zC2!>WrW|_6I&#&Th1Vjmv>YDYJ!_m$J&PGn27#U}@8n(_mh8{_30Cex=r6lcs{Cv9 z*wd)@`DzCU?{KIqGDl_E5X=*kx;|wN%f0a^C^xN_#+-0&U{P!C(z4+#cdb`RkG;%; zsvTpZSV4?Kz8`djzXk+KODJ!{>my7HKtP78Y-@h} z&HI>~?^*ZkUEjSZSV2n9I`E4K6|V_g@x}uCMM-RVWhye_9Qy3 zlZL?3DALPCjLAozq~6qUh>nzUM-b>GBgSvg zv>0qvkpOC?J5Qk_;z}gfZ*5+?Ax22kSq5be;4$$|Mz&=C`~4k4Ce0a`)YBA(@|g*XhAj z`n;9$K-V=TORZ$(PxQHZC>O3tb@D3x#1aZo1#fZ_^zV*&({&-$*^j#6iW)dP#!*x2*QCJOZO9D1i7yCe$r zlj7-*($r|Xtc4}NHRd=t=9@O781Ejuycl#{ z1OY<=2wdkQ{U$+o`hJU-9bR@~VrM@5BY*D9hn@NGf0z&T1wr*7Q07g$@S}EEOB?DC zqddgmElzi^WmN*^T~tNJs+@092D&xh_{Je;IN!H%g&#%NImMLr@On$2blxrUR9)&U zIndZs{!O6SzUkg0N9+upaX$HM0o39ri1*ggpA9z_p|ri*?cqM>PK0iETxgp;2R;)Krs{2e=WVlB9ig~G#5ZDhi1>Si?GUj; z#7>U*dy?NFVuy%-i{-NrMbLP60!ipnPfCDvO6257On4blVK;LVjf9sX%$li;!#44{ z*h}>_7`-lMhtn<%jH&Hm^3gEoWBc|6LWxCsN+4j=NO?e)E_d>1!e%!SpG80*U4X82 zf`|H?KZQWL5G{qoGAbhotXzQ7R8vUyQo?lM0i~U?1cCNp7n5CXF;k7WvtbUjSj46} zT~vvfQ4XYVg1~$F@jiLFLRu)vy`$Rn*Tb1)c^p;SZodx%IP+Q>zjD#>F+a;szIT z3Smn7optH$w3SvRD%UdX(6mF-PBi_0Ogi_12`Dgc$ghg>(VBzjMr)s{9=xQj+Rc5s z(3|V#(F=UQL}X%xKM~Q1zIRMZihWsv`0lKUT!dAta!yttLFOp^(G50Rxr#T7R)fga zOaId>Q19G}vq?tD)kNB`!8R;ma;etu=hCZh4kS3VPznMy_)e`lyR(yY@zT4-<_G}= zFr6#6L!S3M-*+cCnD?-*YM+1rIT5l#{w1cr5`J~zVmtjY(VwQmK{#y}>D{VT!s#0= zI$tnRW6=AdQaPF@Xy+OAOGVfM_V9+kZigG`T6eVA#n;>jHuv1iTqskKA+XleQF!44WGK@nfwn*1X>WR~b6ucW zfMiad<4MlmJ*-D=VOwA9DO%f;Wb3&uHuD##zFMVxS&IzEJuq~5p{qRTSRikujm`Y_>_X%d~Bgn779Rm5?d$E za}XuKp4upvbjk}@Z4n;@8qi3o;bsx3UQoT z-0WZw?V9Y-LSnK^tCmAsC9UyThZGy)=>0FwH}BUxHp@P*Iw0^6@X%`)gFj^|i0U=D zxZ5^4?GqdXVpeD;+5;Dcp&hQBeFE3}vmJ?qhKHOB=J!Y(dRi}e;?%E~=WRA|9I+}+ zCXEhE7t!{SlCH~KAJCCbs$)?hj6Dn1ukW7Q`t@#~N7#D~83D1A8D6IHcgGt{d7?nT z-kO;!*U2}&HcVrTl(=OIAVoQ}h?Bk8qobMa@AsJu>dvr=meDPc+0~8zoGAA>*KXwL#fK#jzNw$;!=G&T{~2T-c$}6l~Or=d{9+2tz-Y%{!GynWKmP*oWDl;o^F=d za%;Y~O?tzfm3GO8*aKBJHWxObHYOh*jgG^jDnUSY&IO9GX+^sOwC08cdy%&jL5`OLf#WuE#D9r7vsZON;T*A_PnCLbEF!O0P4uZx1miXT^IM z?H|5duZz^lExxZ1JWHwqfx{5jqVb`w>*n-`|CLiQH|Af`HV-sB8(fQY&)YCzP&#GANsDtpS|P327dY*IS9z| literal 0 HcmV?d00001 diff --git a/community-contributions/dungeon_extraction_game/images/start_view.jpg b/community-contributions/dungeon_extraction_game/images/start_view.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ea18d30c2191bb5afd221415ab2aaf56258933f GIT binary patch literal 246159 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≠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 z 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 literal 0 HcmV?d00001 diff --git a/community-contributions/dungeon_extraction_game/images/tragic_end.jpg b/community-contributions/dungeon_extraction_game/images/tragic_end.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10eaf04fb3f1c79782e2983fe8de4583bd04fd2b GIT binary patch literal 190236 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 I*y;HH0qpgAyZ`_I literal 0 HcmV?d00001 From 97967e33e912ceba0ea874587a81e80d142caa4d Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 22:51:02 +0200 Subject: [PATCH 167/176] Allow disabling images by config --- .../dungeon_extraction_game/game/config.py | 4 ++- .../game/gameplay/gameplay.py | 30 +++++++++++------- .../images/disabled.jpg | Bin 0 -> 912897 bytes 3 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 community-contributions/dungeon_extraction_game/images/disabled.jpg diff --git a/community-contributions/dungeon_extraction_game/game/config.py b/community-contributions/dungeon_extraction_game/game/config.py index 7cf3735..8216c1f 100644 --- a/community-contributions/dungeon_extraction_game/game/config.py +++ b/community-contributions/dungeon_extraction_game/game/config.py @@ -15,7 +15,8 @@ from .storyteller import narrate, set_description_limit load_dotenv(override=True) -# Choose draw function. (Choose one from the imported ones up there) +# Choose draw function. +# Choose one from the imported ones up there or set to None to disable images. DRAW_FUNCTION = draw_dalle_2 # Define a sample scene description for testing purposes. @@ -160,6 +161,7 @@ GAME_CONFIG = Gameplay_Config( scene_style=SCENE_STYLE, scene_prompt=SCENE_PROMPT, storyteller_prompt=STORYTELLER_PROMPT, + disable_img='images/disabled.jpg', error_img='images/machine.jpg', error_narrator='NEURAL SINAPSIS ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_', error_illustrator='NEURAL PROJECTION ERROR\n\n{ex}\n\nEND OF LINE\n\nRE-SUBMIT_',) diff --git a/community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py b/community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py index 3cc540b..9a95362 100644 --- a/community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py +++ b/community-contributions/dungeon_extraction_game/game/gameplay/gameplay.py @@ -12,6 +12,7 @@ class Gameplay_Config(NamedTuple): scene_style: str scene_prompt: str storyteller_prompt: str + disable_img: str error_img: str error_narrator: str error_illustrator: str @@ -36,18 +37,23 @@ def get_gameplay_function(config: Gameplay_Config): history.append({"role": "user", "content": message}) history.append({"role": "assistant", "content": response.model_dump_json()}) # Draw scene. - _logger.info(f'DRAWING SCENE...') - try: - scene_data = {'scene_description': response.scene_description, - 'scene_style': config.scene_style} - scene_prompt = config.scene_prompt.format(**scene_data) - _logger.info(f'PROMPT BODY IS: \n\n{scene_prompt}\n') - _logger.info(f'PROMPT LENGTH IS: {len(scene_prompt)}') - scene = config.draw_func(scene_prompt) - except Exception as ex: - scene = config.error_img - response = config.error_illustrator.format(ex=ex) - _logger.warning(f'ERROR DRAWING SCENE: {ex}') + if config.draw_func: + _logger.info(f'DRAWING SCENE...') + try: + scene_data = {'scene_description': response.scene_description, + 'scene_style': config.scene_style} + scene_prompt = config.scene_prompt.format(**scene_data) + _logger.info(f'PROMPT BODY IS: \n\n{scene_prompt}\n') + _logger.info(f'PROMPT LENGTH IS: {len(scene_prompt)}') + scene = config.draw_func(scene_prompt) + except Exception as ex: + scene = config.error_img + response = config.error_illustrator.format(ex=ex) + _logger.warning(f'ERROR DRAWING SCENE: {ex}') + return scene, response, history, '' + else: + _logger.info(f'DRAWING DISABLED...') + scene = config.disable_img return scene, response, history, '' return gameplay_function diff --git a/community-contributions/dungeon_extraction_game/images/disabled.jpg b/community-contributions/dungeon_extraction_game/images/disabled.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2fac5f2f56724a91e7602ffc5c2f46342afee208 GIT binary patch literal 912897 zcmbrl_g|9l8#aC;8fqnJrB(=*mTg;>8iHnpR!X^B&Zd=nfD1=u6C7#71WU`kT4-kC zNTl9{xo4ta$9XUHEOCHUCyv`62Otmt zfPg>1Qa@k|zWRTA{O=lOB=^F3%t*jSpw*5VRb#u5N)Spu-KB>+vLFD?OeZu`jB9WH2vqrb~+ zO4A$_u*`X|8ydKIz%ME&s=V~^2$Q}-BO8M9tKJdZeLBtZtkmVo8baWgatiKUrH zmw@pQ?3jFEg1rQ|w+M(!K)I46r#U_Gpi-%-vX`v}45-%bEmkkL86{UGrLtAinTBzs z$HU2ExNFnwTNj&D%p2Nv4A_P;E$|{K#s(qc2{7v;D}J`au=1N`F_DLClZHx@8mg`C zzRDGSBWW|saJ5#X>^Oz3Jkd_L1Uy>;{)o5=MKF7jgizwBBq$S0lh;j*`|1Zgi3|#@ zvB4YFh+o7G{vjAIe`6;PZPYPGhfZv43QLJd&F+KugA+e;15lTf#AlZPj0KuhWzx-b z1mZ)(h5~w1R~;tp`N-+6qtofR4bN4(g)7%+gWm`XRxr#OBgI^9?fgm=Qoo4FTLMrt zE}OHkNWm^DNf<0!#HOLRviXB$M!9@Z#VzPv?yvQ$xfxLE?qDe|#avV`m(Ex0iA8M3 zN;mgr#H)f!>55)uX9&5a$(L0sltHye+KCX(uf-0Ph!|1rF+y7w7P!vgq2 zFUkf9F}qUK6jw5FEk7SlDJ4BifRC^PRxc+}W(n9u8kWNEuGd#W&`SW-TquW2mViJu zSBANl(ec@^Nq6X=2NTNZ&J6*)(eUCUMAcNToPrjPUCB(J65Fr6Ilupwb(4zT>3a$6 zyBoxBcxMgWvdIR5H-zJRI+2|DXM(qm94)sOk=m}=5V2Pf zPm7!GHQHL+BaaL^jGI*lPe!T|%LD@hLF6VeF<7A?X_yU0%V5-j-E;ZhSgm}KzvAWD6~D}HK6h6?T^zIowE3=0kiU;=em>O)B<^}2S<|30h1{L?%Fxsh z8id-u1l)i&&?@6iQn|yEJodfl$ZVH*>zT1hf8`to@4+6v`6v{hp5(pk)m~#2$g<+j zaNAp*@POOHET#Dpz)a^Z0a{oImLi$&uTaJW;d!Y{9#pP`Q53zRe{Zs!#d65xufS_9 zNf}SI-N}SN)iP_UhUc^m@2+s7HWt_ae%rxMwMw0)C1Ak2u%!t57QaGvz?n&%VMFOD znuB?xCCr$E$>|d@LYkl zND7FUBDppg&?K+5K1^_ix=TO+iHzq`xWALgt+gNjykF^4HNO%`bTe-p7N(kpQaiOA zWa?Ivu)e%X!>z`tV=U7XR_~lYn%yLeI?lD(8drSKxZlXWe(AP(;0yggyG^RiXQQ7J zA7@bD-&gL|HVri_-tr**TQm?z{|JuNbMUF5+pXUjo;+Pc_ZvAo$i!SGdTvETB~~6N zgHg~ZC>1-g1k@}6&;lNDN{MBmwMgJTmqV9;G+1ujtqr|%>aXa(icXpY{_$<}&Bm+Y z`r=+iQ{X*zYBr~1M2zMGbyp_smVmSKM7$60U@iIb5>PNQ9)~v$`C}ueU|zp0h_5Xl z=G`|XO%$)StZ zyu}!I<`mnyf=5E}S$;~=zyF22DVTc_NmywR2}@&fP)O{;R|OdFa}zR&!tFLWEk@$VujXs*d8x|B%`LUxOIu(PkNzaF3PFJ5CrvEt@I5Dg z^uB+Nn--Y#bC+-?b_w`Vx+`n_5-{0&x32M_k=Kn$?7v<<-I}1pO6nH>U`1HUg;cg^ z3Ao22!4!28>0HFutjX(VkH#J!AJfb^^z#jKkmXlDg6QGJFNeq_B8E}d#<$TMH$I#< zDNar5?=x!kJT~f*Z2YNlon{l|M+g=KoEu$rBNa47mO16qj>Yb;zo*y(?o(a4g-vQN zcj35?w%KFf{?o)FTKWAs=aaY$aC9bVm?u;YvCFGW7)!u^t7RM|n#ARkNlf8Cfn{W6 zXV~(N-NmQkE3d?^CwM5$P3V3Z@at+{AT3sJa7hzIW7HP=U5CzC=C8T>p7PK!o3f1^ zjM{xck-TWD+F z@0knmI_p#?bAbg{$c{&o(7{Y74b{RW$A+vCF_1ALK9izgf{Cd-L1~5bJ0nK5@C&m2 zVAEdfZyr@eXDBBboC5EBn(8cxc7CrvrolBnySiSaT_~Bwv(1}V1llNcu)qaOt%tDjI z?}Ka)8AI5}N~M|Fodt*E(z^L|_bM;mKd}T@n((O=N;4R6eSuClaiC2Stg4i+rLys_ zfC&|bjw4azSV=v&I%V~6C0iurg^*A*)FPYTnY0Atff=(knVb_|ohKkV9M3rtvrIWz zwOx~j*iVGY!2~aIP>OZl}2v)D=dC+Zo(=l!$m{RqaKy~wfP^$DD+-K??GY%vmv7Z|i z8oW*+ne!Q# zPo%Z+|I6lKH`2+CwP!e_GZOLCdDuNe!$X2WuN1g4MOk_0g2WlMD1Y+^ zCQ^a9oHz>yCs!k^f0V>D7=X)SLfMgva5;eog7Uq&nCwG6|59CMVy|%a$!=|Vafnt! z#dhjI8PGJ9B_L9qz&2<;KWw{Vs06zX_v?S-K#R6jKy`-n`0{vaUYN&kpK z9vrn;*@CH&d+`7~29Bc0AzT`Q2xD?te;L@{m}cUpUFykO;C))sr#QlLo zsTv@1R;?#h_EcRRi0T_xckV6m&GkWXW{rQaBoS2znkpHGgq0u9hhfKi!DyZR%MKWb z2HEcJk2IYlJCr}VG|X_)u&;}R8l_~2pYE#kldB=^5VP)d+B86vlS~qEFuBrPYG)il zCh`EBi82RVFA9hNSc)5t+#VbMV|z(I-ZM|_$&+-AM7zbBBPop7a}l(vl%^ym&G=A0 zrvCR5;Aei|joB2vsHb3G)xCXlr{*eHzTcu(jIH_Y`bOnTMsF^{?%Udyh=;Y&&*xaB zBh4+Pk23;d4gC)599w-Nr!oiU!>s!_9=O)GxuyK=_%Kym-g@E}^Py&ZrWr_1M@r`1 znla{9U(%UL%y_JjLpA3nu_^Vlc&s*`;VfT0kQ2(rvXC$lSHzIRb&YnXPHt3rCZWEs zK|-dwUu|RX3Ra591T|O6wQ02AyMDs&up!^yKN@Z+E@qnUjB~j4=vB)Z9xnYp!D|=O z8xhQgrG>0-His#k50i(+$)>5y05zn!axSV@nGPmmUba7b(_F6$a^S2t$e@$sZmt(f z@zm8+I9Yub%M`L{3MOJNMRjLA#s^Bd^yZJSmrC(b@I z-_{^FT5WG6zz^2*r+j{d)(@?Z9FyutPRA0sPiJ2|+NYA8m&2DlV+N_J*ol}XOqxeo zCB#I5H`ksFMnuD-$^!%G{pGOxKE?@eZbWR|(0;kBv2sx9tsL?nmBt7gq=u`%3zbU% zn}bqKgUF-!BS>5z21^FeN_3D0Kg}AXj$HX!jW!TS%)+PsEbtf^*Hu5Coq;R9Vs<4Z z!VHxV?v$Z6|BGev*gs(5F}rLyj=g7WG(~(D{UqyP36ykQ<+4cTYekg%ZrbX@U;Qop zfqRx$sGGF}<$Y7sMH*XkK2YlRo=F#s-K04P^oQygDs0y;o3I=b2e%k350)xPCTxMt zd_MEl0sy;_JUraTOua8ATy&*Xi71P|;Zy`jHL%O}GEQy4)2 zzY9_rNB#cYcrdED;H>?gv9370I)wYT@42}NjTe+lsY>_-J9qo^!b)rM)<@24qd(;j zP<1Mco<>cc~F_>R5a31Mzj5e6qBH**JmscSPns$6z z3zx>?%Vl6Of&qi$GO}~vuO9GKNhm2qA=e$;%puv65RIC2=ttpXO^`)8PkVfRkA zD)mZY6WZU%pgqc=s;>$+&2BV^yHbN(CIXHn6aNNkxNEGx7+m z?W1tZD`gly{s}z5 zlpb}crKYTi%LyE|2O&(Dn=ThA(MlqgjHVezE?fa-^JZhzI5eXKZWCkpd&jkHkdX2F!jDQo1$|p zT6ft*h2+)60Lq2tEiYC)`x(DhIIueWPkCJ(I?~G7rpQ{me&YK)n zm?n5m&6Mw50-Q5V9KYZ<+s!&&Q^9ExG;`xgnZm*^_9`zdJl8n;e2~tkF6bou^7h;T2M(J!$1Xv6! zEkGJCl+E8Nd>xm$nUG$X9djHVTbz3?^#q80O659xfdxV4L0g(Aa&2>XN}s#oGriw)@D@jt7ND|V$T zCB%s*Ux`X`dZy|fFXnvciDDL?O;h5^-d!iXNim||m=FmWoa>*~1my&?VjsuIu=VmF zJT=xIxhwwSzlDEmhor>mgNvCUGl`aO7>|jviNb{Wj+bELFhg}%g=Ikqm9SiC1N(r) zQL$`5r2Jz&FKIGI!jRZI=-I%5-tcqvYG6zZ{#c*vpFcqC7r$k{zGhS9Mfj+ZGloou360Ry@Dq=$UirPr+)$I5f zDG&z|O*s%l#)C?&5wkd833xx$zPHM?FSZ_tw!aqsIlub+Oo;BOVm0m*@&Xx_&O@DF z-Zs;2C7bN8Wo{?qL&l_w2rQg;=Vyc6;u?Xu-yjo1(1)-0xoBW|;oPQ&*ZD7s5N3+H ziRbpiXU|iLn8vOEY7}1~kuEOIpE&}GIn4=5J7;#15{u&3D=mbaDDDWFswYtAP668d zB%S~(!NkZA3v}AzF2x?#j-GL^>MB2D(qLHKYD4v6{)eA6?khp?PRWV4L*jR@x7w=M zp1;w#2+4aBH$NN@R->o4+ZwUIzV3px22aqK#9WaV`{&&f;IIdjmR5FIPntp)#&B^1+y_Sm`p8ai3TJYQm1lGn}KKJVv!WQ3)3SoOptgM3c-5AF>fzklC0xqLL`riiso1kfoj%m(P7uyM6Ka#E1;DrH#V_ z)DdfbRm@r#qQt6X3(NBMC7^w8|DEyt3&RF-oxXi_(rMm`nh-2YbrqIO+W)laSt;({ zyp4AxBTZ42v(tSj!Il>A;ZPFa3G$O+GPR?1YGA5-W(n9IepQInSk8n}&{}w@9L|v; zkRZ3ieAPZART8f&U6AK}MinfJ!= z-doq!4Ux?!*mEbW?JV!odV;p3O;AX?%O&L#Lq*J0sVyMPl4HQYBZ5kRR0*;+Bw-JY z6NhD@rZ^%tM+%e4iSt+3|67o|W-w(>)bzLK@h)SXTTa)$O3wUgV)BE8B15>;nUl}H zK2c^pchjuBJTYK(=h1&r;m1_At3?>EC{4pL2Y^xYlxEEI65#Z@V>t5{EB95O-S@$@ zmERv2yT(wP+|TPZtl+729GD$2cx`VFwCbIqqYOn7eo?X14#q&ua6$;&|M8?Hpm4sm ziKGhuU#iz;DsZ6EG$lorZW%gBa#YVe<5ij+`r_!3`s2y>j;U$u7s^8J4SzkpZPeoQ z7ws0`b>fBSNqb`-e4*7<>YnUZLnoUgnVQ5=_kBqshHlP@i?g^K0ysDr&RF9(3ow7p$rm_B?LlL} zgaRfjMFN^c1v%Yv%$>9OZ6_`-@F<9`ygfss8ZiF8}|o1W&nvC6GBvym}nxF-#xSrpfPE{Dm;e-P!J>< z%OIDH@HiE_Uwi|7-@r3(e%<1ii1Qu3B~79}%;BArp~Axo~2JA~R|c%Hu%oPELj!N`M{RH_b;^G_$Z`5{JIlqAu-AE_$EbY5qUv4 zF6;k>N({*Q_+-m9a#{@qLqZ6-3XrJ?8CWjOZL@nWrn`KCIQW7*+;QXC;MISqJ(s#G zJI{StcLQrfdGhYhM?EkV=Y1)*%WkPHXg>0NecJUuKYjfW{WRByD$w;+D=y^-do-LR z+!Y$eA$m+cl{o)#j&TRqHTIvrhYvQdJL=XGJ4qRYTX$=n=kk_s+Rwvx8Q%x4^<2s> z*&3o>;EW@K(+O?e)h`>i6EgW==&%Jb;A!BH&}&3W7;S+fFvn8id>IJXKo9=>I5@^x4~=`L$u&z2NAWmtS<&#GkPH&y);V?sWsqehCf9 zvk*CHngB{GRkJo=r6l4ety8*yqJE1U#RIh~ih?ct_wUw@UN1zxlVuId$$AN}YugSO zQns+s8E7pWjAE!_&j@2*flxqq_-m2W8(Wy~4o!OmvC5Pg?%~Ii(DCM&_ZK$=bI-J4 zxD$SreUI0wLc=hm>hT@dctQL2-Y;WRL+PO(C}YA4nqL!s{lS7^GMg)s&cbQnf>eP% zCjrYN(H6i-c8HWpvTJ*7hT!n$$DO*O0YZE0Z0)PW*+4^XdjBBEdK(vOLlz?6y<&s2 zaeRwnSoIY;X~Zqp$uw5NFczptF7t8azm5HYLWfnzuHJv}4FpWm(V;qK-3R*v0-B_? za%xQHP}K}rW+3BmCOJ3g9abT0p4|+3RHD(R%rtB|3q1VT<3GkR|7Ao! zEikYPv9Zea4C56Qn%o7`YhQqki4-B_ao5+qcbW8>XF3^V9x)iwFxuOcBqNCd?p+uB?AB;>1y5tkl3GozjV*s)#9CdcB!bx_#eHuEVtAXcU**}PQ)17_X07!n0R z1#MwArfL#Of&R}BrHGi6y6L3Cz=pXy) z&UJSs9YL^`@1=>4J)UfLLDf*Ok;ZZMg1A5DI|WZ3_q(>%ERL&VFiy(Yx*L*?P+x;e z(bn}`9VgP$NmBk=_x?H?J^%mfl7a42IVgxo=Oy54iee}?Xv~uh-x%rnI=x;#vdK%u z%o`f1%?{avG3Q99s)jUtFiIJKieJdd7M^&MdTwIuRb{e+H%Yg( z8YPb+cakKeIyq57?#r_~HZs2K--Cu{NwXS7sA_B*8-nsiF=Z&4P^SFfE>JGWNt2*C z2BU~%pdLdK%-#B$G0BS%2U^)us$uC5b=17y++XxX4YClc85|MAgsPP~Dc!>@i2l7O z9XYi#M-W5P=$E-(Uc@I7r?|`#X5!y1b&sUcV&x|K)YRze8F2fxK7699q~tGmwkoUG zvS||4p$3;}#mY1^;b`#KCK$$H1z;ecQ0&D8?ne?+3C8qH?1m-aAMI*(4ykY1^dEFZ zLqAZI69~|ONE$!|KvEuAcKqSwWF^1g{5zRy=)IT05`oR=*{bapJ1vZAXxxPN3RsIV zq(mCl^LhOXua5#>)kq1-YNGUNlYY?=g>I3>+9lxXe>Qcs?q)Hq&_0T_^fWp_3Yxvx z#WWb0{diG)I!z9SSe7yulwDFlj{Ug#w^dH?_i()s!z6~{ZD5NvUb0nSAAqK`pi=PV z={RxBI@LkzKXx+pkZ0FDo(v}&C41Tp+Ze))sp^85Kqfv9ZeA;>4c{t0f>h@QXAyVg%Hx z5*wI6@PGvmWh7+6xSU4`UgEms9@^!O++9=huO8?@c-_>ml_M99`I}oZ>BZ6j8?V5> zD%BMPw3d7h9zl+Q%cJjs?IjBwkx~OxTqxk?o(7*_u(W!m6=GNW%ylDbq~gDF!@>(z zw*wk(i!&mg-kmvZF}0&Hl*y$$wGqem{|M~o9)hMktCJ-M1{wU;f*DJBsSFgAC?IUu zdw00_8W0qF?$M1Q2{@A1>;!k@=AJ{by5;Wj&o_CZsf$uDY_Q&8TIP!}OTZj+2_Q1T z?iPVjcT?yRu+>VqKQy;2zclejcK_p z?dkSnvIaL~d=-zZ!rjQzGUAh!(N&wP1=xNHLLRgH1y+752i1QX{}5~}0PC>2>awrM z%}sN(S6$oclpC-HHI#|PAmYCrT#*>XR{mCE|7TnVvKOOx@OqFEEAgNML6gYAb*i4b zYOuf0OP=NKY;07s80^}@(KQn4bL-E5#~qr=OD|hU{%E#y_0@3`L!@d|0dpl2N=0H3 z@l2uO8(tND7OrxIN_r@b5lZJXYbby@*Nf zY|liK#s|)U7GKJZpgLZJAh$)+TvUyWJ_Nm6eDW-8_HeLt8)24|d?#M6ROgaykg?m~ zIY-Xf>DZi5c^Q*?(|`JChcEEJXs(qPqunZ%#;toy`!DH4%H20E4c*2WKU0o02iPW3B2I?`HU#yqZBR6 zhD%sA6xen`Z+ofZZElC?oO^;N*lwkl`2@*?OM2 zASqt8XYyk>W`r2yXlR;dA@4R!(=eLy61MPZ=YII6*fkqIFdJprrk<>sxIaRn2SqVP z{+-GL`|kOkSW0kP4rgMlzsZwA_6k_k_(Te(d5=6qs@n z6br|b-h7rVAL`nj-8Fp%O#7jGIaF9;RS0v+2*h9;WX83*8rPE*k@M_)&BGaAZLV5= zzr6(P+Q3P+%AZDu;0%7W$ZvkDo0{429#f)(@7hvc-0L`EZfN{W@0h2#U~P;FQP>jH zITUf`0M>9U@5{4)r$l!}^m5n(RWHZK-EYk|YL#1zi=U+aDCA-? z{oMogZ#5z^a~CR-Asd?7SZm&Tl;~A%*s4=ha6cC8)eFDtHfs4Zm)$>n=I@U^kHi$y z-lQqmqUPsJ7>!3>(cSSA1o&p|=ZMaVK8)R^xfhvND({a?SGAT@UJ5z0)x9urAxIUa z*^;uKY5d?qF|sZ7{&?n?@8(B7^HGYNl=H_LT%QD?4+V9! zqG*Eo#uim1frp~AOyY}CE|D+f>i=#$KnpIn?Iq_e!`{vEngSBt8@GbOD7S57KC&Pn z{(xobb_hy0z4SRuEacp%XQvKCQz$@4Q`E!#`wn(GuG}#D5^6(A|L^mAKPuL*^`L%1 zfWGZEG&XH)UC~sHVeenI{~8R_%X92kw(g0?tlIkP=CbX54=!C{2DGgb{ztxR+W#@y z`oyKFYduQiqomDv|FWU>K_jzkT~^_pmmjRS>(KYvC!)pZ{C*F(aYb^M%ZaYn_ivq# z-UYv0ZQysGmv%jy*{-a-6)rLG3EYz5wr+pVy%*87W*w8wrCW}?OJhfRWU6^T8jAVW zO;6Fa6-NzDxK{-f^2H~sI$2}yA6=<`p5VCpje%8nt4rb}%j3sx`rFq1X7^At*Y&@P zF=u(pjY|g$sZI>shC7=JN<34R09N$dosi;P7d$xW%_Z!OL9@o!ej917eYP?o`yRwv z>%ZoIDe9Z5&#B%!?wI!PUlTmY^7hS=79*P8hdnq)J?Xb##>OM>q)41RFRHKfckPw1 zE6D?Tj<~)f4`JSUglX>LX!C1`B&psTjbaOmy^3RfUhG|S_Wl#CXs5UI6|uFAiIDQd zhp9{;U0jHuOaVLG$Gb149>GPx?k$5#Rv-e*cWPK=2L0qI;a3GjA-`1?S4%ju{$A~j z4kZBCv*%SyEpsN;sN$pQ?)Dm4L4sEZL@8JNo4Z}RJa5!#_vf(s&ijGN8sW#7Cni<6 zCoNn`BHXx8$P&rs3Q=@@zWe0~lEWo~KdRAxGCj0hkTwHrtL1I8vK9lYGph4rhIXwL zvp3{m#jN&*xZ$Qn>U+J&9_FM=?flIMW&EFx; zH9u@BE6=cfMSc2_01UCvW^iHLau3wDeG9rK*wk)&QK=IF zaRu|pwlu|#-$V{{+nDEe)6Le#PrF@62#K~_1uvSgWff0fEdOUUe&Lcy!k<>n89{XV z#p9uAh+7-d|K_R+Fm_flZpzBjQ*BS;y53x?_bd&2V~vJ*1vi$w3?Z6K>`$o?ve3rE zb}$wvRib>jF4*t^vS3b@BCs|1;ou=t&!;O*qswS%FmzHqLJPfci~2h7KJQxW{*r-o z#Vw-?k2})vP~JE4FNhB_5oVN#H_013I(UWW@MbRc8S-%d=}ywQPh`^R5 zuAU{!aEGe%z=x_yhjwA^XF85^2sipfl$`o@Z(`d zDKM)hvJEE#^UQ0a^pn}?9!yHd>E$G6mrjN!S~RG;xhDt*K)G@Px2q=HXm?)hi7<3E zKZEAdV8;{S0K`TlSZ1^23vJF9YuxWahT50ML~hiijP=hbNdv{W zx@qSi|9^_LEaV?TZtl25UuJ0f!x{0N3P-G4J;fu6CVuv{F8h1W-4~OMqgRuwP*~)A zSITEYBj(yj2}rz3H-VXs^-dQ|q7ox2xO^zCFU#A_vEG`en7 z9u#{O*;g5xJu|)fwfYIVX6S0;CP9qE{=N?=;#1>h*d;%z=eHb#SlYHP3vhvzzxE$U zv-X@`Unoba?_wd~Ojwuce4VQ+!|~}{A5;?5e(l^fLzz`=Te~qFl!~=m0&x5ztdi6v zpyUn3@8GgNup9oMy)u7fp{uSbqVl@6KezJ{j9!oB52a6aeO?S=#?;>L{`&a)I@xH1 zU82C%gEBsxBS*rp(_bx&SAG(=(QcSt_`HV^``zniss6_3WTQt{1u)}eq{U{^FK%G0 zCpxtK&kKpE=K4>`dGAA9;7X$hk?7z7^U*q0_(i2QrI8)uUL*s;r`mQ8PLYg*SGO zCYxd%#${mlSVqN}9D}dsZrpkiZ$TJh7V4AVRM|rmZ1_AQTkg6TQC@eB(WQQ?SAUdw zc_lO^Bvum_8bk9FSlU1B-_ijOyLe%2Q_is+LmfLW0Ffq!Pt%fKOQGyg2rq~r{6@N! z<$Tw+3z?EM;Ldh43-|-!h!D>{g@A<=JUF1$oD)=}@R%sQv-fNMYm@D@|Ml%wDTeeh zBA1&>@leX)8Co8T8a?e}u_eq*PkDwdFy>S6sDHDR^B_Q|Lxk|7@;@oHF z6%PFae!Z)W^`5|}d!Hp=U$qMJFEtsK2n}wwZ7o4NA{OJv+AV|Xx1S!k9A=cJkD4p$ z4#{UPJDpG22{UPHn}?P-SfXWLpZvbO-6rc?=W^50m}axXkA5(rA9A;yk#R(0EVz4A z`QytvGgdpLPgH(7=SSV@=?2jyj^-X=Brh;dW%$T%Sge0{I_;*rs*0S{)q55E+-GjqSnucYbB?{aVKW+O6P+$~<-Q@l z8vbKv3pxM&h~5@(-rc0u;QZM`weAbgCK4uWm&d4$>??VF*86#scH;F5CKrX;$MuUg ztVf+$ac#X>ICk?zCk8rs#aSC}O{Ql|)b54K8eXu$j(-9F`tkIswm(b2qk-HXT?WRD zKA+AVod5aYr+@g(R)@G%tyb$MK7=;9ZQH4`z9aC^&37wxE$Nkm!>`A>?W){1Zt;9J z(TQ|g8}~QboB(zOG#*BtP<)Axj%8+9*xtMXygw%kYPLSGQ)Bpmei|{Cy~cc1ke9RT z;ghQS9ZTK_U0pM;xb?mBEku@fhJiw%L;Nb|oM*ESDi`nm=5hqDn^8oj?jkL%p(}sg z3TxxL+i|L)97sbL5R;ueaL7UR7VmKOm;8-J=zVXC*s_53h7<^wH4PytyFMqYtJFDu zwlv>qi%EKm&SqqCVxA=M6LGu{BCICu+X=1G`PWD4aCvj@bf?tfX!(}wEtC3S^QbjU zGRGrmy0M-E0I6F%3*~9eMTe)KYO->U6*X~|k2Hun3P(F(V}ukH(`XJ&kfngpe`=Xa z%3iFT`Ww*dE7{P7IWk+f>t}QMFs)_Z^+{`kFET7A#2VK1GccgsWRq8zm2QEx;j*8% z%9t4(3f*A`YmqSe1?;|$H+UZ&IQE1VyvfY^o0}H(S}LtdO*O*LwH`)en9PEzo@}341SIXIlX*>+&U8(76{x;s zCt`LKO!oZ--a6_ev370QEP!DrJ-m9BS6$(V9A zhX;uzgh_sjF)2gcs?K*6eHuCW8B0b&i2I%wWA6efA1g!O3(UD6v|BJSgtJ-2fB5Pl z3!l=|5$iUOO}`zja_(EMY#oPP_mY8*fFJ+y%RrCVU&qYNK9Z?PEUfVht$4Hq${iOn z;yq9eR0482aQx=NZ)>L*SHsBFBdaF^!TZaMxQSLZ9{i&}MhtSlv%n^zNa8a?0qoad zQ@RwdwEPgYw&+d4=JFYAZi9!Xh2K>NW~G70J}kWO%cWwqjYL!e6QKhd{pT#t=H1E& z^A|0?8gtn2?6DCHA?l)M**w4DdgsnB%iYB*dsa$~AO3w4(s|#XrN{W)CCyyb{jgZc zbsMw~dC`61l&?Q0Zy_Q<9a?Q4xp2Y%j;pUmoJ%6s>dV3lMRR~baMPc*nTgKYy34`q z;$ibtS z;L#KIWLG!Fym_-n7pr2OOL{|=UMuT(#r{2ydOcV>c0NWFA6%bf2)NY!zNuDT>1lV^ z|3yP}ZSBMv);F(+TElST_;*7+xl-jH%-@@ug^Lsk(3m9S30!t8-gpzR+gEbFwVDzd z!Q9;&^76I}As%>jVKozx=FafeKx9N8aXbw3%RGx~ZgmFL%-Z~flpy`p!{Gmli0Z12nkd|K!P#phUAw>k^P`|ZdhpZ$ z)v~+BYkLmQmpqWs80xMZH#OAaX#tC2;}3g(3BJ38F9A7Ddw?~b`C~_Eh&{{wcIKrs z&>=h-?&Ug_Q?7 zG5|u`CK+)UCoD5HN-}b0vhO57BgP0!i&32KI*0H_mH5b+zPhaZ0mZ7Se=GLmorsql ziBernh>3`S4dSx%(VqOs>Jz(SZ}exioIRpANIPw3!I55O#3Yenq81K{+qDw&$!gik zq%7yG2YEfqX2$G{213JqWd?-V8|nQ;)^8PMLn(c{$wKq=ptC z*dE(NcMqm(-r=&={=19T0=8#k5;qKXDPR=WRr1{n^;T~pRG%mwfn@P1Ez5vGkF}S}X z@HT5vO-S(S30A(w!tY>hbW{-o;uD?kuL#j-6DuBm<+r%D>$h^?Z8ylbv=h0#em zrt`bTYj+cq_mbE3#RmQ0W}tOBan?#J6I|EsFPHdNZsO=SV!wYs=WyuF^zHYRQzI9n z_SkTw&izb;kh9Q)FW&cbU(;=^iS*l@x9ZIvt}|ogUQx`Htmv!D9G&H8<#pQM{?kx5 z{lo(m8p(F}CjOmRI^Zp-{rx@Q@EUtvW@SwXEYSae`TP3m%TT2kGfmy_qnP=d^>K9k z!0BlE81--F!kJp#f`dDM`V$g1pGa}|$TP*44F*!yt}XB*>m{B&i#(fqMEEYx27bn} z!AOJTC@#Kr1axT{qx4R$-*24EaMvfKR7^%<4k!0P)Z*tnqJzeDS(Juw`XyEvxBr^H z)}v|n7b_f}-(!|}+Ldv(Bf_~47S_M>-MKmcuJ6nWHQLjVdyxLOpK_lU`W>BZiroM1 z#r@~c_wqvAzdydDb|hHAf;?(TA3k+=R}(P7s+ zUyGT$e#@hHS9D_s!>*6+N2UF|`KvoZFK%|-*PJnp*+?Xgu-Sw9*D%PjD9md$`VuNq zVHjW=v|)c`6AVqI#qMv2!tLe3#V8Wi0uV|F!>)WLbXFJ*LKP!Cwl?PZ5*#pST%Gl~%Br zf#Gc~X;}N$tlew8BM|pbw_GFJtYjm3dL`@LwW+%8$I%mi_5Aen7h4sRchq@XjKe7X z)4LnDA!nlWqnmE;%BGt_fFdfPGLaK+&r2kNw+tNLf$Zbxh`S{xr@B}=+g9$LHuA*G zOcN`D<6}rW37{u#b#hmivgp)z|FFfrl3&hM+u8&q6Se1ri0XSz@reX}JPsYoZ+kvI zAzFvFNx@sUv^5+sW|<&!_0fwjqqJ8pDa=D?n(G% zUWuziM=#DrYY}$_WMpHXO*38J;m~{Prg|bx$gg^8OFcfkqI?eY@09V$(}it!Lrw_H zU78N-kQ!#~FxK+&K*g$AoocC7`(jAN@{l-Weq)~nM;y9EYp)F3!U@S`!JZ$9D_<-w ziyoV6&w0XJ392F|=E|(`p}~FHJ@Mv(BY=fStc>(3qY5|OhhC3W1%m4-?qmD3K{ujF zqEAE+(W~Wg7SMa8StDzG=%%M!qWg?H4hS?}x#+E0?5>;Vzb!ck=~x)FGEVW$b#?s+ zdiQbBk!7#F6e~rO=;$Zn4moHS)QyjBeWu7$aUE+y!!Zz50*8S4O!^o6Ugv1saO`^r zsh4uXBOGB$KFqrYm@wpbc@(FU(MggFjV&t==jKpjY>MYHop8olu%;O%*}{d(Mj&GY z=w4Ri{|7cf$-d7RR_TvUazL={`hJ>p*6(rP5>=qWu`Evn4*q;``Sa=|xqc~*Ku%_g z5ZC)nOA7d|M%+Ms#RA_R{o8TnP*4nc!V)dEkM~C#Wnz01?d|QyQJg-?H(N?RKC*ji zmyke{{@OK&S;GQ3jcjF=*m&?&IPl+sLwfBev3=oX;PqeIw4jxK$BFZzS62mL_>$@&HLFU|9!(KoPS52_8Y?(l$q| z9e!B5a^BOrYIp=Sh3Lhqz>X9W-yR7^9th{RjyT}>^{ukJTGA@Rk)=w64rA0b`}S@G zo?U=%+;D7*BcsVID8LvpSx5(P$B~B{c%bC}0Fkb5tq=VIwpl|PJz4g#QBU^?`s364 z67$C#y3x5I=f@rw&v)_9q{%&r+KIW7uO8Rnk$;%_tB5=U&mtylzAM7U_Zw^ucsAH zYPyM$1U~saxJ5r7YK+eDDU6Z%KTo3HPXq!-djdbWfI0NqgRVP-OtKz=baFOQt=ioj z&DwFt2Y|1yOaA~jB#wCeFC3HU&x`jFwnKWmx3}(&*a}y`_Whhafmk1tyZs~+>>fc! zQg|QKUk&O!nI0(zbh}&uZL=p!Wgf&0*zV219h?(>{B_>8u}a?+TO0M#XofZ+h$OC2If<9sE9xK;&dM$#|1+nKl1^{HVy7~sy$G~ zXuSl_>Kz8@KGge%OX%cw5v6-p+ws{Adg!}#sMgBlGFozDvZBofj#w;fv)QIenJ0pi zMz1(=A6xqQA}_=3-n>pcuf^@6X}eE>$!j`S$WIH;b4bU>hw;y?8fKxb%Y-GzWR4#; zWeYsGaGO_Uau!%wf^Sv|N`P0Dv?9up3~Z6H-yl`<6(e>COHfwwN~mF7n$2=;h$V&p z0HUTIZwK7hwO|U7%5GasEXRU7o9a4z-cR%7lgS*OIUIlJi;geEUgiC*w=KzG)GU-} z2luch#)}7O=l=kWAy54|^!Pn^_ay|Y@pK}B{oY!~wtEV!S-gS9q_J{&J`@%F{zp77 zOV)36chl_l-GsDCfF-N#*07K-Xyv;GlJCgye&P>-_#>Z02BWVbUC)EHg@*nmfVbPd z#69>G_cSl8WDxHxsgUug8=PTDuy*3vjs3v*@5voTQF}G5KO}pa_JIN6)HK~+hP>=q zIOHXbS~g?;dk3C;j~&4x=d@8%gn*CkAKZI~9C73i zQbmrh`>e&c)DLckm~zeX%k8r!p~)lu?nTkWC(7}{1|Q&%0rjmXxSw^;!mmiA#z=v9 zmZw5;)TUk(f_bf>EbI9Mj^LmHF%HkMUQE{o^8#F#K$@@}+SAB<3Ot=B} z4>iH(bb50UV5p*ZurzAvf$T5X#*_P7*WylXd$#tYj~-O4JBC{H{PD-z`$nIU??2Bm zv-8gbljG91o9**S!{yA=d&lT|Er2V$n*MXB&{$M?BPt{^bj~3xB1BeXK+oK$;d_uD zPl!Ftd&z{d`YJODP^r&vad8_oao;>Jj9tW~5w}iG#nCl{yD&MS6K@1kz8Ank$;UMaa!kCx}UY zo7tyfi%k z&@KV?tFa%PvV%MvZwS#KE{_sb8E=Y(2Op zT^2b|d~BwAmqJXlw{pfuYNlFUarYY}vCReSMoCwOA5E=kIheWr;uY%S=3eed04NR5 z9FgbLvDZD{-9A4}=$6qa*IEtlOTCi0`$tW6rj{va=Q33441?pfS>iUuNa9wGIV7@Q zyv~o_9gko*+(3`c{RTu#MQgWO-Tu0Th~Uzdy6!6aBy(`ThUyH)M~FlgSk4VBmSfu* zh06}?ScYXo8z@^KivTu$o^;M5*q-3@_{lw?4yC@xk)JA|opg@gIUsii;E~6l&#vRA zoi=~Dy~kh3_tM$Jeiq@{-s{~a>Y`00Wwj*Ed02Vq7sTmw{S(z8e zJ*V<1t9q<%FYy!WGDwD`RI4K z?Y@sd{o7N{WjX_yw~6U~yP3t|b6p?9O=j)6`jw{O*}$7gUzW@ABHb?H8=ga9}LylGC%pbzP>XJjLgSB~K>8Pa?>S7U}#BF085 z0_K&R6zY>ZjS{6`j)d~)ZW)Z>7_ z{{TF#L)Ol_TmZq-ty030dt|TCJZ**ndrGiB_I_ky3IoYL2m~Lr5sOI_Y7}Eg4RXq| zAYc#@2x;W^qhQxR9WTwBgh^OdCsM-vtQl1}?`qlPcxnZQ>DD&LK=IBgBF(i@)evA{hl79n_AanTj(r<7*c>e&O4XP^+ zc;}(C0q2xF2LAv+Gbug3M|T5{!Tw~$HX?A?vh5&xlsGn3O&`s^N%tQY+;lc+;Z{2! z+=Ot+hQJ=zW#n(Y(Cz(tV;+FvJS%ngp((-q&AR=kz#e`aBa%4_qjKV;@pcbjo{Cz?=P&xZ_ zM1KWA@yQ+sVCxOWv z@%RLS-^b(^%%0?Z%Gg3C%m*Vnld;mfEy%O{Oe<6>aKRkjxbscZ_4`F$H z7KtzwC9d_4c-3$W`bUM1A?TUN8|iY$NC1a_*qRMAQeL-bV0xIFed8x9qYKD z4s7Yyyigu%Y>1(&kGJ=)Zr!?PC$@{za3ShPObAtOINx9*%$R6cT%;Th`(Bpu_aDE@w$T_L^nv#V6ADWw$Z0^WYWo+0I5<&igxj!UEMs8}!`FQxn8-w}*zCC~>`+w)sarW(! zL~$ok`Z>=&etqjiflG7#3CgL4CG= z_wpBx-y^r5N|5`G>Wxx2`%{2wB>$y@Dx6XgdTf%ATJ+*&#cexo2^igBHDUd zybm8qrC>lDs04Y&M$Nfq3=!96B zOA)(G%tOWPFSJMRDbcW0)o=Ebp z=lSvX06&fo;V1t9Nj|ri;rfNBIX{s4RT-Rcr~X@-8j^YZ015th=hu0C!1adW^FHgX z&KHBibi)lY`8*yZT?LB+{BXqc-~;E>md4S8nA1+n2i<~;pa38-b_bAZxIfpS(q?#q zMg$Ex6ZyYBbMb%oL$U4J>~yl;*7~FeCl{r}gOVEGTe?vSo)@$d!qgr>@<2Whk>y9O zk^5chJgofG>31OTOr3h^qB;B%$xN^$o;;4?dH#4lkVjm4zZoqSV^_3CAz%K<@lu8( z@Dx6Z+;T|c?NRw2IUMDauKi>ntd_M93FDg`EZ1wO9D~U+Xv@a~`RDw2{{S0A8ZdQK z!O!1A{_O}h2PA@QSIu%czWqm&Bg87+meWe{d#05L>^ZM~LH56T_F4Y`(QAG@EU|RD zBf;d!)~=mc0FZo!Ymz%BB%cl!`R)Gz*~2Hbjm>}WbA27D!43U>v2@K*c|4xxduSKH zAKcvW$DT>_hZkD9vtmH7&(iy|vGEIO8g+{#j(AaB^+PY8;Z`%`k;gs@jP)n4)?-k* zuCnRJi751w0C@y{K&zv7kVxmr{sH5W&#a_}NAngVr)mz=H&iZb(hnj#V^x0K8$Rc) z2PedWMg09RMo8ULTXS8Dllu{0_;sQ^uIHP?-9+~9Q;tXVdfn2ukRIMV#xKp!`8)y7 zCxOS^>xcHmbsw@$t$TUkx8b^_(`i%>C(FTSo<9TfI0SLWo-;200PX?@CM{zgy!R4c zqY=8FJa8On&H(Z_Bc6CZKpYIS^(U^ySL-z_6L5dIx-DIg> z$E#l1*TMeIs_IKA`#}E0nsj5&{=g%TeRfW%b($t3Ek9Y9kbFNyd2o0G$NvBTC$RV&732JK$B$d%shx6}RGy#W zIOKM;9U6!e_&#~jgC8TGJpKoR#{=mGhFuV8xnqt`)8zaP4NBhQ+yV33uNr?7tb(S) zF>$)*fe*FNWG9b+f93*v`*Oo}F_WyG+Y_~TA0Je)Z!!B@@eykPc?0`TpCiwM>q<{= zdel+`ZnSh9gCPF^yWX+vfN(kCjl^F2px)Zx0_y>PDu!XO zw{#1T2;=>G6pzmX!X%JRgn)dg<#_!09oJ`W)HoX$0-_(|JyGf0iT4ikXJ736Fde1x72J>K?N(q9 z+@qgL6^*?6Fvo*I9~4K#!$|CLF9HL9(=2Q2tr-H^pZEr(T!!Ql+c_|`s}^*N-KxEv!GVNgL}0aRXp z9ykZq+2GLuxbPWM^2>RWY9O1~NCGsG$)ad`4(F|}k*$dWnTSg6A;3PWP&s*%`qAgO zByrRxmGJU*{{ZkSoslcKw+iN_AAo$zSTPS&BrKwmqeFj=`^PIbc<0No+!5k~C7XD5XZ(IYYcy zwR}u>YczOfv)Zio7tbf2o`c5<<%{FP8FIu3^o=yx;*?3{h81;unjQLbw0g5LhtRXl z_b>L;mNVoMcnNKklgEM=$DRj1wuCyMK=JhVX9s|PHjp0*PmcZo@_*HcPnxa9nkUfoRMzP#hd zPWF%F_x8--{oH>ua(^d+f9d`>%DDU}0oSMd0aADZO7d_|3Qs5H;D8V05I;ZTk5F^% z*`j$|-dG-a9L)R=EzbZ;$@Ay&{O~^>z8h|IfzEp;-RJwKnSzcu{$=t{9G?fr91eVX z^(4hXTbPsX(P599p+J&2t2NF2y4XB>j;pmW;*|dYicL31f_xU@oUDH=c;n~sz#MW%Kb}7$*3g4p1%LV4><5v-BN+1o!YL%7y&nUTe0KxK zXdmOy{r;@Zvl2E8hmXf}vY!Eu1G~8Xe4his@#m68Q?+M^{{ZOy#siQEk;jhEz1|N4 z!16!yKDMmbyKSCJ;PVy{QS(CXy|4E_zoW-HgL!y3LdUk5r6V3k1(iV@9^iiW)ckAe z-QY{pU4(ty@S5wdBkv?~Gk`H10sY=bo;maDZ{pJ)GON>Fj6VQ**CyZ|0Ul1wdjSE6 z@O=5>@St`ZZgEfl07q?~!T$C?&p(hk9(?|J{{W}+m~HvuIT_o0{{ZyQ{{XTA{z?81 z9C6?dKa=W2Z>F^eoz2y!(_pfWSDno$su#!|`+Rk!d}Ae+Fko}W&*8dR2Z7zFF(T0VS$;<4k$f_~64f2;G0$2se~k;jSVjDH8uXZUVUpXZa$Kb?yEj(um1 z;m%)2S5gY(Ee7rdyALITg#?D<$C1w<{&L@dh~Z}5XzWj?#5-7(05b<+Rq&*9!1wFu zd})x550R&BW&>jBm=YR0dxivGZd3vdp2MTxsCfN;rXN6xw@-F#%u;9?{iqHv5mPHI zO4jAb%N-k!Jw}x!S5j3O$&?=cdzFETt^e)VX=K2Ty9eRNp19_T(fYcn><^SzVs<8a>aX=FPn}OgYlI=cPwBzI)k;z zS}PBm%Sg)H*++kqus>qJBWL4}o<0vC9?}S2dY;Z-2 zARG4JXX2j{c{;?n;bN%a#$p#5BBh@iDGuh^9DuABn+iYx3Oy7Orj-~D+77}HFjZN4 zQ-JK}g#;g`wMahQrra!S0O0;B}_ zAbws|Zwf(B2Rv{;1Gs5u@L3cz?mtbdV?e+FMUPX1^T1Kecp4`{!;q2=(gT6$ zD%E<0w9m6^@yDIWGQMjTCRTQhUN*^BW{iO;QW%~b6mIgW$ARF@p5!{8xNDtk>TU}Y zoycRc^ft@s1W?$prZB<++@8r9-I#Xw7agjhdw(9GOOKB1LQjyes@19@u_U)}2pdX) zxLKoQany;mIcLzaGA$c!Y#8ghC{!KMNaO&h03awl4Z!eC5z~Sj9UHaSkI>$w&fF5x zzLF~j1Aq}?qnC;`{{Wkw&!R`=k14k&}tn`KxQvDxI71HTty zfbZJPAAfF*m7Ap!B82w&u)A=0`VN%ks51Zo^F5BON~z(v{{Z20$^3A94fv<&rEUWI zdg|P3%91JMa$4kEw?0I5Hk$=O?c>ahKs@q)K7ljT-MDb6wBAq&9HP3nXzfrrWC!~} zAa`-#20W5i6Ll|b@>^!iOoR>rkgBQto_^vvEJ*&}`9pT{c=Z{yOhz_k$t&^o4zG-RdZF*uhsbs`HtjytpkE%;N8jiCx;`Y>I#wbfy|?wEbHVc`RCB^I0;?YAX0>q# zApSeYK0xGf0(j2!h)MlVYg^@k{H^___EVCjzds&F9OsVH;J5NP;GRe_I+?U8_MFB@ z_L5H$f*+0o^T|A@@DDzJKaPBN{{XbDh_G+oFM>w|x5lagJfFEzM*NOAAMQLiKD54p zg2dd}UAU~gp?!fII0yIV_vff?9f|!d&G2^d$FM><`1t^H$49UFpQDl@sP><-KnMev zH3~U~Zbv?4%Wd-6B>sP;JVX2_JfB!wG0`Bz&Fx=fQ~B+iLAeWfJaRsds?o$b{tCvc z#~r9W10VLAvw#9@RuFOme@R<~03an=GNh5n0PuKF2>^rZGIe8bjCKv9E!n|6v8*Ve zi1IjBQ~lfmPbc{U&#i5sV$~TX3Vt&3Rj5_jSuXv#@5sM?qq5FedQ`7B`K|?V%>=8z zxc>kl(cuPPqcVkBUexyz{{X?KuU@X_k0->Nwo!)w9#13#&m)ilQja;)_;@gTTNB%@`E9tuDUiz6*#qBc- zxNMl}a>rigR=XOwXe}NX)oi7y>eFeII*|-^Ox?UOPIx|*?{t^k?mB4d&C|}N+?GdJ z;*$@F$>rf^V!)CYC+LT74eY0?Qv@8eZM)`6lfdBf z1|=BqNAM4k`TqbLqF#tfN5$-SssW3W#GB@MP>v6dCdF_M-Ov5#zfT;JGki+)x^@I3hF%+Mq z&QaVmjN&*0j{Fnc_T!Q|G$O|Il4MdniuE8bBaS+WY#+6G=e9_pEWhKC=l=kAg{kza zyo2NRL)9oxe?QXdJ*Yw8DBuxZQV$&Y9zj3JKC6-U9PCm&b~0ILq>O-LwLR!$jFZ9U z5}nG&@&Ew-2L*v8!qz&bG2gpZp}0OJVriQp9xn9MgiG34zH;upsJ!yc+5jAp+I?^S z2v)9jUE4q{o1CcKh@f&vCcUfrcc>#p$^n!^C&?%3O#!$4>mJu&SIu=`!Y+?E0)J$^ zZ&DRmnhvmEW%17^AMNbdpT_#{o2qbAJCR^}e$x$O+J5di zEW{Ey@&4X_&#lKol!{{*9CP(qpqr}y0K7c^0K|Yjx`f(H;>AV}_>7q&w%=ghk~y*M zUAnVXpQBSM$5+^IRiu!P7DVb+f3=5j1Nv=`oE}w)`&*wJ`TT{n#pn{l#D2qfO0o7I z{vYa|dIxS**OKoAVi&`1sAn**LYAvD?toEfCq+pv%w(a$>Y2q z91kRNqmAk{yOS7p=E~Tnp_?bLIp$c!bC-I7HLrDV+R3W5na zWUsZFa0tJitp{y`SjO~6rD;#vO|6*8wRIyMj>coReU|+CrFzS*UAiT+i&-JF4tmZ& z+K5hjVTK5jAC*4!9xl+=Z%757Vi`J(_Ypmf-#-*{e`x3aD<0uVP+16 zx+(Tq(oLg$ZNpu|ZyOQV8)IhJf^3+R;v@#7iz{rC5c5SAe6dBmf*M(1oAQ(mrQPTb zS)1RY7M7){%?gOUjpin0W8#MUkaj$;`$ZT4kcY~X`5E_-U9tKGx-PpQU{;*-~_e0H`a;r85~H^dV^~2A1v5RsjZ34OID6qQ73GCnFoz% zn*s@9ofT(cEqP;}F8HL0%ANlJZ{FdtG0kndan(5MSB^=inwBpwZEM36ZzD-N(pkg^ zh&g9+ihwa<6m#oSX!()5M*Eh}Hy&ko9F`M<+wXk$J^IwR`0$pEvawjVZPL$oK#OL| zV?|BzL*JX^*E-&^v4Wqb?sgA6{E>ARas|G{@_Uny$sS6N9G~ODblB~9DMbA`c1H8s zOubawU|xA|!We(Rc%FM-$RH$P48R!F8wII&K9^Q~m{9TT;Nfrz$=O-%xLNE-bY_P!kXi%M){lf9y z{kkS#)+o-s)&BrboTXqvAz!I`U6bJf{{H}~iH{$i2;;~29pQ%-F(+khmlv7IW%Zl9fK=7Y z(XncahU9S1U=!r3pC{Bh-BI1o4mNF!De?)-S!QG7&ko>$_V*s%c>I2N0(LH+Eb*B! z=F{Yfh}zLhmf?ZzyorG)p4<~g=+NujeJ%3iGGacTJPt z*k&hV!_U$U3nz)lN!6^qTKJ0DdK2E4SBi#CYZJlyJ=e0OIcbp0ex_?S3&@mw{Zijj zMUp+EHtw8~A0cW+9i^E^+h8jac;kfaB!YPG-inWTJI>jN+4@C9Y}*o6$a{9_K2CV6 z<(;e8wPO`wn$N_nRvAh%#~@Tt#SfnDa96B`x_b8JP4D!$M#6L zwG4UWDI=0RkI$vp>*;|ODE**&$Dr%sTM_O*3l%Z;uOTb8x=9>=iND8bJ_o9JtGjN5 zszbhHYqJ$p66G((z1)s@VZyHmhVCoia6lybR>Q*$nRmR*kWRoPxb2e7l~T%k zQbb7sjhT2Kcu~(Q$!{LB{{TjbBzc(Z#<+Z~Lb+@HS;s#g+vIh)X)}?v<;34qpuSK% z5y;%+{C2-<`0C?pQ^rD}s{35`jT(6E7CpyMgr5U~3^>In^T&bsC&%P^RIf7pOwa8< z-Zl8spZkw;_9Y+yKjf{9bNC~WO8MuHs#n~&XkXaq|vhZgx9}2$A0_@`1ZS(wUyRu$PJHc9{Mp-7WIpUK=BR`69eqD^2~$C`=ZEd`5%xkX&m+r?;M^x zd8piHxNfuJUOB4uH+!!nWVCNnJ#rt3g0hDS(n<;8$?gCF$C3a%7=GCO*Y#&?>Q1%O zj;3wf9{&KW?w5|g3gvQB!JEZot<j|O9{Sggl z7BK7;Z8I~8?mMfyC4R#B?0a<*T?;!F2`1YMn89W#my)HIi`ufIEvWwh5%pD9VoXat zRp@>ysUin_~0FC-CXv`dE<_3H&ym% zB$Ko0vwrb)Jr;WhxUb(r){BV{azW-cRU{Gz1B2?gN4als+KyW%j;GcQ=_JMFvN-7? zpEE7Uo9M2~U$$D-JECr5jg~}_7zG3Z6oKkQ#CyBhbN>JZ9;H&oPFwB&09WBP+$0%T z!!K!*If9=ZJ{x7Ez5Lj(X1rF>Op?~J9f52c!O)fqDzdO38KKLR1?53vf+*bIfA)vq z*S@^115i{+QXw}g<)O=PcABzcSTV~GIoh%oVkt$D(eqPR=+4VJTGV}uZXH5to-Wp> z?xz#Iy@MkvhGy4kKgd`!G2$`&_mk_rohL<-(8SaIG&0}4q;LtT&(?f|v(_>eL`zj7 zq?1BNkjm_=04zY`kpZ24Y`#1FU#R0~;&x4TrChE?)|U)5F}cll{Bg;R+^Oqj8W`)b zXyePSIcAEa(iucm;|3tJ^rx-W>dl0bj-A(Cew$-)`RrV&fXDS43KSN`NAW99mGFglB^voC#y=ncGq&>6(> z?Z|2OVu>0#Sx44-How#VVIi7v&< zMM)V{MJ7Cw$kr5%tX)SW*xk>-KKi7CJu*fV3x_|Rf>K1;to~6^QhCQHBClekB%6nB zc{W!kMmN^0-EZ{n=#7XzH8O+M-NlwL6a(Kn^--L^+Iv8D=f~PXP-m}i-889B1=lJ! z{hn%?B^i1dxkn~1N$PHYCzah8>{@Gor7Bp-=Qb!XqR3-B7la(G#EB;os~EjjK7)zB zFHJUmqi>^f#I_>DKCt)fWYLz*oQh-GSfiSEncsURaJSOWEF?n#T0= z-F{NiOBJ}iuWuGP`K^-#SGs|tVd$8HJ2Vy|nd313O9AOf zbUOAeYQp}(@DQPXAXDxtX)eg$3U_z?J&_bZaycyspwZ>jNSvKBtSdygMu zB4w#HoR)qhktbm&jv1tJ6v8BR6UiD9(lhsfU4U;zS83Smi19lH#Xds3@={n%cQEa8 z!Lju5!BPrRwW+0Ip;|avS9d%RycJbVW5Ig63slv=r0 zvUe8u>c+!nd{`wyvLv2Z4!ODPsks)35@q^Vo_6zo)Ob8H-5`3^K3gBA&R)a|8u!_& z?mq0*PXM=YNa)O}KI6|ajtStmfK{hkNYI3f4oCFVS@>h!6ZPvb)>(%H_dGRUlgJ;0 zBycK~g{|XB!V- zRc;vkiUH&jJ9~#XzL)9}U5<>Orq&u+q##8=b=K|Kr9FX{<2B_CCjb+|hGGZ!AP_?< z?USs>G??}4ehYA(Ss2~5hTS*pg-SHxA+F>zR<2X2`z1bExl=L$wa{GQF^!GQOx845$QB})sw~edWY9Jbm>O1)6Ktc-1e&9 z@Y${QZKq|66FlKoHlwR+&|i2Wts99sw$jZtnIvhNC^=Y=26uq<0g$-IHVLv>H|&Qi zTtFsS9ro23mT3YRP#PE)J zB)7&Df8^kgTeZ5G)sb0ez1N%AxFrRlTN$0INv8pVJ5{Yxy3aIy~~iYmLT&Q zf5XjG(wT4>R8jLYJVeh_0VJ-W-|b}3{klDitYG5~Wt?pTeZ_|u0MP?ulHh~hz`E^Y zo0AoC@iB%kX#W7HeRp5Cwx?WhuL^LW@!B*r@xlBTK76ShdhIlwM#rN)Pi}vx&LXm& zL653BBH8nhM=#-m?}Ep3_2Xm3q96&{gHi-rQ z;Vz9pt7Yq?-7h1~%#?Tb3I%tvFR5SYZl1CO8)h&yWn;u7_9BQ)qQ35X_UEhGt+DPF zSS;S%e^X4%!HSQg>jtGpK74rM4PwlS!=F6ABoaaOqmjGRgK9N{+JEXX7-IuKdwpHsEI1&5bNK}d5u{`UeL(}u20f>q;6IRkdj9~1xv4Q_O&7`@p}Q|! z3<#rJQzcT5H{13ihg;+ER5BCgzNiNP5gwd(8&DRCvG2h**w{AUZplu}y>ZIrahkcmmCaRbRn@JnEqq2+Z=hRuapp>a1duVQ1nnpzL+g7y zbz^(J$Gza$ufaW&b$2r-%A=lqK>_EF<&P)9BmzkE9sAkpe^jx$kFzNM0N0zW5@o%q zX&HQ*F3*<BBF@z&^RhEf6kn!X0uMgB<+Nd9@_!dmJ70A9S~e^1YIFUNOlue!)Ej0*BO z5B`UoH)kAk!2{16bKUBw;LL87V6Tws2UqiYW-i1r+K!6nb2;6&Azi>|zKaJ9!SF4F z07YXfVw4UWF+3%s0=e@xG2AIgvbPyWO6o+`K9>{h=iJ2@%l7>oKJ=-?gUKOec{GJWNAb$@ z`6Mvl6*uW`Tx(yiK0DecxVjg+(8AU|@L;E(7yfGt?Pa}iRpIzbJvyT4&@qI|y+&3T?Gg~PHllFr5 zM6s^`c_q_=58Maa=&=kay>dr~vl1bDbbq)X^^Hv8vM2E$A%<3I7ok>Br z>hPj-TY2v=+#GNZo2I>WuUpS-W8KF|C-LXUKlWV{ zjy&>RgCF1mM{tYp((CCRXvbpp%*Jw+3tb=RhCzk{LV@=vBMCqcxU3mQU}?x0!FLi{Cpgz$C337(5h|QE-Nb6s1MAHIR|h)vTTvx+T@nE zROE@Iv(bLPo_WRZw!_Ra! zz13<_k-;F3l{5(AC!R-v#~_jFqZ6pRN+D6WX9paBKBD)KNBdhN{kT3j;Gg#A{?K#s zF*EI%m-2Y|EMyy=4?l&r6dyeP3G#R#o_#b&rosSL@|6>n0$epAJp*ee(~wP`Pc}Fz zXr6<&;sW}C$kb>R3Q@3?Kp;?HRhIrrk8f^zx0(8X226=(_HET1p&%BLPjtElK));J zxJlEwq$ z_64!z6b3xY?hZL6AzOmdNggJbA&(@7jIWcy;CQPK_4d>hsL$pQa8-nP9EkiL(0h%y zUOPvg2lL0{o_nWIwz&B1+O`PCELm44d$-9x2Q~okPb9LF{{Sc;A4a~FMmza)%jqmq zLNv4KF{r;z5=hO-t;}fhyIRRqm&VCBR(Nt=Kv)v2EH{p#iEdk)2GS&d_*oiSWho7-abk3F56X7>-$eSNTay(>F7)vnJ`Y&KpgEn|MG z>T1`6=9}iP6k!;HW~puCukD*_g`+3A8{02QuY~RVsZaF{bY9;)t9N{S_x6+d-S%g* zY?&WqU#jkA#&a!hOkY7gzQIacH|6fDa>uzXCcu&t-lRzBNT&(IG9rgAz22(QZToa* z?*9N*WXlu5D{giQe6j6f%t-ObVpy_}-Q0c0Oc>FKnQ|Iw7bLlfisJ<+k}w7Q*ouNd zCe(ve4fhML;`w~+i801ZF&u~&%PkbeL|DNBQymW?;uH8oW~!x)j(5v;u+v*vfnRkO%x@Wq7YHP^0r* zdFDv*NcR3!jE)Jud7)kUvn0`QEIVNKeb&U3a)04E)RQUUM<7Ez%U!?zQ*ux9$8W4J z)64{fi+<30^rQ3rZn5Fvi1JC`{X|2N;kX7vz~}MLs?}ZVZwg`?hGjtjCy0+!DmhS%mR_2QX$pU+8+vUgywZFTD?mUi3@;skX{Jb#xM00E#M%~&_ zvNn#w3O961ZZ$xY(8;_(lw1&{K%h3qj~FM4u#u2?;PO4V;<~dG>AskR2|b#14o-iZ zmss`59D~ROhwe~={jL3|Ir08LIA+qcvVzJgF_-ym(Lm z9QiyC9CPYie@d(rMC$EDLVpQ!!5m-His12H^<6@fU(I_ABeD%#X}jCI0YLWTDfi>% z#3#~pMU1_VWLvo89vS+Nt*Ur$@f^y;etdFA9!CK36Jyspa*k2Gk7nPsSn)4YG1cGg zFjzan8fC&fHeVxB;m&!nu-U%<0Oa^FBOo2b^4+8X!2_O0uFJFS zG6CPSJA1bHgus;6A&4{)ON=W`(U$U&dHeS*l{la6hAx|8FhB=x+ z;PQBH4d8Rf1EN7eU$#$fd0avsI7IhvmW_Y}{(g#9JcGi82arGu!x8GeQz5b0{{Xqo zWh~YT8hnk585n7zs47eZ*o~Y308&0q-uQ8RVBGOzj(XUF|TZW#IjM2!xiU+Ak&D@!4UA!5B>k&c^>xw!9-QTQ7sD_CPO z4MNpgP~CwXeMZ}FW51qg5_&SKZ+$tpH_>2vYt^lXAiOIkGu?0XWAnjjn!GO>a5?0> zo!_4zl6`Kzep*l8{{Uv4Q^QBkJl^+&K-uLoWql|vdjUe|lvd(2#il`ujZ&={QV`5gZHX8|jk81wmnY(Tc za=$Fms?>XKY-Ut4$rN+MKjWv4cdZ*$gxE8NtvPM3=ByCbk%P*Svp9j=a?4WQ1fZS&&nR zV|5IDS?{_(Gf6&r#}#WQVz(NDr1fh^x*o5e4~6Z zN@OBP+qbd#7-ie_Xl3}V^v|!Bqb%IPjrTs+7>_)kwg`#^@Hrt#O&0) z@!I`}$JAVsgq9<@8r-)ai55vkx{gu`mDUhGQ(a28#*;PYNi)5zeuuwgAS{b7pDwT{qLv7)oUH|Ao<2=)ilba)wc@s z-Tso%UMYzLuOGNvvnSIc5XjO?7YgB*ges+$8(+d!f-5#~cdA1y$dS*KyJF1tOl5nP ztXSz%tG97I{jvb8#S4Z~qY1K}LVVR#W!e{fm=?gOAN&lU-HIeA9gUOLYo{v`1k#cI z>*c3v9D|&s^U0u1_rBzcXgYkce6{_#ZcuVb5|4Evk}84S&&4%sJbkC0RlI&b&l?b5 z(xD(PM!JDbdEm!W-Znb9Bpv|nY@qEwTTPPM#pep1@#EHn`5g&ZC60@3&Ikjsedng{?{{2zokfY&*D*_E_eScA-uO?im;%?EnG;m0+bg8_iyduF zdA?r34Q&b>jJ?IXqEYb4BmlATA7qjtJgU5saIKr_Dq5Bz#8vU98&(VK*k}plQ2={g zi|Zq!kim{jlmOvp&syVy`FfLn=I9ag$3)E0bl2k(A8#E>R{rBC_k%{=^`E_B^vAN=Bax~ko)+f&@ld)%`skf5f!!9I8j%j3uco_U7s;Ho0P znG6ONm(Ilj$>?|ueHZ!)-QOg+tX+oUH%S+}hjnC?1c<-}toUqPQYCpPQcDxYw-%4n z+pCZj<7SM>ieIgh6`ZLYh_ZuL+epY>66Rzs+aDn860|6*dqCTz24@@)Q}}yZSQG-2 zN0UbS$#mf7{k-JR1%#S`_Z(YlB%V1nN7!~Fsqt@g$VdxxGp=>qv3S})aI_XO6m$0c z+Iy4FaOa5wc^-d&t1d%Ah$;?@dx20_v#@)D#!k#na8jW#P%#|&9ymPs{{S9`3)=2J zpsRXJUNjqFnw+$rR>R~R#>*uvjvmFhuHy2;v@F&C0C7tWy|(eRZG>p#L#7+*fzdmBLEHs%%w%h$#r;a{N)f*&^i#IxngXJ9%_XpU+?P( zVeZTXykp_QPqAkw3IL5KXA|O~m4OcMC7~^H8{{TcRBs<$3q+f(pr@CF+^)bz*2UV* zVuuy(FN4-iq%&>u=5-c0GUXzWD4tU&5miJIN3#G2P^|jydl?;jHgQ>4BCsQB)>@s| z;BxaAA(k0hx~zg(LaYw~WSNh~jL*O%uCdZB_X((8-S(UwdkKWd2|%pY4!S(ZzY%~sZnQT?B1Jc&*+nO(fFpVQ5P}r7u&NsKcLrL(O%A+M<$svge9zqD&W7uDL z3SV#`Sg5|seBVxan(FDYMIVwTS!GD%XxO)uSgm)UyM=*g*p6(DyzlLpyHI89S(3GY zwc3Un#L(Hl;cKmD(bI}T0tTyUTupt0yw|ZMvc+-`^VgJ zIV2JOPa8M1t(z8w?_e`D<8FIi);8^RKZD45AyxkXm>^`e+SP4@y9>){{ZT7$Kd|})7Iri9JdOz-fASm;);6g0ALUP1pff$ zKORXS{{R60037<-tVod2qr59Bg}Ngg;HlffVIkNwa2J_nzE-}ryw{{W92Y=ZpgyZ*H1`+Ah!P^$T>ixg_lgB*y;C?+#-twyoe&%|~ zSI6{s3o1!gB%gu?Jd#fye1`(D`H( zK-SPc_zXA$p8$?e9!DIH&+<>79C-eE@=xTRcpP#3@P7yW`Sa)h z052ogK6ne@o;$n&{P1`j{{ZL5=lJ9E>w*6OUjvT>pY!|y`2PUp5BxoNKkK*K=fCa! zetJ~@0I%ErtFO8K4#rmb$Ncf+{y_Yn0RBPq&++5%J#)eS zM?K%*c|J)00DnKnANcY3+yH<*w;Mu&m+Jfa1WpNLJ^UwJ8z-~G5T<|}q-u>^c{IT+U0>9vamWV=1Mc(We=0a9&p)0)J_-K-@pu3zQkA0x!Qk@E z$KA+aoG%_&{{SbraybXc;2sl~j^Y8}bIAUD4=2xnIq*N8M<0{mY(N-;84SP?1)$PdlKm91*QXn-d6U`N&^GqxEufOfvqkG-v$&ta!(mtAN zc?&q5A6n@4g_EI$$Im57HnY1v9vs%eo4W)|i*F%+A!&8zIu4w z>K^-&UyC8RZ1&=I?`Z92vJ)U2XVLJx%aMs4O>)K5)Df@I5r#V zrn?nJ_wsn;cH-*#CuR4G?mpcZ@z(m6k+)ht)kAL=fxTe};Gz1g7~Upm`~pXz-8nq> zHvj?0cW4}b6!#VL=Z_!91de$F*4$^m`#Jd+!Q}}&als>wJOEho2mlaCBh+u@uh4;}dE)49}s zfb|NFKP%KumuK~zk0xcWklZ?TJv=>oIVco0i6y{E5yj6jj!34ER!Xfe$ga?<$o!;D z(0yBMV>d?nuY=oXVp%m!!Xc#XT=B}mU9H-e7n5*YD||B7X&HMWRwu~qtkJu3=A-jc zNNt$qSg!v7&hQek%)Ca@EK0-+B?B;pn1U61M5?+TL9A74(O00(_Esmy*@3F8sFmf2 z)Qu0+z-L57Q$FIM$O!lBr=N}-Pv#K-9Oy4TknqC^_;e`ZC#2Cy(c+(z*n+?L-%_td;CKxRNp(mL18^<7KjvDOLp-a{-LWGL!d4;wVJYDI|9P08zq; z6;V4_s*_iyTORj_iwUXCnY*~*veXvE%m&Abi)F^*Vy$91MQSU2S^ofuwU3QfoH4y$ zrh8H{JaR%NjJVS}VXkKO`7;`xrGdp^&Bi+sh6R%(lwy!iUetJhs>$N<4swcO_T=cyQYnl`a6%{MWimB>}b z%~W4oFa=|lI#(QuVu)C9K<(6J(2j+geJj?VsTiuFuEUvodIZ@DxXU?wHa_(`&zOox z>`NWhtAN# zP{+fc!qST;6qs0YR`34XJXY5mj?P^9rNK5fDB^_4G_Xm;vp}(%eFx}Wol9!QY(KHb zuTs}x`czbjFSh=#;i1Hs(T7pArTVhz0PkKjYi8qS^;ml$y z=6Pm-Dp?U(kRujlA&MoHT02UwaeXyQ_+|7$JiOeNKoOY7L?n_h1%ib(z%c+d4c5(K z%9`=mx)f#T)<;C#OnF>2Z+3lJe1+Vm795=^DdsR3`_N{a84Pk&f_oA?MwNjqW}AS} zOC`AD?Hc-<(k*j9)-gDqo9Wu_9^O{|uU1_B3@vO{Ql=^LI6Umx7_t^3wQ{6&<;Uc{ zXqDDm&r9e?k?c&b=r3vZ$DQ0N@Az!OV56IF>s_s{7lUT01P2F=*C>|ph*by@Q{C@{4v(Zmd}$W2>VzLUK2!5n7& zI~Dt3Xoy(~p$O?2KMm_Rc~He1$c)lTN|q{QqqWEfaaCR{5zASyI~s$B)^#t5lfX2uzxkB$9#}~-!&G%V$J>RK#x6-hip2bU0({f$`XFJ6`J*e-(ex8)kT9!`H^zQolH%M`M<^5ABo=e#+10k?ysAjrq1ByuZ+ws^~ zu^Ohoo1Wx4)#b!RYbCEoiwzB`5JO?-y$ZZbQaY1YtrJ3Ek|>1zn_JqjH{`3eWAeEB z@fM7xLMb8dc-SL|pS_a6NlKP@oZSSW2LE15w^L3}xvQ@Bo8uoF9 zzD6dxS=BHEifHWLAm+3Mnq zxk>NAa|<0wtX{IYIHQLanH*Y5i&~`8tjUjo=Ss1CD_L01(%}<3EI>~nFT3){By(U3 zdvVVu?2>ND3_5m9aO1>C$1zf&byo8LVn5n9HsBg0)z>Ebj~W+Q`m55Lg2sot=dcPG zHH>^WB)5gSgn{tnFqYQFFCha)UN?&6Sy@~XvWyp2EEb&I_k z!tNbj>K?zg;JOLY{Cy1G2TzYPuI)PFVhq^q`bTPNcI!zx%f~NP-_`>$A-qt!5VR&Z@BW*^h`xEjP zpWvQJUJrLZHNk;0iG%7{GLOo5OQt^Pim(MYtZE!ECz6}EqQu!NIXXUg*R;4>UDX~b zqR)6;69s0(@}tMKNBUZq&Sv$QqnCvnXp&Da(4T497|-lJ@o|)_IA;1?zor`|G$8JB zf?GJ-SHl(r1_=-g%XmGc`qst!My0e6y0^Iwh3C{B+NSP*KY(7&<`M8Rm{?$q-B*@E zK?jxPxC}w@86T7Ow~qvlf59X9@P94I9kfRW_$!R_RD1CqR-$s7(j9uIeq z9(_Jq_S9q~8y;jZy@Tuusu4uh^J9)p9+{Iy)goU;znPG18_mPOlB|#Z8ygY3P_j=Q z`6TpyLHc<0XCWN(;`gqG!} z1HXt@ngZ)Om!q#PjeW9dvPZ|_QCNrqIKDU>ONRQhzLVI*4u^-61^3kwj zPdtVl<8n`&RFRL5Du73#W>QF?MKS=U`Jz}6#q-oRpT$s%T`Nn>0jY#pv*Sy&*C8dx znlQ%wD$;>f>g1k)gAppE{omL?J)o6fJn$Qk5B?;M)5jbSQ=pzH%GGh1Gixt(K-A0tiFr%*!j1d-yjd=Psdv8w>N`Yn3y6QLb3+o{=|GuYmw^;1uw zGI88>yl%g!Z0l0m$--Hn)9iO+SSAHkWMdB<;Chh7T_0(^9#B`G$mAEQmW%yy9IHaB^S>cV?0wJ2Xx#2%7kjWgK-JQh*MDW0NsYC^b z0avr0IZ&*<;PB(4;X7jwIYB_nVU!RK!~&QeH*rK7=eZzsoi;CStm|7P#dl+4tRE`K>Nv>Pc_Gp$kV`!Zxk3Wy8 zVOzL>tzHPBD?ASh%Rp0V`xf$^gW2L{Dv0E4#)rqU? zI^NIwDwJZDEnBp;VfhSCJdylyg|7V-^Itr1)|y)AI5Kf8(FgDe1LJk&k3K;l20w8H zyM1~${Vp}C+D3)$3$7LG1GQJ_g`7qgAuCvWa152|xJNZhv$O_lbgsYj*&CkJ=egL1 z0|RNWok3F`NkgP?$1Hwk<0Aly%FK5m^rQO_PZTSq4N7d>LRZemj->MBn*j_tEdx3k zt=Z%@u`3b)MI}`6K!&b2^!wH6*Om5NlU6w@wm_!^&ZqR=ok}s+zZ{j4EmsYvwk!4`mK6CdJgUxD zlKrQPx<--sB2gTKw$M67p2A6+*7s}{D#RNmI$HANVY<^M5~9fm#*H}mW2q|G?{)cVCwV%lioat(#jsO)Ll z<{I(Oa8$2~%f{BS@@X=5L2F_(Lm zve-Jx)=oyQ9r8^yw6mER7GaUfhmy@mex_=y?=)6Y@_MIJsC_iwDePG6jkvN{EY)do zv@yoLdiCO`ZaWyPm1$WP$JNhInWF;Girp!$R1r-o4#9i%AlG8X?RuA8aOp~hFRJ*u z`FoX7!u&f$U@2#zu>>^VwW?en*ES?aNakr2_C(}O$-!LV6wL76R9m9SjYuxhdW>=s z9axZ6kbzXLw!*qA;q6~KJg?!oQq4XhW{h-Q$ceB7+DlYtU?roIadJbU^nqv34)wES z_50O!4x(S1BTHarq`2yZfUn9CSw!V4FNhBMb#`NPY zDV@4;zFD<9H1)B1{>hQV+PYdpBvRVQwwsS?H7k-x%dPuY?8vTb!5l5#PmZYM@U|?R zmS1GbSCR#G`YQOm24f7zwRp9Rp6)K>n44;)5$?k43?LV1WStaO60>{GnOWwKABW6l z-gYhXXY!UPW30%%pVoP-(5^Dh+;=O^l6N8nf*}FmS2~uSaG134=H$G9#<#W%Z!uke zOm0}sBd4KMG)cg)Y~MoYxDe(>Rh}FG%#yH2cevNopqQf(pk?(IFC$Sa#aLxah3Zz{ zh#LM&D@#b}^;Ja}yPHjk)_P^Tqy76R5?gtDfl!GWVGPgl7ii;U3aGffbEg;tv~U;( z-R(mfO_ADj*KXmos%u=KS=JezIr6=q9Adm{!EqYT%!D^~p3%S6nNRN1(xn;zE8_5Y zwKkiuAL+JG(Pf1hlo=YMpd*DoMc^YWl$Q(VP`}5@`UNkCbs16Tl^aik%Mz?|JP$K2?@hW&s}+JhD^0rgqZ%DP+t0EEdTmAU?-77g|h$t%x4;E=1&C&veo$np=Rm~pu~tsHcy zqD{SEG)V6`vQd?-|Kj*E_FDbQn|D?v7!4-8;d@rbH$cG473`YE z-K>K>ofVh>CCACniNo~^j(634h-6HwEj*919+xgO#v7RGV)EM#4#9BDS|=BAR?lN9 zlvyKXXYMSumMin!$0T#d1ILnlAH#6II4ASt%Jb?jnWndphJ3u45;v5HkO)w3a$R4` z3e9X-k+^=Xpb)p$xw^ct#|(JbxPu}{AuTgTCScxLl?fXwBKcs_77cVwZX>0wt8LD1 znR#;=si12z@f>yO)2)ujQLersrH{waiVBqK!lSY{VU0f1+)FX;bK~^Xt6BP~*4q}* zB#RyGC){37vDdj}n!b}V)(i@e0?#55`8Sb z#v{ZA#BiuNqg#`T?g;>pPrY;}Nyo^WREr{3cacj-@)ckb#Rj?ndXCkv*k2u1HHqZ0 zE7+Q5mcze%lE}rJkO&+z9#0-P@}tK9`Sq??pCpsVf`609@#n{%v=Dzho_{BwTlKNm zZnSaMt!m7!ND$YCS>+5!3cZn|u`CB50m&TjIp@>=02|Sss^&Wz8Pkp0;6U)1WU2XbLXIjm0C#=wkhfh>apk+n0FF54k6Q=Y z?^P+f#gVP6W28KCmv_B7yTUnTCRBXa3&97uhwusHk5T2+wDjDEHx&-k=@OwN1q0lI zJJp)AUj2;X_)lMv;whu&C=Yh<#{W0{{T$y^0xiCdw07T z?I65!^v4K80zfUvXXTHUCzHYaR~R069Cv>pFC=n&^Ur`!fC%973FLS_u9Ni@=x$4A z>hDbQws&5d>v-H}weM~?T!rnAZ>w5aG8DRTjQY2SA60H-B!$3NhE=R!vlp83%fqa7 z>1U>05W$1{?_P2D=Rw4kblopKn+#L}M0YZ;f~fqT0oFnf9(-~K+AOR5I~+#ag6~4% zl>yqu`F35#t94%{fxe4)gTgwdcCC||uczVQ$RT*<)HN&|Byr@%tjIEQBXX$9!qsSy zC?1Ax#wQVKORUOV(PC;abI@7(F`o|a0GTX zy_+?i1cFE{R=CGjX5*2-j4vE`2#i ziFA#^?J-VXbb#^tPChHb-rx~19e_PSRjN6YyR`W8+*wP79FjTZ&z1f-GuhZNI1u#1W{E&nB~^Ev(*i)`0L)zCpeP+3F~j1VSY8X<3@d0Zm~o zY1o1A*(c9DLn+_``0*POM~}(;azD?dTy~qa=O5z2YTGVaMQazD zWoq^v$5q6V=*ka}H7Us9T2;q{5ns)*r6c5kPrp2MYCgugGt}yTrvCuy`BvXg_L`aO z-%Y)%;^)vb1fy0aQJx~VzHAzFIiwJv}z%SLoBTvDa*>C>YAUmzi=5RB0iaC zX?{6u)tpudPz3VQHeVr4qvOYMe$o#duON?BCG6vR+_n#3->gNXqlzamOA9`Q-RKAICniT%8R-14)`q zrm9_5X1?ChV?n??k`Mg4j7FlsUQ{Vx;lv_`q;MX0H}*fd0G^6x=r2wxuv=c}dR(pi ztz2H&c?T*vJ?lm;e2*LtJOjt%dieA^rVbCq?u(}E#FBnZe{O&t3FP-RVmt%npB@0` z`SdJ>V7?VU&wxDer=LB(LE!SIkVoU5M?J!pKY{pf&-QW8lBEY6^Z4L@BgX^Q)YLSs z+~`nAU*gZy#~f9WkUMtl1&@FM)N%8VeM#=Uv9ao_<7qtm@_zjEQLjL>cTgbrG17?- z)Q?l+^)KwpkXI90^xCh@74mck6Iry(`U3} z;Hn1K%wz@txeP~n?IgE?F2z)qWmbrSrKDrQK^O%a?gNtm;D&h5He>}N?Lg86cq5%v zCR-L!Kc=sOG+}enqJ7} z5wtNL=8Us2DhC+q%H^YHA*4o<$TlD4nL*{=?m#!nX~a|;mXs|9b^1JgYqAM$g@`E5 z;u)ItlxB1^`yjA}B~kIiZlwg67P8~I91bZMIw_MWlAZ)}-6=H;24#QXFzk>P$8S5`zlw8yqT_^WCU*tSH@J@ zD^$cqG^Q{j6v9OJB#BuReMyosRQE=$CvnLqOE+rwV}GW>-Md+yC@#;n;U~r7UIt+t zczjGNECP6AKht?QmMH-%*~i-pL5Z^q6o$w3=)GR*R`#)Vcf_=`3k2(j|XLODguZYpasI}COvg8chF*J%8_Pj*#VAgYVpi0pf$ zW)Y84Ms!kxw*acK7K=Xsn)Wdt>3xad3a+#qT)4n3p9_vpIG}f{98GoJ>cQml0J&<% zPP3IFv~srMr&?#P7D&*@RM=XaX2UBNr7@Sf7A8pTxeDb zX`3Mk$K#-vsJmTAqSs2-TPO+3*c2$dFX*};NhB#$ti`bP9qERG9D@-k|K!fHP7?m6wAZ#C~aYM5Z zSoNulp!%mqpe~bQ@w9TFw(r!Ui9CQ2fLbcos>Sp6W?kn!{{SLm^SPP!9IirGKtpQI z16=sw5mp8?ik;hd{7pE(`jK{EAW8oKr5yvm)f~#EM=euU#?h@#ZLfOS;bDu?vA2}9 z95x41scO|*IoypTb;n|5QsV{U3!>bWw4Fl!MuvryL@7RV zVa3t8ux#C2+9-+SyK^a&OhoICrs5BW6Cdr^i*dd#_s=F62M*FKcj*m8?I0%RJQ4?~ zc9U0NFE)A;nU>_3peM};NnyxEB|`8niRaQmQ?!=sM^ldf0PPprw!dDu!26fmwJ7oQ z;KqK_vU`7zW4LZoUy9Ywt;cS3mU(QM-a`w<7PCrg#Hh$)jy|K&FKsmBYSw+p@3$n0 zA^9q69@O=Zt+PCm1+LRy&hNIGmP*5RrBJ{#N%xWsv+hB|W6$)A;zI-n}C#^{2;Wk5`7s%+Dd z>APTAL9x(a>n*)J^i>5&b`X|hWH%mDH2?(`HbLgEqq8s5zi4n2{EJIT$!hu* za@0~=+Iof8Ii}mSol955myafNoktUgf*sc^Z6p{BE4>ED<+H|G_!XPb`y016bMfY`4#Kp?$D$31$M ztjcI&rhy}i85^`QPbJ%U+U}B=Kp6aD5mrDi-IV~@@(hF+#L$GLVadC) zs@A|qnx{3GzFa;_Ggn)aBOU_2;}o^B_&i=(6wlEO}m zJ0zAIt}004m3xG-&kU3jTIMo4I|PG7Y*5yrViMnUtTn9kxm`ye zmXD`)=COZS*lgd&{@+g;K1tsnlY7{Tl&8z!Bxj{^l-Eu|Sy~9A#w`7YUE55M8WSvp z{*`v$wCzyUM{1vCZ_+I8Ha6phFOPqZ>CDHj&wMaTfCAhFXokM5X zvQ+3+&Fb|edk)jde;}x=kfdftjo_y|RwD|*=Cc~A#pFpea&ZYFaQ!jqW|@kbexXaB z-Y#S1lB;C07v|BrT@{5?vh<=_6zAJ^y7O9+j8?7JgBE#tZ9yWTlEh8TdvK$KTQv0i z{yS;gB1JW}9Gg?q@_O}g%Gj@tiui1Os*i85)~emFGCIPWe$$<=nZ@7w znpyZF$NW`fyBcJ%4+L_$-o?_TX|Kad4(TRoaVO%Ew2vpkqB4&pQ8_>XMsS3rjUz0Z zSZ(0h+T>mL;E_kE%CcrSKzx;A*xr z8nsJ8Z&gc_+q1db_!iFYJ21gwAZl9Fx9!}>zOIOowQM0<4=k;$Lm&{E!3-6vF?y)8 zph;xCGpIkZD8=EnZ1%OBt(sfY{>`08F?$TumMRg~jwmZVX`+%v?y(vJcf7)t*-@4$ z{n|GvidkcBJjfkG!7bBRUsQGhy~di03#KZ%mkw-s1H`OIJDi>)Gyp!80k;Mu9_QVt z8|n<(H7KxK15=M9m$P1E?P%{*7v_~~qP)0V^+6mfn1v$dN*fL})@u|;d8)I=3};s_ zj#?OaC$hD%QA8k{ACiiAHk?$m1M*Rhq3m4Vr`!(_MlQR@BAF$r!;oyJsC_=G)ZUn7 zI<1M*GL*9TRma2Coi4ITkIQ4POW2ynSakTTL>@dIO{H93Zi*sQ#paSK*&_{2gBWYq zZd)0ct9ARsLp%{b$(6?A=8q?oscD=;m75QeKy#7XkV{_FW(UaQG7(LWlGXHjrYv%{ zI6|#))eWVpJ-a|w+_t2PBVnQe8s`z1cqyQ^#QGLa^ zZs7gfA8Or(iWt9fYZt8;skmlnlEg+^SEws@N|oe^ZdG?=uP}mj2(V0+Lr|xd&fYGp zsf)yGlVfPC!B7>kW>_V$7Cx&fYa&|i0gh&x%q=5YSEfCn*Xli}riPG^O*|3Qm2T^q zPQ{2%K4%XxEsDs-?GeezLBx3Xnv7OyRf=P9VN8_U4ANJ~W9)2mkdHP5U(4%xT94iy zCaqB?vx&*N@*GV{sx<0Zj7BLLK*v-Jv7uvZfRk@!w(v@x{NF0W+KP+nWA6cd2WS*3 zs2(WMzHHY7cdP2?J+X9ySIcB_Q|9wKcHNenXV1}#rh1-chK;Y`vNi3`^ftCS_aPLv z7~@kN%T}h2)D|NaAd+h^JU1q=UH91S&Wz0in*vQ6!-UAv6)VI(c^Z|7VMw7ahUU70nXON%n$Jt$A(Fvb$YQMT&{W4{ z^(vcIGBb+0`K(43%+~4TtG|87E7_(asq$B_;>;Yzm(|rDa+t2LbT_8Cz5f7O)^Qz6 z!bJwRtL%1mnc%%+FN`wdFVmhpW~Y$NWp#?Ulw9_D;A#>>W{YF$ywc9>^87>MO=CyZ z^lWShTO$H#B#Sm|MIu}#5TvoZz@#^^9iwx-oDIN|zLqPecwY}y&~x=UazjrMJMsL* z3_xWuGQ+cUfU>soyBakC>xQo_KH_V14wYP%sn@F;#rl=xvu6>7q}l8~RxDmx3fW99 zAa1f#&SD=IV(UX=6NsM@D&%PWJT~X6EFBbcR@#77a19E?eN zT!fh#=`5{mJKVEsdi9(jhM4*`iZ-tdFjC(9*)NvNIXagy^~ITH{ktPs0S`Q}zsroh zViR#9k=fnhGrw$R6C)6ydJE!wF(OBo9N7$Hu@P9t&^RQyDnw{nz~^%v+q(kBJR#z& ztSCqD{CFUmnm?$U7Ae?yY*e;6o;E;FrP;!l1kii$DcbkR?iGi_hukC8Y9f&pO=kgs z!q-IL@VryU#_Si#49v~QUOxbg6}|0yijAZh4czPy%IMP9*zg+uYP^7R;75BKH)lMM zOl*unAh)41#9fYjFjiD$Vy(k{pp(hqkbAp>j|33P3b6Hsc@4vVAaTefc>sPs;yGXO z$ozQck5#FK)!B@bZzh?%=?UVl$UTL8e%x10t>cdrtDV}$X3~F3IgJl$0wn@HqvLM? zp4NIYCHFzD?D2g!QTh+lEt}*$vt=;Va++>*0(mVByfyZulM&~+@zSYc2}b-JF!b-D z-CkFZr28gAM%|_5>h$ZV*J(C4F#LCYCbzxBlxZ7oITh&V>EqhWtg%6ISqM@jR#%op zg-USlqq&4?JhCYJ+mL`CJfFA6+(P$ot0fsCmPV-4!|^jrisQ1&#RQKNI`$B(^;$WW z!XO47!ysmelDif;O4wr}4(j!|-qGoiM)f0_+*xnBkz=9|c-~xwSar=m4_U=51e>wq z#m!YT3qhHW8c43Zl@j@}mi4xj7=Im?R2CbgPW-Ch2NkZN((pWNgg+Pd6 z{v?e^g94f4Js#Y7;Gsu0`wJIj_{)m~YT z9iWbVZ()7X_1gi7ql3rw11czEVp{m`s`^{=LhOMY!5^#J!##wp%4^i8AP$O4ov27?tP%Lq| zOK!159joqZsYL!8hThHMdG~F5ba{C4fx}pwHZTSH5UA+K%I^ zX7$@@?xrlJKE+VQKw=VCLmT+=J6Qh!Jf1-TmlbANI11bc0DeF{#Ey9Uf#CAocmVk) z(GQ3BIo4W`u0K7q&%a>g;bqtN*i&%FOA@Pd5}caNkf;Z7RW)ru;4`xQ{GU&nd2eq! zswA6kfxPt3HzTu4lIhjznVcK{08ONMMys*>HlT=t7)Y15Jwj z*#XWw8a|%=H+{zr{{Z_BMP_AAh3V0uPXr&ECS6HH=d~qg`@ElfuC?vEs5EruvDUrE18-2%aoT-W%5;wO zMD_gWWA?CRu(_R@Y54(O8*M z?KfqP($2NqtZ~Xm2l`}?058X*(nID>(gufXga8bf00m=3t^2^Sw2|2H&0k*lr$Bv2 z#5uW`dX9@GG~*Y`km~pd4$N3%V0_8Y03J5vfn(ToB;%{2FWxFv zwN@mu3;d>ktmQr>SC9ZmM^Fc*g{))Ptd@k)I@W6SW@wbOjQ0f723`vHBoIbE;#ZaJ z000jM1+I^DCmlQ0pRYEWSGRQmt)pI^BIYlSrAXpyDnmtkBW>gkKJL!p%LOCrJty|b z16J+o?^5$Pzow^d<(xi)PPsIx&T$zV!7gP2#aQJmMTMzicTl$FkvnB$+w19IW>pU? z1yr5O^)YXW!h2PSo&koYoTu5KEBJp<)@Q!L^#v z-H0d)XXfvfI8MUr7ofSA?~jq>plL&>mf{9g+5=k>fRVJ5WLTh0@GYAgL&JXwBl+wEUJ5hP6Uf{{Xq3-VI+L=%+@>n6I>NE*T*7&6fK7x2_6d5qaJ=oi+nzqyfKmq=g6IxixFdp zgUH6HD53r$wbT`-^fRkF^;f&6^!sesYDNn^yk;8hisO$5iy|=@{s9WagW#V{9h*tn zwHuOSc3c)y2YxqT^)hsFuHW!j z9eT@a*c@`N9~4yac*9=2QO2#nZ;hoYp-YYd3m6}C8^6-Ufa*PZeO=T$QYm%)?G8r8 zXq8Ha!t5x?pTbQN{m>d$Ruzzzo*Bn-oogi9y=Ve4q5dJ;lA_4_?JR4sCdXRj#_%J9 zi;tbGM=$|KenvJk;=6D+Hat(~#Th2-Jj|l)3E+%P8D9sIM}yBJ@PEPcKN$6P^*S#j#T&|kaQVv ze2pvt#@975pKsC@i?kC{fRoJQFePbR&_A zaa@3V9){20FNG(;EJq;!00a2r#~k?Q@P9r=%u3zBame7F7lH}+qyP>NcL4L`5&`6S z{0D|_r`uk)G>~R+cW4xEx{SZneAoU)`9IgVx6|`6pKeAxkunitMJh)t$OoG3 zMvu+&T@`-o;&0eJw_9P`^*sR85E2*$6{fvcyStOm+=L&<1QGZg0NkE=QV1iS00X%B zBzWWaK2O{~o;l~yv+k@JI(zLte_QkSiqfop62mwlu=aI?u6S9(j!Sly= zcOU}Z2|VzBANcs^_yRNo{{Uv7_@6L#s;sF;{eN2Hqh2&0_S-P#@HD0-zI5zbuz&Eb zdf=WrOL9mYeg_?%IPu_*1b{q$xg&w=jy~c$en(;RY~w0{$?IXAQk6> z$sN9vkPdiXB}WJOB(EHRIRpmd{{SC6dd~3>M`Z6gVoj9t zW0g#Q86}l_Pj{jNr@7o7%F1lK7`v53Rc^~_7^fHUvNX`yw)Sex7>6lZ{lBQMXXtEw zRo9AJl}u5K9)zrHGFX@HM|h!6mR}A`Fe`9=@#RY%)KwpbJU8HyKy+q!F*(cGL5y64 zb7H2YLZpycwG>$kVArp1#C79o7wHLiX(wcc2V|VDdJji*yt!IvqphphfCn}K91=PA z7DwOTp_!0E(X&0Xs00yUb6$~Mxa1#h_h$M&wS9LPj=zY=v~7;RlCeG(3MtxPu_MDp zEbR8Px9(G~etR{dX>e0lt5*|WCrK&5EJ2>XAe^TGF;vgX|a#7 z;AsNH)o|J%6bC%(;Dg z7jHkZ3^mrq-N$Sxu3b3_GF8}{n-ZLEHt?yB{omusW-*b<)^X9z4LIyMoc%sbh)!gMI zO3I}tw>{%r*6iy#?zLYjQjY7BjxY5EJCMgi7lFr9OvL!Q7F!<`Lzc{ZRV!Mp^~ofG zB(^O>HF=lSJ>q`~W@F;XksdiQmvj?6Oo{qSSY^H3I2JCKk_jC3ZXbx##JUa}No$s2 zK#RCDl?uLVFtPeoK~fi7pBP23xJWrC$Ns^v3j)rxoB^;3wW;O{P%vUCm zM7^;sIA|8JmQW^@V+zm;9dW^Q$EB0*6*Fiyc(Qp&CzAn{uSUK7m8#IC1}V+8q*gd< zP-!g3TM=HJXl$z5w5?@KzKdNS-A$==*>6o1*>JS)wicx;QmmP(uteo0qPHZcEVS)3 zwmz+CF_)AwM6KMN;;22#^N?+8W---Ssi_#F|d|gPfaARSr;(4Q?KCkb+ zO4N2|&SiFOf#y3*I1RTA7G`hw`w+9z89MmL>>}f<$%kVmHDsz$X~{H{ts5BWV~?b9 zQ)Vn!;I-~nGa$Lh01DcDJ6nOfZJ&x9^Ml|`E=;hNF{}mI1A2Gyz^%4vL249i`vcUg z`j=Yv{Z%nqw@9*?9oF6^ymjtv66O+YUdfoJcN1~*6!Fnx>aH^p6H9WOl0wr{djXz+ zg0(p!YSietxnF$1Vjlc9Mf+I{O`B9}!7W_9J@XlFT*%HPD#+=LYf+?l`MzsFPxV}* zq>;%Y>^gq!yKVKfo}Ou$eX|#fMS8myzl+Ia@)s-Qm1V6Bn;eK595exHR7qs6@WJ1X zxbhT6NoPg&*@ozz`>yp1uiaeGI%!`Gn#JeGPGFvW->CZs?Ka}d#f*ns)@(LA4{IfI zGMAetl!<9qmC=l@kLx)VR#Y-J)k-1Q?RHT11K*_IZ+=I5q6lKmiI0lNlMVBde35cL zq$sU`NXjS+?k=o@&s2Sv#~f}`DULiJp~z$@@IX+DR@~6{5y2oaPCzG>CBXom3U9=G zw`fqEoN@s^2<{(`9CnUD9Pm8x$EyI?p!Ne6b2DQ%xBHUXZDjJfEQQP3uC=3JaP*|e z-IB?vj;oc*-nTq8OsQQSdl9_l3;b|*d}CAn2l{<%fg{0n_pe$dx8WjQp>%@-m&L}+ ze0-TrPjI(sVF$#r{?r+GZq#BGN)+UzvI0p^>;YONfM{?pp4Ke;is`*Ih*eNYi>U!h zts?2!PJqzo(Hk{(8@3VdIOqwTPsJ;$@LnebsPMeR{13+@Hym(71{@wi1GM-3LE(S( zr?;1o1M>Sp=nI3|K_KdNR5v}V;CDA96Tt(O=hnVk*%oJE!Q?Z&4C<##dhb>$)+Ss= zud@su?D3>i7VXjYM4^?lIpqsQOwR0n$io&yX@B()>6Yp?e{OcGYZ=>6QTBK3_KoW` zv3D%jgE1bkUm=c`R7Q;_ro|$fGTt3~I9FC4qpXYN$i$IMfNl&4-Di_r_W1jb&D0q) zFtYW%B3N=_X2*+ASrwbgc+BgLBUutatc1~^$}FiK#0s$CzqLpqSdu~H5(zwU$l&q+ z0KPqJA{HQy)e3kV@DDr_$K!?aM~@?q&*RgsZ7XN2K3Vnr+9z)#oJK)ZmM`}3D>(lE zlyTfh{x}?y>m+)X$01ZrcQnk!N$kVl@yJ8SVFxUH_~VX$fO#auIT3SCoZb4lutyY6 zfAZ$PXP87rftnHszf6ctkUmXN_V3&JmfUfIPhyUF@JA=lk-!W29tb{v91u_NqXa|{ zBh04`o!y^5S5UOdVGApZb&Xl^1)l@vnW zWQ|BCb2w6ado=<$>^+CiTa36-4bx=fA_}t7#uyGggKo3h!v6Q)p=P^H5m$}e55MgW z%g3Mje1Z>>e%uuaS~PXyjGr!7U>90>BR>6dq3;mM6$QNdwV^Kd`>JV{6GK zLSC0*=8aiwQOk96N2ig5t8v^YHeA?mC$ak@AxTrn9FI-gzSMRqc&Mzw)Gm?R$|AE} z!9}`4*(`jBU3+A)9cl4S$FsR3OX5ae6%pC^Fn+Tg*nVpfdr+WiCdYD@w~j^C@JA=D zvE}H}lmjOmmZBJwKv=R%C zDJ$&WgqQbHK{vnJyZ7zKB96U7Bg2OeEm`rTow4OuqKTSDEb;A9q9FE3zWf>@s`?Om zpRCcs^;fG{D;WCbOkY*E>MG(VSs7~VnFWq0{xUgH$Zi=x?B~Cf{AkhD;*h{5tRjwP zK#_!wvZ|im(ildv4g+@=2f360Tq>Sy{{Y+vO#Ovndj9~`UZZaw>Nb6Y8Pq-3J-zDP zBj~SAZ)LXncx|TZU7;3FXUj_-J_{GicUM}}T&hf*GY>B}=)D$f-X^AVpdY1<@3&$l zh|Xx3W%XDf%;U?cWj-%_&Y=ErAna+2ax-&*BEB^zrbQbZ#-cOPb1 z%q(@b9XDsi?Ya(44c&WYhJMNxYT1Zcil$S6ELeQ}5l9A06Od?R?<+lHBr`?K!B1NE zFORE2hTXaQ8TRCz$dh#ErF{_By64oovGAz$^EPg2){Qw?RoNy?l<`X$`69I_<-HQ! zKI>+PkpBRqb&jnz>Ai(aPD^LkIwiSlQfrpGexI@NdS<7M!^2jaa@Mi0QU{5b<9q8f za{Dyj6v+>lBv`RajuqNS@v??QaH_D}T~P{-OERcq!x9j4(tfLXLr*CdXBkyHX~Jw|uiT$3 z*!neSW1;2cnj>y@VzD9?WDR$o(6uddUFnx!wLNEQ#BCb(J6*ux@tLe;n%6P;32JSr zJ@ty*7A#k^O{-TcyO%2@kvcF&929Pg`*OLSTxL&j$Wu2mc)J+5x`Suy%U`u}RF~tm zg#%e;QD98@g6?8x5&$lf=v-zXyPEM#zXFA-D~OrNM#Rw)oc=l zt?Aiu$27Bt5|(0WL<_LQ%0LPUJBd{zaiVtsYKrGX@HlE!@);~udU9;pCrEW^tipac z1qv$-+w!^xGf5)-BvGWHOf4V~75auRV*2Mo-#w#U%j9k3WX@%=LF_`a3p8v>VInyj z8$6RI9!k1LW?5u{F&oIovLzFGW2@^_FHMG?z+9pV*{cs$wDqFJu&))9Q2dP`mO0is zz^a8ku(Xa5f)+b)9aM(Ck!r1mO7B}63`>xKqxhkf;&|g{D5_R8XhQsp!*?rw8;(~z zQH7DIYSHBv%ylS&IOAy#tc6r^qKOJXuV6=D4VG^QYdU@wocMCAMplMzHROUhB$D*Nn04C${C6RcI`i+g(X-eW;gjZg6HUw7U$VWGEZs_B!V9Ln2L~8nrN98<+?`1%o)EBp`JSp!R+7!kvo|?gPvE{q%H5-{;8JY zT&1p*&fq7pDnLG51gq~)CvO@AmBvfV`#8?f`j1IX9!=qRBzgH^? zq-}QY$DFsfLcsSEN{+>^*{51=2Qj^XQ<5F!W#B6gyW*Th!+4;;pC(~z5=Q9?m2YO9 z=7m5!09VRz1%?LLT{;JcUP&>4)dSphFVs1B_YgJ#7>D^3AJcVXf_wSo!TV5@>`&`d;8QQ+-g2(j%Sd&_g_wI)w zjnw>b6ho@%+SU$)Rk+|Sb&hEkK2@hZ#QKPKA80*z(Iy9_9^d_u<3kQ%wE2BsAuLJ> z3jY9Au|nAi$UGA)sE3kE1w5Zr*0Y_j<{v6tEbJ-wa)Ton#3M%DzGh5~GX)Ar8(K}& z0>4*Ik)n8i8WnkUtvJrR3q>>;QZqlN{hl`1P5%Ihuwi1#*8-yd0Mq`*uoHZEya%}c zzhpQ7M^ZDRVrQ4Qo>n>-+?|z%MvR_W`}<1p0OOqPvt}{Tul_k(KgK z?7F5<@&_C%bI%8Z`SlfB>6cn^ph38PtRCO75|{q9Tn=+*$-<}saAkGJ}2 zoc{oCAApyg4nc}DB0(u7Tg=SP%$g!yy(PtYEPaQT>YSPtP1S>n$sRJCf8(1;6+V}u z>3B-YMX6kgjM)K51b?#^&o|JGjOw527iHQFBd58IZRPBY4L6~B_BXHt+6c&4psZa# zi3G}1fI$R$!LW2I^*HMMOm`YRVa(N?mD;|~yW#bma)P0V80%TsD8Qadg%O2R9iRc{ z(OHo8?bX{gz|=oh-j8SPPT>6%`=3#D_F`9+jU~5^k`Sbo93cP?re*J3^Oe4H;O1q%r0;AeQ@ldI^yVMzKg!!`{81OktLG3^?1l z49c|J3vqSG9Q0*YY^-!;#{59kVX+$|+QuYM5CGt*iD(-jg^z%1-nts#{Wv<+UPian zy|bbnBdlBGvv+>$2CVX+?jW;M##zW(l$P&cizgtkUOUHUtnclM*{+D{dY|upmce2p z#f&dQ`dOUX?3PsRF+;HCCB@a z!z5c|_>WUFFrjLZOrfKrLGl&7odBr>V&cJ&POf1={gl_Ao9$~ zMwYXgp1QE*zUiE(BbFzhNyn+br`4N@96r)|yebYBUz^-mxpkNq4&k8FXh#^3008V@ zpc1a9f@H|LJNjGUCM&Uf)b|CkqIM&Hp?$aG>xoE-i76(3sCCg-p4CFiTkhncB$3vA z8}yvI=B7K`PrUqZa=MI`YomQXxmHF$Dw1*3cUY&53JyngrXheJw|Cov!4oiJm8(cZ zZW>4%B~*TrOPHaKBG=082F3mEJ7$)Vwr2P>T>}QhXbVDZR5F2)=7QH{7)na88#n@| z?|U0>v@i5$vnt!COZwwr(e{y{r%$Qr{ZrI%6!Ch6t)Fko{@t=qnCZUHZ!?vO=1I@) zRIFm+Xp%zp9J~?01TRs&mr#iwpS7N(=Vw9QKhz%MrLA6HxG-BW;W}Z9m?%c&g=yhD zC@UZ=8`ZRXx#)lC`ZUjJH~QP|bF7**sy^0wbBocjTF*$aIs1D)ms#)FrLo?cO@u>? zw{7h-b}_~omKl+eX0Ssz25)J-Tt0ZFo07;1->3{7X-#rfQ^@}58QRw~3&`t-{t8SGX_@5v z3aRV|BI2D=WK0&vcudG^2$qSf8nyZUoO^t3=$!we%6&3(Efh z*pV*?6bV2b%-6HM{+u@5A&1-dxx9R2p6hhF<)>JivxOtJzDK9;4|*??-6v@*dGWyp zS4GE-{I-2QCs@&g5@p?CcA%ChWlhQtAh=cRNFusin_tbJ%}lLpP;(RPbo#lXPmPhr z#BKxS5G@~19l?3+WG*q1-P=}OzrCzmo_8mO{IkeO9ymYA2cI92t?}{6Bpw5E$0Lso z!RL|q{{WYeM+AT2U=`?on3>6+=GZ;z^zlm%vRofWx`z}_%l8iWayn$ryp>fY6^|p8 z;PN!)=~wCTkR|Y*?)uM(u48FFJ-6F!IV?!Z(gOL1nV0@;vQv+6wGKhbCPK!R90 z+0w%^t2K{lzSks1MPc0;={^NxVhB^-sGkdWt1t?lPYcCs27clJBz?z(;Bnvq+B|si z$C1JQc;}B-=lY9uL)-4*)sC6n&3mE3^vf|{+Yh$5Bh zdHbc|e=Xbm=+Wb5z{e=Nk&7xDh&di(1@!LT1y?&l{m)@P#JVm{ZmTqyjRVK!V+CKU zjyE?9N=rvHs>$jE(H`Lbn!5HRhv{mJM1k8nM{IOq8Ae>`~gl}S8+K;-gBAIJ8B zNC1yN^&I~I2b1XUlh_{o;I=!gKHD;}u__vuSaC{R_YexjathLL-<2gl@Z;Aqex99S zh@vj(&?!5BWh1ScR7yMs<&B&11S65)l_0kt^gHxfRYw*?B=AThupANZUH<^_J;N`C z^_ce$q#}VI?O|rWPdkK!(6Bh;^<#3(U! z)2GZClrpI0vfvI$2bN&G@JRr8Fa5@Q2lpee^iSG_Jv&dvZnm_}mgK4I&8zNOre3{E zIbEwKZj5#0t(SGV3)kR0^uDG8BEQ}hm6)~+GmITpCyq}xOiU=CiAiQ-{7V-jg;QYc zM`2+4Y>J=@29u;_V`x4$8BvI&n?}G)b!SlW$ePxlBdYp`Xi?a)_5@h!lF28Kz>W#= z+7AGp0R#{Fc;x;F{QBrPW5FM9Bz`}W$KZ}QeTX6dY-)+v}`r+*|mmhb1-oI-w z#;O#K2gd`mC?oKQ!?+TlsaEvGHk+B7rs<;#5^2^LCK(K){hOJ{3gnOhE3l8VR|f1D z%*BR$w3j9nB6aU7jn;`(*pdzM38DZz^abz-0YN98NDIdvIUw=~1dr#>;Bnw{>mXm? zatK~XA&KN491efa^xHa0|2nX%}0#m^A z!Q+lkB#?ZbKab~w@m}D00Ctia!R5H%o(WJF@_Z4%{{W!_(W7Ufe$}yIjziwQ3ns{l zrY&EheL%ig1Lb3zCnho?I6MMEgTUl}g!a4=SyX!g z%R;qg`MUVyp&BSd{mc}T!wAbL48BKv{2ucZLxR1l_kSFDDyIx+{lv%?G6KtLMN-nQ z9DEhxUKLV8c_L2JCM$I;x|C@+$sR zqLK(B*MIewv)EZAt0B0M2m-%znv#1vR77ZAidAws+#O0X-stdT9*JNSietr=#!XOa}bi>R=g^s4u8 zk78cgC1&j%?cBzF9ZdGPu!O7auWY#UBgh*o*9$g;!USncGSboU!a`*4Lh-Wpg?>mr zLXhjfLtr-TV?CznGRU=IRG(n#F8!O6vKCn0Qm|w(@fM%B!y2kb9BTxt8h9X1hZ9V* z=W38DivIv*kCx}2#>O~W=D2GokDJnSa!u{ivkxQnzA6u32mY~j$6_e^@<9-7dcrm_ z%@sbsEJ!O@uXdY^a6N1{OgaIGv1ThZp_UGm;6zy5ds$cg(dN4qnIbG9 zXsfw$UC3nx*S%%K4v>Jb%E*yN0b|2`)`V@Ji;W%sJ$j+rLUBG&-&0jJ7^1sWg9 zC9%gmlS^Q30faS4Zi!)mVy%ysIx;;|jhVSqzw-^X(gA^Iwy8RV7wBQnOEvEhrmv3})x!6fn5mo2DT zsRf!^?KP*;ew%_LY`T2!j;R*n?x7lKT- z4VwfnBe3~}DAWpB#f3?uM=Y=wK?BnTaC?LP^^$D$2ji?wUe!$Tcq@z3UCvRO@C>vy zon9Bl;T_Z@Qg-C?0L|H0y_@q__`XDgSc4IWM3$4!E*7poJ6{u$N=av9-LiJp z?M%Mc8@R6q9}EO@#f!N*R=!eL)H}~NY>$oVrsbR2v>MsGKTq?N?Zd88xrseH)+^IY zWqgXYI#Nkmv=KZqB9PG@^dY8n9nOc*lP^(qtS3lo^+JA(^xq@5ZCiDVSPW|GHolV1 zPYthOuy}me?NzeJ8DdJtzQJl3Uc1(YV$;O2Op?kD;3hn=%PezE8Z2jXOA>K$24hJp zvj9P06#=pZ6Wm62RM^sE!q|pMa!R6kbE6I0j@4!=tcPN?u@nFeYHO{pZ{FQ{qYpy5 zvDB?s3wF-?vfak?KTENd`dnGLkm@JPkm{atT%N%-IxB58aTYEptTh>7i#sfFnA}Vt zf^77rItz}~lYQuvJFZu1+BMmAtWIkok(mxl5nDyTM3dui`5aHz);kW(CG}j2R_?P6 zg7Xr_yw}#RbzN!SJ+yS|rdfL!4O>~ubpv7A?8T|;^fkK`*1ZgFGNrq+V{F=#L6FB* z%t2B~<9oIi-JWOqv0Jbj>D+BcsTxCAu_3Sj0BIO3l%5$9Xs+zo*o$)O7)1C2fSdxc zvXZ2+Cr(e5zZy8m9;RR|mO&fHt?NRn`-rw7_)^7ekZJ}B=1MbirF4Xrl9OnVZiX_O zOK%FuvLV_+n-ody(iN;78+eAwMY!nErAkXi3U%$|TPD=#&vx{)M-_}scv5_|pNSXx z%0Q76W+#~X$U zrJwzabmvm2udwc^v(~9KI~lEeUB{f2*)Jj#lM>k>8LLu^PHYxXyW`f6@9;&)v9^}GrnJFllefG#^$7(W9?&|s z(M=M^RkyyMX0!Wt6Ez(XuiwQ@m(_GC_CvDn8^l#)kYq9i`gU1)%M9@ ztwT=3i&MpPuQD;~)6Sn|^_#JMT>0(mVa!zcG~6D)0#9=(nZx63*T-`RR9d+As@HB@ zo{a%C^VnFFz|#HqZ#tH9EmpL-?9WW)TzNMfA+z1!)sEux>GDtXrpA{$_M& zYTzo{RiRABTBJ{U7#dxvf*>M58d*((81E<)0l&)#wnH}H#7SHcw1yx?POF(B`B0)V zapo@HDo0YnqGDu|h87BftibXqsj9bPebVgNje~Que<^1tS})(_$Tdr^BzGZ<)3o%Ve(}4 z>0IOKrooPh8qIj+n6}@QVT{NOg}dn9t#51ThqaG#+LcbK^xq`iHQDvl*j7%A)}==o zsO58QMxIK}YAl1TInFLxH|p4GbgEj&*r{?RsvwR)%U3&>Lhfd6?DuV+TWcWpSvlFPkz+WLC&N3>$Byoon$G8Zz9eyxnY<bjpo9Ftm^aLF9Uj ztd7J51$Ib90u#&(z>+{)v9*ZZU>=ITc199HlRh)XWK}r?m5~*P<+PwsC5RSRZ>Z2- z>?;j=IiO*4*lL|d>ju4sjdK;ClNX}Y%kP=VeoFM7dgCCqG5XrhmMmAL8w{MWNov>F zvPWImK6Xs^wEa~AY8@=z_w3duE3w9NTW_%al-7c}e^8RKX#K^(ZKrA&*( z64I0AL1|;1q8_5vy%yUfl;~t6ODk0}u?#L^uD^C#5!14laWF+uTOTNp$M(E+Yu%AP zray``vTVoJs?S#;3|RY7O*8^K%K~!QT8m!WB+GVtuLV15W1e34gbyUB%%~Yzl?RzJ zqn#oV$bbuygm$8+3v$4QWPa#AHq zlhww{nWAvjnG<+i zTF%3$QB0nH7nja$I!9Gw-*mmQ%mxu-syJle z)ZX;AO<`(e=GHNmEdiJ9rE5b5qEdBQ7X>#WG5TW=NJe$VZeTT5b|EOZu#BJE*Ws4o2JuR*xPz z=4aRhV8tfTL6HKmJONfL6Ug^{ZJ7`Id(B&$4b;388wHnHu=?H9r4#SgYK8bITd^$o z``EmUmIFmnJ4lOqYZ1p0vol$BuC0pRe#P94T>Xrkxe7LH*RxL}^(Jh5wX6!$Qj#l7 zWUV!Jt|OYc?NlfLQmGjelsyUD?UOz$J*M2b7>z6a7T-Z+?k@6EE8DvmVB$h;$A}?zwW{nyu1~8y5);H=~Y1p{&#pOee5XTyo z1qk#gVSJ14UH-vG*kh4E2&D3*2~arhL*7_&Nk8&&_&g8*;IjJeYjEEZp7$N{eZ2A! zAu|90$jydreI@YC@ydoR;>$Iblrg-9w)>)zzql~$cUFDiC z(vIKSjl<&;(rw#1t0p&Jd16U36qX4mfWOsMp;FxV&IF$_xl3YfM4=ix4I-FXioXD2 z#F9|e69qwgf{{uXRk0n-d-tQ?qD=r$T1Qm^h%CTvy`*=m9q+#$#2e}>#n6^(5x6cR zc~Z2`5-g1hS&X8zu`_Z&ZtnB|auv9K;8Z(4mS2WC(o?e5qxz7nR!5oGR>$9X>p2IT zM;^^AZQI#@AMvf2zF;Mmeb@cIY_~2XIcoA^WysXK1Uyd(7IOH!4pMn2GQ7}OYm?Yo zYz%6~Lpl{L^2S;|%YbaJY znhLC3l4)`baOkWMkj0I9YKJ%SYKOi4!>B%N4*pzoBQk!ad~sY7K{PB_>9anW zlFQYmlq$zy$t%x~w+wJbmT?jhT?vd?Z;k2LhIpn9N{NTWlCj{OQ=nSM$q~-nqlpG3 znV~-|t3odG9Ar^}9hyr{ztHY~r!n&8MkQC&nXXupD`yp6Mqk{el`yFq*D@PR2(@Pu z5r2-br<0mlE5%wv4NLLK6yGIxrow#LeG*KgMKrLO9$PsJGDg-U#F~E;a3{leDRRoT zCe>H}0D+diTD_!!l@}cI)wT5y$cs#aAsR)9yr?RqI}{$li2#-zkL-Epub(bdVG^}( z;T!>G=+U#>S2hS0#gTm?Q^NGW5-T=R+?gzZWGhP}k*`9Xh6CggN|YNTcN!QNVv@zm z(U>E7XZW5)1Jbka(WM$VJx>#;(H6|Wno?yaN_@)`OE9sK*D<*BEr?=Rsd8%jV2@F<{2k@3dY2SU?+R^Ye_wPwjzr~J2qz>Ovfp$BToZ-eMu z6aW}^A-_?+Ic^0J->B>v+t%_s4#l>By|^G({y#qBr73Q2k+k;iUCdWDZbFS5*NsZm zpX8Q5mEw0sjnXLrj7S4av!2c#P(t>jjiK1V5JlV-x<@wkP0^dN~J>ZX!7 zqmUCRZ1G|9q+RVbhBUHmD8K+fB&~j{JcGr1*z3kmNgxp54^Z@r_M>8m=k4FOQU(5> z+m8K9)Hh0byqE6P_9__O%JF3GQ?~_HwR)rpb>)vCQuGRvM>Bk!D$4g}gY5LurG?C4 zH7eF;kLl^`6i&S)@-$L>IQltzTOLE}EEya}J-o$g!o5-Pqe2AiibPH6TWC!7wNIy) zDB5_k7<>ZVqb4f5Rh=-I37lh+_1I&Y8&}>rQr=FrgDO$^5}QTwq_BmE^7`&#iMgA@ z$n)egxcp$p#STU)+ZBUPvesuA*#sE;er;y4Vgp~g%{+p;e1^2rG=8T_k;d{w(JO{F zt+;uMBLzY|A^0`4s*y?o6ippU?5L!VF?g{Uvb#yM@4zGyY*kqztVbO?Z`?YYquP>I zNa}4`YE+1`6$qOr)yQQdo(+o(8dp|S`5m1jQp^O8?s1d;-S=4}jw>~CLj3QJm0z;@ z!EQ)qtkNt_@y#4{EL*J624uHN8&QUkKz%3Rbt?M*08x5%Vui)Gfyn1I8SxfFLbn`8 zu+KG$`G_R4($~L?f}_`x7}iN4dhaysV6|RisqWVt^*Wex4=G4)+0N4vwYIGkM<26h zBbZAn`3fmaivIwI2@2zB)<=N#vb%@V z>pDEb$MTqSA+yLJ?s3PnACb^ep2wONni#{i8A+OqfGlFwBGQN_Fe^y0$bd~=%wfvb zwG`Ef5=SBQfZ&6{^BZ8pk)9fnQ)ZE(c=~6&*oh^NUApNkVr2fMQOrh8 z#c+mYbyC5HcWQyb2aX8z6HtY5WMaf5EbJAD04oAL0gd0v5>1b|ATHrC%87Qy(n!1z z0X(Y#%?q!OYBfZTm{Jf)J~-|C0DnJ@M<@RPFY)8Z=hi;vA9rZ+X=UPFw_1bB zf=_SFm5;moPxkUTQV$=`$0r-Nn-Mis7#;<4Uw{1QS6>*i5b^>M@4IbXSH1rLZ~1hR zHZ6N66cugZv9$zqFpAwua#p^!2X7yq?AShe9y}As z9ys7RDf?{e5l@a9y30oK5<+jw5K=rM%@Ia@?hqq$DcB5Bc zoWCX{ebJP-qLcqfiP``Klzg1O00#RAW*{#BaHqn8c>J;SK}GFjsib$=yVG1!F$JZ|^-oBn zA82MQ(lnW$3JQ?S5U5~0a6GBQ?aEACkv7HFUW8&5Pb?{Q0zIYEg=OwA>y+{$SqB}- z2$Syr0GN-@sLiQq>Ih7ji6ja_T=T$E5EJePYU7^WZ;v(t+dTgOH*o<~Op_DHuhJL_ z{-D(ko!;r7anlcIQxW1$hO#dKf&Px+um)eij6TJ~#*cxbw}nb^E9NBFuD~+4$S~(L+nAkLXS5@%L-$8NHSEGB^D0K4VU;Po*`K zNlw$o*PajzVkV3{ocb155$va2PV4(eU3!&m75@O?usB_JN5)FaA?;tQ$hKDcM%<2B zVD2BD(08j%E*6lz239RcX`liC4+Qd0JbNCXJi6Aj0rdhjEYTV0K8se^Fy2W`)52=m_gwm~v z12jxvXzNmagE2lq>{`m)p2SlF8@%==V;Z1Oy=9(K;KLe#T()4hkqk(3E#b_dW(z?dKA&HZ{!IEzGE!=MlAtGSRKq_be)Oex|n24$Z zjS_zSx`Q?bxgu?oQ^VNgJgS;|AA+G6<=@475IOJF%4(TDs`Th*x4m1Yn;yEd;_(yI z&tdU)tzfZNW`<0DMW=@xWH#o8g38U4fUWyBmLhDKS)_8mrC#$o_m<4!Dn4gFnZU&| zLG>A3R<#^H0;5E2XY;9FHACgcypaiIhB!i{oP>)ima*8zgs~lDxrCmB;pN%&EWSD= zt@SuPhUmuJuM;GQlU9^7%;s_PMafJ=C0bchHx0y*$vdMQj_c_jz!mBy zK8)!!V65=(6Vv=;85|B%P0iyg?0L9Mbt&YR zVSH_?63JEOWlA`mZj2wg#bPv;)kn1)DhXK#J)`edHr?k9s$wZ$#o}@Jt8Z|a<4eY+ zsXn^Q4Ngej#mk7ytsiA3uUbh2Vf&bjj@tFqV^*K%1lbAF4zW9$*{(|S66ixTDC{&g^aE;#C7lF zy8i%g1z#Oqp`%Wf*!3DyMI2TBXMzgG)atWGUdV-IacUW&jH;kr)n9RYt%_3M@KiFB z?)NUhG4*cW*XikWt83d_^f!zbQFD2ib_d7Q+hm&yPM7W1sKJ+Oc5cm7in2=-XMyVG z&zI;s?bvv7742iX1Zj3C1XA}#&m64k@hCCX z?ei}Bp6P!hjI(nCwB_f+-o;+AGu^}NcuHEm%&DtUrddU5O_Q%;ugYF2?8eye&joo( z);dyYIQcrck0NL!GKPpW3eigucA>X;B`$Mmr&X?ORN}Y*)D&Lrv43rS)GOYNnkQV=a!r)0-=dn=_2FgxDsI6A6~C zF0^)T%|0DTo66crepfO;!|G*-!jkP-JWpgYLvIh8!gu{o)<H|K_70JBTtid(-^ zG_e?_fX5>(lxZ2`?0Eechg90p`Ai>VVQc`!b^xH7W+J_d5_Z*huBmM77;+uHo4@ybU}50-rrT*U!~JM12=D{x^6OpK=|BTjTT!dEEy!0TN#SY z3*T9+eM`e(nGJ{nPw~X;Ap<{3>*aHoH{I(eetUB1`aa2>n$^a3m9Awm?SaOb?Ad9{ z%$BXR@T15<2pthr_c2 zP-S?7%L3YtaRoLKg5CBV2ip%z>E6TjFWg2lx6MS-&FLQBaQR*5J(pFKScES+07a2jK_1*ybO{>+6iJJXh(=_L zzH{S6^%6*|${+ohW;>LSL+uNG{ranjYE2q&VshxDvvwZx<=xrYh$n}B_g5+ltA*`e z(a&|S9Ap=0(8>&I?I0YnATsczGk6Qn1n>wWw~k58FI2sn;ACiY4{M!4>Kw7b9C7A4 znbbMyEX5VOB%cee;;dGTNI7PWEyQ>nAq+#V#V>RD{c_sc>F+{4xOBx4a*cIBc zHA?;&EM;2!WogkHL)%|Ku9|o%*~^&9`y`qz2y@7*91}xY z`&^Br$VRLg<>Gllw2FNS*{^$E=I_zDX5Y9Rwl3UISeB+grdVBnTE$`rEDQTGsox(bSJZdLf&wkB@Q9P>c6Go{K_EtmlZczL=rC%HdQKA3{{Hv z1*JzpqkUL zQQg@Ra!Dh_ztPba)*!V|Wu@nnewXq2U(W`FQw-c|ah3muHLu2VzigIRmRE$>m_wP{p}^ zq4{mb{X{D!ztK*fS;~DxzEPL`Nsxw)IH$qG0l?y{bnT~p7-di<+EPO^EJ=<41%FP!81wR5pML!l`j+4A zTD1d-~nR^e$m%#67J6@{;rj|0K5IFRG8Pghwk@x zkuu#S=q|6)DwYp^KE|KYT{}Ufh~Ld?SuA}R`wx)UBw3k!JStsBBFDFVW87y@cYJm~ zq!zX;zRfL&DlTE-f-GhkXK<2U$Y=8jB`PsQ6}#*`h@pZocrozD(G}KygY|Py-fil> z>wVX2TAi$Ery|vT+db4vw<}yfEo)e;28#D8n8J6gQQNgx22iFJAn+jTmy;a1Qd^bV zACTwEAP}I(jIjb#ZUFjN)!TnJMCb5E4m__8>?t$aF>93bU>eFtHKlyo-WZCb1&L;glnXZ^eqgSM?0DMOXKf#131SIH<<`6mhi^sl0H z&-C!Wv7AnCa`!vc{Jcn?Pg6s{CJ1a7Sy_t51^1fuYQ75@yOqLl?valki|tPSwa_e` zEZ0dtO)2NN4O^P_^Ve*~S0T1Z56+e9Wa-k&Ry8cY)jA3g;^2$qyYSUtn#Y6cYxuED z@m8aeFexc!gXq;$cmRigDRu%WSkjZU?KV0Gnc-RV^^mry1d=#qTv!$jI~|Aw?2Y7` z>ZBu$=&a8{fbKz)eadNm;Ug^J4FK``e&97{k9bcie zGZrbk6Y+>)&gY@CiK|qg8 zTs=g$n!m8Yb0vX>?q5vSH4K!ijH7C{T1%De&nrDcW#pG1TEnP;9aXxQ>>H!Fe0I;# z-)Y$1p;k#gJ!h#MddX)SRmj_pK0kBAU@g6y`z6Z ze<|e8muH#f$ERT8wnkxQ0i*LWGg4ego>sBO*CcIKB|`NJP4M(l>5<8ciII@v7*ym$ zG1e8x+Be2R7M0l2kfB%$ECQ(%Jaj7^?eZ&_{7<&u(~sN-xH%=7C#Spa8|K@U+cGk# zLnW-8T`e(q+%`Iyc-UOXX6aM}{0x#vy`t+deLmf7Y1Q`5xg9Injw-Ej6f~~I(@g&W zRwlpR{{Xq=mP1}y<+Ei8HFbaAC%c}nWhrRde)WH*dgjYw z3|1Ri=>C~cL&nA;l}lmqck9$_<%C+VAU7U(0z4g{#$*C>@1VZIGqG#qsoindaXN0h zPK|ul!?bQ0OBrmXSQ;ZQ)@3rA1-WcZnaN1aX{){1YsB(KTBMRRFr5=*G)#3#3;A%8{_ftcq=1Q2?)N5iTVtfC*)zAW2o^+JFyJOrS)ifdy3q z5GXfAA4|8*OJ&34`eV?HZo>2=v5R|sOWhLHy}x(Jw1R7s&x^8^spD}iUMHC3t3zJ2 zeUetKiGo5HO?G9stXAE1>UlV?(AG8FE;Zq3;;lVrYuMGbWgI!RbJDp}H9~waHvJn3O zPMc!JhB(}mBq>*#N7@5>hEw`U0FKqRCa09dT(^^wx7R88WQEd59==cts;tpGhDMLL zz}|RRmL&iVSV{CZI{3UU>50l-S(hJ)t1CPl2l&%I@T}_(Z``Cw7swRy5swl5#Cic> z%H*Kd+Grw<#5f7@IcpcVEd^{$)*_w^Ycop>ZEni*4SK}9#3YmaMIr^|%wF+BFN57P z@=YCjuY{vrl4)2WOSxzgI7p57V&6_a(4)(vi4nfxeVrXh%{`C%SQ^O={g)vB>hDcgzU6MlSk0ECp0x4b5s06L|Tf3*ko4zLrw%FY4WEwn1 z4%$JHryf0TeO3niQC7`MXf+!}D!~<{o#dP(2i%8ybTF!d@R!cN& zG+2!8D;rw2L-uRZeP+3T_Y7(ZnXF6Gk~j=jVY6nsqbOGTca9GIRok`ALlM;thhiBU zcsxxkZ6;him43A!Esm=-nvz3qw5ud`;f+!*9m~n`Dut0(xDmze^gYh>=I#mv$>R5& z16;9pr_^%DvtHUde?_W_+J)&X)uhL4*ZX5JSW0Ou^-H;~7FL(jmYw0;R>)a0lo(nR zM{S$7D{LtHsPLP%$O_O5tUwEAZh@|98a_TQV?2_^a-@0W^G|u0NL9Cz3RqTM#PA0o z-%>`w*W66u5OL}eGfb5C(?K@h|={dPa3k`tL<6v0km5;?cL1wkLj3}{5rv_mY z^$Lz_WT5x=KWjY+_X(q<4)3<~%JmvqSn7Zn%VQCYf?WMsdr4+kV|Z3U%71v|G1@n* zh947^wzz8B76z+6H+0i8bgSjfDdLVLvm(5yB$Z;d8%s4?XjS`SmUyFxqXd8=!0x$B zhx(V+84hKDR>uF0OFCi(}X+)0W{v;4HQP)iPH^v%vs|b=$Hy1I2(=5R;mCn+yA>KT# z)2I`HlYYX~AF1P8Q(rx-gPJ(`+KHGYe zVty8;CvAg2(ya3y-Xe;{9i9pmR#3rHgtIbteWA!@Egx>5q$j?uXXLYk=^*M}6$dfq z`d^;L?YPO4n1pQ<^rm!>NUp4*ShIdlZyX1Yf{hdeHQf ztVdqV*hBG{QqGBz%Y9Umls{;X80xINC@NLTna63>yr_rds;dmICMG0pMRbgaO9yHs zEwYkGAIddG+6Al4i4(-A13o@;Vo0+806Ls(pp2*FlOh3IUB@Q9@?OII<>4Mk@;=r& z@l~Sa$XBMDHJHx`SCyWv38G~MT$c>V{{T+m%we>9X7>fE#P;@1hjniYT0Zt`H~M$8 zLtZc#bKN1w6i_>ZHzX?dfya~R`0D3gzge$t_FEm+4cpw-l(n0MxtqbuCN@S@?pA{= zFw@tW95-^vBxR9L0J8Y>!_@x(Sbx-8SYVQM_c^!YpbONYE4+|Ml1E|^$t`(9*RumDD&gu%f>eGY?dC-801i6| zKDC+6>B}LC#G!rv0Mx(Qb~3zJ?F00x_Q8#*Tf8N`&tuwlT)m;#86MS` zX=7dGK+3G~I))>Fcy4_{$C7v%>c}lr7bxA0Z5P(u%sm;W zVVRbYxq}uoNZ^iDNU`8VW&}=wS&V!IPg0Or0BloCl_8yqE5#o@$c!vRBVO+BBoLuM z;FjPIxBb8(&po~1u1nTVn&%{CRLlE6>uieOD0Go8_v%y8%!J69Ptz;eb;{`As@J8y)w2?C!?i5a*dkKR%M$ZLAo2Z$yUQJZ(z?U! zyWM5&swy2L%X??*&b83)wP7)mYuSg`dN)%`&g&MjdE3p7u~r=2M8jipliUTRvh`zy zMW0A4s=J6AxfQ!d)AT9ZH6Ya%NhF2= z4m`Nbo_wh!Y!FDsmM}Pw20RNY$}D;Gxsb-yt#nUXwm?U9C59)Am$@{MqO55&iSk8L zxdfJ5lx7MP0VAUZy6n=!8wl{)^p{#uBiONm#aI#cG2*32B&N|;sEf*WuP-wenn!7w zT`g-r><6Pd^!KgY{YCw*#-cdi8*M7=vsjs$O7V%Kr&0-?DUu-~#_b9Po0LcLU(``! z*q=yA=NVocPyk;5an0t?9Xgc$`sb?l?)@u&B;Sj#z6amj;Hz+icNGP%nf*L{ z$5W1H*XVTTsEZw8VVkD?TIufA<^vnQbam=y(#-AJy~ZeFl2WX!5UB^&x7KjjF8t7z zEP1Wv-GSUmw}5DKN7(nSv`3*zg@jOINajCM#XdZ)7Am5v8#@zLEk^E5Rdo0LR$!K= zU;1eTlKhfK?L*ri4i%T|m!-H#&>>^?pjj8Re+k>i;2%|q&vK49C;f*%!5nx|$2@r_ zljD*(@#^3I09P)S@A&@!aT5~h3T~Q zrR5}vXYN)iN`mXnMK(Uzk(Ae+Tz*u<$;ad#RIfk4{QeIdf_xeJB$$T+C5}kuMBJ*y zloEnQt;F&V0G-^AetHGsoE-D2Ji``mE@*K~ax6|#TgQbsY&~1tfJN zk;L*k1vR+VWL~%*eFdQMHm<23^wJkO`)ylR@M&ugH?LWq?nRw+GQo z8yMQ2IEQAtQsipP#*hU7Zd*WD1s1?pE79FQN!0Q5Zx(%KE<`N)MmLg@tA~+> zt)~_Ur`2HtIpg%H9gX!{{{XvW*-DI!{yyQrw_qvzi5?bS2OOSHEBW)s@uKs*q?zTC zMrI%PtkU!U0ABLkujBbApCtbP9-Z-Y^Lw$!$EfU#3FJ5I_f!H&;BsOB4nQ7Rf0M!V zwmM0G7ZlVP)P)_+wpztp8mvwIj(xL4`tP@Kk2plzZ&oH*KH%&%$Fin z3X-iZx@8(N;4mL!*)5BKPCHLp~Z~EBx=_tlL5y)ld^1a>MgXEFppU0o`s!83%i7P~&ni2Qaq>v}PYS9CC;NEgo(i4;%z?ZP`3Ha_;k%_hocLcnM!m<#Cy(Q} z_yZ_NmxL|aq=DEtdF2P5IV;Mj@^^^Lv-jltaevdSF{uCsJS=KiAx2{E zzaTOOCz3>xa7o~n?L<;k5LIEv%;qpF2AW|c6{#y2~<2mr|n$bdTm!2q+cKz&I_j_WR5&_04d1B(Lq=bI*!aqmN{8OR;DJK}IzdXy!7S?nv_TP`c>Xk+Ds>B2nhNnDWAa^?$Rl3f`H+{44j2Ur^lf>U=%a^; z)s_i9C{3#t(3+7SxkS{l{C!2FR#t*i;mSx{B8^OHypX(=?DWh zK_kr{d#P37*rq-*kz~n4*eb;K8>zUXb`2V!ZHN?ljPjMQaa21CnRjk^U?ByXzyBa^IRrvW0$a2d?ppZUJlocdV z4TU)wqL25ViZk?yYqh&7VsMp`GaWSr%(2H=6gr=eYPKdT_Lkg+=1(_nFOmszaxMc0 zi^q0>73_;BZ>C}XRDO9Od47V|>9q4N`b*J7l6s*Zo8+;Zt^?Vx# zYc_ZVVws|rDdPL*HBW4WjA*c{DJ1UX6k^R{uXPQ)U+TT9&gQ!7LrQ%ok~>!*az}n_ zdkU@0ISLtXt?1^+8tWvMWJ*^dhK!pW^;B57NknE0CbNl^7J2IYq#0pYht)Axo>}5{ zM{_PRNTXBmrahyhCL129*iwO;;Y$CDZWJONy;4 zk^b#X@8vBs3e)Gami~(yN+N(+3q5i0!FtDeLqiVIjC>)1zjDK{fm#b0D+wJWVPYq) zf*I$a>Vb_PrVbK{vtNRCX&=Z};NQK{Yi=0ysWfL>i>vkz%%szIilz^T(*rm^z!$ zj7C=0D$Kb0KRdZdR%$iQ<+Yrbi*w z;>|;)_(Qj1s6P95A!Ft4C0;~ zP5EwRqRHOAy3{o3VKqv&jw>C3)nG1zHIvMlOG%r~)7 zbE;n8b67Ek*Dho9ymT2HlsUJlOH|V&ix~uO^w;vY(m33Qdu8yH5@I*9jPE}=Icx_HR=Cy{|cl?Gj1+Sghc8!MKZ*rrmWwQ}mRFesX z*D`d4d~8ux`Q>k(;@SF`9R^JkO~^}LK|TdD_9lvzVUKcX)SBj2%C;&SHX)uGpDjt? z7c0~=ShFpdNxo`nOjE>h)XoqS@LzR z*Ro)=)5}d70og(3)^M!+Ffckw5$TaZPOs~$cmUNwzx z;;BJ)=2Ci48Ki(VeeMG9QEtuEK$kOmFO-<5|K|@YcWY35#*Ri7F0tM7m0z|L7`k5A%GTI ztdnN>8Zq@I5Qc1LSq!SfA(Vi@tJDU-v;p*sJOOvX>bLIfSzT*CT85o6;OT1@=B0~@ zKKxu6Jgp~!JDJSvh1Ab}{HTV!mO17HsDT|!FsYxjYrRg|wGDHt`8a+qu}!Vp$5<(Q z6^nyotBk|guY}w8$m`sOSZdIYQx#YzsUtf<1*Z?Z{E<-F9&_I@I$-)7HV|jBcB9}ATvK9a(4o@U@+-bPr zaBBLVB=ci3po$|1JIkACNvi~b%CRAh-Pry5WNkTHxZNVIM;m~S{&!%C#~n??V&&KH z`TE%F3YiL8Ob^B`Oj61$HHpnsyOEw6*Xy{cG?Eg7*yh)?bW>XEH@FPhdKx88o<6Zx z8D}4h`i7m|ogW`$X``c0q7P9?`hNZYK@cH0I?du+ecj;h18+{aXc zP0tZ-8#xjCCMsH6JXNbvTl*E=b{Qk1PiEHHYFo=1>-ziWVWdV-nlDScs8f z%NEwO-MJVKQ67b{WZ4CUQ&%L_f^Lt`l9Rw-@|CTX<_z1Jm04*}6$`k5wMi-kZ~#7* zozK*>-8M@hK2j}*rP#_-$;22eCr$NBc)Hcxw2EVUxCR#L2mpua?O0M4wA0t_f?C8d zkG~F`br(8te&+qP^iQZ5tcIb~2<~h&x?P9R_ZhOcbibQMpC6m)^=w6oQe(HuO0s39 zYw*p7%U(0nomK`+-B$L4wQ1>use{4Ys~$!h(p0$wdj-8;FvndEng8PJu$a& zS8?_xxsJV;qeM;;OA&mAH5@k|YJT8xRA$TV9Vpmg$W_Hws|H5_W~Orj_-3^Lf~`xG zr-r**91{C ziIo-zyp~r4%NrOUbpRPkw&qkk5=#an)Jdv?sN;H3pUmWK;_mL6FVaT@6oj;C?pR!M zJjq^bbK9*ZBQuVnU06jChMrR(ve<)`k>O9Qa^~=swQ8DVbT%9wR*kH+N5<^e>AX@)*44KO=(3-dgpN zwnrI}qb!kvQee+&2w;*=s)=9_!uAw)moDs%70rTMce*9i3io7^?mrpSzLMRJBFbz* ze*QCj#@&jW7DcCe<$934xl4gy)2JqrMuslc>4=U*jR)l*+-Pm}C@xh(@DqRt05zS& zkO&OIokOIiP#7YYrZmbUu-^5){bb+!z012`izhxH+@0o%wi_Q~9iOEvP}Z|fqc$07 zTav#m8m(-Au93su>Gbv1{ysN!xV zZ;P>GFRr!&Aqce_U&UOfR`$JXi5u&2*5NW^?l6f#RjXYdy|3!TYuTsqO25;7++xTw zEh`ip1A9#ZJMbBZumbJnXxOIP)QItfDj*?!Br>-iqiR?JKmdSf3gi$tJoG8r6J=@R zaWs}>gBrFh$g;}J*7K6H%{AGVf~)&-%GG0@QSrePY8if81!dT+gq5sOjzRNdCwrAK z|dc#UP<%5(C@Ku~7QcTE=%&ZVM$@g!FVuKlW7-O~dR~00V?27Er<0`kyl~wyf zJ3R2hpoROw#)`#zgKI*t*UuqusYvQ)Y0n$jiV-5vwb;xL#!@s9_MJy#Q*`XnyNgP5oo250tsMPwoMkIH_4X9g*Dp zovxoTlbEJ%)`TmlML!z>-T3>9l`FuMt77*YeUF15k=t<>4H+)Oj)N_d$Jn(_VH;Mr zj)rs1%Iy;^j$x8?v0gJIECT`?xVWOFm#{3vj~!f$QQC``z?O{8Y)K09+JPncBw1Z} zc%mx7xjm-QdZE%iGWSgS4eq9n*NC~R?Rr*z9g|b7lE+odYa6FRb-h2P@M+DLdoam0T(os^EVZ67G;Xar8Cl1CtW=TAoCyNS-Re-U)a~MYT?-2ty^qb|bN3~i z_MBxID_Dv=)8cH!WUQ-Q>PxO;g37{B(b!syz$&^8TQma3TOu2lmavK!P~*&!&nqzV z@fRpqj_?&*^1OlCCY>@{HZzISjGlS$RAh#_nA%OdVxSkPNMlgfZO2D+oXSr#T9rIQvMbsjcM z@hCp<#7Z!wAZ{OS{Cri zlH2*mY?34m*s`rY)6Y=)i;RIQ;I|ED4}U3zmMl)kUd|4_I^|n*G4!b$mh9nTfun|N zism~E9=-Z=$9|humPxVIkYvE;u4l!4djpZq=MFOkg4i&ySCqT#I-OYXvdXgZ;+8@x zW-AosSsmTd2l%W)_bI;bQ?TE*Y)hffi)bTTr*Az6^F-R`AHVx*g{OHkQl1P$7j`ek7&WO7=as+3Kb;D-Lao|-72`6GAu z3&~V{{Tv4@-0g-eyw@5?SnmL48<9;aU}l$ z7BeR;$+492_-wUjg9`+qFDafo5&dm5ZlVB694HuV1h78TFjNaV)sY z5ZDW3;q59Uk<_rMYOGAERV~$7B`2dCSCr!BVk}NV$11FA83l*|tND~Nk}QG45k#-7u~!s*1k2B=qq~f$JF2{cpcCKor%thOWA!7}w z)W=C*nc}hZt37F@r3Yp$t1d**ik&QkGFh5fudz#$BMDf zU?jCz8XR_7)4Ve+O*{t@ga~eIXl<^B+(Gv$EOssgp$8Hny*~3^+Rmfo04{8HaR_f5JxcWv5uOb}r2Jb5WtOs*kZe##biXbh7y!H0~%MaXyoc# z%;IdNX{4H}S}!eG9nou9i~8_Ly|I*$WG1P{XEmzz=We>te(N5uO9yV$0=;-^R!qe8 zlN|#wj6#rOs#i%GM|Ye^OF5BM7-X30ki4YJ5k(u2#?aH0Wsz>ghNh2TWnutgPqmcG z&&YT3+$O@xo`bmqPVq+<=?ZS7V%xWKv<@uwy|8VYzH4dd2A4}clf=W9)pSqwJb0Tw zM?PO6vE}Vto_VE+BS#`*Y}Ts}Ya~%D2`OGl<)^N0Jw~C^-o5V4u;#LjiKndTT3O5A zlOYZdHN9-Ns?BQ>mmWhE_%PVpHDGGsJQ3WMXDir_9(VD1DxG%ML@-Fx>e?=~vk;Mo zS~M{oIEyDzS)Ek;F(jWE1hi`;(kTr5lj|O#QD@LP4S}A!wH@!PJAYBLF^Xm5lLx0J zDy3=V3ZOMQkmEA*{DgdQw3E;FuXjGpgsGJT4AUz)3dd&QwYDoibF~$in-ygVJPHvL zDmZa%k1mmm3COWD?8SvO7@=eL9-icM*V;CX(zjLR>1H<66g4elJJX#-@YJxFbwhTv zxVY}d_eFT@Ri1p3&1Pk+!IhB4R7Vn(PxoJsH}di|Rg312sN04%11SX(EQPFGp@=RC zLe~cX@y8>9&!0{XiCW0-oBoZK$w=bH+q-Q2W7xx1tsJo6^~<;NIQjB3A$jCBpsf_L zLnQB5rR93-8qCfbyJII+NhI|ZzC30h1FB6z5KNzG$mW0H;bYHp zMqWhRCBMbtqMKCWtp1mZM-<7%XwW4t2R|j-jq- z_&CLbQ?>|~D=oq1!CpfSQmGceyY zxY@;6V6?HBD!h@B-iZ5Jerr_I`eT=?7`2ngYP+V*vQ|os^|&6LXYQSSDqEp6f(fhV zE?Sc*6^V$I9M+K-M=vQHWib@1$B@DsaAqt;Pg&LH$wOV`r+-YfRa+gfVxwjfNsz^5 z5hJi?Zr_|*B^Bo0uxDmIH?)V4@ae^DUxwT_ZPv6fxC zg)bu53Sdvc2v_!A+}P++k&kf{E@-%d>;V#1N@KV zl01Gt*m(4%lA|RX7Aj5J)7P^tc?@Tj?}YwTc7jBtmmHvPBay*8CXhKCgX8V|A3Pt= zJox_r!-M|-UrUUt4%PrwiVMghtT%EG@9}5cbt$)lTbSK@pXvMkzvb5-jyUn-$mN0l z3I6~b4;+urwENCfyCk~rtc;C@ft&p-7)$tc>o_Cd=BrxJ_qB+ACFk@J%<(ig3VXOpY!BW>#^YR$=l1U(t2~`W++z?9<{HgGGJoCUDl84r~ zMgaLQ$p`K8{{WfgxjYa+^Ut3?IrY5~G5bd#5y?JSbHMU@PYN6J6{{Y|Z->DEIIjRO3W^#@2?VMnU^BIC z2ZdJPHzV$Ph&|Hlc}3}mw5qmo&k4YEEYW|I4)v2MzHRyL(xHkgn6j`*c;J2%=%|dca5hVT1JiX7!6}B zmB$Wva2q3Dv(r``!1-bbrM9UZ1OBV(S_=pOBf5#)-ZLibgoMhJb}R;K_nhO=HQQ7%%K;66}cdQ6tN(I$o~LtMKlX^@ljoD`Zl|-aaTkKm{{Uw8@zDhY%bCq<*l3g~0GSR$ zDOr?x2f*W!3H*4lW7c%K3^fcOwRV|NHJa`SVtWs6F2_}VW|5HuC9)Jmwt0}M_NoM) zIr!{P746WjPb7d90v_H7VnG0r&m8su4;+EO{{V02WfSfWJh5N7NF1*qazJ6_M;*br zvz8lOGDD zN$*xbOgz7ULw(?%&yE-s^^sS-%kWjy606K%d%^p=fo~-E`$ybVka!&MQ&ZZ#lxmKX zL(`tOb$ZN90H?I?7+#*>rDQ65tR}IC$z=>h)lkJ9*kmKP34tNKXFlb+K5QCw{g?D6 zEpxq<>dl+#ef@{&-?(_#-*JG8Toz$rah;|>r{O9JoQ9#2>$)8;Iz{htwmv&m3IQgW zT#`FluOQ!h>MP|-XUM{yRZszAwgFslt1Aa2*E|4z-TH#?IZ0@${^dooRLUa5Rr^DC za>^Ix46Gt=k&vf<-U(M?ysUXjGVodeUf^}ODl!Pl(&@mlVhR&6duvohr znQNFY^%YEbk$9FkZMCOT6)Z+WKd8&8p5itxq|vRd(#K*tchihTg_Be#eV z{{X|6Os_4x{&HB`!8yBVidZzTT!xQQV$FeieK zw)-~~)N0AdDlze<#g&h$Y>lEg$s_b4J9(@q)oo95&H7E8T-~}AQ>a*r*1_I$q&>DDTi*b zD+<+Mr$&MYVz9vz%W_c4(Fx{Y9$1!8vv$AQ9Ycgu+P<*Y$=Q@m8`+vgwInvK%nN$ijTl1CEA~@1~xoqDT^V2>io0&eu zlTwt1DdtJCAl9y|su)IXM|$L4b70@2-8-sY)4E~oBWl>RsJesJ9WN#BA6nNXp|?I4 zrk0mITTvEjSfyhKn^H%Kf=g-hiKd|>%PYqqMP{%oU;h9}sk3{IPY0^%dM<;HtwU;u z7Zy55_9|vYr}ET~BayXj@%K~Zqy*WDrnIjlP}+{uR!L*9sfr0d>1)5_I05MUrpNFA z`$O8*=))LgJgE5+yMxM~vyuVx>a!rq+J^F4R`VN&2^d)6ei@4+MxhX^M$#Z(00tpc z6Uh~%YB@8@pSX~?x{gLLy0aW&HjegzW}1&7O#%hqO?sY#h?uy`HbzEM%?e69);n37 zg2pwa-M~Mj3*0!N(V>d>qt-{dwlZ5rR`gb03{{#j8kBKWaj{#i4Dm&ef#dC4QAZ=r z?xH@~0EK=aqtx%Z^(!Hw>=`|p3??q-e`l$J$ko`}T*K$D;UUOlY}uzCQy-Ly&3u+& zYsXYclCscz_E|ow~xlhea&_aDCRwe}kQN$Lj8wA2`@b@lq03l^wr*o^!WLiOUMtYPjxzizygW4TUL zxg}_gt5E$av(Zw*jG1}g?=-R1re+1rdJx6LvGBc|50kV-!pFlu;d|S;=i#UWcea;UZ&C2-YM<=`2Rfs3r=gEHldkFAPj~wtAlDvPp z9DsOJzFAnJ@cBrkx6N$2*!C9 zy?{fPZqD?PzSfh$V#+x_6#?gg+6l1F)LBiQv2?2Ma4mn^A42YYpeSehoiiICVpJg@ zh990tQlWcPo&;{4bVsRuP{>1v>Gqek?N{ygr)Coob>W6NQe-V>Cp=N(;D@-AEQVK( zH12s>0{07u_mk~pSxn`OZxXa|+qh|nR2xtdOOap|0=eWH=;juN?XKxC zzm*7^8$F~lIN1E7SIT`Z_;>o_}^2;wcu^F7GpH7hSXee&8sy{EXTUnU+0Iqd%c zrIstco6}u`+;-JjLncdjn&!EreNsAnZn#QCEZeGG#HJZ$s9G=)+s~>001NIr-A7gN z_B9_=6pUEQWXK7vt+p_3gOl3m(R>!uxHyrFmvWUkQ4~vIR8aj@bWY-+ zj(z%KYJa9~{{Vr<$DH>O)c%qCcEq4bX2xxMWjyBV@dBix>U!hd$t2}L;wMi2Nk(AA zkn(LS*^f)@REJEb)E{%33d#U0wDGvTTQ{=j^7B06?YfpSR!HuQ*}G=twz8FLcg(U)G{!I)`w$Kf2BvGL zKHmM3U`+c&8sA+#$wx3sTBXq09-VaE=76krwrR27($3_oO0=bu1ztfEQHi9Qz?L}U zl9tW7HpYR2FHa*rKOTjEU?4dtPf@^Qx>?cs@}yR$hFYB{ z=?)r{4;iszDV4I-mn>ma3-ejCX6=sPREAT-mtyG8>EZ2n3~Tjss+$M9PO8zCM7gB& zUj4ilmX>RZ>m?lDP_0HxxYuqWmMkQf8HBU4%NrFU1nZYwI@Q)$X^x@p*^IUtC~H0s zSfCRJreSNncx^=vBT~diM-5b04r)6!Ia)~hm5X;Qj6NQphIa*SA%fqgdp7x!jA^k0Cvj3M@%#yRl^Z8?X@2&fWTo`^)PUjD1Z108j*xm5V1U*? z43e;BUgSoRhYA3lovLYiG;K6t@^kXfm5&?b&n&qTGO;0ylQ~$GH%Tk85ycpGATJ#* zYTh64-j9hsc3uuE3}d%+sE;(#x%9;!n5@q@t8|AY`i!eO_!}v<+hcDSTBkuX#}DuUBiTXX7_Q?-_zSq z$LY3x%Jo9WN!wA@>udTprG(F8DDCU1V(Y_-#fQRI*YZ-p_bcMXi6wbrX=I(d+2{F* zjXl7Av)V68wBEGj`e)PJMB3j>Gy306x+4N(ELO(nwyfC*Qi4AI4^-vOy zI)rZYF?iZZ6>9X>7@>^-c6eSH(sh3o=Rv4uXV0f#;7I2kaY2GNGleYCs4=tBfW}ET z+B9UX9kJFr!PM9kFs_jjd45hFF#(WC7?aD8jll?Arc&T{z=woP;$RPl@2hWULynVQbFJ-z2oDrHLc&E8O8FSXbZoy_;U~ zdXcZ{-6`BJS?Df4mJ&T5R>r|TDwXWj*yXL0xu3>HvE9Fzrs6ud_p-B6uTkX`6xov4 z^+8&fNji(4y;{lFGgPt4O`92O)ugLkE1~XbRi_HQgP#t-uOyZra2oo*O3!IHYuRS^ zE!7#J#q^7&&ycZ)xtK`fr=81Vd*sMwOtuQg`#uQ~!b}1|XCWd*7tb(77J7dK@RL5d zlbe;Rl6EXg6r}Pw9$0XQ z9FRyXNh4_8LV*`4?AxMNy}A2tZFf03$JNcVSCb<+m+!r(Ynl16*zA1?*$2s6A!;?1 zmbv)ldlJV03LsBUvf;d3>E10U7i zw38%EoD!@T)3B zXPp>J0>sMc^xyg2H zXJV_8r6xuza)$vd!4y^y$s50I?cwaWCx$2)RY;aEFP2jwj%eg2eac_VBoVlhyF!Z; z6jpiIQcpM3SCmj5UjAwvqqsoS7HLF5)h!R zuKEkPuFw#mDBr&m7d0{9iZn@JW&(8b*~_c(x*(!DWIzCK(g{1eQCjyQuIu>}v+fsD z%HVFn2C&+vU1?zIWa`n*LsDq4wR)?8$KQh+XlwafG~>uvTNG%|Mn{$=c*%Jhg*wlM z*lKNCGEtJtR@QF7G1sc3lSd>H!(LRLwUj9*$0QO(H96w35La)I9$Dij){EDD`%3Ca z-mA4sx>g>Y=G^ePwX1Itm(eG$^ckET+7@B4_3M)jTD?j=fgqI@{7W2_9$!&kzO5fM zwPAG*zI2tMgQXH-@tAzZw?(c00Pqud81H=^YNeYtmN-w>nURt>6c+`@$s)T*k0G*j z$)cJic_NI+BLz&7#Ch7>15tNEPceMZSobkBk@W9kgW9iF?TH&7r|);C%Je^F$Z*AJV>h#6EUuG0lF0u6 zN;VvQyjnbwiEc&#lhD0u7nj@fnA}#fk*Tv)Kw7Wib0 zynV%rh9++xE*k9E{H=HsB}ztyN346kd83KDW&rXeQaE_qfT|mX0gAHL*_f-gK?^C~ zfkMq0kwY7}!8BBxVx>q5>`vPk)#s;bjfpEo5p`)4Ig5>jeIv~B$qV0`0I)Pzi(7kd zx<|P0YCEiW?XsTJ)12pb&xX$7@)E^|&DK)C4gG6s#8{INuu+jdDHhEemZB)gjS+SP z5&CcHmF{-~ii20`MEbv8wAkSlW!E~xfTyvDYB7ww6*A%_%VUA%zpVty>cyFdJo3ir zue-jY^rH_COZOaJz1FUbWa-qolIZtTD4mB_sr69HFU_sll^-XlWus4$cy80Jyx=&LD4^O88aq@leZ^xeHM|{2+|~mKIu58Q)q@e z61Kve6w_8g`=DNesBTCk|!X z-ey#K9o3ukl0{PxLsdB(_0k@vew=>cZ6qB=>307B?K@`3zhv8INw5C^ueyGdNI3cL zYMDb{EfsH(iI7KT$7Dx^2Y^m3oAl7?@=~?bUuYdn)VY5hUoI(3?>u;}|rD@axt>7Wp%Mi zNWNq}ypbZxk_7{j3H2Im=(1EMW+oO`NYMsD#BsApwJhyCOg!fR6#`)BMG~R8=+yc7 zhCun4&}6ZWyx9|E(hdLyc$(Z_Dt9ou^w}e$pF{mczfg~DmZZ__b)TuyVzI8Z@?9+J z4R7_x@FTydTs507bc)u)iKl zsovanCh3mdB+bgnZ}uB_+n6C>k>2SPijN@VkG%IoxPR1}E4|@rYJTr}G1K34y8J4& z&cm|S{{Tt#N{n5oq3Q3q3enk~%xnJua&N;hXHbOpvwBsp(jU{G+$4?v0Azi7-TkWW z_WV)NeZt~S*VB=0$YiNYsd~&GS3Z#NcPn3G!LG2!)NzfG9NKh<>PhojNMxWl7Low6?Q5nIsN`_Quc;cBMn6XG zt<24-`_1^r%=jPu`Fs&2En3^7x<8VcCtUEr$(|p z_BuKGp!+B41PqGxA=!2fuci4mQyY9=Q%hyVd=(}PN6Q<|$gkdhM+zK@eNp{6{nqrm z88*{jr+@aPpdd3r)NY35;_9BAHEuhS)R(oNsK|OjQ_tpA+bP~;AUe5Y|rsS~NpHlEvb6MtGwr=|7wQ5fy9gh!WP9uW$GHbE2svbhRb4XoS z_Sx5Nh~y>4^=qX2?@uj57a=x%cPm1ZfTg}jGILgJeDS*W6q#%+Eyy8=9t*$JD#gmW zN9ogTF4#%o_CugWLd-KgdF#VpDRyO4k~tD^V6!cRh=)Rjm4N%bN8KF#OMTn)V-*Ib zI)^7zx@{OKW2PNv$JFY6k0cDevOx|vXsvo|e|ndT<;Gd9Di$&$qbNS2M;1^<5kRxb zceALG<0VJ{Cc=z82f46ntTzP58qS)tc{zA08bptNTyonWXw;3c?QlH3#YhBi3r4$; zHfT&>a7c2)vAE?KNMZIr0bDl?!$-=H0|H4LpTDPi%Let=n~}f8Ej{{Uq@DE1{r{{UZh9S7X!RJTl)N7}brv6s4ap6NYJYi7sm zbK%1b_xqElgv12H#Px-FfxBa_#zbYFN2$ z%oG~KQG&#>NeyvwM4Er6iP@4bnpH_9BaZTlTar|imIRIo@&}UNo_l`LhGXj*bINhrQH?kNh;uRI!;!24Sr;KA5~;E3jJUJQUmZrv@cw%&lf=+x5XGf@ zEci1@Q3jo3k>y$gkjg5niaiDlJBZ}=j?xF0=eRc^c>E7MkMrc7e>`WWa^)!mwQgFh z>Wo8Hvtkwm5!=Hfp)1FZ19@NW;1lZ{u{3Pava&pG6_Llp>cNO{A|JU}6ybpYgU8^5 z>#C2q6$F#^jyT|!Z?qrFc_0Qq+IT0E_WCNqH$pZmDN-wFAo_jmRUhr!paC5n18!Ch zpxIzS1%7DQ0NsE){kpjS0Ms+xKe+Cf`F-&3gQj8S==Zm&ZR^;rj{H~&ZbQ*+ zB9zw~2P4ajY3(ItnrWJ$mSV%?cl!tq&*~fQ*wxd2ie< zX>;2$F$0-eQpE7g~Y3mKC*P1+gt$T?=+rq$TZH5VTdG zns!*2PMe2Aw3+H4KfqV$2cmSENBWtt@{h(>$_4AIM1w z_K&mx0VEtq2WVohpdJs9Mx;zhKc91a!0n|dr7dyeUo6ar{~XRr}9T^xht|Si3tb#lO9O~k_Y7T+vNB~c_x^v zNh{AMAeWh%M<Jw!Q+wOk5Zm_A7GK>cVfP&9ht1{ztrCS!9M>09VXDFED5@zd7?)> z_#OWMf9=(?`!lyPex0AId1w{XxUaxC)#avCz1oFTWnZg zB=PrlFdTOtI3N%16-goPbIUJskHbgBa~%5=t&2(tbm1XKpZlbAHd|EdrAJdRa?{{Y+`2;Hqb@RDPd<1P1b8R8?uC?70ESvVoe_Jur^1C3*q}7a&kG-55vz8BT18^L%m57Fcwg;z$M_mLjpo6pqU~n2d!ukr$KM6i7RxV>5r=GcfJpn4T1sl8Ar; zU7dNQEJof%3OC1ZdgGtAJGtd{n)@G%KG(pZba<-xQi{ACuP1SmAkoKiP*2NZXI^8a zP9fU;oyV7W!k`4R9th>pS|6O%P9m>v(0cg!9iwRQ*ti2N?4No%7^G!aR2&xVje-K~ zhtp~(L6T=)--?uf95xk?#VwNm@ zG$u}A#6c*8H+T$#>Zd}^7^&hS>fNM|Q&PJCIqW-qg&OQg+wuv%;MSQB-<|}MSd9qV1ixovwifKviE@c7N);Xm$ zW2HhIg<3a1Xw_(;SEZNOBr2D3GXvUfe%$V^)`$>?_(y8h3JYSAp_=82PSN+=$7*;7 zUgP&5SG{fy)#u}a4kT^}KP<@3-)TOVY0ni;*bP}Fg1#pUn9HvWV+~qclF*?XedvK_ z%*tUlB}oL24CxZ^fQBcFyMeaG<+`)o(QHs4sit5*!WXz5LuMq=AGcr+1-tv$0egJe zy6H+9QCGQct>G?L9}Sr6S+Nvy-n+SHCy|0%^r}{e2$cz0$o~iV-rO3{pEIOvV=0otGm`P$8D$a#N>LECc zWy-lklC<`)7;F|M2O9;;Qo^(Bxrvq%)1~W6G4&%8oAkML z4xoFwjzNWp;j);2Z@TkasV*N=*sa^whWW8P6@DMsVA^2EE=Ic8IU>_6cBhGhEQLOq z+0DlysO7g>fCnRSq8qoRKqt8&Z*Uu#n-(&QAiJ7HUR}?mouCj%{{RuS3UAdzW3s)t zdnD@r0J|$G7fE%c*s4*mDP=mhzvU|Qx1kz~(x&+wjXKihR-Qd7;<2zjwzU+?kb20r zA0H8Z)|Yml)3d0UR@ULgb$_G#oI5GWd>c+C-d6{PwUozXtl`@n*=*HXl;}fdy=wU! zE?YHU8B;H=!$K!u{sWwyXZL^ zS$rmDSaFw^0_FW&tSEzU72l3 z^|tcT>-ZZQ<})8W6PKrl*C4ZwhOQe0kB+`86@_XT>X5}1da)VsL`0~L@y3oo5QRQq zAX#U9z#YK;k^x$yycQ0~4ZmIkh4hFW9n!Rf)dViWs#&RsCyG~e*CylPp9T{bIwUw%$Oq2Xb z@~X76D-a612FUDJTZXIjASeN2kB{h7|sjIk)LYvL|dx2J2C>_#HA zwCvE#K^ezZpq8eE@-xoLm#RHi>Ri+w&c~e0Wh9>ciz7R*rD&t6R@`=|K~oJ{Y<4=F z0coVLQK64ju^SbHNS_>K8&m1-+%_3;SER$>avxuEN>8w5qQpTo?Nym=SwQ~)JP_2b zrp22QBtegu<7bsrP5n9OA5A3AV5nz$xra*?uh@=iT5dBpl9MZvYtL%nxd zB0R$@iL1aEh=R%pS2s%WT|&%nS`N#fxqYxyvK6))%LJl$=BKX2xnz>`)-q25+oN$> zH4y~_<^x06Pd=tEb$vJ0a8)%ew;NXd{QZq5rL8JL_>$Wy^ z*L`%W4Vw|I*(O6-rPJitwTvC@w=Z<22lkxBS~hUw9JMmpJFh~eD%gtT&0>&^=i}qK zawam`t2-Gawx*%Dp)3O<2SA8dbpVUN09X~y;48NR==2Zj6yU&%5=9_G5puTDGbmDT z+w5zK_T#8Vwzbq8-fK0pMTnA2j&DDdy?WkC8j|KDw|Z%8&29mZXR(rDSzxMrAw-TZ zk*EHsia%TDrTe~TWvhdeS=+2;@tBz{!5w+7H zj(4jR%Or(}&1YZR_xzna<@`o?W$skRVzhekT&S7t%I(WFG0YMi^~q$XOAxn4Linv3 zG!7#uwrEJ5v#utVf2sSd-8j~@%J_^VSs|oW+r^LAt<}z1w-yT>9_wc&)amBL*(h@P zS#l{1P^F7CYKct}kc_6wniM-cy`lgRcKSdA zxhx3u(BO^$>L=;`YQ_&Gkm>hTu-39EmBeH4xf>Vi%|i7-W9gq2^%iERg7un@UN4qQ zMPKV=KM!QB@~gKg&`NcJj-TvuSEH~b)$^E}y3vl)z>FU!t>i4(j_rE)=9WTVnu{JP zly_}fyCik1fh6r3yt@|SnfdjJXWzA)<}U?^!`Z?L*j>jPr(Lgyy|jp7Eswjg!n7@3 z%o~z~w_d!J>_a5BiFB-4%~#a=lW#3=D?OjuDp+W2-KLk`w$py@Up0=G?Q4x|8H>V* zXP&v0qcX(do#YJAYIjtYIt?N!vat*iF^v=pIJW zJ-!I+Z;JO3Vr?A_=`K$hk~-bKr04MUGy4Ak?)ZxXQqezb*r`W@&f)SKjOk}TyF&ys zPl}Hskerv(S$g#BSE=x#j$KLWredxmKeTkSS=4%8Us-DLOODd@TqKza(q!{T9bAmn z%ybtet8yx{B-T&v^CJkoBM(T)UdyPVz46imviJ|R|Gq-B6b$>4vY+LmU3!c+w!s4;jt7~*}vt}{5 z{a+;&TGivJ3|FpF*f4Wjl}p~Y4Xdb96BruKHAxurCXh&~7_lR4rAZ(F0N{r14*>2a zjmpHyfyzIYThy!hgb+pcA!t#v$)KPD0qxR1Qhmy8JxKPs4lXF;qrLQ%Y|@dh;;K(R zPoF{2rpC3Iz$6n{;Qs&uPm!R9Mi!Q$n(wKhnn$H9*ZFG$ztp7Y`I zDp)G!Xi1QQv993BHDeuyjKeGvre90t#~|FyRY>xR0;D^7m;q+Rowd)u^A3;Vj96rn z8Fm3LsW+SDg0{*&lAzJ|{=AU?08XN1_8y|>{W;p}N0rs~ZKEFs!HL>Fn|Rmo@aAn( z2|gYS*EXD2A)yWS2wf*#I*#7`;y+Y0Vd(|{PpVsNTGh=ScH62ah z&1W(aW0N4e9$zlmdF5+y*~w*-1sy^3RI9=wf)WWyGxT?+yI)Xx(bCLzHyJdUtcOss z)$eyjU1-aT*R%L6j&Y)rS&|lloo@LS50PwP=8{@xiq8^yEj{z=xc$GVo7-E!>vr~C z17pe2)%P6MP8@tYA5U*sk?7!Y_Hmh;IC~ehjNk5SAMSMqTC_PDXtrhF7Ovs_m#fy0{nAxR3NZQ-OM)VvD1Sk#aZNF~S z5sm4-xw=aQ1*dCOlOr{JeO;doBjoUqWG&f9jcoodN2`*gEk`7e6tGP5!E6ZOMvBJ^ zW&LaRtEBXI+Q&&V7q$p4^&@4auu+12Ubq<79sk;mH0WaFiiz{hQ? zUdSd>Ce$a%wl-Rxh5m?Q^?s;zUqb2HWilGYi@ig};5Pa>YL=*F2C>;+HIqNN)U6s> z#Y2suleInAjV!HnMUD$Hq)li{KIVPjQTG)6NyJr#4F_1)DCTPPgDF~TcdwNKi<~fmo?FRJ$svvJaxD&@E!vQtk$!BclRyTPsE!q;gk!U5e4lD?yUpc;VYw*g|V!*gmeLf{fvK_u5SC=#NqSsd}( z`d3i3{FQ8Wc01PD9;QPbiL)tHBuJNWf%rV5G=e*I(1sE;u#XZ(c;VG+Z*Wn9ts1jj zxdP2)sX--+uT^bXRdzKhd`ng-tUYKxs?tj(sbYaZDKdkNCwF0zGOZM=u0?Ar zkgEd&@ywxK3`m_>qL$MsjrettZeXnKxxI%F)N%K-7IIr98#!3&W8QC=gFV-h$lB9Ye^p~E? zRZUpemRUkSdJCM5^ErJ#JS|tLwMmJ^$wmVt8xAjIl1quKY`6lE{Y)3J62&wV{D^8@ z#oILOa}}ulGHCFJ$cqs}n9kxh5ljVa3{M*yU7AZ{#Yt-FG8t*+pR$F1eBEOn(4 z*!Y$N*7Me7Tt3x8V3lcFl`@mXS_gS2iE%?M({0jS6Jds0y5?fsl^z=ra&eYqnktVY zP9XUbOns=UM`BL##SszWRA`);66m6@($UJ{&Tm(gJ-Bg!q*D(rD&F~^fKGcx%A4m_p9O_-AUUwgs%h`JlyfDH}c7hh0?AYXoe#UmA2}* z7;oe3$pMC4hZ9Q=nWRm`l3O0Oo?bP0CfNASvOrsSD-m_wi#7V5KIqxL!96z*%>OHFg(H4h1IT-!KCbqu4Jj3Hz-|f?@#jfpb#6beoIY- z{lZwA<(CxeEHXf4cqPW%sS`4omB|lBL6Njt@<$YpcNc}0aq|NtSpPjzA*+WiA4-aC)5LO&MPf0YgdYqnrM=Z+%L+#@?>$d7;=~kJ&0p6WLnf?8)ZB|V%sQoT6=a1g@SPrK)9T~Y4y3|sT;~`M$H7*Pt!qO zVi5`LVBGpEF)Rz+V$WkeutlI`%<D7I8Op@5q)K5S*@CQb$KTw?gX>Hs zrJgnoV1lFP%8DbB$-RMXvO4V?f>qczJdLyF1xS@bvW(`9m6X2Zi%*vr0u`6i>mxef z8-m!r2;ZRUc65G`byutTN@j+0Xqt~ibUIK+6w6{ta7S-_$zq_Z682R!D??ZQ?Gag0 zvb##`ixO_#Hq2~YOX)8_?$E7@&f9PGmic(Vi#`h*w_|8zJ{wAgKHB=nPp~xdma7+! zoYnl2$V{%T2`%>%9v`E92G8sh+O@3o^GV2W$plkch79*ndX?2Z!npzBR*ublOgQXs z)JDwlPaSCM$f7x$h)W%jn+wy;lX}~87wvV+u9`+GGo9Ej7n}aidI5rkYG!j%5irtsX>}94%f++^d8~GD0GF{ICh!gsTT)r3j)9qgp$2+Q($`t6MWzwJBQU7^SmsAN!1yC$mzurC9>XrZ5n3<~c23?`S?Qh@uxw355?#dFB#kWWOs4ec5hQDV^Dirr+x}B-v(oeMhMms{ZP%->)$H#@^ zpF*O72_UfKFm3`bJ;Za{_I9x34=mh){s-r2Pb81yf*pt-APR+he%Sj<5IeX7fV}b; z0)1(HG#*l-2VW}w?%|~ zUiR&a9N_)2M`mh-Fc_Zbkg~n?tdHcClbnv5(Cy@Ho{p9UBR$h)vrTPa= z`c-O-@ylN3n~2ReSxj=Q%EK|6&g5+g2gDD_43IY`o*VlZF0EQeib9>P7APekFJn2C zz9?Zv3Iekb&HclbS0R7_N}E??mRNoe3YiJxz9OO~c$q|`lqDS{M(*-^Pm)L^Zcc%v zW(SKd2h7|VS#qby$U|UV#UzY`4afOFqwG3h!tpk>iWYdKSQ5qkHa0ds;A)2Gqf!B) zD$ls0J6IoDefo9ptT@{6Z+pgLV-+D(hD?p?HQBvoNn?h52ag}6KbPac>u$jcmPvNW#V zegWJWnEjolkeJF67vw0z!!i;S4@q~gd}H812P6sPQRSUaB~YmZLmxbNC76!xSg|9` zE5mwDlMsgs0~!d!7F9@qR3!3Las`liuj)DL9b?4#x`HXl%A3kXp$aesnAd%(EFQ<- zy_0=px0%Z$JVPyg+&>Q>y=#IL4S+W!E}!*-89ooyesw~@y(BVAJ^aGpK3fwj1yE3Bvt%zcfd49u&S%E(zH+IPdpBM zjt>Kt=kPh?f#;BU{{TJ*r8p!m?0oUt`SN*C4~{uJ5J`SLuEN>C3RaC=ARpZ5OlNdzbyo;dNq{sH7doB$~9AP)Zk9ly%^AM)>J zaLX26NUEWA-m8Pb;B)SNdbC|p=9BcH>pb6xAopFQLc_q~OFFfO9spoRY)#1UN$oxf z1Jz=e3VVldp9i1q=kR=TL2oCHH~^o|=hd6)(ir~$NlvT84<{$@BT$6!2`tofc9BPq zAoFF23OFDz{y_CwDOmi1Ha~NY<&1;e>_`d~5H!S=2e2YBZvb)pspu@K{va)9ZoQZ( zxZ}vfZVvzj2ZBd?>E~F+npm__luK!_xhrH?X(*9glU4Q=gN{WkzuWZJB!QR}D$*%a$UF}4*LP6lh6orJO{CHqtI zN`iTASdv(uM;EpaZ{1<)2DjJDPPL%y*XGM~su6;UY*orIW-mp%>m9V}Pj))#JgHu3 zr)6FU5dy#hy~|L0I@S7e68E}3ymb4c(5Xk0M%QN>_f%~nCz#h>!u<8|P00AtOY)%k zTjOG&1MB0h>G*kB=-GRuEegd3BFUGNGBiqdM~?zaBPe%eB~*nXi4;#;j*XR>i>A4S zVnm8Vkv2g{mL^$EF=-hBvmz{u@)+#|kO&Y$saWA&T0{yNQF~-0@C0fDJDx}?6-i}0 zvE(rHQS`gnpIp(ba0{`c!I@+21;omZhTVb?O1!^EOX8H9!j-?A8h>}e4fJ?5wBMI)g4`vJcSQxTEXfZORwSN1=d()uq?W8iz2fi zKA}4qUvZx5wq&g|{YdK$a#>Yj#nTx)o<54O3mjFk^in)NBAPGR6mg^wMu#M+0b{ad*k#%K*+kg`j-{P;@4v5g_?dCIor7b=X%8H*$$pI3K8tjd83YkJ%L&R%n$`wn ziZTP%icw+JNed@o?mxZoduQnWFFDYR?^!+3bmLWg2eq$nTEyD67LIRv-ZEBjnsUQy zDNh%Uf~GQBx8@QW`5PIFD`CSkylTp1r0%WtpR0XW#8$u5E~4$5S8a(Ft~$m+scV>+ zqk-8gVRhVEQo~~EtScD!Dbs=&hzs$3p!zfa08yW=ld0Vady=NMd;N z-Q$y|+Sfxm2qw3m5R5`O{PR|pk)MRC3G^Dlug!5JuHb%m+0xFc*>g~{cO&%n|eP(Fi z5+zYL)kvv`hyX3=xX=)!k8$zZ}bzWX|LYunWbI$@WojOsSs4Fj=L)M-)I@xs5x zCA^mDVrkS6$kP-u*N#~0%P-2#vV5J#&+c+uw!=Nfmei73wSIhqNoGQcHMxGzk=ciD zB|gGWAjArvBcDaQ-p%Z2wc5W|z1#aS>26X4Cg#1F>tuUAVuXr*R)XbS8x^rclfZ+u zpcAtz20}ZJhXw+jTSa$Lq7HlB3UAWON}T;5K>hUKokHy4w`pEHtw+P+Qz4*(zCPV>|)X7 zp@XAlSs|Jjt5uaQN>J3NSs6pM$t)Neu=x|U+(qjD06Js(AMANu4+sAMXxn9dLaHKU zGFa5FQn+_`rdeLi`}4Cx3h+5d%lvVxs&~0>MPKQvy$tE^wT`yt{kqLhsGU>OwXKgc zf!;Ivv*GfaJ*u>$nkm0yz8c+pcXYL%9rJfPM@~kMh+UBR_xBh2gnO3i#z!Iks_JHV z8_dHYhQ?1WHk4C?-t{7@S^MFF0OkT0u+FL(nlczW1LJF&$-;&mQcNsqlO|Zi3m9cg ze5c2E$dX)n8D$QPe325eM##-Db{lK$N5p#fh%@tX{52*norR}Pk;|2kJnV_yNYT{C z15l1SGz*=~!GTpOYWF&M`c{6PeFvSkj;!^kQ`l_coo-Ji!?93$@R;QB20IT{UyfM| zeTKx#JMvFqEL)8))HC%u_Kni-X!%cXUf1^8nZ2KI#oWaG4zu#nqm8X|;f_mLD^Nn5 z_d_B?kR-^W7Wmk=KO1=g>JL)0w%SSVX0jLVFlL#o-Lqh)G7?moB!1EuunEsA!uJ+# zT#q&~*-X|>lE5uqu+zr{I(5TMV(vm&L=~x5ghcIPY3#f)#;P63D5#zXbN7dQ4=_iQ zGf)|FPOTnBWSiy4H~^PGXuqCfJL5*v$s$1<;TAa#JaDt2b-H4DTF%mDpD!OTTh+65 zT&y`pOnBxojfE8GN0%X3kyQC-)^`@Iy{fvMI`^{YvK=1j962eS#@W=)uk{I(1Myp> zjK%2M7QX1Lz)c+tmKSS=7H)f9Sx^oTcS8CyUB=5}J74MkyAKJPfu1oWRqsnAb)&QK zl0&_9oY;rIxkSpR@L5`7_d!a=FLcrRDyQl?NbcZ5FkjU0iQh{Pi8VVFsSs*Cqf)7N0v~G@d_uZdWu=pHp>$kOCc6qjrqhvNq z>r-37XgCXSjNVek$>pyNDW<6+R>sw$MeD6)hiR-Bda*x#e)@GCw?)N!QTDSfU3;Ut zRvuU{*{dtVklX3wrD?KLkB%7D;v|sSmdeJes)6K!xmE2OzVUjyp?gyH+llrk(0iEa z_MEjEx4p`5cvY_1EcV8-iz}&7%GF~en7nMP(OPet;+d1QBC4?UPQ4Y^wyoor$kW5el@~_Nz(Fj1W`qkj~udNyOSNI z0wr=!q{-f$t_#E-W^uD z{AjQv$U;o=#|S5qS8X;67;V=gC`A*;9@Ce{(1CtAEU~+iwPv+MuUTvdb~DJK8V8Ax zg<`#hJrjLm>fg6NWLmb#(ax9QaeBX4cdT71Th_^d%H_6vQJIkaO)3_qvub+Sy7PSS z!P_l(t{9$JVsM1QE_6R^!)O}&_0MaU_gs{>um1qq?h;thrn#1eIR;N>dh9t|b_ymf zSCCeFeTfezhF<9K_%ld@9ZVQF=$>3=_9%G_6HzCu$Z+ zpX6w7#*q}SVii)B63eo(sVOgN{AgwLYp9WDpz0=f6{1noZ(w>S)m#=wH%Xb!Lm;?( zH5+L3m}W+AkI}F^Oz^HG;i@ ztsPv2bbzV}oJDRGe~5gLvLMkuZ>b2mD|aq7D`eK54l$sgi)X_+2%4NY=_LAucB%`` zvUXYuSwv!P)9dcFZ|Svk(@xA_jIvtU@72P6RIw~}V7G&c6}M7$lan4o1{O$&sg}%Q zDb*T7BE;&33)<}df0pX%Kmajt1y!-KFOkC=J%H<6dR|5xxX81GGB8lU{!%pt7PbXA zECIeqVPM@fde>h5qtlw&y_R8;*|L@-%vgvCV)`sh;8KRX{l+qaMrN_tIaz*w?+%2& zx^eC|57IrWP15>}L34c^>xWCVt#_!^=88GurJ6CmDh-}EKw}W70>@>M&?R;GNHV~j zLsWW$g4uP8x))F;VfBu!s^w%}`xyI>#qc~!Asx%fPGSzgIy=JUkPlIhS+)DN@Le#w zY7rhjq=~LV;bC}Ml?-}ZWKJE@Mv@E8j9j;QjJIiK?e&^W`(A8kQ^`Ln6Q!vf z02xCmUgQ!-Zi~JoIU^fQ&yAx2r)HXpmuVv&Oz^M*nG9=OoveTx1oV~e3#Pj#w2r7{ zu=?Dw#c;|jZtLQ_nmv$VoM2Q@VN~#{NMqUu0G=!}rrl-f_W4&Q?FZbxVXJBrEb?Va9wF?DKaO zx8sDia69f3lO#Efe;}3Of?5)(MQ9dJsHrQMY{smkyf&?i3qvlgh8k=Rc+$M+K`gEb zYElRt_pG&hdF+6o>-4ou6>2iEBtuRZ>&ENbDIeV%1|g5(cs!C7mbT?aUM2en+z1Lg zKIP=8A%hm<@W7r=E5jc=S^0iP`A_wHM#|wkfd$7rDBySlkf4vZjui4eX_LuiJa`-e zJRUzE{BQDqJpTZZ{s5`7b0nH+q-5r2GCXILqRK+q;)k%W*jHA597_ZV5}OGcrSWY* z0&G{mJa+!PoL=64P@i)i+iD$mPu<&M>D|5{%=DkAbZc*YG|JL&sU>;!U4kprs{D%5 zBT0=lB~ZoGt9Fq-Ti-uT?{yN%Z>W7U+r5(YD*TNlox`FCcfO3|Z_CM&&PS%1>0rt0 zkjX2Sk#M<`8r^)2*VLA z*vqj(}Vnb8&3hr)FC7#bTYyD26HGb)97qd@bA_ zM=k-AlgFZ)rhljpyq=9kT85X`?e+E7lp0rMC*AW%ds7!m-rW>TOxB8vh?2i%#GO+8%0m5Y&%{*qr7RAg}=46I^s zXoVn<9CBz;t|WIE0c>m(oU#v9X-7p2l~A`XvtwAn1Qk~P+(u6Ic;&Am z$bhRMEEb0%5n75tKnKV`6Qcd)gX$NV$6e+BW7{8 z+F3`35*~di&+j9kU2ZeM?uXh3Po~S{NUt|my|zgwLwb!~d1nz%mbb3cgC)}annD~j zwJz#ZWwkSi{{VBYWs$=RsD9Eaa`pG6c&NUoVZk;Pu$^@2T~i#A#GOIu z-B~WjcN(z-iMI_(-cw(aNM#bWH-<=4d=lhBccg|oQW^r+xenVR2?a`oA6CR9cQxOw zG2xwnM{5KrD3fWKi?HUWW-Z!&fhLKVgjPNWse|tJ;3WU{!%Ytf1D6UsXy)u~yvG=8W=|D@iR`(nVF{vUolx;4mB# z1ck>Wg5Hez*zv@vCLS}ebt57?iE*+SWJP8|6=j8$No}Q~VgU=}qpbKd5%F|&7KeVTRd+cLN(vej$`K4KY|0pDK4kth$(^*dAZ<{;BO z-g}49DJ~igqGfiibjBiWLw;J@-n8}8gB^d{HZ-`fMmya?)-m?0w+yaJEr5F(>Q05# zESI|(GQAqpwCvP=%(~ZqIe$T(_8NxGjIDQAvvV4_31+#E!P=NZB#~Uln9EGgvPMCR z;$PKTGmR@E%D$nu%|&7t(b`0yLa8K@tJ>??Oz3h)HlcQ+bpVbDVaWgvI3yD)bjPp#ZRl=AvV9}!#`n|9ZWHPT ztF&b?bn*d6KNd$74S|iyRblqMYxOL^>KHN*PZADORQBz|gELfoc>?+QOw38F=T_fG}>gkfdj)y6Mn77mHdi|*LSW7++ zJYJ_HvBG?)D=l`*aFD zN+|OhG|H0~C1h}-Lnbq`1~g)K2(p7#Jhp$|+!zD(2gz>Gt#5Ij+?g{?4Q=J)WXzE(U7z)G z?~lRck0!mYucOiUgHl!e*;g!Wpfcl%V!#F9OCq#@ar~|i$2ZrYZ`9A*POa9@bo(XF zk9E_exB7uordo zIqyUQW06Ovh>7Q+IK)y$Srnn<_am9*f!qVTIYQOBn}9Siim z*ckSEnfFDYtC;>McCLf!`#^{iOBtuuH^dSmkU)6r25t+8xFJrwsXXWmIXD^OGEtk# z1X)6i3cfs>=r9~uEG!l8)T~G`Vl6g4y?~Sor#-$VJjkfMk=DL%x*@o7cp!GIwJ8sRT2&)Pg z>*MHI$XBxvGSrAlfXItBIV6H4k0lycR0}RPM0R~F7Tz^dZ7flt*wv1wU}DFQr1-U; zP}3wc={V~Ui#7*$ajM`-M$qK1p$Qv;t}01kN_S|_x4+8@&o^*0@{a@Y$OFLS+kds0 z1Yf2n>Zx8X@*c;t(>gcBAz0t57Zn*v>~;+_vBbX@mjRDyRXkMWmDn>calA6YSC&jv;kJ zi{N`2a90BJflgG^Lq!Y+k z+;n}9r@N-hp>4Ryu)98^oycHw_?r?WuR|}4oYu7p&t6GuOt6J%A+ugtYtIkGEE3BE ziz5?X`V{+wo7(N4b&%;bzw8THy{tCVwL!CM^JXy=wyf9sM;(*OYLI0gKT3{MI3c5p zv0{vISvd@J$mR=BNYl{*Ho^#SLeb>!AngaWo=ty<(5^a*E<{QYv#9e(2uZNu(Eu7f z#});1cSoV3o+^6@hrw11ljj~gcBddO!%LAOJCX`AMFcN$$K0XV1|+y%)v3xwUoEg# z96%+5R@RjQ30%OD{biWf!?Q(EP&)(?C99FIe~^7Te`3j1n>SW0WytpJ!#Vze)9_P7 zV82frQhG4iy*+t?J!6y)TN_SE1WM5il&s318=evhHS)JE)+u{c>1A5+#b<{4T;9`e zR*oYPa74o+nTBgY2=A8(j6C+dOX@{!v)HQz9lZbx1d6{*TjhTKr;K;wsLd_cYO5yC zYZvxB(hm2?90S$}G4?SDEDA$Os^Y$nwNEK7=eQ|~R8H0fWyjW*$7d@lrJQ&Yrw+j; z9WzdgW!x%hRj=!~%%;JT)-=6)E3{-I#p^oi;B4boeE!95NoK1BDRK#az1SEG4`{IY zDR zq4kCg?%h58qiDNgBEu1{P@c`IAPzf6)lFt=vZp8|j#{EO|j@0oAbQGTj08!>w%gx-E{% z?>_0Zk!H?MtD99i`7KeNj1pqEL#ARmv={eG9qb=awJhz&Sngx1@gE6;1{ z&iB+QE5mbZ%4BU{!)$u4PRx?6JZ^ffZ{*k!EY(&p8RySAv&=*vt(jyILnquS&Y zZ_8o>5CIklUBLEcU=t4kQ*-2zG}5(+aMIOM6uF6TN7TsM-4vxkfbrqM*dF4j2;sulUo?+F_I=C zzr|(nc*$)kw{Fz6?Cf^#NYk;Y@Wf|+k8k}?>d#TK`VMp&apg6A%Tc?AinV&Uy<()3v2P=E&@JP-Gp_9KuH-hf)iGMg z>Ll5#64teU8y)PNmFz=`$3+BhK2n7!>wznMBzAIASgq-)7|4*B10!uMvxQp}3NZ(F ztO2*Z1+Ga4q@41xywQ+JazM#)NJ%|30u#XbC;+}i0o5wq)^ob9$&i;XQsu{kDUrcP zZp5`dsUgP`UP?(RnXFG8MV_=G3X#}rXW@yGS2D`8cCDaKxJ!b_VrI(VusF=EyuQ=4 zY_(Tf#bGN&i=Lf%Ajlg9F4>vPkj+k;MLf0|gf8G&o-t=$>LvDhr|WZdA5X;Sxs9Vc zvYm3{SkZN@hkCPj0R^ggti}9X`9Jh#op*K3V{K()uloh-^|5~hNd$7F&_pxqT8>}b z4o_IGF43+GJk=;$pt)SF>^_TtuTFNz+J_O0#9(8^&ym2^jyggs82A=Z(WD@$EUFY08%nSvkZf{) zNTNF2-nW}WsCq^#9hAjvxD@IC07*4VG8(Iq84Nr+Zmsp-G!~0eR>@Cy>L#yj0~C$I zPhEf@lEhT#Ca-g<*%`Ea?k8C3#*;`jdQ5V7Ew^XRXY1AO#^Q3ATJI$*tCX=u&PuWd zghftdk>jsjWZ|`bm}B#~9Q928Z#R1-o3mF^U4I<{>o_QDPbG{#Z!NjxqqMbgxO($M zlFM!*5SF4yu)H%Wg6pQe8tEQJ=G~p$x|x4J1o{paFVqc!J;Ls8y?T}Nf4Xb9tZ>C* zz?z;__4?yAlcQ!kG@itW7QI)EquG-*IPj=LGFSkV4tZ8y0IFgE+r=HkSHT`8Nn?yg zujyJWTWDecCvYGt*5XvJ6eto82%R+0b&XeJ-Mz*gb6?+c`0Q}V^jA!&E=nsHd?vGE zEk`4fTZ|m!1wNf(a(KOack6xJUrum&oTe*1 zjmJlgnR=VM=Wj+b7>bpveI zvC{QhD~G3NU(|AjY?i0dttLhKOdfAFiH5}QX5K^Oi#>$U-X^C~-cR?8rE3=@rmoo9 zGkd;pS=o0Ds@A2S&6*)<+|)`+w>d*^SyVnQ5)>8$Meptxub+YUNy3S0=i4BLiwobQwB1 z92!NFohrwEc7n?-tJ1Pc&*|1frOh4|9PdE-udd@>@v(^5u=X2z$7Af#End7?92UWV zuQh6Ty0Ey((XDUgc;H2hSf0wNY->8cjhdbY`u?wH>LhVWXlnX4M-r6lN3de7V`H;_ zF`UlDBT~a+<;DL1!eeo?d*L%h-j$;vp=KQhzUva$UZ(5UYvER=KmA9L)a2K$#Cs{j zuI##viF1~%W9G_3UY1W2B}@&=c{_7ilKeI-<81;M(MBUGjgYJesTx^PfKUii6EGFX z0;ActkN_f}O|&^TB#c9FBLo^MNFXa70V3EbU;qP)3mdM5Ye=iozMxCjW@2(n6Baow z!)evBIlZr3!D{t2jlMLR-Y*Da&uRN^1#P*>zRj*rh{^-1!}MRO(ku^08!XWpLd!+A&yMJuEG_#k+kO>aG*^9FCPFOOu+THoLgvqRVA9 z{gRytEoagin0&M{-NMF`la5)Dg30Ui9Z<1Y-}2eSmT0i^P?D-+U>I73Qpyg`G9`o! zwG{$bey~&m6cTMo1n>zPfhDLl09!3Bb5zJ`W{*!geTmh#ou37N8@zw3GI<*j;3Lma z;ta02i`Q>urhQhlrLSVF)a)}r7Rt#aZ`+?C)Jzr|AHQ`?F6yB-n|Un9N-!8oSljs- zM!^MY?Yivt>Z?)2XRXhVr)MciLq~$5mFZfsUm#j9O+24YHGNlG*m`5t9;U&f&5_MZ zcLk^JI_}wy$6|BPTA3uuOOnQGvdvoqvaFEZ`YdC`go1^dw6fHvw^~e{jXlTP92*9Q zf|n`O9-eAAold?WpXv3hJ_neaaGDe9Fmh=Wy>-{VtQ6=tZ6Ih z;VOZp21{V(oE8o03U^s1fD{J`O%va#h2u$~4rD4kzg02w6e6)DO_1whT%mE=fcK9* zs&zYI=|}ye`-scZib`4*FZP`p#VR!Hz5cOp*iWaom8DqC2la4fvSqDDC3!0uQb=qx zcWbgw24f`MHmkc<+&a5}hiuzz*U0R6ZNmOG-Zx~LN49NKnT)ovc=Kvmq_JkC*CUWm zEUqU>get^#ewR%yVKwfR>f7f^?sQh9B+i*Ew(*nAUEOX?HeVsTX5-cK7+7dp$lS3T z;jz+WWuaRiUcE^iS`(v#`{rw>89H<|oHpeQSY)Fm+=gbRy*9ar%3QNNiC%iNGBmD! z;SE5942Ah*o>@D}S&>uZ^&2V}wy{zf-GD>0aS3LL1lR?M3ON)xq0x*P1k=wV#OUFb z_dF%gMydiY6nF7#2S2B4a%i;n`_gQlN~chIpAS#&9oJUr_Vt0rWUAl88ugE4e(SNgT%22)raz^yUR@Fi zbzhF<{{Stn*2@<~b2kh)zJ>HwGZa3JuI}X)~tg`8hc)VbVzgs+4jD&=?W9i!5L>TACt*5PfV1 z41&px!ejF}`5i6b^=o;0l*BC;)!oS2vu=h;+g2tMK02Ic#VI9Zp3D}d`f#WmM8N6x zrJKo8zm=OIR@+>j;ufCTx76LqQmZXnalF6+^rdqX{3GOoa?!|&z=HAW^mA6zG4fKY z3`?@-ZDZ%G@<}U2M_tF#iCGe3AIAxbdj=w8m_(r@jx-k-8AG8RCe3X(x_zuYS&=S@ zw#Z?Q0VLI`SjkemaVCjcR}#>|rb3I3V_`BasQdoa^#*8s?Lew2^6_Isv=e2f2svt_ z=w2;qtd9L3nsvv)mT4M<&gAd~EI^Y~02ag!{{R(Tgn!gdk8L^37M}XvGHlhVSp4NS zpO42*o%w_WUb=N2*e&Fz4w$gd4Ac?=N>GZSW^@zW1*7dv{RF5sN z-rsf1W=SwPOBt-a z`qS6_=`h&CkH@x7l$R>o#ifj*M@i^GHQ1XdRLvl1@BC0Hia9+Q9X8Xb=~&jvYk1f& zWwJQjsL1AUTJA$F7D~LW9h`OtY23BEPER`w@hHbthf$$*C@g4lHXTwMMp>&bOeDU49PN;>tt)^3J+vH0#m9E)NYo+`6iu`MC+%r--#MTY7T z3^B-xq{kR8DO8c>F=qWF(F6-5*ypJEI?jG@D<_*GP%Ijki{_&MUei^`Adbh8)8iY~ zEM6-mYNf~?mR5TUdJEODTJ{SvmTcLIXA1fmf$t;tC zNoG>D=Eh_SS&uZJ*aUOek;CRFc96vTg;4;NpbC%$_oGCb=i8$i??Y1?g}Ii*SgqBK z3SJc&|CTLnDp2Yr%`i&hE0&mnVyzD$VipCv*#X%IlY^RLS1T zErquH;xe#U$K`6rIG7fxEV03R94Cz(=8k-IoN}}^Y|1|QqMgmw9Wo}l9%lk0j)ul- z=nmMDZoKhr4ffOo#FXg#!uOfm#q(^ZaF|NOHI83KgHo94vCuuopD$Moefx)_AuC{C%_Lu1c zv^7#lrw6`YiQ|c7kSGm0hlv|R(%U6bQdrSK$0D_Pf>^bfGpk69Cbg#z7u~E zYF|#O`w#{@X$PL8fEj@Ro7`KPAOpc8ropQox3@_ovc~mwsx|E6@+#a_%3>-jo5$ocGlK08`?l!xm;zF6GKTPRv~LSl6bO zDNY$4Gz3glWQ=;K{DzgZT-Kt-*03_PagxnCM+!{&IYoHlNEhmn%UY{eG!e&J#7Ob1 zhQEd2#`b>^pn^V`*$xzLvc^Hgh?OlRU6nw`V9A%M6iNcz_j*3hOT<#>`Z*@+9?K z>OL&S*Px9tq}c>$%Q7%lWM^i5pb!~=Vs^CxYmhq@e--#ERnj!c;mX5lr^u2ejzm)6 zMhb$+$_n{`N2zR^J@^N!VCuI|jmO=q)QJ6l`KfH!Y{mJe_>b-oR<6aXL?SQ`lAbDo zl}TGF&^?$;hIjNJbr%Da(|S4V(#y2bNv3q`ZFjr$;LBd!8=DcNXOR>nD{gpFP^6%c zvM^8x3T$-SsyME`)64Cc9BIL0@9Y@5dg|n|6sDegB3LO;orb~ghP-gWBc+sJlC5=- z=Zu?4+=;wt(Df@+pQrf9(yV781#C^ptxEDS!DK8+dIGWqf+((<(+7I0 z;f17WM54^FvF=#OQ6H-JsL;k_cI~qi^)j7W+G*zV8k5!#&4tsteN!24ryVbb4%ptE z9BvyYtmJkSt|3>-&-7Mnt^73c#bJG0>6&f5MS~TRfu5y|Cqry!`ADP?>YY2+XW4hE z0%+ZYi8ZV>TrA3k;+^LB0FkCtQKIf27e3>^`>E<(A)M*IN;dtA0n^P&IP1$-sl8g+ z_6>tMu3|AUM3Gs@YxN?z7IQapXx(LwfX1`2l*0qAr6xq!7_hq)fpO5QQ@WzdZ){wE zLV;l}%dzH(Zj1PAtP-q~$nrE^W2|d;B$CKpHKG8vZK2$c(tz799Spmkvwx&|BvrOA zue0tS+$}1(oq{^CnR8t+>4rjiC#oijF&V~e8oCpwrg?yC45#Gh``CVM{<7)fWc2Ima$(c1&rmFpXB*0!$OWb8A?f3Ka;**;Elr% zeNV>IYSnY!yVkd`ZP`27{QfGfIVxAcM~;oFVk*fIJ&{?t8%ZgHxso{MtjR2DOwKe56x6~ z$L7n5B6%J`8LwJRO35j`zEXk))>1hl!xmm@$vr=O^Te^oYb2_sKKpFNyoT%-(rT*0 zgT>eaB!DqsIb|}iN8y37G84d6VZiS09i+G%0(s-f)iDrxAaIIHf`O3~ct}ZN3o$$& z4dIAiJ;TvwlJ?iudF09Dk4Czv(b%({m`7Vj&e)6TYTQMK?WbG%bmo=hJjSt!B8Qb@ zT*l1_XSEx+E0R;n;&Rw)khF>Pxtw-G5j#wYB$j4zdKjaoBaEaJql!0KRibH3QY#X! znK<(|mXgF+`w0-W8u;eB_u_|c{Wm_7ks9tReTb?)o-2<300WcW`xDG{@o++Rqc_+B z_Xg*XTl-7)qYo-LB|+pK82VACN$l`a8RTD;VGA5-B#z_}94Z19GD*vK7gXb(RFYJB zamR-&prk8e5FsPzUK1>WLRu;-GEA<~r)xa7(l7hfaQs4q2M!|{>NgT-fyH`$!SbKCwE)-hp97%`2g za>ua%cl8<{Zhq8jo}4=Fx^l0FrCtIh$ZT*!I;?8OJZ7VXhcleHC|&`EwL8x=#P|XU z9oY8q=^s0WwT^=r^D9KTEN$G?Qv7!{dbw8=Hu6rIMDE*A|CGMF0$uF_N_Ms zoyNn|gw0abrjscaZzr!TQfK1FW&|{IH7O&57&&|;cg9H4N5L=ID#;s6r?0p^qwAec z-}XJHMb)Cwv|5njwXU9OGP_x`iPbO^YvZxd*>K-2tMkQKFJ^5`A(G}w)V3y--f!xz zjEuC^Oe+JNdJiP*t+25LV@TSClesN;U?XDG2X!RJ{(O%sQdemtTGdiZR^}moB#EA9l%KcaNKvH@d&n{N0yyAuLFQo9 zJ+JlSc&?UkT{GEQkv#t4m4X}%9?*L^dzrfwVgXx#8@Te`K;cIR-yKVpG#Kg(TC5wJkO#4AQxhOal*!H_V{SPg`0QP`53CC~p51;wD z?c{kU^Wd@M1M3;*xA^4;kQdK@ymR>+c-$Et zfKRFF&sw@M(#TK&K0e;t9^Uz!At%{h!$WimEajk6F6o zlZk%n`nC%l(_LO!W9N`>=VrZ}5R>?LsF&at;B(qBZAt=2i|TR@YJv$I8v~CsYQ_h( zvyW>dj<8(=Eji1Z4+JnD`qorSB@b^Q8RrLz1Ipy~9R=Nt0;wR93iI5dRCxYd&-Rc( z=Z<;c56Q~~OA~#y;GWYG4-v&Ar~Cohiu|5AUp`19!0{{Yfwq&lQ&A4bm39Kv%vrH8T=XZUb}n3MpHG&uWf1ZzX{L01;+yt9?@12|FiJH{9yU%S@SVuVB8C z7G>~bp7gQy@H@MEKkLV=Z&q??H28&gFEqq<_6Z2CI3c~h_ID59F%w_J@)%VLf&hDa z{(1iZE9as{zp)>1bmB?2j8=)FL_)L4ymd=Nz_efjNtqmWp|s=@~g_4+MW*TJcp0ADC{v~_~-NJFfP)wG@MB9=efa= z&*%RDib@=kd%5I~2ZA{~ako*Yh1KKu)%%L87+_$9SIYq+{j7QZ;(7jiRQdG|Ts>M# zZ{l%82s}Z6g1cDXJk#;mUcyhf=DM8*rKF(>noBn#ntYa(xFV?|TzfU%m~-wA9eM`o z_9NN$oBC082FB;Lbpx%M?!E5^SzOQknc_!JzN>Q2bn0su41If>ybXKy3iR>Up7u#` zUnJ5Hm8&Dk8w%xbd7A!;uT$ISx89oc(ZKD4ZQARvQn#P5lO2PT&D2a~dDF|M(_=(& z$a|OgP*8h$=*L^V!2Xt1LvAhTo*>Js82lqDz_1v~>$r(CO2N4qc~|r%4~*g>86$mvY5vs6^Myj460EAK6ou)% zGqsGgfM7(hLXg6~YU84;RwM!uH0>iru|XwPTii>Q1dgJd54e81^-HJz=dSNvPTDpJ zAn5+RW{fl6T6J;kop9+)FZ)#-cf(T}jRdk+aZ)IRkjl`>+z1|%x>M}KeCigY{bK4C z%dK=nqdzpCFI4)ek(#VopMlvYhf~5L&79k>5|YIfINFoNBU zH?G;ft$V2G=Up;VbfyEbbdRA~SvE|C3=Y54%>!)6UdimWCb5r>Ii|rwhlEDaxv_m6 zLn^Z+P5YepH@^Fy>J81eXOcWVt3r7({XFT$6t#Ufr&^Ul(P6c{dlw(aRtRZRjwoid zBU=|H5?Qd#B*%=fWI5C1V)$_}^xP$A-y>065gACD7!hE@$C5aZ%EcseB(bz8DZ)r! zn7Q(%9uyfmyUVF%vpPYGB<~{mk;uj7l0fX#H^z#p#(@ege@PE#ss6&ezdbOA`*;-x6{W$a4%EnY6%~W>;NauC;+wK!?$Jy64 z?S~W64JuFRN27F8T*mb00~8;6h$fp00%mWg48lW^$=Q-ns$?w0@*E)hPd&`!9t(a5 zVcMhZA%6ppB$3A?0!a0k0>w`~y`f1x-+||^zie-jCf*E*bX{ceOEgp^7k%0Ol(1q8pMhS6?*_?72L?u6I|aNDK(2W ztjTKKn>MXYA)3XzGRZxe-JBMZY2|4qnTzty&g33=ZU+a}{ZZcCfPkz205>F#cmQ^( zUOa)|0N#9o&!ouXZr2Jx;J20>cBt|^w;&V8j|ag7`0ykyo9NqjQa0UdM$z@0*59@4 z`C9m#2Dh)#mhNjYdRYRcI#9&3cQY%0QfEbiylV4ELPW&P$YhEpbFozroy|&-s*5Du zC<+1Z#a~{-!QRj1DuP-^V4*_MEX1Ekt0eyb=6d?+NOihRDPBa@WMnDYM|={J?Z-T! zg`-}03O>>T@;USo?&H|kxc>lhTmJyIiMmbG`SO@dN3y?fV{zT{cj{|8CYcD=WR^>t zPScpNQx%GW7!jpEJ*AdJ4r51kVnkf0Lp`N?Evs5@b^9bf=Y7aw)(aTlXgwLvt90u? z%b1mn9e?X)J*J^+DUN7l`>lv=_tnT{YO}~7lz&%$cfD=v4%O0bp3S-DHExC7 z_S@~_bjI{sRLI!HbpD=4Wa-u~F=`8V%HI^3^u$}4=+m1mHKmF={mBY^uFSZyu4u-N zBPzq@O3gdPwi%FwZ^#T#$g8*nm@7oi)U4qghz+Ud9b+FONDuZ%_rJ=kGa#;&ayV4rDuNYP>_DnW1S+UOzyrd7cniS;l`0ja z0o0N>00IFg&med_f%yLbKaxKL@D8c8s7M<@B~7fdRE`bvvcOcbf0P0^=Z=oT#(7eG zN@;aGfI;1qN7JiapC=VU#JfoWNk(ES*!MGLGd5zAm}9RSl~U5j1VT~>;fqPy(@M-a zC7Fq0dzgdBGbXc@yeTw~{bNw;f%ztU+fL`7~=YeRijdv58->Ain)p6)uIXQE!;B*|RGX|UpPtC{M5T60*L z2+HC*Wvrj-K0h5|AyX%_SPO}xV2biu63B|GTIM8C!~}}dw1rY7AiR=Dz*4G1B$8Sm23Nc($u^;$`wfE$~1GzA$a!6jP@zmddB8EKq9tMKWv>zyBxaTQTE?& z_AG{uU4N`t$vTUs*P24(;>UFlLC2=g2#9_0MW4~-b_&JvOy~9P?{ojReX;B%FFJJ7gghD4jFS*x2J41L|ls1YN?+O8?F&|g`j< z$Lg@9YgL@gu4IXu>DE?vkgE>W`2sxOFM6JP0;xTvwp>h1JR;I%OCB&+nniYvj>QF;B$brRRE`*L zF3V%gQFdG=T$w9|WS)4Ks(?qTW^U-ya{E+KHcf#?ay(!aEA zJ9byKjJ$ny{MKq;rkZJNODJ}h)b^dM8C(^PDP)(hD>tiQ+xmm8exH~tn7tDmWA|gQ z>qAf5bGHw4T_45C6VcA$aP=ffV@b6-ge7ORE&w@CuR{;1!o zT~5h$BWcg=ISh@v^W|^;;cC^{%+@Sem1RbfcW=zBS}^6l^2_%Sc?PA^r_}!d6+A`s za6vXdg0$H-OOSz-YZJw^`5=Qw6%VC~aO}Hp_3bs9aJ)IDPnAB&C6Yan0BxjqH0eZ@ z@?#r7VSa0d?-;o@vzv}%X3AX1TD5y4e;= zrIvY3XcgA8ze=u`V0z*2YovOf%^Y*!u($G?o$9g$l`J;7UO8%s6Uwj`8Y=*}JWm1u zq?chley9C=%x>Ln>OO;)l4|;Puf9o#)i6~WIIGpb>oCkGMynbC_wtuzuJ$cE{N@^P zM69v8k=EW9(BX`YKMZ|3W5labC{>Inm36=Xsxs{MJevd#xTEny#F_pi*P`&;ZdVpX zS+yxuoo032zBrUEEh14QkO3-amFBbhpSA}yYnrYhpN~b{ZErzhc9ab1wDIlrCQC(FIrfju9$56 zXstM_Tu^Iaw{rH8)C0*_=pwNJi3_7 z&EMQdD;Ob9J`du`qaS&8K5VPQg`lY-*%#}sdjs>u+2|g(j~T}yN0mCAs8nB{`H@q< zv1ryq$?iMx+%xM|62>7gIh=OG9?cFnBVQ@GM~J&S#elJrjHaWl-MIs;iBi0AJ*09#-#vhJKKsO=a%$L*QD6J^pgZE|Br5vFUDa+G^2M~~Xa@P!kLpDOy zmo?qn>_v@LJJccc$@NOfHd3%ugv6{P8<+s4MUX6>YyxWUupMiQ9Ob?y3e=3Qj+46i zM5+a85CQ=pNHzulg0w-f31`^I%?`b8%yPKO;w-?>&ZK;`;k0`e#Jz>SG?r)hMW4A6 zXNe{#W&_mSn8{^w9^bl24qVLhX8M(uFj%k^oMZ7+s#KDHlyW{P*=7oahFD5Q+z8YF z@{Z|pe4Qt?j!V{Lk)lg9+v9eoz#EmW)*bNKtnl|1SME?%LH<1&-C4|Q*?x-qd#??; z)M_Jc)Lv?6RUyvHk}41~q)f5GB&!?AAr7b?v=?;-UItoAjMBp8ZYz*j;kSTG-yncM z+zA79o+t^rj8eywiv+PLW0Kn#ZDY5|K7eTYSlIyAzXH0g4y5E-=JB!GMo{0nSnlC` zNgQEo1Hl{)6&r%A6s&XSxPj4`DMkHYV!!qW>tb`Sp}}KVVb6LYw_cx$NgJRUgTY^@eG|;_^doUDOZMf z4Ln5l$g16vugDyjV6g|Z@(QT|yFcb{1Q7g&Q{)gxAC>^<8;G-*FOj$Y(o8k>88xt)gh{TB4xiCrO=3vhi1)mypriw*n z9gf#qMpi;WGQG?DV9Ru#JU;KMXKQsAqg$DII)Bvs6fW58j74RcusaP!i6+PF*}-PSFsjhqFdrgU%j2c^ zDQ_v5yJNH zQJqu=o@9jebvyzOHay;@QM?9bk; zzjtevRIMbd`5=I1UO_#ho=E4@R>U78LRsT}>T!0f5pDx-J8#!xvDANe@@SP}X1 zy!w^;S=1h)bZ=|I?;S4MbGml%hmmHbl*8O=_iLo_$=_a7jP}{7b~aeL8Ij%gHn`K@uPMSY?r-KT@w0Owme8{Md$7Q7A0if~OW#Dyg$|+*dyX zYukg`=lPirS~V&jP^@C)c*i!+TPP| ztlccl#jWm|9%?OvCr2{rrW|~lp4W!RNhN!BadJhCmYa(bQ;-?>6?fGiWE*BLO}Ewl zf^Il(a=jO%f^3G%p+HXSr9(2y@K@?rP9#RywV8)(pZdZ$X2rTd#IkmTVsqavBHmBi zC+XRdhP0O(U-rjy8)>3K{{RA4>J~!0Zz>jE)L(`r=ayKzqdm-{yU+vCuAucNrJK$t zY3V-uu=M``agJ#qi(f*4e7{??`#lZnvR@Q3J$C5MqWL`&bI3~a zAFS#>O9h;47_6m{1eT}I=+f7DVtHl%07=Ca((cWE85E8c>J&< zjx@?LsZgdu0bby|jtLwA=Z5@n4+o-- z+}wEPc~c@Kkr~)Jy6zl5xMlY24PA~s$(QZz9W>pfc{aUV>Dj4>GHg0*Yx`}9OLEiP z)$F;i$zY~wF}7liclSkIc`8z8>20e}z1=%Mh1+VtvDjsT+<5G?HRF^Qd9hcd`AY-@ zm5NDSSP;J;1DMQ5+N13}_YvAuj^7}T2>ZL31>?^?cpP~n6oL6J9fW{#tgOn#i;f3y zU`hLmk-_K4{s*GJ#PKCxFF#C+Dn?pNxLvSv)yNx5`D*y{4cxZ)H#cRH&5^5zHaM(I zsbfG%@}|6)tB*<-VImJJ;`mQ1!7@%(+e5qbfJQ5E*-b)7lct4LE__W{DKY5S;07%Q2J&Om5*s&6H zr=m|Jb|6S{wP&x>j3fqZc1|=lt2~NCjR@vBS-#+3v(PIpz0*vKJX5lT4Fo*;1w!Lez{9!1)Zgxk&3@ zqGXj=6=+m#X253tn$ zy3LEef@xdrU`0va=0e4|Rp7GlIXt%|opTY8#<_;=I~3&QM`egv2XSvaIr~ol4mcli zBaR8@)O?*kQo|LMhb()x{$nQitI)tKsk$N!4pq&A?k}y;XJTZFhaxErZVS4f+JQq& z{TNvG>q5FSNy#5-kXQ4`?cqQt`-$Lx9lU~hJ~;GW`-!JK9^So^%V75;-8||$)8#m2 zf^MMQvf)^tA#Oc~Un8~MiYOFx?k?&-1kN+id`=2=T@}LP$j3pVt0JvYc_(G z0d8wE+M5S!6S3RS`tqOmxRW|p8T*s+pk6* z*7}?5r$72={-QfR1L~w-Tk9#9Y@1-KdX7Hoy@?oy6pL#e>JDa)#{t8>$2gq zHKLaOCiY`3Pc22(yi(((PpN9xx6prMy-jKV0PJ(!&coA8+{Mz4lkRh+wlGyDoq00-_Ip9Hb)^w2WXA0G{5 z#Ky>6jBz6wk(TdT@HM!)HdE0>+D?2kDBOSm2#E*o@U&rmcJlRXv>}oiXKx~+p zZB8-Syk4uA#$>R%^wpzrUd3zq>_#paVKKCD@b;rsHP?yk`=a*awFG{mdmHJsYl$pV zrdy+(MCvz8Z6uM{jha=VoWImu0{5XIQY=()#oVGKL%ayk8GYBS-D%#N z>i6py%;sK`pXozObl>w8F_r{%keK3%hP!`Zj~iYg3evG(9&3gAIQuuH!(lbtrnjSH zA!)V#mg>*c-llejU*5NT&NiL;I6Hn^yjY8Q9d}FaSM3tVm&ijLa$29dZilD7*mis# zXkfk6QN?C%>HH+`4|IVfRDw ztM{t}2V&yQ3am~DP)cs1N!td}OE;tzXUTK#z0~`G*0}QE$lPL<89@mq!74GMCD?A9h!tBRwZ*>=pOC`H(ESP1@1sL$Z<*DG0PBu?n##bUMESnQt7h=r^mpC4B3R%uqpG->a+i#VF%NXn$H$q@`m0PJLT zQ^)`i>=c9A!3B1f7S(fV$8A|B*r04iN|su9rK@VWYgi*&>E9PZt$E`QR*fo4PAagx zDPQ1%LJY~;JxEn78fB3xoRin-%5a#MK zAIf&sU0}mAvVjJ zo~|a$;?;R^^_wFtxEjTK5_+7N$t2et&9%^EGB^#hcv8E8ElozfDYp3EdxFFIkTHmO znPi3DEy~QL%C^c%_B20L+2F6aoH2Utud8TOcde4Kvn&!<$?0153Z=|s8)#%-+b?dE z>^!DA*h`4*aw-z`Q`dAh}~4lo^;;rfHhx zt^9CJS+VqEs`50BjRe&tY5V;$b6G6iIc?-~xtwMEuGcMmpY8ZdO?MMV3edx69e_u# z-CmfbB8Xtby8i&fH8m>6NYslI_T8%K`fih(>(;@KrzPHpPl?InE8O|zt(@w{%Zg>` z#=ntAU!=JX6Eh8+;?$7|YgoqNW5eWQOpUl+dFawk>LittD1bDif><`vIJ#g(o!ldF z&+0KHG2=qgv_e^2l~BQ0Mo$}59^f(Mz4;_<;1YWeNpu}*t^*H~f}Ve@ns%XI5!8I_ z%RWmNo!K*1Y-TgMrdA7`hNfFzGvTqq_^#D{q6ZED1ZB*Rp@qi@>&F9MB@(&LLd z*-Q__iBA)gy+Vw)EW<2ljO7z-z>7%09^ZNOW9MY4@t+EvDDJWJX^Wn*=ur zr>;Rg&f4*bV9401n74YW*O9F)M}ejI;*L&h5E=CO0^_SOcVTLV+m{VYFWhrSitq8# z=0tPG;yD-*HGsUe0=KvZB~?_CIHAA-haFE;w2b}>52{n4nrXUirQ<0Iy3Rj4H7w4< zn4VR&leJ^$-dXZ@<&j|c>x7%>X~d=qsw0+RV;Cs9afruZKh&#{t2Qc?9=7!+s>_j& zdViYW?;<(;Vkg`k#!)=94Cx zuD_1Ee`5HuwBt&e?iLl7B-XpEhk|T`aV8TKRatKwov5lqB=A7d7hO=#P`jpef@Nv( z+b2-ErKjMd#F#bM;MMwjtYa)iiO0)AyosE7TGBwXO-6c`Y-DwN5n8hg;_#Ivm|w$LT$Vm~F#8Yek8bPI zVqo;Yrpwg0mWDqWYbj#1^3*vl*fuP-KD@gYQr6uANq-?m8VC){q*v-vrG$$Y zt>Wz0#n-OZ1m2$0mnEugJC#^ry_%93b@P*WvKb7Cx3xnqDCBn5yCU%M{c2ne0@dkW)L=sHQ+v5s|7yX(QQs#gl1y%lFZow1|+hoJW zY?&d&jX-xG3n!8agKRk;s<`97en(8*U)s)g^cbODEo5OnbdHUxn$A|GD^g8w9xi_0 zlbW^Y6TX(dsqT?+lVmLMY+-XX}G&gn2b>PdSkl3EpDKfCu z#?4~2s?Tj26iBbfZpD0+OCruXH8#`Itq*hEv353_SFwVNkJQ?K>9J()`uTR?N5Zc$-YAl69<-{UNboqNSUR%GUV!AOJ{W z<{QzdTcIrd#+b(ZRh#&d#sV=APst0u-Rv~6KjH~NWN#9Kj>wd38{E#9t83kAlN}W-ZJl?j zx@K<`i%iA(bZ}TZ`8ei^Y@Q|Z)mm&8P|qvNg})j_EjPPzls2LgHJbHvj)IN~w@@%S ztgI%st%qxH7%Nq|ifk@+dkC>n$J35nKXwyfM2K0E^t%liZ04RhuF|`9n)Ftd?Vo{- zkjvAKnwo>>e21gU+*(T z-89~*C5zDEEJ<5CilLIa;~#rt&c$~ZSW>eO*51Es_Uwi#8o2`N@*`PnmM)iS(2d(e zaMf{b?W-S&&F%HEIR2w`A7hVK$We-=YM4BRlZn@xF;;rD-n<8D}3@iirFtz|1?GJPS@@zk@h*Rf&|Yi!!tww|L((WKE)dl#~q z>UAzGkjYBaQr15zS7MAsJlV!1ASz6cD@wqHRuO`%-~rsQTJBj+-bYwPx?>Ch#_-;b zPT%8`5B+rviW?Dz?mf0a~j>bZ9I*V$3-R^C30qvM&g2Dp`_L77V@#O zwQ?BtDGnIV`0k!=yMC^_UTU(Qlt@M^V>DcQO92UEOS_k z9TZ0)l8$)0uGdJugXWOw2mt^EckOmy$+eh%o95ITJP&XHU~`G z;iHU(RE6VsxSsU7&9`QC{I1)rU@X_xFq;iq@Y2Rm!RysAkzw++rOM;8U%At$nVkHQ zWn@XNSUIR=$&K`4#{nMQ{xe2PV6$Uy~*u1Bj!L#(hc=Dp{!_R*nS^-6f}K zE&PX_nMHI@-0ox~q?YYg z#8slzllIJFEd*;aS9uZUmJ=`?dWHhqWO5pAI&6&PE7Ow@TMW}X@h{XzU+2kdd0ba? z$#3@SwX0c~K3Ij5_Jj5#IkZt+d@BtsW=$(vvw+QGsK*92>U`4Gy@1NnxNQAdGEU;m z78;?38Licx8`SMsm}!q3?~z%96GcO>2(&3j1dX5z1e)T9dTm^n+>%6Hc6S@YEXr2R z4aUGe=aKP1(`wGXA;aNr;_bz&<#JhSy7ep3R%TpQGF#G8e3W&_q$kSQyte99N3gic zXXgn{2_|NeX|vJ#T9qwB8PptKP)Hu#{$w z<>=#%qSv3~!qQ7(yxAX7&QnU0DTcpG?4>0sqsm7VmCO-Sg2YkV$>OJy87zH8SnR;L zn$}Po0yw6Sv6j5?N=NAXB(yE-^W|`O?x@tmH1;OK?ikvc9p7GuACHpVrK6F0my;n% zoGUc+ayB5f9PpD{AdMBsS@NG55g0{@4qQrHgjM|NDt|lvMUW~*Y){8kOblH85gvfgCZbeFkHdCf;9fWl%eor?y;FOJ7%Y*$R) zDIH5qMCgtn_kpg@6(liN_IJg1d;^AO0Av+6OJk5>Hb$OPPFpnH-8*qkg=tR@OSv zb-P0CSwop8^0M|wWp34z@9Y4fDgkx{YsV>qnrP6Jvl;Gs;GR~4XXVr5sYH1Sti)uce- zqm^PCbZZjgdZjwlx^UCWa(eMwVn@)=@-&dya-p3Pz0{6ZF_OX`m*X$tNm00MTSj*7 zH)qPj^qZa+DF&IkqNQ*%hVZWzGcz%-{Tb~1G1qUZ3)yzORkD%To8Yq*YL8J9;$=Y4 zA1tU>^H5)s_E4@&dv{3`tN>RBhpQg4db|8Pr{U|m9&9=4UDq!zDWaKGqX>#0&&75M zQb<+9ygpz?jbwQJV1j@2PR=Jn$LM-ihaxp9*%Oe-K3$}*n6qFf)Mu+*q^h-Jo*#;P z4LVw2V}8i~$iO8&8>v(`3OOtK1l91m*0q?sHd4!Ct3AtEs}_?aYPFMhxYe~4*QHix ziG_;_$cSDb4RGlD9#Tvcd03>L3z)t+eMF>#9hz^hDOIc(MA!Y5Qi$N zfj~)fTH9o~`$tMK{{Z^CT7y3MyqJY3(*4pb9m;p2NAiO+iU$U9ynr-w5h3Pwheb-wH&g<>tZ~e{Edvo z3bP3#k_xrf)5@z-%lZ=i-e{N%UcIg8R`Rn$(q4_@Y+>szELW$M&P8IqeAeZ)NpQkp z$Lt&4<`WaAy?7_LJzLiD_{?;8n&~B*SjEd)JOk`mY<@2*GQ3i)8f^u-7i!_eP;0mf zf*9HvYG!g94M;E47k)#9qh}ptq|(`uD}$|3R;{qXzV#F7^E$?nm$`pa*0K@_4_12j zv57`UIkB<+jjRrqijvD>Z~ayKU07>W0$b8Z);12M7IqACNb;zL5sHZ=vD~OAC>{R* z-Fg%~N76d3uo+_1ys?n%`xeRM(Vmhflr6F(CYgT(37IkX79*)?2?3(sBE!XY$ zRFQf~pvhJx*E$Q+%MnZycgkaKJe9CZj>L)bSTmWCr-!!g^|IWzowT>s1-(WsgChDz zNvNInToyVDokr@W+iE;knT=L!M%Bf;d84O|(rd?N-d2^16IaaTb`CBwSujwEi9P2L zi?grhGMjGgl-Bg^vdO>JPNv5iSn7vev(?;BN2Hx0*Q78UDl%%x6RixwBpl1!|N%i>6m7U?zzz|SuEVMa%SYF$JAVyh+fQPVx*EA`JJND zPgu(hY%U`mjNn0`rpOA*j#=cbgjM-!)Ks%p;kD?-g}lcC!A--a{Ct;IvIFfkY``c0 zfx`l_ozWYz8BBE@whHv`nF{Zi^oQh%fAOK$pM;>hZ{0>sv~ z7~zZQ(Q>;yGE=i9F*?zPMvXmp+4`@wZ2Hepo_)h^yMV-Fv6XR^W}UF~K1{aPT0DKI z@EBV3F?fM{9gML&IQSrE?6!t^-{{aZYib{_%6)$0wrbexvqy)HzP+uBdu~RJTs6wg zQiU3LT5@3^o+#@jNFukB;=gm)oI8W*X>nKE8BQA5jfM4Vn=T_EbmVFXvYW2MMb>LC zByqfu(${sIRC7er%U}hT%NUj1$k9js2aK;2^GJ0J#;-Y@Mn=-x3n51VVqo2bVQo}1 z9o>k&r<%#IN#tY36jWdXBZu5AfK_mc3bQEW7776B6|X)|TgA&^F6Z&L>ZTUo&rczK zji}Ata$0nir;21{mTZhz+a@=2+SOHE042nmjqBH0sNgaSCs(%2j1>s4`v&0jI){kO z+m_IZt~VEi+NovZg<-B{HtoU;W3`lgLQ(0Zu;Z>|aag>p_Tv5Pbl7rvucU^%{Tw*# z9LAm&MR}cIN>JQeOY*!X2)>+lOCu-<#WWH-fvebc`c;ypET3Z!ilQM)c2Xr{@U@p` zSltT}&K=v&XwjFa;>?U>!p3BK3%(ePibXckMVmg8R5peH@zne*{D{gtIWnt;vQgPc zDgbJwuq<)OvN)m-Q*Jk{T1Hagr_|qW-4@*~h^ZyKrWX&fbmL%45-hDR$&%^*TN|z< z=tN;7p93;Eboo%i(uQzh8`?J4o5#bkXI8Li-+dYv(RMYd@H4IJ* z6S8WU*x|ddWw4N7urXfA$Zp%e6lpuyk|kllqg4=1Bu;TL%IiuM`4U?*%6>MnVpvK` zVR=#rK6^_aBa`V%=%T+~O0&loGD$p(EGU)Wu^bWCupz%UV$QXpkrEV0${}`M`BSl# zfzRRWDHcNk%*AGid14%?krluwPnKJ20^16x1W@M1fX|2Gtk_v&$dWnYl0skVG2oc6 zU;()#Ld&#sYE`!zv(vKF9@z2-C##?9^*CW4Bz3Io`d&iPa28<&iQ>DCt|UY}%<)wp zgCUAA%m>hH9@8-K8y56Vx%Ddg1(qCMYih!37)eBPByTm(*m1Y=F^56gJ8VXIVxfZ` z<%=cK^615BOJ2`ynUB*8GRHE*an^VXvn*oVGQY&lY3s(n5t0JP?9#hV#sfE2^@NqB z5}R)YqaFTU-Ihy?O?eyRidAN5Qbz-TJ5^ETV&0?w0Hga*lbM**0V>nRu3DDV6jgRp zc3Drc>^dO6CT-2+VQE3PQoBUXzh?5;*#IVp3>X@s54_=!_f49^*EpVxbl;}k6sEGt z8|8JJB5b?8n3g#Vao*eZWyww*9oeIL74hyJ%LWRlpl;gs?Za-nCQEMGb{&@Md}#J_ zxog=uScN4N8RwN_jXbKxp;15~6+k|fZ{c$4D=hS^L^!Vvddpn**|9BnY}AS*R1GY) zVwyQ(J*@7sFZOakYu}|MCYA}58H|o4kB%M}h5ICh<8IRws7rStMPO71RX>cO(y*}H zv{=J=u+qw=NlD<-NhQcfAo9#UK01eytZEswxmmNa^R@`v%f|x11~{W4AOIu)5E|h2 zJt3e2o<7+*KXQUO@JHkFIPiQPM;wFa$7iu`v0^sunEQD6%<~i;e<6A8;ekKLpC|pj zX82i{0zfDehVndk0F<6e0>JPH{_h+RPx1%g@OVD3rCS?Cd(f)B-v0o-oA~G3ueQH%rMpo! zd(pb>+;{%I*VjUP1!f#K1o=FUM`-cm@xkzXc?AA=^}#MVP&fdUQ@~Pxg#+#6dGb8? z@DDutS;TAkjfV7C%mynboXER~;Gu}e+sa*;n794adNEBSe+QAm_JRluJQTPeWIc1U zj!f?NkJh>^tguO+Kh`~`8>7Ya+;n=cm>ettwz zlg$^o8?^F9VWD70Ir85R;FykXwV?7ye*N z0l^%9AJ5~EKj!tlN|nr&sA*EGX8r3j2rJN|UQ1T&yEi`^P*+(ck;py*pyYRQM;?rL z^q*$kHI3xkx~IN%=V7j={{Vr`lIzmxT4PNgX!vdK8+v~0W&*>5K05*TDesJqKp3q1 zxwWap`0sBWEzvpyTeQI24jKpC`kQS4D$PFevqe1gq;6J84i1(pwm=G=)lukq)N*nG zT|Z9Bo~#M;6yW0vsyk(0s&F|zjB*G(HF6~`9y}zrUTiy?gBCGdi3cKqXwQq}Vjn-i@IYY^GJ`XB zcEpjhK+B%TQ1@(+&#fx#oz{2WLzgy{@XM58Kgijk`A z9*v+Co_m=-}`P2m5(mSaZsj3<>f_l1DuL503}Y zb?r=jO`mXh-Z}lt+b>k(3BY3Jta$tDz~J|G8lq4~B}`!WGTxQ{<)1J{_vMt-Ec7C%Vj5Lbf&qS@q7F`5t4xc!0}y53t{lV8N$e7&l+ zAkJ8TK35hi6)hDz9iXgp63Xl0B=i3Ow7gCo2li|3PuzUUdP&l4i#>*jDZja8L|V3o ziG*?`xt82B(qr(IYC?dtvbBa~2wZYhsVQvxbM{y5m8F~9@3?6C{nT7)qyGTdC$$;V zGlh!kDE|P}o3C51s%yCTQgkujgIi3U=+v=^c`8P{?93))g}2WzWOT;EStW4s6=Zn~ zbR$r}S)JpIiw$aPq43T0jMXadWhzi8k(pb9yLPhj0Tw%P+k?=B?f2W4R(;Fv^>j{> z>hotWs{LkjF=kc9YMO2yAkTMV+_pg%r1DsfeYdcdj{g8ucZteud*(&dt4$sG zw)T+lGgTS#BF=(5P|NuQkIa7IrlH8XD;Tr{Zad9wlJzZXGqU8X z(8SlC?c25rM+{BhHLFtx?kyyonIw?%^E8aj+8NmK!+Ns+0Mz?Lx2o;k0%@zfFI(FW zL~xUmsrK8zY53fIn51N5!=tD1&p+?m#!-B+v z&jCRv$sCRkJfFZmePxNl^Z6t2ym%az0FF662j`C<5BBwzXjHR0pB%6Sm!AQ69(eQ5 z2Y@{OIVbXZ#~D&M=bs)21P)jNNFZ=KgDEHf0F51|$SrNyd)Nd5I2Zf!Is10z&r9m8 zu1bl6#af z00K?9ezF+~*w1;ldQGd!A?aU1Iy2Eensj$stRMERcTWERL1FXu;i)oyG#+{RBi zn7-@vx31liX{BN#?ErnYds6F{x}Cy~nbDmKF|o;F)G_6@SBWv&eyNUG);pQKlV->? z7<_dMd`0G%HJ_+rjFE}=;y_YB5n zYOtrpQyGbcQii#P#;^YX6UJfiRjN^`2vtR|1Z+ci0GIs~_BgN}?rG}QL&Tk0&^O+j zLZRV^&yd*lyrnvo)=5B&NW$Z_VC)M|7ic9_{SH`ejqV$!_&Q~;VyAKR%! z#%SiLm%B)Jq9YjEMS- zl1L-6fNWE*gfW{tQq&wNcT8MppdO#gOJ031b`V?f}^Gl3jx+$VgbDZ7nFr2QoQHZ;n;NB0K?BX;*4 zVzW)CbaLCq>#f<6DPg0P-YABVs6mc)tC7awE-Kr%BCVW)!5M}YO1;$XoPL%XRh@H8 zsjlvR@$&eH=#PYFr?rA1xaHEmh00i;L=Y`^wn;XQxiy7Wb5>KP} z0vQoZ$QnII#2#Dv)ft83Y4Qp?!1E?w&{y>(m|p`zf$}ppzD$wsNW*?(k_7><+;M@( zBBYaoHX$BlukKUazU$Y``()mB?8Th6Yhk!1w_;}EGO-3)@kIn`u~vq%pNhYFxsV&TgA*QH~#Dr%i8F(rK0y#!f4;epF%~vT`-nRLMmI;W- zZF1OqA98$;ke&+c#eyme4@D8$SlgMEqnm)hA49k4R}NO!>L2YTFz`=ic>1eLA$cn! zNGoBeQNA-5tQgh1DprDM#Iido6Dlk7-k@7o>RZz%-u=aAwtOm0X6~zNHIih>*_qcZXXa4`0VgB&5ti6GvfBnxqg({{RardyYsp z0Is=n#Q7_O;~aMk8|v_cO?`~*E z6h$>E(2f}Kul)d~BF+-Lgg8`bAV-jry!w@K{dpMdgqn7#ui`Wv1BbxFBT`cX3dr7iBeaxWbJ+ge|N{& z%If5f?&#c~#I4g=j`3m$Oz-}y!&mw7^H`EN{{V3MUc(%Afhg0Ild%gU2Wa1xVHsvy zR~sY!W@uY-v$-lsAhHfZ*!2#=s);r)w?y-BqG%wQ*L*7oLZDvLV22{9f&Dy-=k9tW zaxynkFqvI;o(>IrZ@F&~RKSr(j;AdvSrii8_!WZ3Br5Vepi9G^831-Frsqz!t64_( zMJ-7i;MD!5TE=7LlY##L3yJDxsfkIMl$GGMrEmde;3@nMRfo9jn={(|`tttUvf_T0 zw6LO>VRI1=O3Fpu!$Mt)D+0>I_kwr;9A4DmvwK1JZ+9Tf?-#So-Mc5bo!Hsxo{1tA zACO6fyGh^c8{a{%)|!Q~9N{le>|sjUb(+lH}i268#vv-@uK~Bh&^}ukx?Y z42v|8$XtCztaE)Z)w8*<+1Ak|bS)UZ{m~6+rIAYym>`H7u6B ztl%=!EKCZzSm)d$6X1GaB z-k9!xyjq22j#-}vu+^;%n{mejg3U)DmFAjQN=S`6cdwpE{jyuVoXBG$a>FTJw0MCK zbV%*JL+~`P{m8ZCdn!YQFu~z}4$N4q=_Vs;>CUmeXE!P@i)xtcE@Hkado`>!T7~?j zEG)IAioBME*zz@`mcvwwxS*mfnMsewx@^q(b7M4eE+lx*3%UwW3I}&<0*>X}yPMbr z_9s0-Rv2N-E{7^y*rxJbw=paEVGweBvad#gqDkcO)E7|YdX-Z4DCTP2>P1zF8 zG8NExOi`)n#FHWgMw+(2?O-p5$S*q*JZg3ASoqG8H|8^r8|N|3CqKRvC> z@O=6Fp4lvJ9^?N2t-5DC_~VVcO2%6SBF3+WmU*L)-J$&;mhpE`Nf*=x4PB#_7YOTO zC`3))FFtQ(%Vpk&#J8-7s*Vr$D1i&LJ%%xm5xasXvu$``mNBwne6h6H0UbrvI( zbLPZpsIU}BB+)cQ)!028({lu_;S*vIrK3KR6Ywg%_XD^PE8K8N>OZBAwSLqUU`|?M z6R0-z5Ej{vMdQ@=;Iw+^^!_^dv2+izJS$!z}K_pG)#ZC{2o zmtpCy?=!a=Ud$piL6-nRabH$0{?~XK& z`HBdX9(((_c4h^XaCsaLN?^#4LsB_VOFQ?w2-HCxGY7+A?MBSV^1zSYt13Dukgx^G z1Xi0l!=HXUyI38r#0HL3BnO5?1O|>l`h}7R1xOBfOsSlApIbxbzh{rwpR6xqo-Ma+w4t=$XSN8G`CF?D?Mp# z>U$LoRBKwC72}eQW-5Z7O~jH?lO9v*JrvMq+^c4KRgxLKQ#XXAdkwNx#WZ`h4P!SQ zyH~N93b4URD(u&4n5e-#KSsHT%(kp#DbEzOBbTV@m@}{O9C;Qb0gg^13z8C45FnAO z%!>IO7C_YGwOmajSk@zF(Y0K5d0`~t>Jc5dxr!J7S}sHrsM;M#D(2oYQo>iJGohVH z*yR5J)Vi#1<`dm7v zmDg@!u}w!I6fBtNBFE-trxj|rJYCCptJERNQ+Qy?K+)zMBexk$Y|u}cg3M;6_s*N# zgKfD_7mlTB3O3doxXCKesR+7}$ud}{Jw>MlDwI+qdTUl}kxSqe`_RcBa^?j1+Juq_ z93L&pn9Qgja*zmNwue6lfJh^zc@9KD421(-0LpnJD|aOP)z^FDp>H37Y(_c=v)I{j zwQW_6mYmQ{TQ4N8%@f^Em+96jG^0lNdqnl)l&F|7QOw)Z+?{Hg)+-s0#$yg4AX9G- zn`$6?k>Q5ala}Ps0%W;!o z_*tx5mEK8ygI+MtJkv=*1HB4gX8raRQ0w7nANRYA4b)*wUD_P7$1h5 za@LZR);?n_==ItV@k+It%!M7TuiQ?%21BA=(IL**ix)(6V?8EF*=S+4T^oPOSg{2& z@hE(VjLBvuiHxSaa!8@sN2sr+y&AiT+O^EC+}12UdqmA-beQYmXUkXE4QzH=t}d2y z9vUkNYJrM+`3%%cVhHDgcqy3LAuI)OH1(ejAt+Zx&B$@Q5<*5vC<@gpZ7bZ{z|hH1yIvKZ%R^EtG1d}@Be{Pu zBHR$mdm%hv{9?RJ_2Opv+1@1WD1DomdVh%bL%rg5t2pe6`&sMGI}dtFq9^>6xRGg_|`E*zA2&)@FGHti1N5Sa3-s z%FlypEeufFimZ%Z=bG%$5d>_@_OK$81@0FQkFKwk*}b}TO9Kuz_kD!1mC0r`>-5sJ zC83QTS{VD1E33-j#FH!xsom*s#QJORW*n_bo_ar>v}R*&uuJdGG$w^Jy^H%t1*6j8tt znL3H0(yK#Zw^#rseX|F%JhH|X!*6af$y_IzYH2R;oo~Cp+B{61$UF&B{lX%x6 zl=nB%r%`%mkQrIxiHHks?@!>6#yg}%X!&$1%I|@L9%v-Zp#AgFMe1~$HGk=U0Wrs=Hp%x!X`zjV*o7#SytdGBAiOI(h^ z%7l7P&+yhBILCcEFDDVDiCy4ZXyA~LvMGVp<3OYqT3aYVAYTkP`rbsQQ<9O+vArpp z+s#4)1`;VrdAj0G4bkHID=2=Q9c|rVyKka*8!QC%8W)m4Iizbl-jHPQ@mx)a^5A&^9`@p^DZQZoy>m83_LX;!-(T zE9BsT=0#Fi%L>aEB^XHF2~*Bv@wn-6xt(_8)#=|6O&Nkmg53-8b_b27NzAdxCTQfX zA~K@_oPFqcCG}5wyf9^iyiJ)q)$p>8<}dK~x~&MdLCljG+=tcFHd+6h%g-c*g~^+c5_m+Zs8QjUI`lM@4q z__FO{uM~zvXCMF`DTpeZ)vSy_G0JaEL2cvT>97lFqdaC|U4095+C?|j*x)Ay+U;x-$7NtfLh zNO#Q6q0)PnwrwSPebj!Oj7;4#)&Br!p0=Zs#p;_aZ>FHN;J*UwR|K{qvtkd3mW+tE zeTeJ5LPfXjH{C}@eZ;$|DWdFFpP-#!N9`{iTKaEMY{iJ!tnf;_IQ47hh5mpcNq5ue}=`3W1cv9Z0MMagD$*Q%bi?$`{yJ1dHJN z^Q1Asq0%6mtGJoEV^o_#uT+n#>97~cEbfRcs_v8AZlTgmQe zgZ@eF@Hpe12;-kh9Y*P2QTj)**wnhAqU{Pz7 z`1$NZC@N!lIrPNrDy&f%L0~@R0Qf2Zxc6$RWs5MRUV}xO46Z{{W9q8FQGM-QQ7!hP>rpvV40O zcyaQ1_&!4zWBl-da(V6KpGL>Jx}PVt{{YkE)`{mbbg!tP1X1@E`1e@@pdH}%eprsy z958MOCz|}Ot=LHgM}G&9-}_6*9iDh6_#QbNf`5bC-5rS{_ObeVks}Ecr#)0)Lo%|1 zx-Vc-IOK4HumawB91wo*wOr@Omq=`-P#RYb(8Cl`Iy7!h?SKbwO@hGiNG7U|=x~gE zH^k`?YdU5r3nR%Qn$<8ZL1tpAMV=bFQ27BX$vqo&?bVV>w`g02)DkE3rmbeY>nu}7 zK;>R3BUu!XNOfPy;QDrT52%}$Rrc)8`M>Ax?K_^wJX2?L`3}avl9~$8RfbzEk)lf? zSFIdf;R6+oSHK*4&|JPZAgc~`gH0%2#mG}BUh1!oR%R$*vH;)%H*1gVEypeEGV9n& zzjiliqYJR{S20$6bfJmv09b`>S98O7CF5Q{JbCrC^uMT=&%$_ecB$FsNRVWrHqFS< zNXiLnTM;yXl>{EcplP0BjpE1>K&68{Zg>e>3gMIyKr;|rDHcV1+TZDcikGVW4gE;{ zuu}fE!PS3iS2x`^70Q`1TOULAyjM|PwOB#r?;I`%BGqD4X=QHc;sK;zRM{kMrMrVG zo&<`>%fx_i%jbd0H!A#&dzHJ1?c^E$)cU`^`$g-HgV(()D}tLbqUS2!6{_W{+N+ku z$tw)b6E96q$$JZ$$E>)_l_ye?Rkbe*+<0<}-#@eMZ)C^I?`PT8I?mhef2tSc*fuR! z16X8sKW+QoRQ+Dd(_PaORV2Sp5s%BwXZMBu)_#p?B<#Y~R0D|q|>NI%Eto_`#u1CPh!ka!+;V*v7@dx2izi4;+*0pieBw z3vk_zqq%@$4|gP|+DB_KM_8B!1cAT4!Yp0hRd|imGjiZ?>bx?M z=YYz^Iqf5kNIppPu@O}=_a0-GD&63h1w^w(t_bJ&Z@3fox7+DNc!@8iGC_qw|Wl6dKViRC$H41_Gg8%xJ0`Q86D6v8*Tozlf~>NTp`!qT@xwKTqHLu~nOu9q92(iYWHME|680WdtO(D@ zJaR~G-a~p|fuHQ5?c{8EngulQpW4r78l^hBKjq< z{`&pUUa4OVvTm5JrDEl$rDrN*x{;>p+oM>k{L7o9*LM((>8L*a`0KeGtp#H4L5rCT}aLWo_Bib`h4=HV7<1JsV#RKOu#x z>2_3>TFYwh)3iE|&|A1Jl}~d=&&RuHc%8MbNw$8`lErNrUfYnTQw?WR-}KuM8yeO3 zhY%s7DZ6I@n3fB#jm%z}wUi>uSc2TfX)0P=PD(4eN$R9dwlVnKf}lM>)~1D8H5av9 zonf}&A|NEy=~`;Rm`bslofGR8&#&aNzv=8`IliFbaTv;b4z+5e8O;l?9WldJp{;H> z?5?{#c_+zR%HyNJ?bqr3Ls){^=d;+ir<^tCoURZ0M-ShEnGQ*X&Oj?;X#e$XL!njz>wQL8Z2eug9fRp+VwE)- z{8)X55mJ?!@yQICblT?5+{R@7MO8zz;%il!v@Ysz!v%(fm{A+j{hYK~Re#&`+zN=_@p1VHJ zy7c2Um&bHhsTh-w#%pO8?m14JbxO8BACkvuJ0QtGEJ0@*C1sOb*rP?8V%MrO<7^v= zl6Z%0Lf+Gh)1lh1F}0SdclN#0T-Y#)ZoR1Tl2&?I2djRtktk&3h*Yt9poYaOWGlRK z7+qy%Vtp*eWkRgOX`Vfn6=P7gp+fDENOA}pmx3us>nv&0CKZtEWwJ~XZj2Kn88)#$ zqFCO-HINP20hNT8)7@VcwA7_@q;th*WUYR@89trn>P>GwkipM(I~Fkd_4I&Zb8|yt z#dBGj2yIi6Ao3_+3fXq;jMg!l{uA4#CpwjO4K!pneftxgjb+!mi`3hd#Jj#QSg)3r zyWZ4rlVdfUZOe&WF4)Igxrd6Gu=Cg!J-6@JK9^~`Z@6BcXn6g1c-JP@I(Mb5hW*DK zuXQ_qp`5j2X^x{~Z3~fWSUhe{{5bsESg(u9O-|sDNd#!SySDAs?Q>+z?mOn8q{)@u z>Ed|L!G*wDmoUv$ajTiZWoV>Au4>|lzOKbupHwnJ#PeA$$sBv(h6u61cMR$*>{0+5 zivY;V3Wg%jAbaif@(xorUUMWnks*;1!XMN=_R;em((p^2@V$n zv16`5ucjg!AL_5G$6mhGgWvi*J`%)8(jd)cSw4F7Ex*ehFqUj8ET}zC{WaNjuBEoC zfuTzU)18K_O;(5i`Z-v;cCb7VQ*)dev|i~np(KKcA9x$NTg|@Y-THC zvwaxH>-E;oTIMLXQffy|vpz=SPX!ECY;9FxiJEMVsUWHr%-<5nS;#Hs#~&3uuD93V4n00Bou5)hq+6FRtbocA8jfq zDh&VwH4Vi`B7w3l$2QxCeDX-h!<~UIlZ+XnWpCy82K%W4vkI!Br;%=yI+>B^)(rHj zC@pCHS#3uW!?4_L_-Yb$D{RZ9YttYxmX zNpm^9Y5Q&Ljian}LbO;cwkA68M~j0yvD&`*$~i$+W`^XLeC|^(WLe4}s3Ec5>^L33 zR)2Q?08!^MeL~)F=WVm7X0cH3lVaZE*SV2fmFm#9V%2)ktqG=*7HOg+sfN4=6M$nj zEwb(!_fTG9GSp9peT6SXmlV)vUGf>l^Q!I~{y&P{=O}aVzFg7c+H3YFq zjgm0#&ua=g4j6!?{>yTRmB^`WLsQvR@p3+;3 z8AQW~p>~9}!wZM#_Tyi2>E4Z23c;n+GkGZN_D?*}9m%t^xi!*B`nE7xSXR5ia7h$J8ADYel zvhwg`*8Q7NUTnLmhBQjc8L!bEtWS%ADpnzNl@2{;#%u3p=*Ufs^GiFZMM|n<*85?u z%O+yQEPb41NNLaer5P)M9LpXq(52S!UIYX4V@6j&urn24^~tbFZKlZpgJ*-&2Ah^N z{OEIo83K^x0#7!!FVk&cGX{pGX?|E(2w_T!mjvn3Y+JSpTRl4HTzJl^ZZk--S*x+{kf7Kl}>NXRu{Xn}u$FXep^@_LgBQ19i zJ@~U(yq)PLqfEdoUTZa;TPaHHHq*BpW3OV2LZmG6zgn?#^w*+#Z$qV;t;@IpH&y!g zQ+3EDyN$iFY>_lNwwXZWO-or^#=WiBt5r>Gv@=%8-@Pm}XEZWJM7*qcjmM=s4ypeD zW}3DuEf!B%$!fah3vID`FOzFlT+LZ_NphS+EKx)`>dPlzbhnK7{2y;6Ix0Pl{xb=?h??PLeY1?+Y?dJe7 z`8cd#a~b@d-J2$nRim1Cu{UKHc=FNJy^)^WpHd9c9J``OYUZXG5F0lZ>dW$iCto?38?3BRVvK)YGyJp#hLQ%!QnWIS6wrpb z4W+HamD)A!UonE+s{BbtT2otnIqFF1PQ}c&E^3WI>cv?_da=*XF{E&@mLkah=F4$1 z!pQNG;zc&jr9cIN+qczznjqhEKyGNqGD{**7XquQ$TqDo6=d1xxNW`1>F216THK(L zg*`iPuYVzhHdp;Om4ay7V$ttOA9R*5lh}Bg{tn}V`>v&S%vkKK@ih49@i})~iy0jk z_Q_9ht(&Q_^&h9UZsc|O?ev!&CG6xW)eN=j^Q5bek{Vd-iA`d(0@a;z8rJiPo~;HW zC5e(-9o~U1qGJ6iXdEwB{Rh)+tr-88}tuwMau0&Jva1lwQXC!ldm|Pmkd( z1iTSG&N`c~;P-q+r_}blk?H=`vS47hYPIVTY?@xsxjORe{Y=vGP{V50J7U4#wzP6p zB7)3Y77E<>o0X^eAd<5C9FZKcMB4#ScA91pcUv+QRvaEJN~zii9f{?^zZA;^j~cTN zF;E*>gDMjrBV&4w?W6}hn`61XXM4-*{{T>NolV)azLh>pL)Cg&Hm9%W?ngaLE^>J4 zRIvfL*}0&d;lttr)V8fG7ie0Jip6Onio}z89A)t=NcIha-*oY0M*qLY}$x!wa`{YpHcCv{Z!BewNiwzDJ7v~c@AGSpDpf{Zd(HzP>p#{A6FQ*yYF z#*pCSO^*tZALp~9G_HjZ7V|)6;jP8kQQUw-3S$#WtW}#M9FdbSbaao)c$!_s%Td`x zZ3HO*3KkoNm%7KeXJMh8!AFsKWa&MH}o?*tK4qY>*s%?rg1k zb5^Nh&39;0GTAps{{Upb=V)GyWx0pIWkgnMgI_a939969*)}QJB(P+kAy&1PNftka zf{`>yBf}j>-LHP}(%jBU-C1b$Po`7gaw;SyYkO9So5<^G`5NyS`Yf5HMJ2HvkB!+T zOA-G7LU{XNtUh|gSd6Z#dRZh)Wz1wXBriA3R$F@|50tom^=KuzcAB~FRE4rB$&5^c z(`jT8K^r0{k7$&x&{e=F{p)wFN3bV#adp#1m!h|qy_0_CU8>jm7_4j$98n{HZ~28+ zBvw~E=~_D$6kW&GyOP3BQpg`sQWuu3jejgpYb>*3lOq(6$Ss~$s@lHsMm7?Yf(Y!4crFM*P`+S=&J7C4tqAkx- z|^wPdQ*oHU}nd`i6D~Jbltzt<+zjJc3Ilp$i8eUcEqz|xJY^`LDuu~M4 zT1;GRQRF6L9lFp{k|h!=Sz7e0$_$W3u#0U%0>x5Bm&|a0tZK{1B>`hb{R|DCNCe*m z2JC$bNI;DtA)-P+V!?xL3>11m;=mMa-EAcECSkHx^BVROHAqJmMoLeJ%o!q3EBV5uBd zk?fUVtzxv4>(-6hwQA+r+ONrpsk4iC;bNnH*C{oUcxz*3h{E&MX<}y;W3z7L%K$1G zRIM>yV}*~YKVGvnnw4uJcT0<(zA3`|Ymt@-ruw(HB#kV*xUi~{Bq$FOd}?Fiq=o!R z6Y3QvR#gB?;;eRO%)&dU+iWKEJnIz~l2b(JHj&8!?n)i?LVh>#cZY zOBo-6X#^_r7M8S)FRC3(*Y~}HY{}+x6rTO*c5ID|Mh@mTDVwarKmCD{& z4qRddH@IS%Y(L37ttD6DZ22=aQ!$Za!o-9`+sO|!Zpr{cQsiJofpj?}fV~*g^njDX zL<_bzK;@F%)V-HW0?isyNg#p99eKg`anZ?ijFk2=h!-^mLV8x>inY45vUC~<)`k3Y zOFXb-YulhBo3UiDl^NO!_H4wx@z>rrDRP9CYJlHNTjXlMy2m7C$8)Gx04oI?c_lbt z2n-7PnD?>mR-aV5W3A`4`WT%bFG`cQv0Sg_NfcW&r|eUljDHUzM% z0)0!pL(^*Ou;cQTUM8uxYk7T=!bjZIF_~N|L9OEIKxJTIj@-GQ+@Y*ksFFF-5&bW< zFQHf*rtNQE)+k;N9lffR9F12f^2cA~J((D5fLO|?8Wvbk2^1`x6^)zGpVWN|8!TNR z)+UW=V1`?C*>aX_Eb%qHYgUeg5ytXP5Xo9h_CF~IjTxc^yTI;rBAnE+{EcEao@Qle zUgI`)C<0YyHWW7X1S!5b0>JC1v@IhDcuOnj@nXk9@fUe3e3RrO!!1w@iV(7bO%$+c zZpM7JNp-z`I+deXC42_8rD9-J9M1LPt7ju>Ka}vsE<5F87)9mLQCVGzJa;pBtk}ov zSwV!I^HRrKAS%g`Nhi9%@iZvKMMa$VScy5BNJOw#Ae3^#-}2niu z2t!Q|V>~G{HO7dt6`rARK=~tge-A9J6TIdmGf30AIx14RU7{W{k2 z(Z<*fep@zL4Bt^RXp=QryN9c3!d}cz1=-6`tMqdg`P}^sCZp4gNAET7VsYIy z#GH|8u*qJ{>~1l3*>H$urc4yGG%4jN+IeP&Df3&aFEa|x!mIkhvgKi@`&IekTN}U7 z*tM-sR(H7`4!_fk1~Q~9(Mw*YHn5KqaUt*Qy9LPV%;E(hoiHUW9H`9EnHj;di51d@ zAxEj6$_^}!4Fg?q{1}dN=Pu$kc6k_;7c85YYaXcm9slW&6CMC z15}Qv&+j5bCSxYqMxXXAC#P7+f@APiGEYv#G;BuLo(5!@{F?(KQ{Q^C0P7b65;@mEdB*Ab5lwJN*3@YG35ea5|Pma)@& zGQ|yzN?5Pw)fOhl!?|rQS+cg)I8~yaO-B{x=;=|fUc?>lXNFR}(!U;>p}}WGgl!14#eiDg z0xP)y(b#9NTxMltkq2#sXe_aoq#r0+?pFeAW*y5$>26j9h()S-|!ms zYBp;A`TmR5-kvvIiq&VHI)Ax7HW{*cFhGOpmUXx+$f+~;#_mup{T5RPKwaAR%*J~m zlF4hhM#(LN!{YI)BvEB^wqTZYp8i3rJhpz8d7h1E8D)3vi28fhp!P6zuGFJ6*xXDQ zD6tf#gilW`zuw5p1>KiFBLh<1s*;D0RgtEKY5o`-Mk9G2S2M0#Ol1=mTC|xR%PW6c z$M?@p15*WF?JRC)`!6nPUCP*%BDD-ZDoIo7U^9PQvwATiR9Y_E8l9Rg%1K5FKoVI7 zz>oBR)=30W_jG}*>{enF{#q*&K!9Ci>;~p1n-_LTA~oGL+;8kzJl3mzOB&_~)6q2( zY6|a@$uu?Nzm}9nmfCu_$7>ShZM}7PBbMC?pCA&mm~uL3^yRA@Qu$>zEg29jm7yKN zs&Yg_<&a4K08b1-5kzjGen1qo+O#;}r&a07GC#HCvRXc?tyAwX%a6oDw{{%%a(eGH zvE0i|ay)G{_`X>odqPHuV6XBIlY);6Ioo#9fv)s-QuT~s7- zH0vQ$j04ANdV!ISz!s%9Rzj((VoC0H@F)rNuoYk(8GME*kRE>K`4+L-`i6n0DrAtqQ)idbL(Oq131$tuU2_3T#SPC#Yp8fDk{q*tYK+;lfU|$#&|5q%`~xd=K+M< zgM+#Mm+odcBDSs_gW+Oon>5 zGydBI%&AUHOGhMsR}DcY(IseG>MdUq*O-Q^46oy)?boPPzhcf09bDG29BZ>?DB`Lz zPh3#Dla30p$&fiam1OU^^{&!KKWavtcQC$Eb$@IcdHb(ri$BeG-A zMorwam-rgXB#~FS9o0$PM<2}|Ww6;RHso02Y>d3}ZDb5`+U@w!1e2`Ns{PUj{(uQD z$=?3}GL%+riKb7GJq9TIhLz#rKS?T}C=6SW0VBN@2h-No&c%+JMQ08-1&&>p+x0aa zppN3M#~t?K|usOkGI>zA4s>Bmcn?b{I2YcN8Rd~%x#B9TD$`d%&MI)>qU6LN0Fa;`ByQB9 z?FO;>yZAqFm!@Ohm{_)5LMrSP$X}Zy79-{={ipAZQIrBtECKZySfOTblj+VnG-Ac0 zG*ocF^1+xM=}}7_2?{|x9(<@mvr_8tk3A&&K>-z^P^-rv1wa7%c?#Xb$mhq8LS^ve zZl<%fHLqpJ^)*-OyP$94s_2e-D-Vh10;R#yoq+yqNX1=q=nH?j9k@0RQ~VuP_Sdf= z8o#v6erbUrZ}k(YTMlZ(%)AehN|dV9s+@z|$s4LK8{PANjc;j%JmcwgiH+%WpGVZR zB4hjnYx>?ArcH;F+Fs{y0Q12hc*QPxZfVb{H&Vin&}tf z?{6|Jp-3&lq2-ml_b?s2bIIg_Ks@&XPptLeNZg*~U$pSVw``rEcu~V}LbCq=k;xz0 zLFCJQHt26vdclxPXG{8dx^)76Rb-a|gSj>?uOujv-d{chtB(f4e-W;#eF?pY!5 z{h+h8jV~5M6HaEy3u7A+DYJ740Cva5j#)r8R!}ISFTX}{biBDj%E-9T&^~TdiH{Wm zFV`Ve;PJE_$KtGYEa(!>zoXx{oNRH)C+;5mIxJCAHhBxd(`}ctu{_9G)@A@A7Gikd zjz_3Fr5~rCy56th(`?1`)=eWocs_Z0kJWsw4w`87>jf;26TFmOwu6k zPT-{aw%(U}gXqsjKT2ksL$c;^= z;$CunTS@{5=#;toTx+o%v!#FxU}0jI`;yBx;(|uyfUST~ut+1L*Fw8B|w2gvfw# zTw%LGQhQ0@s)7(6;CVfu06*Mv-aHZc9=fvv-Mn~i32s+|=Z<*b1IYXj1fDz*$n_;O zNKCTNlaZ5^H0v7Aau_0U2&mMF!Wwk2Dvmev^FVSh8IL5*|L{+J1nv58I zbs?^&3^W)Fw@z0M)s{9TIJo#n=`$ybA9ymTY{{V61k-;9fBa@EO198As zBaTlXe?NoA=g0DR^UthaGC&*w@CAyX2Y;LXzt^d-%n*&llgG{bf8pQvKW?NP4#9g3 zGWbA;{jdZP8>@Yck6*LO}ciLGC@H zp5T0fK^z4!R8s(Zc_1kyjz^w6f3O^X1bO^$2cJsNSPXdpa(E5LcOS_=b8tZepU;Ej zanFJ}TqvGFDOE1C0|gs^0DJcwe@|{M`eKV(%3M~*^Q7__PoOhbVO(~;d;b8Pbm&_F zgUKP{G>zqMKRf{JNFE!v@*HwF1ag1|BH%r|^fTK(ME$V;0O^bFKc{UP5m$29h`*xWVjfy1GZg?g5wc+0@x)CRn2+Ouj4C$!Cr z$irB;92-wvmKFRI20{HaZ^3i;Jhv8Y(Y~o}yC<=~a9tR?i+ft0yOrr*xMPvB@rMy$ zx~$z4%S9cMM3Q7>o2|5`SjpxLYW$%d7~RAS+-8$t60}j5j5&_Pk}FUs8-fAkSRnoQ zG$iM^{IH~;W%E0OOcYsVHW!~^d#b)Vo>Yvsy4sv_o9-dnDyxwL-Dos z93=So)uI$O45l_3*-W}{WQNRg*%4X*eL!${Af6KsHHiR@Gu)5bu#QKTEIDArj^a4) zELa{1ARbA5L$27#-f3k=Z;{q^EWNES)PGT>Wp65Ge&z~DVoUG<{29L8{ju&HO5U{` z9=WeemdflITy-pE4#KtC#oJ3>32i$DhP_33L(O7xsAC){0G`;7~nERz-U}@*8LXMwRkNAH9*t9Q7jmAn3 zzC0FR+{V`1PM_7Cydb-g)bf@wm$9(nHJcr=R;LBLb*yFitXG^#b_x;8j<}Lkw->J= z{c-DV)ztl`C$Q}qYk7>WMqcYT?#LyUM6WE%R4W3-A%Y2eYofdGIATk&KDp0X(lfsl z{6^{d(fCtLk|-x+W{q_@SINjQZbG7bea@mwEU3VuQ-bMfcuzYMOw#1lq?H3?d6CB& zFcM^ikf`$s^sEv2d-jpKK-5mgD9pa0^#d=p>^XeqTPJ5Jk<8?0$X~Z|W}0gjCwF-y zGM9GkEaUQfoB&w&08Bw+B=WHZi2;ibyPgT-jzK5*AMAMq4tVF%eY}BYXZblKo_^q4 zfIJc4AIBZTjt3l$PY2Rd*#rjs9z2dnBq(F!pU)@99)IxT$3SUXCO(^w7Bn#;LlPut zh=2r*6e^$slx+Y3Tu>b(>%Jk%&&iTTkhQY~Al*>l_pZba1^)m}mc_E)cO`i|ao~aA z^W&4?6UjWEOAt(a9_|Mx zkblQKeY|o!4hSkda8DkTYKg2)mEs)9JERJzL3Vjqc8~HnC%BS6-^gw`^nMsZvQSl9 z7AyietGYMO?{o(Tr7VYcQdzxMba*x^z5R*yub#a*{)SqX8V;HJqv}o;41676t7Asg zu=^y*6`Y=-)BS>BF2Rw+t8!_yvNyv#%h*JQCUQ+^*$VEhVe)-R-f}tJHcPL6Va((O zB&S)gNi8gmrcmg zwLESwKY_nrebQXgN5&f}`jVntpd{lY59#K^!X4FY^zynRS!MqZVb;@eBH zhR|4nZrm?CadZ#2T>Ila1H>Q4GBs>0LzRlECP|?R(naVVV3sFf#73*M6)ZM|-~n9% z{{X6AvCQYS&ZlegQmJ-KR`ICewz%c9Ud1T>w;@s{%RyW_&0R%%lB{iCoZw?r9_`3{imH&cK48H$KaGO;nLEOJT^Nb${$4Euc~tF%T&h_c#}g@^chc6ARcjN2r+9YXC+ z3llot?P#7nQ`-4Hm82yeVG}uebAqNBU*L_5K|Q0#@dvPn0J};G-+^;9fEB5yAYQj8>oww*s$Q|%OEMJG8vRI`NyB0zqP^w%j zFCc~GSn@5)+uq9#h10)t_!)5Yu35r+2#njBMB%DMy>%y2dBUd(kg`#$+g=h~h*X#< z?lJ?qj#C^wbd0w7b0Z^=6#$hhb@#2L4r-Vl-9^>lF+~JQc1PwU%;#~nM~RpP1A@|Q zqeg|$B=J(3j%~4foV6}2&}Cgh3p7Nn8vSB3}~qj-Cetk+n4vBG=6V6F?fcO;U&cD3lFo?2N< zbQZC<3zhoHbbcyu+Kl;(Pf}P#E728MDqpUy$hGZPkf!x1?B?s>HuQ5XCZut9Vpaw! zIjX3uJno9W{hwS#EDQ(@+IZkG0RCL)B8+Tjd|R3g*F;H5#h2YtfFJ@?`&!>cF=N{# zZmhA4xYj9%G*zP(0`NtVYi5nvs{^Jk!(e5iY>FwaZDk5HNg-%rPot7Vg*%l5lJ}sI z%MZEOlwd&~rM{GHIV&pqRr^hnk0{GF3-=2q&AK+|S)+2z3i3!^Q$sC6r^ISA2;sPu z=Y>_$Qt-UF32NfSSz{)?MrEF`l~=vKn4o(RG3G@i$r=U#E2v@RSHs_Yp zsFn8YEKEsN2^-s)r*{C7RjNZMU^oSW5<-kg_bSpsOf8>vS)J z>KuSN+nod_26bSiU=1`f5qlmb3>Y!w8x+;tSRmgM-$V7R%o|q9uCrL9UnxE|NTcqR zZDZ_LmtdW0!^u~LamZ}B3-Q2yB1*`?m`>{sHY`U_wtQ4&4SLx}SR{<7idd|CuNk`zC9M01`LBz66k;cPb zhB=233UNs(borHybnSIAyS{51l8UQa%WS_=kkpKF#@sWlREz8Y{FU9%2oUZ`1hGP;$&NC1(B!o-BWj;;K1~nN@}!$B@?{FJG9*ak6%sn2CBMQ) z3~!J-5)VB?!<1H16uNwWaSA|IbtTE+lm+L<9l#EJc|1LFRGF#0iqZW=*Jr0aR#cW~ zmdr`Tmyf@~*oq)eX&)Q#tHE_GJYfC1LyC?puTb`Cm|C!+U6QRD^W?2OF|m1KTMH_~ zR5N^V2AMwREW?kCb0pE(x;3h%N~Rl2Oyno%#Mx}^xqbznw1Qf40SFRy*CH8ODz9Qm z)lwN1m$-%eZ6hKO>zR1uC@UKhWTq?X*a;wjc_!$0`RLTTluzl#4LgRSRS1gBa9q&& z{Wo6!0CBb)HJEQCvLi489Cf&2XvN5EJYNl^riOGgM+FOJc-dr8T2%<=g$e4`{jA4l zSYDn3pTuFZwDGyRd3fejw|*_7H<2{(?L24|qDX zZV2pUA?g0ToF@aq@qr7euvd9bU~TarEv{!P>@SFb)D(hPP+v{$TJrCcG&)0XnZYR)#S;p3VNY|(RRV-Ga5LmN*Z zJsZOqnq1T5;z=auCPtN(NdqZyv1tEQUJ=g& zDn_j&Em(R#x+BxvPTQkk?)4g2akL@G#`df2X+A42Zys!wze53PIOCfykHcDP7>C#~ zkCPNlGaXv(BgXSEJ-6z;8r$<#a$8o;`b}(Qn>DvI{fgdBzBWaM{p>^#eG}5iSl1`L zR;<%KiKt48DW!`RKADH2%U0Yn6K+#vG+Z9DQ&NhX<1rWvj7gV=6|Tp688Me|Fy`WB z*DB3AHJI^}S+Q!>$)>iFHAy3qL$WN4^LYWh>}b~H2uvz{A%UUKCyKE^at9p%&&m?G zKwDt8m5EiMwCzyF*LzhC4Sudg4yI1B`&qSXqa7FAHXCh<>2=*hDTvWFs#T-9?L!Zp zv1UrSGdpCX#ofqQvysQ9F)~SN9Bj46!ne69CdY3JtnB)}X4gxxJC1ur$;}?6gPwcQ z;+qX)7;yEmG2%qCvfd^{Gi8CITYmMAU!WZkokqM3JDSVQa9E}j=jY_=xf^gnjY#d1Zj zW^1=^J&|$&EVkNfX#+y(R*0=KLGjzQ3dID~qwT{%%G7Y=Z97ycBy!6mMzHORa!qy{ ze&<_K0JFBv;02H)X5dArLXt#|N_lF)StS`zk{LDvXbYkT>^SHS-!QeeEbMyT;f`o1 z;p$wTo-)2Z8|*T<#+qDw48=S>e|+<&`WjeY1X0XmeQjfEM$mchKz3`>^w9SVJ6e z&ml=sS%?VXfr+(gRv^@YM^9;M#3PlWdee-I@zfs`DpJ7|Xl&QDHJffO zDlzG>gJXSZ2HYvPJhtUd2wv+&NUJ=PSJ1Y~m1SIAyc4#8BW*DGsvvxjC{g$o!M|C> z&$HwX5XLdxz(k_Fm6m4iPHZ(v9ffHmDkPE+2#!V}ScM$7pf3a~8(1!LoI z0l!G(`;bV#damGfWqzaB$noCevCzZXzdu9z2XrtTw|w0$)}%alk^n4!JEFEWuc2?df2&h+I~U+rT(WExZq9wZzoZ^R!Hqsx*=%Fl#D41(@(m{nSHE&p7SD* zlXTaqzZ>=u<~`A4kOBi13jF>D1M~PJwgl;SxIVn}dcrSDdbzsk2-Bm>ioxue6N8=k z%8>cA8v5%`c_fOZoS7Y|Y>_=nkk3}^OtY@=RMp!wJXOWB^0XW8&c=BBX zgk&JFG7(f5k{PJ>2KXm*oYr=xgZ>y1xx9y+7#>#Thk zWtXTr9$yiQpY5fx()jawmP|L4lOMEVCB22VlSX@^;?nnyKp&DyVd{~@=*hfnHUaZt zl}V#WZCObNn)bh%BW0IN&Ib-=fy{&d09MIGQv8m5xxn5B*boT22cus1z5f7iy<$;6 zx^H6LG1_)(B|mlQhd_3Gx3|sbBP;hAZsai(DD53OyM9v6@<|S-NhD=eZUJ&z@@hY& zzUuw>F0XsT=p>V{D?@kbk4?JMg~!M{xKW(dHtiEJb|e6=dDiRB6t5{KZ>r=0!h;_@ zypGmh2gp3~5chCY5J)Ioa0myGK--DRD+Y|jK1J>)g;K=up})JwJ=}o6bL1XK^jUQ; zsNB*;4A)oZ!i>g<96A`<$oFDcS0o;Kin=sdC z-h8!1tNMa_EO_M2VQsm$p6cB>5)oReTLo-%s6*W=&U*sP%2e_hh%4#agZ(|Q)?>x3 zZ+_mx(9zwqWhS%Kz2>_vCXC8^gjRZUUHdEqnsM@o`G!R04`cIIaHB~DX?|MKw3Wqm zc8nj6?Hdu8`?z92mJon*=j{YHj}AIhWT?n$v{ej2Z(Qz` zqxxuRpm50|$~If{?B3x9h5$C+tA)HF{o0z`?LKG*pp z?swCvGvp&_p^j^IDrU7j^(88eYblSz+k%;|GX@aY$>L;n#md97TlAVX2^`0Q0r4)9 zG%ZXwJdz$rMcP27U(~=5YR=-LX&nu0ZFkg0uM;n*9olXwVhKjvr_9(01C7XQXxm`% zW*C3d->uSF(`}Bg`%cN*%H}qVW=`G@+;>c+ig>XonM>n!If9m_D@P8qFZ ziWIhgnNx`Z>l{%*=yn;e7snjW{>T=Ow;74 zf2Q*DUZDy`EE(ug#xZp#@>yc{_&zFWV22ks{y@8^F-D?)B%wtHAhEDk6#sF+^=2^D+g_!_08}$XIw@^~* zfaor%9)3P3S@WWk&yk?oaFtv~BTysCnMa~Itw>As1t5@mB&GI2?;oZ;TH7G4?Wd}p zS?EsNl)r%3Fu2WYA%3pK({J3Rnzi|?HIzu7T?Uz;R1JR%+f*883)6BjqrTV$(aVcFFJq%Vg zZI2z0g2WfbVvc7Qjudsyt8e;V$~oCCXFbY|zRic^no> zLEVg-86(Qd?}t>WY*tZap4~m*b#rmsw7nYNQF^xpyIQ{8r(iE@omJg#Vsd$VSWNZJ zcD-zO?zp_3ubQu$mc5uY`?jv)GLz7+kB!9FCl*Mg@w!Wox)fQbX?(Yk{zLklh}nbf zOCw_1fL+52cG@>F^$ZnB<%b?b5GpjWmqn2kK;I;7{{VTkQIS~EfC$(I*is!wY|ivT z{5A9q%U#$nb>=OPBd+8%eTI!(g$vy|6+WUUsbZ#6j!c$f(TJLYv;zMC!iB2Hv4}@^ z!tD5+Z>QQ^6tlQ`SQUNfM{`-tI_5Ids+HSS9Y&~z^^HG}7QO-lXHXo`OI})P&bpAYU!HBdlwQ^N!#>)V= zkc#EQV(n{G%+b`2Tv$`e9X7)ubzx!u05fPi$h9A-gm$8+g1p%ys4J++6T={jAIqJS zW#m5QX%eUpCC8*Ou17QtaKZ8HCp%AM%=P;8wVM<(@kxM#EmERfs?cVZ#YiQtWtnYMsX3Ad zCOWSoM;Z|c5hy@7KpNTG-R^onYtZ#Bj)l=|e(kt#8IGUrQ^V7oE;AFjWAHdker2(l z>{cckz5f6{T1eP4*P67hR&Rk-0-*Jw`@rcwet1Vxy|Q$f9!Oz|?W}zqpHGoKSd466 zCyM!TnJV*lvV^r!+CJhL9w{S~3axmO&VH{Y zaE!=|V|b#HHh94Fg37@|s5`dXU4v_Pxkn+rZE(*P!GOp-^!nMW!w$`e!`G#d#NN%~ zE<;Lg`Vi2Pvstrhs>$%gt0T^lBlD^_ul zRK1L^jLF$p?bopdV~vufNw3FhvPBzK4f0rL??&W1_q1vB9bU8ay7dUI?0GD{x!u(4 zQq-wO6W*7*tBX*bLVk=|Yx^a~0-jj`~(%bnM@a93S z+Q#)u9gwYWU(UWt)>@RpN>O5s{4&o7HLTgJve#HtPas1JPcC_iTvH7 z6CX-Wk@Y&>FY7f8mjiw&PPeOPGZt~f3turkSspw!oP~Q4MvomEGXe3)P<2d}2T{%B zbWQhJ%jsK{2el~sU3#e_K3&d8B8y4u?7DQh)K zvP*9faWB)YR~CCNMxx!M5(t3arP0-6a=Tntroml=fOkgzmIu*S(2NU3W! zG^p|xCCdW1gnA;)n3}A(Y3G0_it?CliN3i!-@J8~r8?|4Y@#N5mLsV6C)#JFi^fH(24uVpgO&?k5e?tS8l= z%UU}=#k5;oykEQJCZ}#(K>8`9?1ChM{Lz@wDB=}%5;vddk7FjrAc6@{UNtBU2IMk} z=f6``<3FY4k9p;2Z35cC+?GRe?skFzZr19bsu*2|4Qr=&^-R|1nCeDWr1bE5g%2r zK{i1wEOg2DBfDTXXRifpu17JIuWIH*)X!bFkfUc|&l@-LdtT$PYxQ$j>w9)&NNoyr zq{!38RJ9g9&Q&Fem7(muUJV=Dt$&*lN;_M=^*n#LRGLdRqmN(5K@FUZJ1{88H7KS@ z{-YBeB9?n$uLa23X&7MYe4PlvUA<#b>xWXdoxoeGkdqI!Y88GxmuaURb=aoYqJtAo zD6!3TrxdZz8rsKVB8^3BeX65Zt=(VO^d6q*8b&)Jv^M;nv0E>ZmOh;0vza&`+$~F# zTKG#BoXdmD+z(mivyH;hzL@rgD6fHVX+$=d36tLPXa4wYg zDFk+y`0AyDN*~l%Fd?^DKLW1#W6jwl5K=y!Yr9_JxqVNnpDmj59EJKf@b@U^u(az= zyjxnTzfF!0IUyzbwz7gpSAugR!lx%*x@n5&7gqYctN!^%JxZRfM^?~k${{#fo4mT_ zFJaj-x%Ia-i}x{7)XKgZEAZ5(S`3n|O&&8+S7Cdp^rE3cjt8e1ExTgPCMhyqK+kQI z6BhL*yY!D1H&WQ@NfcM=W2{()hI18eywCGIKNEL+k)cWYh3VZ`i>`T{f|j8sV^_Vb zbh70<)$)b>H@P2hKwIdKNp}UarQs^jt!pFKUZCS`0k3PiraLiWnO#!}k%G2cYR_FQLbBEv z^Yd6~MR&hUIu+B+a)x`XJx0k=+%cNYv9WBo`gNt>w{KAcP+WD)jeWy?rdGUdTPKml zAN1b0CA-p3eir7uTr5xa}l6fDPB3~_N8{9&(04-<|T!voRy_cw+ZR%w$lR0*tt+ZcM%WFB@l{o(Z zY{@=18B&OgFO8y=Acn;CD}7aY;EI?QL@)4tEYqxR{XpmF?Ee6Z9eHO~QY4aa-#Raf+m?))<}Mba1xm)07^&-Gg^a~MSiH7IY4qwb+>C^=`Xn%rz*_46im9Xu|6@ zjamyEw6Vn%*lt^bG+*gfy0D((9H-ZO9<2^XYR$f zEYAo0Ei3UjVo<_RJH*JUVBz`-a@hP%6D>wcHB%!NVHVA}`sG9=!UJAdUbZ)-(bz$7VMX$g3QY&P0)w_`XJTU)kPDTD?lw<(jr9VYg0wX~Amfia6VIOvIfwnLJ9^>{9J5B?uHxtUXfY&l-rms@PRjD+X`N>Xs;*F^ zWSxi9Sw((f0Z9k31lo?D*nN(k!A)8zq{LFmV(P(iG@8VzHftErMFr~>nPU~?bd!c& zdl}{m7AYiHy-XT)X)9UB*A*;enytGseDzo6{hFYiOwvbL$*(L@r2hataWa%{=$Nvq zGMLMxy*t?P6I!X7!d|R0c-zy)(;2VgYDrF7Hf2e&WhA2=NtO{Dw&j)-MxT((ig_aX zU6pKp$9n-{W`&vzt}_>uidvJx-&oNl7;IVjJ0*$ZhTTYJ?(LQ{@y*JqXflt*k>gD^ zZaz$N#Q5>~j%ExuqJe0vS%%X;;d7pN;zbXTE7$2%Bitc{#w$%)r5|9B1Ysk zE{f$UUdYtOX7SHQF*4%o)X3DgU9mZ+=;duJX_l)TZxS_H4+LKuD@#z)?2%dm9%}`| z>bTCUVYAp-v30O>(uED&g*$YrMO>QH)}`pc!PGbq#KQ#Bk@){0t!{xWE)*J?3j;F_#)Q28t(SAr>0R}5o^ z%l`nqJxeK|^?xJ{S@G{|#Tvw6da~Dux}z_|0(^DsvZUO`f*BTMk<+*@99kT}$A2Ys5qEYj1ja`M`#Ld5Yx7bAo+%<{>TT57J&w@juLu@r6a%oRJ}Go-$Y-_-M2 zucmF9mbb1?TqJ!8{qb6;u;sBieYzZ-zo+b12j#X&kRawyiQp>CLNd4MIqkP^r?OzZ z&E|h>x2Mpnme(+tcqukZYuWP|GZqp>T7sn2R})P#wP#BQ<7zI#%Gr*3#KjzY+rOUb zFSt&%7J_h_$(vIGN*)>okhdx%(y{ zphw~L)lFk&)-u}`qrBp7>zjV9Z7^BvCQL-Puy+8fER=6U0OA`AWKQT5_C(SsQY8ML zsoUC5NizF4P^Yztf-$h`)M&w`9HJvrlX%YAOm-7Hl3Cm1$7@=&d5JbW{$A0qO0GW_ z6fa^6HsW~g4-U;M<3R-KuabkxW?_GqyK6~fUUe}UI6eknGXnuejO>Cr_NB=9Wo zn996I&OoJOU{3+ml=Tlu0{f1vKWNmcrW8A`RAo)B6FDdVR+;3gb&E+DclrTNegLEwEq6ZIl9TwXG9VdhyZC#Z@F#dv|4$2eT}>DJ3)5X(hErG|7()URxOm zM-jyy=@6Cl`KlOf-Nw+xNNOR2P&|=7el8E0E=uf4osktuGCu0ww8PRI@Wn;#GzTt6 zo&J@3Q1=P$KIHLqi>F(j_l}yTTQ!>B(-mhEhp9DzW()Lh?itBo!_Q+eEt^qKavM{M zW*b&kAZr#D@1*{act^otb-uTImDaj(kJfQIz5=~2nc!@0S$T4^HRuZt3jCMy9bsR1N-VY6`*TT@1=B*4E zyd@lcSmc)`tp~|MI3=@EDXYpS?JlAwSE(h;lTtvtbsjPbDf;>Z_%y);2f< z%@kBt%(ZT6mgF{O$J)Z8!DP2`KbtiaRf!PeT!J-eBS&hGf4;1Ma7h7Lfi_9(xtXr& z6S?|WQY>+}sV=W!ZAS18;amk^RFPn<5=)~K>?ic|>FgMsMozC%x~Wa(w?4Qwo$3q@ z9>4lm2Ki~S7qEB=sr7d(S+Qceuhc9xn;muKoVrX_Te++IAJrETndtAePK@B|Vq(&9 zS|jJQ`kRhVVoNq8w>651pN}lMlZ%Bme*{jR918Kkjw6 zM9?JHXzP79=@t(@%^ohzjdP{?ByD>x9!K4C7|HQCNfy0I&m5!!1)C%)Z5b%$8J^0!xv1nSLn1jk$*R zNk;x6_Nkl3MYp5PQhJr|;bpjM#RPD{Ha{n71_B`zb!Cbx741ztDLv}8XvN?6&eC*8 zn-UC+lxaN060l+o#>9{aYYIqVT>h_cDD}Pwa;V7JQ=&Sq*wx={ZK6pa76z{9clNqI zkZk+0!T$hCzSoH9Hcu&L5iM**zMAyT>|$vk4JAdlQxL{(!0N2={DZjh$B+Y(zTwb~ zooU0h`)KGM%MI%0clxfC>qy#3kE+qQhIbU zI(9a+?2%#Y($y!&Vru~?D~$gDQqnnyCXIV)LVu+_h~|c76O$Z)S0C;RM#kBXWY#Wc zu~)JZwW%&0hb@|^UL154zN&kcY|l>>R%-^;e};}ejCJ7-MAl2iIZ0o^cCv`#WKyMp z1jj@U6qIG!Z=Nsgdmgn2GKf|Bi5GhY4EENiiXn|te4FC>zx}7$SLv57$oH|ymE^BeJ$}40;_B721Q1oF zWHgm6*)kRQqOfOZgn-K>alvRzbqruZpCweV3K~|O7vK{&oGb5Ke4Fbf8k|5pY&@{a zjkOgn=mI>lg2w}nNG9w9KsQpq`CN{!%N3hm-hIb(tE=$Fet5Ob>j|3acF$l1C1Hx> z5$qUaVVjVu^&yMoa#X1NQ+K%U(^K8&wu$GLtUlj2-BOGXCuY}0Zfx2#stSc@^Vt9y)4lYt@u=|`lT+5Shj;*`++8NoZ{Lk{7UD;YH6*8FD zkG94p_iJx|b>CZp(LFNR#BJn3kS@9q_QN^;Pl|=laU!<4I&m zJ~^X};p{3oSs3q+BT%M|j9DO9Xxy0OK9#Z>j$ib40?B$Q7A&Gq@rWwadSWm)B|VIgS`Z1UsGm242;aSfV`(G(5#aKTErA=Mm` zBW#Wu{BjkZglDy!CuFs`Jo)8gCT?4k_#AL~<&Plx{Tn*9?Bn$3_k$Fd_s)*vdT+Sr zpf;%WFQc^%tCY)p%u({+u+*!Jt(r*eq@Pt2)Vj>EKWvZp14cgT{{Z=3-nnTQ%l$<5 zv#{d5({!pCCY7;z>``Glt&E9dE+U@?92N2T*`Y)$EoiJ`a?39(6juox#TgKS{%CA@ zNC8%6+ZjA?l5-m$gxrom;Vf58`cH^r%8Z9t;~Q?nd4K{p63b~SfB@Xh9>H{6lU;c> zy^V!`?~+JZdH$_9Srn7UgWA3UAKl0#`Qz|?B1?|PFz)$aEI1q`SYmE_LHu_U$??MQ zPb2v}@Nexs5Zkc(HH|XHleW;^VVX!SX!do@o_)5Iu(3&Fxv$Gi5KmFFyi2 zehQtOjHnn89>kTxQmGR7cA9xgN5dD40Nj_izw~D5TQbE%V)r4l*L5E*MoaxT=`DHG zA>>o4^6q;yD)Gh+5Z4%{UpW1)7@d< zF|vGFN5Z68{e-XpPcDBmk!c9!*U(nW)-?bVOVZvPcAzu0KylNz4HhULQ6M+Rm>~pm zrq4#>)AYPG2T{)%Qq_!H782|>Ju+nT2=)idG9LY^x>lFkzMa#t6~A;nd(%2yC?6!9 zI_dNyt6g1~2>ZU8d{)0an2mbGpK=qQ%j3jOSV+8gcHwTi`%>vqWayW*xcBVz3Zk!3 zebDT3?DDMfsS9qOOLd8A>y?3M!$S^FCy`Y=M<{>7h?3M1nF6Rl?#x*cV=@*b7M1%< zj@%OE-cszu7Ub|fBUpfr{_f&ifIC>8LiZ>vdx35N^T{B$2e7f^$8QbElm7tSO-C;@ zak>at;o=YXOmLKvMIPc=B?h@3-DGuijH+q)nE0vysaOfJ2?QGwNC*eF`!tP#P(kW+ z>TkP0aGh1hKEJeeCoM-&L}=@18cj+aKhUbcSy?NltEX1P(VhiC@u|L+XDEO?r1D6} z(SFj%7qg!pPjZgtU;y&Yc|4XMdF5hAiC?$D0toB2PFT2e$* zFjW5lmAD}O2M5UW=YiZ$`QU-iJdMz4_;^ZU!^MXlAb(6TEO+u-Xat{f$D8hcAW4%p zLl>TBnfc}2nDfuMJbi($itW{{^ui!NMSpm+`TKq8dvC6Xxwt%P`%Ai#NF~Q)Wb(WL z-&yUIeN1h1v$S0nAPaOVF1cUsL zK_mtT_#_Tb=aK7@IOoA6k~!p#0V~HN@ObC&2k=KH$o0yva8N-!5IG(PkH?S)fyd|b z`QUi-t%Y(}dzu!04gH0Geu+jcfL`Z{_x2xthII+^mra+9qAthJAP!E9I5&fgc{(O1y z$@QZoMmOzcApZb&=g0@gj^EE{K6yXEUUJnEUI2`bJ@_!%^+{1!rjFcle?B=Jamt22;14`; zzy(PB^W)N`cI1KxQTDU({y ze1~nQ^r}X(OP;HLZ0UA(pa>uB$3>9oBy{OY$vC@~zR{#0)Gq+Zq3f8uu4fyH$_!%S$4}0O1cPfIKHG%z16<8 z!BY`lpSMkSCuWwX)26J3JZ>+lyKXXnu9sns)!SAw8ZNgbdzkyzuO?q1MwD>lO#~Y3%dmsxwlkl5Ml#MDc$^TuX7QD)$iMZGFx_1&3JLOWO~ubPZ%y*aRiwZg!b8jIhsgJ z1|!V#fIUX!x)0F5Z5^Wr74C?N3Pt7h^o?jrlwX0 zk{N2NS7<(XWrf?$*GM|+*E}hsn(KDOsc9O`ig)7a{{TVyX1bmtzK$%*LgihaO@AEU zy5nl%7KxWPm%o%g-ohk(u1 zw|DnEx9^yn(Vw-<0}oc+DC)#xU?rKcmWdNINYdBGyk+E$2oI_d&Rb(EaQ-+_oyWVr zGDm3xp3~d*j(?s&3`p~KAE=MGO>&;UsZhXcxC$Lg6J}0FCr1yC?80IsV@gbJR~e0s zV!4;eLlhOJ%zaYUpS)VdsHpv~MVki2Hgfd0tU*$w(#DA_bZeTGo#HJF#)!iw;vlknGmYZ5x|?R3aOtu9 zP>5~olu@FS=<$LP0I0JemICc0R(?*!ZEgPmr(TKGEwfzCSn4*pw0n2mnPqz-Cd#UOEfvJAw9xEr8k7DX>L+6eh zP9vwff4B3V&Ff+R53a1PJo@^(V~KgU2>5OCSs+7wfj5Nh|PF zcBWCNE{+Bn@ z{*L_y5fxZjtF83TjN1+m7_pTBC)zFHk*h+|M8*l~G3BO(eIR?2wWoW9{ZjqY^^&yk zRp~anvtQ~qcP-elQf+HW#lzVQPtOxs&t)L1h^7z+mE__jjGpd(dD9rlp!iv|&_99h6BP(Alo*8JQ{0 zhRrK-cHW_2G_lM+*pkEsZovhrq9G)6b^#oyV4QZZC`CC+w>&Ee~;|!4EA7Yzq z({I&zA^Ejku5a}wr<1Jm#*U1X?WAnO?TXDAVlCh0;yvpFjMzV5-mk#e>~y$zb9;m} zkzM@aAe z6Njsr49-J2iojO+&N|H;U6^sp;yV_t$MHtaym|QEE?kEyS!7uX_7?RN?X0-*4gxd% zJZgNmq)7>BvIaEgp4BJftUEk+HwAvs3l1m#re*1C5}bq(C7kbMn4NkhM-jjW&GmUe zL$Hx*M`lQ(i?qiS!JL(0+2~`IIhfdHvi4@Ypcz;en#(`QG?vvSssvyIcJ;W?paOxx=(d#aCO$C;BaSs7P}J<=!lIgmuXqVsG)+gpk6z<@H>xZp3q$g0J~likA8>Bv2iRSLhG5*ZgsOvGZiR@llFK8X>K^7HPiZ^@=`PZq zOpbu5h%zD{#Ge>e90mSC4gv7RdEhWoRI(dyHp;dve=z_80R*1pP#@c-HT3~plgDrP z*Y&ag0FO^idm{o~f`#g_n|7s+IA)LP8st5vkq^{WQS|ES1k>15wJ&T0Db}~ z3s*<#hCZ~pOuX2PX04Q(DwY=^UuxHuFQ}X9qYP%XmXG0{w0E7Nu@sZ6ph#Z4HPeO8 zTcbQuSgBtz49u{KcfL3ZPULYcHrOnyG)L|dBZA*=%i&2Tw@omcURphNyMu;KMSit4LD3p(=@WpPDP!lO$RbXUMU2U1X$xc^odE4h<_z*Ly)LQOCF)S zaNMAP4HlwL1x3Kk^p!2f&}i2U#j=Cnx3hQVtaWHQKJ8|=M)$a~c>J|2_DZg*_EN?Y zVI7#{%v^faauZ|fNgh3DeR9ug-_zBjW~B9&G9c~>YI`c`uBoQ=BUj7yl8vl~PAKK8 zW^GrR3ifMWdRL|A5qs(q%oTA`NfiR0EOXSYSl>emEvTGVf402tClQv+U~RU0Y}RdS zneX3fyj5E4u*hgURAILyur;e!rbUXf$HjwOGnO&G0(5<8CWc=)_--= zWyIR0ipE*T*jmCnxvbprRIubj46{v%l6fu7B-P@rB)=09^JHNx8Q7v}RpnY)mO~oI ztQ9tfRU4b#dviopaslz@$ucAYHI2ZOJ1>}6tx}aV6m1`=hSBR0zC#;@m0BYY{5vgNjq42++YbcGEsDmhvpg{*X!7?c90A@Z7>%A7463miQyG$fj#d+RJpjfLk%|8+# zAh+LjIX%B!#a7*OSzDDWGgA1$5v>fvhmagI*Jk0 zPU*)gDrO+X?8t6G1zPKk%xdt|pB+{^FvA$jY zi`1d6>vgNUTcx;V2cQ#CotS#+gy=yD<*XvWKXbd%@^DMZUROO(A+H*5cER2eR~k^2fiY z&ZF(8C(}NnYde-ZIx{++175jUS&#QM{{T&6>f!54C3T&Muk^4g#Oy$HBej)*E##{r zpKB=ag}k?e`0XE(M|S`o50CmE9;RkSo>X}dF=(SiAPmdtK?SJUc`>v-$>ELX3;&8ctqvoJgjJ^f)5H+TsQI0k~!c3 z$E=;Tg9up9W&5}RU89f3Z$J5eC0GSMdG(%BQW&d8%KV(oDu4mxl2K3N%M;1vi6r>$ z{@+~4q6p)xh#J&@_rC*}haJW~JA8eii9Oy5mgMk25Fj5V$SPUnwj0`t#;IXRKIGj2 zb-?K5^T(tg(gj(r?8dtfw^*SFANp{{ijNp>-sxm^ELXI-3Qy&aEZmd91CJi8U)}Uc zAF|KWHc+ebOVe(%JdqUcKOpLEQ{zPe;^7EY?`389$PNRL6|1qnB{0JY?h#AdHI93J zX#}KjhqZ`MtUFjA9jEijKCCO<)#5#-{+m>R1~__C)ziT|gpS8hatk9M9#080jDYe> zqVxQL^M_LvfkrSaDBFH?Yd{ON;)MXM+mXSQMu9`$`T{?G2UW-}O7XH& zf}S}(=$=q#KPg}P&Loz@IZ{X58@WjzliEFMuhaqC^T{tQ+^GUis7T|6X z{{SC%o=TkY3W*hoAy>C)OH``EnCVgnwmBJpnQS-Q3v=Dzf_VgLJ3EqwX-xcb@k1Ey zP&^YPgcU{e$x+%z9#7$Yd66ziVvj4a8)`M6seP0u2n|sHDgL9an^Y~Tf8?yfu8Lp|GY)U&t(oS{61b2|^O__CIR~Wusm{rvo=|EAmSrEbYf> z>{SE=Q~7@!f1Y^fUAYH>QNRGOKu^CU2-I@Cl00%xAPxs3fC(T0IOugm1>bYOn|l zhi&@{OEqNm0BO?W^M#u{C_yWaJ>_GM(?LY1&W%A95;>6vG@`}Ho2N{=iPH=Aah*ia zHoYe+T0uKg*zg$~TDgWmtRt4>F~cIXWU@&FlE)|tQbIXzO;tu`Xrm{z*>9zldr395N0UYRXj% z^P!S14P2~jj_n+<#$#!oJ_n0*42sS?nIl37;SZvg&Xer>ZOZ2B>)mGR?@27dEnC(x zJyq$xH+jQUo*6<34&~FloEcw&Q#4Vn@AOq3CUfp?9Zwj62qA3PGhG1bE5Sy zR;O;8?-T}dLY4+V19F)Q$o&EQoyFbAPFT=86*+WQ#2D)D`D4c0)GNr#PClb|!A# z%NcAr?x|sq!*M27Ag9X9sj=yMe@|X&TfUpOYS;02{HMoPY1eYt&)l&T^U~sNVX_if ztsHGFNh6gg-HJ~5Y{eXX<(IH&)I3>Ltzo8R0rAsH=t0SA#!2hrvXO!~l6+*ZRts^3 zG9xNHeX+8MNdEwtYEPw*6>0|PSt7fY1Rs-R(BSR?Sxd%NMQf%<42@KHWi(f_eaB)s zr{!ufWTmN797M5M7S|PBSVV4Pa|!#j+S@yoTDgpM$FpM&BxU&>BoH`O9~pI)saIU~ z$*oab)tFOf-z@D33|VMvLu>sZje`ql+@&?QyQpq;B){-kg6=$F@&V~QHa?zfB0$ca zvsP-4Tr}{7uW}kwN($w0Hl;IHiaC|JYuJ0zPgNyXTXiL9<&C=>h9ic;X3;{nN9D*} zy7zTVt?4IaXVb9`&k04(<*ClG?QSlu@IMW7iRweEsc^Y$wg}%fC&P*Sc4r}txJ|N zGDlM@i%_g9-HuB5f@FlaX{=zY$#Yf8kceh#YP2nOjIKIL)?tz(J9Ia!S&d7q9X-iK zO2$HIHf>HQ?VBbXj1Y~#2Wf2Bo~>VlZ;HBCb*qz=TIz}8doz7SI;93AT&AZz)mFT= zqG;f`QfXfwoy7oMn!jyzRmfw0MlA%A*SiFrrYvB@oX<4e`(QIUj*(MA=+nFqrX$Xe%9_pDB-qvWrdD#@`~ z%WK~(n5-UNmUmDrwkDx}9`)gp%F?#+-G=N|0%FqAq(4tIOnnZy8`;=0d5oTS5lx}a zW~RAPTGgpkoMf)%F%sOV6rJ=(}wd+MCY3tqa)Prq#6!cB8lB?qjY|wH9*+uVA3ItDBC;?--i}C26d@ z9)mrL5ozp1G!5%tzYOSkr!GpSGDouP&0^uBniZkErCKRoS~E#E5=>-`ETgHx?t^vB z^{-~px~Z0XRiw;x%SqPkW3dp>do*%-HX^>UnWp%9!mWC6NhUTNoN~s|*LpcRY_(yX z+vaD((_CKBrdPGB^#d1EWf>`cs{yn>`gYAorK=1CQ@J1RRqQ)N7R2#J>ggB^QKT#Z z9BG<)Qa?%t{KDLTODJv3MRUmtNEPlB3g{-Eiw>KNnI3%byz;uu2h*9NLmMz9{I#`F zec6=Jqh`7*=xkYy3!>UY^W`)vJ0+d(Fxd=tc1=5BhO97S78J^+GSw?l#^NeYut**` zA*FH^NhFduC6JKAwinyJzmn-za`gR9)92ZBOqDF0_#AzWlO^-wTNz5FyVR^E4lGTT ztsR=C*;}g2pL~U;RYskuL%uF|~mSIV^*E>^LT z%Si-qS%xe{8uHk`X%<-ca}o4P7^4yiWuB1{!-r=tWDW@7PoaSP^8*OV7FUr)D6-7NF{P&D@x}ErbfOAazOz!#bjzw3t&UOMV`b4Y*D;vKg9}o> zW^Oi;!s0cnQRHe!Yr#ldiSFBMdQyR>RWg*=EkE1_uhcECG1Dy7i`vwc@iIfxJnWUS zFRJ45OOY7~^68q$LyN>z!^L*M$H!wKUfyD)aU}{CuSE>52>$@uN4Bnu?JZ|iqqlXQ z-5iZ-SiFu(DRmy1>olRQMhGX43DQloZ?%n@SY(D=ln@t^Rb~E)d}(9Wdfjh#tEb{a zLyXfiH8j10DTjuR5|*)*s`l~I*M~Cj#~j(bhDK`H9BoPF`ba6qbX>PuSyG{pZbX|T z3lwq8fHvltNZzE{v8p#i(m_$h78XxYr1$fogZGy#f|;a-fmi0_y^gA#z|ivf~|cm zK^?HREJrh;1|8fsyxHnbS7y&-a#6`cW3cgR)G9?C97POG)smhmXtYwpjHV()l>nN& z7Ftt3$t1{w(soa&+8zdl{nHVpL1ImdIexwaS~ID<6^fQOefh8&sw!+ zk{Ou?D=~yLi5}J2vf5rJX4;sQ#pCUibRbj@$2U9ZKpBrL8Whx@N0b(eXoFw6cFthtW~Xt zsu;{BK4q-{$Y!p|lCdr1$HexnwW-9fVsk{Q!&(%Kq3KTj?dvhpuD9+q^gG(#zHrpK zU$JC$Esm9$GJ|WskIQDU__WNQmT72UXhkko#XMZrl`Oq@;hJxQgr+ zI{yGsdXKEY=}c@ny{>&j5uM18v8`Nndf3X@d#f5x0$8Q7LvSD&Svy9@0)W( zr4k^jQ`SIGph(oan{AI#0=c^bqIjYfndACdLq$S08%Pp2aLm$eL;etG73Y#j1h+}G z1@{5&Po-LZHd@p=L#|t;zV3N!z)KmqI%B3|X>K`;rp5Ge&hy;M+oL6UR;Du?TPjg%5v#8MN?sqkf>Hh#kF|c6r**wIVi1s?onb@(j=Cd-T zj7wIEg<7W0E(C~^G9o()^LnZsiykr4&n`aQT$TG)vhN(&J5txjeJ}3TMS52e6`0Cve%ku@Gdn&dVb&^OayX0>*vM|tlOet6 z+rAR6I#re%6jls{{5HLmova|FmLRJmvQJ7mqOOcC!;iUhDUQfwZC}~;yw+D^&g7K4 z*~rg|#mQqBkfb5lHN3WOBFzwI<<_jAl7x~wU(7?QduY$m$VnDHw@`YyO|qX+3%cFI z^ut$<%f%E5?yW4B^Yg5$93K+gkr(SzFrU?l`H85@v9-WMRf+Ahk*W zmaSJ4La_eqso(pOz!=!JvwX2M^2{Wd^sI)pv}3b3G~vzV#bve+1*6{})zKP@EI zau%``=?PL^@94u!S+L=ZRRf*~Z<6bvvF|Hg7lO?cXg>9~-k9gC)6y+twXD617Ng4Ai(JQLu{mgkxhxvFS`vv@ zA@PS1G}EL~N>)jGkh>GkGk9|sD=W{`r}E`TVI0uR%m(FNSTJS-Xc2`{+iv#~2@(GQ zfo4gKEX#_9b)uj#5wv^AsSehwPf!RDf@qDrb!V_-Mk^JqE@$GkiqFfE$82z_l4{)g zso`1ftE&p|Uupm|$YVboAeN3^*K^!StzoI*PLG+}uz0I$TBq0as=lpzA~QGRjj;II zcqGE)4sRA~$fEfP1?n@!5>*)=t+J3)CEt7W_pCH{J@=)3H?s}-3AeNB8r98PDLug| zPHf8tHl)xjD>wBlh^2UMNPY`-+AikxF=~Bh&FxmIThO=rxTB4zac!*Rp^n_|j!MZ0 zt6po#8BW+^PobU2kB~gYob3vQnYNlzL#Q@4 z0M>Z~1p0nRZ@e zvR=*2nbEqRowt~qDTcdFJNX<{3fmq^e2rLRjOGyi9Sc#$v0OH6q+cc3l&VCo{pqi# zZ|`S42TQK(xm^ot)?@wa+m?DvhC>mn-=dL5mwIKFmL{)43r}Q2*Y;fVptQjfP@zHe`!5w!((#!o{DU^PQL0!1sNM1D9VrDsZ?$f zyg6>1WU=vP@so%|&uXgUF2-SBgXVT9Of_?-wKERXau^#p49yvm3CX_?o45$iR#V@ zr5qnsHJHOddjHHxz%Fpq<^WpQPWaW7$NWQh*BU)!CSjfhfNXVN5DkcHZeAdSk zZ4{EMw8~2o>13c%K^14KcR}%%r+{&?VU?v&A_h!mRFT)x#Jbr@1u!eT1!N$BY!6la z(rve>T{77|UC!(~4iY+2W9mg(qRl==&7~FA%!<*i$fsD*!_R2R97ZHX9jt}y`=`6h z<}v#IUP~2Wv3fa7bg!dJC8LX(sn%;z$0LhXqqE=L1i^}`s?7?<P$`~ugeDYO>*1G|a(c~$(G3p%-Kc?`5U8rPz~QSmTNW~+~y%gENM$Y6u&q^}~%XS(tr zU}uh)zg3Q!98X-bRqvS6jqDsV%?t}oYQUAL_QPs9C_`Sn@pnZX)Re;<%UaU4u3i$z zXTjboGUrXAnOaEKBYrG~*qml#!GZ0Q6Xh7m({8qDOHI?!eU3bPdaL`EAAXLj{R-tfs$Gva?AH zP`u4F7YUW(`6KL#CoLzD%c}QlX~1aEB?0RTiF=jFe(~m6AYqu(Cik=^c6akDD6h zc#}zjH77SGL&0JsCHLn|k(rXT2>$?Qj|fA!je(6F&BaLEeD3AEWHVX$GTX-Yvh7xL z`vt3ZUj9pE+%`;;wUY$Aci3xr8D5Gs?{2^d)!~$@Q~r zs~+d>K4Q&N8?N8AgSBr}=`H8Eg?eKRuj}?K@uV{{F8WMr*!y=krI?9hUhiR;-}Zp{>N*OkPr z86nm@-XA5f^-F8mGncGhv9Maq^#ds_tGDty7TJ-;H7$2nlI668;)*Ld2%^0l5d3xy zF2{I!lA7~co)pI)SlM!9Bu%xXi5(a7m=Dktqbh);Fd(1=FUHf#KZ*LuZ9zOgrikT- z1g<_(iBdBZ&MAE*?oTa>vm%Bii!uE>fxXdAsC0*-+t#Oy8om#I*)|*|a;C|$=Nsj} zZL_k?Mve;vlKoQSX?zTp)4sD?u_RSxmPl0j1NzCe1)cXKxF&uYw;;i(VG(~)9JX*7m;drJ48u4tHk7Bx^+ zRiY%=8V}Utc#=Gbrk-f>arWe-tO|LFF61h&8Ep%n*D`a@z3#c)M+JwX3B|z zRkw_MiR^~OgX=a+V*RqNqh&8HdK_uW;&zBDNn&`jdqtUDuwAgLNA)jz?jAFGK&-GDB3m*9Xt&+Jw z(tLR^)vVXXTf*j=8Xc5kqn+BUa~3-bNIZiN1~3&ZD`jHl0vO9~V3n3RAX`wEw6Zaz znUUF4h1$ds%7QDscA`l(4;Bsdgn}fD@GYcbMUF|ZM4Cqm2a4%N(24Jmw=ypD&NY zwWOtjxp#BOj*K=MSXG%*iD4nH-Er&SJa zN1>}@QW_eD4RQ6XWIjngN;Yzr+B@|PdzNlI7U!R{A}T_#sEQe-d68S)4tXeQn^IM| zC5)!qp4Rmsdt?w>Y<|0mwS2`4YVrkPe&l2!W`VKnenjp)wAYSwZ>{kMhoA+7Z9LFV z4Ga80 zHwXQr@0gJAJ+gI&~Ti-7nVcd_cvvu5hbvdxgUUc+NC@~MWqS}{ATmQ2U}m2{>( z_Yoz9>Mr{(XI1G}^ktCi7<*N$Qr~)uTeW6rveq!xjsq7wP%GD#)%>k#T1e{Hgk8ky znJkUm9=$=`Z0u`V-P0nY*uY|>wyBi_aWBP_yF#j1yi!7tM_7p&ktFZ3vmo+(ynJ*K zv~el`02^p1MXpIDZHp30-3_GQMeyvg}M0-)Bh!seB%d}-HRE_s~ zIV`1B2N{OMVWq&)L)#j(*$F0}_S$hki5p0@;s!@WR%uUvZq&FeC6C-J+Q-|ehZb`< zoof$5vKo0qk3STdOwC2C@?@vVPZTQlON$E}z417W76pTLDi`1aXH^}I;3xy<` zV~b!?1-{k=NTWrRxa80Pir`;UOg&N9>*Qz2s@#DcIp+U47NW$<43M^0p`%vydswb=2(mKO}+3?O_$i;F&5}bx2 zDOR=X@k*;CPZi3I3s<>af;f^nd)6n2#$DNCStmp4wr2^M#%46Frv9@wCd(|Ce6~UJ zRIJsRxMs1ExRxZz!!I8d*sd|Ok+M8;{6b`ZI2i7;Ww2Ah4!L^vHoQwB#VpQawP(6f zF|%$V8bRMOm0=8)rc)3Axg+EBQt4jo`j2HQVvX!(YE*dShTZ5O#^fT6dspde!wim> z<7s$kqMpJhBjotvaq=jWEK4gG+1N>Y`*XQ=9kd&8+IxUS`}5Y>G&d?jM-{fyQUx`- ztefEbiWGjvsQPxo^>FMs$@g7gp-K}eQe2z7#d@?L~EY=0F`1!E*DAkfh zY=mo$`WmeN08sL@Qpab}$L;Ihjz+Fl3sm;JgJu~!Y1^*{?U7HVPa%@Y&W#bBBw zhSp9QWtP4}1qiW=XqrJ<)bol)P!TmaMxgpmqK>gi4dZ1PNlq9mM(1H6_SVAOG31f& zl)egCaG=i930$ZqTzr@zWepnAF?2Lcn~*qDtV#wuTm6ha<8!%c?1bn?o5=mdzmk)pc0HQBkdPP?^ z)qaxacOP>-Dn_wxU506LdrwfcS}_K9k7UDI7i?auSC*CXm^!N@5iGx3Nf1RRs}1Ro zRWq7aN{x&L*msIq%FNVm#d6LQVZ_ajy%950H$w}SD#s*oUcy`Ka}2F!fwhlbTGF-O zb~!wCTpn*Te=Dx%t%gf^5ZKF@jfRb2i!$bMuw!MT7H8q^l^(6d7b{j~p17S^{c6S4 zVA8Vqj|VyiXO07x6mOFgDNxbI!5b?Wjn*i6U(e-831x`dR<(v*kYuB_^CH0VKKRwW z50L<5ia@|_ZM$YaDnD1|<+gO&Cy#d%RFrVe3w%xx6$qq9^A&FlIC%K&9lflP_J#Eb zW-t#EuwcBX1N%rlHh#y zbiD4Lx9hf=wpR_ArtsQ_$XM*eV})v8##=y=WAgMSn;&u)S)-eYJ3TjI&xNW+^J6v0 zx8`HJ9r5l80TshXVwOb}V`--a2bdbX!Gsw_Vw8GR1~njBQc$<3mA_IltczffREBEM zw?WgmI`QQ20R8~++ru9m@z3B7Kso*JY5A*mVfDa$|^T(;%H?PTA zoJyrwk^(o{M}y~q{R#5##avFQ_>f z{PL83Mb*%=WR5IX-==t{3<2Qq4TEB+U$xjj*8Td8CV+x`cmM&&1dqrbdFTDWJ^}vX zIUbVcu1b(NAwllo6UgJ9IPh1V(mWp@li+jd=VHGcjt2@ztW z{dnrpdSE+0MIU)ePaXdEy}N=Nk>NDV(*_{&$NP`={tx&E)jkkGAaFVRPo6mB4m=M( zk@!3h{m-k5>5XvTqSw6k56ai~r|s#;A878ARm#MmAMNEyAeQ8CNGFrxo*hplpCEnQ ze;z+Rc=A8b;B)@~Ujk*1^BR=$Z;t2UufK1%_3JD)6)g?~@{Zp7hrs0D{a+nx5zlZw z2ORQ2AC5o=j|0zweEtAD{(WVw{{VWg$UaBg_YcaC9zgv00C+x0=Z{!evYvmtxqJe= z5J4RNLXZcJ2M3Tm4+MJoTeOq*^UpkX@&N=N;k*IC{{RGjNBcvONd;(vY+q{j=aJ89 z9nWrwV@|P3jzJ|zZhgQY)nC8-J9KMwt2^!Lhe^7jTd6p$zUNV|;p;)t*|qtpCLXS6 zT2{L*%N>L>Nm6P@vOlIFzC{Fu1BMUsr5;%dcQNka4YU!jt7v#f#;9oyG<=R zFNSUj@(`%t0r(vL4s5{;a6m1gBnl-uOi7|%?_UR&lWDPreWcIEHRu|!Uv26EC5hhh~%~3 zZUtHAlZ{G(Kj!U0{k{Pljt>A8@(<*J$Buk+&fRMBTA3lO471HAAJT#*mRB6|c~mFv z;DgH^5Bm}KYs6tszEI7|p2*R{4tXElA?LMAa0o&hz#JbuC`FpR6m11rjyeLr8H*mK z2b6wznq>lM4~FjUamya%UeLT8WNyNV1KjakS0lY${GVambb=fLY?6Cde&lvM-TTn( zT|eheBqWK;BuMzyt#$w7j1y zBl6M}Zb0Ob-g#o7Kr+us`bV^NXJY+>UP`s9H4hJQd}OkqHqq&y>(YqjM}oMpyyP=c3?$^0Ki#xi{9>@)(s! zqEf_w8HV%Eu~Igl>N!2E_dNZYZ#Y)oF7H+KjeDTo4C!&FwRKmhxO}Djms0Lv;+9hm zk*n|93>mhYjT)tZ^cXrq# ze9p^aY?ayU{8*I8y{T!#Rw-hk71^bGc42_qltC@2VMb55{i6efmly5drWS0Tmvpk~ zOPaqVbJMfbeyBW5GyBGRw541wIczo?TgOTYVR3OXqzP)}!o!VNMcOfx{Cu z^(lm3MvS{usd)#Wk}J@mX%!a8^seS4l2}j#CJ%nhWpYy8&F3#vv1MhF-Kv$T{^gXF zS_BZ}vW$uWksUio9zylKQZYj{CB=pme)<+AQMlU2GkE1}__$Ql&6C z-KIaHip{&xhx(gq76UDITug+{(OQD@Gs_II3Z|tLvSVJd1~zO>69LZ*@J8wkX~|H{ z+)J--AgYES08g#@xx1%a%WAQkHF3EWlj^AC-w0mVrogAg0xW$%1iX{!7b@o2VjO5npbvJU=L~#9006K6fegh z5`4Jnbjx|V@u=6W)&wuzb)lw;p4-5yMIOCtljG)fj_7X*IVhFNplkG$P zL*n`;j~i5R#26}o5;gdsI0N8V6b}_#4x{hwJoEYEf#eW*{C^;l3Z6+Jj~+aaSu4dP z^Fs_U&n(jr7AR4rnoj|{RU!_={tAxJ2>#>1AkO%Xk76mvlI`1EOwsV?4XZ%;T$6AI zd~(}wj;&&>6ra2B-K*pg>QBY)n%_^^Y3aJIF9~q7BINSozH4coRpj&V+K|<#%fq_@ z6r*k*H4vejvchBeCWAEK!P(TU&0|yzR>Go!PA=243l5 zwQ|+c5X#7lU{WtiDQ0-b!A7An%Di_fMC;6I*6ZUd$dw5b*hdgE{fSzycWl;Vg`{;h zW*nqS$GuUBAQ#||k59)ME`zG!C zxg+oof#}rskM2in_VvEvGq_BR*dmJj76dU$L`gEq12l-e$f+X*Wl&tNe;v`0+<-{Y zHA|aB)~2i5^t4eA%O?sNdoS4nG=wn)nUP5)zSJX&J*@j4Puly{+SUvi_^*wUJj7z4u>`n# z45xQL+#WBuzP(xQk#xV@UW-TE-WE*$8m2b(Hh#J4dK49|>@b^&Uvgx}|LL}*TUj3-*y;iGFTF-TZ0k-R#=F^jEmLiI+ zj;v)ZYt(Kwr*7=aHg5~8MT){>Yk?J&v07VJl7zjNdx_e*Q?o%O_)g2pu}7%@Jfu$8WP zumK>DX~{AEhcZnoDS|Sjxfrt*-0~u@1$~IU$_ptByzOCRbS8WA=-%(`E21@}M-H54Fk@0&*i(kR} zKmAN*qmY9e)oVW6`f0A}b1i3&DPvUGI`gUG`h$+fWTN62qPn&<*ssAOE80OC1e1ve zqo4KKv5LZV3)%kwM(=I2?4P34`tn3%tVm0M<~i@{YdEM&5E=Nj_zt(qb$-#&&M@% zm5Y6y!M{m%m?VwJk~s@9)fH7cNCfb#7jJTCk!1S1U}h_(!ljTOJ`KBrZGSFQ3X*!s zW3fttc;2>n>@jtYw#~5Cr=#^6y!f5#r!}F)>e6N7k!@!5>#_^RoWXhsAchYgmr#P3KYg##12rH3-_|AXv3iVR(#s=8r;#LbphA8y%(bjUl`HJhR(4roz`Sa%!J@kz z+m&m_TZ8t=D4+V(f$=1nxF1ErmOd2~R79fRU2>xOh*yyi5VOrpSqwZ(>3Vp(?J>&9OL3(z7O`YPu^LaGqf-Opr~L( z^oG>-HT^#+cqF&>iSv1k-S@X7&YSGj2+@k)zX4Xk z95=uNq+B*HE@=$4jf*4%1wN*eBo}J{nz-9mK^-*(Ud)fjBS_4$6m#y5J?fo#+CSP^6e^_n~6KTs2>cyz04c9 z5_lkzOJw1OjXl$3lnCX>+T1Sc&|}8(x%EpcxgyCG!l1r5q48Bhx^U8_ znnjK@QX+{`JEKIFV(|GqjmnWyU$6S6Wr^chzAEuDIFj7vITl4~soi0WjSydtzm+Y) zB6Z%P=5@@@1nbcKPB&V|w!Kov)6XnVhnBsI8CfmI3&R?l?RM?Mfm*= z_}jJW*P5*Gg_`;PiAejnt67`6yC(#3et6>(1!#*zhwo6$!_~GtoVa?%T&6;^M==%lbw7LAtU)_8pJF=drGgDjwrDyZY9(iPA7NY1OGPY@|^vFwc^+S?ikeUXsm# z5(Ic7oe%X|IU_<@N}on{Pu-efI%m^c6zK}PJ-h|X=J}kjkF%0l=Z4*!OjFSgmEL%X8s^Stwbp%+fVKWpjAxF*s~hTRBOxvBxFcveNkIQLyr=h~sG5C?$W1 zL$u4@Llxnfl(`Bx{-x(NET+5ul(F=eFtOqqY}QT%y;@nSta2o_>d*BsU&F?ZRVm90 zRd|)u)^(m}+@nnrEgvoAkJ1&RM?SUo4Mx-fO}OnXevV0oFvDyyDTOQS8np$f z>a3F2w_eZE%pRJ(D!CY9{el?pBEw3uMol;8Acwc7!_nq#hz!sQz8w=XKOYqlFFbG zY{W~S+4cK-R^^nFUe$VD*{SoEY*Yz%6N;7wrCzl^o>(kfn%LiMvi!;)AjuO|+n=_|O;}#JA?$)G=HRatKuRr%riDag zCuow{uO!%*xUeeYO)!pGf;kEbp(oTAVvrlSHOV9pI*S&bf;`-;mt>hEV+<_d?g42> z6nS$(yB(E%6)@_sDM^pFm!8doV=u8uk66A8 zc*$ETwd%)q^{Tk^sYCSHC#v$4&DYU4N%q#aCGI7|Qgfk_(#+ z%5kb!y|m`u1UX#Y@nZCm#~nd3RD!K^95$i{Xh)jJiD@Ncd(DbZe-40p1vFsGimy0AZ;u#y!6lBK; z0E7-KyRlNwFR0kCt93@VnA#ZvFyH~;_#lJFB(XkQ{{R3-zHp*S&vpOWZ%Z?ydWb5I0fw%(ik`k%SGBw_?gDRbd!J zmO_C+AbC~n?Z#rWm81Owr@v?If=?%q!1jg&aKr)NnOQlKjxb5uzb1*YK_>mVH`}Z*p6e|u_B3$zki;n*A^RNv z0Kepc;1kCK#|If%UAa@uo0An@&<|oShw=v_l>@;%fTRz}<6<;;;FY-koTLRHfANuj zKjanz`0>X)dG*??WaU9$0wj_|R$tE$xI7+L^6m-q-J$&BPpnq!Pzirfir@y`k7BKD?#BegCY8Q}IL5)jrR1?Q{Ad(3^$H)WK zhI^*RE#Gbb0H&38a~fUg4^m9-R4Sw^)O?|pxgF=s2_R#^AM`wdUesc5rnSH!f~PId z0P!S@MM?pHl+JBz^0Q*4LBOD(dLjl8mrFjR* zUVUv5hK@2;!onn=JJwVrt^6L;f49smhbfhgqOICQ1afRbEA8$701$7g*376MFK~`KX+}x`!3wo& zq-o%S0PZWnUPmLA90TZUhhye95==(_0D5Vi-H#x4jTLyJ0V1oS0*9yBM+4rY3Kq#f z<74g3e%&Nk`$>ru2X6Y32jB)H!1J*5*&>Q#8>*Ho5$!#)G+Y-e z=g0?+Is6bn1ADWFKHfM4en+1qf$LgWJ&pYF#Zj;M{{Zyk+B7V3 zZ=QLsXwbghyPF-WtiU3|83^tT$mjdHBZ%1;kGr&i_~VX9=aJ=ICyL9>9fo8XI2_vzFlgJaOqZ5{J4elnC5_cnnw-2bNN&kU{h1l=uZ($3C)0#~)4| z4=!G`{hXhi5J2b81dr|>IrID;320*+lN2LsWxjbBP zT!P)Yw>8@+(cwW}M6Qp8dfNUW#LAz1j5 zrP};)H-;o54hduhdw$|b{H#M{iDA1p1<{5-EQ*Da%}a5J;+umfV~1b5HdFoU_V%7v z(S(vVqT5=?B#;Rl0K|{IE7xKfyH$viLdj6nN(Qj#+*`P1ve2^#1^Qp6I%7 zjm_)W?yKasEnux#C)Rq2LkHA7e(nl<%H?5nrL@t?Bvs9sr8b_qP~v~;6+el3pS)g} zZ94@kU267E(0%a5zuwE`vRW0Kzesj`gcmU720jZ~)bn8>Mo|s=#Ne!nB!)sh>0OO^ z)HYops{=gNX-AZyQcgKbl@Wes#aveM!RxVl{omA$*Rzrc@Rh}V^?0m`;h2%TE?rk&XG1xQR^_+%xi3{J$N zUg?@>v2kV;vqd~%h_!>cFz$xJaPh}Fs{`aS=U>fU#9Nyj77wb5S~lUp=Mp@IBOxUj zSXY9q_5qCq@H5n_EW{-6*shXDl0>iQgc8BLFf5KKeBl`1w6&eba8?{pv}WzcdV!Oq z%<&lF&YxgDVkDvo!mwnb9!PxkpaXhm3Q21rs?ROg*xz4UMZ|2&((LZtj=sAQub%0q zcMa6+Y*@@rcIG%wTP>!^a(W36`bSxENp83hT9Pi$m=G;ubnAUP+;D>3JFsSP*-Nyt zwQghW;PQ~okHTBOUo3I?0aldqx(7?F0`oU)k!~jhK8qV6f=vK{6C|(whJdjz<+rZl!jk`8X4%H%nkOM<;70rI(<&q4e zrb{1s+%sfo$zphtybC=>w$|%O6C}0dio{jpiZ+%wL?z)M*X&i|Y_Wxha>LNdSbJ6L z;jt7lHmp@O;(OY}RN}9V$_;SjdWMvNvpLS>$Pw$GMJ^?3QP>)gNWu z7|B+OZ>KrllIFJlmgJ0V{gN|Pp^?q&)n;HpnxVzT95O#_ain2`O!jr3V|h-O=$k$h zCGH!eE7Wa!aK=@qlgDcvV!+T`E@m1x@b7+&?MFVZjglzxG%Hxde3j|XC7NQ?5=&#( z*v29xMI@;QcbKlA0%$w4(lU1Ec?1GURtv$%*^y_Vl}ujVFhZ_RF!S2qKXyG3+LFdY8+2gz%A1c!_CqBWb$XFj*l?3!WHUu03okZmF&R$M z-O8!y#TThV^)@CtnL7|{{Wi{H`jd)=X=~3UGd$Yei<8h7=Sqj_ZdPQ4 z6uXGgNs@LP?T&V_M?O~8ZK{7!7O4A(pr?V@mZ|_yiHvx_~uQl68y5vK(bPJ z{=^mv4+>3^Nh)+1J)iV9bHrb%)Gn*_DWcJDUdij*ez&aF)a*XbR~xU{S!KDNvu=24 zSQPT{)B0b$;$x07$G%W2ZMpuSZM(K&eU5yl#~NiCTvj6;QEyPk;;m#*U|`j;82DtR zTAR}`$r4qrvCrFKEGsv2HyAyiYTPga8qnmIYQSmqC%cH2om!XV7+kG*ZbH>BM^Ax+Z;PY6fz%2TN7^9A6tA>`AV2uH7A76 z5RO|;Fw!fnS!1nk85{_sm(=u~_67>fpbsq`yYf`+S_7LPk?Gn2x*ad13ymm~(UFrN z5i^<;p~+GRP!qW9IiM^6K^6BIZ@^9-9eXw}+q+r|6?QnD39F?ru`KUiP$pSpiCUSf zJn~5_aCZDEArI(+(f16-cU{2ice7RX{hF1kSUgJ41Q28HYdLJScC2__qj2!%p)3D{Hdd2$89&Y zZv^c-KmZ=Z3i#^M^PO$>)sd@-hdHX`x|x#1RT!bWQkqR)E3w0j4Nk5@If<~d(7M*+ zh}oV}C9zVpuJVFe52%wp)GnCyO2$oM!A)i;DZ_pZil%8H!{G2b{L_5*udUs89YYU^ z!d|*!tyWlSOOds5l}D0Ea!{nhV=;(K?M_vn)>b7XG4|x{=h8s#Sg&rJJD#T&&0`#9>MP#BW8jv~x2f!ytN6$> zd8zBkJh?pN)G_!9O(_pg>G4t0tq}qUmd%QPFcB9}b>6w(*)^;e{sJKBUec2 zf%Uf{O0;oN&>U2+g@<0HC98IEb5*Nehr(y!Yy596*0(=U*1bIsE7D6lPN%rv7|L5V zKV}=Ww{ln8=&lsaIOt-jP zj*EuJ?3lcMM(#2w`yO_Fo@mEl0U^Ho=bO@49C(P+xq7Y2=>GSnvXR_A0}y z(R2vJPu~e@onY$b0jtu5HH_^O1&mdCIW1ca7B-Z*DGV^rjCfYOMrW2-mPL`>?<#|K zHER8)!Mcx2+g^WUi*QRlPU+6ko}eMXSJ-uYHptkGmS`${KD&>};I=f{G5L6*u}YP! zZH#mlD<#FNYB<^LL?CUWq+I~Z)x~Uc`+~qyxUfZ$$-{!_uJHz29ZL+;e*KfoYgID! zuyx(?5SkU=Ad%R=Xcn4(>oi`zS>Rx*uO=j62KKowM%%)&pbE-3DhaYV7e}qw()uEX zd?}`yNgDDS8b@NpS${|^wZBkhAkhP9=9oD=B@EZH4bLL+*@lfSzb3_eV)5%<#&-5^ zO2nmJDURf+a=uO*6^&TkVt27|qDYzu;$SCw$4#tlSjmRMvFT8@>dns^0k4+Ec#i~MYTSq9hco1_|Vwf&2wJtU=@%ifE9(zB9nTNO3N zR)-^d8*v}!9vYI1tt=xgZ9KHIW)6nUkN44q(7~!da*gA`l zk{bqFHK)sM4GFW4#-ugvPhwndE~_PG5+tZTaaqc_VJl#@Q)$>ACyT0>{Bksq)5oQM zk0X9LQfckXl~lNZ$v-V;u)TPDx!^l0F*EKyQE6^pWD^#+S;fSI2)H7N&M1pW#j=))>*i}=Jbm^ zb{?bEs_NRk8FhNR^(!5#-nJX()p8j5GMO0UoBFiMWvN+^+QzgpLW>m17EZ9`Z6wlx zB(Yag^$V#cGiAa>B|QHC{4Ilb996M7X`PaiyniT<$f~n&M|rku+BfOR z&^^M&L##c2>kqk}rpp~ka~(7G!-d8+qmBX;nx45gQ8N?dV}_1CDPhIhp1n3|Ru64Y@BEZwgg2v&wyA1la@ zG{^x`2`M7C49Y(5Qkxf9zfHc8X;t@Mah(F_=RmrXH5|9rY1*|M4&Aon>RU+?yjOo| zYcQtAW0`h~-d&1x@o%#h>WT2a%yAWHmpNlQi`vv>vG03A<>`sd5-+UJBgKr?pBTA zM2U8VC>m8IP0-p8Sf)+{;7O6BW*j$0Nen~Ih>#YUcT!1A2;7%I7hCoQbS<{$Q?b<} z+VFoxHCZEqwkI~x3rQ0I@tQe=u`8&A63`{95B(DwtB?pLj=j@N4((G9)7}37Uuo#G zr|hekTz)e#Om+vV_>9`vsRhW@#1B>Du#YEYbe$wF6|AcR>^s@VP<5?~Khci3>DG0e zY*^T3%v%{89P!^%Y~MCAn+AF~>{q=_1h~hFgX3ViQdy#f!_5AeI3H;HCD8u>w&6B< z8rHdMAeil@d&6nLY?$n8*n*v|Vyy+5)}t}CXUbfTjcW)NcNc4{7bFq?0NEQ?)8vN| zSS7)ZRGN5>M6gW_#XzxGXOPDJuSg&<2I#LUt(&3g`4hC-Z1#vl2-(UNLc!4~3W-Q$ zA)^I>q8O3Taj$eEt2zXjtfsrSWj9SvTS-z185;HPX5zw|aXk2tZN($O6Bvz4(kXZy zYb!}sa?!*Ly}PEmpIJ4nGk3>fF6rAv%w3#j<)_xf)QSPHW1sAbB`3+i)TWOi%E5M6HVUHh%QIP^ z=~ih?SwOi~d7zrV&t75#{Y$2L-p^*9a*)Vj7U-<+Q7zk}XI{xxNNr;*s#Rr{D_D$z zM?D+W-@2*=3cPlPUDSL?`n;|6Q9~w1L5+79)dENQqmVEv3vFT+_#uD8VCNnlOBoeU z)8wH?jzFPQ9pT%60)X{Zv;d^lf>)svp?1w|h5rC=y;P2T?@s!P8f*q)#B<%FfZA-8 zsRmOYlVK;(QOejW3C(NA2${+i<5$A6!me&CvI!{P zS=sABUKndCiw#7Z)-E??<2TJ-L@&CB(!GY%=4(qfJ7>k@vX^A9T1YA4v)QWirRj3j zDukaIPUdbYKBnw3*GOi%e{rP^J2TEiv(yY6ol)t&r@POOmcGw~j8MwiwN?l+%WAB% z)N40qs~X6F-l->i5v4l+05ylSu?V4B@>aelf*fo^D#*;Z#!Zs>fhA~xVzE^d_D=V(mLNVMzX3a>&rX>di*p zXRUoc*0NOW=6-E%O0r_HHRx5lJ~#F;liWf<5CSU|@Ui7`@<#Hqz>#Dpi2_1lTRiD@ zi4M!wO*=6r4FzhJWsc?Rwvx@f^JCh*uiSDnip9+J>dw`wO9TlM#Ec?n1T(ZjUsd{N znfDj^hh5en)^c?4aIQYyQ(-r4manQ~7vsr{d_&>*rOmB5@HJzGb)M|Wl0#tDOF+c% zo?Mb@5oej%9zh-^G8b*WnAooNu%IsR?X-qvuzxU{=q!C!DEv|N@<@@57emg}CXu!& zX#yaIA$`j>)kRTlX6TYcGmhz2KiQw@Vbx8l)!O#=POafv0YP!lTCkaEI+H^aUmYz& zW=gX=>xV*H96tYDPdcOCAR`xe+=!dqNXsA7`^uGsNZ;>xFwQ>8V zXB%5->Jr8yj3tYYoU{84DH>R-y}9Y7xQuogR?Fgc=?O8*K6fQsUC`%>8o%(3WYUYeENjGpr?KyC`;WO^u;usd z_v4cxxa~EwdtOS}hb2z+yOP<>ELXS>kCv9FiJa`)YS^;zq;&AOjICIuuV$r-^GPw` zE)(bR@%c{{REB z<1OmirblwCei;_k-0mjj=`~$uR*HHUjCGy0zBRK_bgUn78-@_(aeXZ5{c9Nw7p1V% zgIvFTtVd^Rx12HDySZm8e5P3ONZ5|J~tPYzbua{lQkRyS-ke*GvqCNG9p#QK|+OkLVDH!pC^G31LPF8_1=QgeAG9$8Q;V+N@Zltl5#TI zQh-8aEE+~TNdyKU8fx5B{-z*Yu(pKNqcHc@$KKCM;lU>7{{TblswxmzH1b6sm0-%e zl8mf4nRNYX?S{r#$y2jl2=djeCvzC#%v!4?QY9M9VVXB(2vW(I6iEZbLdaD5k>S!} zw`#TudI|H2)EYS|N@Zn&HorVOr4?9m zWD2aY2HZeaGy|Fky^~#!diLQn$2z)X=VV6^-4tckCBNhqw9?S_u0P0i8gJTku=L}n z4-Kl-yEEB}Z6a6r)Z`ZMjwg66v~dUsvf^H1XcOUSk-OCuwpio~xed3~N)CH$~L6(lv?idO|k z2E}_0IqIucX7b5myp}wU?Opga!LY`_p+woCcFxptd%Y}U&qFVI^_VrdYn!8-#pgy|He3R@;rJV*XrlZhq(3a z%VsfR-RiTq#u7TOO35E8AheSzzIKroUy3w*l?GVxAeG5BN0?k5css6?0&azx1E~f> z9XwRT#A8N4Nb?CC5-d;zo_mv4O?3-(4(0_~qJjFa#$zmjUGIL1w{{Yl^ zN_A~n7F!pJs}n|#Sz@eYooj*R5fC)&P71^~FWH6C9CATgHb)TH*z!b3sJ2)nZw(w| zl1*ZywBq_W;fmasexQZ1DRb3ta#)&}jl)gX^0c+w9-q?cx-Jo=T5R`o7|YnmC&pHK zY{>CRk*#+jn!R2p{r*~Dk@+57gix78E;Dc^Y+mb!aM%dqOJC1it(eLbcu^KKCO)8FK6ExU7mAfXka_zea zyEa0N`qeQRM2coet4Og1q^WKhJ~wH|(bpc6YC49KjLTK(cCnSMR~ML-ZP2fFIIiZP zxU|kPJCrgRY)(om5qwZhTO*XEW+jY~aB0eUB-Y1-1dO_PvPHf4565Ghc=+Jm&QVYE;pxg?QCsLyoyZfV$=rTSX8KYp+l zYO}}1nyZheIka9F{x%IYn@RDvYsU57LO-hESsSbsu==fphIK`;u&qeJVy-dxx^T-2 zM68G7hE|d}V*rC-1R!>W3nFFpOIE&;)?F=C#XXmnTUl79hasLQgu_!4jk7!1EWOi0 z(@QCps>G8OjiOaCuT^n25~NjSmb%=M!ey>kkB(A%So!5zl7(qqeuzg_xF$4s9ifK8 zMZ+X@?yOWpBPj^eCzhp{f`_mI=nD@7w zJcIq<_cxw?)&B5VM+2WsDJFR3mNyb4kvx$!a-$=_%FW#gPt0tL2y{@4uDlW$aqD&) zJUD(y<#;2W2?TxI9zo;qSf4!b58OPatF&U7g|9oSo@>+TuGhh#{&&+`NF|=)6a4J zQq{9@T(zIQX)MaISc-c_#Yro&5j1~Eaw(~wn0?YBs8Z}DLawaMU(_x%aw7su0;hu9 z_*49q@&{-f5aE-V0GJ!>0kiTdudUF+q^l((D~BAilEY}?h$6tF@9)6t(r-+<*EZFz zVm5OUj8D-;Mm)a1Zyk~PM-o5HQ*g#(R_j%?>_qhBvtFds2Omv1C6%lfqCVtxoIZM< z18dLKlC1U83mEw!T%I!hYZVdk*On-!PuuRmNtcvZ<>73tg^ocYr;{$0^)qJa^_9Wz5)O6PkY0Nk61bC%{T8-kA86sJ)+%LDDg?rc2taMM@MOd)= z{=HUO`X5&DLl2SIwCgfP1v@zW{Z8YvXqh=39{wjFuTQX^TB|HpY5An~ckVlR(X*5_ z(|Bxj@o?Fqy8ZJi*vi(ptl26`hC>98b%?pof5!91v&5oVABzs@-&=NlgK);@HdzjZ zbldqft*)C#atoE>b*lv%5Zj;XD*YdPP+GFDEN;NVldUv10Zo{gIhtpO3TXArqyueSUNU4Apq>#XQ z4rta9Pv%aai;MKs3Ew9@U_8w7y$>OX?x3N|TNmf`4 zQ^`}?4gyM&JaR?ZBA(vYC!XLthmRomJdZzj9F7zd>-6x;>fIst$I(2uwhwYJ#`#M$ zq|0b~Eqb*e+O?dGcqBON?y)-wjk#+4b4=?>SQUxDJ{bgY^J5TP^m0>?(wQykw!0J!Z*e7g_(P+Wa+e~Tt-nIwUhA42@X1bd^)-q z!X$ZV88V{sl7X}tp)JWmd1W@p#EW6Ij9e++FtN$IgS5K}JB0$S1r6hmSQ{o^T7@N% zX-^?Up>W6m9FTtjxf}z?@PE%dp9hoVk{b3a5!_dfdmDfh5)Wzq8;{`e=khP@%i8$c>#DM$S3jR!7(a2;o3JwpR>E z0?o{QAbfK*qap0@d?i$r_#F8la7UgA_OiO*F=gk3fCwnpk{6Vo9fBhTkN^uKHy)Ou>DDT8M4P2-4Cpy(Tb{X| z!ORzqJJxy?vlSRWC6WG6PiuHy2X-SKPX7R`6W?&-k=o4>UvvHV>jNs?Gj=`f^V_{~ zU%wvw`$a0O%EY%L$K(0%3vt0dKO7DZJn_f`@tiDvUCCIGfLNXtx#S-131{-k3Mu>3 zp27&=OCR=Pg<`RDsGT!f3ZO?lZ2hZtSP&bS=nQ;U9HNk91V;#9$id`Kjhq#)>3V#z zL(}|i&G&CCsTSd%#LAc~9PT(1Yg(&CW9zO(n7p)a$TyT{Ju`9Bw-Yj?wAhEJv2< z*F$kqJ^1KsQ`NIpr&YS)owliSXxy>UvAcl8WW=9KZ|P#MjKN^x6t2V)W^Cw{>};D2 zi1rSvXXi_JCd#x~IdzyMh{bPc&ZUuQXU$5F1M4{1$*+w0TOjp?sY+n!rjEYCHowx(x!ZC$Y= z$!5fo7A2&XLd@)4i}x1p0XA~qyc49-=6MQ7$lBkfLq zxbh1=AQeX^xb~?Y2rn;p0RBinfA;dc5##*wrCw<({4*zT_*zx&P`rr|mx82@2Vfxg z4m|zC!1XZWvtzQy>0qRW@3*iOd>TBSIj%VEvmSLxqmotg5IVE1*O&oQw#Q)IuDhN( zAo|UzVLEHRWpyoUZK=A`$JE7@&ExxHuJ&i647TdW+U$;$=bBp1$lZqJnb zW>#{iy$>67>^Y->4ojI#aGx?jp?4_+F(3j3pKf^~_#>%Wo@O-p?=CDKNet3~1}JuL zfY3zTd19mHiSPF~wps8UGR7{mgO;>e8UT#eePNDi@);i9>6Q|z#o>vFgZg8GDNaWn z;J{b*yyjfADv~5;kLq8&Az29|2Y8l9;*2*Z#dS_c*vQBgePzwuIlR4U*6&t=8}|e- zTFA`x>Q$0y402n)IAiqnpk@-x z-)_4eU$mAocTC1t;W*$BzJX-3WX-XinHQMh7OIQDvcjyBRJU9kJ;zN04onP4rriW2 zfLWc8OwP(1Xck!#zng8@s3iVg z6l_-y7wmLluOgLmV9=6z+C^7D{{TJ7rHj48HwggAi94SW1p3=C+cxcEbsb`kKP##MO*#ETLZKO#48of$aK zj{%)fy`kF*nk-as1rAA|zNV`@k?p4*vZe-EHi-_>@;kal4FboOB}a2t$0E8~%EYoS z$8qL(5G=wn-a#a1ZzYZs?qm`1&^!(K1@im`#f zM2%12a6u)3K2M@w+*aSw&AT;Q?L43DUjULXMb4j5z=Ja* z11kaL4S2aqgCYW_ZplJBs61bx*+}>6EoV=QPswN?$d4{REeMw${H83b#0|k)jnqj1 z*zL&a&#z~W7hSndzj9n@q_!Kic<;Ed)`WQlNr_foByiyebE=nM!A}PL?MaUAh2m}>XBZ5I8K|S1#3`G(EWFDCuf_MagyLcz# zo<8U8(uQgS6M{;MJCC^GM|!^CkWHW4*x~k#rP}HzS~_i~QLpv3Gn*YcH8IM?MncTi zqK+tJX!v1O5WSm)Pd`Zn@%JH=A70hE*@@@}vuq9r-Twel@L0UpR=Qi$?0-!Cx#~Be zqa52l+l9nSi%s54ZFt1f&rZ#oGts#`GDnNV*M$8;S~SF7Ie$-ny=y+${n2!9t-GGD zcWc%(9gXg0F!a77Y4KSab7OB_r3?Q6PQ~16T3dDNw?83;)CDYAJ%;;*>CZ;LR4$%i z`i;^KuH&CAui~v^^}Mnx*u_<$eGr@$>#581S)FeuTo0y~C0a145&2KlKv%I-Q(2o) zji1d-VA01ch^<9ki$7sZv_*^cRUXHxQ^bXiuPl;?J)e#{U4+-m7mNMCvw9=4W}_HanT^mi5=-X1QnN2Cxpr;;m9S1!~bTCOD%5 zu|keX4`mVAn-A|oO3zXYN$iWNRj0LLM2%90#nf(@>sHkrzSNp{a(@JC852y!B2EEf z5Sk~)5_9Bjaw-~!DXkF#@PxY$YbrQg9W(RfoEvs3EBsw zZ*Hq~bT4=*N~G-eeX!Q4I>79+HAy|i^lC}q2_Fe0ZiqypNjQowWKr5ZSz2$D`08;= zc|T84xKa~sC@EY}BA4X+dvtXKPp9DsO0;09cNIaBMOEE*`b}BvNanAh8?96(edOZi zw(|bLjHR#8i3-ULdYHI=og;uMvL5B`9m&XGtJ=g4;~(gmd^V}SVe-31yt`By=hWK3 zP_X<_k2WKa;U6rDL7N>*B=OpKnY(0oyBED=J=14V@GxY$p_ZQ;6wgcHjf4}BWJ`V_ zlB|wM?=ef-vV{Qn2*G@UKId`vBHFUmTsliNrAF;;34#Z3$CWAp`76jAk~w}sJn##? zghXX=(I0;;Ce*mVRsjLs$E1L5xCW26QY+2IjsneQ4_yMR31F>E2tKfDgG3s!chQB@ z9XYpMQ*PXDS*^70+Ge@3?vE9ilH}Q}eo1k$SFXhVe< z%GsOy6xn-m+qY(Gqak`j8wIf&xtb_IZqO;DVNxi$0K}@}%krehLi&i^HQz89XzMK2 zAh|7{k&76uVCJb_hHqNA%l$X)*YWoyi44)19%N=$G536bdyMI%{W$8q>=q_N29LPc zi*C~Ht3&WEA0rdklNC5Huf;Yp!%Gy2-d$r=4ch8dzLs3b;0w9tf<-P9X%5nD5tkrY z7NrU8U~x@-0LOR4)G{$7WkHh(Y#$VJSJ2E}zpsnDPJWy)l%+^+m~ zD2~QY9X>X2zysI|1$Q5S!H3w&-lZOd!_JGdyTAZ{fkV<$OL@JCMZ5n4$_t*?)nvi1w4Y{qO$MP~@?4 z{n{tASDwA>wRnM38r!tfT%WiE90g$TunK#7BVWn^=y}K_&p>jlWQ5<5fkp2{maJb4 ziO3`4`3Z~9{OiYa2ILp}Jpq)dLoG=^s47vg{{Uf8IkQ*cy;u9kYb}w$kC2V`gy6YR z0cZ8Q5YF>M6a5oXnVCX{nl!ZUD2jM{ivtCOZo;ZNSA)v(02P^x((Yl)9)9O>Q{U`v zzTf=Arky(`DAgmdtT`k7@pr}kq9~5v@d6ac(0Qc3pK7dAn{gIGIZ2}mI0N!S$q@mE z-N^%s+fpS9yW|fcx@*uY{La8;Xus%3KOWpz z=w`^!c%_PX;R>{?RqscsR%3BB8Eg*d#Ok6cBQ4yZB=PuVBog7wVfpP3SQ8D?g{zjz;~zP)UP)gc zhPB+ddhs6BTlohEl2t)5z>-KvW8CS=vWgKb@AW2Ku=#58GZrBllocwVvlcuk029Z@ zQW|e1JfNlKRw{}J4JTuEKmkA;p2N3EIK(7IT11~E{dnurk}f4^rip8$)z!g@NmglN zJ(2yxfjCw{AXVJ^TSujJ+575at7GfII(LdzYegBo9391)CX!b9{s{Y5v7KZ26Z;=} z*ITt6p2QelsOdOpadsq*tv!cZrzH#8{{YBZD5vd>%vLGF?DEapzhZ_h9El+XcdC6L zpQf~NcXC-uIo)$&pd`g)C}e3_oQ9AVmV0+XqI?h zSfvuAU#u`?c$nV8V{0H2>JAA|dEklz#!(qb7DNpUt;}GRWtDggBati;0re@OK@<;u zp^OG<)j222OB)KyKGeI2OwP|8-(L8@DtC)%vEQn7kLG?aieZ_SWYLRP$ zCULZ2lu7kC{5=})`;y9!PD>Wkn^q&F>MT8Vm5a_*5=9@LGQWkp#JAofTZOxe@UnBCduN)SO}5ea#6*C(SbdKl^vvV5;S z`#;kVlI+%HUyT%o1HYc(D+(FBy|%z101fOF&wa(0*+*f2b6{Uv@;;72Wn@QXB8rPD z00Mxj;f;VtA7fy`Sq%OnhEpqNAk8$AS(4OsYe(AIDJ(Ryn{rFsz(;0j0!sbkxmUea zf#Afq?#Yz5ZtVO=J*f*`)eBQm~P=K z;)_`D*y)$w*WLjmF`*Qk2-+yJ@QL>}(r9G-~iO zwBjV2lO$+FbFlK!cncdJ?kt?JM=D)Ze|KO!{IHn8Rpq!Oa1T5W1Chu)cmQxe9P#<{ z=|T#m_~7?@Ow{Z zA&4vZ!624RpwVkl&GFlgekzIY{VT1FLd6Td{{RDn{{US4_6E91t5RE1M_#%#vPw_F zijO0+1uxjC5=ko(JAmy{gc0Rak`!xDc`3<4VzD*5@hlHvLbW%FIm^7P+%m^*G?pP7 zg)UXqZkJ ze$uYQamelk2qlR0UvId`uruJa=a9cgWy9vl`Y5`YX`BW zkOX&S`_x{~N%eWr@+q$KQLkKy5;Ds?Rih$FOl(xoEtyRUlNVOOxL_debJM@))92=0dPsICGP z>wO(K!=BlJV7D9U+N>^(}@JI_7CyX=j~ zQORds-qz%&s`RTLHgXmD;pKwp`2PR^N`YJ+2>wyzA-UuRZ{U;a$Nk?BJ)(Y>Pb#ZI zy&vkKka*;xbyH!HknpSs;zQ4AKWh>QAd&DT=u|cC~-276p z{{WzREEturc`EnK_H}yWlWGloh5Ph?l>x@qleLNZ?~XD%fMOCBaoQKRxq|`+j{||o z^XgXKG{@JvebOBB$HZGz9hTvfuy)AMUU-=a@<~9Tl26&kF^}LlbA2bu;j~O{YFOE- zWV2SOq{$nq(ab@vRLRAUoOwvoAq?*&8F(GfPH5Pc1JNt6>O-i0!?mrW8Cj*xbWf<6 zyjFT7jEgm}TO1hw0Hb#S30Pq=$^EGi62~xLNhFHY@!tVq^AM`YimKIMF?1u~^;0GddH+f>yvI+p!${`yPSapI4g!tLQmN5yS16+@@R>QUh0qB|bj5 zQbAWo70Bnf1^btkAdt+K0zw}HxR;NQ0l?vW4=M;@{(n9=9FIn~Ts20&?W5Z!`%Dj~ zt&iCB>-=&IS1D#K+d(1%U%BI$C`OGLyfUjPC(zlmYct{MYcg0zjdM5%GSIt$M(6OVJZFAaP-%UaRse!+}SOde3(tF1QkbAp$?)9|?#o-zL8hI!hx-${QS^K-vB1iuK5Lx`jU+s^- z@QQnVaL8grbwAXm=bqN>a}hnjsr;S+=e5Bhln_t$o_k~FRha`*wiZc(j@PL%BqhWE z@z~#%WaM$my7D*#B9!}(L94#h2=8OD0IPeB4{$3}C?J~v0abPEIR5~F1CDqd#VW%s ziz@6LqR2+@EX(BfWijBjD_};(PRmg%K{Ft3LGJB%$pL1x)XJpKC(~nYSQl$tRV;A% zLZU0w?Z!_JR?4wf^Vuo@R4X2RH=~kBBttCXwdfTUZ4kl?g-%q%F_9Sd&jX0$4y;%* ztBy%5S74TDtjzGm3>iBJ4g5smTN|3>4*L{14ucdC=zHfEGn<& ztKWy@=qp!OL*BR*RzGilu=!JA=MWMy#9nC2ST`%j9Fi_W6PK=t)~i>r?A^;OA#GAi z1>m;|{A(~~4(_aVh^s)>O{mqbtD6;}?vA!b#ZqLN%u3_`08{5{pwCu^*&`qn+zbUddkRtHo09c&&ae_pJq)D_cPj_|{U)T`c@o~icFP1zu>oHwW52G zDGhG30Vt9{l9F}qV^2u6JSFVK+B-HTEvG0j*)5A$8um^rx9fbFoGRUddoo?GIeA4@ zu(J<=B&N2LCo54Eadsd{;UrF<7s`@VnMCsn;Hr@|Wad1Ldd(QCa#|8Cp#*sQzY@F& zFq$B{PFyCxM-8>w!^MrCBG~G-sNB!uzC6m;88yb{u+iAb)f23BVz-INV`Y*E(zn5O zMUrI(Fr`HdH?VDroEqT0@(2NdZ*qAyIpTzBP?v0TOjah`Ynrh{@ChIT&%%;H76DPu z*-Oib$xpXsGZ%5IWzH{Ut7jncS`k4@zax^98Cr&B=%BHR61^$0^s7f5Xn;r)ovmAc z>W+hYS^96Z?ijp_UrQMI^<2HI4f%lyE$UEL#yn{#jh0~qvez(FjwFfXmLRCE93G9Y zJZ(!tDEXtxB#G!8|T-S$%&QtK%}a;k?V;H4Bp5rH+~Aj%>pH zNcbf@$RzV7kyt1TLW^IyBoZwA@XnO7z6cR3PRNr@y&o(ngVUr zJ>zvNYS#Xbty*VJdff$i8nlw_`eeWBtXx6NW`FhOr;Ehp=B&lh1DDgEx+dV4zU9(-LWRiMO$C1C7$E!~a zmEC0QAST(=9Nt!FYfB4bu@#_N)ncVWIyoE!Wm-roVdraNdoF6gk6QVPX)<*ym}HR1 z6@yk>^c9UUj+5uesYz*1L^UdNO94{X>;WpzS3km+nTz~P{7A4&8@g=^sYV!iMd@~$ z1aI3wo@<^+BvCz$lhh;O=#7?FjJpO1lE{#PIUuUC*EDzlgMG-hG;+T7`k9=?S=IV& z9u+Yj?{;C%$0>5_Z@%xn4 z8>o8RbmsRdrC}nIsaj};rR=8Jhr?7cR_Z<$st1=TmB->%z1{l_MMUxihdQ;*KdfY~ z%;I0UNE3@0 zx#;=qwlh72%3|{vouY<9N_Me%`ccIuOX@B|6!zqXoq3iNF?^`PG*^P*u{0BJhb5Kw zC>u!(!1t916jar2O0qz!wXwnL*U_PlG&q$U@v#bjP-X;Na*}r#+WVU#!4`NcHt`RT z$}|@;ck;BX(FV;cP%C7o@Rt@ka){8!^4mr;)hc4His=`~ktArDmAJU<#$$2$5o}qb z4jT_^#(F5CQc~P4{@=9OL0+p@_dRS$w8K;C767Wn(*iPY3`|$YSuBj_f5Uh zR}CIpQL$X$`gzwJjYwlZz3DSohJ;#v<&tKO##>J|YT>q-tV3%O^<}+l6tD(IR@S;- zn}Z?LIUudJ$#eHa>4rfdxfZi-7D|>jZR#v)2{919N+W9(rOh1nER?2}qkK!UHZv>_ z515i#_bkMaABx;6_bt#)2sCPqoH6nwXA#Q@iy;=D6ooFp6)m@DqZ8K>QBnrhH^58N zGrNaJlD_$a$mB46TEB_?;+5K#V687tbvw%iD_c{*)*yU720p|Jc6&>bmlI0#NonQFU8<5z zc(X&3y2MJBBaWeFbC<1Ua`R?xJh?neZkr@mnkjM(c1!Dw$JCuZIAgx~{M^`l&@=Z# zUk&kC6|L8XSzLaL1(nCg6^d+RvzLa}8x<8snPqxm6|>o!GPqe|k09nqUd)W^EI(47 zVnZLGGtAKy5mOMR!#6cxFf~oN+WEfzn%n3Gu`r^`9&E@1spHZLZWX}?f~q?LC;$&8 ziJ9>G6^#}wQ&6dHp51B(s@puOxvE;-2^2?`+40w;VFcS{>aJr}sN%H*;qld@u^F(< ztZshz))z?Ea+ai%e@si~F8szj2Mbdm)#%~fP|A`Sq^~xAB-X7oA6CL?ex6#f1!C6N zwsqJ068zr7UO>v9F3IM zHGBD55G6{vcrfuB5ahB4&Nm&7sV!QU??V#*08(j}>1(&h(h?QI!1{qCTP11ZRbl~N zKwogDcP)E{@|I12#)TC)%#0h#NezQxmhFGphE`AjLqt&|a%;IRe0GD8-}8^JVc~pc ztBK1=mCkJzofi`WQn4O7wnF|+>qAD&IDAbDB9s*C(^W%#}v{`)cY1`Wm#DB7JQ~=<=xnAjSY`U8+NMq-pxQL1aV}L z0Ub?;7()zk*;Q5U$Dc?9_vKU$ELR*Y-J2oG^@hHqs+}WL*0jwBLYm@F5y0Z3*gB5# zO$=uzJ?+0GLX-(&^NH595n}8^PQ1|6QyS7<{he>zUr}})%IO8f(AF|VE ztj^AaJoJ88(pacPKhCKPvUb;s?5254#Z)9lHe@!n4L-yx~F# zElE5Ttv=DWPOBO%Y1S&{1hUOOR%vS0jx$mT7BwWn^KpdDj7WuLlOV7$I>usAWv_F_ z?#7Wr6Gw4S);b z?azJQZ@t~CGcM6S0+FaoKLcYbTk#XoZ?g2DMJb)cJlpZ;w}w z#Frh>?uzs-g#2bSH|oYi6Fd^R#1Tw#jaILIc=tT&)Hg)JN7L{V8+I7 z$>nv4)$MDiYqw(YQP{%O*LrzM)Kp>G=b>BY&gbpfTDLCJ*Jnh1mpe92Rl(`_lxX$& zvXZuEBQ3g^=7LLK!t|%7nw&Le!AD0ScLuhWuFsr$w|aHc!n_$RYxT`fkAL4Hm`KuW zkz=h;k23`GRS6wR_~_6zhbqtI&mdUQj8_m?RJ$nL?vh6$>{E5V!2{$Lq&!Ec{d5l+)wFn!9FmKcYZlZKQI`}2P;$X3|?wfuuAO3*po+^Cq zuchipW>urLWi@PdsOwPrKIWPkwj9M<2Ok?p9wfsg>57B zuf?oo?9|q9mgQL5Np9rp%_I|BzuqN+rFfb!kxMk~8nX!|9V=SM>^gMQJZ-+4z zJGmV0FBvWAvU3^aFxk#!8Do~FJzhB_Y4RCL-&E=U0Ky9#aKq@c#d~_$F%{`w&*b&Y zCJH&8+T*QStrdduMBhEzf~1qzr!B>ipt5UMSz4lqgvlg|$ye&%KMu+hQHK(rpyoWNK~QkuEawpBaT_Mbk3i=G(Jq_-1IoO(zu&d z#@4S20<#rc8x4r<3j|3l(bhB1J%oZatpltP0JA2ejlfGrwQ3l)#@ALxp(hX_7t`f~kO^JBXq5SY1_}g0yuJm6Jn}4-vRSb) zGGkTWf=0khj>MYW#F96vS0s&~8rpu{ZtS`ZZJz-gw_^(>c8}z_0;)>iM>TU3$T$Ti zSQVB;bzvZ8{-FNh8dlP!!)aErA2iZf%iNNfF>Rz6) zL#T(fLKz-LQOOEaty23N0E6vgu;?GuHH#RXn=6yY*Nv>ljJrm#p;k76tS=nNS_;W1 zDQhpBzdWA;BC6KMB(^LL)KWqIvhSGwh-=$cjni8dGv48{)E@)2?J1Cl9{TNe4OwKa>7WHQiN5o9KxC357Gvq0eVcvB11NOuUaD{b8x9n0yCxVaQGO)#RM zl82{rs^BD&Pi9EuS@oO+#SYYfS`m>ODV|&5YG+w_>)q_%`j?X0Dlvl$e}tdhue?&6&r_ zr>4uY;<|l=x1jW^6!YX}oWpl;w6RTyktoR0R{9z?ZQ7qVj>cMM$xkJ_^S)0fOZVNH z?qej7OO#Z?v7A>NT7`65uq%S!*_$y{T$chUXa$VrctJRjy4PRTa^` zuIaH12=PYTEx6Uf>hu=88m^a)T$l7?uKN|r`8T(9D~yF8ah7V*O7K>0*_y<&)23cD zu9oeNz+)Y|s(JH&UB#|emMaGwvstUNwi>oOA5z?te6N2Yg~iz9*=TD?j+YlGnh7#c zJ@kv^kqn((;QcjpYll$kciIlpSBfMOLgZs=nK1}-*qIha z3eo^9f<<1_TWpou7?a2fNId~d?c;RB&HL5NI%8s%3zsp}@^QSm8*9`v(lZN&QW zLoF#W*5Y)Q&R6QYluq^;psu8Kn?DYg4at$z*i3f6S(>y@E<#Fi%a+Q?4Qpz}>DGB{ zOz4thA)eisYfCGM%G%4ThKC+V#yUnBlE7`_mQKt9-tJM05y@fzuoq$cH`Q}89!Cu# z&@CZGQY`}!&5IrQprn9$g?-a*dY?}%zPqQ{vwv;OQil?ms(&PqP{&ZE9G?sn8gpH# zM6j>LU2DB^%JwI*JilkEkKFgoj_zVRlIE{Li-P=P8+I9^5@aBGq=s8j%w(OOdl#SX zOC7&R(Ku9%5;S!^-+J1!Jz<*mPHR&N*|@RbJc7lF*t(FLQQShrw3X+Vx*Kqo?f6l| zYNNN*E0LVe$*-(yVuZULti@b{PO(+195?FDD;If_;;ysGhQvaSCT5q(AK)N#aWTr z;AI#(m#AfR+~oRg{Ejk^#K$bTXmOu4{Abi&Q(_qA$Vv3y6at!YZjuN}2!qQi#_o+4 z=sWIfOX==!RijD2)jd?qVPm5k@Uh}FyZWID?GmyVKAc;w z)gDfr)xDGM$!3-0*lpaeY1b(@ljNnTR;vRUC5~8QMwzGPZ<&orh=rhF!+;6ArV3;p zU}C_78lA0HD#<>;&_3N(`M6WXEHc1j_QfVGIWUF8|r_T1auymVh+U!q>$=R(a z!fH2IE@pI@(mZ^V!&TlYArrPaBXtQ*E+LP;LEeyzn0&VJ4V|+kC;ER!*5OLI4Bgt1 zOOL@^vTa(YiN#}N4Eg+x(y|$AMaxwd<&pj*giP@D9RC0@ni$j>$ai3_6h?x#$s>?b zIQXzh7vH-tQn2BUIL=QBg_V5vQszfHM#vC)q;gLM0Sv@|t=q4@y9QoglvyIwc3g4us~uAUxj{kXnu4T}E62j~ zA8eKq-YMqESd>TgQb~3?Ei5@agpi~CE;|DxKh~1Gax6~&032&Iw(f4?rT$E|^UzAa zRYt(c03(jXvQ>(cMkP;_Vz9VWjUmX%W*Ci(ji{inHE1A(3x#HowKfY_T2eyNLe{d$ z6^LnTb}YPgF_j)J_loWAAu-SKNFF!r9f_k#XUT1k@Q`+p( zGZI+Jd&g~``2<`AeAo2eIFCXWh1N{15W&*kIRt*qH3(b3f z)z@x|tr{JL4m&8Q04JUY9zg#9$L(apFyp(&jtA$#^U3Ft=kf^fc>M4`m5TNcDo-T+ypJUCcn8mr zLGn4^azQ`GKC(x$03?Dv*wEve1CdwT@6S@%Cr)vGLWw8 z!YLGV9Ej-sEB*kS=>ugJ zay|OCo||p+VdaQXRD7IuY|@#n$Mv@orymMc%Hr)x^`N-|$|0+HpoUp1v~sh-X0kjs z8?0^4aaerKI}scVvqy6&gRN{;nyyMJ%EvQO+jlfm*pQelNlL@5!z1*dSQv1BzVqB1js9~JkB&ZhQyWCZd-%7rJDA!khZp9*)a8Fmb{o`8Hi$u zDU)8A`fnn^v0{@D(g{Xdu4v(2UB=Ids<75fjy-LxmCdLZzv%3~HhCtJg1^Cc;Xvf!anz|oxh?lVqGX$8(9i&ETFPm+MeF*Bm^_lj47966#@uNi zfL@^MHZb`MwI;13WHUw*Xr38V@T=J(Iaf&wFz!+h$1li;Phmk~Vd^ky_(?KS%(R&Z zIP&Eb2>|o4&9d3!l_tRgw}~aknB&XCEmswMfKNS*?p7W51Kf0A=(UVrqZhkz+CiJ% zZ$RY$fUU}FS-89spbsy{AbvPLN2+j^CJsY*~0+{Sq0iAn5E6+X;^T7WA0DmL2e*^Kr z^geiik=BD!i~Xnr{(tfLuB70&G0bky)lNGb1V~4>Zbc8b?mBLmn3BII#}NCwShA_| zp!e_r@&WvU#B<5;Il%JA0OB~3c?X}CWi1l^2NA>PpC^#cIUp0>{E~Mp#n0!1_wnQM ze2@M+$0w7=;1CJ&eJ4p5X*~1fc>n-O4bKP1_y@>g;BojKBbbyCKv*BBfKBjyKHaOI z?bQ9(z$f}$8UT0qzmDI(J!?xevXb(>6s7UKM!ffDt$V5_kYHJ{QOzY2L4}=IM4M zSu4!~kjYAG7H6OcIsE=lf=TBG zVBi1={1zaN8^`4M@O*wxk?RE{HGo5k^;ssk7De$wsB$}SJ9UXwU^fdq_wDW5wLEPA??UnA}k5_$}C= zGP81jCyxaG0G2?PNtNu&pkA^98+;1+2+K_B6Q zl02&qQel9}Y6lEJU@w&<6JH~bZaBW(U}XUAv0oR@wO=0GpOM?&r*@--x0J}^v9v0+ zjHXicY)(GBYxgy)vd0Z@sHzK)Tr;-?PPe)D0>%B6@FiN^U8XRSpRSLIq z)5rB$%abDk%!2dF-N-BfgaAhbE_(^-^?jeKc?2QldfP>_YNG!*WJNYM)3Fn_lg4F7TM2r=WF~SwQBT(FuMRf&`AVkP@djO`QwgA=aM-G zkV9|@JU8QpPx6bumjq15)5<9ncn9aXvt*ur{oN#avgc-f(iSR6V#EqPg^mCfzyg2* zzBVYka3idp@|EG{K0=NMC3zkfll|QD`6ur179+^POm@biX_S5PIpIkkp4A8L9!Lrg zaR8D*Bi5(VJT>PP$8W+EvoRmk=0F>UDtT4zUPp#*NeZgGj9BUxauyN_wc2T&cnYi9 z4*(8-k>j}Xe2>W-q2y}Jib&lfXwR6ySYbhU9+9_#J9}TxzfzYbNR&ki5XauAk|+=X z6hR|{^V{sVR^5w}msb0njtK-TXh|iM0px$oLo;ws0Z1NP)udRIhziMMFWT+HC3FM= zKx5in`_V@va?i&+5DGpnD%IM}Yq2z8l3KDzN8Ym+PRA|a1s+wx{{U%V2?L)}jxQNQ zQfRW7XvSW6(SDk|1HQ46LD>^ZdrN$XjEotCgtEyWXpS@T51KgP5s(-Xc9_MFQ5;?0 zbM8+y+*eysX3Tj2V4g@OXOV)|zzN(Be~+Ht-1Xm4!%Z#9xqPK*CsIt5@$!G)<*uh9 z87%h#E90xqi7ly0fY3%@jY~?d@BE&-EcrQd&)VjG$*ejeq6-YN84(mQVG5ZVIEhwo ziZu+~!;R0W_ZaAVUbj+RiS9XsE{k*i$ArVdJ&s0 zImMY4MQMYmC;{BTh~-ECkWYHCR4?19H=vy&-}=qIYh51#UcYiktJH=Tnn@J{6X=gr>BmU@fpq@>Va03vTpeBaS+L`=*u8^n z!sRlt^yj3qOLDAt@Oq?JyRi+kW^p6XuQbrvlEmuMJz6n2S%ZJlK5SNdq~7(lO*Y(E zzi_#JmEyBHE?T^*nYlEqRz%g_a5x)E%VM;)lj#>A)dE`+O*`6&cGO@ z1GH_FTkQ)J{<2!-o8H&`lI;CTP~CJ7ykatTWcXvtwu55JWHA`*suor@F;dBm?O6c& zOA}39Rx%2D0Dn%M4-LLu_f@3jvhiUmY<|>sJVR$~MI^A|T3)Sm&_j`$CwS4s7aFsH z^Mv3pE@A|h@4Ej0aXmu!AJq-Vciv`MZsiPEtTw(`lM|(CnCmYtCtkqA1hTDIVdhCP zc4c3w%H*fDa^DiPF~x(~{{ZgPvEK7w$H*ec+4fJ>D|Dn^6Gc8Bsl6u2nG!(di=+`t z+Tj$ERm1W-y%)nn7LdrqWBHM9h^r9MmyrloJ9utL{U(7Qw@nzSB4DmKZ!90D5f?Tb z289`@a0?J!f|}gT&%Z%_J5;@h>psn-U$psbmbbOr)@I48ypiP%T!Yt&*=ZPn*5QFf zv6elv&BHg~m;-Ot>`~vdG%c|c)yrE+7%1kvWvp0qm$`}M#8MPMJclxJ0uT+4ZQ6TW z>Q!smHJr(cyB(YNCzt9hW%BZ@Hl!}>WL9XIOFM8?T0pJGp2&~f)+hE3zx7uY6nxq_ zS>uQgvN)rg9So7kgX2WzSS(5Lvha_{9o@meY4Gkt8RN%!JlO;avN7HU;uHhP28lKS zKi`h0JntT(E;>5OBf^cDiRHGH8>m{Y{`4#WE1{*}l01Ekill!wO7s+|hd{B#1aigj z#Tn#xNYXkrkd@#apdw?NI!V2C5%ZcMw&*u7^NUqGDQpJ zYAxx4kdd2HPxtXD^ERr4-DzTRw{{VDkC;UB6rgV06AX{>v65DiI~c07`jB>w4xYUBsa3$&h4J?!s?t$bt17&1 z(!(`|R*7XcBQQxBD(fPAimd9=a*0N}RjN*6S!z1R{Y!y<304=Bv6fI7WoTn(R%wAe z!snMO$PCMcA(^C+!5{Z(sv||+RtU0Ln0I2=$))N7X2Gye0y37_=SatNjzAm$0;o~I z004OS71oYNRr)FuI+lusG@84>^T8E|yILb{Y1D#i5!$w}+OaT_XkcjPjKrTJ%OK=p z*)|FDH=(~`u*FX-k`pvix(JF%B#yJ!nO0%kN8V%r^2`q87@B~VIU`WK1ISPapcIYX;<>IkJXr71-5ueW zG?Fkb+^9S?P$c{tA=)99ACx>!XJ5O^JW6|lGai*2cnUPL zja%vkTQy<$QCu)XTC*ZIJSrs6xOMxu?u|!x2eGCdcRQ%&DBOcNO3AZg>q}E74AdZv zgNUSTZc?dvhk{{SSmBCGbm z8fFSn9!?|f1JDObwS11-V+VQ`mmhlX?FFRyK1loQn$+zAALRL~tJjUcxc0}|L4G*0 z{bJ@r9|f1QMx0UIHl~K8O9hJ*@U={pETq%QsbVP$+DVeMP$I9#0Fpre02;7QjOlh~ z8*gmto?1C$)wL|8%ed=BVgo&qlGNs`aDd9nwQsdnV8LQ_kx(irK7wm_v&y)wuo337 zOh5)Pj~W(sKE*ches~?q^)pSL7@H(J`FmrID3qIKnVW#4-R`b|pf9jJ4qFxy#;2al zVI`hB7BIOP>U~{v+LFryH)P;2AM%xM82zux_OT%P(Z83<<>iK4mHDncTEeU{%-!WH zqJWS@Tb{)X1D?)1pUV<|8<{H?a&z9w-;t)tWGqc;^s+B4CCTM^rabToCu%aRy{w=B2_56e3{N1C#2!fi9~^P(c~zJP zXPL}T+Mg>)AV|nk5sYl`K7J7@VwJaC?u1JPrri7yR-`{{S982c9_e ztsDkGRR~lPFD|{!+}{~ur?hd;Ao2Mew+E5H_2Q%V`3D1o@==F{km15kjTYiDXCt&O^9T9=~}T;LE(9jm{|bv!EdyVcq9-HGt@Eexy@=d zyR~h3EL775vyHc#$<2zCmWYF5i#UnEJ;hj-byQK>y~<2!t!TNN#x{KYI_owQ9W`3H zOI2lCGh-yW<~k{M0JeE`8Ya!@YN$kmA7gsOzFG_geHXh`J zW9~x9C&?n3HX7h~Jk>SN!(drQQX(-bKCFQ28@ZFqj9W-cdUn;@4$Z(M(w}~MZSY<; zo2Y7QgO>zyzDMQ9!jl`Z0a(%!2t4wCZs7G^*YrG!K`X6EQD6#XWgi-F($0}6V0#&) zVtZeJ8F^`404`Bu)vuYA1#--xPYgabK;6uxi!%MJsQj|>7_TGp7++UXy_eX+^z&8T zUZjH$nmN36c8=vglBBfkNh}cEG4|V8zWVW|F(3xF51~oKhBIYRNL< zVxCDLu8_3XZb4-$w^2=5@B1Vue4-7&x@vxprB-5c};cHT~c+w*X+0YQ)rrO(1 z<>0L_APVI1&vMP<-vYme5#eo6Lo!qY?Qq#1zzWD}ROurd}x~=G95<=H$zid^h$1|jS z*>q`Votw4=R9^1qKwX#dvfGOF#m7-w31MKo(btWQh-M7PwPJKuMS^5uC&wDBe5Vq8 zXW>JCq&*kNW;Lx|YIG%#K2sw3Ao0ib*kpwTn!iJAl7TW+)DwqJ%Tvc6&qf!T7Eah1L+6US7@@LsMug^ACLKpS1U8iX!jBW$fy*u*c@5oxIec54|7Hx(fSo%V-!Wl z$5h5F$za)?ZrPbKnFtyQX31H{qg$aMrSmt$t|dq%CYPI*--*oJuSSW42Y64YseD97$ErMpHM zb{+d=)$vQzeC!d!Q$MQWQ&7O#&1)bf?A{uV8wrJ{9n?wYtCOp<)G>cjI~3!+Hc_R4 zWi^$<@dOb}T1X`-q{cTC+CaG*Z=n}}32IY7^R%04KMZ4Pz709JmbvK+?)Jcqv5pUx z-S;C{DawT-Z@*rAdaJAKFlX|Y;>F}MSZ}9l7VhKd%V5N}9LWR{#Rzj+?I~<6Noz#i zk2GQ6i?+ZF4D}9`tae(olSeE>SFV;>lj1Sljs;?~1ItGwWFt9cR#iR6yMldQH&!~q zkJ*f!skAwJDXn0Y(qYJfk%2i91ZAW6VpO`&{5vs*9wS}vBdAQTX z45d!w$Uw_WxfnLpd)jv`*4{qi=+attMpP3j)vXZ1JPK7YxEcIB&Wpbgdf676pI{#mJGza_8OTtRxJleP`)=u#u9S6~ zdiKfHcqE@g_a&>@#%kHS0MCca=W+D@vk8);b!IhQY>g(f8az^b?QB8umyfkone4lH z$Jy4gI?hKSPOe{6{o@N;6>^leYVSQh*(HuiXjZh7s@KnI`KgljF5@whALzs*k~tju zw{Dtfx;I($DLPxUMpJRnvNiL)E8S#%FYEo1rOXz`N8pZ~pqR%_%%vnpu9g|#hF7lY zMvoPue*=ne~r7b&CJM&*hdY z=z0Kx%fO(2V3gEcX}f3udh$+wMB@h1q9-xm5dGXvkhm$XCx>i?T$z*VON;YZb zu(u|uVhLh(aq;rS8C^n?!D1A#2eps&JQrfkNWh|0U$8L}$G|)ud2Toyt1khAc;J>l z-Rkng%Zny8o+l3ssFFlSs1 zYSVC}4it|a$Bsz@!0>n^v{C^m3Bejp*e^5c~->o$H z6txN@SZ8VZzsxFc$Fk$>bRYo4Q+ z&p!VEwfl2?eES%!rix1TTF z+BYNbNlC5nv(H{hTp z@c9ztLvpm9QnaJAbKCd9;HXEl56ERm`0iaaiLIQvT#JY(`j7q~Yu zhG5~F<6>qBc8)Ka@7~28^;QLZi{|L{sK?K7Tvzn2-yd!$5mm=dUz)gqRhUOw-8zCf zWbT*ftR$f0@>Qp1`TqcImQ`xks!Y!=HfCV0BtIOUv;5M}B#iK%o*`o6CJRzhaxDLVmdch2m*)w^CY)qCgesga`Q2^@B#uI0$%^-xi` z*I~!?p?uYUp3pHc4m(k=w|X3Z$L)Nc{WxQEgut*$voCBnC^Aj)K1QHkD^Ehovzl4z zD2-B7Z?@7zQbOelzV&>B3_h+F`Qv5+TQ%W`wQE6$FPX)j^;MNieD>|t* zt6mjp#E~s&O2s=%J|-sk^0*76gFT!ZF(URpQa+_=lKs9_)kkcHaWBF18w(~j)wq#K zvov>cZ*n8{q_RNpDo2os!H!^M5nGMk36<6Ro7K*BC4(pc02iBLK;#-1@;=<1q_*u( zj-VaGb&fgXn&90IPxSY%ex-UFo`NcM0kr7R5MFbirkWWn8_wA)2&9C9W1lA z2`|Qr64lI435{T{Zm~vXfn1}d7i9)|kxY{O=N(}{D-DYC#TxRV)OMdwd}76IA#Uqa zRj^i1jV_mTQ>d!5xUqGBmy}8;Clho zH-RG_VUr{7WSR|9oYsE6Xe3Wq*zMji0aNdKN zqi2G^D*4xJ!GTCJ7(Ihg8zQ2yk}U2%l&gzz#EFopm-=i@!Hrk==9ZMLQ!(DMSIAPF z2<@Jm8|^h}8(AHnUTAXBeMVyuTWHj)P^~14JE5d#jGT`)_ zMl%(X#AmZ_Vtdt~sgS2uuhh?pD?Cqtxis}`eIM>pJmr(Zi0$S!)%`17;>GA&>HVc*uz06zi@&76!f= zlCxtgNU=OiJ%^fAyME++J1xsgbb#e6#IU%oFnrudI8%E;2&C8-MDAcovwVPV?}6NI z$HK~xg2eMo%q>NV0DwT`e=YDx7RHDwca`j9X-k5ZZ`$$JRy-W?&u*1EaaSefy(<=x zr81W`U0q{jB^Zw9RrO%{mhsa*w(3||y~WL`<2uEHmJC*%);o2wSMF`N^)OV&;QE24 zU}(*n*`b9i%iXbMD^upFay zbt*wNNcRVZf7vfzbNbzsz{i2==2u|aujMyAqo=z?4Vxp0)^Js-SJid-@Re+duuWnN zh0NwwmB?CbeM;CYar$Yf$yPyEJ=2ZDOS?7;aMw1B2G#IEP-Cv^_i9wd>Ayq1rDzDPuayIJ2B$e$)X9pf$JfbZg*OJWnqe1VQ z!I34Fxmm5`ZNmYYXHZKMTDQK=t7*MD*>nfo?Q9iyynGm)n+>|*scqtx0||plI-C{q zS>?Hsmp<1Tdmk+(#?`L_6AZCr;;BA1JINe}%>`bHg0{r)ZmPEs1(u1CJSj;3wG;Dpf&o~9C!;_ z=~isi!EB=;l(}x?J}QY-AxC=5lf#Xt^7dQ5UPJ!?8D_=Kd4Vzttu|*V-y7Ab@#5>u z-IK6U%I#SDRtz!Y;->&e>BU+JSLsAZ@>!CgZsQXr%Ly)C#W*ByjLI$MuSErV_^T{D zrd6jd>tL3!sU(>Qq7z%Q0COA>)q-HLRK&p|{58N|mn~#QqBn{gQb8J0pZKF^TQX6Frmrda!&xCp8WIMlkvwrWys`AjESS?Y#ugq2oOse zB89PHC=^4BuOMiu)JDBwVV-GEq=m^lG5I7^l1|l^H8gR(nNd${OOBv)(qaDPzX*8{gb`|ZAYyXje^Fo*r66n8{bv-z8Gfm#Mg#86bConJX1i46mfgu%V}xfTC^E%XDD0C~!)sWpQEikTAJsmnVW>eu z=Hq-Newt{Q>LFn@@rioNHqDiGXj2!j*9%i6la5`NYO|8bOtRCf{8!@~Xe5tIz{-&% zc>LU%V%<=q0E+-t1%pVgPT5=mLW2r!y1&OdnkGCtABW)jjZwjjzB7qd75ya3DOC|h z)*Er!?4+b>cW(s8PIUZT2(`TS--VHKGUKLA6Q@}ChB9Zzd=pi-la7?Vsi^98G1jKX z*xhqR44dNZUZ=0d`CQDg*>-H*TPs#oz^&Q8_(Ik;0Lw(Vb6R~?(&>sD4sYt>eo zJMcmEkl3Xj2OP&64>8YKYf-ZplvB%W7<`;m=t(|pspHz(L6D_b464CmX(o=H_K)Ot zijx;xaK$V=_7X@~Muu=}{IRU+a7s%_f&ud5j#ZKJBty6JBws8T)$8)eJQ4^3iR!n| z{{Rp4_+}ZNAjlcH4oHz;dd7^KVvp-(B8?CM76D*MDz?3s_eZ*B64pJoOS;yX4`h^U z>KNE@6fzWK;z*TNf}%$p%NRoTB54vgGJFpy04i!5&UbCdLynAE$=9_dWmlHe(;UOu zts6)hd0*p_p@GqwRah&**ujxqUO!cptL&RLCnby5K9bHzY-n`w>68p~5^0aDJj?qcJ-HexBm3HYj|29>ohREL>1#UQ=ZUJPJ0UmUIanJa`t#vJfR(ReZs_X*`4xIPn5B5lM_r@ zLlqX5f1X(*2fj;D2d~^Y_`WdyGndHZQ0kF1?@r!iD` zW<+JP3=E^zj2vuHN13~?T7J)X!GSX;Ux#FMJp*2xtNZZ|1TI;mpNp3XuD>&JH>D?;J2*vTHuG^F8; zSfYU0iWVjt3bs+>B$dq%+YFev@>+jf z13OZAdQMAa7Fs{1I0$qjjoXTWe1O-`m~#7`LkVX&o6c2(74;WrRfTC*$>&{S$TZZo z-IhuetYr1-^Gy)Dg2~yeD>|%parcr)JPYVFHd4**zIW2W2@vNw?2i_Tvco*N~q;3 z*9%i4)op?`OuqcorUKSG0hGV=QoLyPW0DyfH@iGPujJ{{EK-4aFsOx|NnPb?u+9qk zK}i)shw_cXxI3rmm{KTQe-BL3TNonBpBoZK1#Ugqc#>t$2;2iP%KB34`WQCY-T~Qq zbG+pBsW)2{qR@JOuSD3)Ur;vsP~%{}mE^HbtW+?MJULCO+9;hnAz~~%l1k1|V(kw< z)AzT(uCaS6i>>MsRf{*XO$?a&dj%ZR-Gat5S%u5~(SFTZZ(6N6noDN)H!=>j3~J=9I>H)l}6-?3Nct0AX z;Fq|cet3I0e14tLmaR)s!c>+mQx_FU#d>JkZHHKfkjSXPZ zJ%%=hi7f4i+4`veh1zw>|)#i;IlR? zZCU;exw5vTm@g5T=0qw1?JC7elB>z=9~%A)g;&a!wDCrr1dzO8<=V=nT_aL%w^}O| z0E5B0+kLvGbNnT&X0AqDlBpY6ifo{4{+n*+fDfbqdjbzu4V&Nbk=UACbio+I9CByw zC21kA8X!fSDixMv8kr-4j0n^oNTPA(yg`^U^PNMAK>IdTwHS^og< zp;%>Upq9m!EhY9sM6TwvaU!(G&^-H;&apvxq_BoxjMjqFh|2-babeuChCgztMN+_W z2yV|rCXuam6Ey`Gj;XO6b=V`D9f85gkH=N9R!(~@WcC?V#cX?$Ktx*>W*y3=DMFCb zgR8-*hKmtq0P!J3B&a6AB-*XfqeqU*eNvj%3^-2dl+ec8i4n~EW8AC`*5wS9?k+U1 z)WW%!@ESHZJCM7-b)R`OwJdGOn`gHUM!sKl+;#?rN2{u8)N2OE;)HA64T++&Jxpa! zmV5IoraGw{Z+nIAw%Ce1JuG)h`YWM#{>x6)iGS1hDpE=Wxon;Cg3i&nW~79)%?vhd zS!VbvLk(!-t|V;Mou}$CP{{SaYlk^w8w`)9f8+>|rqpP{%A)A;rV|t17k*f$?^??t(z(jF=JoUkU}>R-Iv{K0G!E= zU9_VZI>VIFG#D6(L0I8OEeYkILuER&Xsxm)k~JvJoR-1UTqH5ars@}V;TuU?{cE+@ zml;rR`VCqO3ls*;vEa+V$+{`tNhy`17X01#b!^et*&=%zFV3SPH#`dvT zba#$8lOXk>y6R@DLd}-$3K^{ZIBHHM5=B{yMsff)Pbr+9IbH>pJ2wc99C%SXtQA#h zTd*a9DC|*+&7V=FnKSvNWsZ4Li%BQcC3jYL@9bVJOua zdohBHc=*&S0F4^S_7J~u;aCuO1dthlJcG|DwrWpZ!&r~7xFt_K_b3FFLZ!#r2=J`R zqyhXdp_5|d!n>q`L;-;$fXXZiv&{U>f}=W4p0yns9RTmA3n`qu}n$sz6> zcLCey@OTH0;D$foarr(E^T(waChb3i+sE2}JdXu=P&i%>2aZP^dH(<&kNy&*PFg1IO||g{roDe0O~W;;iGthIv3kvLFA54J_sQ3!|z?my*qW~iolK1 zR6V_;xPt!xAztFdlEd)dgZ?>CJx$XmIN6c0B*!Z%NQ_vkM&zqlQV#&1>P@Kxj+o?j zngjIg(aLraB2XfoTB!SR>K%yU!Q^@+=-;{Alxb5|vpm@h9S4kxaLFmVk{yp?f@FZP z5MKoFLhB3OT*nf>=iaE#L(=5!Z z45=q2(n$)kqcZxl4NE?`fdIWl@Yxy*21gf=q9UVim4nB`WM-B&xj?&i2-aC%r*alU z3Ipf|iSRURU1c({e8^yyou$VV$e<8+N9joybt{KZ>;SWT8z)J`ePcy9xsw;k#|W^< z%Av?=EM1Dw4P(`G)xb0lUdsKRbz2X2TgTbga&t{v9M3~z!G7OXlVRf(gHberv<0km zvOQZhEKLf`C0jAuR(F}-%BTMTEDQR6Q0T{3p!XNj>{Kh!{=7>y6pXY(=qbc$ko2Wtyar3n3rS3-W8Zl ze;r!P-z2#Fq%tU)k+On~fXf_c^8~a$ui~}8)EnA|SADeXnG8JrLfEib9Pdu;$3ZH= zkLoV9YR*d*F?H`wCTi>|$5J@~j&`AAH4}(psObnV59%}MxlpvTd6?PrNQ}nD(dL1> zc{@l$>QX>EcN z5Tn@lZ_wHJBa`+?vz1>b!3YWdIP73T_V$`ww_JBOfJi)X$MNKVPc6?X0sQ&kdEoLd zi!*@CYJa6SyDcYV#oEH`y7#=klWWJ-n|6?)>r3=g;`@=@wYW45Pptu;70oj~oHu zamN7v0C$iH1IMV17_dOIVE3R&uWGP;{!hQZMU+wQDu=&w$3J2$Re|mM^noOQ=lghG zN&Fx3M;vkfKPQfPBfEp^U*iOm_)+*I@(<^p@8|ghf<$n8)(TAtVP#qhtX<2afLY2`BAl9wmGh2c?RT zrqlb;c@JU?Q>xgk3#jj&84r8EJhGxi1Vk@nEW{J&#wL#@Pa;_3pe(zUQDA+zMkDk)~6M(9!?-=esTR=W=Uq3kKQ>V{;memQE( zM>VhAkTbzoGfe!_2<>ytdojrMq-e-l9!TCX5Jz445fD2qI<%`73_}n*U_rp{4o7G# zM{jW>vz`RU(qzFZvn`fT=<569b>fOLf(Y+*RobtuFy}>-o8cs_ko&<`LMp>4rdIgA z{{X#piU^TXCP>JJ2kof|4c%f^EPi4e%7i@kKafv?ISdQ45rmT~JuF>v8tzKaR%RR^ z?jlP3x$qI$c}_@f*C6?j1x{FzXK$G~uTTUf03n`Gt0Zw2;F9b1jtNzW9>rM*A?vEN ztCyxv*=OcSEJ+wn$lJIzNIO*U>kvS)_7#wZBeXCKc4K3&oG2Qw2&?a05%55+D~tQy zx#V#fC~1P099?h-vF}~|&GB8V<@UF-zf8J=ilaIRDduX&jIiz_O3#pnS6b{`0#Ye0 zQfkwAZs@*P+(;!QA`f>RKc54$Wo?M$`a4@batKQ&VS!3RW=hkAQ`<60W=8S-DP!T| zl0ZT9pB&bqsgJ)5-S#M3a+3UkWsY>aHJIL3JTplg>>Ih;iT?nVKPPB6deMl-^>?GU zb2Sxg=SHQkZoS45B{wU>E)zPe?H_Z=H_+3Rg#;(a;D=^n95S)jJ4~My08)#(6ytGq zP)HUy??ax=Rnm?=Q|Vf~8RwYt-Erp|YuCL%emMr18#Q!!HPt59!jp2WQjQFhg^&{b zs{a6a1OmhRe4jk?&!^^M2=G*^#TqKTq)-nB?THpM+P*tko4l4J5J?A+stDD!N=QWV zC}T27%xqLCDvl##-;MJl2 z#^-~{t+#y~IWa1-RW*pRv`1Y=t;dz^DYN1J4Z0&meNV4^ki1 z{_l=St%Ul>2LjJyFK}|ovA7M|OBH1VFyM|*9?-@EILlQ+DqvNFfNkBtu)}c*)$LT= z9;JO+>Ttvs0-BC0`WaAckzxRmC+PryC>^}j5POs?m&1{`)5gk=b^b|IMcLasFCmJA zWDNX(%6L$~06sPxY}St@9LjA=ERe_A85(DiSF|V%@v!U#00fXp>;-#AaN}3vm%N2Z z5>yB9SS*Ri9m(LSDgfYedEGt;g+=Js;YW2|=@D0f3-Ul|xg?+<@(XaP zd)LB9wSE?=4$ zd!3d9g<5&OCGK*H9L77(+JK)-*2eeHS;0o0qkKORP=Vd;8bFT3Lg{3Z=17sz~(RfD2HtJ&8U3Z=Q>PZoN<4`U%u5FH^MZ*&T0u({pvK zQmZ_2s$QvSzMmz9%wuKv?6`?iDCD&yjWm$f?dH16ERw`oyJbkbV@rMgD1E}GM19O^+V;helO3b= zX2w5B$;|UA*Te1e1x;gO?NucmWEQcrOw7Hac*8MgL+B@n^x^zIOsH0;#ZBjFu*ifr zsQR~11n?*lXaK|ti^lpeU^S@WRMl{K45XEp5V{%Du-;Jtk~SpyRUpIh}X2IZrQ!bV668`A#(v#L2cI-At| zH5z{hoD9TZZY}a;WmRRe8Ljr|@4`8?$;p$JgE7n(tF&@u4 z^DJky5{BeBnvw+|5`IXFt3Pqza5-M~0y<>Hk)#R148kNPn3K4b4n+`14PfwivO()C zOvE~D41ID&Vu&XMg=r%Ig}VTcRo>I~=uYV-R%8hu&F?sY0hYHXgnt=`Mxqn0+wM)P7LNi&tAhnAZd zgqbGfpQf5*MvTQAtgg)p7lQV+lR{xiM-gH&=mLh0IHU?mD#w=qxd*s+azW>@rGI&p zY{{*3zpEPgm}K!3;KE(8R=JkMDQY;{yf#Y?ZsYFOvvQlkAnciv6i(J5eM!=?jxMPP zeZghNRc0hnll36G7hv5HUHJ#LpbUD-vNpq)jt~bTw<8du!MbuqU7iV|1$9zcTx|5F zsdTc}lFae=aj45c%$D`+*Y0#dFWz$oT_asf=|T7Lch~@mzqEHvj;z+}_f7 z@A1uX(JQfHaoPE#uavFz??yE=tdeVFqoiX;tN#EK31yxauENbpS>=PVq=dQn`1HZa zYWoI0y^ENO((IVZk+Gi*ZmeyZpsK7N;GQ_ivaqKCgDXd2d5yU&9L*i{viO?$%v{X& zv4KSK1YeSRbFrFE`tioXcBIle*{Yv$KOFSlMG{1HYE+uGQjSv={nfHn<|Y&6qGJ(R zs>p}5NQ%WKuIe5)?O9eeEI53P{-RZ6JP;dtmR1y^taf2yjgmgx*;R*rJZ!AWR+JbW z39H&@9?4^|75C$z<1cLCF#{=xy%cn_G^Bu*hGv$Gvqq6w#@~w6UmWqekrjRkB4ZR% zFm+~Or*<@IE;2kK21%=l^3Me&s5ocSV`eV< z0A1=Czm%$wIUJF?`LIZ_&q|ukVeMk3!L(4@jN#&kC6AR1R&p~!6i<2y%NL5`L_Q`e z7%D{@DlZax#i`?Qv)#D5&PpZA%U;ZJ%o z{T9Q?iDQ?_$nxZqaSFifEGn-1s}bou8}IBoC^TIr4W6wl8w_#K&ps<51ojogbJd>2 z72>NcfWOg5GKC|JeqI)95W^#{%Mzm{-zx@ES~iIhdhgMBw<_5EhNXqqcD!U&EMv2h2xrD*Uc8)|w+CdX>Mg+>En+m8 zYfoxeZ7SB5M4oh!E<`CBveHISBW?kd`W`TA;N5dYeaApXQ+-6sF63bTDdQp1 zL|$!d_5hkK?bUAOy{BieIJxsXo__~|j@Q$s5-4xenyy2#3gvQCV6j@7*`1y^t5JJKDepN7^G?eT*%V(d1~OO? z+g|UI(|47^ZMy6m1W=gfy@}1$hEXg?#$kGE z)hs$!>9q`$S$l$NnS5-?QMK)IDSkdBx0#5^SiusDWh+1>FJ`rPX(+Kdi_+t0x^`sG zjGJSUA4H{umKf1prhs4x%mR=`lA&pi>K&>2Z*cxF8PUlDK$vdc74tW_dtp^`XlNEl5Wsmq~~ ztjpg5vcwr&NDx=0k1po3Mr4l6usls%^0G!FEJ$_p8DZfZf$>S$AA#Ho=3bciGxDwP>^W{H7xP7mhij%T!bojeck+U#7ca`Z~)^C35xTM9E|4OIXx+?T6bglUF@v zraaS*Y|)Aljkc>wJb9AHc_X&aJ^MK7W*Av0<*i65$pkSAPXh@pT=iCcET=V0oMN48 zcEoCyo`mt$w*$jYQ6#eD;e))w^w|jm{{ZkO^&(HGrzIJpr*hTRv=-AOiOUud=*ZKgn+?P;D@!0`P!!0P zIW`TDc8Vkp)!%@9O?C8a$g)x0CXPgZGB+q`NZV|*z;+y16gvx}$2X3#cM)4x$=a6Y zE}S*7_9Kfc743WKDJ*}zy%SPa#!qszip+8|{F1U%NuycJ=!*jH9^Y~B<8g9BkG+}M zvJ*=-OB+C0iq5k@$`==qk~+;+DdEY(XjJ*+hG|e%tf?i3x~vI$c}|(7shoQSbJcdTX_DQ9=9R921Hn?Olfm6E}+dlyXlN2O&l+rG7l z>ZL1K>~6J#*5MM(l%+-fvln89&zPek)~A(|DOoaF-3#~UG1kRBUzU2Xu=FRxei@%m z%QZ5`S9m{S)0t;E9qtnSXx2@hd{BP7Xy*3RlGV;7?s*tfN7^w;7*QvL# zJ4s?m{fAz9eSvi)Do{{X5U{;DE|EV!L!$YU(j*RuNm0PXp;o?7%xinf@EBb9|@mUqQu z>({i?KpMDcivEh|+b>XRVez%I+kI@c9A};(wLVHrj-Hvvnop)#;IoUX44128;+8c_ z**h}Vt&*^_#WQ!j%Mta9Igy6F%b2rbqW;kyAYmITb1f9Yjv}S%kjEa(t5IXK6y_YP z_N2?pk;h1)m1bz-ux9x2I?lD1%3=1IZ)<6cwKJt0m+v`S85(j}lu)s(;xo1^QHvVj zD%{7WYK2v(vKr3|{)4{s|+gw*+~`ZylSvVP(xZa`es>8b@c#Jp(Yz0O2DyNy!JAANjc!nX4OYX>ddS` zWfh=?F2GM}1!m>gk!0Oj+4ZcIFJcNl7(kF{N1oKM@uYll|ldP!bYh6kMA9u91O~-_pPi(30Q>WORz;eNQPq=k{c2Jq&$OTu2w0Js`V|wESx+{!Z{#mKvj15)=Cx-MeMIzC$xmj6Fo=UKxN92mGYW?~zk^Z%dECY09 zqiD+jcOhXw{{Tz>0FNTiR^gHM=VA?x9lN5dYaf@zT&I%D=?`|BR>Wi=nky4lib~fc z_@I?!l7E87(@%0buQnxSnH_ytS4KLI6+IlAt!erfoQr8!B;T&2enQd#oBPikF^id zNVTr%l945>4#7t2$za;863snmf8wy$A(876Br-g2EyvqWPWp}0x_JFK*mSvZ-|yiMgc$5wsJiefVzrbgMZ z*@CG^+y)!3^p>wJe*OK8Slh1VGL$fsF`ab5;|@9c;k7$+&r+7Xh$ts^Z8U0#%S8mgiw2;`XW?1BcSe`!97;x$p$MoG;H_ZzURmWf? zsRQ(G>t{tVTMoQ2Iip_%ldBKZRk-le!e%H<1aD#uwuIDa)VRjn(u01aNp2;Q%<)u7 zi!4p$H}wwog_*}>@_k3aYqQhY=s_M=dBjx5eJbbi(S;AY;b<%o5Yj;+O`47h@W)~~ zPExc2F5oM#!9T?Fhp4xMwXDKoj#(hn-f0MINn>!IM=tO-#`Fv*Pvw>ot1=kK?Vk~N zVSG`bf23MuNZN)pNcphE%Vff_#(t#$B(YM&9i^^~mf*DnNk_FBFrm9-EQmlo%jG15 zfzJ=y{BnE0_PP9`NeV`h%IBEjcdb7>o+``_X=VIzA3T6a1fe668`Q0p#qea77|#s< z0MrNx0I3{2M}-}Sxm&$K0P;CJp2l68$_baVm?sSs=)QR)$&ol8-lX>gKSUds`Z+~!2Q6zn+DI+1A5mb8~{Bmqp?nnH^bjOkzRYfrx*|(3B&sGN? zZTd0}WQHg6l|{^Rd1xl?v8Uv_h@4=Z@P| z!1)6o0muqS^T&52$P#u3mK97nHR&5z8U}~4;efjbo}$nfR!J3H{kwloNbV1CM@cG( zA{6JDY-6T9*!!pfYV&{!qqpTdhzrMo$snm#^|>D;v7R(}3@IJ@+<)-(LOG7zemU*2 z7a_v{#5(tV%2`Hlr{G8vzAwH0-u2p# zHOD-4v_4dlywN-lDwS&U+u&2m))Dq1%KY{v=;194yp(BI?QU6DoY9mc>G)EBI*e{Y zR-tO5mhO15*&3pcl>GD%3$GUoQnIMKnAb(mn0jj$md(wFR z8CRak3n)BpLL~UaX$_+YU$zLWrAaBV<3vJn%hY`3w&PlVDIEaCxgg zdZH{2=bp8cDk}c~uVMVZdq30P-mG=7)|Je0J0!Lu9kBgV-N$C3RsR6HLp3F8mr)Ph z7sn*8$Av$4Z>+ylWO8S*GIy#6StQxwC6&1@qDZ?HkCq@aE1&Kx2R^id%D_Y-wIoB3 zAfEw`oFD+7>5x>AIS1|F@ZZmq>#;uw`1@q2e0Hm4=EAQZ?Ml^eg*oSdBbC?3f=52S z^O*XL@CU&>SINKXHt|*8tbC#u!tsuiLzks#y2kAi$~IPgZd$-@ZMA!Jj+!z-!}$t5U@K~9VSP|RWwelqxC{x&m7XSbUa2$X^HHo-hNV9(T*cEF$j^7vX zde!uZ2zn~szz!>p$BIAPe3N}VayC{*VH(RPV@4(UR%(VRoQ7D0Y1)c;0V8_kERaVV zao7i~7rcf*Efq2;`=*rrKv!TF{v8iwwhAc##{;y|5~K0S4dY^Dj8;J!BwkE$$YfCb zbIPMi-Ky=uAs7MRAYM83s?&D;@qPaQ+<8(!3_^m$7VK{BIFX7m0EH#F2i7uYW0DZq zc0KF?W~_7aKHvGsOm->&755Y`x7)w$0QdOm*7CO@BoncXP^1lxpCLLac4(RBl2olx zIP5vWlPN%;09r{^ zV~7>!wkHRL>{!DRP9IenCu>>wARFLv2R_z&dvJQv@VGyq>>M@N9PRfMP5jva`}_4K z!Jla(73cY8kGZ4<=G$?iGKN)aQng_m;oJinkO%bDdlf?falS@7Da59_#GLc=(9aEa zcp-2nn&|?@NHaqE<%wd= EE;1+ZM{-d=P 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

1hw0x>GZ?FN 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ðV|I)_s2~ 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
H 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
wirk1Tc9ck|~0}BfXXQJ>~g5<+#H( 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

VK;L0O~CkK`lw{^Q_k8Sr5oE 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 Date: Fri, 5 Sep 2025 22:51:21 +0200 Subject: [PATCH 168/176] Added a game over control to lock game and reset --- .../game/interface/interface.py | 56 ++++++++++++++++--- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/community-contributions/dungeon_extraction_game/game/interface/interface.py b/community-contributions/dungeon_extraction_game/game/interface/interface.py index 8d24269..a327de4 100644 --- a/community-contributions/dungeon_extraction_game/game/interface/interface.py +++ b/community-contributions/dungeon_extraction_game/game/interface/interface.py @@ -3,6 +3,7 @@ from typing import NamedTuple import gradio as gr +from logging import getLogger # Define interface's configuration class. @@ -39,14 +40,55 @@ def get_interface(submit_function, config: Interface_Config): # Player's command. user_input = gr.Textbox( label=config.input_label, placeholder=config.input_command) - user_input.submit( - fn=submit_function, - inputs=[user_input, history_state], - outputs=[scene_image, description_box, history_state, user_input]) # Submit button. submit_btn = gr.Button(config.input_button) + + # Define Game Over control. + + def _reset_game(): + """Return Initial values for game restart.""" + return (config.start_img, config.start_scene, [], '', + gr.update(interactive=True), + gr.update(value=config.input_button)) + + def _game_over(scene, response): + """Return Game Over values, blocking input field.""" + return (scene, response, [], config.game_over_field, + gr.update(interactive=False), + gr.update(value=config.game_over_label)) + + def game_over_wrap(message, history, button_label): + """Check Game over status Before and After Storyteller call.""" + # Check game over before. + print(button_label) + print(config.game_over_label) + if button_label == config.game_over_label: + _logger.warning('GAME OVER STATUS. RESTARTING...') + return _reset_game() + # Call Storyteller. + scene, response, history, input = submit_function(message, history) + _logger.warning(response) + # Check game over after. + if response.game_over: + _logger.info('GAME OVER AFTER MOVE. LOCKING.') + return _game_over(scene, response) + # Return Storyteller response. + return scene, response, history, input, gr.update(), gr.update() + + # Assign function to button click event. submit_btn.click( - fn=submit_function, - inputs=[user_input, history_state], - outputs=[scene_image, description_box, history_state, user_input]) + fn=game_over_wrap, + inputs=[user_input, history_state, submit_btn], + outputs=[scene_image, description_box, history_state, user_input, + user_input, submit_btn]) + # Assign function to input submit event. (Press enter) + user_input.submit( + fn=game_over_wrap, + inputs=[user_input, history_state, submit_btn], + outputs=[scene_image, description_box, history_state, user_input, + user_input, submit_btn]) + return ui + + +_logger = getLogger(__name__) From ea75db0f5bd8c0114de0a3c97a77e0e4ef970e0d Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 23:12:49 +0200 Subject: [PATCH 169/176] Updated readme and images --- .../dungeon_extraction_game/README.md | 11 ++++++++++- .../images/advance_adventure.jpg | Bin 200543 -> 284731 bytes .../images/first_input.jpg | Bin 16849 -> 10971 bytes .../images/start_adventure.jpg | Bin 234544 -> 165993 bytes .../images/start_input.jpg | Bin 13798 -> 11618 bytes .../images/start_view.jpg | Bin 246159 -> 217266 bytes .../images/tragic_end.jpg | Bin 190236 -> 253103 bytes 7 files changed, 10 insertions(+), 1 deletion(-) diff --git a/community-contributions/dungeon_extraction_game/README.md b/community-contributions/dungeon_extraction_game/README.md index 19995a9..a3ee022 100644 --- a/community-contributions/dungeon_extraction_game/README.md +++ b/community-contributions/dungeon_extraction_game/README.md @@ -79,6 +79,9 @@ additional dependencies: All services and game values can be set at `config.py` file. +Setting the `DRAW_FUNCTION` to `None` will disable the image generation and a fixed +image will be used. + ## Game launch The game can be launch from terminal, just navigate to game's root folder @@ -127,7 +130,13 @@ the rails. ![Adventurer acts](images/first_input.jpg) -The game continues this way until you either escape with your treasures... +The game continues this way + +![Adventurer dies](images/advance_adventure.jpg) + +Until you either escape with your treasures... or meet your end. ![Adventurer dies](images/tragic_end.jpg) + +The cling the bottom button to start over a new game. diff --git a/community-contributions/dungeon_extraction_game/images/advance_adventure.jpg b/community-contributions/dungeon_extraction_game/images/advance_adventure.jpg index 0d2a5be7838bd8a050dd9d108f0e4d421aa6e9a4..c1821d1394eac9868e555c59684b8e548d43333a 100644 GIT binary patch literal 284731 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 C4-mefu2{9S@Ur+;ytYJB?d2#dad0 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≧YIrf~Cvn=c%)0%8UIox5J7q=T+}e7F@y0$# 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 AZvX%Q diff --git a/community-contributions/dungeon_extraction_game/images/start_input.jpg b/community-contributions/dungeon_extraction_game/images/start_input.jpg index d0b3f4f941a2f42edcce6de65ce5ca24574d2012..71c7438773c4f7adfcee518b69279fd956917de7 100644 GIT binary patch literal 11618 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 diff --git a/community-contributions/dungeon_extraction_game/images/start_view.jpg b/community-contributions/dungeon_extraction_game/images/start_view.jpg index 2ea18d30c2191bb5afd221415ab2aaf56258933f..d277d1d02f6a093fbd0741e411b5eb740c5d9670 100644 GIT binary patch literal 217266 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%0A91Cd1@;+&%W@-eQ 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 z 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�gea1^>&pNUM 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 literal 246159 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≠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 z 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 diff --git a/community-contributions/dungeon_extraction_game/images/tragic_end.jpg b/community-contributions/dungeon_extraction_game/images/tragic_end.jpg index 10eaf04fb3f1c79782e2983fe8de4583bd04fd2b..5484ad69e1e2fdeea745ce5f31db26766ba4cbd2 100644 GIT binary patch literal 253103 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Ϣn-EhlmC;s6M=smtR`i~y@-dN*mtf$!@!RY!P} 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%0DG3 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»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

}T(Z%5j@ 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 literal 190236 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 I*y;HH0qpgAyZ`_I From 05110c3fb3966b9c1d089de65d9d56c7d9778dc2 Mon Sep 17 00:00:00 2001 From: Carlos Bazaga Date: Fri, 5 Sep 2025 23:14:14 +0200 Subject: [PATCH 170/176] updated todo's --- community-contributions/dungeon_extraction_game/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-contributions/dungeon_extraction_game/README.md b/community-contributions/dungeon_extraction_game/README.md index a3ee022..55f76be 100644 --- a/community-contributions/dungeon_extraction_game/README.md +++ b/community-contributions/dungeon_extraction_game/README.md @@ -8,11 +8,7 @@ TODO: * Add sounds to the scene * Add voice acting for the Game master's descriptions. * Add voice input. -* Control End of game. * Use video for the final scene: escape or death. -* Allow different settings like space, medieval, classic, etc. -* Control difficult and increase with deepness. -* Control deepness and time to die. * Generate a score based on total treasures, exp gained and deep reached. ## Requirements From 60b17daba841155e8ad9c701289c37f511be343b Mon Sep 17 00:00:00 2001 From: rohan <128298051+rohanjangala@users.noreply.github.com> Date: Sat, 6 Sep 2025 10:27:07 +0530 Subject: [PATCH 171/176] Added week 1 exercise w/ free endpoints to community contributions --- .../week1_exercise_FreeTier.ipynb | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 week1/community-contributions/week1_exercise_FreeTier.ipynb diff --git a/week1/community-contributions/week1_exercise_FreeTier.ipynb b/week1/community-contributions/week1_exercise_FreeTier.ipynb new file mode 100644 index 0000000..1fbfcab --- /dev/null +++ b/week1/community-contributions/week1_exercise_FreeTier.ipynb @@ -0,0 +1,188 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fe12c203-e6a6-452c-a655-afb8a03a4ff5", + "metadata": {}, + "source": [ + "# This is a fork of end of week 1 exercise - with only free-tier/local endpoints\n", + "\n", + "To demonstrate your familiarity with OpenAI API, and also Ollama, build a tool that takes a technical question, \n", + "and responds with an explanation. This is a tool that you will be able to use yourself during the course!\n", + "\n", + "- For free Github token, visit https://github.com/settings/tokens. The cool thing about Github models is you can try out different models with various endpoints. We will use OpenAI model as intended for this exercise. You can check out marketplace at https://github.com/marketplace/models to see all the available ones.\n", + "- Don't forget to save this token in .env file as GITHUB_API_KEY = 'your-key'!\n", + "- Also, please run ollama run llama3.2 in your terminal of !ollama run llama3.2 as a cell code to install the model if you haven't." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1070317-3ed9-4659-abe3-828943230e03", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "from openai import OpenAI\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "156f046f-3770-4c39-b576-ec9d2cb42525", + "metadata": {}, + "outputs": [], + "source": [ + "# load environment variables\n", + "load_dotenv(override=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a456906-915a-4bfd-bb9d-57e505c5093f", + "metadata": {}, + "outputs": [], + "source": [ + "# constants\n", + "\n", + "MODEL_GPT = 'gpt-4o-mini'\n", + "MODEL_LLAMA = 'llama3.2'\n", + "\n", + "github_endpoint = \"https://models.github.ai/inference\"\n", + "ollama_endpoint = \"http://localhost:11434/v1\"\n", + "\n", + "GITHUB_API_KEY = os.getenv('GITHUB_TOKEN')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d7923c-5f28-4c30-8556-342d7c8497c1", + "metadata": {}, + "outputs": [], + "source": [ + "# set up environments\n", + "openai = OpenAI(\n", + " base_url = github_endpoint,\n", + " api_key = GITHUB_API_KEY\n", + ")\n", + "\n", + "ollama = OpenAI(\n", + " base_url = ollama_endpoint,\n", + " api_key = \"llama\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0d0137-52b0-47a8-81a8-11a90a010798", + "metadata": {}, + "outputs": [], + "source": [ + "# here is the question; type over this to ask something new\n", + "\n", + "question = \"\"\"\n", + "Please explain what this code does and why:\n", + "yield from {book.get(\"author\") for book in books if book.get(\"author\")}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33ba4488-dc88-4caf-85d9-8bdb23a60de2", + "metadata": {}, + "outputs": [], + "source": [ + "# Get gpt-4o-mini to answer\n", + "def stream_message(prompt):\n", + " stream = openai.chat.completions.create(\n", + " model = MODEL_GPT,\n", + " messages = [{\"role\":\"user\", \"content\": prompt}],\n", + " stream=True,\n", + " )\n", + " response = \"\"\n", + " display_handle = display(Markdown(\"\"), display_id=True)\n", + " for chunk in stream:\n", + " if chunk.choices:\n", + " response += chunk.choices[0].delta.content or ''\n", + " update_display(Markdown(response), display_id=display_handle.display_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43ba38d5-f62a-4f8d-ba66-55425c8b0d64", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "stream_message(question)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f7c8ea8-4082-4ad0-8751-3301adcf6538", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Get Llama 3.2 to answer\n", + "response = ollama.chat.completions.create(\n", + " model = MODEL_LLAMA,\n", + " messages = [{\"role\":\"user\", \"content\": question}]\n", + ")\n", + "response2 = response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2a85c12-4a8d-4539-af3f-a4d76375105b", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "display(Markdown(response2))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c6f78a8-b3de-4327-9148-6eb385c23af0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "agents", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From a9ad83d9f67da71db8409f7b641e00a7ebda2a08 Mon Sep 17 00:00:00 2001 From: Saurabh Gupta Date: Sun, 7 Sep 2025 16:11:34 -0400 Subject: [PATCH 172/176] week1 day1 Flight Prices Tracker by Saurabh Gupta --- .../Week1_Day1_Flight_Prices_Tracker.ipynb | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 week1/community-contributions/Week1_Day1_Flight_Prices_Tracker.ipynb diff --git a/week1/community-contributions/Week1_Day1_Flight_Prices_Tracker.ipynb b/week1/community-contributions/Week1_Day1_Flight_Prices_Tracker.ipynb new file mode 100644 index 0000000..6f07562 --- /dev/null +++ b/week1/community-contributions/Week1_Day1_Flight_Prices_Tracker.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "fdc2f470", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from bs4 import BeautifulSoup\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5f0fbd79", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the key\n", + "\n", + "if not api_key:\n", + " print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n", + "elif not api_key.startswith(\"sk-proj-\"):\n", + " print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b771480a", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0e97974c", + "metadata": {}, + "outputs": [], + "source": [ + "# A class to represent a Webpage\n", + "# If you're not familiar with Classes, check out the \"Intermediate Python\" notebook\n", + "\n", + "# Some websites need you to use proper headers when fetching them:\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + "}\n", + "\n", + "class Website:\n", + "\n", + " def __init__(self, url):\n", + " \"\"\"\n", + " Create this Website object from the given url using the BeautifulSoup library\n", + " \"\"\"\n", + " self.url = url\n", + " response = requests.get(url, headers=headers)\n", + " soup = BeautifulSoup(response.content, 'html.parser')\n", + " self.title = soup.title.string if soup.title else \"No title found\"\n", + " for irrelevant in soup.body([\"script\", \"style\", \"img\", \"input\"]):\n", + " irrelevant.decompose()\n", + " self.text = soup.body.get_text(separator=\"\\n\", strip=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2ec62fb3", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a list of the flights available according to what user asks for, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7a93a605", + "metadata": {}, + "outputs": [], + "source": [ + "# A function that writes a User Prompt that asks for summaries of websites:\n", + "\n", + "def user_prompt_for(website):\n", + " user_prompt = f\"You are looking at a website titled {website.title}\"\n", + " user_prompt += \"\\nThe contents of this website is as follows; \\\n", + "please provide a list of all the flights available in a table format in markdown. The columns of the table should be - Flight carrier, Flight Dat and times, Fare, No. of stops. \\\n", + "Provide exact flight carriers. If it includes ads or offers, then summarize these too.\\n\\n\"\n", + " user_prompt += website.text\n", + " return user_prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "597646e5", + "metadata": {}, + "outputs": [], + "source": [ + "def fetch_flights(from_tx,to_tx, date_from,date_to=''):\n", + " website = Website(f\"https://www.ca.kayak.com/flights/{from_tx}-{to_tx}/{date_from}/{date_to}\")\n", + " user_prompt = user_prompt_for(website)\n", + " messages = [{\"role\":\"system\",\"content\":system_prompt},{\"role\":\"user\",\"content\":user_prompt}]\n", + " response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + " display(Markdown(response.choices[0].message.content))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "47ae61f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "Here is the list of available flights from YYZ to DEL on 9/11:\n", + "\n", + "| Flight Carrier | Flight Date and Times | Fare | No. of Stops |\n", + "|----------------|-----------------------|--------|--------------|\n", + "| Air Canada | 9/11, 10:00 AM | C$ 833 | 1 |\n", + "| Lufthansa | 9/11, 5:00 PM | C$ 847 | 2 |\n", + "| Qatar Airways | 9/11, 1:30 PM | C$ 1,559| 1 |\n", + "\n", + "### Summary of Offers\n", + "- The cheapest fare is C$ 833 with a travel time of 23 hours and 35 minutes.\n", + "- The best fare option is C$ 847 with a travel time of 22 hours and 20 minutes.\n", + "- The quickest option is priced at C$ 1,559 with a travel duration of 13 hours and 55 minutes. \n", + "\n", + "*Note: Prices are per person and do not include baggage fees.*" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fetch_flights('yyz','del','2025-11-09')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a48ceb6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15bb1a04", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "902975bf", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 1b763442f914a2509e8b83ea81566145f742eef1 Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Mon, 8 Sep 2025 13:25:06 +0530 Subject: [PATCH 173/176] created figma assistance and also created huggingFace space for it --- .../.github/workflows/update_space.yml | 28 + .../Figma_assistance/README.md | 6 + .../day_5_figma_assistance.py | 493 ++++++++++++++++ .../Figma_assistance/requirements.txt | 7 + .../day_5_figma_assistance.ipynb | 535 ++++++++++++++++++ 5 files changed, 1069 insertions(+) create mode 100644 week2/community-contributions/Figma_assistance/.github/workflows/update_space.yml create mode 100644 week2/community-contributions/Figma_assistance/README.md create mode 100644 week2/community-contributions/Figma_assistance/day_5_figma_assistance.py create mode 100644 week2/community-contributions/Figma_assistance/requirements.txt create mode 100644 week2/community-contributions/day_5_figma_assistance.ipynb diff --git a/week2/community-contributions/Figma_assistance/.github/workflows/update_space.yml b/week2/community-contributions/Figma_assistance/.github/workflows/update_space.yml new file mode 100644 index 0000000..7e328a7 --- /dev/null +++ b/week2/community-contributions/Figma_assistance/.github/workflows/update_space.yml @@ -0,0 +1,28 @@ +name: Run Python script + +on: + push: + branches: + - figma_assistance + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + + - name: Install Gradio + run: python -m pip install gradio + + - name: Log in to Hugging Face + run: python -c 'import huggingface_hub; huggingface_hub.login(token="${{ secrets.hf_token }}")' + + - name: Deploy to Spaces + run: gradio deploy diff --git a/week2/community-contributions/Figma_assistance/README.md b/week2/community-contributions/Figma_assistance/README.md new file mode 100644 index 0000000..26a783b --- /dev/null +++ b/week2/community-contributions/Figma_assistance/README.md @@ -0,0 +1,6 @@ +--- +title: Figma_assistance +app_file: day_5_figma_assistance.py +sdk: gradio +sdk_version: 5.38.2 +--- diff --git a/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py b/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py new file mode 100644 index 0000000..32cf8b8 --- /dev/null +++ b/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py @@ -0,0 +1,493 @@ +from openai import OpenAI +from dotenv import load_dotenv +import os +load_dotenv() +import gradio as gr +import base64 +from io import BytesIO +from PIL import Image +from IPython.display import Audio, display +import google.generativeai +import anthropic + +client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) + +# Configure Gemini +google.generativeai.configure(api_key=os.getenv("GOOGLE_API_KEY")) + +# Configure Claude +claude = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")) +openAI_model = "gpt-3.5-turbo" +gemini_model = "gemini-2.0-flash" +claude_model = "claude-sonnet-4-20250514" +openai_audio_model = "tts-1" + +# Figma onboarding knowledge base +FIGMA_KNOWLEDGE = """ +You are a helpful Figma onboarding assistant. You help new users learn Figma's core features and workflows. + +Key Figma concepts to help users with: +- Interface overview (toolbar, layers panel, properties panel) +- Creating and editing frames +- Working with shapes, text, and components +- Using the pen tool for custom shapes +- Auto Layout for responsive designs +- Components and variants +- Prototyping and interactions +- Collaboration features +- Design systems and libraries +- Exporting assets +- Keyboard shortcuts + +Always provide clear, step-by-step instructions and mention relevant keyboard shortcuts when applicable. +""" + +promts = { + "Charlie": FIGMA_KNOWLEDGE +} + +def truncate_for_tts(text, max_length=4000): + """Truncate text for TTS while preserving complete sentences""" + if len(text) <= max_length: + return text + + # Try to truncate at sentence boundaries + sentences = text.split('. ') + truncated = "" + + for sentence in sentences: + if len(truncated + sentence + '. ') <= max_length: + truncated += sentence + '. ' + else: + break + + # If we couldn't fit any complete sentences, just truncate hard + if not truncated.strip(): + truncated = text[:max_length-10] + "..." + + return truncated.strip() + +def talker_openai(message): + """Generate audio from text using OpenAI TTS""" + try: + # Truncate message for TTS + truncated_message = truncate_for_tts(message) + + response = client.audio.speech.create( + model="tts-1", + voice="onyx", + input=truncated_message + ) + + audio_stream = BytesIO(response.content) + output_filename = "output_audio_openai.mp3" + with open(output_filename, "wb") as f: + f.write(audio_stream.read()) + + return output_filename + except Exception as e: + print(f"Error generating audio with OpenAI: {str(e)}") + return None + +# def talker_gemini(message): +# """Generate audio from text using Gemini TTS""" +# try: +# # Try the newer Gemini 2.0 TTS API +# model = google.generativeai.GenerativeModel(gemini_model) + +# # Truncate message for TTS +# truncated_message = truncate_for_tts(message) + +# # Generate audio using Gemini with simplified config +# response = model.generate_content( +# truncated_message, +# generation_config={ +# "response_modalities": ["AUDIO"] +# } +# ) + +# # Check if response has audio data +# if hasattr(response, 'audio_data') and response.audio_data: +# output_filename = "output_audio_gemini.wav" +# with open(output_filename, "wb") as f: +# f.write(response.audio_data) +# return output_filename +# else: +# print("Gemini response does not contain audio data") +# raise Exception("No audio data in Gemini response") + +# except Exception as e: +# print(f"Error generating audio with Gemini: {str(e)}") +# print("Gemini TTS not available, using OpenAI TTS with different voice") +# # Use OpenAI TTS but with a different voice to distinguish +# try: +# # Truncate message for TTS +# truncated_message = truncate_for_tts(message) + +# response = client.audio.speech.create( +# model="tts-1", +# voice="alloy", # Different voice to indicate it's for Gemini responses +# input=truncated_message +# ) +# audio_stream = BytesIO(response.content) +# output_filename = "output_audio_gemini_fallback.mp3" +# with open(output_filename, "wb") as f: +# f.write(audio_stream.read()) +# return output_filename +# except Exception as fallback_error: +# print(f"Fallback TTS also failed: {str(fallback_error)}") +# return None + +# def talker_claude(message): +# """Generate audio from text using Claude TTS (fallback to OpenAI)""" +# try: +# # Truncate message for TTS +# truncated_message = truncate_for_tts(message) + +# # Claude doesn't have native TTS, so we'll use OpenAI TTS +# # but with a different filename to distinguish +# response = client.audio.speech.create( +# model="tts-1", +# voice="nova", # Different voice for Claude responses +# input=truncated_message +# ) + +# audio_stream = BytesIO(response.content) +# output_filename = "output_audio_claude.mp3" +# with open(output_filename, "wb") as f: +# f.write(audio_stream.read()) + +# return output_filename +# except Exception as e: +# print(f"Error generating audio for Claude: {str(e)}") +# return None + +def talker(message, model_choice): + """Generate audio from text using selected model""" + # if model_choice == "Google Gemini (2.0 Flash)": + # return talker_gemini(message) + # elif model_choice == "Claude (Sonnet 4)": + # return talker_claude(message) + # else: + return talker_openai(message) + +def get_figma_help_openai(user_question, chat_history): + """Get Figma onboarding assistance using OpenAI""" + try: + messages = [ + {"role": "system", "content": FIGMA_KNOWLEDGE} + ] + + # Convert messages format chat history to OpenAI format + for msg in chat_history: + if msg["role"] == "user": + messages.append({"role": "user", "content": msg["content"]}) + elif msg["role"] == "assistant": + messages.append({"role": "assistant", "content": msg["content"]}) + + messages.append({"role": "user", "content": user_question}) + + response = client.chat.completions.create( + model=openAI_model, + messages=messages, + max_tokens=500, + temperature=0.7 + ) + return response.choices[0].message.content + + except Exception as e: + return f"Sorry, I encountered an error with OpenAI: {str(e)}" + +def get_figma_help_gemini(user_question, chat_history): + """Get Figma onboarding assistance using Gemini""" + try: + gemini = google.generativeai.GenerativeModel( + model_name=gemini_model, + system_instruction=FIGMA_KNOWLEDGE, + ) + + # Build conversation context from messages format + conversation_context = "" + for msg in chat_history: + if msg["role"] == "user": + conversation_context += f"User: {msg['content']}\n" + elif msg["role"] == "assistant": + conversation_context += f"Assistant: {msg['content']}\n\n" + + message = conversation_context + f"User: {user_question}" + response = gemini.generate_content(message) + reply = response.text + return reply + + except Exception as e: + return f"Sorry, I encountered an error with Gemini: {str(e)}" + +def get_figma_help_claude(user_question, chat_history): + """Get Figma onboarding assistance using Claude""" + try: + # Convert messages format to Claude format + claude_messages = [] + for msg in chat_history: + if msg["role"] == "user": + claude_messages.append({"role": "user", "content": msg["content"]}) + elif msg["role"] == "assistant": + claude_messages.append({"role": "assistant", "content": msg["content"]}) + + # Add the current question + claude_messages.append({"role": "user", "content": user_question}) + + response = claude.messages.create( + model=claude_model, + max_tokens=500, + temperature=0.7, + system=promts["Charlie"], + messages=claude_messages, + ) + reply = response.content[0].text + return reply + + except Exception as e: + return f"Sorry, I encountered an error with Claude: {str(e)}" + +def respond(message, chat_history, model_choice): + if not message.strip(): + return "", chat_history, "", model_choice + + bot_message = get_figma_help(message, chat_history, model_choice) + + # Add user message and bot response in messages format + new_history = chat_history + [ + {"role": "user", "content": message}, + {"role": "assistant", "content": bot_message} + ] + + return "", new_history, bot_message, model_choice + +def clear_chat(): + """Clear the chat history""" + return [], "", None + +def get_figma_help(user_question, chat_history, model_choice): + """Get Figma onboarding assistance using selected model""" + if model_choice == "OpenAI (GPT-3.5)": + return get_figma_help_openai(user_question, chat_history) + elif model_choice == "Google Gemini (2.0 Flash)": + return get_figma_help_gemini(user_question, chat_history) + elif model_choice == "Claude (Sonnet 4)": + return get_figma_help_claude(user_question, chat_history) + else: + return "Please select a valid model." + + +custom_css = """ + +/* Chat area styling */ +.styled-chat { + border-radius: 15px !important; + box-shadow: 0 4px 12px var(--shadow-color) !important; + border: 1px solid var(--border-color) !important; + padding: 10px; + # background-color: #fff; +} + +/* Audio player styling */ +.styled-audio { + border-radius: 15px !important; + box-shadow: 0 4px 12px var(--shadow-color) !important; + border: 10px solid var(--block-background-fill) !important; + padding: 10px; + background-color: var(--background-fill-secondary) !important; +} +""" + +# Create Gradio interface +with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=custom_css) as demo: + gr.Markdown( + """ +

+ +
+

✨ What I can help you with:

+
+
+

šŸš€ Getting Started
+ Interface overview, basic navigation

+

šŸ› ļø Tools & Features
+ Pen tool, shapes, text, layers

+

šŸ“ Auto Layout
+ Responsive design techniques

+

šŸ”— Prototyping
+ Interactions and animations

+
+
+

🧩 Components
+ Creating reusable elements

+

šŸ‘„ Collaboration
+ Sharing and team workflows

+

šŸ“š Design Systems
+ Libraries and style guides

+

⚔ Shortcuts
+ Productivity tips and tricks

+
+
+
+ +
+

šŸ’” Pro tip: Ask specific questions like \"How do I create a button component?\" for the best results!

+
+ """ + ) + + # Model selection dropdown + model_dropdown = gr.Dropdown( + choices=["OpenAI (GPT-3.5)", "Google Gemini (2.0 Flash)", "Claude (Sonnet 4)"], + value="OpenAI (GPT-3.5)", + label="Select AI Model", + info="Choose which AI model to use for responses" + ) + + with gr.Row(): + msg = gr.Textbox( + placeholder="Type your Figma question here...", + container=False, + scale=4 + ) + submit_btn = gr.Button("Ask", scale=1, variant="primary") + clear_btn = gr.Button("Clear Chat", scale=1) + audio_btn = gr.Button("šŸ”Š Play Audio", scale=1, variant="secondary") + clear_audio_btn = gr.Button("šŸ”‡ Clear Audio", scale=1, variant="secondary") + + + # Example questions + gr.Markdown( + """ +
+

šŸš€ Quick Start Questions

+

Click any question below to get started instantly!

+
+ """ + ) + with gr.Row(): + example_btns = [ + gr.Button( + "How do I create my first frame?", + size="sm", + variant="secondary" + ), + gr.Button( + "What's the difference between components and instances?", + size="sm", + variant="secondary" + ), + gr.Button( + "How do I use Auto Layout?", + size="sm", + variant="secondary" + ), + gr.Button( + "How do I create a prototype?", + size="sm", + variant="secondary" + ) + ] + + # Your components with simple styling + chatbot = gr.Chatbot( + # value=[], + type="messages", + height=400, + placeholder="Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'", + elem_classes=["styled-chat"] + ) + + audio_output = gr.Audio( + label="Audio Response", + visible=True, + elem_classes=["styled-audio"] + ) + + + + + + + + + + + + + last_response = gr.State("") + + + last_response = gr.State("") + current_model = gr.State("OpenAI (GPT-3.5)") + + def respond(message, chat_history, model_choice): + if not message.strip(): + return "", chat_history, "", model_choice + + bot_message = get_figma_help(message, chat_history, model_choice) + new_history = chat_history + [ + {"role": "user", "content": message}, + {"role": "assistant", "content": bot_message}] + return "", new_history, bot_message, model_choice + + def play_audio(last_message, model_choice): + if last_message: + audio_file = talker(last_message, model_choice) + if audio_file: + return audio_file + return None + + def clear_audio(): + """Clear the audio output""" + return None + + def use_example(example_text): + return example_text + + # Set up interactions + submit_btn.click( + respond, + inputs=[msg, chatbot, model_dropdown], + outputs=[msg, chatbot, last_response, current_model] + ) + msg.submit( + respond, + inputs=[msg, chatbot, model_dropdown], + outputs=[msg, chatbot, last_response, current_model] + ) + clear_btn.click(clear_chat, outputs=[chatbot, msg, last_response]) + + # Audio button functionality - now uses selected model + audio_btn.click( + play_audio, + inputs=[last_response, current_model], + outputs=[audio_output] + ) + + # Clear audio button functionality + clear_audio_btn.click( + clear_audio, + outputs=[audio_output] + ) + + # Example button clicks + for i, btn in enumerate(example_btns): + btn.click( + use_example, + inputs=[btn], + outputs=[msg] + ) + +# Launch the app +# if __name__ == "__main__": + demo.launch( + share=True, + # server_name="0.0.0.0", + # server_port=7860 + ) \ No newline at end of file diff --git a/week2/community-contributions/Figma_assistance/requirements.txt b/week2/community-contributions/Figma_assistance/requirements.txt new file mode 100644 index 0000000..c090b08 --- /dev/null +++ b/week2/community-contributions/Figma_assistance/requirements.txt @@ -0,0 +1,7 @@ +openai +python-dotenv +gradio +pillow +google-generativeai +anthropic +ipython diff --git a/week2/community-contributions/day_5_figma_assistance.ipynb b/week2/community-contributions/day_5_figma_assistance.ipynb new file mode 100644 index 0000000..bb30876 --- /dev/null +++ b/week2/community-contributions/day_5_figma_assistance.ipynb @@ -0,0 +1,535 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "dc49e5ae", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "from dotenv import load_dotenv\n", + "import os\n", + "load_dotenv()\n", + "import gradio as gr\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from IPython.display import Audio, display\n", + "import google.generativeai\n", + "import anthropic\n", + "\n", + "client = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", + "\n", + "# Configure Gemini\n", + "google.generativeai.configure(api_key=os.getenv(\"GOOGLE_API_KEY\"))\n", + "\n", + "# Configure Claude\n", + "claude = anthropic.Anthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n", + "openAI_model = \"gpt-3.5-turbo\"\n", + "gemini_model = \"gemini-2.0-flash\"\n", + "claude_model = \"claude-sonnet-4-20250514\"\n", + "openai_audio_model = \"tts-1\"\n", + "\n", + "# Figma onboarding knowledge base\n", + "FIGMA_KNOWLEDGE = \"\"\"\n", + "You are a helpful Figma onboarding assistant. You help new users learn Figma's core features and workflows.\n", + "\n", + "Key Figma concepts to help users with:\n", + "- Interface overview (toolbar, layers panel, properties panel)\n", + "- Creating and editing frames\n", + "- Working with shapes, text, and components\n", + "- Using the pen tool for custom shapes\n", + "- Auto Layout for responsive designs\n", + "- Components and variants\n", + "- Prototyping and interactions\n", + "- Collaboration features\n", + "- Design systems and libraries\n", + "- Exporting assets\n", + "- Keyboard shortcuts\n", + "\n", + "Always provide clear, step-by-step instructions and mention relevant keyboard shortcuts when applicable.\n", + "\"\"\"\n", + "\n", + "promts = {\n", + " \"Charlie\": FIGMA_KNOWLEDGE\n", + "}\n", + "\n", + "def truncate_for_tts(text, max_length=4000):\n", + " \"\"\"Truncate text for TTS while preserving complete sentences\"\"\"\n", + " if len(text) <= max_length:\n", + " return text\n", + " \n", + " # Try to truncate at sentence boundaries\n", + " sentences = text.split('. ')\n", + " truncated = \"\"\n", + " \n", + " for sentence in sentences:\n", + " if len(truncated + sentence + '. ') <= max_length:\n", + " truncated += sentence + '. '\n", + " else:\n", + " break\n", + " \n", + " # If we couldn't fit any complete sentences, just truncate hard\n", + " if not truncated.strip():\n", + " truncated = text[:max_length-10] + \"...\"\n", + " \n", + " return truncated.strip()\n", + "\n", + "def talker_openai(message):\n", + " \"\"\"Generate audio from text using OpenAI TTS\"\"\"\n", + " try:\n", + " # Truncate message for TTS\n", + " truncated_message = truncate_for_tts(message)\n", + " \n", + " response = client.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=truncated_message\n", + " )\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " output_filename = \"output_audio_openai.mp3\"\n", + " with open(output_filename, \"wb\") as f:\n", + " f.write(audio_stream.read())\n", + "\n", + " return output_filename\n", + " except Exception as e:\n", + " print(f\"Error generating audio with OpenAI: {str(e)}\")\n", + " return None\n", + "\n", + "# def talker_gemini(message):\n", + "# \"\"\"Generate audio from text using Gemini TTS\"\"\"\n", + "# try:\n", + "# # Try the newer Gemini 2.0 TTS API\n", + "# model = google.generativeai.GenerativeModel(gemini_model)\n", + " \n", + "# # Truncate message for TTS\n", + "# truncated_message = truncate_for_tts(message)\n", + " \n", + "# # Generate audio using Gemini with simplified config\n", + "# response = model.generate_content(\n", + "# truncated_message,\n", + "# generation_config={\n", + "# \"response_modalities\": [\"AUDIO\"]\n", + "# }\n", + "# )\n", + " \n", + "# # Check if response has audio data\n", + "# if hasattr(response, 'audio_data') and response.audio_data:\n", + "# output_filename = \"output_audio_gemini.wav\"\n", + "# with open(output_filename, \"wb\") as f:\n", + "# f.write(response.audio_data)\n", + "# return output_filename\n", + "# else:\n", + "# print(\"Gemini response does not contain audio data\")\n", + "# raise Exception(\"No audio data in Gemini response\")\n", + " \n", + "# except Exception as e:\n", + "# print(f\"Error generating audio with Gemini: {str(e)}\")\n", + "# print(\"Gemini TTS not available, using OpenAI TTS with different voice\")\n", + "# # Use OpenAI TTS but with a different voice to distinguish\n", + "# try:\n", + "# # Truncate message for TTS\n", + "# truncated_message = truncate_for_tts(message)\n", + " \n", + "# response = client.audio.speech.create(\n", + "# model=\"tts-1\",\n", + "# voice=\"alloy\", # Different voice to indicate it's for Gemini responses\n", + "# input=truncated_message\n", + "# )\n", + "# audio_stream = BytesIO(response.content)\n", + "# output_filename = \"output_audio_gemini_fallback.mp3\"\n", + "# with open(output_filename, \"wb\") as f:\n", + "# f.write(audio_stream.read())\n", + "# return output_filename\n", + "# except Exception as fallback_error:\n", + "# print(f\"Fallback TTS also failed: {str(fallback_error)}\")\n", + "# return None\n", + "\n", + "# def talker_claude(message):\n", + "# \"\"\"Generate audio from text using Claude TTS (fallback to OpenAI)\"\"\"\n", + "# try:\n", + "# # Truncate message for TTS\n", + "# truncated_message = truncate_for_tts(message)\n", + " \n", + "# # Claude doesn't have native TTS, so we'll use OpenAI TTS\n", + "# # but with a different filename to distinguish\n", + "# response = client.audio.speech.create(\n", + "# model=\"tts-1\",\n", + "# voice=\"nova\", # Different voice for Claude responses\n", + "# input=truncated_message\n", + "# )\n", + "\n", + "# audio_stream = BytesIO(response.content)\n", + "# output_filename = \"output_audio_claude.mp3\"\n", + "# with open(output_filename, \"wb\") as f:\n", + "# f.write(audio_stream.read())\n", + "\n", + "# return output_filename\n", + "# except Exception as e:\n", + "# print(f\"Error generating audio for Claude: {str(e)}\")\n", + "# return None\n", + "\n", + "def talker(message, model_choice):\n", + " \"\"\"Generate audio from text using selected model\"\"\"\n", + " # if model_choice == \"Google Gemini (2.0 Flash)\":\n", + " # return talker_gemini(message)\n", + " # elif model_choice == \"Claude (Sonnet 4)\":\n", + " # return talker_claude(message)\n", + " # else:\n", + " return talker_openai(message)\n", + "\n", + "def get_figma_help_openai(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using OpenAI\"\"\"\n", + " try:\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": FIGMA_KNOWLEDGE}\n", + " ]\n", + " \n", + " # Convert messages format chat history to OpenAI format\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", + " elif msg[\"role\"] == \"assistant\":\n", + " messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", + " \n", + " messages.append({\"role\": \"user\", \"content\": user_question})\n", + " \n", + " response = client.chat.completions.create(\n", + " model=openAI_model,\n", + " messages=messages,\n", + " max_tokens=500,\n", + " temperature=0.7\n", + " )\n", + " return response.choices[0].message.content\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with OpenAI: {str(e)}\"\n", + "\n", + "def get_figma_help_gemini(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using Gemini\"\"\"\n", + " try:\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=FIGMA_KNOWLEDGE,\n", + " )\n", + " \n", + " # Build conversation context from messages format\n", + " conversation_context = \"\"\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " conversation_context += f\"User: {msg['content']}\\n\"\n", + " elif msg[\"role\"] == \"assistant\":\n", + " conversation_context += f\"Assistant: {msg['content']}\\n\\n\"\n", + " \n", + " message = conversation_context + f\"User: {user_question}\"\n", + " response = gemini.generate_content(message)\n", + " reply = response.text\n", + " return reply\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with Gemini: {str(e)}\"\n", + "\n", + "def get_figma_help_claude(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using Claude\"\"\"\n", + " try:\n", + " # Convert messages format to Claude format\n", + " claude_messages = []\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " claude_messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", + " elif msg[\"role\"] == \"assistant\":\n", + " claude_messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", + " \n", + " # Add the current question\n", + " claude_messages.append({\"role\": \"user\", \"content\": user_question})\n", + " \n", + " response = claude.messages.create(\n", + " model=claude_model,\n", + " max_tokens=500,\n", + " temperature=0.7,\n", + " system=promts[\"Charlie\"],\n", + " messages=claude_messages,\n", + " )\n", + " reply = response.content[0].text\n", + " return reply\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with Claude: {str(e)}\"\n", + "\n", + "def respond(message, chat_history, model_choice):\n", + " if not message.strip():\n", + " return \"\", chat_history, \"\", model_choice\n", + " \n", + " bot_message = get_figma_help(message, chat_history, model_choice)\n", + " \n", + " # Add user message and bot response in messages format\n", + " new_history = chat_history + [\n", + " {\"role\": \"user\", \"content\": message},\n", + " {\"role\": \"assistant\", \"content\": bot_message}\n", + " ]\n", + " \n", + " return \"\", new_history, bot_message, model_choice\n", + "\n", + "def clear_chat():\n", + " \"\"\"Clear the chat history\"\"\"\n", + " return [], \"\", None\n", + "\n", + "def get_figma_help(user_question, chat_history, model_choice):\n", + " \"\"\"Get Figma onboarding assistance using selected model\"\"\"\n", + " if model_choice == \"OpenAI (GPT-3.5)\":\n", + " return get_figma_help_openai(user_question, chat_history)\n", + " elif model_choice == \"Google Gemini (2.0 Flash)\":\n", + " return get_figma_help_gemini(user_question, chat_history)\n", + " elif model_choice == \"Claude (Sonnet 4)\":\n", + " return get_figma_help_claude(user_question, chat_history)\n", + " else:\n", + " return \"Please select a valid model.\"\n", + "\n", + "\n", + "custom_css = \"\"\"\n", + "\n", + "/* Chat area styling */\n", + ".styled-chat {\n", + " border-radius: 15px !important;\n", + " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", + " border: 1px solid var(--border-color) !important;\n", + " padding: 10px;\n", + " # background-color: #fff;\n", + "}\n", + "\n", + "/* Audio player styling */\n", + ".styled-audio {\n", + " border-radius: 15px !important;\n", + " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", + " border: 10px solid var(--block-background-fill) !important;\n", + " padding: 10px;\n", + " background-color: var(--background-fill-secondary) !important;\n", + "}\n", + "\"\"\"\n", + "\n", + "# Create Gradio interface\n", + "with gr.Blocks(title=\"Figma Onboarding Assistant\", theme=gr.themes.Soft(),css=custom_css) as demo:\n", + " gr.Markdown(\n", + " \"\"\"\n", + "
\n", + "

šŸŽØ Figma Onboarding Assistant

\n", + "

Your AI-powered Figma learning companion

\n", + "
\n", + " \n", + "
\n", + "

✨ What I can help you with:

\n", + "
\n", + "
\n", + "

šŸš€ Getting Started
\n", + " Interface overview, basic navigation

\n", + "

šŸ› ļø Tools & Features
\n", + " Pen tool, shapes, text, layers

\n", + "

šŸ“ Auto Layout
\n", + " Responsive design techniques

\n", + "

šŸ”— Prototyping
\n", + " Interactions and animations

\n", + "
\n", + "
\n", + "

🧩 Components
\n", + " Creating reusable elements

\n", + "

šŸ‘„ Collaboration
\n", + " Sharing and team workflows

\n", + "

šŸ“š Design Systems
\n", + " Libraries and style guides

\n", + "

⚔ Shortcuts
\n", + " Productivity tips and tricks

\n", + "
\n", + "
\n", + "
\n", + " \n", + "
\n", + "

šŸ’” Pro tip: Ask specific questions like \\\"How do I create a button component?\\\" for the best results!

\n", + "
\n", + " \"\"\"\n", + " )\n", + " \n", + " # Model selection dropdown\n", + " model_dropdown = gr.Dropdown(\n", + " choices=[\"OpenAI (GPT-3.5)\", \"Google Gemini (2.0 Flash)\", \"Claude (Sonnet 4)\"],\n", + " value=\"OpenAI (GPT-3.5)\",\n", + " label=\"Select AI Model\",\n", + " info=\"Choose which AI model to use for responses\"\n", + " )\n", + " \n", + " with gr.Row():\n", + " msg = gr.Textbox(\n", + " placeholder=\"Type your Figma question here...\",\n", + " container=False,\n", + " scale=4\n", + " )\n", + " submit_btn = gr.Button(\"Ask\", scale=1, variant=\"primary\")\n", + " clear_btn = gr.Button(\"Clear Chat\", scale=1)\n", + " audio_btn = gr.Button(\"šŸ”Š Play Audio\", scale=1, variant=\"secondary\")\n", + " clear_audio_btn = gr.Button(\"šŸ”‡ Clear Audio\", scale=1, variant=\"secondary\")\n", + " \n", + "\n", + " # Example questions\n", + " gr.Markdown(\n", + " \"\"\"\n", + "
\n", + "

šŸš€ Quick Start Questions

\n", + "

Click any question below to get started instantly!

\n", + "
\n", + " \"\"\"\n", + " )\n", + " with gr.Row():\n", + " example_btns = [\n", + " gr.Button(\n", + " \"How do I create my first frame?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"What's the difference between components and instances?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"How do I use Auto Layout?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"How do I create a prototype?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " )\n", + " ]\n", + "\n", + " # Your components with simple styling\n", + " chatbot = gr.Chatbot(\n", + " # value=[],\n", + " type=\"messages\",\n", + " height=400,\n", + " placeholder=\"Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'\",\n", + " elem_classes=[\"styled-chat\"]\n", + " )\n", + "\n", + " audio_output = gr.Audio(\n", + " label=\"Audio Response\",\n", + " visible=True,\n", + " elem_classes=[\"styled-audio\"]\n", + " )\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " last_response = gr.State(\"\")\n", + "\n", + " \n", + " last_response = gr.State(\"\")\n", + " current_model = gr.State(\"OpenAI (GPT-3.5)\")\n", + " \n", + " def respond(message, chat_history, model_choice):\n", + " if not message.strip():\n", + " return \"\", chat_history, \"\", model_choice\n", + " \n", + " bot_message = get_figma_help(message, chat_history, model_choice)\n", + " new_history = chat_history + [\n", + " {\"role\": \"user\", \"content\": message},\n", + " {\"role\": \"assistant\", \"content\": bot_message}]\n", + " return \"\", new_history, bot_message, model_choice\n", + " \n", + " def play_audio(last_message, model_choice):\n", + " if last_message:\n", + " audio_file = talker(last_message, model_choice)\n", + " if audio_file:\n", + " return audio_file\n", + " return None\n", + " \n", + " def clear_audio():\n", + " \"\"\"Clear the audio output\"\"\"\n", + " return None\n", + " \n", + " def use_example(example_text):\n", + " return example_text\n", + " \n", + " # Set up interactions\n", + " submit_btn.click(\n", + " respond, \n", + " inputs=[msg, chatbot, model_dropdown], \n", + " outputs=[msg, chatbot, last_response, current_model]\n", + " )\n", + " msg.submit(\n", + " respond, \n", + " inputs=[msg, chatbot, model_dropdown], \n", + " outputs=[msg, chatbot, last_response, current_model]\n", + " )\n", + " clear_btn.click(clear_chat, outputs=[chatbot, msg, last_response])\n", + " \n", + " # Audio button functionality - now uses selected model\n", + " audio_btn.click(\n", + " play_audio,\n", + " inputs=[last_response, current_model],\n", + " outputs=[audio_output]\n", + " )\n", + " \n", + " # Clear audio button functionality\n", + " clear_audio_btn.click(\n", + " clear_audio,\n", + " outputs=[audio_output]\n", + " )\n", + " \n", + " # Example button clicks\n", + " for i, btn in enumerate(example_btns):\n", + " btn.click(\n", + " use_example,\n", + " inputs=[btn],\n", + " outputs=[msg]\n", + " )\n", + "\n", + "# Launch the app\n", + "# if __name__ == \"__main__\":\n", + " demo.launch(\n", + " share=True,\n", + " # server_name=\"0.0.0.0\",\n", + " # server_port=7860\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90b29a7d-aec8-49d2-83c7-3e3ab96c47e1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d5467ed93ad8853b44dfdb4a93f4b3b676300a9e Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Mon, 8 Sep 2025 16:08:08 +0530 Subject: [PATCH 174/176] change gr.markdown to gr.html so that all css can work properly and removed inline css and added classname --- .../day_5_figma_assistance.py | 255 ++++----- .../day_5_onboarding_assistance.ipynb | 526 ++++++++++++++++++ 2 files changed, 649 insertions(+), 132 deletions(-) create mode 100644 week2/community-contributions/day_5_onboarding_assistance.ipynb diff --git a/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py b/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py index 32cf8b8..9d605f4 100644 --- a/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py +++ b/week2/community-contributions/Figma_assistance/day_5_figma_assistance.py @@ -89,86 +89,8 @@ def talker_openai(message): print(f"Error generating audio with OpenAI: {str(e)}") return None -# def talker_gemini(message): -# """Generate audio from text using Gemini TTS""" -# try: -# # Try the newer Gemini 2.0 TTS API -# model = google.generativeai.GenerativeModel(gemini_model) - -# # Truncate message for TTS -# truncated_message = truncate_for_tts(message) - -# # Generate audio using Gemini with simplified config -# response = model.generate_content( -# truncated_message, -# generation_config={ -# "response_modalities": ["AUDIO"] -# } -# ) - -# # Check if response has audio data -# if hasattr(response, 'audio_data') and response.audio_data: -# output_filename = "output_audio_gemini.wav" -# with open(output_filename, "wb") as f: -# f.write(response.audio_data) -# return output_filename -# else: -# print("Gemini response does not contain audio data") -# raise Exception("No audio data in Gemini response") - -# except Exception as e: -# print(f"Error generating audio with Gemini: {str(e)}") -# print("Gemini TTS not available, using OpenAI TTS with different voice") -# # Use OpenAI TTS but with a different voice to distinguish -# try: -# # Truncate message for TTS -# truncated_message = truncate_for_tts(message) - -# response = client.audio.speech.create( -# model="tts-1", -# voice="alloy", # Different voice to indicate it's for Gemini responses -# input=truncated_message -# ) -# audio_stream = BytesIO(response.content) -# output_filename = "output_audio_gemini_fallback.mp3" -# with open(output_filename, "wb") as f: -# f.write(audio_stream.read()) -# return output_filename -# except Exception as fallback_error: -# print(f"Fallback TTS also failed: {str(fallback_error)}") -# return None - -# def talker_claude(message): -# """Generate audio from text using Claude TTS (fallback to OpenAI)""" -# try: -# # Truncate message for TTS -# truncated_message = truncate_for_tts(message) - -# # Claude doesn't have native TTS, so we'll use OpenAI TTS -# # but with a different filename to distinguish -# response = client.audio.speech.create( -# model="tts-1", -# voice="nova", # Different voice for Claude responses -# input=truncated_message -# ) - -# audio_stream = BytesIO(response.content) -# output_filename = "output_audio_claude.mp3" -# with open(output_filename, "wb") as f: -# f.write(audio_stream.read()) - -# return output_filename -# except Exception as e: -# print(f"Error generating audio for Claude: {str(e)}") -# return None - def talker(message, model_choice): """Generate audio from text using selected model""" - # if model_choice == "Google Gemini (2.0 Flash)": - # return talker_gemini(message) - # elif model_choice == "Claude (Sonnet 4)": - # return talker_claude(message) - # else: return talker_openai(message) def get_figma_help_openai(user_question, chat_history): @@ -278,16 +200,13 @@ def get_figma_help(user_question, chat_history, model_choice): else: return "Please select a valid model." - custom_css = """ - /* Chat area styling */ .styled-chat { border-radius: 15px !important; box-shadow: 0 4px 12px var(--shadow-color) !important; border: 1px solid var(--border-color) !important; padding: 10px; - # background-color: #fff; } /* Audio player styling */ @@ -298,45 +217,136 @@ custom_css = """ padding: 10px; background-color: var(--background-fill-secondary) !important; } + +/* Header styling */ +.header-container { + text-align: center; + padding: 20px; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + border-radius: 15px; + margin-bottom: 20px; +} + +.header-title { + color: white; + margin: 0; + font-size: 2.5em; +} + +.header-subtitle { + color: #f0f0f0; + margin: 10px 0 0 0; + font-size: 1.2em; +} + +/* Features section styling */ +.features-container { + background: #f8f9fa; + padding: 20px; + border-radius: 10px; + border-left: 4px solid #667eea; +} + +.features-title { + color: #333; + margin-top: 0; +} + +.features-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 15px; + margin-top: 15px; +} + +.feature-item { + color: #333; + margin: 10px 0; +} + +.feature-title { + color: #667eea; +} + +.feature-description { + color: #666; +} + +/* Pro tip styling */ +.protip-container { + text-align: center; + margin-top: 20px; + padding: 15px; + background: #e8f4f8; + border-radius: 8px; +} + +.protip-text { + margin: 0; + color: #2c5aa0 !important; + font-weight: 500; +} + +/* Quick start questions styling */ +.quickstart-container { + background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); + padding: 15px 20px; + border-radius: 10px; + margin: 20px 0; +} + +.quickstart-title { + color: white !important; + margin: 0; + font-size: 1.3em; + text-align: center; +} + +.quickstart-subtitle { + color: #f0f8ff !important; + margin: 5px 0 0 0; + text-align: center; + font-size: 0.9em; +} """ # Create Gradio interface -with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=custom_css) as demo: - gr.Markdown( +with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(), css=custom_css) as demo: + gr.HTML( """ -
-

šŸŽØ Figma Onboarding Assistant

-

Your AI-powered Figma learning companion

+
+

šŸŽØ Figma Onboarding Assistant

+

Your AI-powered Figma learning companion

-
-

✨ What I can help you with:

-
+
+

✨ What I can help you with:

+
-

šŸš€ Getting Started
- Interface overview, basic navigation

-

šŸ› ļø Tools & Features
- Pen tool, shapes, text, layers

-

šŸ“ Auto Layout
- Responsive design techniques

-

šŸ”— Prototyping
- Interactions and animations

+

šŸš€ Getting Started
+ Interface overview, basic navigation

+

šŸ› ļø Tools & Features
+ Pen tool, shapes, text, layers

+

šŸ“ Auto Layout
+ Responsive design techniques

+

šŸ”— Prototyping
+ Interactions and animations

-

🧩 Components
- Creating reusable elements

-

šŸ‘„ Collaboration
- Sharing and team workflows

-

šŸ“š Design Systems
- Libraries and style guides

-

⚔ Shortcuts
- Productivity tips and tricks

+

🧩 Components
+ Creating reusable elements

+

šŸ‘„ Collaboration
+ Sharing and team workflows

+

šŸ“š Design Systems
+ Libraries and style guides

+

⚔ Shortcuts
+ Productivity tips and tricks

-
-

šŸ’” Pro tip: Ask specific questions like \"How do I create a button component?\" for the best results!

+
+

šŸ’” Pro tip: Ask specific questions like "How do I create a button component?" for the best results!

""" ) @@ -362,14 +372,15 @@ with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=cu # Example questions - gr.Markdown( + gr.HTML( """ -
-

šŸš€ Quick Start Questions

-

Click any question below to get started instantly!

+
+

šŸš€ Quick Start Questions

+

Click any question below to get started instantly!

""" ) + with gr.Row(): example_btns = [ gr.Button( @@ -396,7 +407,6 @@ with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=cu # Your components with simple styling chatbot = gr.Chatbot( - # value=[], type="messages", height=400, placeholder="Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'", @@ -409,20 +419,6 @@ with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=cu elem_classes=["styled-audio"] ) - - - - - - - - - - - - last_response = gr.State("") - - last_response = gr.State("") current_model = gr.State("OpenAI (GPT-3.5)") @@ -485,9 +481,4 @@ with gr.Blocks(title="Figma Onboarding Assistant", theme=gr.themes.Soft(),css=cu ) # Launch the app -# if __name__ == "__main__": - demo.launch( - share=True, - # server_name="0.0.0.0", - # server_port=7860 - ) \ No newline at end of file +demo.launch(share=True) \ No newline at end of file diff --git a/week2/community-contributions/day_5_onboarding_assistance.ipynb b/week2/community-contributions/day_5_onboarding_assistance.ipynb new file mode 100644 index 0000000..943d69c --- /dev/null +++ b/week2/community-contributions/day_5_onboarding_assistance.ipynb @@ -0,0 +1,526 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "dc49e5ae", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "from dotenv import load_dotenv\n", + "import os\n", + "load_dotenv()\n", + "import gradio as gr\n", + "import base64\n", + "from io import BytesIO\n", + "from PIL import Image\n", + "from IPython.display import Audio, display\n", + "import google.generativeai\n", + "import anthropic\n", + "\n", + "client = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", + "\n", + "# Configure Gemini\n", + "google.generativeai.configure(api_key=os.getenv(\"GOOGLE_API_KEY\"))\n", + "\n", + "# Configure Claude\n", + "claude = anthropic.Anthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n", + "openAI_model = \"gpt-3.5-turbo\"\n", + "gemini_model = \"gemini-2.0-flash\"\n", + "claude_model = \"claude-sonnet-4-20250514\"\n", + "openai_audio_model = \"tts-1\"\n", + "\n", + "# Figma onboarding knowledge base\n", + "FIGMA_KNOWLEDGE = \"\"\"\n", + "You are a helpful Figma onboarding assistant. You help new users learn Figma's core features and workflows.\n", + "\n", + "Key Figma concepts to help users with:\n", + "- Interface overview (toolbar, layers panel, properties panel)\n", + "- Creating and editing frames\n", + "- Working with shapes, text, and components\n", + "- Using the pen tool for custom shapes\n", + "- Auto Layout for responsive designs\n", + "- Components and variants\n", + "- Prototyping and interactions\n", + "- Collaboration features\n", + "- Design systems and libraries\n", + "- Exporting assets\n", + "- Keyboard shortcuts\n", + "\n", + "Always provide clear, step-by-step instructions and mention relevant keyboard shortcuts when applicable.\n", + "\"\"\"\n", + "\n", + "promts = {\n", + " \"Charlie\": FIGMA_KNOWLEDGE\n", + "}\n", + "\n", + "def truncate_for_tts(text, max_length=4000):\n", + " \"\"\"Truncate text for TTS while preserving complete sentences\"\"\"\n", + " if len(text) <= max_length:\n", + " return text\n", + " \n", + " # Try to truncate at sentence boundaries\n", + " sentences = text.split('. ')\n", + " truncated = \"\"\n", + " \n", + " for sentence in sentences:\n", + " if len(truncated + sentence + '. ') <= max_length:\n", + " truncated += sentence + '. '\n", + " else:\n", + " break\n", + " \n", + " # If we couldn't fit any complete sentences, just truncate hard\n", + " if not truncated.strip():\n", + " truncated = text[:max_length-10] + \"...\"\n", + " \n", + " return truncated.strip()\n", + "\n", + "def talker_openai(message):\n", + " \"\"\"Generate audio from text using OpenAI TTS\"\"\"\n", + " try:\n", + " # Truncate message for TTS\n", + " truncated_message = truncate_for_tts(message)\n", + " \n", + " response = client.audio.speech.create(\n", + " model=\"tts-1\",\n", + " voice=\"onyx\",\n", + " input=truncated_message\n", + " )\n", + "\n", + " audio_stream = BytesIO(response.content)\n", + " output_filename = \"output_audio_openai.mp3\"\n", + " with open(output_filename, \"wb\") as f:\n", + " f.write(audio_stream.read())\n", + "\n", + " return output_filename\n", + " except Exception as e:\n", + " print(f\"Error generating audio with OpenAI: {str(e)}\")\n", + " return None\n", + "\n", + "def talker(message, model_choice):\n", + " \"\"\"Generate audio from text using selected model\"\"\"\n", + " return talker_openai(message)\n", + "\n", + "def get_figma_help_openai(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using OpenAI\"\"\"\n", + " try:\n", + " messages = [\n", + " {\"role\": \"system\", \"content\": FIGMA_KNOWLEDGE}\n", + " ]\n", + " \n", + " # Convert messages format chat history to OpenAI format\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", + " elif msg[\"role\"] == \"assistant\":\n", + " messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", + " \n", + " messages.append({\"role\": \"user\", \"content\": user_question})\n", + " \n", + " response = client.chat.completions.create(\n", + " model=openAI_model,\n", + " messages=messages,\n", + " max_tokens=500,\n", + " temperature=0.7\n", + " )\n", + " return response.choices[0].message.content\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with OpenAI: {str(e)}\"\n", + "\n", + "def get_figma_help_gemini(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using Gemini\"\"\"\n", + " try:\n", + " gemini = google.generativeai.GenerativeModel(\n", + " model_name=gemini_model,\n", + " system_instruction=FIGMA_KNOWLEDGE,\n", + " )\n", + " \n", + " # Build conversation context from messages format\n", + " conversation_context = \"\"\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " conversation_context += f\"User: {msg['content']}\\n\"\n", + " elif msg[\"role\"] == \"assistant\":\n", + " conversation_context += f\"Assistant: {msg['content']}\\n\\n\"\n", + " \n", + " message = conversation_context + f\"User: {user_question}\"\n", + " response = gemini.generate_content(message)\n", + " reply = response.text\n", + " return reply\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with Gemini: {str(e)}\"\n", + "\n", + "def get_figma_help_claude(user_question, chat_history):\n", + " \"\"\"Get Figma onboarding assistance using Claude\"\"\"\n", + " try:\n", + " # Convert messages format to Claude format\n", + " claude_messages = []\n", + " for msg in chat_history:\n", + " if msg[\"role\"] == \"user\":\n", + " claude_messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", + " elif msg[\"role\"] == \"assistant\":\n", + " claude_messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", + " \n", + " # Add the current question\n", + " claude_messages.append({\"role\": \"user\", \"content\": user_question})\n", + " \n", + " response = claude.messages.create(\n", + " model=claude_model,\n", + " max_tokens=500,\n", + " temperature=0.7,\n", + " system=promts[\"Charlie\"],\n", + " messages=claude_messages,\n", + " )\n", + " reply = response.content[0].text\n", + " return reply\n", + " \n", + " except Exception as e:\n", + " return f\"Sorry, I encountered an error with Claude: {str(e)}\"\n", + "\n", + "def respond(message, chat_history, model_choice):\n", + " if not message.strip():\n", + " return \"\", chat_history, \"\", model_choice\n", + " \n", + " bot_message = get_figma_help(message, chat_history, model_choice)\n", + " \n", + " # Add user message and bot response in messages format\n", + " new_history = chat_history + [\n", + " {\"role\": \"user\", \"content\": message},\n", + " {\"role\": \"assistant\", \"content\": bot_message}\n", + " ]\n", + " \n", + " return \"\", new_history, bot_message, model_choice\n", + "\n", + "def clear_chat():\n", + " \"\"\"Clear the chat history\"\"\"\n", + " return [], \"\", None\n", + "\n", + "def get_figma_help(user_question, chat_history, model_choice):\n", + " \"\"\"Get Figma onboarding assistance using selected model\"\"\"\n", + " if model_choice == \"OpenAI (GPT-3.5)\":\n", + " return get_figma_help_openai(user_question, chat_history)\n", + " elif model_choice == \"Google Gemini (2.0 Flash)\":\n", + " return get_figma_help_gemini(user_question, chat_history)\n", + " elif model_choice == \"Claude (Sonnet 4)\":\n", + " return get_figma_help_claude(user_question, chat_history)\n", + " else:\n", + " return \"Please select a valid model.\"\n", + "\n", + "custom_css = \"\"\"\n", + "/* Chat area styling */\n", + ".styled-chat {\n", + " border-radius: 15px !important;\n", + " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", + " border: 1px solid var(--border-color) !important;\n", + " padding: 10px;\n", + "}\n", + "\n", + "/* Audio player styling */\n", + ".styled-audio {\n", + " border-radius: 15px !important;\n", + " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", + " border: 10px solid var(--block-background-fill) !important;\n", + " padding: 10px;\n", + " background-color: var(--background-fill-secondary) !important;\n", + "}\n", + "\n", + "/* Header styling */\n", + ".header-container {\n", + " text-align: center;\n", + " padding: 20px;\n", + " background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n", + " border-radius: 15px;\n", + " margin-bottom: 20px;\n", + "}\n", + "\n", + ".header-title {\n", + " color: white;\n", + " margin: 0;\n", + " font-size: 2.5em;\n", + "}\n", + "\n", + ".header-subtitle {\n", + " color: #f0f0f0;\n", + " margin: 10px 0 0 0;\n", + " font-size: 1.2em;\n", + "}\n", + "\n", + "/* Features section styling */\n", + ".features-container {\n", + " background: #f8f9fa;\n", + " padding: 20px;\n", + " border-radius: 10px;\n", + " border-left: 4px solid #667eea;\n", + "}\n", + "\n", + ".features-title {\n", + " color: #333;\n", + " margin-top: 0;\n", + "}\n", + "\n", + ".features-grid {\n", + " display: grid;\n", + " grid-template-columns: 1fr 1fr;\n", + " gap: 15px;\n", + " margin-top: 15px;\n", + "}\n", + "\n", + ".feature-item {\n", + " color: #333;\n", + " margin: 10px 0;\n", + "}\n", + "\n", + ".feature-title {\n", + " color: #667eea;\n", + "}\n", + "\n", + ".feature-description {\n", + " color: #666;\n", + "}\n", + "\n", + "/* Pro tip styling */\n", + ".protip-container {\n", + " text-align: center;\n", + " margin-top: 20px;\n", + " padding: 15px;\n", + " background: #e8f4f8;\n", + " border-radius: 8px;\n", + "}\n", + "\n", + ".protip-text {\n", + " margin: 0;\n", + " color: #2c5aa0 !important;\n", + " font-weight: 500;\n", + "}\n", + "\n", + "/* Quick start questions styling */\n", + ".quickstart-container {\n", + " background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);\n", + " padding: 15px 20px;\n", + " border-radius: 10px;\n", + " margin: 20px 0;\n", + "}\n", + "\n", + ".quickstart-title {\n", + " color: white !important;\n", + " margin: 0;\n", + " font-size: 1.3em;\n", + " text-align: center;\n", + "}\n", + "\n", + ".quickstart-subtitle {\n", + " color: #f0f8ff !important;\n", + " margin: 5px 0 0 0;\n", + " text-align: center;\n", + " font-size: 0.9em;\n", + "}\n", + "\"\"\"\n", + "\n", + "# Create Gradio interface\n", + "with gr.Blocks(title=\"Figma Onboarding Assistant\", theme=gr.themes.Soft(), css=custom_css) as demo:\n", + " gr.HTML(\n", + " \"\"\"\n", + "
\n", + "

šŸŽØ Figma Onboarding Assistant

\n", + "

Your AI-powered Figma learning companion

\n", + "
\n", + " \n", + "
\n", + "

✨ What I can help you with:

\n", + "
\n", + "
\n", + "

šŸš€ Getting Started
\n", + " Interface overview, basic navigation

\n", + "

šŸ› ļø Tools & Features
\n", + " Pen tool, shapes, text, layers

\n", + "

šŸ“ Auto Layout
\n", + " Responsive design techniques

\n", + "

šŸ”— Prototyping
\n", + " Interactions and animations

\n", + "
\n", + "
\n", + "

🧩 Components
\n", + " Creating reusable elements

\n", + "

šŸ‘„ Collaboration
\n", + " Sharing and team workflows

\n", + "

šŸ“š Design Systems
\n", + " Libraries and style guides

\n", + "

⚔ Shortcuts
\n", + " Productivity tips and tricks

\n", + "
\n", + "
\n", + "
\n", + " \n", + "
\n", + "

šŸ’” Pro tip: Ask specific questions like \"How do I create a button component?\" for the best results!

\n", + "
\n", + " \"\"\"\n", + " )\n", + " \n", + " # Model selection dropdown\n", + " model_dropdown = gr.Dropdown(\n", + " choices=[\"OpenAI (GPT-3.5)\", \"Google Gemini (2.0 Flash)\", \"Claude (Sonnet 4)\"],\n", + " value=\"OpenAI (GPT-3.5)\",\n", + " label=\"Select AI Model\",\n", + " info=\"Choose which AI model to use for responses\"\n", + " )\n", + " \n", + " with gr.Row():\n", + " msg = gr.Textbox(\n", + " placeholder=\"Type your Figma question here...\",\n", + " container=False,\n", + " scale=4\n", + " )\n", + " submit_btn = gr.Button(\"Ask\", scale=1, variant=\"primary\")\n", + " clear_btn = gr.Button(\"Clear Chat\", scale=1)\n", + " audio_btn = gr.Button(\"šŸ”Š Play Audio\", scale=1, variant=\"secondary\")\n", + " clear_audio_btn = gr.Button(\"šŸ”‡ Clear Audio\", scale=1, variant=\"secondary\")\n", + " \n", + "\n", + " # Example questions\n", + " gr.HTML(\n", + " \"\"\"\n", + "
\n", + "

šŸš€ Quick Start Questions

\n", + "

Click any question below to get started instantly!

\n", + "
\n", + " \"\"\"\n", + " )\n", + " \n", + " with gr.Row():\n", + " example_btns = [\n", + " gr.Button(\n", + " \"How do I create my first frame?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"What's the difference between components and instances?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"How do I use Auto Layout?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " ),\n", + " gr.Button(\n", + " \"How do I create a prototype?\", \n", + " size=\"sm\",\n", + " variant=\"secondary\"\n", + " )\n", + " ]\n", + "\n", + " # Your components with simple styling\n", + " chatbot = gr.Chatbot(\n", + " type=\"messages\",\n", + " height=400,\n", + " placeholder=\"Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'\",\n", + " elem_classes=[\"styled-chat\"]\n", + " )\n", + "\n", + " audio_output = gr.Audio(\n", + " label=\"Audio Response\",\n", + " visible=True,\n", + " elem_classes=[\"styled-audio\"]\n", + " )\n", + "\n", + " last_response = gr.State(\"\")\n", + " current_model = gr.State(\"OpenAI (GPT-3.5)\")\n", + " \n", + " def respond(message, chat_history, model_choice):\n", + " if not message.strip():\n", + " return \"\", chat_history, \"\", model_choice\n", + " \n", + " bot_message = get_figma_help(message, chat_history, model_choice)\n", + " new_history = chat_history + [\n", + " {\"role\": \"user\", \"content\": message},\n", + " {\"role\": \"assistant\", \"content\": bot_message}]\n", + " return \"\", new_history, bot_message, model_choice\n", + " \n", + " def play_audio(last_message, model_choice):\n", + " if last_message:\n", + " audio_file = talker(last_message, model_choice)\n", + " if audio_file:\n", + " return audio_file\n", + " return None\n", + " \n", + " def clear_audio():\n", + " \"\"\"Clear the audio output\"\"\"\n", + " return None\n", + " \n", + " def use_example(example_text):\n", + " return example_text\n", + " \n", + " # Set up interactions\n", + " submit_btn.click(\n", + " respond, \n", + " inputs=[msg, chatbot, model_dropdown], \n", + " outputs=[msg, chatbot, last_response, current_model]\n", + " )\n", + " msg.submit(\n", + " respond, \n", + " inputs=[msg, chatbot, model_dropdown], \n", + " outputs=[msg, chatbot, last_response, current_model]\n", + " )\n", + " clear_btn.click(clear_chat, outputs=[chatbot, msg, last_response])\n", + " \n", + " # Audio button functionality - now uses selected model\n", + " audio_btn.click(\n", + " play_audio,\n", + " inputs=[last_response, current_model],\n", + " outputs=[audio_output]\n", + " )\n", + " \n", + " # Clear audio button functionality\n", + " clear_audio_btn.click(\n", + " clear_audio,\n", + " outputs=[audio_output]\n", + " )\n", + " \n", + " # Example button clicks\n", + " for i, btn in enumerate(example_btns):\n", + " btn.click(\n", + " use_example,\n", + " inputs=[btn],\n", + " outputs=[msg]\n", + " )\n", + "\n", + "# Launch the app\n", + "demo.launch(share=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90b29a7d-aec8-49d2-83c7-3e3ab96c47e1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 4a9f010441e10104aa1924819f15d6c5e6b728fc Mon Sep 17 00:00:00 2001 From: Rohit Nain Date: Mon, 8 Sep 2025 16:25:31 +0530 Subject: [PATCH 175/176] removed unwanted file --- .../day_5_figma_assistance.ipynb | 255 ++++----- .../day_5_onboarding_assistance.ipynb | 526 ------------------ 2 files changed, 123 insertions(+), 658 deletions(-) delete mode 100644 week2/community-contributions/day_5_onboarding_assistance.ipynb diff --git a/week2/community-contributions/day_5_figma_assistance.ipynb b/week2/community-contributions/day_5_figma_assistance.ipynb index bb30876..d563a0a 100644 --- a/week2/community-contributions/day_5_figma_assistance.ipynb +++ b/week2/community-contributions/day_5_figma_assistance.ipynb @@ -98,86 +98,8 @@ " print(f\"Error generating audio with OpenAI: {str(e)}\")\n", " return None\n", "\n", - "# def talker_gemini(message):\n", - "# \"\"\"Generate audio from text using Gemini TTS\"\"\"\n", - "# try:\n", - "# # Try the newer Gemini 2.0 TTS API\n", - "# model = google.generativeai.GenerativeModel(gemini_model)\n", - " \n", - "# # Truncate message for TTS\n", - "# truncated_message = truncate_for_tts(message)\n", - " \n", - "# # Generate audio using Gemini with simplified config\n", - "# response = model.generate_content(\n", - "# truncated_message,\n", - "# generation_config={\n", - "# \"response_modalities\": [\"AUDIO\"]\n", - "# }\n", - "# )\n", - " \n", - "# # Check if response has audio data\n", - "# if hasattr(response, 'audio_data') and response.audio_data:\n", - "# output_filename = \"output_audio_gemini.wav\"\n", - "# with open(output_filename, \"wb\") as f:\n", - "# f.write(response.audio_data)\n", - "# return output_filename\n", - "# else:\n", - "# print(\"Gemini response does not contain audio data\")\n", - "# raise Exception(\"No audio data in Gemini response\")\n", - " \n", - "# except Exception as e:\n", - "# print(f\"Error generating audio with Gemini: {str(e)}\")\n", - "# print(\"Gemini TTS not available, using OpenAI TTS with different voice\")\n", - "# # Use OpenAI TTS but with a different voice to distinguish\n", - "# try:\n", - "# # Truncate message for TTS\n", - "# truncated_message = truncate_for_tts(message)\n", - " \n", - "# response = client.audio.speech.create(\n", - "# model=\"tts-1\",\n", - "# voice=\"alloy\", # Different voice to indicate it's for Gemini responses\n", - "# input=truncated_message\n", - "# )\n", - "# audio_stream = BytesIO(response.content)\n", - "# output_filename = \"output_audio_gemini_fallback.mp3\"\n", - "# with open(output_filename, \"wb\") as f:\n", - "# f.write(audio_stream.read())\n", - "# return output_filename\n", - "# except Exception as fallback_error:\n", - "# print(f\"Fallback TTS also failed: {str(fallback_error)}\")\n", - "# return None\n", - "\n", - "# def talker_claude(message):\n", - "# \"\"\"Generate audio from text using Claude TTS (fallback to OpenAI)\"\"\"\n", - "# try:\n", - "# # Truncate message for TTS\n", - "# truncated_message = truncate_for_tts(message)\n", - " \n", - "# # Claude doesn't have native TTS, so we'll use OpenAI TTS\n", - "# # but with a different filename to distinguish\n", - "# response = client.audio.speech.create(\n", - "# model=\"tts-1\",\n", - "# voice=\"nova\", # Different voice for Claude responses\n", - "# input=truncated_message\n", - "# )\n", - "\n", - "# audio_stream = BytesIO(response.content)\n", - "# output_filename = \"output_audio_claude.mp3\"\n", - "# with open(output_filename, \"wb\") as f:\n", - "# f.write(audio_stream.read())\n", - "\n", - "# return output_filename\n", - "# except Exception as e:\n", - "# print(f\"Error generating audio for Claude: {str(e)}\")\n", - "# return None\n", - "\n", "def talker(message, model_choice):\n", " \"\"\"Generate audio from text using selected model\"\"\"\n", - " # if model_choice == \"Google Gemini (2.0 Flash)\":\n", - " # return talker_gemini(message)\n", - " # elif model_choice == \"Claude (Sonnet 4)\":\n", - " # return talker_claude(message)\n", - " # else:\n", " return talker_openai(message)\n", "\n", "def get_figma_help_openai(user_question, chat_history):\n", @@ -287,16 +209,13 @@ " else:\n", " return \"Please select a valid model.\"\n", "\n", - "\n", "custom_css = \"\"\"\n", - "\n", "/* Chat area styling */\n", ".styled-chat {\n", " border-radius: 15px !important;\n", " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", " border: 1px solid var(--border-color) !important;\n", " padding: 10px;\n", - " # background-color: #fff;\n", "}\n", "\n", "/* Audio player styling */\n", @@ -307,45 +226,136 @@ " padding: 10px;\n", " background-color: var(--background-fill-secondary) !important;\n", "}\n", + "\n", + "/* Header styling */\n", + ".header-container {\n", + " text-align: center;\n", + " padding: 20px;\n", + " background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n", + " border-radius: 15px;\n", + " margin-bottom: 20px;\n", + "}\n", + "\n", + ".header-title {\n", + " color: white;\n", + " margin: 0;\n", + " font-size: 2.5em;\n", + "}\n", + "\n", + ".header-subtitle {\n", + " color: #f0f0f0;\n", + " margin: 10px 0 0 0;\n", + " font-size: 1.2em;\n", + "}\n", + "\n", + "/* Features section styling */\n", + ".features-container {\n", + " background: #f8f9fa;\n", + " padding: 20px;\n", + " border-radius: 10px;\n", + " border-left: 4px solid #667eea;\n", + "}\n", + "\n", + ".features-title {\n", + " color: #333;\n", + " margin-top: 0;\n", + "}\n", + "\n", + ".features-grid {\n", + " display: grid;\n", + " grid-template-columns: 1fr 1fr;\n", + " gap: 15px;\n", + " margin-top: 15px;\n", + "}\n", + "\n", + ".feature-item {\n", + " color: #333;\n", + " margin: 10px 0;\n", + "}\n", + "\n", + ".feature-title {\n", + " color: #667eea;\n", + "}\n", + "\n", + ".feature-description {\n", + " color: #666;\n", + "}\n", + "\n", + "/* Pro tip styling */\n", + ".protip-container {\n", + " text-align: center;\n", + " margin-top: 20px;\n", + " padding: 15px;\n", + " background: #e8f4f8;\n", + " border-radius: 8px;\n", + "}\n", + "\n", + ".protip-text {\n", + " margin: 0;\n", + " color: #2c5aa0 !important;\n", + " font-weight: 500;\n", + "}\n", + "\n", + "/* Quick start questions styling */\n", + ".quickstart-container {\n", + " background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);\n", + " padding: 15px 20px;\n", + " border-radius: 10px;\n", + " margin: 20px 0;\n", + "}\n", + "\n", + ".quickstart-title {\n", + " color: white !important;\n", + " margin: 0;\n", + " font-size: 1.3em;\n", + " text-align: center;\n", + "}\n", + "\n", + ".quickstart-subtitle {\n", + " color: #f0f8ff !important;\n", + " margin: 5px 0 0 0;\n", + " text-align: center;\n", + " font-size: 0.9em;\n", + "}\n", "\"\"\"\n", "\n", "# Create Gradio interface\n", - "with gr.Blocks(title=\"Figma Onboarding Assistant\", theme=gr.themes.Soft(),css=custom_css) as demo:\n", - " gr.Markdown(\n", + "with gr.Blocks(title=\"Figma Onboarding Assistant\", theme=gr.themes.Soft(), css=custom_css) as demo:\n", + " gr.HTML(\n", " \"\"\"\n", - "
\n", - "

šŸŽØ Figma Onboarding Assistant

\n", - "

Your AI-powered Figma learning companion

\n", + "
\n", + "

šŸŽØ Figma Onboarding Assistant

\n", + "

Your AI-powered Figma learning companion

\n", "
\n", " \n", - "
\n", - "

✨ What I can help you with:

\n", - "
\n", + "
\n", + "

✨ What I can help you with:

\n", + "
\n", "
\n", - "

šŸš€ Getting Started
\n", - " Interface overview, basic navigation

\n", - "

šŸ› ļø Tools & Features
\n", - " Pen tool, shapes, text, layers

\n", - "

šŸ“ Auto Layout
\n", - " Responsive design techniques

\n", - "

šŸ”— Prototyping
\n", - " Interactions and animations

\n", + "

šŸš€ Getting Started
\n", + " Interface overview, basic navigation

\n", + "

šŸ› ļø Tools & Features
\n", + " Pen tool, shapes, text, layers

\n", + "

šŸ“ Auto Layout
\n", + " Responsive design techniques

\n", + "

šŸ”— Prototyping
\n", + " Interactions and animations

\n", "
\n", "
\n", - "

🧩 Components
\n", - " Creating reusable elements

\n", - "

šŸ‘„ Collaboration
\n", - " Sharing and team workflows

\n", - "

šŸ“š Design Systems
\n", - " Libraries and style guides

\n", - "

⚔ Shortcuts
\n", - " Productivity tips and tricks

\n", + "

🧩 Components
\n", + " Creating reusable elements

\n", + "

šŸ‘„ Collaboration
\n", + " Sharing and team workflows

\n", + "

šŸ“š Design Systems
\n", + " Libraries and style guides

\n", + "

⚔ Shortcuts
\n", + " Productivity tips and tricks

\n", "
\n", "
\n", "
\n", " \n", - "
\n", - "

šŸ’” Pro tip: Ask specific questions like \\\"How do I create a button component?\\\" for the best results!

\n", + "
\n", + "

šŸ’” Pro tip: Ask specific questions like \"How do I create a button component?\" for the best results!

\n", "
\n", " \"\"\"\n", " )\n", @@ -371,14 +381,15 @@ " \n", "\n", " # Example questions\n", - " gr.Markdown(\n", + " gr.HTML(\n", " \"\"\"\n", - "
\n", - "

šŸš€ Quick Start Questions

\n", - "

Click any question below to get started instantly!

\n", + "
\n", + "

šŸš€ Quick Start Questions

\n", + "

Click any question below to get started instantly!

\n", "
\n", " \"\"\"\n", " )\n", + " \n", " with gr.Row():\n", " example_btns = [\n", " gr.Button(\n", @@ -405,7 +416,6 @@ "\n", " # Your components with simple styling\n", " chatbot = gr.Chatbot(\n", - " # value=[],\n", " type=\"messages\",\n", " height=400,\n", " placeholder=\"Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'\",\n", @@ -418,20 +428,6 @@ " elem_classes=[\"styled-audio\"]\n", " )\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " last_response = gr.State(\"\")\n", - "\n", - " \n", " last_response = gr.State(\"\")\n", " current_model = gr.State(\"OpenAI (GPT-3.5)\")\n", " \n", @@ -494,12 +490,7 @@ " )\n", "\n", "# Launch the app\n", - "# if __name__ == \"__main__\":\n", - " demo.launch(\n", - " share=True,\n", - " # server_name=\"0.0.0.0\",\n", - " # server_port=7860\n", - " )" + "demo.launch(share=True)" ] }, { diff --git a/week2/community-contributions/day_5_onboarding_assistance.ipynb b/week2/community-contributions/day_5_onboarding_assistance.ipynb deleted file mode 100644 index 943d69c..0000000 --- a/week2/community-contributions/day_5_onboarding_assistance.ipynb +++ /dev/null @@ -1,526 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "dc49e5ae", - "metadata": {}, - "outputs": [], - "source": [ - "from openai import OpenAI\n", - "from dotenv import load_dotenv\n", - "import os\n", - "load_dotenv()\n", - "import gradio as gr\n", - "import base64\n", - "from io import BytesIO\n", - "from PIL import Image\n", - "from IPython.display import Audio, display\n", - "import google.generativeai\n", - "import anthropic\n", - "\n", - "client = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", - "\n", - "# Configure Gemini\n", - "google.generativeai.configure(api_key=os.getenv(\"GOOGLE_API_KEY\"))\n", - "\n", - "# Configure Claude\n", - "claude = anthropic.Anthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n", - "openAI_model = \"gpt-3.5-turbo\"\n", - "gemini_model = \"gemini-2.0-flash\"\n", - "claude_model = \"claude-sonnet-4-20250514\"\n", - "openai_audio_model = \"tts-1\"\n", - "\n", - "# Figma onboarding knowledge base\n", - "FIGMA_KNOWLEDGE = \"\"\"\n", - "You are a helpful Figma onboarding assistant. You help new users learn Figma's core features and workflows.\n", - "\n", - "Key Figma concepts to help users with:\n", - "- Interface overview (toolbar, layers panel, properties panel)\n", - "- Creating and editing frames\n", - "- Working with shapes, text, and components\n", - "- Using the pen tool for custom shapes\n", - "- Auto Layout for responsive designs\n", - "- Components and variants\n", - "- Prototyping and interactions\n", - "- Collaboration features\n", - "- Design systems and libraries\n", - "- Exporting assets\n", - "- Keyboard shortcuts\n", - "\n", - "Always provide clear, step-by-step instructions and mention relevant keyboard shortcuts when applicable.\n", - "\"\"\"\n", - "\n", - "promts = {\n", - " \"Charlie\": FIGMA_KNOWLEDGE\n", - "}\n", - "\n", - "def truncate_for_tts(text, max_length=4000):\n", - " \"\"\"Truncate text for TTS while preserving complete sentences\"\"\"\n", - " if len(text) <= max_length:\n", - " return text\n", - " \n", - " # Try to truncate at sentence boundaries\n", - " sentences = text.split('. ')\n", - " truncated = \"\"\n", - " \n", - " for sentence in sentences:\n", - " if len(truncated + sentence + '. ') <= max_length:\n", - " truncated += sentence + '. '\n", - " else:\n", - " break\n", - " \n", - " # If we couldn't fit any complete sentences, just truncate hard\n", - " if not truncated.strip():\n", - " truncated = text[:max_length-10] + \"...\"\n", - " \n", - " return truncated.strip()\n", - "\n", - "def talker_openai(message):\n", - " \"\"\"Generate audio from text using OpenAI TTS\"\"\"\n", - " try:\n", - " # Truncate message for TTS\n", - " truncated_message = truncate_for_tts(message)\n", - " \n", - " response = client.audio.speech.create(\n", - " model=\"tts-1\",\n", - " voice=\"onyx\",\n", - " input=truncated_message\n", - " )\n", - "\n", - " audio_stream = BytesIO(response.content)\n", - " output_filename = \"output_audio_openai.mp3\"\n", - " with open(output_filename, \"wb\") as f:\n", - " f.write(audio_stream.read())\n", - "\n", - " return output_filename\n", - " except Exception as e:\n", - " print(f\"Error generating audio with OpenAI: {str(e)}\")\n", - " return None\n", - "\n", - "def talker(message, model_choice):\n", - " \"\"\"Generate audio from text using selected model\"\"\"\n", - " return talker_openai(message)\n", - "\n", - "def get_figma_help_openai(user_question, chat_history):\n", - " \"\"\"Get Figma onboarding assistance using OpenAI\"\"\"\n", - " try:\n", - " messages = [\n", - " {\"role\": \"system\", \"content\": FIGMA_KNOWLEDGE}\n", - " ]\n", - " \n", - " # Convert messages format chat history to OpenAI format\n", - " for msg in chat_history:\n", - " if msg[\"role\"] == \"user\":\n", - " messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", - " elif msg[\"role\"] == \"assistant\":\n", - " messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", - " \n", - " messages.append({\"role\": \"user\", \"content\": user_question})\n", - " \n", - " response = client.chat.completions.create(\n", - " model=openAI_model,\n", - " messages=messages,\n", - " max_tokens=500,\n", - " temperature=0.7\n", - " )\n", - " return response.choices[0].message.content\n", - " \n", - " except Exception as e:\n", - " return f\"Sorry, I encountered an error with OpenAI: {str(e)}\"\n", - "\n", - "def get_figma_help_gemini(user_question, chat_history):\n", - " \"\"\"Get Figma onboarding assistance using Gemini\"\"\"\n", - " try:\n", - " gemini = google.generativeai.GenerativeModel(\n", - " model_name=gemini_model,\n", - " system_instruction=FIGMA_KNOWLEDGE,\n", - " )\n", - " \n", - " # Build conversation context from messages format\n", - " conversation_context = \"\"\n", - " for msg in chat_history:\n", - " if msg[\"role\"] == \"user\":\n", - " conversation_context += f\"User: {msg['content']}\\n\"\n", - " elif msg[\"role\"] == \"assistant\":\n", - " conversation_context += f\"Assistant: {msg['content']}\\n\\n\"\n", - " \n", - " message = conversation_context + f\"User: {user_question}\"\n", - " response = gemini.generate_content(message)\n", - " reply = response.text\n", - " return reply\n", - " \n", - " except Exception as e:\n", - " return f\"Sorry, I encountered an error with Gemini: {str(e)}\"\n", - "\n", - "def get_figma_help_claude(user_question, chat_history):\n", - " \"\"\"Get Figma onboarding assistance using Claude\"\"\"\n", - " try:\n", - " # Convert messages format to Claude format\n", - " claude_messages = []\n", - " for msg in chat_history:\n", - " if msg[\"role\"] == \"user\":\n", - " claude_messages.append({\"role\": \"user\", \"content\": msg[\"content\"]})\n", - " elif msg[\"role\"] == \"assistant\":\n", - " claude_messages.append({\"role\": \"assistant\", \"content\": msg[\"content\"]})\n", - " \n", - " # Add the current question\n", - " claude_messages.append({\"role\": \"user\", \"content\": user_question})\n", - " \n", - " response = claude.messages.create(\n", - " model=claude_model,\n", - " max_tokens=500,\n", - " temperature=0.7,\n", - " system=promts[\"Charlie\"],\n", - " messages=claude_messages,\n", - " )\n", - " reply = response.content[0].text\n", - " return reply\n", - " \n", - " except Exception as e:\n", - " return f\"Sorry, I encountered an error with Claude: {str(e)}\"\n", - "\n", - "def respond(message, chat_history, model_choice):\n", - " if not message.strip():\n", - " return \"\", chat_history, \"\", model_choice\n", - " \n", - " bot_message = get_figma_help(message, chat_history, model_choice)\n", - " \n", - " # Add user message and bot response in messages format\n", - " new_history = chat_history + [\n", - " {\"role\": \"user\", \"content\": message},\n", - " {\"role\": \"assistant\", \"content\": bot_message}\n", - " ]\n", - " \n", - " return \"\", new_history, bot_message, model_choice\n", - "\n", - "def clear_chat():\n", - " \"\"\"Clear the chat history\"\"\"\n", - " return [], \"\", None\n", - "\n", - "def get_figma_help(user_question, chat_history, model_choice):\n", - " \"\"\"Get Figma onboarding assistance using selected model\"\"\"\n", - " if model_choice == \"OpenAI (GPT-3.5)\":\n", - " return get_figma_help_openai(user_question, chat_history)\n", - " elif model_choice == \"Google Gemini (2.0 Flash)\":\n", - " return get_figma_help_gemini(user_question, chat_history)\n", - " elif model_choice == \"Claude (Sonnet 4)\":\n", - " return get_figma_help_claude(user_question, chat_history)\n", - " else:\n", - " return \"Please select a valid model.\"\n", - "\n", - "custom_css = \"\"\"\n", - "/* Chat area styling */\n", - ".styled-chat {\n", - " border-radius: 15px !important;\n", - " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", - " border: 1px solid var(--border-color) !important;\n", - " padding: 10px;\n", - "}\n", - "\n", - "/* Audio player styling */\n", - ".styled-audio {\n", - " border-radius: 15px !important;\n", - " box-shadow: 0 4px 12px var(--shadow-color) !important;\n", - " border: 10px solid var(--block-background-fill) !important;\n", - " padding: 10px;\n", - " background-color: var(--background-fill-secondary) !important;\n", - "}\n", - "\n", - "/* Header styling */\n", - ".header-container {\n", - " text-align: center;\n", - " padding: 20px;\n", - " background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n", - " border-radius: 15px;\n", - " margin-bottom: 20px;\n", - "}\n", - "\n", - ".header-title {\n", - " color: white;\n", - " margin: 0;\n", - " font-size: 2.5em;\n", - "}\n", - "\n", - ".header-subtitle {\n", - " color: #f0f0f0;\n", - " margin: 10px 0 0 0;\n", - " font-size: 1.2em;\n", - "}\n", - "\n", - "/* Features section styling */\n", - ".features-container {\n", - " background: #f8f9fa;\n", - " padding: 20px;\n", - " border-radius: 10px;\n", - " border-left: 4px solid #667eea;\n", - "}\n", - "\n", - ".features-title {\n", - " color: #333;\n", - " margin-top: 0;\n", - "}\n", - "\n", - ".features-grid {\n", - " display: grid;\n", - " grid-template-columns: 1fr 1fr;\n", - " gap: 15px;\n", - " margin-top: 15px;\n", - "}\n", - "\n", - ".feature-item {\n", - " color: #333;\n", - " margin: 10px 0;\n", - "}\n", - "\n", - ".feature-title {\n", - " color: #667eea;\n", - "}\n", - "\n", - ".feature-description {\n", - " color: #666;\n", - "}\n", - "\n", - "/* Pro tip styling */\n", - ".protip-container {\n", - " text-align: center;\n", - " margin-top: 20px;\n", - " padding: 15px;\n", - " background: #e8f4f8;\n", - " border-radius: 8px;\n", - "}\n", - "\n", - ".protip-text {\n", - " margin: 0;\n", - " color: #2c5aa0 !important;\n", - " font-weight: 500;\n", - "}\n", - "\n", - "/* Quick start questions styling */\n", - ".quickstart-container {\n", - " background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);\n", - " padding: 15px 20px;\n", - " border-radius: 10px;\n", - " margin: 20px 0;\n", - "}\n", - "\n", - ".quickstart-title {\n", - " color: white !important;\n", - " margin: 0;\n", - " font-size: 1.3em;\n", - " text-align: center;\n", - "}\n", - "\n", - ".quickstart-subtitle {\n", - " color: #f0f8ff !important;\n", - " margin: 5px 0 0 0;\n", - " text-align: center;\n", - " font-size: 0.9em;\n", - "}\n", - "\"\"\"\n", - "\n", - "# Create Gradio interface\n", - "with gr.Blocks(title=\"Figma Onboarding Assistant\", theme=gr.themes.Soft(), css=custom_css) as demo:\n", - " gr.HTML(\n", - " \"\"\"\n", - "
\n", - "

šŸŽØ Figma Onboarding Assistant

\n", - "

Your AI-powered Figma learning companion

\n", - "
\n", - " \n", - "
\n", - "

✨ What I can help you with:

\n", - "
\n", - "
\n", - "

šŸš€ Getting Started
\n", - " Interface overview, basic navigation

\n", - "

šŸ› ļø Tools & Features
\n", - " Pen tool, shapes, text, layers

\n", - "

šŸ“ Auto Layout
\n", - " Responsive design techniques

\n", - "

šŸ”— Prototyping
\n", - " Interactions and animations

\n", - "
\n", - "
\n", - "

🧩 Components
\n", - " Creating reusable elements

\n", - "

šŸ‘„ Collaboration
\n", - " Sharing and team workflows

\n", - "

šŸ“š Design Systems
\n", - " Libraries and style guides

\n", - "

⚔ Shortcuts
\n", - " Productivity tips and tricks

\n", - "
\n", - "
\n", - "
\n", - " \n", - "
\n", - "

šŸ’” Pro tip: Ask specific questions like \"How do I create a button component?\" for the best results!

\n", - "
\n", - " \"\"\"\n", - " )\n", - " \n", - " # Model selection dropdown\n", - " model_dropdown = gr.Dropdown(\n", - " choices=[\"OpenAI (GPT-3.5)\", \"Google Gemini (2.0 Flash)\", \"Claude (Sonnet 4)\"],\n", - " value=\"OpenAI (GPT-3.5)\",\n", - " label=\"Select AI Model\",\n", - " info=\"Choose which AI model to use for responses\"\n", - " )\n", - " \n", - " with gr.Row():\n", - " msg = gr.Textbox(\n", - " placeholder=\"Type your Figma question here...\",\n", - " container=False,\n", - " scale=4\n", - " )\n", - " submit_btn = gr.Button(\"Ask\", scale=1, variant=\"primary\")\n", - " clear_btn = gr.Button(\"Clear Chat\", scale=1)\n", - " audio_btn = gr.Button(\"šŸ”Š Play Audio\", scale=1, variant=\"secondary\")\n", - " clear_audio_btn = gr.Button(\"šŸ”‡ Clear Audio\", scale=1, variant=\"secondary\")\n", - " \n", - "\n", - " # Example questions\n", - " gr.HTML(\n", - " \"\"\"\n", - "
\n", - "

šŸš€ Quick Start Questions

\n", - "

Click any question below to get started instantly!

\n", - "
\n", - " \"\"\"\n", - " )\n", - " \n", - " with gr.Row():\n", - " example_btns = [\n", - " gr.Button(\n", - " \"How do I create my first frame?\", \n", - " size=\"sm\",\n", - " variant=\"secondary\"\n", - " ),\n", - " gr.Button(\n", - " \"What's the difference between components and instances?\", \n", - " size=\"sm\",\n", - " variant=\"secondary\"\n", - " ),\n", - " gr.Button(\n", - " \"How do I use Auto Layout?\", \n", - " size=\"sm\",\n", - " variant=\"secondary\"\n", - " ),\n", - " gr.Button(\n", - " \"How do I create a prototype?\", \n", - " size=\"sm\",\n", - " variant=\"secondary\"\n", - " )\n", - " ]\n", - "\n", - " # Your components with simple styling\n", - " chatbot = gr.Chatbot(\n", - " type=\"messages\",\n", - " height=400,\n", - " placeholder=\"Ask me anything about Figma! For example: 'How do I create a component?' or 'What are frames in Figma?'\",\n", - " elem_classes=[\"styled-chat\"]\n", - " )\n", - "\n", - " audio_output = gr.Audio(\n", - " label=\"Audio Response\",\n", - " visible=True,\n", - " elem_classes=[\"styled-audio\"]\n", - " )\n", - "\n", - " last_response = gr.State(\"\")\n", - " current_model = gr.State(\"OpenAI (GPT-3.5)\")\n", - " \n", - " def respond(message, chat_history, model_choice):\n", - " if not message.strip():\n", - " return \"\", chat_history, \"\", model_choice\n", - " \n", - " bot_message = get_figma_help(message, chat_history, model_choice)\n", - " new_history = chat_history + [\n", - " {\"role\": \"user\", \"content\": message},\n", - " {\"role\": \"assistant\", \"content\": bot_message}]\n", - " return \"\", new_history, bot_message, model_choice\n", - " \n", - " def play_audio(last_message, model_choice):\n", - " if last_message:\n", - " audio_file = talker(last_message, model_choice)\n", - " if audio_file:\n", - " return audio_file\n", - " return None\n", - " \n", - " def clear_audio():\n", - " \"\"\"Clear the audio output\"\"\"\n", - " return None\n", - " \n", - " def use_example(example_text):\n", - " return example_text\n", - " \n", - " # Set up interactions\n", - " submit_btn.click(\n", - " respond, \n", - " inputs=[msg, chatbot, model_dropdown], \n", - " outputs=[msg, chatbot, last_response, current_model]\n", - " )\n", - " msg.submit(\n", - " respond, \n", - " inputs=[msg, chatbot, model_dropdown], \n", - " outputs=[msg, chatbot, last_response, current_model]\n", - " )\n", - " clear_btn.click(clear_chat, outputs=[chatbot, msg, last_response])\n", - " \n", - " # Audio button functionality - now uses selected model\n", - " audio_btn.click(\n", - " play_audio,\n", - " inputs=[last_response, current_model],\n", - " outputs=[audio_output]\n", - " )\n", - " \n", - " # Clear audio button functionality\n", - " clear_audio_btn.click(\n", - " clear_audio,\n", - " outputs=[audio_output]\n", - " )\n", - " \n", - " # Example button clicks\n", - " for i, btn in enumerate(example_btns):\n", - " btn.click(\n", - " use_example,\n", - " inputs=[btn],\n", - " outputs=[msg]\n", - " )\n", - "\n", - "# Launch the app\n", - "demo.launch(share=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90b29a7d-aec8-49d2-83c7-3e3ab96c47e1", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From b2c3142276b88ece07c294f24be0ba48cc58668a Mon Sep 17 00:00:00 2001 From: Hui Wang Date: Mon, 8 Sep 2025 12:38:10 -0400 Subject: [PATCH 176/176] Added my contributions to community-contributions --- .../enhanced_profile_picture/README.md | 21 ++ .../enhanced_profile_picture/my_picture.jpg | Bin 0 -> 1968926 bytes .../enhanced_profile_picture/my_profile.pdf | Bin 0 -> 122320 bytes .../profile_with_company_logos.ipynb | 189 ++++++++++++++++++ 4 files changed, 210 insertions(+) create mode 100644 week2/community-contributions/enhanced_profile_picture/README.md create mode 100644 week2/community-contributions/enhanced_profile_picture/my_picture.jpg create mode 100644 week2/community-contributions/enhanced_profile_picture/my_profile.pdf create mode 100644 week2/community-contributions/enhanced_profile_picture/profile_with_company_logos.ipynb diff --git a/week2/community-contributions/enhanced_profile_picture/README.md b/week2/community-contributions/enhanced_profile_picture/README.md new file mode 100644 index 0000000..ec659a7 --- /dev/null +++ b/week2/community-contributions/enhanced_profile_picture/README.md @@ -0,0 +1,21 @@ + +# Enhanced Profile Picture +Create a stylish profile picture by extracting all the companies you worked for and all the clients you serviced from your profile, and add these company/client logos to your profile picture after applying some Ghibili style. + +## Contents + +- `profile_with_company_logos.ipynb`: The notebook file with all code and explanations. +- `my_profile.pdf`: Your profile in pdf format. (Please relace this file with your own profile) +- `my_picture.jpg`: Your profile picture. (Please replace this with your own picture) +- `ai_profile_picture.png`: The AI generated picture. + +## How to Run + +1. Add the GOOGLE_API_KEY. +2. Run the jupyter notebook. + + +### Author + +Hui Wang + diff --git a/week2/community-contributions/enhanced_profile_picture/my_picture.jpg b/week2/community-contributions/enhanced_profile_picture/my_picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d0d6dfc1988159b814cd5a91aa32a79fd3e3714 GIT binary patch literal 1968926 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 z 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 z zj^VpkpLkG%aOh9n=M}MJkUW7G$9s}V#Tu;PrSd#k}pf%iSKj_y{{{Rpoyz@?wENWPEuIEmW zODtOsIImG|jv9xL{C|NS<~jcWi{-Az;C`-)qEBw!RyxG^=WMMEa-P_%kAjQ@cL1Il zYuUiP8RX^*_h+~rZZ(nmb?IJXf#kbW79ZO=ge+ZAH-2AE+&{Yo>LXD*>o}db3H(*;V zjyc6ot^WY0X&o_uE17}ekh{lmo|rZ1R$gq@=+Y0D73UsAi8B+^b$XVZ@x`X0>%~Nt zfLof?9^W0YUO9dHtA-wjrF%qIcH40w$IH^ZpITU&{qex+Dj~4rvE6un&j!;0vq`#UKS9)hKl9nTZIhh^-Tu8%>Ok>%D_q5|GH_NjDB zffdMJ*{v<1ay$4XA^e6NMQ|FbnD1YV3h%_xG>FPDYnbsQaWjUC?_#1XB4%h&`Ilf4 zFGdF|wF;}z$+TQpY+Iul-_YjF|;^E%?MVoxO2G-)BcECwo+md=|AHQjiU;yEru zN7A`#gC0{o&1{&_(rB>8R6B}(w``$2-hfl=2kt-|bfwlZZ1$SbY(qIen1IXLyDc(Z z@dR$zt~wT9D{11oZ6)_E+N3wJqpB!NY^cp(+x*LbI#*Y8s%;2r=Ip{oPJ7joj_<-` z2hVVEU2E!bXxhcTp*%)Wy;o{`p1*}~UK_Yox+%oSu|G?^C#c%% z{tfeNj^ucD{+05-h;0q7rF98hVBlA{`~|p1@XS`p%zF>=uQd3Z2(;Jcz`$qzmB~lq zXx;31HnoCr?Oso*C=SNGYg$zwm3f|}676GMCP$L%Wcizvbga8w?J#0HS4*u#h9l}L znSyeqc;HZIUDRNW;U)RvxyvLF+^JK+HPKwF$q6H&70WN~X3lyV0QC>QVs{SJ%SRzn z(WviTUYzSak|`a9VcsCKx#`1DW>rTqF*Va^tR=Q%T&2v2q}N5EN*WTB8XV=$Mbj&E z%~o_(7!`X{0z1QwhN-p`9n=BPczR;n;Kv53UcxPI$UW+B4loy3ZYlmI8)pW9GUf8N zHha^ww@9A?szv3p{M6;bPNh0@piEs_FW&C$RH9Ryq2yOVb#EMs0qSclErc)0t6Kz1 zFcywQ^M8t^)S@HjN`>5IN2P6CLFd}5FJV)0oSS*1dsT>3;dfMx`@E(pVSp&!TkxXb zY)s4cVOffaBIZ5~Si?$~CjeDs+J^#=lN?4@Z*f(M1^G`T)S!~b6!`Y<2K9V72=kZ>v6kgi#IsA82|`6rBbsrnKQc3Aypyq zT}<+DPZ_K|I?hPpTzt5#UD*V5#bHp^Bm!w4DmcYNB$IXzYI?>Uii1+i5~6|WQfxyc zi;=W^-n16U%X36{1CK{76^p$^gc z)s34}vUN3;6v49^jMV8Yv2oUdNEa(M`8f8c+@s0!#@thI3wg7C6y4@L;A9?@0RxFP zhCLRY=EsqdLk3~!DH05>;&>e>0#fZC&ySSR9D-x8913EWULA6j@#Qx$oDtf9CU{F@ zZ35NDdaUv{uS%XP-Lc_@O#l~rlH9Fk*vinU`Eyq;ZnB#hdevAEM;STmKpHlf-ev9S zOC;)8`cm4AN0HvDTt=wa?q~x>+YG$aYI82eJPwrmc)xSO>r)6)G4plxq{fit8(Y?` ztfY3MPmD7aZgW=*2^rcss4S!BH(+W=rIJR&kCusWl_sC3Yr4~zbX#AvFd4w9l#(hj zxXIN|+&Ch*{d(2kY`Do4+|A%mi3H^|md|1SMO3`_U-6D;m7~y|m;K@X70va?#J^@@ zTM-SQ-OsgFlQX_R+6U6Fufji!jJP^Guj5Zog8u**B**#;ppL-R{ce#y%0+u+E_NQ? z)uvK#ReC6?tv(HWT!%Zf*-yS}axa6Q7Rm>UPnJXJx{s~WH2S=ZEwV2W@#|6Q2oV%V z_=@U>!Vik&NqsUv{+Xy3;Mc{;r3pTlBB!os`t>085;wFPV3sK$z$6UuTJzpV6l{rt zNWiTs-%O;G`4_ORW5KZtO)x>6{G^a;t%?=7Xwo5%rE%1-Sm?+{2HiFRo zr;7PCuLZm)yObyZ{uT0!s%%5`KVJ=N7qZ_I+;WU;!KD0C9@otdClY_Yu?DE1f@% zSdJ^I_#Ld@Xzn2-#>U~^RE8@R)kMzQyhU^ zG~LmRm6_$1spak3d9Aj9Itd8vSjiK`aezDUE2)X|7)e)Y#cm^)NW^k{{H>MfUL&4`u_IQX2IjJRyM5KhOEGS-Gosh zd1qnneQH=yc7&mib0F z6+MPI?deU`JeVC?F`sIBZJlFqHgVE`G^SN(z+uly^Y0a_M-Ido^8ReseJnGwuG8|2 zS2N<|Rnq2@9T3n5AE0V++=NZTa@V`)O&N_JIRID3-Wb1@Em2}om1gAE);=BpS#BKA zIis?YS$w^WepBDtx!bm8B`yA7y=$S8LG~BlkGsWVB8aS-L4mk)K@mL1SH<3`2xa@D z2k@?jcDIZOaoAQqh@WfKWip-EBoAuT)NMeJlsRgGhDC0Zec#HgG*MbW!yW3Do|2`) zhBzLTb67_6Q#>ghC^IpB%=agL>?o>tmgY58CpqG^f+|C~D!L}Dx91#C7e(8- z78Fs89@U);&Rhr@dAv;nrgN^XXE(z90%)J?Ua`8Uo-2scyqJ-u5E|YJ?WR{3_Z8lGk*N zoPR3j;)vZN7?)<=;;u(DpJy;0+!O6g3UhgLx~00~91~WdySuY*Do^!ix3wmn2oqu> zzu495!3kk5;7W0}fG@>zVT>Dbg2uO1rJ5g{=K{GXC)`FpQR!V$9L88206J8}3_HdW zkq+Edc8po33FjRu_2tF7Mr8yCP6)1H?##J&IUw*Tk^zxJB+~6rKqswe-dII#ZRV=x zRU8pkZA@(enm!zko|PwAwm3b)F8 zdsH*D(}fX^DpTacv=M`jYcMN+X2~-hvSZ$*Z6(tVxGufwds$iT0!8yLdTr(8$#sN3 zD)tqi8nC2ps*b~O9Mlq(w?0adgV*U<_j3}9A`OI$oK|#yXq~n>>(J561<9?UR?I{1 z@l1f6`3}Gw;}vhnWPpY|ry{V`W*2KSj`XYtW#yEORw3J(nODk13_kbiR$wTqx$HAp zmlOHYou}nIeJYXxE=+MLB!WGwnM-xNc3r&oHPEz4AXOv{zpX36sLJqhj_hqNO}z0-)8><{91cL{j1%)U052G)C{^N_*i-O78URz% zid7Vfxa&dm6c4E3(wAUioYGQboSu|{ip7b?VNV4B`FheGc^pz;3{?7*`vC*LT1;mY zxy~tY!LT?Kfevh9lb+ouQ^wOk%J4c+0)v7>bjK9zHr>>lOq}MNS(QQoKwMQl#Q+h_ z0Y)iT1Bw7ne}a`xM>J#(1vq*d0?0E+6qBC9frf6B?wn8?1AM~^KnFC0?H?^Yj?wE` zlrBXt@}|Z?VnD_z*zZ7v=}#R#l+p6_=||J00j0-$xfrK(rfkT{ns7KgiiQG(#UDy2 z#!u3v4!{XKb`;<{3PH~_V<(CN;5j^WsXB2?BRI!FQe%G#aY>cF;(|MhGuDum18UM| z9@Ml8kL|@SKPp8us&a5C3#lUX$E6}SIK}{^^c3U90O?7I?jx~{w-38ca;F4$=|RC5 zVMZ`E{#3b3Nsc@&)83PB6o8OIu%$Tzijc6L{i$<~XkV04fCmDChY#-4xExb?pl7`+ zA?}4daywJO1Y}cs(YFVVl&&?f9y(L|157@ZAqA8H)}%ENa83_O7!!g!QnM?rF@s7D z!NmmMu)yq2F;7vEgHi$;~|En1QL4tQc@!BecdrhvGV9B-;hA3x;Z<$P{oz9 zw1<20yb6>SCFAbmnz=wnYEGt?r`@DB$s=qGEi^LZ8gk<~#yeAS^KnyTB(JdWK5hNI zDZt?ReJL~Ag&&X7rsEge(vp*$9HcAW!^ZbgBo`&`?0{M>{z%RXaylN z(w7v3cQm=6ZT1`q0+7hL0Yx>kIPFqlKpb;Y(JnoQ1B2~PG6C|MY+!xwPSl4T`sSc$ zkrV(;BJx92gp7Q>sW&b`0+*1OxGV;Gj+C*6B(we$b*CJ0?NU+^_U;~(;_7}wO~CKp zr8sPi;l^`P!7+2rDM1370x=jhBLJjrsWj9=zc)MzIL#fsXvP5If%G05<;E!nX~%#) zC><&21f}EK$mW~GV|6A4IA}>U=SXG#?=~4pV0Y(pR zyGG#IOmwFV{nZo{mV$HmQUFrJ%hKM!PfV z+MZ5Ft|>PWfkps4R$^KTaI1k&KXfptm>Nah(9k=Q4TSODrIe=7r|`uyg1cB?j+C7S z4FgZ0^(XG1!h^?3Oke^!&^mnGXa(4OV3qlWIFt8Qm>s$vl<(mMYcR6tC>uKdl%wx` zC>=3Q!0pXXQu_;bLJ%DEz9qIA>ibXU7 zw|8m*T9!K!mc}R}aURsor-FY9c`x@xKS73a;PfJ$oDOMOBaf1Kp?Y#Yl%9i0*ip~5 zCppDDae++A?#FtDioJ&b2X;vY&WJ*h_>DoR=p9119Xxi zD58KD=}IZM;8TFb1$v4);+zgCpwiGW>z?$}=|?~PYHoSyib}vL@zRuxoSH%HO@EYa z9Zf*@&~+5JIOdXq!@XFw3N96~PytpG{a_fZC9!ePtK%&bPw^I)b7`w>5HfI2YW&oa z#Vj>_M#c_ehUJzrd#LGOqdyhe;x7eCZDVJY$H0%Rd>tjAiba;|jxFgC1UDJ3Zqrcn?~RX7dfYOk8Mlo4=CpARa}o${EH1!{?lW>vOjmwk z({ErANwl^*S1!^SBRO25u2Ly)E%h}P>iH)NRMvoY{{Y$0TT8J90sb%PUa6tzI(5#L z0^@c+hp*#acOuUPs{N)j6TS$~tv^rIZ?rdCn2GYi%!+@AdsjS_&7x`Q+HKZ_bR(Q@ zj$Tx+Kr5b+T1hrXkiBuxS5G&J+r=YotUgjF1zWvm$7~(Uhn=GY4l#;ReF8-GD2o9? zMtv)t)Z;eug5!f$e8U~b%6J^so~ZUqC9!7T8&?tvfvyI#3PzLOD>E5{nwzPd#DIzPmz|L#YbsH(+w-&l!*sL<% z{8v2Ir&J=EJmUWVOpeOn$!qgx1#!}}?NU3~O`PqC56x5_XS0{=k}1mi(s{-i(nTC} zsf@^t2-j6)wRvpFYjHSYJo()em*}4lPV__W$tSU!K z9gwJdz15(fM~K)(88U!<#dH24vA2gq5y=Y4G^fiuhXXapX6p&tj?ayPmEY+^ONM4#UAZD_-ePA-bG={A7x-*II{(bi0dN$oBdL z6@JRA#O~$E90+iE=#glkHy^ zODwAss~?e9kF9$696VaN;O1DlDRPrd`$2f8NQA|23I^y-E7!gm{?k4ny0>e86he`) zIJMe1Bi_D9oton8teblD09NhHuWu9(Tf|wo3aU9Z>0)rOP`SxN5iWF()4v8>S$K+H z?JvH}IUTD@#9-T8Br$xkEdh|V0!IrT{1?97D*~zaF@s!DL;x>4BXz)S$ zSG4#i#s2`?*3s!Vc9L%Z4>a_y`l{5=IyUA#dqL1`u5^T%oQ42k3dQjTg9XHFvPK=T zjMu4ndqyv3w%vvmf0cRv0EjMbbjEBcZoR9@g;k>vjHaa}&JhSt<2vKDn1-Pl(e zWtMwpE^ywpRygNm7dr8B*}06Wi+ZWmva3$FI`7d&QPl#}_AYR3!1+72bRg zw7T&QtO;PI1IBB9Uv$Yv=XWiXfD2-bS0D~Jtj`cS+gnFy3aA4O+lur}LsVN`Y}+^j zBwd9F?mO3>c)vvc*q6+J{LjLHQ5Ia|Wn;*7JAF1rlY4H@3(a>w4x@@YwP+basLl!W zt|L(Jh3%o*$LHyj{58=_qK^t_kzN^h&hD%>_6ECWQF2)1O3eG4!ZRNcX|mf$xKSP} z%KU$(OQzYpL=B2QU!@-jejvwt3u&%GNCpZ1^=|x5yIYMvXi@-L@p&J#xzo+=oNk3Hg0-g z*LM^V-9pGlUmOnA^TwH|q;l*W5zyDYcvn$ds4VNc=*jJ#gzS=_fK0zJ&dsi*4goghBX-s92rQ^%xbQ;h6-! zWLV_|M=UYDj_8+Y0;2GqQsU#yBig+hMiVk4jX$(5*}4f0Bg&{gUs`DeZm%DvWa60= zK5Qki--_IVcrHffa@g896?|&SR1V}~s99M@Ec+zrD@yNAfjB|*s9;nwM$Pkgs<#$V zu=681_NuobqHivzwuV86EyXvm8+t)lu&=rm_?j~4FJA2Y;?ship00$M*wW_Q9_}b?fuE$UC-jOsz%mAEp6bSLjQdwBC zo&^Yj#>V2k+x`)M52!!7BLl8@uQ}B;i)eKgw~2C{Lk@zS$gwAeH1D{d%Q42Zus;49C3H(?|y^FxwU4cM=F@Eo@j>6eD}O6?>@52h=cQa9zX^5fd< zx{^8Z@{%hO{{U<_5e(N`;!7F-0JQD|3S5_L1+FgQ31QnD!wx!wTS8hG&LvMXoyWCU zRC&ha^s43~o_baNJpTMe{57$OrKaB)m7sI?MQLePi>O^l#1ExK9*gFQ*pu1!Nv@*_ zBZInDI((?y@PCzXJ_xjHtyX1G!u792xrvt9zq-Kx04nAD53&tnY;Z7ZLk5jMh}O`Z z5=D=Ohz$O9`&0WKU9JBB!W%anm}8AUB^CI;<1`PZU9$|5qXNHJKVXesO-tdG&9LDh zl~eLs`Q9Uq@a*^U8Cs$CoY?Z@9Y)h%F#JQXi(^UC74-Xk$$M}`eC6>CRl`Ip^L3&6 zRVVJB75KW@71?6%$*-EcPd?l*A3DijPk7cewcc~{b6+s{mu#7lNAYuCL6`gokBi*7 zrpxx5VBf`zS52cV(A`GetA^1V%fKBg(CwHckgu*Q)uwsVIe(4F(&?!9>9_e;1MpSb z?UJW#E(haYyYY6<&G7G-oZwf7{1Ujvza$=n57xb07R>W;%lAjoTEs$0yrvsL%`?P$ zWLEkhldl!8uE5K1r><(RizZQ^?a%P^{43f>`F)w^{sg`99!XiTiuIN81+~Z#j!#V2 z&fXoEiDZX32D^ymOBg)O`87=!BdPJpGHK^;Jbz00vq|Sy+E=3r_gVEP)a)c&WCcIU zyfaPAdgCY`#nOue4}Wj?@`$hZYe{8ktURywYOHXN?C8BhinDJH%W?tat#Zt!c}3)j z1;fPNwc2Qp1gKdhGCUC(NWkpol1ii;m!zLnH8PLghjoO{rK$@o?Fy@nKjgSoI?1KMk}7vF5`ywAUoEb3P+<&p-U#mQ-O-- zHJub#^ z;#ycq?TY8ZkjzK$_N}PoVF*?3D-z+nxlTHovnZOrA9Eev?|St+&>qN1+zRrIE%r&j zy?T?K`e1eIx1~Wx*MGAXtrhi?T9*5SoPIU6@tVN}@tsBiB-fMv%r}r(>MsWGn2tq# z9r2FBD~k~-jB&+tEh-zwW8$q<1d=K2qP*)_00tdBE7SETOiz>03|E)YHec55LP#V%u~{;zO&`m_#dUiAKFkOl;<&|ZN5@(P68@C04a#SwbRH&vGNhQ} z0=cV3VKQdBy;I7YOj3G*KuGhbx$-^EZ7I7c5yJDPC2eK9$c)Wy#QB|U9O|jyBG*-KllxDGc0Ea%kvKPy`oB9CPT>- z0hh^g2=9(*-cH_0;8fQfPIJ@Jn#2f+AC&-29E#wgjzv?E3X({{tGZNR$>tHjrPWl% z{$S{612BddEBMvOVgm%$d7qUYovT%H=sCdjpb0n}o|R2y89&{rw;{+Tq6mRWN(s3v zASomoUzM}#+M)7*5%W4R#u=!q&x;ILO6$dPecHPLhsmcp@3Gt6jCceq1GU>sEX{A~4GUbJW)% zbmfNjAlGH#i#)<4=)RRwA}42&j3q*HI2B_GqmC*atPbVoxy^+UgRfUy*f1OX!(J!&8wa;x5_Ay{u-aZxmm6L&%BKp71jhElECq%nUDI&8KG6*454 z4e8p0G8kf=2pj=gTLU3cf=5cHaQOpo<5F9OW(7_Fpa;hbDgEzylgUQ;hvh+$nTnp( z1g1q86aY&IQMnHlUMA1T-73kD8*Co6UfDn!$-tlqWjGrE;}urcE!>_e?AuyDlbWvy zC<`7(wEzchNFtFH9AMCn9gYSwO))oW07>nOra{RSED$3At;ek*CzNtePSn=Recq;k zHCQA_HV!L3U>pWfQ=wrWmyej$OPFMaFxkj70W@32Hgpwn*_($IQ%rY|?d&UF-~_{u z%9AQ1^zZe6R+NZ0o_bXaC)!Jn)b_oJp9hT86jHk0GCwN%xAtcEli(i-+W!D%_@)o^ zwkPIf1#o%{n)!ZDA-QgSt1D8sg7QBt{{VJz!BdarS=5cyii@%Pjic+H1=THMzl|)+ zQvU#}z+dTIOd7X@vE--Nm3nix75F=+Yu-Q6ERxSg)XY}#eZ@H@s@-_E;?Ba+>b$Y* zf(3c6Es4~sBlpkyW5Bz1mayIRTCles6`4nnwkLP{wfyRz7<^EQZI7$%euJ%aFnmh* z(Wj!MI>^HG`Atmn;P$Bgg#4cmZ3M?;amO2K8Kco506`V0&t(f=fKmKw`0sCkHKi-* zvbHUMXm5^Cup<1iAM92?*;4Ll^@M)vJW;dmj^4~E_5zs)*sbT^G#2lU!9lOYANXo7 zjn?}`)x%6b*^adI@7nj`rk^h9qn1IQfh#ZUx{GE<)=~SXZK~<6c!D^`U>6nVo;mQI zgX3~7wKx%?@3m|4jxXC&#+MsK#gzH~0CyG8>Hh$>kBTiOSD#I}C_3@fRQ~{HR$DT? ztXb>6HT{cYyVWP3!V({|PWg0^v9tZrUEY)b00iss@Y5ojP`H=v41wDWHs>9y#p3j==o>kH^9mM7&4}v z8yz`V1dxxL-!mv^p)m#fS`Lh|PT8b8TT5cx_6EW9jZY zV!9M0zB3jw%To<(1>hTpN_E|(z3gRx0Fhk0kUWwT7&{iN+21%mQ}(1II_FE0*-7dv zF|DTx91bhFGA-ZAG4l4RQ!-nfuA>wIho?_-zsnnd6uN{ZWm~&~cA?_B8$gZ^lrdFx z_z(7ToOBf8YZiWm{>pwUeQwPx?l4jy5k8o&Soo!*#bFRmtcvj91>j5VY^@EeR$wF+ABkj(^+|K2Ee^WIW_6w@f`B8 z!-%GQ<9HWv!Ry6QpKY^=RPdOqk_DOo$~hgXjIf_4bNB6D&qK>Tv-neVbqgr+asV7x zuIjH6#1X6JPl9@(jz@+=!1;0XuchRTWgCYh70WYt89sD;BXp<35=;nxln=W_%pbel zcp{>LaUz8Dtc?fU+AP-cTeEzHdB>%Gbo_0xx6u4a`+>D2a0hDr7`FN6APO@4QN&3faeu_c_%>B;x6 z(Fv@~)~RzCi5h(xyVj%$mQCZHJt~~rCvPjE9qP=EiGkNWDy+D4-51`@IHrKe zzJ?dXYI4;bmPNwCe(0(0Eq>18RyoB%ZvJKHIK?0~<|N`F+tQgOv^Q~>rchCa7#f@^ zbyGo1p=IFE2hN(+j2cIXw%V@P%U8X4KU0q41-4P!y?GbJ4LW%4p}RyR4oeP#wtNqN zD3(3vAaTVAx3TZi2WSjra4V44buY7Nl3Vn0Fe|zHL~j5cIK_EyjF)UmbIT5t7_H3j z3$clsX6ky^XyV!^n&G}?HOT1c9lfU6zEa$b)}+(^?5I3;%>|6}VuYEq^Zx({t5$Y~ z^!e9K!0k-8x3`uAl0rPs(ydD`*zDcoAfA)~TISRwjFJBUs>No-Zu^NX!0A&Iyt;_H zHqp-&l4hPCkhU>Z5?QMLUc#k-;MNC$EJq0<5_6V=d5yu4BTDGI*J$i{-$^ zO=FDsP4K7E_jkW#xs6zJA;7N?@!ZqvJ}%Sk@q-$ieii6fmzQ_Acwkl~o}Q1w`!GXRhni8zJZ81yjya++mCIwT5LzTySLFLwOV~OI z6}`xjuA#;kv8!=R_e7hO!mmoSa~KN{;0ldcI&wfKibNtvE)L?0!uF}7y=0SXjjL2q zk~vpB2YR!2JWRe^WEuuG<|VmohWZZGUfd)zq943^?&(r0+Qy)<%MN&|*H<5C03gQR zl$#Q$s=Bl%CH8I?I#AI{DT(Y$>!q+UhkdBpRI6R0A#LJz>f$2~NVnXU#?PdV`xGE zgkXBsZQaM)F1NxqDB`YVRuZnmIG{OfR+0vF-o))SSVlr^0CnqD5@T?J)UY4zR%6EQwYR3caDt97eQO#goT%T8gSBi&Yb23w2d_b05k_xgo7UxyTcwQ;3&Ay` zr&|c{*w3Xl_e)rqNhd?p`crLh0!QUX!vlpiI|*!6)&|pnxc8>m#?YXZMm+^=O=BpJ z&A9#OBd4V{G-r&2UY#-8ovbCfFuZA^*iH!TRGu~EnDncVS#@R~HD%txBFYzc2enYr zv0@9gEF(q0sIP;0tAHu#Zlh|*!-}}jEZ6{J9q2_TV#mt`mzlznxD}CY8UzwtFwJgX zLmam05bfz)o$Z{@cpjO>R7mX=_i!=L(~@sCe8Ri1 zItl=UUN~iU86T}feSFdtiY$WNeX4P8?Ju7q>|Vm5)LbsX68y)f6ai|&#_~iChbz$L ztzRZ35INdF9VXnw^Pmgja)8+%m8aUcKG_RtP8y(&T4nxl$PGT0p}`w;$n9fCQe8CN|B+%r_z)zN3|l32fYI#kdY)sMsrBn z{Hd716!LSC`BMgoFcp5a7!>Sm0gp;m0FA@&plt|T1GbRxHy^^D$D-r!b)~>#x3J=X zOi)yCDSOmgd8gulOkR}rrT}OhMZsth$+YuMk&%elG4D=s8z2kSX`tnB1_-IJKOuO} z6!hd%GmcFSxl|t1ARV4*>N7yv$@0<+icJj)K4Z9cpy2c0(vFm)2b!0-ARQ^AaFIx- zbR5zXjAOq_Rx6vKKRKi%=V+wKz#R#rAvo_@@{})6!ju7niebTzj;5qRwk-GUMTFNu z!{3T>`cz5i{8O`&fGR>N+Y%AYFGHGc7z~Q{V6wXKP>>SVc5U`^%MX};NqlV+*3vmPr`xh zNEc_!ywfx4DLm4@Cu)1J4YwRtVG?9H`Du2H^HDBI`FH}P=yuX9aRo;l(vjYgaEnA^ zJd;oah=q?%l#8{p4aO#WZySkdO`qDd&Mx${vJ^ z*V>oN-SUx9li1J!CkODOly+>HmkaDDMHF=y_ND8D9coL6w7Y;>YbH7#YGpC1<-1g} zwj)^(f&s-fL*r(4)XNk@=3bQG*y5zCXd%REG1O7Np{DoGVNby7I#jj~O$h{xk9uPF zB=n@(7<{!O08}kV;=pvx6qo~wS_a+1mo$`CV;&Ah+G$)0P$|?1QHd08>M2Reg;%2DBZJ7ai#%>&+qlR3A~+fJ~b`u}D1!6yDzS^&XX*jhT85=s2ZPR-4aCdW`j; zchf<@P`i-km;ug3JhnPkW7u$D8!N%3&T@Terz^vZdQxNx20tfm(bAIksOj1=P(SYiau8R}f;r$J9(59Lv&F}Z12q&$4Q({PM- z`u>#gqrZAgFF{h!YAFGL$7)T)9(q%N^ra_mGB~W6Lx|~)l#9s6OjC&C<)(qh%UP6z zKZQJV$n8zzbtwT<)w~WHnkU^+=0h>dZ8nlOl0ynrN$fN zJXA7}V{gm))QYs3;(^b#OW1mg(x22*agjh31r8Vko+t-z%6d|DG^de;6aeK?M(S1L zgGgHdZKn+PskjS{K&Nd3r)qB9+zJ54N|Khk5-Av^q`(4~j8KqY@cU&l;K|e}TFgWW##1Dhgf^tC=an#Y@j+B*$aG-!i6!ilf z)B<7$?bePnNr0#2pz+p%(5gQ!)g(vv!<2Ka-6qu_FyJ{K$6llHw_en==wr0C3+2nf`U?5_JzgVjv2M(S46S@#VMq6; z(_nvuaUa>z+;b}Y!?&$A_9?8ixl4=yy}MTarFU%69dy6Qg{{YzqQ@h}#>~cc^adr?%S;{3bAc4NatplF?ZR!2TN7)FYDa)qIubA2w(x;TyxZ zSF#DM;vql0J!{hKG@UxrNFUlNzGgXN+PKX(#edl|HMPheW>LuE#?LKAe+uC~6}{Evl!S;{)=ISQs)Ma)Y4Bcax{*s|-yV9`si%M>wX)qj}nV^4(-79tv?p&T7=0;ENcb(JgE-v@YC_dhv5BbUkbl?pD^2-r1|!FO;%<;5{o_`#bD*K1>UM;Aa%; zJ7}%#Ry^%g^sXCR_?xBpb5M^@zkK6-R#khPZ;e}3_IuL6T~i4lKATco+(eX zXyecOIKyDq#X7u_Lm9Ly^W*|OE9uV;>X#ET3^q!3=vhNvy%QW zx{Q064s+VNeP;D+boICaODuQ*de@QZy5^}axQ{b@mkuLkJpiwacjs*Th_&qOa^5C+ zY)txmBR*z!W3UzC^EJh}c;{{oNyx9Md|Tmj1=?y5{_}!B?Oax^;p;70&`A<1$`|hA z72SoevOMffBjH=g;~pn1GKm$i05$G9R=1>SYZla4iQtec6U9CX`yQqC;Su>r`=gF4 zjGpFui}>xCHlQOJ73^P{CzRmSkH0<|+$F`j%;Pbz;QHpF_=TXucNCLbFOn1zNU9$V zWMQO39BZAbK9%TxAPe>fLOFHjzIwO2SoLZAC(560k4&+WC33P6jMsvA!&=_oGupHhM@wiOrES9`gmv2p?zHPkL@1@GS;4X7jMt3o< z1E$sVnJ-Lt-0TA+0l}_!#n!N1X{!W8ZcV3dJu9*BRM+~77&eJ5@$(k#^sZOM_Kj(H z?;jBWLC>u?)%UD<^No%p!k07Ym+^?k#@)dc^mmDF8uvkkqC(OirtJk)?Fro2;n%HeS?YjKy?*lgS2W>s zNJ_`mo+_Wr&{|7#oz?Rt+elw*yp?M99Rpm0S=0W>BM|C3SC;su+}U5rkCbDIigfiI zXUvRPW{EDDijBviu76&#Ny|+c$rYP(sZ9i*FDKTjOLuW`0gPlbcdq(SRybw7iL}i@ z9yYR+^V2mZnQCIanNhMAoYp3j14nxxmz*whT_uF^&orujPypNSU3APQU=5R8+$ZsG zI2E2=NJewF+OAv18&sR8->p}%ORx2#Zaphv46PmHn(!$!g~h{pGDjLXl>?_Os=n|*T6w=bWV*35dO%^3rZI0L0uu~O1Jt;07_ zT?uGqb0h5IB?$R}su7_Vv4!K2TWz>pFkBOwv8QRGYn7R}aKnSrj&brG^^{qI?(ju% z{{Uz5HGeWAu}@4ILS4MuPLc`sIUpZ=WjTw5L`P!ExVnu z1mIUm4WvXUZF?VxpHrMnR>LE+c0gk}Iw82A}r0k&tpTTyB=~EK%G#=L0pp zZ{jAr62&6zRN+l^5hQZ@m9oQZVdFb__OC1O{_AaNm-tP3b;J41HV%4<^9?u%wbHrn zD$aQ$w(&=nbi0GMoua=>joB%(lhZ$_xxw&ptkY z{h~rUWLM@B(EUFO{nO#Uh!B*VmOVk@zG~J+E!*mA=}(9|+U1GtSl7*Z-g_n0ZuTm$OGWWzmyTdQva_K`B%q&7S5UC&nS=iX^QW_y-plr{n7RAxpG*g z$3VilPY^t_SusOMT6Ag0;jrkSjIv7~zRVN_VeH^PC zs!s|J7@|QVAH-?pK)Z%{t`60|)8KBL*P(csjMhQ=4A%o`fh0up&0KaZ9>~t7$u^uE zS2L-+uV7XA12wS8BG^YD9AHx=h+Jr|^5B4LCAgX6#jz;It#_I*%qMT9ag7Go+&Wip z;k8zUv)Z}>TNJfeLfbxTgSG)!@t$kbb!gSC93NWqc$Jlo!O+%`CYjJ_QVf+Iy(_$x zf8tw##}()L3_fk)C!oQu=H-ZsY2k59rg^lvOR^MZu3K+uf%NTA%#JUt=an3 zjqG>uMp`s=`c^KYxRkK^R{fYhQVzzkwRADc2V!c>q9u!MWi{*;%ezb9e+_uus^hOp z_FW;wnr}Te;-M6F{{R4PTHnR)tNcT6>tAntPeR%axz9n#uZ6x2ymme}AKlz5^drXh zsi}Bid3`*-warsWrfm(6h4qG1X3FQVuO`?ZtGB z9$%~t{{XxEE6*=2{E0~w>DruQ%xrcw=X#ssQY$f)tVn0so+~F;$DCAjt$jTcc6-%5 zRye}}+|UO1f?H(5Ht2E1blxeAU2wyID~#~l{hH~0dsl0#B=XyDxZn}R1ha*RZG_^b z(+=C^4c@6NQu3+yYFKy0b04h(XK}44Hsg*lTs&kiZk6cmY%X-%w@@p95bY8#r2>em z;pJR$itIKStg)T|t|lNC4AtFfWn{5`p`avi*xKX)Ra*hGn!Tta#MnWCYLAtIGuDER z+eMI1YS8;vKXn?za96mk-wvwsqo}NXTjkUU#~e@wZOO?SYUYA=PQ$fk&SVl`bgPyN zBzFtjGy!`4AM}mgD<?GZ#9^zD=_|npmYF?kK2P=7>}yF$3`nf_*LBY3>MKArRu%{_F~wDQ9G$FscB|~g zKs8ENW^O0~CqRqS8SPTT6Ya^TCP?}D^r@pK@Sx1dmLf|A9Md3O%dj>o^~$bGaw|Rn zq~(qWwE$n*Mh1Bm9Gv{UfTz0T4V@^GFpIn%)B#3ZV_@J8l!}5y#&8E(R|7bDTqq+P zPy}roM7TqdPK*e_$>5HZjk_5=y9#_IUnu>k0u^9@?WB%Zk?~f%sFRAWNQw6)086x= zy}_o2*m`94q?2=D`g>H%A_VycT7WIC;f5ocuXzNrfWYI>RM5Eu6U{p5hzeJ&02*Xo zPc7c8Ty7GN?$j_JttPl&NX(^kv!y>l)Z)E>tDJ4S zY0fs|Z8lqEEEFH5E>;}2D8uBVs<8(Zp)Bzd2|NMM6>if=ic`8mK&yY*aF+7ZwJugO z9%!tjQM(^CayqVwq}`Da0a%bYuR*xd0s*%t)7rD4(E?q?EQ4?a6I0A+U+}-f%WXOZ zy+qnT+)h6CwRi75xwi6906^(pj?vo5q=$(@fShghuPlRLyqRSH9PwN=rFH~xG>G^I zHkFi5C10M#e`50~LIITDr5#$V3A~IeXZO`uNwbGZ1aXB@9@=!ie)YVd~V!-J@ z6KNM7QheC0eL#J#(55&0kYbW5j1+@Xt^hUcN2d z;7G>;zRb2ItyNd6VAsL+?sUyY*5q{@8v9ei_u}(Pj$}KI)&5n5XdA$q@)_a>b7UIJ zf>9gb;0oK+*}SYUtT>?s#_pAxG&B&M-eU9}>&pHu>7Uzv7@ByKFA|bJ3iS11g1FBI z>BUgFv0LpL_5=J;Fj~rSIw&*p;@%ujG*>?(t78?=X^Or}#&NqprD6D*)@vUb-r8Jc z6iPt!;TtBIbj@BTs_QmM zb8OH2NnUzU3BQcjnEH;6~Kq7d?(dod>DWL-KYR41fXleLNynEW<8P%w zWYLK>Y~{QARVd?WPt0+SwXbU$Da!WgND260OlPMRX4#2mM(2vil0vd=kMylQHH@LR z@rnTF{9mODtu9}m8%F}Xt3)!}x}-;Ih8-){d`QkM$|1^?uMW|!%sR_?*;L8EG$F%d z>U|xJ)wE(?ya2C0@w9?z))=w-qk~$SM!Ra38CJvNisLS3YrE-Pj(46Y6^roA9mEM6 z{q^8hmDZni9lDnsbrn}lv)wQXxySUb&r!I9TPiT;7@!VF+sYsXU$;tp33VcQY%-bt zRcZ)T!xcRC9jKOB37%3Ll=Zsbj-q^0O$~W>wb=OeFx^XY^gNoL!e0=Pd9Y7%N5IA?xU9e}Tqn!L}T zr%u$|k7%>ImrR9iSb2dL8LuDsf#NIMtH|u&K3qeCiuTwdS%Y`tyhFx1Y^#1{35CvU zrwgr194c_-Z>c?nvdO2$q+=_|thwUaj5_wMJ1NiD!t}!Sta)TWSeTjdCw!-v|iReB+lMC z)E0KoADKVabf(_hO$Z>d$E667q6E0zht4`vOc6%ob6{f?2A=KaV4MN#R<8mez&SJw zr0BcO8-Z3W(YO8Im)4nXo3P))4PR@Rkf?-l-iw2`LQ9S9jh`xx)IvG~#U;B*EypW` z1MsVH+sNCDnCYG?Ic!ueShn2lka8EbU3CG5I4xOr5^j^r;X`%DYTJlK5zCOYx}Uv$2~o(3;Q^EVnrlog05eR#xoMg zAM&X#4dcVIAXN0@(yIyHJ&{B*N99`+8A2?8@&yE#w)UnohdUp)*18qDHn1<8K5tK2 z&4Sp@+vX$z$i)UQ_W&zyRO_0!vRR^SUbrP?%j zkOklhY;P1`ht8cx2H0WaIO zTPs37{{UZVk~tJc2yBzqp_xRPSb)d3YQmA-Wb)4ddQgDbl4q3d1B$P6Zesz5Iqm68 z)1r}Xa>wNKu94x4{Qm%>%(styRQZ34B@q=W7pX1Yt3Sl}e%rxnUHZq6l6qpbjTkwXiG%JEgNY$BaX zs_hCmTEm9sP(dts?OHc_gSG@-!-^xY7*Dztc$nahf}@V(6X{&(>t2UcD z{K&alj-o&R)%P4JOyd+p2+5{weEj_fYCz6TM?u=Zv6jd4*)HXWw_0+@AMT282j+jk zQMYeDrAP}-ImaAQ3U_U^4Olkux}8ni#wkFcK}rUGlyN}xq{aYjIHf#{Ef~jIa)Y0j zpsDCMhCg+;p{T*yyoz3TWYmR*ITV4b0%e8=08;Mb1GO|GV{#n(RKF^WG3Jv)=r^d% zCPqOt=L2YT`@QKCW1OBn1u)ZLa2WjGg(?!G9+WU0yHLLL0HknPdiJHp)ZCwqBLkd{ zf{m;fKE0>}fe!~FosdTzXwG_ZMnD`;GDU2z4;ZGX$2sPko!pvUGn$T29sOxQ=9jP1 zpBN92DA)wYbK9jkfHCCtrl@Y?fkpwO4G%$;1JaOV?wW4^k7{`wWKalD1~5BP@!px= zic&%8+OsQQ&u-N4z#c^djb9r;$hc!RSRaWVh0R#ttK~$T_Df z7jAk`c7e?)V9U3lsAJd(!xdgulWxV z6=7L?vJc)hERrST2AnWD(-ajH>YxW7D&nPK@&GA}GI;1I?ASqy&id#zu+f#_deoaf zUwU+4d3habFu)FZH5-Mj1E?O9@X@1f1Cvcw`SP@k7k1&nqtpks4@z(goz2j6ri>AQ zC?t`ywI``o(@{obB%YnAaf)Bz!0k-QY%M3TTPqT<1br!E;ZNyJDtc#%aK;C)36E8LqSo{agd(W1N zO<%k*z^NHBfUCzI)ZW|*SLcv_3RN3^W5r7w9I7?}`OH3%Pj@TmzI;*bePImn}@ zK~GYC@2yKHUzmOB2cf4Th9`G8q$FpbrYc8qLH-_sfB@o`X~4(jO$VIgfk5rhe@-b^ zu4o@OE8Dd@AoieX2y%JvQU>i!1B}w(GURY+F%QQS4|)biQ$@Y(SIdB-tuIPZ z&rT{BSV6$rdegqWDI03=2Q=?vSu)Vw#c_(2&@cx-g*VV+iVry;;~gqeF6eTe*u^JY z15Hr*`U;VL?if%f5Nr>WccfK~J5T@={1eZmK*N$gT6o}Mn6%^16o6io2FCV4758mV0Aqx7z3Jcsto9xZ@!)p-)P&`GSIgEC z#F5DY;Z+*~zG}3TGF~z5IW=i9TMOdmh!;Yj)P!lKqLJ3%h{BwP7jT=!A4Ug(ho@xg>AibH+Mmx(zRN z+->%i+#@*)--@>$hMEe=Jdz1fNFSYawpMnA19M=((U<07*!oo|kfEu=Cy9Q|s|c{$ zSnU<+aNcfIByA2lSBuE^v<*VE@+r1}QBHq=3bl?t{tm-pZBhI`_;aQ~y z_fJCMk0E_(zlR~au!WU! z)ZSNL^{h9F>%2>QYpZF(NY4y2isyVyrrN;EAWSoNu1?2P3pd&2Y{#5d<`On^N#c$% z6E4*R)!UB-&*B+`sy2?t+NkR$I1&f901d--E7&xRMkur>r#M_E6%z=Uc97b5Q%ZYb zw}tt>qP%MJRkPP*2@Gu<%;i|0O6axE5H0NTBevM{Ty}|T5BAU-w_~4bl$DBuvp%u- zZ{h20KTM1$UE~j%y*FPfx;%k~LgR(6J@9U$)z&uZx| zoubbz$L`z#x4tXLygB`?tLhRoGG%bwS4B3N$12j3Jzv6Xx0iP}*D;lhFG4H2@XyDX zd@HW~fvxcpwi65KURU9hszInprq1UKaD6dcuf**-Eiy>%U;$+6911E@QqbEAS;j}{ zj)~(B_)G1UOA>xzxRcOR+H0@05T#jxzzRFp&A+qnj9xnt9mIPg3RgMrUqC^vY4To~ zppX+@7AFpr&#j?|ZYQL_jLw~54W!ZTl&&{+7_L6rYmG-%4H6L>jm*QR(z$JWT#Dcb zV)>+Q3c!R_CT8xn#$h?zYwctA$lSOCQ zw6grQo$OppFA(ZR-qmd_jwR{EZQJNWRPeILKl<569Q3Ys=TB$VjMoDSr;PNkLAKRl zw1Gju2s%-@Qb_po#J>*jrqzX|qxotd=g)js)IJdKaf3lyCc?&32R+Uz#I`n`AiYRKzQP0INP7@OZc@E%bjxK9$KD)^`e+C1c^M zn+DSLLun{65_oRh*S6dEir()> ztaJ$OF3*_rASc+@vrb;=;#7|#vALue)Tv+L01DdIJVy<+k++sIS(hAEXNO>m%xL## zpO=n;vV3asMdbuLPV5@dvkjPAUdi?k-Kik-9+kJGUdHyUW#b%R*Bzx@nW2&h&Nhw> zVI=pdbtFPVjOMB_8)n7b{A;T`YBnM3irdnlg{LnIWmmDTP+P}-`-GTr=}fe_p346K zYO&fn)i?xM)(uYYL)Dhz5>_JIfnJ$1X?`}eSCT!zO@V&$~ za|JDiZU?nu)r(Rx{8ixVttBICQXV(xqmn9?muBs6i=p!%z#S{pwHevuP5%HsDvidG z_UKLBo+ES|sOV^oO9O?^G_upAONnJ=;N^2wW7FmrZpfq};<~sVSW81F!(@Ox>cZO2 zma@qy!P~&DnpF%ZO!C`vw^wj~ylZ{fhsyd^E4)VO_WuB^-CGaxLA$>d)N&EL+u48F zsBW%=M0d?g9BZ?A=QT#^6Ocim2yU(-C(F$l?QU(t}epBPXXfx>0Kt3YHZU8-!c6ufzrbfw=c)c2U_Fg)ZQEYug>H7 zR>{?bJCbI}917rdNqoz#@gKd(_N8LeI?HWx>}v?ooy*YuE7ls`-u@+tmwUsDsExhU#vEQCLDp%voGhG7?imATc$fyx?Fy3#7!XMit2SO zE-AnO3}dBsreMw+Prd!)41A1w2VAfCm8Ai}>?TS#VpYIIqZS zuYLNTr(kwR=hws){p74Y>*ZZfnA#9BcN+Tx;zg4~c_d(D9M{elnp_}A_~d52%)Y0) zV?1g&O%6FCc{^94Y4+RV^WTy&#cr;=PV-4<>sZwYFx_?gykT zkIKF!EY|)wb#4HVSK8Vh>8)mmx0coM*Nd%1myO%7GFN^B;ymm^_YbA+ZWL*@@_(=^ z9D_ZxzkR3qQ=xuceO2`6>SZ5b`d9TjV!ifxacfmXR63(Ut&+Bo90Z>E|o5O~1Na#dGjIIkHp zU9fZ*$6CtK$y5vnPAcDsn3Pk~nyaAT%%Jo&E;<4_B!)@IA#hD%>$WmNt1I`fNr7QS z4B!lLSbit7RONOt>Zq4HW+&j&Tq z_;O8-EwoKB4w>2$%xGw zX0@EKIR?EDxVwlPZQ{Jn!E-hTYV|8f$bm*Pz^Ra=aXO4fJCn1FRR|eOz~ilH>vCfI zZ%soN0An>o7?46f%pScj z!;QYjW^2u&;@B@*@4PC(kfwT22JeO?lEcOpq;Rb&4A<$BvflVwH9X=jwfT_u3lE5G zV*?vxUTgHL!cvL+ArSk-!`8X0niU#lXt4lv3y;#gst0AhMgqNbVYJ+L z+x;m_4=nObd5_YmJ8hmi)VbmK>J4Mh!>R9@V0zY+Jl!R+{nK7?bRA}p9tCbI=9`RBxdSSskja3YLt=2 z4(^q!t-<8pduFnnp#UFB3O9T`v`vNjReupiu+Ndynu|%DAe;sDtNtocg_I9U0OlD8 zUH#~WXWj#KrmLA3*NUv+!;JCG0$Uv|=J&Q4Ye> zq)@%O&?ULlfrM5ac&>tCA4)8EAXhTQl?E%OjYQf(9@Q^$k2~9tU(%klK1SY^43V-- z%g|Hcws$0hfm%I)(cVZEB;mY|l;C%!kfa4()g+NSM}gX;mP2L$Us|xt3Bcl`wgNCg z>rB|L{2ii!y@|t|?Cn=0h8%!-II4xrYquF5w99Y2UpSy-^S9aM!t^4eoq)D2-k`W} z@`Ij~+o=GLXc(Xj_~knf9FtpC?qPwNPfpd011JrOmrB>X%qy}c2YKP^b!<5quR!Hu*%uYb_)^wLY`p0Q-sZZO zZIR@E7XrCzZfOV=mK0|jyH@;VLSQz1E1OW^z#oXMSaBK}=Q;-$EO06q<349lD!^n1 zj0%O~Cy*(iE;tXsBLb_o#Nc+Pq+1sN(-{X`Q@JhlBJ)T)agkD)fli-xpiRlfGAV~~ z;0`K@5w}d4W5=auE@OX}rCb4z3)7`D$Zs$&VL%qpDxf2ZUE#jyrEsA(^fg`Q5hzvU z&;?tiBF!uhI>)|wEX|hP@|Ek}ph#Lq`Fhr+q)dnR zow`s2`xZ69;;LM*WdIHZKJmj$GH?Yb+QTjPXaSKD3aSn(Wl$9xx>YzHG0KXunF-10 zdRAtD@_z~nl)~Fpy*p9%Vn+7hfyE0W#18&N07G&~P{V+Sb}%&<9wy#em&XtT4jaeri_E&C%61JpA2g19H~d-sJgl3=>e@ z={GjADQ~(eO(tZH?i}>bHQU`uZE*ysNF;sQ0OPGB!muZxrrTT;a_?2}7DhsG=~5~z zV|1c`H6*=+?Ew90zG9FW4+61vqmw60bQJq^kSRaISrnP=It{{2qT|yw!rek7x|x*i zWjt2rgD%9D?`nU9S1+h6qgrUm+N{;ZQ50+1O8)?IPL-x7NQOEN)cE6uI8{y$9cqk` zw31+b+UH2np?LdoBObKtCNe1?@#$5sBi$%Q;Z~?Z&kUctJXHa)aSEv1I?~$0K*|se zRast10dKl1e%Vn5a5p-WU)jLWDT4m!U&7v#Y5b5G(3$ z99x_34kV+p9-XV^Au$&Q9k}xNuU{&&i#aQw5PU|`B-1=r!c6TrVO;Y`6xRSC!5HSf zx8oL#H1~q=3?2q+!r@UA?5uw6eFPr1Ji3JXq-3Iz&M{w3d@0pd<4jv6IV1X4&NGE; zW4D^_J`L-?VbvblzHehuQa43YXVf~GVxm3;V%r0snDR4P*LP9fDU)u}qcxKRQcEdi z8%Gs^v7?Zw(*mhA#4*R^kK*8pvvK>h!*=Gd46r=go3CL=aM1Zn z*w4K(PiSX^Yg45rTCA^R>Cuk z3gfLCqiCP262>BE?uwDn*S&Z`{{YX@V!9aXxAL!^Y%ZHo(-K14jt3uwde4A$B$mKw zilcgD*ONKg$89~VeOaJgeWJ+#?bOy@y{ACW_J-syQB`~&<}5`R;CfcBq=YPh@;cW= zGm_Sojy5o(E}trn)e)5Bk!3C=N4_YP9k#CwSE zj@1@g6ap)E-Pt^GV*XTOfo4PE_}#0xh{RZc%}X(zZo}bIEF2=KeTp&=;1&f zlny5urrDDZn7P9MD^e>jFQ-~tF(X*3!N3EhT7q!sHTTv87ck5XmBbHVQ z$-;wObT)=NWx?t>u5VGZlI4U;_XRbejNK*PM;n{)t(fZK zNQ7`euSD=FteP6{>L&3zwrvGmDHV{0cOyj#IuA6uPb{{T|mwPBd;TKS1a%=hrs ze{|D5<4;ubx8s`fe;nMIFTT$Z!9!k>lQdBtIu4cOdi>?}MwE}6(z~+wUa93cE>_HI zaBbo*AnV3GDxa2B{M_(OYL`uf%fi-X3Ej8u_7(MU_)i{7-YZ|Twl)lo#;StqhbmNo zS8bUWK56+u;8Na8=9Nvj^!KGAi8O(RB=zfCGmo_oCNc9K^@(KLC)?8l71P=>KunTw zzO|V~1@(Zmh(zCg`--6)B2EuD>smUM!(6%Y`Y%IN?BtFnF-SRK)_?*8NKzs4ifxIE z%ww0F^u=myK@)txE;y_UO~UXM;*Nx!EwNN~j~HIYp%*I*{#iL!;GV*^#-8#+^42xh zl_Y26Ipk)slQn`g&5fEVayMjryJ}U^F4OqQRthW!1op38E=3liH zSop^rb`@stQ?!QJU?-kCv)i%`NPP5%Qtw=qf9a zbie>?vHfWPwx2AUAC_8XqkR5nkcS|8dev)Xx|&_^uiouiOQEuro|yrMDr#t1%Sv4h9GvD@xQPkuDAZ6|_v{smn|zvzuvPSoZd*p1unVcepSb#ME9)g@~G=j!EA3ch!uD9pGuZX^^0P^ewCRto^b?pUX?-a zkjew{2NWWa(M>pu_wpUt>57l-32;Xozv)?o#>@_J80QsgKQ31N&mQ!1TujqTE;gFP zypC93%O^F{M!^&Ud8}*5z`DU~mK;zELn7VhiNcO|)%UVTJBazITFz8EqB%7rCQen) zB82P>A_!o6Y?0HoSNm+t%pBk?Xv;Kl$B=hpwPX_!K5HJo!$WrxWvE-`9+DR~O2(#~aUZD>^x6F*g{;dWPC^CO&D$6=~QFAGEgi zXhz-LYCpE!J8e_)imYZa7HnrdDDxD=e1nEPs#+2M*7rbo^`I~vy3;=IN>2WQzp+vL z_B*`#D7;&Mjc z#(^MVgSWjX18`b8kCUw;VOO3{N<|9%5${Se549l*4l(qjuN4Cw^3smJ)ffXcCr&5; z2WiNp2&86CDM25VA?ARv;*6wh`@WRp<&*u=Jt;xJ=}jaYZ5T8S2GjSuQ^*WAB_Jba z1qh3PNyP#Io-^K@rIog@`c!UYQ^!u#F78)7X#!(g1co0p>&gm3j4`bAU!OOjQK$J-btnP{WGMs}49`DMcb=aYhI@pe{cc=Z=K)N}wtwZU(@PG$02dh{a{#B$B$w+l`x!F;^r3PnU%$`8HO zsq!75Q#K3^ITa%i;2;zg&~F2g(xl@VrmFL>nrTjhH8&C*eqOYoZ5cf&#SzESnS#l; z(xkZ9QG$9?_!MU&k;tZkPg)0dwI9=^DC6$ZQS_i4$8@E@+p?M|)eNMsxGzjM;Z7c% zsiAYykY_mbqz|ztwL59R7#vh-wEg}m`3@A04G%yHeh)!IC=0~^@BreGEum4ijjSnL ze4t~kH*WE`^`r0ny)n|DvQWwt1?@n`dSOw)^x~R0{#7B@QQ&jMDFYO*l)zd=&w4#V zTiFf+0*;iUfk~21z$#Hv*inpeQYJkqpepg6X{nOO%<0mT*dwtg2Z7q3>?*o^kFy=V_;70-2u1p2VDEik39R1dfA)OVCpE z9FL_Uj>n3TsNZ41c*`DpQJy{NyFfm)qt=18kayin_o=zT;8MRB#RYP!06f#U^rZL2 zEi2fR?XW2AQZXcL12oN~Q=|JH7cBf!4`MAv{A>S#F<>HRtN@*c*nEF$y2N3}SpVFkkBO;@~?@}vs zx1gc<6bcFAmx0rz5@+tA=9;4e6aelAB7urS)Ga@tsA5Z~+CfSIqpdzsiBAIqB7wz7 z0LD!lXi^X`=%SOJhL<=P0+)<}1xIBIOOF(QbI)2fo|K`xbj4)Q(*Q9?(uz^~ zR(C4a4fv;q;|GjW8ZbuT)KrSw*DNvGi4ANg6yZ%O6?Y{$a#QE)?NS1a6Vjbb=}zE` zVvqp`0E%$wnrXmaL+MM)E>9Su;~uy)xcX8MxZDj3^9q8x3+;+{AKv1l4gu*>1D?E4 zUW1N03Q8$QOjNW`;IskaHWh@a%D!p($E1MMk!+J{EpCo?J zS1T3lNgD<%NWkr1H)xQg_XZ{z?_H0Lwde64jBjqF%G<1j#)q|Xx@E*#RpgH{;TZ6K zweri}XSqgR>C@lOI@^7m900Y)Gz&Gh&ROxrZt6FQJ-K*KT>ezg3&Hk@^2@@Wrmk8d z)~ts{@ZJ2$l!$!YYrbC!$)#z-QC4Mj`^tD2uT=2bSf(vy*tr=Q>zZed?VjhuzD#2q zSn|Eac@=9ubJV9!Ha>UOEn~k$ytW(9LKm9P({u}sLgiudwy%CMitM~6soCh4Cf4Z# zB zyX(hQjJkiTUU}(UYTQFMs*;iqKZRi#+^$r#GCW5dqRCf&{rJxmOdXtddcS|aCUXBm>D#VLgz}l7lp!-fc};2ej2sW zbh}9A0D1B+IO+{!>9@LOtqHlcPcLx5-C0Cj+TF88rN5OajtH^iJHImJW{CWtV{LG7 zc!Kr|#R{PF)7rZIT1exwGEEy~n&Tjb6+t;4Gn{=Y=_3lKbAL1%lu=0_8^ZMMUT3K3 zKWDoWN7Fq!R_ip8Mp!q>v_x9=Kby5`Wh0T+bqSP4jnz*h+PmF1RF-`vF`Ot~ovY70 zMQ!EC4t`_NYu5A~8qj!VIi+k$SCy=)1P&ipNTg6=iB5Xs*0eMa4^J$MHrz8~Ja(@3 z9|+pSiE}vuCIN^ww-Z}iM$c?NcA~Mpk3uOp79V)2PP27r=TF~=tOH#enE|Db3UBCc4SJ1x=FJrb= zhH;5-Ij8FMpWc@fV2Z(%sC> zfZuQm$nfr~7QZQu^MvT6R~O==bE#^DF2P?XRv5dEkDD*X7d*%aDW>55aDm+4%>1_uFqf8r@ouY-rEzE1lO2q_>%54jO}Cht0+@E ztW{>pTKZe*5J=Gc-e||L&1ZZZT}I!;Hv(P4DexHj3cY_|`k+`t0;z+?sIAWk>;C}o zkLv=?R8i*PS-AOYuk3Q3dF=X~wuatqtnOU5IAO;X^VX}VSm~Pj{{Uh9i?~L>a4Wy@ zZmDer-<=x=X+G}L+PvRW@TJU_$6Al&8-ta{H8dcTu}QRgCy6JT+fKKiOIZBwvOjwA zFBj|o0Nd7<+HpVW2r*RdJZf6g$#O!*2*K;cQSe@gd*bgDMKI#oNZp>5+Tj$9sJ7&N zb?|pWyNgbUI_yHCy${3&JqA>~f z#xvTyI+VHQeJwh?i1%*_-e}t734aLMudRf4SaLpKNC%- z+#*chaQ)i)@58#>8l)TT%7!DJ)x(Lya-DQ>3QW|v)^7#FT1Y-tTYqi-Y-BLvv#KuAVN74d7)|R~@aYJJL+%bd3j2yn(IfUod^pr`ot3 zd*R=Qq18OeU{Fs33rB_}dhuG*=8=t66gNZC zG<8Vq?om9H`+$LgUHm$Zk!GG!5Qw0Um!K8q8f)8J*Z|FjBd2j(&bfUpg}d8~?CX)% zwNbgvvAL~k_A@)BqwWBalf`m^{kC~?N%AjJ4S8m%s9jwvJ*i{~+t$4Gd{=%a@}+(O z#w&Q!vCC4mkFvZis9M7!%#tf2pVGYxQt?H**qc~};@!=Bv*1aZ;x?LR!jdov;=7B_ z5L@ZDVj214a6PeH)u>&aG%H#sL44^L5W594@Bui*X0L&CC=}nzFPS@Yf=3nMK0ooD z&E@Y!0>Qdad8k`U-vky<1960*i zt3v+(#;s~?Z^U~)<&-R}m0rg3U+h4$;3!dw%<(LO`qnGbz)7CCsBAA<`pjEMF~$MM z99OkYKI!unDs!@JGWJ`2O=L&JSoN-(S+R#xUoeov8C-hTp55+)axVt7yg#el+sGn+ zm=nM?tBHm6v2Nc;ytnySY(^ZBTz&QB)s@4<7b843wR?x!L&LpSAdZ#in$3-&V>FA) z9-ft?S))fcq2JB+f_%OjuWAvKDRn&iRQ7hz*~A#BF$io40hUY;i|PqfNHh zf`js_*O#`iL+368y#VwzPQocx&7G8r$(qfi%&rI@=cQ-L7O~p+b61+@YFz>KHQxyYv znU@@|L)N_$Qt*Agw~4LU7b6)Q3gUHb27Lw-9F8O%w$^m2`~0O&j)#W9YOknVZtLb8 zR*;S5Un%(8(y7HVuBR@0vBhZyI5K)yuT1kN@eAb$5GPuxJSD&|j-6<0^=9B>)`+h5 zwpW~*W@dc0*GNFO=YKEM+oqIIQNkP}nCJuI^h#^NdKtio(9JAeyooF%}e2fzqHb z1|=$JH~GdaaZ7NeP6uAp+=A9Re+s(V$>pB)>9E|y({0W@E5`Jdk)#dIR=OE4rddYL z2(CJc<*A;FJ=uz2n93e23s;8KKhiiJ)hg;qBxua1f&8lnRNZ(C$VgGzu}ISB>U3+E zt|G`73tc6(&)c^^zy)3fdAEn|z+(XQuGYomOQ1ReeJE%yj+alcZ=5uIdi2G5F|*U9 z(t=8mHWwLl&TEgnzWWu4mO+D#E5)_{01^?pI337;y|nR~B0*MWlHU4Qz+W#dg&%gJ z5!<*d$_qC@I#v?gd4Q|#C51r_q4p>88}+V}GqKX5hv)U|DUvK!bGrsVH*VFNrQO@b zBTCLbe}0sjmCOz}aM|>ryBOMps`BN1YaZwqbymRL(-om4WABcFx%;Ub&kPO*c%XyV zJS?zUGVebrUJ3QDNC9R$eq4K3g<0Ip(5Cm`50@3+Xt(ZS2*B@NwdLYhyn0w;XHN?SUOgt_Q~!DE3O@s)B2>)1}>} z+sY0%1^!jec+-nF1Nc{p{Cg6=c_Z}vzhr)V{7psP%s%%u^G>Q#D|bd1V_!{tM^N_? z6Tlg-mbK^KxUWU8LoVnna?tYVB$6xX3}1IV*Pv42Yr2A;YCliH=$EsF#L0~`zMG6$7X-& zUHD&(92J+k&q>gvY4kgMpZR7hN(I4x_f2JZM-SnMWb}+yt+@GIpYEFaYC9w3YX1Nb z@r_YDtyQ;ilUfnR?xul0`Ip3cC611uIq&7p{=hGpb!jjMPqnsK$l8A=}l-PdWV<47(5E4t!4D$ znftYSBp;MeudEzly$N=Q$ zip}t|84sqO3 zXtq5bS<)!XE9qWEtn+mE73uQZ7nAU>KGq}u08C&9O42eSJDlx_QFH>O9g45%8Ks@GlydZED~FjjY1FE5r$dfGgj;dUp7NWCH^&n(+@4AVkX6%iuyhZtgr> zHb+j?$7*ln$-Ys6U7gc@`Pz1?BcQHT82ve|l6Tsb z&uRdp9m2jGg%>MwfkJ6OD^DC*6JDCCX z;;2kha!HQ$CHUQ_xIG0e%xmQD?Mx3w@X1+i4m#qwKM)Tt>6hNRPX_-0$G-1DT<3|$ z`f+a56B8aLI}~GqTY3bpF3vvfV4*4prCiabXzzA*G!2@X`9E&K=xYLCs{B^ph!_im zl=sK@e@e%HE>H^bK*_BX3DAz271Q{kLs+8$+xk~A6~uA6MmpxY&1(&$q4uB;J+j}9 ze(otIZLRZk=qhNIM~`UZ6&=h>5CS?H1hzW3lXjDn&jz_mB?&nd*lERN(pg7fMRL$Y z#%9RIC=%S*4Y^3JuSjCn%^MGw6~)HqI~ux;4(D+(dsMy3IZaA1FWCnJH3~3=x!_g3 zU~JT%Ju5y;76jIhU@fC=o8;+N8JHcaYc4klHU(W-51E7bRFcWvmuLfnQ8|r%ZuJep z!wN|T>;uw)y^Ad?2>2XTWp>W&QRXrn0mWO~0)`@infw;Z@k@5F-A?QF^T|*Q~}R=Y>OOghdpUQQ-vd%g5e}?NdO9{ zfj`;f+1KfcemuB#p{OlbnDX5_RHFdoijXR(Jq~`gJ3`E$16CF^eox)0A`y?05zPQg z<%kdzsUww&@+qVV%jE3(( z6?~{!xivDyhXOJ-)kw$hdSF$z!eeJz0JpuSI~R?$b|h%W?+s)}Gp97;b2c{~lmRXD zo?J#c^37e1ozhR!n)JyB+E;aX?~4=VQRzS(O@+Xk(Opk!Y^;QJrr4V_+sSRYGxMsRk*7j zF1Kr2w7FlpPI4;-@uYF zI`H-8a|3p-Ow+Ql;~C?OS2WSFfvZOG4C1k&krd^>O6zqW^qfZAU{@w%Rbqp#dsM^= zOEAt?rEgj0QIL4_u5)1n1Fc+v<&1o$fI3^1%pP7ju7}{Q`sltdiC^XU*Yd7*+F>L? zoN{=kSX_-S#Fq2)+{iy#rLj>zXJncUW5N;yz+)D8?O!ilt*jS~Yy4f$(!GP>9Y_-_}kG#Z;dRM8IK337oT=9>INgd9VSPoUcm3)`6&FgXB2EM}a z4V&IT(Ukq&e5J42wT8JYT!2Ub3i>7S9%Vuq_o{?kbHzvD`OcB6$3FusGxVuVvp>oX zDu$tL_E{s8b|SWW69eqq38U1k;JAqJ!=J!byk%fqFVeVQhIa!~(xbIQmQmNzy-M#y z`y^g#xWFAN&wHIGBdJVC*g6{LZO}BecTu_wNM6+jn-eo`W17_&nEot+Ta6avXK0L9 z=YFuW9eP(MoSYXImX_Gh;7MJ zyNUtxBLk*7RhSu>ew+@W~^jsxZN?kg_dCQL6tYkKURrB7PTkCo?)R4};p3=x8k z1!S~y9J}(9L5y{(xkV)i$+sVkX3o!_FZgS5VA}@w>Us*xopT`a>2iTl zP%{`#IO&SD99u@f-~DP95gTPkTCF^Cq=HW0%B0MttX(ahARu|&N79+6Tz_aZa5o!I zYKK&fZ>3jpnMcY#m93>|#?7K5j(Pe}Y3`o4VWq=1o~bCu93J(;_^VGg)-MaL^(Tt- zn_I}%)-XT2T-L31Z!O1{ApjB1XeAySZ93`JUQ>L`N!kTn&>{0~S=?cX9cx2bu(yX& z*=hHB^U|Y;Tz#ch1lr!T13TF!M7JtP$QZ?Qmhw9m{^&IZtvI%UGJkwWG|L&c+Xi8i z-xV@t7p`J*yP_W`>r@Me0b}5fqPH!i^CQJ!YRL_}suS-YN+Q6?)uxi(+Z{4%ny|ZV z#F3iY)|+*hV_fc)9{C5gbirsrb5T^_D%Cdcu4rJd*Sph_E&6FhIhy{&}x?AKMdVUgJZO2 ztoRy8Mv$9u8)wa4EMv@i6(?$X8?eK+HuE_+;=F^zZ5Y&~d~z|xdmCJ=aLVkt3asCi zcowaEx7YIA!}l8l@~-?0d1i7qYGh#jp&4=3sw@L|R$?*fPD_?mD8iCBWtsOaeF}OW zYD7~(8&0YY0X3sMF)Aq>?Wz|rNgSUruyi&SvKDrPq@Q&poSd)5|#CypdSCK9boJ zN^(tfw<{gILSC5TiU3=Q9+aCTiUa2VEcTgssxl27zaMWQ>ebDCgo+d=J_V-MoQU*5Vk@2*4eyHug7M zDjasjNfw$`FEE}*Y6Fz$ZLOobV8OOyuG+1usJ4hh7c6_4&9I*4Ikv<`MQUEiW_3xv z^7By9E+rc|e$Jo1(R=XDlEGL}SoK}i0ww!No(yOFG%d*CbY4mo0kAu#KepR%Wd;*~Pw7_x|l}_<5o>;^JY39VsPoG*`H_n%O^k zKMKu&i6tSh3E&FpuBVD;FT15=hO&8g3~v-QVWw4k7>UH0Q|(slZR3fsy~kRsb#}_* zXz5mM=JM3J^g1Pp zEp2{&ax0&hA&{^Y(P~KFF4L9t6-o^(yAzxq`J}+B6fs;UTmM6YA6bkkpt$+ZeU^B%c;0?5&bmUMpi2!eJKBDPKK1@8>#L9+^9VOsduPQK>O7QWB0N0o-t3r?MILc ziVjndC$e;#nBbDz@ zEEEa>I3#rKNgD4TH)=pUe|UGJ-#sa;#|H!D?N3mf0jXtK3&T*Lv+eYx1Dx~}q@CGX zL1a4{Ny+I-xHQ7XrBIH!=tUw>nIB43z@UPs+K-e}vDkK0^%O75@`^E@C?2$mxVwlL z$68fgi@A9;-YP{uE`JIbCN!@@jGC0MRtFx{7bN8I=~6Jt)FdTw5x!Cd3a1{JqXTap zsWARs4HaSP%6{b-^rVacy)bFn8O0&$Ehy>*AoQf;IHh9mrlaxcMsdXeox5oX0EILq zV6}&C;*fGZ>Fu`^A`*D-Q?SzN0Y=}LQ-Thisxn-*(m53HrFk@jg&C)EdJNKLo02dV zkkTc`mDiln*QGBx`G+(So)@h^@6a2C=A9N9FnW$@pL}_3!JuXrz!~C|fnT7dw=fvn zN*CtzrtD@uV)vyaza(QEQDNJvBm^^H_N6lc_h=t?X%y|Nw`zfrQGSBdU_d@@=A|6< zrXQ43g+m&4M6tS_Hsp#%-MiYNQ0m_(>r&wNq&wSC?M@5VJ-SjT-Nhd;ZN8N(2LKpy zakidEKx#HQAwZ{vD!FPy9L=^d$28SDhEHk_%)4nuLV=1x6F3yP2k@W{d8NR`14u~Z z89Ze6rRO};vZD&4@t}OiVCzYh$~0p%xX0m22EmE};{u=<;fivV-;>gtw1OACNKhOB zQo_TD50+oyr>6_^cj-+i5MWb=+yU)UJ+~YN522)1!D6F0>p>sg?M^t@LJm*sK}%LN zOn2>Jw>>G#AU#hVC{iEfkZmKSJVz3))6#;kVW42=wLb%{IHm_GLJ{)%)6Y2_ss(H4 z0PW~9DKnl0D9Z7QT16|1j)3>4k3&ra9tUb%;Pjxl+;XTRAk?9YF4Iw!0}3fldvvH^ zI~@SvdQ+PX_)`Em=AXteDp&&kc%`QN#Bs;9KY~K7L2(kC2NclQ`9P@x?Ep0ZJLLn4 zZ4~9j0puV!;~gksO*Whk1xpKd6ZEHNj1IKXigNU%G|-`Of^kbpjB!r`){REk1?ie~ zCUcBZ(h$x^3sZg2GfYwe%{flv%>dSeyHmKN!0ks))tO1L*zeHL6!zwWN6nnCN)0T# z7B*ov=M-)qcA^2xVAO<;J*zNUY5?cu?@tOx-sYG-UTIZ{9+VE_hw`V=C||~uh8+a~ zsP9ju0ZHUiV2;$kHZ#yxV;abJ4aTJCFa{~ALF-NfocdE>FF~46In6edQUOP;9Mia^ zKPbg!{LO8k&Eb9N;gsT&U?P+NqmK2M#Nm2WfPAODCtlQd;-!sfAVZAjBhsIf`BP4D z^3tllIiM3BDaC;KM_OhNZj`u9z;_iE7_ulJZs7XUxj3aoT;=%`Z`|Z3-Jy=+3H+pp2S#Bb;$k`v*Zd9MbdNibI~Ase%`$N+`xCpduzX6k?W> z2a1L;sP}ED4@!p_sTwUI-@vMVE4a1Od@X%(cQVGy1DMB6?T!Uox8gu6miVs{KZj&a zxl_0DuQMMjQ)hk{{OvbKP}JV>zjo3dQm9^LV(>8ChTwWu#F|T`(f;;$#an|hI4f=w7Pp^nL;BMcV;yWa>~eU`)R55Xh7bK0e{L5Gj-)yTDGI%`6MZ_CtH zwI4bvHi>@cUbFgp8++`jRp{1>rW zS@8hdpK9m&w=vP})JgSCD&$^E3on0} z70hu)0W9Bm0n&-m6$IeYPv&1oVH5jRt(-2)a(^*R5sn*pFv%pgCMp|HCQg$ zJvvuYdv|WIh%O%+_ye_Yx2f4<$n|Tu#4*H9T~`&#-`>vl}~Z6!W9saj2i2OtYX=@;a9kI`zkjL#d{u~1QDu5FZ#t8u4lnM5V;b4s%0pP z$?ej+4-?#_p^fZNHqrAM#&4TqpmQD~hBBT>`9beog};WTy(8?$2zVq^+SaHX2_|qo zg>85zR{Lptb@^30)4Pf%eF|E}i4Koss2h6`gH<%!WEOs6CK&hh70~MT)9QEW3T2TA z&1=}%S=bM=Tr!4X(=@L4C*jcGCeti_(k^a*bz(mZS81kM>9fj))j4&?pgRwlyVc#xL0;OL`rZ7OSE*?q%M$#h2XR*K=8DS2ZKJ}6 z;17E6NW6clPclZ<>NA17b;WvYll{8QXD|0gRQuwSrD8p)S6NwXqDO&%&)*)k#cLjZ z#hx>ffybt6qKbFEGDkV#I0W~s-B=Yxffp&qBCZxjGt}1bygp5W#UR6$$ZqxYPlP-z zZRGy|Y3e8C#zuQri}*s-bvB9=8E|uo`u9N7e2qRhZqyaq$nA>oGiv<09`0K~^4$2t z;%|$*J$K@G?KGqSTY|Dy*NYmX1 zg9TLJirS0N@as2oy6~h(=k3q(fC#QL#&T`F`(?Mt9ECpkuJcIwbcM8o9%BsGIj`wn zZir;L`DKqKK&>NFm77NGSjzCpn^3roZrIO{^-+Izy{}O4&xvmqIAOGrVPqdD>9-Zo z{?9%HvegP->Tr?efLAMkMSYQb7L#LeuuB+7cI`${-?edKF`E0QwS&u(j;H4fd<44G zWNV3S%n6Qo>0X=RPYBs~O3Cf4NSaKJeGPlRk2NcsOGUS|Rr&Zk5AfHehCVUWWxI|t2qzzvcrW@I#3Pfb z>t4a&7*%9jh({~H0*gv)q4iN#iRJ$Q6ZMzVCJ@<5BP=*8*jJ0` zTE1stb(u5#Ror;+9aB&{ISa-sk<&DoqGOzHJQ3Jer-P?xo_%TAlg+Ee4E|lA#_}( zkK1dZ=>8#FMY1x%5QQ7=x2<@f(e(@MNgCP$$Xk*t)cj91)wYAYd#xbLD#tWq+>eAuS=L&90XxNjwU^NO0S+QCWcbc(vRt2$j$-9%QeO~0rZ&8c&ZscGxUWux zbUtqxQu5_GTPPa-swWw(S@k59L@I)GI5C*pB2F7_7T?xQ!#-`^7wNHM?)8q>&QR9jBeWsvA0E zu}WVeTRqM;fId<0S(*d=qU*}WN}ral>n#ix?FyfmFUj?;lfa*0zOpEYpJOd%*C(giUAvf~P|cnPdd*L{ zR_tqO#iZX4QQE70hUV7q?NMb)_w8NIi=s;q&D>@-9da-$YVzK}ZP_LJxaunT`xd;; z-@#rW`(3x$S@1yXTYf39Su~$F8Njb0@NLzM8j+6K_cng*dzQB#mqp{Q-j(M2HyX!B zI^;e(byn4-4bU}QYmgC=K08)r(b=s|y|2Vn6w;OoHSdP9Lz?>!<1N&F7w}e*c@itMvPT{dVYF6|L{4Xkd`ur? z(o#h{usE-pZIVMLn<>aO^bf=-uX)oW+hno>#w&voj@k^C@tQb>)AxrWyx+zJX0ZspK^5KHPb#08 zepAx8zY*H`VPyNt*seNy9c=RZR1I?+QgAm63iYUTg}Q+U-3lv@mqv(%y9Wdu;=Kz) zo9z%P76V|dVhr6+TKI{}5dFx(jogaj6&d_V(eRgo#w2_ayxYuT1 zxz&t`!rHpUs6O+6dRJR&6~*45{?Z^E0!4K?bgHh99zn05g4FQpMD(Qvph%ty*e{#EVT9HJ=~99NkB(C{0L653@Sbe#TG-9}oR)2E@O@T$!<4++Kz z`?0Nb3#H7n%Lo}9{#DL=4!IKeWujiH6j!P$r0b33njbHUg{FMV;>%NSr~-NB zyKfIC`VzYORtLmIhT8As$>z5FDKL{yQSDtvA+EEt%jLgn!0}voKt*atpS6)xd{_Rc z8UV-e>z^?}71-WHs6&rR;(R*5&Y)MKU0bMC&r&H(*d%cJ&&>wo&{s9#_s*o4A1-UT z)+`z;66`Q5i_pw#c%<+%Q8%DK^_iW(UnF*@=MDXw?A#nxnA|F^Ii=J#M`GUNrE$H@ z4>4kV^~Xy09T5;|i=KX3@b<@@#d|J@2DW8yt$F~NOLDDRV!d<2ahdD}MRp=&V{7`kWF$V2=4N}wbE&FpS7r z-`Vp}`%i{c=jAbsSHWH)9&L*DCyM(Y_HDam(UQ}$s1?tMUg>cr_^oCwwO>0JEHhs| z>nbG&Ju%IFLGiKy_K2k)-Nk&ptB>4#z4)g`;2S)~?$#7C5$RrGsmC7ouTa!cl^^L| zUwz47dexM2QsGkz>sBIi(G((?F4W-Ft7nb!F+d#Dt%=lEw0LUcewt$TuNS+=+PLTq zdgp>!Ud)3;f=4B+CfohJvqaz+!0n3F@kOtbFnnV*iJ$a+r>-b~Kz`S-4q#df31j$=R^8j`>j995e(Rk}tUY93Sqqa0O8XDf1~jB`L8SBRok zf;TnGMvL;3(z@Mm_u6VW^sX`h?0_EB6B9tk^PygxS95!bG?DDJ!A9)3&q0dsVNr3X zXWD>~!6FjdRP$2aDOfh+G~9W2EC*^P4C8~qpccl~j(^afK9!Y+5;iLKh{t2EpsI2b zw=U1X?Ld&Ru|+%T=8HbdUk*+b?{*BGsqi{{)rR!yXZW*}CpHr`3=+N4_*+=e@37^iSRj4lVQ zMI#d9BZ`xF;4eWy3oJ4mW1Li{A}}g2#ZGhAwMionE`g9Im!G|#YN@C;=2Qa|A`{eO z=~d=(9A}a$;si6FA|83-xa+B7A;#=`S68V?ve3x<3~(#UBold$K7L&BTT(_f7NcX> zrMGvjtp>->yxzS9WWxhWo@pN_uFJy<8q4xkR3Zygyow+ZLw2gyE4{Y##Z5D9akIS= zrz+?2u0yKCwtIwSO5h5cuggq_J@zcJ6HLAV}*rDR6LWvU6!ltgL= z)_?-PrDwT$9~sSPN(Yn*^{R^z3>cm$0%b>3+uPElP~>ev%@KxCxN<$}G=JU~Q^%zM zTaE?`mp_FsmQlk4gHa^lHrWm{(yjcSv;j^@SV*g!)81Wx`t}u0=xvlRq8Q#|ymb@- zZZgfo_v`IfAyf^vF;zr+M<<_3(9@J;xEZKrt&3=rD8j8Vkt5-`V_Ojd%5&PWWf+;C zucaZ7Bv_baVy|2k;8jh{<_03I$Q9EAtpG$DBhvzyTQw|k;RtRisT^haJtzUn-qj&O z{{SfI=|d+%Itq~(4th`p>v#gfYtQv-M3z@VGHcLn0VB6UJLR&XNvEv??Xm{N&vSkWJ1hWf-5cv;{b-Prd&Oy@zWK_GW8(y zKpGID?i)u#S~m_cfmn9_ddfNCv}eXgGyyHFn_nG0>DQCSeo^xprNV-kRy2efi%k-?+t|qd&V!irQ$^cQg&Yh_phaB)L)qFju z$23?yMR|SvYjoz}&reFd;q64i>mGa76NynhM)V0jalkds$sWVzFCwc8C;AS(gug<_w2diDRpf=+RkJ1NB;mVKfhl0@khgmvaRs>TVcnw zd;$9~_@?hfy0@?=CN@xgtMrS8KoRi5NtLmvenmpR*@l877Eipj^d6Wd}rXTMlCbMNfZ3P zX<(why+19O1pV9$*DXjLXyI0gq63hoMLz>p#zMA+PG|VeUsMp zg6(X<2i_ItWp+-gI~w)5QDs6pj8~f9#IWA&Ugo;d&RC3u#zz$-FNroN;;hHyi1PU9 zP{jhQg_XVWKn2>fHbAP&7$XcmwQ_bUG0!zfM0S?R=BY3$#(^d0kyA@9GONI-Cp%MU z?NyPEIjI9cNKAMsz#VH9+b_pa+O7G{BPdT^n5uhzVUhUNpdFrh>q^CVSMO4^5`PHF zj`dn!yR*M)U{I119Gm0d*F|Rgp;IRqtc5;#*}&Ucp**X1EP2OD2xm;QgtrA7JaJqW zrz_1dd3htHXB+#Kn{Z~@y}KH_EzFX{B`7y~dr(!3oBQN~805zHQ(M+LmAv+X?4aDE zky$cmX8r>@@$Ff2IkkXUz&_~1&TER%5wN#h%_5eYq#4Wi`C=hPZXX&lT3%TcC+loZ_W#A|+;UHi6Q!4r9!I%a`JQ#9>1+{bVcd0zF?4TxrS;-J5YSnxX6vsyfc!Y7Nc0=#DC z(6+7+Hw2Sj!{O_gp405#^3iy&A2WJb^l+L$Ul!iXz8{xqz$wzJcrAb8Ujq@@@Vnc1?I)5n`G=)?Z-{lJ ziUS|rIIkw%HN=e|=Dpkw$D4?cBns}s(-m&oSw<00T3`|9_xxk06=51b^_bc^3|Fdf z8cPy``}qOSYNLENf#fz+a7A0fMQ#i8o`lv{$&%&B_7nibW|0gJ!c$qIfiN3#{{VKa zTNN_-c==B`HB#*d+cqkVqqP7aklI4m00j-vYOI%Se4$kEdsO57+1)7IWU zGI7_DKpGl&O*RtJ^*t(k8_45%WRv*&)^zMH4qV{}0~Gk}Sf|U#tfX4lwW!MTVe|6( zdsgLwNA@4x4i6Qa@U*tORXPf(Yb5XxjgY+nu6aI&ri(*H~_?&5#2Pfr{q7 z#AP0AhZ*TtpmmU~tV^CbIIQG0R7i(2PCkOOWR_VZWQ^l)YQL$5R}rB+dQ~{fqUQv; z>BUq5575xH>lgdL*6ycmBU}cIaC_0DS{Pz!r5I-ET5~Hy51%39(y6f+4Wvas-r$Oz zZ6dLc%TxENHl9gj^W*!zg09ILwYZi;kLgXl04<{_5qlc~WKu?^fX zuaf@&>iY9p8j3(qnG2J?B7z%bJBu}rR+JshAji_GM{gy*WSMzA4QN?7xRF`TdE&M&;|!~TkUEOc zHZmh=N`ahbrE0`XP~e=LaB2sMBefEGcBn%=$}Tt^1!#!e)PgDIg_#EPO9V21%Te1+Bfk&(4DmIH%9H?BF)dyb)1YOqQ}T=Qtct1lMrDxJNi{)yYb- ztj49*{Vt_iWIfQPYb-=BA#mq-M3WClU%mQ#eZM8#I zzJDWXbUu`sF*)XBdCFU+-f(LCOEhx`6z&b$vn=u$WcBY|1-z>i!NAGI5gRyD>f_VSN`Z7s_O6Zeh$c<* zoHZ8$71xzxAdH^Xy{Fulu`&^Z)K(p)jR=>_kLCl`tWPwE-)D?%QR!4R%g9}i+9qF@ z(z*{lilB*pOmwbh)_GUtal6n~fR;#Co-%k864C$A_W&q8af(l2M%GL@M&mFr{l#{_26bi$zGunm8I2{EX+t$fVo`7!R#Ec^N!X)NFFb2R@xB9rKQ91`BQUr;xpkNS?qD4wR#w4{A(tgGd8r zg03$kp{H&nXB6IooDcBQ4Fm^0X;@)~I#LtJz{sayRDxso553!^BCg&?T18*s9Vx(L zp0tJ?deevjd8U>N$>bVpIG2O>YLJr^a!<{`?N9H;B7DiUr~oelk_N|Q4z#6vj+C5Y zg~%AE$}#KGgTSQvQuC7hFpw}J*nmV!Saj&QUYTK1En~YU!^mxJRQGE zKq)yGr3yCfrms?a3UKzJfYKP9y{bmY07ur7wkR211xm08J?X()s_-cYJZGt=at0{^ z9ZP|c+L$;1Vw8YtM{$4Ee9!t+zc1bu8+^lWN?5*C^7?^L(EdY!U*e}03`9evMBMOt z(~*Qrx&HU3wL4fe9yr3&kIHdOM%>$&aZVs-`BWwe07Pu(JX4A7=|>pFE(HdQu)Ox8 z1Ndn$bHy(dhM2UQfTbA5?$q`2@k+y5hEx%brjUS7H5pvD%087KY;_nktW~TSIO3lO zWyuDR9lZ9WUCeT{F>Xt_WaRL|o4X_fKvBEWoB--SDw1ueb>MfWl;}rlh(6PwN>Cei z(%4p{QDK-6Hq>VehNh3*{@@MR?@v|9D&2cj3M^JR=9V_eD)_}9A2!$RNL1&JDHYPg z!kErSPSkHCi!q4wWKok1TPDnV7iwdaWZmVUcdOsP)c{;deV|3 zQQti(1*tCJc@&2u<}`tEK^~M0cI@EvpnRtwQUx4mwN0?(W0C1l#+`;02a(pC&9@n* zvXyMpv&Ytp6oYmM$9i02tu$mN8-q^%9!((7J%Hkn@xbXzobWqRh5jE}mNe`j^q>y( zxK%Wx>C%!I@$E~%`qX8%4a?0q5saV8h9SeJ6l5AOIs-`9EC)a-1Guf}Qe%%yQZQCb zo-xv!xa?m_3QwURr08)%oQ(QY%7Q*xhCZYA>>Tu^2AZxu?1Gea;AB!5^*)pXwt%E^ zMK8;o5sJ*ErsMI&CUP-L$7%;&CHxj~*r!+(b+5!1`QodIh=|CT)D~~oj1GLnDfb)S)#~7e4(i0itjyh1-*I`91 z6jVL5EO6;V5HZCxaZXYc?yT%mVyj^~b4sc<bBz zI+_kPf!>6{A!0mjJbF?N7>Z~B_r@t(3cUB}Qo%Aqo|J_E#!e~07^ZzGtA<=ZS_VkV zh5C9>Iq6JQ$I_kOj+HF5hjKbokYgdKz4O|fIjIB#*w=PLu&j?a)&0U&exxu;2!9 zM@j|=$mCLhDIr*1I@58}H1mbS9-frq0}PIWnAsI3dm3764kLzk&LeaG2D@eP$ z)L7CakswJ|`Bq27t46r+?5`JC<0Sn6t;kB50-m+N{8{mQIwpv8{C@GlRvyGxk(xi< zo{kgaK0t=RPyUtt&P`sD!ruNM(P3R`y`9{5Hu9K;(0Yn=7e*M#10i@7@-f`{7_L-v zJ|Ypr65H{`L86;W*c#i*DHdb{B72i;-sT{6RkH9peFIWBB?lg2jQ9=8!lxsp$p z<=|J7Y92h2Xk?3SB7TI5^trq(B)79mudkm7sm^mAuyHnJSN{ych$bh0+b=XT>k)ey?z@D>Fk!u5);cDpIXP% zJiR+m7fBZOQIEp9jU!*Ox;u7&M^Q>s8i9`mi4w(X4kXWB)g{_BkZ(T*yQyvL{HMN+ z20+NKH`cWis4$KZwDiSi845`1z874}H;76g%w>CaudBR6;z#h-gwwF!@_eHl*MfW% z(O}V--s-297zEd`d_bDk<3>e}OpF};E9CP@^VU&5j{w|hT=_dx@$LSre>27zTXz8T zsydmymc;$6DL;5H9je5(_8M)}vdxJYoPq6EV3J*O(r7IqFSSoj)z!$MO&s-ODV{&6 z-l5avfDhg{AbVFIr)b`MCR?AG*R^a*r|KsD;t>lG7bn`TL2Z9+6D)S@z>MawRa8zH zVOuPCTE*^KMvb_SJbfwhX}7nUlyOQxh@5lK3Y)=8F==6F%xqZKpwFgUNoZnNb}=7+ z=~zy>I_TjfeKqi}UD01hIyI)mxwHWe0Qs@$R5jgmS(5RsF2bVZfsxw0N8tX8;u~)h ziMBkDD{{l2`q$dG-W=2Qg0tMlqD%lzFa>z{ii$5o=sl7H+Fq+{(V`w7 z)K}5a#YLm%v3NHbXmOWbVj!6G10+|w{0!Ej)!CqdNABMTceQzLp`w{rWH0ibF<#yK zJ@^*uLTj6=r6Xk%t4deAA!5W9e<~o;#`EJVluf{pYQ6ej(SSv(u!C z*@RLR>fW{1>sE6|VA5Jgm&Qgb=Pgdd#JZHsE{nQ@_j++&-3F38981*l%~l!y&~N2G zXqT_8eOLQA`C6P;7q`f*G!3-@9R+gU82DX(tiWYxe1t*YqgS_lIQV&c;W_4(FZFVg zThp4lwJvj0jhR1>EUa}Ie$@`fmpe+XItuX(Pr)fvcems5_ctk17L9O}L!)b0tpC8ADF zeJkAUY+;d_OP4CV;Z);_@;?P!yLfUN-95f`7?1(b3hLt3FK@@$-~^t9hic=+MPEar zi_qxxi<=lN#kp**cLHfNtH*nAA$_qEgIM$Fl1UE9$#yG_dm7>Ib(_BnB#^oDgN>>O z@YkN>skLgYM(2}!YP$=2}I_>30UwZ`JK+`bqifa)<3W!#pVsHy(?(xi(_CVhm0@HTn&x8$22fF z@}E6F3iWHaMEkB*t|Txvqo&ao-L&o$P`a*#*lvTj^eT{R$S z%ev!m`D>ykEa(!{$EWQ3$_HAjW2^`m*`7u_)2-%`JCSPbn3(kR6~8Zq;-1O8o+c-9 zu=J$bHi^$_a2v?H#2i1$J*%73t#u6_P>SX$GEn@1Pap6q=|01%+Yt*ARDUYiv0D$j za~O=LQhU(aHG(>S4PHy)7$vjS3JDpwZi2l}!ru$vw7pCI9f!@=it%e%ZM5s;^2Q^6 zMSTz8{{R}=kKJ5=v4y}tO5?7(9WYkhsqrkWm6D5S)e8@s1Jb^8p6RaRHleoXu6VD0 z@%Fo>Us^KTFmsM8!e2=HdnC}emO$iIn04HWzC%0^Vz$?WQ#wYu#^&!|Lu;|J>EPSA z+qa)XUoYQichI=F40lJ!#dHC%;@UYT>9%xi1TmOcpJ^se}PClvl7J3DQ~kq01FOm+;KgBd#Kis-GF zMofo{)?L)3+zC>HBT87~Nb)cU992Z#VG>L@s@jCiu!qfN!>AIi8yv4;R)Eu-hL3c7 zW73w#P?gC?B!Dqkrs`Hgh%hTlODI=i`}CSAGV^D4_57<@e6wg<7~{QCRL5Ea?gdHd z+OuUIe|NqaSjX#Ko`*NuB2wc7S1GE*(apFF0&Ahtu2F69I*Lh|mOMu`=)8byhLJ)h z&iJj3N?9kDap)^D>npbd_-e?J&y?RHkM5f8yg#Tk69}`4}LoPC24v zLPx3T*9`tFuye^$qaTfZXZuknmGIj@m3SuV6Ortqz7NoRLH2(USv=g3$ zu6!lZ<$erOBY=BhMJN?B=Wi94li~DIAkHH>ubypYD*_TY!0BH|>o(UnKL~vIlRIHK zYWXis)uTw&oaf5`6{?alf!EHGNf($8$~#v+(*rpE=`wu*5J6e7Wc;G1!AtZvlg`oC9PwU5EGi+`opD~3;HlCZ zA1Zd_3gpEt4y-Y!sYfD387Bi3&-jtVdSbs|MRZz>=k5`eJu45yku07cV!YvndC@%= zvCfHOxv>(c>(ZN}-Yj!@dBMlwSr&2uqXZ4kNUX>mqi$Om?^?zt4o6|C+{P{xOu^NN z;C8Pm_?K)_+6mBnh4`%vLh?qqRYpCzsC-r>mqLMOJI?MaXvEFPgFwXA7VLVhV{1}I zzBJMtwl>QT{)8)A!{o=Ni5Inb=Z@u;*IUysRj_>c2OsYWiqX7UIw-qMAJWH!FJ6BN z=~6^;4ZJJ)Af@qwlV>0Mrn!HEw}SiO{*uxk`C%77@DW{KiKA&DDo@IyzbegWTB~R1 z*-N@d$DTX0f3r>$a^T{=AJueMTe%)kLvF9o-xt_5#B8AB74eUa!dl*#m|*7uvA|DL z*2Kr%JR0{(Q+nTCD`Lw|5Hh#5R@7xC?`rTvRF5>!$q)^kj+O7idY%lHr+uW4-ze#f zS0C}g9#0FV@8J#ntE;utkta`+JPOG8vk<-Tn=$!zp+BW|P?n}mXmLNYwZ`o>>JIq> z^si`{j292Mj!k^~`#apE7k3uK=X3u6O7@*{^Jb;71_o>CXh%cjG0xQwBlw01n8-&R zseBtVeVYfSD*ph)3w3)BIFZyG|3O5}};z9OkopO0O-rZ$Vb=RLOL9j`b$F z9{V;UurvY4cxj2dKm~g=qS`ppM>%YCuNCmi2=9U#^$m>8l5>H@XILaw@f5y(nnGZ4 zUOj6!*=`qj?_RHY9G5oCfMXTqlRyRNiMr;YJpu=)SzJ7}Tm33#xM}TJKW^2hpxQ_F z0k{rSR(-{T?r|Rixt`{S3v|U_E6`V__-|8;>82*HHoH+2rWfm7FNR9&Xua!RfOZce z7?|gZ@?B{QT{8}q>C%{jY!&BvnuWV7>r+o~FZeerD=Lm_(Bf7yk2rU)HSpBN-t3O# z*QP>}%{bk_IHgl?IIkCs+^dXZHN{y>vEHj1?!0FX#~zjEh*cbM*QH!`1JvfcF7T1l z09HSWn6yNp&=ySiI5Ct=o@!$Z z_zQ{j_r{w&x@t^E&BiO_&00Sy+n%J?+P@d=h0czwKZFYSt6FXSMgTOh@7)_b$5Y{6 zysJ=O-ZgsOuYine%x|I0n}DqfIGd#ab5mHN9Fa`b6sZ7II(rbrPzE*f1eNpFy(i(+ zo9)~S{UOrj2GF;P}9*yf0US)fekt~jZehxz$5#Nbd# z8g4ZMG8r+{ibpN?W9?3g0yvqrc|y25hB)%aYUnk)!jt)Z0Iq3WX1KsO z712!?$?8uOg)Mxbd1~)GJEuzpznPx3!dOEj*Xo$eV!fwNiF}oYHNXOIle*%c!-%x*}L4xKSju*bb<$clbl*e0n+uNcAU>q^LFcH*9= z%jkO4eel#DLVlFQAq~qCJ*qD>hQR`)Df0T7X~5x!Gyxpx<^V?kR2VISoMNXrBd^O* zk~STkXaN|O`@MV9K?&27QAAitx2-+IYTHzDde8#^!-hOmvoc^a4wV~Y9ePyHu*Nge zfGaeDObl^RIsnr^EWa|2yi}@C9FLTArb!^^ImG}qrA3bkP(>TQam6eVi63`iS7z9Y znEwDu0In^LdFU!}7tAtv6%d`3c@!+0_-~X@1E(9Cj&WA)<`JL_zm-tjLF18Eph8qP zZ%;}9u`mtvn=E)sxn`D>i0|GDl!4mazj#i4&Yv%`RQ+kz?-A2XPCavsGwrtQonW3oWxeRI4f{-#k`px0?R| zyW*jdS%%ZrfGst`nSXXTs<(xiI2b;(TO+IBjw*Yo+((i5R)A%}AaC6#<5c5yg5)S~ zn>9pSOKEYoL4ZyLSh$WfB7a)vluC*18XeNjZlgS?=8Zt(HOP2xQ-M`rCk%e=brWto zgY)TJ6%~pzfi2U4S0c)B)~b--Kq^ITzc8c)>$~MkeT&#tOJs)PFw*nrD;jzCJ7jV? z3f<9S4*_={g+c?U_+R2-q4@sZ$3&WVLeW9(z(wY>5yM|c5>^M z5u8`7c*-$ltw|fG=hC=+UTA01ZXm!JObYr;EbmPmScsnp;KwsS2i-WQpe%Uw#cE$c z_B-3tAmm7P{WDpXxQ&Tw^y%zy8H*p4tXoObYlE8l>q)*BS~?UtD4-hoQ&hKSi_edO zyym^P;ijP1dTU$fJ8%tUSr(bu+z&7f{i=O7C3%iI)rsN_l^&HYk81YviJ$J~xn^kt ztF+V0FnLbUyj71F+C`{%W@uG%RR|SE<56Vk(zGn@1@*MCHz-#au4yB#o3Z%~;yL8d zJWYEV3>V-6I)9N-+sifUqcaY@tJ6L@_;%Y%@g>CSptFCUIUC z)Z^52WW0nn3I*o5No=Qio_@>gQ+z$tV7~C=5=YlKD_a-H@|RQ}BMz0KIV${TB^F-b zf^t7f(vBHpVUypdwIEAae|Cg!92%N3;kR|gBn7!6Y>qgptbiUk#cnExw;TGA#dG&+ zN8RUbT4)NlgXGyU(tOG`?WP0{!9G++>rh(}714jZjA=Yqq|K?>C)u;QFPJEz#4{#cLf%;SM4c+cH!;eXUQRky z8$BNCD?~0Z%sErqv@IfASqv_AB}Y*xCm;b?$VZsp$Rd|$ z9GcwHV^oODIcBbVQa@;)G4uwyeJE_U1^7{25i@(7J><+ag;nZWy|+cu4ZXr$FWqRy zMR@bVkFKPOKZ?GGuo#6qWdN@O9`&*5(bAd8_{$9?j6dIU4R+R+>lU99al(Hp^Pd-8 zAk{S6eB}A3itXBKuO%RjF_p$^%cZ+Iu@L2qPa)Q>-uqW*KjoU_R#0V=cCRP}%mX=jbqopU>8hF;#7jbXWfG*Cc(hn=3 z<073JpkPVM9x2xL!W1#T%=qDHZDEQxX1H&gvU*SfbqSQHOdY+dc^E-!mh00M2Mcl^ z_)R|aWp{rK0B2i6B!!uJcJ!^gCGz&}9E!$qI$H*dj%vlEw=-c+9<5nPShca+TUL{Mc3`6qdzF>D^lL#+hRylac%(gtou8AcXnx5GgjTA zTdI5b%bOuM;8w<)(6IOdkZJ*mE4WIZa}%K;lC zT%Sq^X_!`<%Wi;Rr!}OSlE58bw+AwVoc>ix<>9vl$1HfL(&?@(3jNet0K>T0 z!HN%?J*rzvQI#@%@z3E-jq(m7;CH7)tr_!=M5~A%)7e|38Em(okPR%UR@ifIR>|^;eyKD zV~?&W<7%!4BAT06?ma~@7*~@o+jq(7ie!a6*w!PAouJ?h+AY;ljBKIrRN zQV9nHZT|oYu_kJ1p(K%jVezl!=*`#a63_cz{C{f9MS@Dfl3Bf z6s`fZ4!i+QKzg|2wIqsmQpVX#9^EMbt}sET2glqTQ%aT?%}6k*iU0vZJ?S{0ZC{%m zDaVtzepCxygHCaQz^N2`f|xlxREHE75T#R(=}AE1p{o)o&hBYVCmE$5rAQ7GQi@Le zQDLDE0;B*UaY(8U2BX14#X(8*C5!=y8l=FH{K7aKVw=$k@7kFj=HSo~CC+|T2M4u9N-0=r*f38ODyYT{GrtrHf$lqu?CnTK-km7`9jW{C$4UxL!h^J6 zQgNKpk?Bq8NsGvSK&OHgcE_7nvinp4QyDH|B42=WIs4^DsvDaM)W9@Jp}02dyVNdEvP)$31;te_+C%hG_@WYAh;DWE;m{eD`b1q*V7cz z0X~?g_Tr=zHPisb2Rs45qndZOY7GXG0v|86Nu8<+j%kVjI2{c*98e{&_6zhho0)1T z(3dRVg-i!EH?Z$yHCG>crCb4;W_jj}f!2`vXh^=IoVXooCI0tnka9N)l949Sw1dy3 zM;FL;OUXScz~hlm-JUzt3|>cG)X?1f8W^?!Jt^1$cXpr!3&#|L%tp!SLUij&eqs>x zpa-jN$UK2ay?1_8?TZ-Wtu$k){3|isenILfxWJ>g6m!~v-EJxzb3yCH6yUsOf!I*E z=8)!;{J2)>N7JQEhDeBjh9~f*`Fj|%cj-y(=|?AukQ5P`G0#2eqY2G9d7vB6dX2*a zpry`zg&ROPr*8bH4VI&nV0u!Hyi-S7QP+xx*azeL^e*5I+EIWoXwD7?N}HMwUYieE zRRe#`O#`MWaf4Dj4`%tWDM|FC*`8=#TW4xTj!Xm1KLDO73XJWb-~b0vNLp+-Kze1R_*aU6m_YMV0q&|CMkbI-&=8;#c4wVfS zhjMrneQBymr(=qiF@N2s6;eILA!S7b53MmqTRp2GwPHc))T1P1(Ts39QjUKL2cXb7 zT(kHKH;sRP)Bp=UsSe_WubGQN6u|GR(*k^Ej0+d?5W&G1GRD*$kjB9hK|N9 z%0>>+UQe~xlw8>t(Ko* zrD@_z7?B;|!3*7puL$^U@Y2@8@pWsdk>?rm(NAxsc78Y1H61Tdf_rxV07nHwAg+u> zOX!KC6AMr9?6Y{0p6Lv6%-DQ%ucmGMG2!&HjwtOQeXG|Uv0fP;jbqlXe!-^Om6ZIu zir{9wZ^If(CAo)KpZCwo{P@7HE~(v4nlcZBye~ZMb8dnsQ;Y?`$gEEl=>|(RhSfwy zJe;Q)73^158f~OGRsbl-B=t4rdX?1IGDwh(`?w$uYnD>7I;m4vJqzLfj zF5b1jq(iGqE5{2Lj7fu^N`Ho}X8!<$U_!`Ka2#U>y3HQhE$xg8n4I)u-n`1SZhF+A z%5~NkFxuLzGZ47xis!Y_r}-~&5dpEuterzwYdDtHaq|Pg0XcNO^PSJb?FJ>=Z2bH@Ux>2X;J8||>5 zZof7KcXw$5-=u7y1yh20SI++c6*Y%~=}w+XOq?+vcNOhXqTYv*UP>phYkn-S@U@y7 zGK^&Vsn85o&w>0-`phyjoDz8*tKiLNUevXjt)P+11!J@WUtjnZ#!DS4%0x!Qk*?r9 zYoetdRB^^ftX{|G+!&bwUVzsF;(rChHNV=}1oFWlx>u+KSrRhq&Ozg~d2hup7$jmn zF5W(0N&3&8j z_d}Y)OKYp*Bo_nBLD&lNkBAok0BqJ?@q(_^+wyQfO74YLm5y4GIxRZuMzgkC8+hY| z@q($-6)u6M$k*~rzbbCy9Wh@&ys|?p`7G=Q2L`>fz+NM~Xja$D41i;i&2rS8&8g^n z2AiQ9=}!I>dUUUwJ}}!09c3+Zu~qrUrG1N}YF6oLph*(*>H)8semm)QbLsnP4%*aG+B7d?~l{vR55Q^s1NE_m^A@1p}etw5_z+G}{$U zU8HP$y#O`o##Tp)m66=&x_yqPIJ(B-wRcy!-@4G?1>j@St@v`tSZS=;&f&qXXH&75 zJ6y=vTGoX9;~I#E zJb{*0Z=tTwP1m+M#UpJ7EfhwiZNT!plHg37*FU_q|Re)h*S<73q>H0?rZ zF|ZUP^sGC*E$j+S4n_|+71wDRoU3jlx*xn%tr2w$_VPx-cM(?x?qfEO1yIeb7weL1 ztVts{R>8$`I>=i+S&VKuCYx)iMh4f(Cypz!G0@<9ov^oQWC3xvz9}0_SR9_9))t+0 z_EPO0^T&GLwAF;je9oha2{7;D^I~MiG19noFBGP|g_hFhGEN5_tCqUZk%?%?pbkzO z&7_CmRjYf?Dow+RuYISzs}18T>sRcoR^c#ucC7%~iuv%e91&Lj*Ap&PKsA`wk8GuV z2Lic?ucwL13RVMOQM*fo{o3$7YL=TbvlQu$wMsqrpS$UwO6jchkFi7csSjG40Y>U3 zKwGh_Ih*7;`c}p6sT7~PUW1Crm`1VgZj`KNBO@hTFdZt}OeO$OrWpnWLRL8PL9GnT zYqfahj%a$tBDntmfS#52&xU>}XdW{7a&5I>7UdymV}}{RQGjdVh|y(Y=kOm|wV+;& z6J3PN%pooTP<~u@pbxmTYdEI(cKUSx0P30|F^pHwegpVxqIi?V7ZwtbkgK;iucGd? zTT$RC?=2Zhh;pEM*OPn^xO<&;;`NA(VG_1;gQ`8z(9nP{# zRJV;}VUlshPj5Vkqsvo|YO}CvcBwtN>?-z`VrGSwPB1Hj5_Qnr*tY%kvd1yY5yAAR zwdff%Crt64qO)OHY;Hl5J3CcB7V3{3j@X!ac*zyP6m|4CT`9|>Mb$=eR%FxUW-ZZu zDwl<&^LL&&&2^Jp!yH>%8Lot^U~*Dv(HHtxIpVpMH1&@?&lTCv8+mOq^gQuib>eUu z0Pb;&;;k?`4Ib7;&=KJuaeiv^ZyCb!n@q1s;W<69!o9D-PKQNOMnGS{*A?T-dwDH< z^cX8Dbm%Z>=v^;~AGja0wei0AWu>@mgjE^(0bbXw#ALSI2LxBk{{XSg;&iDdsv10X74~0_ZW$z$ z4}4d|UN<}LjE&Sac-elEK8nARjoEv@>Q5u z(NjKpTbufHjQ4=ZFq~jlP2_e;<_$taFT-T~G(p z9mg2WO$L`Fu>Gb%!0lDBC`QK;oLGbT9AdmG35mO=+g@=azfmrRG&vSWus z(ljkWe!wwTQhzbLwdT3q1y!tYD}K`7WPy!iE`^*%wHl2;j-1xFh6ZFK-lFjgKwOsF z-k;&8+d1N@TOc}{n_`4*Ip(+@5k~MzvKsWQgu4A}1I3omh<6d%hyllFt+w?hlkV|e z&E_Eyv_k;myfVsh3xnIWcd4pQo?EEO@x?_*fSxW=S9vF;d2+wV`Rb>N^zRYh3!5D6 z=N09D^2n3i^sOna0Q7GU-p_Moy`DOA{rKdwLlf@{$l_mAKkAJ(ej#%ZQSC$sgRE? z&!C{1hXbp{bl7L8nU;gc^;<6 z&hrIzlyUmk`o$Gi%ZI~NtzYI){l!qUW01|>vjQzi14?u0R=gWB!+*4#R5#tEHI<@C zzQk9iID3sD zO7sg}XD7-*^&-7rMsGVw5o4TFVv*&)GS0~UwG6>X;PNX+P*WA`gCE6I-UMYhJem;V zcNzg(tvI6f#c`U9FKKk+-nt(NPvy?gcIi-fmL0cbfk2EzRPwhqX!v$gE{c!4S-^ha z{VLaourBZ@4#mx8EL^;Tv6X}TuU!v_RK_<~IV6hFDN)j@ArhsbSTDZ4E2Y(eXgtqq zAhXSocF^%c^?NCApxlnDPJ=#g_vWTns45=e<}&42NYqAms*$ zc6ouQNu2F-?~QUCb#Y4Ss+BkYtX?X zYs2=<#Kdu4p#}n|jCHOnM7C(uMx!fT`bQiHgBi_oRC=8>^h3P0RoqQeV2y(x2imU4 z8)+vP^r{Fz=qosu%Y~SQ80k6;UF z{Pn12BO4R1y(z$rMsj_q0n#qk`A&1%o{_P}?w*xiGCaYag08pAk~&ZYX>d=M82hym zMccQzriN|XvB9T;p!}2oviWHSKJU_@x5EOt$P}$?W_&5&Qj1wF*-m&TwE#*;#@4BY zvYvCAjz$}{5rI%);(wQ#XbZ8)ZyJd4lT)-$<>oF0Q%#KEk&2$;W{`_`c=eiQBr-MvGmvUK zg$;&5Nys&RBCi)tXaYNBF~^oYdsI?0D|=MgCxiG^i0y{m(ux4D6y=DkPRa<+TFGWq zxY~yR*1wnLr^rEJKn)owxGqSi$l>jnNVp(iR=tEt6kBA*MPq97Za9Qs3IOG<^W?GV zS$ZtL>6kq;TX!G5h@kYYZ%*AE*;7CslPsbn1y5S$?zYI=ob;^=cJm3Av8^h#J=AT;hZ5n^I+U+fjde@m-b3)6JjjK@HNU>Y{_N#Ix z&y&Au%De$#*xh?pXbhNEN$2*i%Fbx*Au%4LS2<^CDZ?#l-Kxf)H(X|wfa5jm*sX5< z(<#E|ucj;Xv-V2yta_cKRwcf0HpWkI1%6ccszW-Gq!6Ij*MG7Piy^wa7E74g-NIyh zS4*dQW~;IKE%7%@^6rK9IcyFq%3!ujh}=rJZ%X=8#P;^O*M?T=F_u6weuBPygqWL- zfa99=a@k%Sr#*P+e4p`4NrO$kStI`dmf2?ZHRJKmn1h~q#eGBZheB)1BO-m~`GFPk zdLBedyrIJnrFzt#L(P&p2Ah4Gf_jWsdGMP3mhM|kpe}39n5NBuV~W)9jrr5{Q5Py* zy4KZEoKL6q6c+9n9!ah3GS!S8Y3b=)k`s0#EOWrF`p)4k?E-E2fa1LBtm=VU?#flP zk=1ezG3`s?NsN*;yAPM9Yg&8g;nR)7kGeS(%6NNGQ1Wa57Gi6aYHpp6mp^Ks4=tog ze{8#&MmZo?#`;z#wvA&yG+k@-*W+i0#R9AzUssN?dkpW%0kuXO(a7Do=CFeM=YKK02#9zOZ!jw&I#9cI^1j9^6~@I9-V zX7tb4e+JDH!4U)yz+h*keIsBjJV&IPJCt4MyHoJ5g}x2zk?MAk%+dl}42<-zuY4(W zFuVCa>erQ8HfMbqS)H%KSJbqt`C`YU2P(s}~$} zuU5MrU@SX|(v#535u}ef)e72NZa*k$bXXe9t{9Q>_3uCwA-8P#jy_s##3aYEJ^`&OQHg*_|J@F0r*tULu0#Hfz4$k?e?INo<|&4O@3A#ILt;!0AjJ& z%<|)Gt$HIMh0ZIank0?`41aY;TE?`w9((!A#yI-cvrK-)B#pv>TCaq5S4S~tXDr&H z$b;oWiua3rc@d1@fCuSbHQ~KQFEwSikM7sAGJK&|(!OgQKX~-1$3%}4@m$P&Z)UmU z&lpi(LBSgRnkMuW^B$lcUx_g-bg1 zW+QF}(?z_7X>dnQIP|Xbl&7&Ji;=LX=~?=0ikgT}Fe_g248mx*3*B zagSUI0O*gFlJ9Q5wUc*)a#?=s@tWAP@~-W_czGODSDsCp0JtNy0Aw@|8RYTWtjwUm z0pJR*vOUwP%5Votp7JJTSfZc`>2j=|NL=HJYWcDL>OPIqti=enO|62)uGt%DB_3x5 zDkSVXXgFF;O7*Ni5s6@m~3@CoMjM1sClki zP-j_$oxLbCI=?Gy10QhGM+|#^c5#liZ%vcUutIT6lFQC=sBv02s|oC5c|*_t07e_V zPo-K|B8j)T-roJIN)0wh^3C^pR5IC^)!+DWO+!KpR*k&v{sG1*E+hg`nngy#$a`yNqhMQY$^lWfWqDoK40leU^k`NwOsVrWA~WI?OU-ao&c~7t(s`fpa0VK?&EJtaT`w*n?!tdqaY2Yzp-79=cFl7+MG*$ z&}oAMihsQ!iO^HPz~+K6^HJ7-0Z-!?rc$pb80ko9j~r1+jP#&$#ZACol)QB8X*y7G zibJ~`M?BEMMgXK4&$TGyj`RxSfW;et;*NKPr@UZ}J5(~dfKUc0qFt@iflc{<4tgFc zO`{xA7=$i7#rP5h3O&y{!_nnfqE#ye90X8HCW)Tq0<_UTVzq;%$+kC&5zDclJN z;C96zBeie670sQZLqaqB>b6>R!bf#VeN+m7YwOzFttqQd|(Y1?;W98$Ln zxKk1Sd>TXQNr1h7DqrFB9+aOZ?cb#@-{A4-Mxf(iLkLu4W`u7!^V1y#0~iYZMI_6e zrY;Qy61FL{y%j<0OUBS~?LhVw7joqEr5OGmaZTDz;hX{5mLarOV)Pn*{?WknsS6N7 zk&k*{+Ieo&@s6EO@}R4?u)j)eIDkG;Kv9k;G_`|~_j#oxk+ktior5BtKp-B~n4QD} zjf+nR$K*Y`)IT>-(yarO4Nh7KZJ`)lugTz3iO(xR=rc!QflEsR-ou+|UPn%bfJXrH zN=`TM3|D(v`5x3JP}sd-_zetO0Yt?Mc#(M@n88 zbm>wrG3kcEZj`b|wZo@MV8`7iq#?0{IjNCkr{?4e2Lho1lNB%F#Yi##07@yN{EAbK zr-}=T7Mw-}G!;E~r6Gd?dQdc$!hxDL^)&6fatCT)HJGlp9l+`-!3PA=XT2%G{Au|X zv{n~^$7+*-^3))zQ`PwSh6id+BP0W9&uV@%k|~|@N~C(!v@u8&v7Ms?aY#t$Dcljo zNYE6=E7FBH>C%sxer|wur+JZq@{Y6;`wO1*xbA6~C#6aESDKcJeu7{MO!`xlg1pcG z9V$VMX4#DMQ}Ka{hi+Rmy$%O74$Tf?8wc>G52YLmPo+i5*#S7G;1tO1Mly$Q-l*c= z(;QMl9U7SjTwl5z?JP697-AG~h5WX#gYdQ-I^1lopnn3NcT>9jSt!y93sv zsL;JR^`~PWN?_Rz@r|NXMid$QUQ_ATvF!)r5vwbl(@;srK1}1A07gbX^Fugbfw1QfyO8+ zx20w@hjikOl+m8F>Hv3a((%@id(b%Ip`yhCmXP~Wk55{WhdAP%o!E|hQ$|NxQIpr8 zp|BNlqkD6jUcD(>(P^XFprPZAl&DJPlOLTZ9<&TXGs&lsj8kw4=YdiyDHW5@XaEDH z7zUaNG`xXRp?eC%94Mv4iZFUm0Ndzj+{XaY9)k4Zlv8Oy&lDCWIR$_HRUuLZG;WI- z9cjgJ$mW0wN?yHbI&`3whNGl8>c{#ECrMJzn{n3prr6RVykF2 z32@CDoCWP&3S6PejST_x-w#-ushBIi4s%^BUl25?_T32=(`Y?wkk+&|nMzOcz@x4! z&0x}_itB5)%BKoFXoMpz$IRk;t>?se^#E3B0YkuC*FAmWtu_erY!`X{D)WozBT2wf zu=W6TsWm-2?DlCkGFS`@RQo8!=u4cL>8-8W-`Xri!ZtJYtD0ij$r#_Xy8i$w<8&Vi z$#Y}WycUpesV}eFA?NL!(=u^Fhc!R_&Zd%IC#sS6!ZuoN2<5(im<@pH7 zRjynQ|JJHheYTRr{Ms@s(9 zj~F1-UlY7H7;A{qGM;Z%>x%Usf|f}Shs1y?uo)!O{yMU^)Rf{(`I#9W)$tgbzwI_Y zzY7oC9|5I?wV~>11Psyhm1EGYbiOnVC8}H}Ewlsm0;lm+S|!9*kxK+>6#@BAt}BwhhP3W+`rr1&l5D%UE`$sWcdqN<=8U&-CH(j< z-3QXSZGP(7?UpGdAmnjgq2Sv?1-f}>2%|q*^Qt#vs+Q-k+u2D4qR3Y(jD-TRC)X?; z#j6f;f$VE`O@7u5Euwb@Ra__)<`y=7e9w0L4a9(YR}UfS`%>SFBt%HnPdsovE1dgd zv~kB7+r?berGed~mG=SqR&00naukN$cQ;OzagB&`H>~x7u9nw;0fEV`>cuQ0j86~% zw|etkN*JSoZi&l`04oY_5(^t+_KEfbor_z>gJep)QR^DliFE5onGuJZ&{vV`I_3LD zRs*plJetC`n%7&MUR#0+o@;+nu!vbIhuwqI)KmJqLiVZbR81pL)wIt!rp9xGtW6Rr z^oiOj)ShvVL0+e&FpExDq~cN9ysO1mlEZYnI4XX8S8WB#>~hp(+NI3*6Ztm1!Tc-5 zJY}UtGku=oKyDiuO!JDw@$Zgx%_cz|ig`efzB=N$--qX4@%FUP5L#e4bLn2xJ=Jr~ zs`<1#Z-;*ip}5wb^8ATX1_m|7eKyZ$qs9S@0D}s>E1uDGYrhLk1+0T6UJLsQ(eX60 zKGn61N;VvyLs`_HGZbKR-XZvjq-hpY0W$rdqY)T9iuu1!(Y#gT%~a})k}MmyBlg8; z>fRaFuY5v)+WCT40h=5JHRx088n?rQOAA;;k-j)Q3f>V(3P|?tG_ISYTWPQJ$RY|) z>0TS-D7?QjJmm5C*Q{x}oxSCiwe$S4%O2vsnXfqUd_Qbv$I7Fr`c_Q}Z67|{$8xvo zkqyetiucV1!}}W0UvA4X^z^SHp7zH{zf-tmw@UPRwSPNKj7Go)TFJ!4R9hV1h`d9o zE6Tcb<}wtuc~+m|O=nn|NVR#5!l&IH^lE+~mG5M~5Mc(ke(>6C46@jhYxzgP?bsa0vWU`Lh=-6B?Frv916nJ^9tsZs%09JZZq49-S z9A=vnHJr2 zS6cu#ns{i&-Yb@eOZ#F8`}eNC-G0k#AOr)9(yO52jQ;=+-bEbFsQ^s~UZYH*v}j$_;w4Q9PM8bGH_fORUf55>s*8N|x&tz>P6l zy7kO<`jl~^^7*RPYr0`9Jd@V7zK17MpoGPQO}Ji$rjjdY)rxUYk%TzwR7$gao5{^) zSy;(;8krUFx#?QAcP%1~{MAN?h4R~#_o3b^3vJ|z0I{h=Zek!F0I0O4SfD6+_N;~0 z$K5=GPD}e(l(db4dJ51DiT5IgX5G5Ei|s$me=;-4?OK0swz!YW5^yUX;{FH@-!qy3 zmc}n31F-L1w3j-3u!tH}Q@8F{o{eVMN3jlA)-zx2o6I<7JZI8_GoaL?vPp3f6_0i| zTCh{}tjmd7Nk^F2-A>GiyCXY*tFf7ul1~jxtu&uIaH6h4T1kX%oYu|7tX^2yxX7kx zb8y{kB#wi%8`}1B>^SzR&63Bsw|cr3>sr($E*yxu^U}Q0WHQN!PDgsT zE!?w%8@3P%!%Nt$=Gdbc>5911uqJHz49BK1?O6A!-BYz}CZJ_pD%EhP&+`gHIZrlK zZP#t)4edg zE6Z->m|MvaW3^QA+PNZ*mdsBF-|Q|kjk(Qr8mE|3?LhwQj@9QL4E^=g#Pq@9yIoVx zir>mp^0#W;qcVFPO&NTa`=+RPk4lbhE#yCOa%n6eS5Pt1t?R;7(VbBItDK6PfW8Bk zNpzQrKj2URtREL!%9d;h`AmZ%wmuo%M}}=_^ZW|F_LB-a7B2SJtlo6e}MUq zS&i0b4Z?#^+eqG6#{df1*H9QFkn%-wwh}uM!Lp;ZeJw4Io|fl*rb!#hn~!nDdZwug z+<0~1?Xcp!Ldj*fWx5=k^si*o?%L-_VK4Vq*9xj-btLSUTjU8le z>MQ4~rVx1cSLg(-iuYeM2vOzda*S8iVLk+Wre?J%Ysw_B{ntDi^Q|43btO=C;EMHz zwN}$*kbKz&yqeWYYMT{ucM9#1=dF*V^w)w*6pm0jRmRe-gfErOM-|HH^E6h;=5+&# z=Rq;YF9ppI*UfL6rFrLyp@uua6m7|_)t*bTix11Ut}BD_R8H4O4^de$!=b6+sc{K}8tUVL z!>KJ?XNS}$&0UmbG}@a-HOY9HiMIfAiXaD_#HT95rFuo2Z}wD_u2ff+To(u$ zGk~Y1dd`7+9J+eM{*`VZP}N}HXkR?~SDVQa?Q9>IH%j(9t5{`$%C<&2SCZWXhUu5K zYN>(IXp$U)2SHmGU%i4sjzFw^36XQ?YfgCr83Kc~hAP+`8v?SG9<`ySO)NLdgHb4Yvy-P!Tii0gn16 z{{VKq%|Mpb3w9OYmhB{WaX;|!Uhicnn#oG^+d!(EuZfp2#!q2fijFz1zr+k(R4;1f zO8~eu32b@?hG$u=HlC}RwWCS)FBIF(+Uf3fC^Ii;$zG06P7*Mh9xaU9jH8gO8Y2<-jI2^sa9F1h|exJqW6iNcv93GjpRL zAKkAay$qUz#pu=Qz7)9gw4?y`uQ1j_N32LXeAN*%WjR&b1EvjnXNG3;ExfhpwdS)q zAZLp1d?zQ(w0>0BNXXZr33ly_X0RgwitPMN2>V`Ng*C@SRRaOo@j@I;KM(FrPXne! zZTPA`C4`=$xy>eV7N80B71nr=39V93Y6Nj)?zab}MPo67uR6-;V!ekDW(^?jvN;o+nS1&U+ zC^{Z1snLclnLWBuAd$$n8ABZ`r&j)TMVNQ25= zo#?s&FH2N52rmDzOavg%HDs2ajr7W3oIb`KYkRG(t0yYCn{wUY59w`8b zMsw1+9~2zN>0N+~6Pn?CO)B#rrD+p6oK#qN%w%(2MUA^*AzpfPtSv4PAtSC0cDiC8 zw5|t1S~sCFiPza%h+tF)ZEr#Y?EwAJS+QX7!nELwf#@rm`kUIwhGlTyH%d^PuFidG z<0=*0d8!dfw{||1qBcuEm&U`$sNK~RD)ppbssTM|zFBd==~PJJxUO@}LzBB>4oz5v zFf-V8q*hSvynQGF2Uq$5RgMoh<^beC8^5$A=N^@w>?Ru%f+zwmS2?J6FGZ_BqK%E# ztF%Kn>GYrm6hrl(MzD>>nph?j{uI_nko@NhKnx$feEyXq7Awfxie}>h1qMK-UQ7aG zI489LK0LbZVSp)*v^Eopg)Rz2JCRmZQgP-d1a%YugK}WTaqmN1k&Zfdsh4Llcg0jy zF_M1vJ5U9b#OO?mjC7|e06tc#?C&Tazz0fd;SSNsrhv7_2Bky@cXy}|5_dOBhwTpY z1W~}G2Hasv{KJ~liK9fUm_xe-9VCPwtE()t{QC!8$azifl<2BMvxtJVQcD_V5s_HS)fG=t7BvGre;L~oU^PJHd8RgP%>Ro)GHbnmhf_~$j}zAS`IW-dArTLIoAiFs&~kDDM@MWM)2K^Zs)wRu;8 zb;P=Z>=X6qE7EOoZE!oB@m_8w7GasfQt(fkUXh-Ras`h}NFn!Tn zR~cs76oLRpTH?G}s{M`=8vXwO>0P=ql-pi!<0zI!IqorAK>_5~*HYg>FP7K0T#hsr$&>0IQMptuF%V5@|j+w789kK>R4^1$S*57Y)zouft|N zN5S!^JNKX`*pXfb;u}ZP?p;FhUX}2FTN0b%_MYek#dD1bA zu|KVS9WBo$W)i@=Nj+;j%r@7lAUGqXYI&Q}%TewOU*y|>wbHgvBa6{9<7o^7q!Otvp4 zL>)zW-H)3T;z+s{#w*&qW}*!)c);sk8K%xH?IfAb<`2NEs4JT@)wOGTd(RI`Z7>8p zWCLH3zY;Vr>`xk8O$pok-2H3yH%gx4Q&+W^mA8;#Po;cC`$G6pbiG8+5#G5cekiDo z=t%IpCNdzCIq6z6qWz7^edQH{Vv?<{{)4yDwe6(>9gWE3R~tHyr@jGrqxVT<8|Q}` z{{R~OC-4pYOwsx6g55rq__grsT7M3Bsx)TX9ozo^D*aUOCa$e-1;A~?YLQ-UDhFLD zY<;-bX=i8VD*2pcNd6k^JT0MB!XY^8n%3|pw>|Ck%vSO3 zhm0PWu6j)AsSCvQ4QdEXTiG*;=WUEpt`vN|g>_djHN~+5wQ<1$NKhV?)Nz*QU>75b z!e$alv~llRlcVh?+ksiJTS(5KxCfd5u#hBYY@au!Ut}O)ecmZRMPQwHrxChQ8rFb3 z0FmYRQQothiQJgE7^$^LrrLrt@&WS-lT5Q@jLQ6bR$y1QO_K#~1z(gZhF;+DPIwkp z+&HLb4IF#VBnq~I$0>7n7-GF}af-ES?m&z$%4-(pG3S{_OxFFp(X?JzIAc&2D7brh z+iBpM*PS<7ET^Xx3qsE#N5QLi!xny6 zG`KwJc_pGh%ChubSuUV4&fBr_kD#Jz=BUuqZbhVzJh7JD(ARNqEEn*9cplZr`F7$Q zgTSo~7F0;22tXOEwm4%7F7*Uz5`?Of`AYv=(YzL2=LX+C5bVk_pc z(D#o~RI^C)4L`%u-}tHZH(k3}8umcA0Y_m}Y+&-&aR44U6?X&xcW`T-j5IN?Tbfop zqs4adPpY3Wwt%A*&s`)|_TgWaBZFE#ICfoKP#&r)n=TbIJ8s%OTKX&$Z4(ObREbq3 zF#5<}UP-STWT1~)?l}is`EyD8vB~d8*_C#K&{Pq` z8d8XURjm;Vx&HuUPzCE)AV2EQ;Z!vXX2%BsYii!b7Ci3evh^$$@`V6o+mAC1*JW92 zhaYo_fgHqkDsQiUN{zM-{tHo z#^Pw)C`a=*U>@~@b$Kn*h~Zz6I48ANxxAL+~Y55`QKZ>+0^pAjs*0%Px-cSMG z``yJl#XiXooi+!(0q7R-&t^V#&U%`?ZzM?|n{Z-#RS9oa`1w$`FU#NBugMqM#Aw8Tv`^$)N98H`kLy%XUdrHG<HOpILD;a&&+#!S4(C*n|7G;Pip0EW}Zm|Uv!R@yK8bpKV_fg zG;RiVpvn}wag&lNo|Ycv)Gtidoy~-j%&5G^c&@g?O18Fu2u2P%(*mHf9$wtyrb3}S znD{H+tKI5QTS?`8;=O7Z_XptQQ%6yb)DlBtlw+W;>}w{?!f z6n4!VRQdq8z!~pLfPJw@27YeKParVJ;(!i@lF`&(t&~7!4$NPp%%O4%EOnBQ&I_6r6OY00&xt928?BhU9Ie z=XM85Tw;JENjL-hwCtzxR9GIAxE&|}EW5r@PxK;~FgsCF$K**#{HX>h!*71oA_Y)I zKWHOqsQy!ewEP@Wu-FC1(v*%qly=1f93>{oW0VK$+od$F!ZI_DN?c=#a3l;0krHKG z4ZSIXJm(anmz-m@AvN4q!5>-y*^Km{a4|}GTvBKjj8Z;L!k&kdiir;14@!_yu;e)h??E)@ z+OpstDT5iorj_T4hO9NQH7L&At4K!Ewv$(( zk`8(bmJL{39`x;migzqI=qbYl3PWuOi@&c?N`qnCPX?DK7#tB%`FTBSGKr5Aq~vWh zm>_dS05~4hI^YS+EZjNelF#aZAQANIK$>t$j&7>3!)asc3r*JEM>^eEQUz z_Z;GY0&~`p93yn#)Q6bvzSO++px~SeY08nB0qBS4v8OLgQgPJNv4N36Q5UC5T>8^R zKO&`r&{~jGeLB+a98`>cJDOEHPHDK}m!$;<%y|Qfm2ejni1{9vrT#7|7!Lc?0gjY_ zkEK73f{^SO#{!(Ze3T4gfHK&qkwV}KemKXiGj84uJQLR#se2ZXihEMxgMreQip`7< zBNPfLDWD(InnTkfpMtp0dPC3QQUED?Qe+M(GtMe}iiskwPqjOM*zZx|o-lBFVzVg* zaBykO#wnzQ!=7oxmifDSQXPYCdQC&CF9vg~nFWwav0sJa}y{He{y&xP8DZz2qrAtPl@Oke^_3K7{TnaHr zdk+JpL~vW_N(l#weiT%+P_KjdQV(vF-J?E&q!{henIY{-&~Zyi!KOZ=O(jW1B*CI7 z2*y8Jatz=Of{bL6dQ!)<8krXz%g`N+N}d#EzE1en;zreVX3}BK$nZey39qYS`}~i* zG5A-@e;IT%@Rp>WDU^vV=WwPhaxq>`Vf-`E!u&_f+T_=EfcYHl`^(<5JUgu4e`y8S zRT{N*JxupFUq@nR?K&|Hjs-~{nO*_*O>T{Cb+seLXMoQowGz*2`eGj@ZDN(xhxERf~N3Y z?Yw%hh7t2Q-OoW-nk3h^_a9@s{p@SO0=w-SL$K1W1@o>SI0MjDlhql+bJS!7Zj8Cl zmPzuHcba0^Ylw@!Q8pvFKWhS)HEA-EFi+dH~=m)T|&U0 zVIp=L<{O54S2alUGkCiku8y(Z-L>W6RfOaX+;d*5rra;s(kLZD06%fNR|R9ES-q^Q zH_luTpmsImHz)SjmW$$zsSnMls`9*N0=BP! zP^WZH)~Cr)~1y-!HdKEOQJJDNOmSY98!+o%X`2F`=#718*j=TWh@ zEnuu61Lq)Dh?cfHBPP+u_^ZS!w;yM>!w|iP1KPf9@xO?t5(M)$AUtP|YpK2QEsl>J z#l`%}l9I$Ld)Lmo*1IQ&?-WnfIl{R zeiih;g#1F6v!#Xc2v}~*@Vr;U{uR`<%YD%4Xwt_S{p?6GYuhY!i2Orhsi)24-$Kd? z{{RrjQBhig=yc(6I&z<6h~VtA>Nla?I~da2qcCsXN7M&s=V%nQfxpGw2o9BRb#xMb$A{5!1NT$egp;G9>9c+K>UFU+#jVll?UfIAwlTQiEGN?xUkbwIHM}cxZR9qn|3)|Pc76m zc;(c5;=lm-#b5DSEw-6&6dA$l7P2+xllx9JU%D7E$8%l1_MUHa_+<)Mo`81ZnE5q0 zsPv1wT@c*Fe|I8oV0%}2@Mc)#yOQ2$v()a#6;^!%S)Wczb>bohMk}}Q{Q6ge^wS*J zS=;_vbj2%QK`2?=Z;q~QEVbB7Etw^7vSZSv@pZf(@QBNC86c{Spx2G~n_GLGXg1>R z&+?k}UlY5J0o$2*W{a9?9Hmr#M}!MeabnZ1ayr)%utf8={O(io;=Ll*KVd4oX1M8A zIBtx9cdq(pn^4!chT0Za9UB{+r ztL7YIrFjO6F~1SqwlIRbOXf2{$MB9T&#JD^PK>l6)pc*}DWz3ox41Qxr@)wL6M(+8 zfG*w{B=bK10ApLaOxx{b^A1Vpir$j4Gpc#UxU4lTtM_Y5PLuc1DDPQX`#0M@QS)aN zV@ocVF)NPZy&5N(G;+QwVm0W4a4DdwcP1A|PC5+6C>R)JuPxkhOkBRc5Kjt&K9+(RYA87=o}{lo57u6W%# z0~nyp$Uy5cUrM+w{P)J;(xECIK*ZvbJ<&~((yHKEpH6g$6=DeMijVs`IpW(9<-Yc7 zavP+%jh7!V6;j$oNf~jPE(a?5EzCDQOo!#hK^~P`?23i%KowSW^muWjX!K3?^(w{b}y%f@S;y|};;sN$iH*ep-N5IH zw)cAm-MPh8hG^uJGo~1xDxwETXt)_7qLZ0-6SNAnpClXW67pqUGuO35i)^=Y1gJJP zYK-wJTNZBBnH|GNAOokRZQT6!o|MQd=rS8=JjnRwy=uZ!eHuvI;=H3vhY&M27$&_- z!Va%&LFff=;&wZ5+8TO;Z?_^bj1HCLTBpkl!A1@ZdXAwhMqfQWtIV}9UO7)pgI;uZ zJ7uxwo*24I9q!x`O?TGUacU#WJlB-kZ8E%F2Q}7cAGw^UJXc>SiP-7hOjjlzn5&wC z#XX(Of9xDr9`ici7gokAQhV1nvTZ$3(4Yqu;Crd8wTW$F`>yyRy=TM`6JpDZq7wilVEXseCX4R}+GwhGpM(=Kt)}55daroEix87C7eoy|vx7)RQ zyDa>x8=QVM`okKPk9SXM{Ktv^0Nzi~ayfg5`K#hpgtpVUC-3IICGlDq=aMt%O@4y> zPPa#lO5T<5pN}DqDc!Nxit#Y--$&BdUg`56h$IVbaHMq==h|EB`@@6HdcM16lEmX3 ztIw@1!b#;eHrLeQ_B;xUQ(oR&MP()hwLNrNCF72lB6?!TbpM zoXH&>h;`FlSaz==$xUss*}GSS}aB~)!8G;o`1X zGx@kRon+`jA?OyhVR*#9AfiCeFYzG>sL77bb6egXJFN~)bABm1HAeJfT@HzrwEf=| z4`P2X|?86GtHSuQb%7RKI3_x=$78cFAup=T0&@SD$L? z$*2`!$2h5pF(t5{H=-zh?-kiyX}2KZlCHXs)?_!ETo)9M^B+ z4m8$2)dsPB573W+my17#AyserWEUTWd9TEM9FG%Eo)y=Mzxz4fE9mKl$>3w~u8ZR3 zzm_ZFz;EEiKKBQw;gMdypttV_F-Kmvt}X~?s%@7!qUhQp&xd#b(nmM@?Vci0wz;N z17&&vS9F=NIZo9A^dx#yEM!Qo!uMlT!b0k?B3%|<^@!V;_2Rl6axx0YoyB3t5c|w( zM-u&+D=HQ3TY7{hU9FDQhixcH6b_ZwN{nq))NzUh)aM=8e(8WBt|VqCxZ~2B93ydO zTDcmluv5qs6lcin*xWOLQpX@T3cS_(n`Gce#}y)5qQ%JOfHTE-`c?aq%z~-JtTG73C;}6YG@6j@1Y}bkq8xYi zrz~t&u4n?Zzv}@MjHLCaWmoTWNP{GvlmK+&sH!(nW&GJc3{|;HA=;-Is&^4i{C1!U z-dTT{I#rmXXox?`n+%G8r%Y9-(edVik=RfJqa$Hv7&R6dzUZr7Q@%66^ruM43LS@O z0)Q%nILw>@=}dW$a=ea|$GUmr@=by2APF=BzXbY(}V<2%%v%|}{_Nk-@5a9Nx z?FyC(ov7#r{8=~Uv88P4CA6&TBn?s%rH zxu2BzXaeMeBo*yg`rz{{cDF%SmwZ3FJc_Gv{*?iU_RU(@3@tkPWVc&U_eE+TXU=+8 zJ!$ex(JvV3TV8p9Vnf!L7Qc7_$K6_nD~z_>iM5jLh}(9 zBD=qbUMY^oVwx3J>Vl(z;e{hU`ZszRH%s*howSN2dY4<9p{&A2b6>Q?uQ z$CgxNeQU9v5$5ksG5sq8TDLPoV*}>MHPoL%qJF;q%bqWnSkkS_H|~Ok1Kd~99}(?d zSkmDKzvL_PclJ#2Owd6dm|NzF$@~R=r(Rf{Z^HioZs6rIKPu*z?&>KT&1iT=ivdD= zs}6lD1`&L_MkJC{VVAxPWES&S~k%6 zN(+SZkDwe?JwcX1k~>o^f_<`R$MADjZbUfesTJu#o_kuIZ^8XREj5p^oP5NZ`{Tp& z+r$^=10ugSd<6dhWAP+!>UP)L(MLD#ia7y-{{SlU@i4nPD9Xs`JWZ%uT$y5T^=ZL9 ztLOC|Wy9OW_e`8)(!D>#3gbP8KzCJy%Xx?QKwF0Xa3` z{{SDnI&}{V&8WmTVm-=***Ad)T)eY69<-O!t zK2vAuU#4FMyh#ntgJz7|rSj80gNppr)@O01GspL^EA6k@qT}s)B9~xHdqJ*TMzJoF z(ES+jw6_w;6os?D<;QGS(b`U#ZKcl)*5yM@gCMV;{0jiX5iN*z9Tnq#0iWmfl0%ND8WX`Nmu4`k-C%+x4vs*SzKpa7{EFGrf z9V)(G0Oc)YYh6Jm2ktg&-}L*Td21Zws|xT5S8dlL<>I|_!xw&R9#V`fU<}rC zGMYF~8AjGkHNfX~Mn1LSz8Pr-qbf=A?mP@Fm>$%O{`0=M|B2behGln7n{1d&3aNZ)qZfx4kGU6*P4kpb|fm z7o~F^DU91_ep&wQZP~Y;5IJ8SE=f4CzPTH~tn_q#AS1!s+g^hdVmUDN^SJMb^j)rv7#lX*s%WyveX6CisA4~ct-PCKEIJD2 zr?JZ8@7VD#8)jW-73iQ=8$>zX&P8i$yY4kowViZU6;)nHucE>)bk4s*#f`czE%M`~ zI#yIAaaFA@UTpcFF&!%9!C50EaIOV)n4<-xb(FMY0M(SbbYMmQCXCz$gYTkfqfu4bKpi-5dhrH~bjE`DbIR1z{-)L@_(ZnVpD zaVBI_@{Tc56o?^<6BGfG>!WEEVo~71Gg=t;Z+O zRa12;h3pR$rL5SKyPCDJ9Hx|WSxYaLqmxX(whk2};wr_KSZ(uh2hPjbQ!KA8wMo_~ zTL`B+X_RbFqroHsNHQ=hoQfAo$}r7(d`oI#3DH35T&$r|;zJtzqJSw{!uGG`To6GV z0ot$1u}uaK;aRQ(fU#}9g0IJKw%g`8;+l2?AtR7;AMpBBm-!>y56wbFB09wxz-q5G zys%25Mh%lv(23JextiUl1Z*JjP}<&$XpAZeBeita`1?K&LOOa?3r#*Lrg;@{x20&6 zjM0BjMrGt@cRcp3BGInsPu{@JE1mw*k~b)W?zTTF=xvNM;y^xQjMXGIk&qy0=Hu@6 z6|D+Li-XYql`C6H(*YR3>}pdHgzSHtHDFVcKeLr!cZ~8XJw#1*sIYL0)Kld@W0!M$ z`~Lt+WOFlJtX%|@0ahJ9YL79t@!F+^)KB}ne3Cnwn(i54khVTt;;umE8zCe-5$!<; ze0pE*{{Yfk0CyFMI>8Hkhknz=T$sT*rZtiW$u_(u_R6xZ@x!bs$aYIG3i5nk{PUFf@(2i<_#1AU@jQwda zCy0&vQ1B}5nD~|L&M_hFS^8bL5|GC^;8v)M>~i_%=26sK@AyETz>oaZG~>aw`F-`w!`BCr>%10!g%H0 znLB%m)0*w$Pc2Ruic4b5o0d}91ChWr9BFkcZ~pB`DG3?f-;q)+;8;S&H=k-r0yYx+ z$W@JiIUkivKZp&CTn)vzTEU3C;NtPm}8JBsEO=<|J3&b>M1ZOKH$ish5?O#VzhrfkI$_y zPHCX-YH;gF0IpYqk7{t}2c<7cN&q@_=|RcH1tC4VQ}|v5067K@AEhY9aJ0fVFan*> zWxkwNV@w0Ca0W@JpL8w@cc}-;-eAVseiWZD@;d`S>^OkmH8A7&dWtfC3IOB}&VjUt z=W2r8=+ELP*mLdLkZ>t9F-H_q6VTJ~#(H{CfKG#sl;M@&bf%9%OSb?qqd_5e9OE52 zQqrDA7o{Ko3I;EJX+{HMwI@NER2&mYupR6vdJ023}2YPDoC%e>b{`t#(Ps#9BiopIN3;26#ze4UUScCh&J4g^*%se zXd2qXiw3CjNeF61RlwUw+i-nHN{bA4``x-zN&G1zb|)vG6zJJ^@;L29?0^#)$?a2c zd8p)VtTu{p8D4lbnQLo~JoKQFDVf>w_o)B~dFW{i%v|yOsd&dU9l6>%_Mm^Y)|HC* zb`CR+n5DrSngGe&PCG#Px}KE;-=N$BPRAc9q}W9-Amgmi;b~Zl zhH;KKrw|)}DT>542&d;f^r>ZCF{6dWIS4ocg&+}{l)4Tn3Mg!+U<0|QZrY%MO$oX3 z{i(wfF^{5w#VZyhY)=pPRG?y^MsXs-M;$n+n1y@})c_dh8K+rZk(zI8 zQJ3IS=NwQm;(_{7d(!q8sbDEM`G+*1uUv6P-YGV1D{qF9+b5=9>92~vV}my@}vP*lh&6d{#NPQq(j#QGHIX+aR7XxfHsU! zXei@~T1r|5hl~IP1D4~86crhzQID8)sARFs0QqU^6fH(FNfjVvQG-a*C{z?+hREyb zO$yybNT(H^uVuZ&;{<9q%FjenI1*R2exa=G{a+It=e9dGUh?KdW=`o+UzzrnmkfC@_f|= z0&#&{c$q8M+Ye3be5c|a22Ed6XNE1z#N?0RK9%$j!e57aW|?3$Yur5jaNom<@2q?c zq+40Xac%RvsA5mObDFN7eQKUuPRN=54@%>ecGoG}8df^}e(uLiw|!p5F)XnT7Zu@e zuitAIEGHX_w?q6R+P&)53mYu~Z#AxANb*4Mn)&ie-99aHT~fmhHWgE!1xeKkEnG&rDTa14n&6Ru?$)2W)YQ6!ft&frH|$ z4(8=!kp^+!u&#^Yr-$K_SBBkZBz@;N=zS^rr1u)6%cbed$va8(uU7C^g;zu|F)O|P z@$LRS2 z#^a0{`ENmybnR5dB8(%2ZaA-D@g3!?I$BE2<*NVyPAjrhR);jFW_Nnty`@@tcUNv4 zf6Fwl9`RSi3%@PRpxT4(;PkE{$51m}6`n?T^YU)z6&H$(P{6FebdJKRG}Y{5JWDTV z{{RuMdfnVKJ5OUAOs1~-OhX;Qe90~t zuV5?a&xO`@#T7EGmEKA0Yb;!?3mrIhc6vm%wzk@W%W~Tk<7xG-qHDW(tYn9HbYueC%na^gSum?*=s;dlPHco{f&KL@wWOod^BXY*d-WT1B1u4d?}{* ze^J(TJ(g$7Y=gM*w?38hSZLk{%VQ?hOP^c#iU@QYE4%#~6@a+NG5-J`9<}422j$c* zJ|S-0#y1SiJ8m_9PWXptQ2ajB_chF4xmkLyK=rRy_#feU<<#f6NWp<5Z{8^VD-25Z zak=Q=7c)MJoLpzikAb$iTa8Lv85$-VhH+i4r95`>`7w`}40BvX#k^8nHPob)Q_{R@ zPgCD}9DcQ|%^ZR^glv9(f|L{XF>!97?(2@!y0(^=NY4vp2tQF(ydO4hPMsji^!cmS zOGI*YJ3k1do?)1bWbuyG-Algm`Y5ruil0l-RwoT_!k(iQIFdUpRylA>4l&xf=b@xg z)x0>h3EZv-#dv>+G>@_BChI2|=mmWbc_K6@$e=M?*PCkg{{U=x8I*j!y(!aTlusDc zbxTWQ=R&)f4tTEz@f$XwtQ803VcVu_*R?Hn*5dMQ9(a7W3_>tmWD2bopW(^ClHtJe zNMq~8bll*mwKF^`q{;S3V-cOeeDBR8~4K_LjT_w$zl5 zo3O=uKAGVq(q*3I0F-PTKOlW8HtnHsf#ZH9*5%W!BDR7sJk=RJ*0`S*OeNA0(LBdH zPa>u9lTN-OX1zvO3-B?4_*V9@<)06vkfOdo;ePNGb6ARyvBh{FMH+^tl3m0kWWfk} zSFrp{vbB%F(n*zxqCvJbtp5N8Ks4_SNq)<=O^t#^E6p|Obw3l^T&S1jPeaB9Ts3Dc zL~;6NZglo#<7vPH(z#ps$~h!sJXcL(&!*V49atP6!m*x6uB6IxSDYH|im~Q5sT6L@ zZm4(|sU~uk{CZQ?ZO3NOk;PQGB~I4lw-^)@_9N0EcbT1sUX^oKj6jQlwEEVzh^uIW z%p5V}HABQ|!c}qiX)+?tufjU1ws_Uwu4Ku!HH~`#T}bmD=HwT0V`Ejg zE@c_>e(0`gOq+M8sSVRj7SqPsK#TX-z!xJhotziH+;+8g) z1Hh^7C5j=D>BVy|dAI#v2AMq95^dZ+DytE5q|@eZWQ^lAEO#Kz$~vj8Vk^0A*I@*D zRLOZC-XD641?=IAN}Yaw@-Z5RTXtID!K zHgZ;}Jn!atF`iEXpqA2md@~%cdH|nCLM2u!#%sTk_rh_EV!3+}50oFKD{Jj0OGhza z98|D5+t=A3RUDI2Y?0TlJ?gf{mA-CUJo{C!lC*mVN+Jbki-0!n_p1I#-LQ)4^otWL zB_tenu5Nco^%D$z6yVhXQssP*G0@a08a$B{IOewQ;*M1dC(DdtsU!&-uHKoT4fy~_ z6>-|Rokf0a>N-~Rt~P}SwPxxOpCfYqQ~}A$F%o2Uu8&K3FI9sM1#{AU?U?5^*l1Af zicT?_a@e$o+DEb(BY%D?ukd8}jp6m_T&|xOp5@S=TI%$hKeEVi)7rQ(I~_DMH1&XE z<2$onZ>gNCMm;OhugWhu&V6gnZ?_p(f8ZcK8jVY+m16_rmUoD zxI>PW=-wXF)5~dO`_!kiaLgt z?S)uLABnHpS(gGmwfKem9NZ}>Szculfj`Znn_rs66Gha7F+GzUfzX9_0tm}yf zY*&-r-T6`#2d5S6n$DZ$MKFK70j~v+2D^|yV_#E+*zhZ8&WlgfNkFgt>h)a$MRJQD z@mG-Pi4=+sIx(+X@W+?-h!l1;>r*_*y$_$hCr9>w5^tA<+-uUjCm@qXSyXOOfGdai z-T>AVfq)Hlz6_ZMhtWq)Kb3tJ58y|En4_t+f0|H6(89dV>0A3~`YTtY+ruC`iQ>4e zRTVWY;CHUc9z;&-O+;vvk=nFGK}jlpl|xED=z+1?uQ_eVJ!p_f@}Cs^*ITj9Yi~o9 zg{B2l@pYp`CQso~_)(hSOfA}>>{8h3Z7(EQ)-lsG{{R(68qiL@l?}>y5+s~sIIA8Y zktEU%2>Z2*1bN1nDD&~qSAA`HD3K#`@`1&9m6;-C&jP&$+$*Y|YKDyty7|PKY^|J- zwc-yUTedC1-CneyrJTu}j8~A~E-svp?@<&7sajl*?DYWlto30k$-1a%QvU#=Dz~Lw zi8H(ol|XPhgi4c;J!@Y{WCvjtPg0C6$33cDF~eNr(-oi{HL#XBcOm>MBU+Di=_*W4 z01u@!5-NC_IMy|k`d1+VLKP!ClbY=H>qmP4&)G$BcF}(1k=lY!V9*3Dr-go4Reu(h zO*9W`<-9X|*z&SXZR_vnL9lW~0D0xB6-L`#e}#yXDi1Zs#2a%U9V?>n#Eli;QB@M8 zdT_Td1BS0SxQs<`)$7*YTdOC0SCH!A(^7OjGg?H>B>H$&yG9+#*QIJOrOuz_x&9jS zTX0pO+Bqawr#u4VPgDn@^HR!#)c0@MZ&zlD^2Pr2Q(=CBzKHm*X4m$SI2ged@(=9u zaN1{xC4`&@l-Jx}5MxKtR$kk3KPuy%lR8q+`0HP_^6a)ApjUwSnMhBU?^n@U@o8W+ z;hrOaFU?(j2}g_11N_W;_O2@IktvMvUYUA|nJxKOpXz9aVtNeJ6pHpLHnwXL@Dz4d z?^`yG-fqE6+@SD~#7$;I}CwA?|4e zj167`1?fyrxRdvIyN;yX!=2tvhOV6~GL?Ue)Nn8DS-(r=IV>!iOh`LE#5n3Gc zX61#1jdYnH*AL-hOsom6{kD^_Y9+C8EdX}lQ_)ZikG)Y_hF)`;awsxq zHG(x{nIPf0r9XX549dMJr#<^q0F=3JKq=CY$}nhowu}K$h7t}&F+dLJKcykT9+clP zG0#y-0Aa^NKn**)nvrn*Y7vDyYF>jB0ZQUHLu^yYq}swgi}$FN0Bn=ZGtCYAvDSbh zjx=M2JkwfZ9J>PXK~o=2rjY#q03+jd06aWT%O9K4sa(q7{GUu!mxMzeK<23_8P8e( zBemQ_kHM`($OCAq3eCF}c?ebJfEy#6VGThfD;h;4#4iG`$<%RG z+CT~CB-It%ddn;z5Ww^hEMchquQ7Vku0sWaaZtC5`&TjRao#doK(BoE>9rP1hy-OIT5Fd7wrIvNU99cCJ*U#XHt_bNbE00Y)F%L*NA$0#G%aE+ zcF`t@zHZ{UYSHSAp(9G#@zUpHhxcNw-$W$@sK~`*TtE?wndY=?uQ$c9{V*$+md3{; zeH$ir4m(y}H^AGM<^sD5`*Rq|bm{cXbN*0p%AIRS0onWj@hrL@iuTaS`{A&(E_-2BSJkHZWtKrfJth=0G}EZSfyZ`!=;C(5}^U+uFG}_I;g8azL+g z4D;lQHY{|z*zWq^=DyJIPOvpyG8yD-u^6w9F8rpp1E+fR?}hsDk8Cb}L&DZ|QFK}F z+ThKM;d#w@7L5+;#&+!ZuU@@U`h2r>&-hoFXx7ee9b14{n&Udo{yEVT<{xxboi|#! zEb#(%n$DTlD`JPOR?{6;KuHu!;T<#JAKC-=o-t{kJZHDPc!NtM$H-6M8LzN^X}=8o z@#?mU2go;ZUl>^=&c#9b*Ez2-?s`=AIvAmQt7C3?-PiE1XZQi)E8Q=~(CLBpS>xs% zi523uvouFz0y}YC7l3s`rg+xb0mqr%vzKnT!n3* zRu_inaTt?!dSF(rwIqBycdp8258^SEx26wT+O>~tYJ#z%Xu(rk@qEK_)})X~V~6*N z^B+pgnnsa_Z*NN7Fvd7;^;P4ENdukyeJMoHWG|KEU@sJ#z?%!mJXNnHVu<<gX{ zNga~g@>eIdX~<6PqqRpS_Hd{@F+dY%bVDN^!nu3jC1oZ?=e2KLKiOb1e;1{4K#R6# zdH~G4+4t7Bw2f$K@UhR{?O5}wMV>cy0;sLIbZH;u3t9mVr++Q=%gRm%L0pchrbBmW zG>+LZA#Jt2aXc;ZFWwz19_36MnodKm(kSILI6n<)7Y%f_-@@Ety_s~$t?U}@IswpE zns{?bcGlWZHbke2_xm`KSWFMX5sKxhE>JuU*Tq*5UzktIo3I5l#JBV6suVWWPX7Sj zuFm`6ov6Mt$0_p3&0t@6W?M;wL0HDe1KO!qk0GQZW7~cl#IR^F@yjaLeLMlzE5iaN7G{0QrKCX64tITc`}L^Mm+*03&Z z-qs0Ro;z16His;|Pb}6hQXNi1SoafeK-k7=T~H~!EPZMzOl3mj8R=hBg!mD`Uvjbu zB9F{N`BRteG64OmP4U`C`_6OI(yJu1Ou{&O_N~mUTZv;0yLL)Z_N}{*T-4^t6l9)z z;;Xn1wNP}VS16H6CX)y}zolG!G`kRPJqh%xCpZzP#!p((F$+ku)rjj+a!Pk&$l3?Z z?@-AfoT5m6_~R86k|=L7P)Ht?X44HPnx~9o6kG``VA(l)rok208@RSFm&mR{YjecR zPU3nBMw)QGSl|lINY)!2L77w%dQ;@oV~Q|P4lA9D&5(f2^3|DPi6h;fovRtEBUuDO zOUd44`Be86sbgm1Z!nF>IOejgubBu!xQu&NozhBU7ZH-N`U-(uW}q2o5wXI0dRC3D zoo>*Mhc!yt!DoZbcRpb~&uZIUwy*>TJXNiTxy#E+gcBb5fkuo}ptnro4 z+L&(s8f~+H2y!{#RHg)wd7%B{wf9k5P5UQJkEt+R4)t9Abk9XwODJI z?Ni7-4-^4C@A^;80m_b|oog5?<>wc4G<9)H2KL%KreoLyUS;Rz}=gt~%8_DUtCK=M}19 zG2uo6)kF&KBOX_QNYSW|+Z8ZKn3P^ABp`yT*BGIJ2At}WmOV#G>54~r0RVGcm98P1 zWZZj-+-*)M7i#{L$V|+-ww4wf*9)H1eZJIUKfQs|9V&abzlKFx5fyp!6dY{*y7TpvoTi-r@)%AS>Rr&lA( z9?S*0K4$<@I7lDG8+-fIjf&)F)qk{=<8cW*iU2s)%NV>o-hU~IQB8f z`~^P0u@C34UB$jydlF93+JVJ1pK1cbf*w8S91c$+qz4h_(yPRTW!s$66p0jblf^0P znqIupVwlJLz;Q;=jwuHi$26c}y((DJ6mj&VEPj-<3{;djamk>m-MghHLr&@jO#s*o z^Pco^&{7^TPQW=rCWTEPfxMGQZRs^2Csy)mODoIos z0X?aM1Hc&QX*mR9oIuYMg~l*N04rf|xTm210P9m%l{xF$oV>4Il$#qDzZA5cxu8_8 z!yYev*Vbu?mtGgIg`FS63EDWGG4 zN`79IBZ%rU0Hp0oydRsT0!Vns=klap4spq+5HrV0P`B&ui7o*g_M`+b^u-OHgQXx8gH3~)kYl$L&w5Xr0Iy011UneyQQD|W^y?4v(Qi|=#Nq~oPPwXnNXo_NhJ#8t@T z(SSw|7@;z}P*wFpV1u*Lo~RwN)Gi0ideW{>EyYd1dhB163<_`&4t**wYI=YNH6vOG zTX_tFkxmTzaNTKR+?hLY4Lc-^_N8!J4F)w~o=r~sNav+Op?ivUIK@TAt}#@p8+ugC zX``kn&u-KX)3TFwy^x~Sku~0Rpg1O#79R)lF08@H`Jt|D` zfk;e2=x7=Isxg-K#XocKPZ+7V(iE^56z~8X)Jj9X3iPM55z>&yf)7e@ri@d-9nAwA z2R`(mP*2N|NC?MHYAimY@z7G>V>Fv{P33w~Z3l7q;+!eGOQe z@pYzB_a43uN2-nBAw|{9YAGQ3UN!njhNm-6i{ecw?J45;=U_*_eJn`g{6mAh|HHD#1J+KBv)^4LXn#C z{{W2M29L$w7;B@+wakmhQnka2(mEY@eb0q7&$C|K&#BnPE$!UpB0W?Z)Vz#pP<@^H zc0H?|(=KC)r?HUim>dv0V!EpoP`HrgvC!AdFO2uz$2iulYaiL8AgHY8v$&CwH+SII zOML`lQWdaq$g5UxK@tX(=hC`4z0)p2;L@O7Ia)=_ACr&Gm@m`^Er^OAje7o>XdM3Xw z*)-^xzVh_0E-ftT@U_js^T-?zN~k*%Gtm4qducw2wl^MOP5`bN;_FehyxL2C?Y9hi zSDoB8wWKVNTgcIK#yu<2d=aNyYc~FNqdPONO!umiNnC1Oj*nB-?LNT_v#$A=epSKG zbuIS`fIAFVVXWx$+ni2>r|_RaURSDJOJ}|9^YR@26j1lwjOXTe9vh!Z(l5Tzu0&a5 z*|jUSf#b8irMiNK0-T+ z#~DYE?84MXccUB4HW?D_^Bj3O9S9YLdE(7KSA@l7fc&m~2(DAby4I;}q`kaA=h*)M z4S1%9d2<|+JTf1jKPRECIy5eAR;`a<@lLsab7dBeClW`u469yusp-!JfR&EW7XVeQ z8t@H33+_8))t?!>`&7W2;m2ClLzKgxnI2nfHN+B#VLvYJPqliEl*$lF2yAg&AKBpn zOkHFkXVSXibq0@Nzm4l%8>1xbbrN2bz$?^oSd8*XA$bl7z{(I>yfX8~b_BZF${pW|yW(qEUdm{o;WiwB(!4vvwl@C& zZ!0jvM0g&x;ks*fdQq&>vN{`$b4`Z-03KJ(BYe&1YR0)Xp)}E3WV~ktDDQbLDfdXClT`WszC14BQ|tHAcGoGdfWwGBD!0>QMI1~5IUqeC>?a0ny0 z?Ooj4^$Yx}WU1OKrkleNybHhgZI0Bvt+X1Z7FThNCKw(-8B-kBb@0k?k{8f?Ko8yP!iuzyR-`%OW8^;+-&|hp zO;D2PyAXN`@U3TByYTJIaYFw9XHEQ`_%-$q#2*P--r9d`X~%oVg!0E9jd&)%;I{Dw zku2udb<{)TTz%pz*TZ5IZOnL>tRG{;^;@*ouA~0PLf3A?1vxePz56`)dh^5n2u9Uc z$(C5v!aDrK9`*UF@XO)XiN}hqB)PMDc@^@J zMsCnMa_SBno@1`-HY=;lvWzGldsi3YKNIM7c02d3?!X?k$NWauBZA?iwN1&pt$g{d z&3CFI+{WZaKJt#$$3_UORd*J9CC829Yc?8i-2R@GSHK=2ywZcRZjFIV=;xvjk?s4?Rd8dr^Yb_2VJcNAX?hf_b z!#uZku`H+w3O<;xF!6tf3#-k3aE0hvD%)jCHLEfVhngLjM2{ z74p}I((_c;zq0O28GOx~KO9%oo)Wgb(DnH=tBD#rX$x`L>u>%LKMLr&@$pK|t2T4x zV!D-8YaA1T=w~g4o8ZkK%9Ve68vgN5TvwJ{-$gX02U;uJvMScm|)=(WLWEOgB^ zt*x-^P5?Z0q9j#EnQJU;nEd6GoVs#rrJi{m z(?M>alZhIgV+zbSOu2vIYR=Vd=DP_basBQ^UC}1F<|&hf;;csK5=d1~0c$5+^BIJF zR98XfM-krL0IpW=TC|er#{3Ep7j13eTSF|Pw-w)fGuKwy_}fZwg#MMpv4Gnu#CItj zD>+hI9k({DRl{`ltYntPw57^@bK<=+Jy%a3Wn6|{mGb=hEzX;*q*nuK=Z~d&hlYM2 zN#)0FclQ)vwLet0wbb=QyhG;q0=eUOCeGXQ9h!K08~q&$eej~ZM^(^n^vz;9Wlxl~ zdwShVVF1~Z6?2O6-xhd=OX8SN7!#jryft5Vxx?K#KNiH!*6xEiUV^zWqakD%Yzpi( zDP(JSCM(EX4@#|Zq=|xD=V`#=y`?=57IgJF?<#%3DxH-1EUp_NI5p9=oY5}8q@L6) zSE_Jh;8OO2R9|CBl_s@a3lmLfl9kEpc-x7AI0M|z1J)6(oUeyxZySEF4sAx1O+u9^Z9zb`~rjA*Y z%Pa`&D>nA#beQdKDzn{A6fk3&6j-)3_B0WyDZ%urlHN|IW^qin)D)&JPd>F`S*@I9 z04LU`l${EREX(&gn$)+{N`B@+_||8bBJIiPOXi_n%m8XEUn)9P*V4f}r5lO#?Oe&! zA^TyueolE&*0f`{hT_~3p;-5+r_rre&k?9H{{VZvF&OjTi$vrL_Dgknl_SoFU> z%=pz|DLLOHBR`FQLRMRvC`$4QkL6zv#c{N5eRfGB#r$$JIA3b{x5v;$X>InU9OAyH z@$?%X&D+wxL-GCZn0%MwGsS#7J~QtB0Ois?Q}G<;;SV(DBcWYrg3m^)+w6jK{T^+{3u!ZDepK}~?>2j7{)ssY{$&8yE zU~!uCeJU27+%P!fiu3uRR*_Xk3b3zE)1W5BB#2Zp%Yr6~)==js734R_{{U)yj`iwN zdEq4Iw@ULH#$~y2AnQa%j*`W;+YN&}QdqDDJvIs!UUy9z{E=b4TtweBI zlC#a|YF!O>-hBL4--w`!DNw|{t0KirS4hk{;($k^i!~Abp*n$F_lS;GEcaYjVFKm> z{n9Hd#I}*gZ5hY#(?EH#202&LiuLUh8+f$jnU5q_lSr8$^u>18K5VuN8lC{6djX~5 zONDDc-JGsFR|^B8Td?*u)k|$8wuM`w*AxH@>*-1a#OORS>%8_NyZGRSL~Z<<^6eGM z%v5n+ji#4rHWNgGN1MtTJNW{A&`oRjdSCdMuJ2J<+Nv1u-BYIHMxN#ixY&A%sFZu; zWl^xbO?ig2KjL8Q;~dwZY4V2&BYIaO;#5zxZ&6xAz|6NGv}AT7y*kaq+K@X6^JGh2$h2iVJ?Ee56+RdG( zAbz#_fFwGPgZK5sAJVvS9~4dCe08eDl$kvRc&@)}+=J}svYc~F z%Oft{am7uk0wGxkUO1@`niT&4X4Im7+lFi0@8^zfEQIJqcom?;@wPkHxJIM<6m91# zL6napDYosv-~wsVt|jvYNpy`B;{q|7jhL6)+JQv%&kalFSP zoq7>mswP-^S9jt_cUi{jIsse+3`zP>D3)zo?ANi#IQgs4we7bWa<^;>^APMV7k@>s zPL?&7NL|0(27-@1jdr6J=~QM#RouO5Ss47u?@*H7Syml7PzOh5hIs-~&=&u=Rpe&Q};B~Ik!f(lp_pSk?V%(jzofb~@ObNAE6(`uE zX{cigs-W{%JVV9G?den@KPdF5Kt*!-kZc_VRo^Roqoq#UcM^D7P^*GEFRcJRGq($l zM|#WFC1@cmI||l-t8kw--VJkpA-F^yNauB0TNBXp3zDxR8F|fBjhG=$nc!9JKtdcS zKR2MNmQXdt@0 zckA~>GUd^2&ffI#xO|xHOnAluV>AIq$K?jDhVxtH;}s8+934$esy^`GdecB-Y6v{g zd)EG)7+6&ItO=tMTob$H71LQp1ZdgfoVEjWB8bNS07{J=V;CF?StL?{N2NxdUctVx zG$T86pIVtQwyMm)kgLF=M%n_c01xuYHuR_JFR~%Da78qN+g*kLr`^vNmK5?00A^c+ z$IaB#@+xBjq6!Bzv)saoh5N#QAwXN?QP#BJjbKxrwVMRxSAO2LFP>ZGBNPF5ah0(B zDz(Ij2bGGljD>ODs-$?3`NDuBg?6sOI@5$qKJQAhe6hg%DRQI`y{H3{)@)RdJGiX< zK5sQ0Ju9HP0_F)3I^&AvG_q3R;%*2ytpMJM7=l>wjw!n)m*igED(XeRQ_{8)812wY zfzL_+uWJKAZ}WBZspC~>>baGR=e1a3v8M6)Pz7HtUCOTnRa@=L4$Ste8;M}p#%ng| z+2-2(0YDHHBFUtWh622rLp9c*PxnvquVj#Ivyn%qL0(;_LJp$KDe}g8n$aO#(7(3( zR+h@c?ynW)3a=Bn{_g-+&~lAEEm#Q@;8%*@+oYG0JPa|o@md%d>c=0baf;xi2@o#5PZee;K!`e?MH4`MSq;iv!{^3#ZW+Zx71D+n`D@C272-Ef^f{Za z13${WLR)a-%#WOm*A+-u+AQArB}_5vS@S@s+hV5L0!PexRrXvhV2U^|62wKPCvE`8 zvBiFne!~7awf@IV0`L@;**K8&lP93B&y8xx+}pNz1QGbxuzt(lCAri5V{M~J`=Jz| z2KD;Vs;?GrO`ouz6ZXlcHR5(1E9d(QDehxw@r4{$)_V4l4z1xOWn8mHr|ZRh{SB|# zH(PeyjCxktO35R`XgI)6v-b3Onf~ zwODhMVNzS!M{2u=R_R$j8rA!*xz z>qOBh)Iy$&Yq!*6j?+YV!r{mmtlKm^E8`A{{j1@}oDInufPX6d*S?BNS)KId=)^zJ z8vR-E7y4g>Zmj^!jD&^noLA-EtY*=*S?sS9%6D=$pF(SvTb`XSfTLj{W&QBwswghg zPS@?O&}Fv;AD$}YaVoyPRq)^5$E&(-fBwMw-LmQN-KZPtd&G(1RUR&e8js6VycYfMNp)_xFV%`+``f*hl zH?SQ=zlZJgvTt=MLdH1^=cQoT{6o<0HFW8W zUk`js)4WZni8R2r@D`nIDDx181XR-7c`Lt;oMW|fUIf-6)ifBS zje(IAD|_)>OUvgb**GdVtSzXTIo(qR-=4L}#~TBM=xd_XCJsEmO3DLZ%GEIx(#W*i zm~l~Rn2y|qz~Z*zCQb+ESQ^tHLb=JQU~q&oOP^Y;H0;uYAo*6Gb0LYq>zaV8Wf=0N zm>8Ej<;A9;k`b~5JP%P`yg9n zxr$sM?b4`A1m+#ger)usT78l;dDHL(eO(m!%`9mHNy8DCnlbOqERDnlIG81oZDI|j23PR`cMU1!tg=+vA8(uJ5^mje(>*{ zdQ$oFJ+QX}gHzk#Q_!vkDi|YTO~j0S-qhIujd>Yk(xq1OE!WHB)r&|z(I_2QcC4E> zL*TYWjdS;!n|EyGa-9cUS4lRKQrO5F=f_IsVwzWz$mx@VSvFD@&J|((T2Thvi2muTTL&(L_Lk^mX1E=G==P~+hsl%6wT$7oCZN-rSupYsyTGk? zyN1~cw=YawqpU2Z^9*iqtI*cm@Wm8gF!_f{#I>26ZxUpV)XT|lCXA|bdkO=T%8Oev z+!cvV6ymmx;9-&Slhjugdu=71$nr8foO;#kb-bS8C3M<{AEiZ^Wt~bkVzLu~Ot-Xk z3oDXFa4TZ=FtKmjpK8ee07~AwvZ>fmkR9!~5nF6rd6?@_TUzfWt`6hcvh8kVjfOd^ z3w~9P7|m{s%?T`{C!PSQzR3rcW{7QWhM8#_I{ETGSJ2gKyNM-s@_0lY1pqt{%3wcr zy4D@dqK3`CLB(8(UW|ChT7;9lw`yQbX44U{uTJ$H>Nx?~colle<|X~l6(o_FE;hLN z8?^vtS+gM##^57;>f4si6jeWUI+Iilm=bJ7@4)(1yW52@h)Cph6o0LBze(^XSlmSZO-2uXnm(s04cD9g+o2OyvQM~2bYK-$) z_prZT%785y9fLBC8mwAP6}bV_l27GWFLgMCZ5$_DQ$^I9RzeOlnwG%p^=Jdcg*mPU z_QEp2xC(2oi&1SsLKX71boZ<~<@4@Q7~w|*(`*r2d=c7+*}=f=PSc}i9$*XFP=W3e&bl4y2Gy?WGFk-fw~L^A%A(7GT0 z*7n6sgdWv59jYL^xhIN|Sx!Ly8vevTp2hYQ4r#P>G|~Zj{{V$Kx_rD+4W^tvVa*K! zW4OjB+r>wAHKDZ`E$f>Z$1)0~E>V(2d!_oV|o z`_OTaDcn)e7Q%GmljtchbM>Ve#?ei%6bf`qLv6>(XwE4a4EX5cH zG`JmUIO=KKbfiBqXzRu)nLVldh!`Dc4w{D2PaOqGoP46A11W{=PaQs#1KA+xb583? z+KQe~)LuUCY8gV|SEV=o-t{Ij0PHAepd56hAchUnmvH--qa5V)6(xESk+@;I)InT) zovBOlg&3(7i5&ImNFwzbPSOac=RCJcL$O91ngL_U=sF4*~3k^O|#j)IJ1nqO{|3d5HJnqEogwI|){Oa4VBE~1XO^`VuM8K4jtXQeEzG6p(SSf{mz zo^hH{#TneACy_?(K5i;n8r#Tl=8lw`(D1b3(={Ni@(KYMqJcqrFu=e)>Ogp=W}H2$ zS{3ya;j!ABIHuE&wMad77pF=wj%kI5@b#&VFb6|Xu%j+e1HCT;tpjTeH90{b@xY{A z!vc_GcBE0p?@EzdJ!lJ|qXD?7cN}2#?M=o{%f&8t3{q$oy9>$>T+@*7b4^zA+mV`a zJGnuMmWSv_G2f*y63v9^OOZ~_zyb~`5*o0i;ehQ<+q0h3(g7fP(v~VVRF9^ksG^Dr zcCdidi%h8r7~Cl|C7_3r0PRk}q>K_iYI2Ro(M1nqP~@I_Q-Q(ann55G=e0e)PynbN z!HiO41A6oHpkc-_iU-NUbf5*xHzONq;EdE~3U?0ug(}C7obgb=ac;^nNO}2Jttt6O zPAT!S=ZZi)0Dxz$84XQintH0^bpc_UNXBWvj?}M)JG)bc0^kf(wpD}(OJ_U^P!*ew z)YFhg-jwGZDo1Sv+%u0#eJ~6S!k55uT^tk4LiVl?V&q_9N zP5=dD=_D^H2An6h$A(osKg}N+~o|(h&8?sXvD_Q$ZNP=}OGPb3aLe;{JtipF^$y3gy$ZgN*A%Gk~<1sIvy%L3KMYj zr;V(6;+R(y9OsHmX$m_1Db#>cjCZWd9HaZxgXSkZQG-uCK9mUwj0{jQk7`j#jB!Cy z7K$jK5<-tkM#!bdYFzPyNxK#|JYtGEQBWYHrJ{f*kEh{^x2mX@!k37Dh9^IzQeEV2 z9jZSN&n35ou9SZqZoj2-R61#&nfE>$x?d4r-#}MuK5&1fOuuNjxJaSOzfNi^%ZsM* z9n!n)juzlno|8JQ+s|;h1EH^%n)liCG1#rFXqtthEV5*?e|C)=Ig&W$=uh!ic@Di} zbsyR8faAS+?};@fOT>>&#uW9aDD;MsI|#Ro9x=snNqcU(qfXo*=ZfF(wXE8yM!W^k z4r?pK+9KK9Znq&&n$2%xRI>T^^yL+W4PN zGTR)u2Nl5DcyC|Q5=KaiV0?fIh}F{4G=x8t^z!m*WrO_DuUvMoDc9{R5@&!Toc{oH zR+f*dYnIoB(qdv+56l=>q*`g#uX3|qg)6tIr5c>B@h(*RpCL=4K@PVPMjazp1Qr-I z_D6-Up65@7$|m`uP@gw?<-BF#y%$qhF7)&QNZTw$b5{5Ij+utBe=U=yeX8os)!fD_ zmFRjmiIVC#o(qB0V~X-iNRvoOCm@oW*3sP~2aQ>_h&Q=(c*KTA2RLopQTA@vkcI<&65aye*(R0d9u98(*>h!I>iH z`1``HO%ojvigY%y)DG7D$T=CS*U(#C;a!Kz+OwZfd&xe|Paq5tQ^Vm+a_zU8N!ajyH5zll39pk8@^HXtV^y$EhC5@-vNV)Zn(D0m+3@fb2lp< zvEinNP_{7L;G^;Lb*?kTUJRGR*FSI5kTT489+l18>vtCSki{Ik0>4jc`XhWgwu-Vi z4EuP^d047klDa#v&B-4Y_^IcX;YZw)zAKfI{{T{l7OGiCQHu0$i1rJnTs6x#en6}r z30n9iQ$?2d z%)4cIPXTMv^$2X?kVqmJ9l*d9<-rfP@`5(%b>a5i?uQg@AwqfH$yhYHx~u{1<8Fc}p- zrKihv5V%&`j-$1Cl)BBJckuxls{Fx4a(Y*cbsc1z z%|sVv$Cr*VTb?7D<5tpq-z=*P05Q~8JuDpMQ$VRT6`|vPGEFm9(*xQmI3%}XE9VVD z+DlMU*fB@yF<)qCo*dIIZHnH)#zH#wt5WqDyDjF?_THjWqs67Cba3zA1rtm zzXlH+IEgB(8A?)>ieoDF10#n>a=~gTH1?lySc8)^<#$ROskE(c&<0YHj-NS zg(i^s5UX*#b+1O&wQmkwZjKv>yujFDT4H!_83lPj(uQe4^*8M`NJXlAta<^oaa6AD zVwz`oh8wRuVx!Tus~c-@oH~DabQQ<=o5Zpu^T(&D2r-t$8Gi`lu`bYwILzjR7Uu&Z zU0!&R;c^hh&9#{A82Z*&((g5$aOuWo!mmKxy{ov>;IP*2<9$Hzy+HX+YmxY`d8hn5 z(WUW5nRy+Fg-d2%;@Ub2`ziQoji*PRNbups6dg}zbFI?61wDqP708g7pdpY0$@GDA{Mv=;s;Vha4;?Bm0cvq-TK&ZFZrdI34BYNk)U{^RmUT|M za52)j2eY2q%6YE1>9-x}bWKsE(S$HAZZY#`ty`4eOQuSCO?c6ty}5f97;E4+IPc1`R6;=J2Wm{|qS71P@4vP~(Es5tzqDerSgJEHpO z=%Iui&r0=A1Hl*Cqf3F4&Jvw-p;N;2u6eZMW3r1q=T-3ft*gF1 z@?Zg9J!*a#jNLNMN`*N!^-9h)Jv|Y4U} z0kHd3cw!fj$1)5A+6b$DE%F3*=$R!~pK4{Eqiikww8HQ!*iz8oboDf!%Zd=}25KR7 zZ?kb;zLidEn52b%Y=c(pG zH?lbyt#*z9$F)a-fEEM_>1DfA8&yFyo#wk|%>xvDb^`v(toBAnnnMGQK9zLI4C7== zwS`;x8FuabXo}ix;i660^b~!10*+H#vCmy;tutT@HB@aTK_1@XyNT?akt%-ehxe;J z*esvv4u-XkG6r=r`m3SD$ztFQ%l;J@hiA$`&37_Hl3+&aSJI$1=m=AewSQWP&-H1p zha^%)?Txh47%TqOcDK5EM+hoZ=e1RP2%@(RxZOwAVnd}h(B~~|t}a0fS}de zs~;X%A0c$vOnCd|Hpfp|=sYVG-M@)+`F_GK&S+Q*Le-&!S9MW8FT&S*3Nt%0mkr3fn^shv4@C7*R zD}u4vMCfd7iHr$OeJe9mu}DFe6{BG*%^w1y)th_)ap)_8d!w~{Cy)5JD;Qcolm@K3 znHbt3Uc$G0Xpuu{7T&w7nT)&X>JMC2@iH%IOvG|(`#4!KSz1|TR#V0*+gwBD1RUh^ zRtFcW?Tc87exEgZgnRzW9mIV+zLn+PFvN3PvhWRhhMvWAn|JJDT2uH+r@2?*=A|W{ z#f=hYZ}qpZMgjWQ^nIk9>F_!1i~Otkn1#is#6Jt&Mt1Jipc(%FfeQYWye#c5gKH@} zgG9f`SH|&T{oT*1$lj+FN*PWEnF471oW@1!)X+J z<}2bmO$^60jh>r$uR+k@5X_D1UQMJ(agcCpztQfcS(hh(MS9TL923~e_{FkaCv$z} z2NmZ301odAHk%3Kn)LqwiYT+`0m$GlHRIj{8>DE*-2~UQg4pqK>)bt0QFCh`o(vP7 zmCtLk$8#KW$}s-bxY46rjr@%CtX~kK#)AWlSE!E)CijPbduS9^tl$ZRT<40#@LAl4 zJXcLRf2NY&)F6=kax$7Q1a_|?)1@(LD~=a+dnUTuw6X_f72*Je)DcIm9ScXeC)s2~ zX7m-J=?~Z>Wn6+d70+14S~Sm~t>CBZ%^yLEfgUk_!EX*Y1*_HkKmPzAIukPcUZy1s;{=dhLO>pCEM|>(_0k*}5P;?QmW%M&2Yn zF-ak#7eGgwa%ULyu7PdkN%$F2T;GIm6*VInA1MG=smLMy)U1&LU9x7{`7GBz$(Zv%Azk7v_eWr000PVpVFlFQ6qiUun>#b5h6H-plw z>X$AwrU&l;DWE*tV31>{HQ)GePcvDuCxu$`+i>M1nDxoUdbfb&SuEra&&x#i0pHmL z;BXIapM`l_$M$QvqHlWltU`?Hy)peO!!>*jQdauXfiW%UP{l0myMhSCcUE5|*h5}n zVKYZ~2TYM(g=)j?3Q3|tBa!hUnDq~kbpo@YeX=fntD*5S?U`JT*sft%IZS%hM5EcX zti7acc;c#S_M^%3K9xR@*|CiJ3X@v_tw*O7q)ZN5B*r-6yIl@!AYRz6G2KLBx<3!T z=Eq@DSlvnXYc|gx%lpI`A6orL@TJn-cv3rj{{YJY{{W!Z<<`8Z9PnUago<bsU1bO5^0xj$xUoxSbi-rEd`%+3s7n%Y&3PAy6L=~IBv-BYwk^8k=df&7nQHOx zlOwfhN>_?3@Xdb7<59AKs#+$t>**rIPZnVXTxj4mm(3Mg*LO3<(eg>F>u$+wX zL6nTo5yIB@xyA<-j=wV&_O6r0t(mgCS3Ph403Pab)_{rEcuL@<&c^RnJYO3L6~{`% z@Z)(}nuh2}uFu5~iBV2C+d(Mvl#z^N8n0$qFQaDZnt20|D!a(BGPMPstE-bPn7amk zQC?=bP0R0Ik#65>(l-upztXq|R1C!R=71>N0kkmfiuA1tWxmpy0o7L(=W;LZhI@+b zJPhTMSjg#-KpdRPBD;8q=}^lVo8?YDYj0GBICTd&tcfGbZ&Qi@)X;`yXqUcgD_Mie zyU&$E&1m?V4U;U`;NqGCnTrhk4wcecyF)Bz>0GL|$*W_CMpdK%iAGnc|=-CajChC#*!Z+K27 zp5!|(0OvJ}Z)+KSvkkzG0Ix~VEJP5gQGr)2jNr98eW6%XcR_rzI#b&Lz@}U(nEC1} znCTYEL`e3LRzjl;nr*0!V(HCJ6#(973lT0y3s2flB;blt*wF0n+py$j# zN^wMQk+3NiJ~K%1kT)ryb{n0)x(Ax6%C-$?#}fYltYMwBh2w5Q;Lswd^D)4raD$W9 zrI2Ih%~W$5jH%57v6Xkb%;K+F^0>gwR+T|*>By@VjyHNxB3H9^{ghgeacMbHWT<%Hz*Ofro;mL%xDV` z81}y3TIy^75bZsyl;6JOW7fLJ&y<55=nE1vb`%0a{M96T9Ok8Rhvi|#W?2B_Vyeox zbpX}E0`d<|f~&fc!N8yk(Zp~Ibo8wI-Mhket)*3XiS7p#g6p~P{b&L`jz-banD)vS zaqCvk-2o^BGVPPK06qnb#0RB6bP@cm%~i(H@|-EDO}N?$&;_yOF!_4bmDwVY!l?l3 zKoq}69@WU}Lzln_Ko-1+fTt`G;IF8vV{u#_4JydV^7WtrAchuj2e;*3b8{2LsyRV` zTQ%r^be3x1HNV|mh8^nGz;+ha(nz7ZVzk~O&hKHlDP=l1MhM z6&oR71wKo)^2egf%& zlWkvWX&LjKUx@r!V__M$wqWcBYVpL>FZDadmOQG~f7wpYv`oa4>T1Q6{8pUf3(~ek zTuo*jVGv9vZJvs1Z808IRdzWdtzBwsBwJIE{BumRmJ}T0BD6?Fwy{j%&lMqx7^C@5 z6&PtGJpJ0g_Gp6f%`h^Sb+&IcNe8IMO7@Qk_=D}%{{UyWU>FPv@vDg9QRR`>r?pqp zucy-`54+^gLDsqF3!$ccIs{0{BA;sDakhrZ zl;_N-BVmjj(s(N2w2vQJ-oV>J%%px5c(gOV-q@~FQWNQ#j2G6q%x}B!6;V1Me?tEN z4fTjM&jCX^zWF?b^Az@CItuaqRU@{)n|A;fAXh2-EqKLszYN=3tioNfD49oQBfWLr zIgPD#RzkaSGm6ItE?Vv+)JK>2o+Z>Y%b4UD${P3=S3hUfZtTCf__+$Tx0)%4Whd6iBRbg2=?Ow`ebRgUA{qZ^H>KCMgWkGdda+b~tNan*C*v ze4+9yds?__fSzAKI#nqW5jJB|Dj6p}XP37hT1JS-)4zRjEOTx7bH}xO7yC%*CeK%o zQjXsNqyTIktL@PnTk1Y6b zyNAtMcF6j(n`qGS-yCsSdV~VTPbd$RcluXh;q7AAOt;@E2{(Fs)<;qGkL<`2J0ldt ze5BwS{Sxr*vavuRJjaY5Z>4@t{21{_UlE%)6ryn6#Ao~~^k+i8n&bCr_edBO=HgbS zu|0l$M#A9!oyTWciK*UgcBW8S8^+VOd;q$sYmWRS>wtBjz|;nUKf@}%ltWA1)^vFTTqCP|uk$k>CL*#YMt7Cda81n`{F!0In0LSqNhrxp2!ZKrBJIo4*n zzIUH{G==2;A7SlY*ZV>E&QBJ2r~5J~Hrm-1jQUdiEzw;xsSBVvEHXVSvJp{NGnwJu zD)6<8dU3UdK0%x~9E$Oc6IO2xYe^IzELr*U#_IaN$7>Fqcy##JK5xngrF?JkFHfGr zaXfz`0yN-|z zM6i(+xj3#9QT4%3n*D*zIBZC{8(zZN5YjJaKf-#Eav^TZY zt>VDl?_QZ<7xsHZh(1GHyCZ0wWv~{}tZp(usb!Fmc5pFOCY2RD)*mfJZ+RTOI8K$| zS9g)TX?109vw7DMJ9JZ;t>Z}Jk4kqukOpQFIvtrZ%|veL0d3l7y|+Ky4TdG*&ckFMWkeoAh_wpMlKfTtOCta zjnUNJPV&WoK+hajQrL?~%&Ip#bgEIaZ^Lvv;xQ^A6MI)XMKJsKGcJ&oI z$+b7eHlJGEf-6hFWOT!0ky!Uu+cKbhy{VCHNo^;Y%aLliW`&*7&*E-n%I8ZPo>HRGqjZ-hj9d z-Nqt4M|z1A5%Tq@q?^t|v*g7?Y8zt}A2(x8>_*L>n%^Uzm(r$~ym?srb*f2ma;veI zpHWoixt&U!<97y&uo)G@EX;?T)yJE%j(Y)B?X6tTyx@b;tD=tDC_s?_-QP7}W7{c) zWikwIKb3Tf$t}XeA0&QNPUZ!X1FsF-Rn0avvrY0Jz0!ary;iltk;xg)rC`l+tlm%@ zp7pnJb}tE!?(O3yvplOq{;-U%Oi(R~kxlj@RaYZVMfPE{hx{3sg*}66`%{gQ-kSA9Imb9_d{38{jmXGm4y)lIb|y+mm2e0w+3yf9{~GSeC1=fQg9em zwv@347#_W;fhjvz%u$BLHMdI`FWb_YByu~bBa9AvVx~uqGvs3+^q>k&G*CuV46*#F z>k+w&%y0*64wRGGxhz}vewpuDntiJqV%;%QU@P0&Bx(sb28pa9K+-OKs!+aL{Ko_P z)oEKJAnsai0y*%8U)*z!{{TwZRPv%0_F!|=(d0YGOiR>ar?>NMO9|KI$692vJ7`s9 z+jE`6q3v6?nn-0bN^$+%dQ~-Oig}p@K&gMUwnh7{2TapK=zss$_S^*+9X%;Rs5}f% zfHZlh3}XVnu@C35-Kn_8%m#g_M-+ki-S|)hzb}?s9GYlcEjS#KKPofp+JT5NzbL1V z!k`6P{oCh@AWS1T3 z%aijjY8hxLz-}CNq}(>+y#V8-Au9r9PETr9B%ET7)VUeO06X|802rhKlzMigz*Hb` zXlw(=LrvNRKL8GD0CoTz8aAh1qLXjSia{C26ahZe3I}RWrvi`w4K6AcgRqCTDoFrU z7~+#}7@!V5ZgE3a9>`Vc{HXiH1?x-Ko|vF#IOsiT4Z98tgPK1~QG-A{kxIb9i7TGM zqyb8TItoQSx{5%!d=7?zils?AO*<6NEl}X=x~=Qyq*7a-M#a%3cRv zCEz{ktZDG~R4g?SuP z%LHJftt$;^g&_#}cr>AYPg6>9o+udWS%OWHGR2GmgG|OgN)9nX@zb>ha@puRJYtij z6u7{pet_D(f{aq02NcjLMtV|U>@IQIoLA-Ij4noL+0PxSUy!eT7_le=aqCT7?!n|! zmySD91_QN0e5;`*z|HAHNwRL~&IAf@(F3P|KC|)s1oV6&$CR9=%xZ`M~Y>X(U0m(h7MhVS8 z(h)y*^r29<%-t!yeW}WD_#F=v4fzk~c;He2NJ$NYOPtV9&_J*jcP;}nPF`qE_dZj~iDE`zCY#!VnOJ4HM0oF0OK zA*iNKy}MMxL-z=#$B&qfw53LQsgX#K4Zk;0O)3~*a4EweZO0UVf%5mM8tf>~LE4}G z$fk6ssoF9tHi{kwI?ySg?(5c_jyR|r2SsQqX8q zoZ^%UKH$XzE6M3cK?ONapyHGj%^UH+6`Lv{#Vt3eC#EV)gy4=(N|&)hagHecDMDoP z#Rz_VwH*Ld{{UHvbFmB~PL!M}+&c87^6)|LNWI7HSpNW}1e4Z|oqN&@4nHbSVTuR` znnD4m1y)=dHm60XS`8pxy?+Wi8aN#KQs*PmhEfF;AOMbgQ!$DNIH-w8aL63f=@ouW zqJf3xh9$U|rQix$Hs+Cc6Pk8AP%tTRK{gC_p!5{)r6;B-bS!IQA4+cS!kl^ePZWhV z^H3;>&~Zm|TZCVM%X0plPaN~Is5txF+>%XA&RYnq|0E{EpF z#NQ160Kyrs%wwDF0^#sIt18LjdvwEYBxHfwy-)UojczsXGTZ>MImoXS@U^U$cRo~2 z^B#Sx<|@lm=qP+7_exrDmi$$#drNegQs)`2nte9b%>wV<2@E5my|g zW7PDWLdQ?G7Vu*%ImKXjr|lP(o1qvztAf!lUe5hK*(Ox>uVqOrb!$`he#45!e&agm z`{?k?eIottAoGDLt&?7*Wuw{O%>ue^2)M2F&^((rxtEMpEe>?Hk;8WAYd(99RIG6R zEZ1l7#-wa?k+LHmM&DZXzlK`6YZ^ppsYkwHl6P0m9w(OLQ}HxP-8{gU_OGgRI~z?a zOo|2D8wDRS^))rNE{=qH_KTt2-4C-yo_DQz$BgZ7?9o;Xh?fI$*JZC=D0ri_50S}W zIjnj033VG1l14nV$s!`pNcd@GYbK{P#sP4CUuv7h#(hsyctW3(kHWV68=xNy>8p8i zPn{xyN8wlRwM{-!LMQJZf^q9yl_vK(qZ5MCw4|2$IHFz7q-6V7zg)`}jiD)BvCXrA z>s;4|>@4)L<|q$5osVE^p7BNP)$FTgjg7o7rDM;`K3g7bb8&NVsIxFE&iT!Bw>G8= zWMw(WIHii(Eh5ts4br!NO1lF`duip7htC43$ymwLW=+1Mx<4eJVO%z|JHvIye2y!; zwbGhv(F9`*y=$M2JCzVMj2L=Gd20tn#oUnY3^b7QDWFo*?aDi<7AhYUhf za6KyceH5&G=YD2u*SMH)4n|FN7J7)XwHJ&7ZC)zE=+_#>#Ez<nxLNE$49H-{#1C+{K{G2*>?2`ub1^l!7n8={6{ z000lIc^0?vAH%w9&M!7Lgo*VyGg9OhWsiae*EUq8dsR&4TF#j}@YOgyQAeKTA( zo8Zjq=}^$Wcsnu0ahmsyXSw3T3BcfSiux?a!>XBYE3eq| zDe)XDJ3#mQNK(>FiSY=>;fm1Je08L0R-b6Ox&kB{c7b0XuZXoNEp8&YxR^>$?)Dxl zfV&s`IRiKl5=G=6%d&JJ>Uug~}sDZ)HNp(w5Vk7GW^R8(%6mviwO$9m1kyRx&9 zmM&Hhaf`}$+}tMm>h%J5L58$-85csxIfsZyhheGkzu+1FC>*znw%kBe{To+-n5 zVb2*OiuH*+NqA(DOsC{IC)&ABhmlDK!)pMgU0GD+4nR9;FXu=h+;NllkF{%(OfK&A{z}PJ4#80`y6> z2Sv?dc=GrAd%>EG$pyCC$fNKT*_-7`SZ0zi%WB&b2{Yx-*rVb!dRK~WydA6DpDOq) z7D{?6=DyYVhvDhYs~|=5%x~0s*W#y!yhnZD-xb>Ui%!bVr`#D(eJlDQ_%}9}@ms*U zKZz`MTwY6Tl3uR|Y@~EG{5`~RO0`M$Z6Cg2>GRT$p`YON@dl;g@3d;D(Og@7$j^Az zxcx_6xYlk)n$UXK$8pxa(eR;I9r1V)kusIgQRxA5mW( zz2mJTbHiR3w9|@Q2Ul=9)o&j7aBCWCvNm>%?ZtF7?0qX=#M+nHG~*CV?j3zA>AiR1<(RU2yFx^mJD0XS ztLHBpXy0Jarsrfx-5pG+5#36c0t)!u3! z13W`?-eStZk8Rav$KaQWZ6nN*G4{_DkM_kAyZu(go^z(O(1Nefa0OUcqj?L=fM=z8 z)xW__QbqG5k(ByopC`d9)jQ>x@#qa7+Z09qs^U8yKRTljii7J?!s6AzKp5AsL-2NV z;becr(`EP}s7T@Ck%!|;`(}x(I9C(c-DHoYdx$eeJi(4TRH>?5y6h|YSC?Ce>b;L+4Z+kSx;(ZIgqA<@*9X{&vOW{& zpTvj5A%> z3%$8K{xx-Bb&o8gG=FPU?sR{v*nj0mo&NyB2jPhr#}&G69@SiUD@V6h`#LV+{5Y=m zOL5GK3bCwlpO|zar~68`avn!R`A;#s@O_KQT0pDqiov?@4w*XQAOWvoe=Nkz<0i7r zyD;-$u8MiJWz_SlKa&GdP+dFuw66i1HU_+m3`UKdhi|0??eJe5G#&Z(q)C%a1 zcTnP~!gM~2(DTY&uswS7_G{{R$d7BBX_LDA-d7evo)E5XK^k{_41Pg={9 zN0}}}qF2X5>0Q*b!_LHTtR{GFp{ISn#`o9pNAfed2l20AkHoE}=pxiENd#iL6QaUK z=wd)mQU|S7{{Vzm8F`bD>0K*4fyMr)NLb2)wP|d{+ahTeK0rBiwP; zzNnYN*8V}aLyg_5l5d6<)9(^W+qpQdsu}G#$l=9sjbr7DCk#)S_p18B%6!JhJuB4j z{tw>^*YcQz?SoX?;U=yVaArS^dbIP(66$!8;cD@F9Ho+%xsBOz(-qv_@5)Adfr`g( z0PD8StT%j}KMJ>T9onDpD8^TTQD0od@!*VNxybb` zM%@`284CXZx@s2j1--Z-?d4`8pODrs5f*5&nyc)bmyZT)qm?_iYUb<@n`Vj!PW5-h zn#?lUh{O}JsVDtet{&T7R85I*aHIaYn$k6)+~<~ESNTrVGuw^3IXx>sGWqF*`^{N0 z_=e(C8!cw}MnBb>qy4LV)5aFsa5oS6W@_DNcQaXCZ{;;SXJ&khc?JkhO?oblzHXCh zy+@QduQ>4)?Z%;GE$pr3W*i@o_O64%`la{S)(eYiQ_2B;;q6kZ!?|DCRr$UWuDu%C zc$>pg1jm=ELf?_E=+EJ8!N2e>n{m7EL_d(P=NH6(XrEEi?iMLOb$E}GxanWehwSlx zCZq7jN|Ermw_dgKyiNPcdLKuX;c8Od9)aSO*`rSQ=sMTupN}2oGm*v%b6=w#C${r6 z3yrOwI#=gM#28v6pPuc-d`%2JrhTOue&gOgKJhg8nZ|x<@qKp!WzSPyrQ!m@_EtZI zd6$TyJE3qo*VN(FqK}`&d}Zw^aI4!j=o&%~IAfew1En0sz3acxGLnLL&3aKh*`gna zAh(C-Vmk`)UjjducuO7D`$v$T?)M@sYW3qdp&dr0Tn zy*_gyC>_l*nU$+9>j@Bc0=yxB{?f?o)$ccoO`L%D72%f=74e633>!Q#D<8MZ5qoL7qJdz$|M zE84x9(l?p}Uf7_}XNb=2GjQw$c-!*(y$yR_vlu#QQ`lFD%fprQIiL?*@Z`#L#SD1^ z6<<=2yiW)nMP+z?LT!NUTQ?hJ`A~8NMS*Z4D07Sgr59B-~VburvA zJPvBlhswUM7zZOFoR)>2;NuKR9tf`z@dQP0n-%I;GcE3MJdL z*Qt2518KP(MR{COXOBuEGuM1P-gS`A@QTyaQD?Kj>b1;xR#tK4j+NUyN+4n0w26tp zykfO930W>m4_e8XI!@r$hllg_@Ta{=qDN8UD`0JwDac|D}}9%2v$MwhnmE*Zu?v>JOhV$FdR zibp-Gu<$gEgPt&J39q!iS=n(_hl=cUqD`(S7qe$^;>djE-QKwyRg=pDu&OfrK()IC zZYqNKw@r`bUX%~mGqutfMW`f=(>3Y$Z4LIA(gB^LAC-Ld{{RW5pC8UC2gD$LRgsi> zXNm>&c6MUV=Vi_ot52sEWf}Qvk8c~=w*|3J{{V!#(0~Mo6bGM>WC4;^@(_9PAgGp8}gSCP}8uEW8ht*(y#6|2mD;WV>9 zbw+9z@tKd9+iCWo)7UfCd`4{=>oE{(oOO$Z2a4cd#mOQ0*p{hBi*1f54`9x^(-wMy z%KRpJ{cEc6B!6hKNf7j}D}NQ)y6k#-_|DZA%XciEov0#I8K)Y4^>{VDz?2@<$ghiZ z(~Kyozu_&kRnKaxkJ&TWtRL+oWHVMH&US}YabNr_{ zuHi-)pjLLrz9=qcqS*f$Pq4n1n&cyfVi!PWsgL0T>z$(kNqpmH%vBP_UX z1yEg1Fg|7mkGCrh8Gkx19?6JlZ>dZF|MHWHG%KKk$TvL`pxCfC>kq97zQX&ihd)9oRV&ox;{{Sk^k`j`g z;uZD7p3sT_gkz}~6=EUB%4v@gH~>`sPnMVh zfFO;yAPRUwtD2c1WKNt=4h9D_0S*fQaZcC}hVM_^v~nsf#zq0UP&)&GAg&+8v8V{c zwR#&uh`ANU>vqj59ipxx8D+JtlLv~@ND<@@o;p_}rOz@-ZTZ@~S5+JT00_-9GEcK_ zn1Pdyl~Y>P?KEqBx&7`sR9e@GYOLfWR_w`fy9D}l6=@=*YwFsq z#;rMLZ<4sXsUwO;X6Us;Sn(CLx9+XOXV(?SooDR~{$}ibD^+6#jqB}VTYw>qZBbdi zZPPNs`P=F$iM_Uy0e5Z3UA3!et7)*qv4b=HD_bDc=T$3AP^P69q~nwYHv$4YIYzP6=7~73O6<@mWJU$-c3A9=1cy~ zNme!{ksR+{)f-#J@tls;5x zl)P)G_-Dt)z{pn8X>&Ay;na@8zk0O~FI4bkbHRozp!4aDD}t@zS~4`2$I0;N(&u>L zYvzxRo*rn#T8v}vuS)vb;&!nH3}tg(OYu8NU0X(JSCFguSJUC^?0MCZ@Z^rkX^x#U zQ`qh?nE>2`bf~qM-qKTG6m{!b77Z8J#CXGw!o3AGW06H0e-1Csm*S95?!&+3Uv5J< zxw8%qPB^d6)RpYD7-mlG$@H(aycc}ex?~x_!hmazvbnNI)47bI`M-uMJ@?215rbR$ zfK)pG&1S|Fovq%pMzKaNr);JXbf*PyF-j>9-NQQ?OmVbJW)(s9D)rm9@6PO}MW_@d60vo;6XG;=G+< znXZU-%5L@KS0YI7iP-oC`7}=!+q30FjH_R(9u=8iOH0_XlA{K{Bi0!0FYRw$Oe}IK zCq0FJp?omcthIj&TP>WMvX~k5t{hBLH;L-j_%{e#=gj84zrmW6I$h)u6PA#L$JV?) z+5#<1U+yjQa}bg0W9y?dymH_PZ1YLThss1s=Zxb4FFs%Sxs($aKbKep*nY1qm-QGlb5fh)KOX9B>_+P-Vi_Lm% zsCWT6IQmz@-?SI)PoQerXz=%iiF;!KgCFa z(ykFWR~(8X(FHZB=Klb)wy3G9&F4w9o1Q&}Yxe`glPhUf@*^F)dHk#S_4pTY_8%Ml zff$X_Z~bfczv0xv_rmZuU8(&mI>xn@hgW#9O1VyJjyUsKT<|NkXv9hW^>OzB1kJ}a z#Ab*t94vb?z^t&F<89opVM}?rj@;l=A(SgBKO(HNi`5_yNt4ET73RAA#nLv&UuUTv zmFn8Xthbkn7w!u4{{Rzd(IXQX!NxFZ;*dQJF9+%g8Hme)CvSS`{w3*Yd*Q~^$X_*Z z7qPD~@S1Ja)u(Tk7S20V{{R=fNi>abrRnn$uAt#h6`bOh#9HQ`!);ZA4L(DLPny1h zi%?ltV+<4bO?+vg-rec)#dFS7<+15sN9ecbUXC}1DjOKDKE8*16_Pz-ee&9@E6{<+ zr&?I~a2S~OI5i!ep|rQy%v*uiwQO7Lo+2akub-2=j+WYrxrb|EADVt_lss1t<7oWr zs8M(r=Di9S-W#lAuUg@}R-vvpFYxBKz^~pSXDh--nqH!bkVU{47_DTEQ4rntO<`VS zT&X>=#dK*Sm=(t(9E$qI@T10-y&Q0ea0cPtvaM|uzt$Ww{{Sl2NSsH6!4v^jJ3leEH^>J;?OGx+ zAb^SQ7O zLsk|$h>qw6_=kFZu9+RXk243`+Pb8Bc7&ur1tSCNSu;d)Huuc~WfSjx>bRw@36;*! zIwe<**vE1~=nYTvd53|DM47uj)hXIG;<|fiLqX-|uYXF%Xvg1+hUi5*GrCFLT zKIZN_R{JnJnwa8QU@V^~^sYkY=IN$0GRBSvocm7;*0jFQ z6mxmQ=Ju)@b-aZ><_cr^Z z8T+HHTtrc@wn*D%&B%X>u8T`}$y3SeidZ3(s7Su);-7VAFpqdV^vw(htSOAB>D6lC zg&r)&@_P!+v3F(({7d(~m1LQG{fKZ+PfFEj1o4MVEB+OesuXY`95D2)NghDJN%y)` zFQH{>hIVg_5An9FOL!1zJtfY(}+=CeHR-(F)r%osjLd4PhxKoll)e|9; zWPjZ_twa&J@z=PlsiQW|9CMz6fb}{Lvck6cVfTkx9iaW( zR9b9q(ie<=@79C{zMWwnp89qV_m5g^3}VXTHMghR zLLxcpYIlO#1uw-^OwJncOEiR$jC8B^(=sB)<9E#A(;YQQNO>Z1wxAyB)X?+G6 zXMp*SlE2-qi%v){La>Wz9qXF9beeP#le8Xdt%h{6wetYR;quasfqe`2+H`jig*``l z$^Fz&n9Q9ivg$HCBo^D6O*aa&N&1;TA&0mVYBjKyQe98*F+|IqftOmsO~cF??z)QUE) z2&eJdzp)SJu}Q$^y*ww&?M%QTgkz1k;(!%bKQ}-r`B1@6dTM2OJt=mA*>2q^0sZ;u zP3kZ>rD8e?Kqwfr4hJ-29R)8P>0Cn5&uUcw(kUo?sXdEbf<$eZAC&;H03InshdHL~ zJM#TIRFcUGveCe$B%X&fgO1b`wioV=qJim0e9{h210YfaJS|7m;+)%u-8@s258|c* zk)M=O?I2QfoQ{-zXs{tiw`yGCh2YZh+qEW!C;(FJ$fA#NQ(Itq}ZL%4wxM&p?*@irCc5d6z(YxON)a_Jv}M89lBG1 z&V4BZKse!P-LXl+jwlpZtBd@p-kWF($F&eB`M*j`Y3LtHT#9ZgPn0OdLmk7?mnu0u zdsAu4wRt@$^co-YADy_(HFHB{zMZMZ_jt(3J*qklXoT;BQUEsd#U|ApnrTLEGt;#U zn{^j(Jv&r{VBk_mwNrLE6b$t|RE6$^#yRxuQU)D;X`4tnJt+YvsQOeCpJD$1#gRmy zw1aINfsxHPe4wx#nnOz3G3P3NZfRGgAi+>tjN^e&R_j5*z+I$Lg#(jJE0fPklK=_` zcj`3rPEk#z2Nf*RHs~1R-jp7cgM&^2i3?;r^LcISAZ$ZH(+{tQ+BZ%dSaZRRD881TH1q)ZgJRmFXDFWhv#YW#sUOLpK7D9v!d8HvoNqwxN*l7ol;ntiNam584dJZY8 z>Ub2Hs@RusUy_~2YDL&adQyDYC4UNlw?S~Ee}yz|9D&V00Y*m#nuq2j&^4kSI&SGe zVVvTSo;l*2HlU<2aJbKE0nRZ@87s%-PHqS8`&0~458+Sf05qBTaY#AoKn@0tr13^E z(wwJ?2AJgFU{aC?*V2$@JuoS7Gn$q!CO9rgCyprz#sKFO;B(fMKwgz5iC9+7+G?IN zN=Y1g(T*`dbQ}o99CU7!-@DqR0|O*ddkG`~Pi_S{bKaYtGe%EgP*t?hc_XH2?jqr9Hm))l!K)sMxgOdpsRKiVDvaNoOcx54B!rGe2if9sPqukLyhhD zQi9kS92$!*<2@FnR$u^bSG6LnIX13wLvC(y#VJ)htvog}=|J2;LZQOPcGX%=O&6!t5fnA>@XAz3PsQHbf*ksj%fhBI#ERf6cjiPDQPoGa5{IOK}$s?ODQo9 zC?c;H>K^SAJ>)Ao)*+mX9Coe-d6o@7WvBYgb*V>*;GPY$rVDUdvn{8M zmO~K@&jPW8OO)<$k;M(xvlYUOIA9KaYtS_vV(QZUA+{%a;{(>Krjcb}&8RzqakwYF zU+~;Zs%kB%T`tvA`@h1R_6TTquxe08X&l#a;#OR~M?+jkh&3BSY)z&XRzGxCTdu?f zgt81X9Ade9JqTRNv(CFQj8`&tHkPN4ohJVPRMl-@D%)N_GmZs%UyQsknnkU(rN7MX zoZ`JUJvzn>mn#@jojB`UcZ+;Qr^-@CU?qrPEk12bWkm5=G@H99UQBIlcdcKCcXs~( z+7BM2qDAOG*{HQmPI>-WKh-}0s!J;$v0In67?H7)>s?Myl*$x!JzK|m<-VJwm~B6J z&OSyRtC#R5n|tC}l35ew1Ovr#R@OSlh%Qpdt1<)5J6F|S6VdIwBcTaq!pN)F9@W8G zvR>)k8df=7f5Ue=U(IAme0}c1yf;;sSbLU@2b&@`4$;!Sj?;Ww7P&OGbH}%DM)mZr za`#TM((Wd>RUTs;f$LdQdRYolM^ZjUD!`C&1r|9~n#E#$;$I1>c02R=` zisnhYgJ@9jIPYD~n#neqA(s)p(n{A&Dm5fz`BA}Xjb~+a@kuIup?D|On3{f?mlEDy zCSP_y_OC71E?G6Xjj;KVx{BP7QNFto4oOkYE3IKF7|N_qLA%r=obQ7OPs%=(&gxdm z_S+_Gmg|bjxwqCbv7~1Jj2haTLb{g8E)3+)-a7a293PCuN8L=}t(;M$?Ai4v!fRw- z3maJ!?I2_FuNwHT;i9rgiEhJoNNiVA@ax3~P1D-a?roAM-A4ZaWL9s9ynAo0+sl7} zBr%f~?!kpce+{v;pR|-&)ea`1QF}X{Iiq+?Tj{1_8-1yV%KfuhI!wC7wyxHfFf+nW z?=UMy4h7I&k-*d{u5KtmkN-O!%9`7BO2a5X`$=XLjzD!dv`6mfq*hwv}CxHe=LRhIo@! zWk|QlvMsnP?^&K1ytQp)ChX=sk4pHgPYmF&nZ#ohx*tIdeOkCTCeKsx7sUSn8(z(I zr@?Ts*vy+52>HJX^MPY?c^F%{PQ@Q7IjDSDu0f@lB|sYs#d*qnLAZ4a(cwQz{*TKt znsniMQTz|h@i@wpn@yh4Z(*mcvqY|i$8p!`NvCMGHz3P)e7x|=Phnm?Z{kM0h{I^! zRK0f&)r2*F5ZlipOQ^K0-*i{yUMS$^qZzb)FAlr=r`1;4e}qvD*pQOjyL_Bk@jQTEZ)_Bi}p`jQK4mMaF~jBtMn^zZFmBFDp#w9mM6g)Pl| ze=Y2$+@ed&L;!J&V!QZne%av|+24CBAD`)8hVV@19L2-T`%L2uo*h{9#rTws8~xc;^C*Tm?@_KM8C zIm!30)OfO!R3kU!c-%QnQ^hpREPg}#}Z!QvA=saf*e4hL*kU2k_C{{Vw8t>eIFjzP5jE6Aa{{nO(SmOVW&T`z|9C{n`Z zREL*i{Jz!d;}iCBXOD$m`ad*$TV`x^`@3fWcDEy?ezgAp!7%La$uaNY=1o%$-#k!WO;&+Z%?skNUx+w;|Lr&5(9|&p@YQ6-CZ0=*v?;<_x z{Qm&s*6{eslV4J=DWgUyD4cwjPAjdsju_-sMHudBQWy*5fKXSN^_iZR)oJ!Q7_4$PxY|2$R##1dmvJEb zR=kV$tHA<*A|92b`f!1PRNSU*(c&%oXl{^Z)6hbBul*i##;z=WMmB_7VV@7p(7dYrEG|f3u zGnxY-1Ir+Gs=sGckgF~$v7AS+bGO>Co+9&O8TY7^Q2CLX)^SCN6RGV`vJJm5=C>Xo zgJ~a)MdT!?GupFs$wo((++})nrZNQuoK~~ra08&CSmK#Btv_Z5Jv2zs7GAZ1_Au>& zFl(c^w~{GDf5T9Hljh{&t^;)RFwUD2w*@~)m+O^0-R)lad^zrBfgsP?in`l2!x&IRWOaH{iZ-gAZr z6{^ro#GG?ZipkCy$r!8lk|*k3ML6sd9C_S|lvqO{+Nr^b?vN>{j+tRE`nz>u-wG>2YkYvJ**=xOro|K%=KyZ1SlWxJU)fN74mkLC zNpbVr0#C50zu_0qMhjZ6{qifab>y(Ys>GLlyLhcuV^wt@_AMvS9-Qnp$baA~ z{uJN%LcAdfUpmP@@0I@m3hL#FRC$Vak=m*>2JJaK*0IM_?qe*9mtzQcL&8zF$!LUs zy1(H|{{RS=g=FMfC*Z686?LGM8_5R*cc!hp>UM@JR`Jz4kg`f$iZS?C!jVaqv_p^f zNBC5e=zbR|g|$^4z<-5L_BUBRX$~qon-|%LT%6MS{a)mMVN&dKT91Xi9dR1H-LM{0 zZbQK5@~s$tFZl1nHtVE#VswVa9wSn@!2bX~)n8WAr#7mG<|CX}Hf^L9{{S>6ceM)_ zDXU1rSzS16jpzNTJ|XGy3vEc5(T)zp;}sUA@e&UgL+4zB9HeLF;8&RHHWzI9TYS}P zeG>4E(4PqFn~^)mML3^shpdM7BH}PG0VKK814#XyS}+=DkkEx6HAw2end* z;ksE7EsWg{@~xX~4))sNWO1K*>vbbz$g6;w=tbg49_L56fqLT@_5!|OvHjMh$@g|P zbM7nao69+6v6)da`26eSJDYo$HF;u{G5f>#b6%ETStn!1$6+TGvFSGcE4lMTMB^2I z{t{0yicB-~u3E;)Mqlrmy%ZY=B}IJ+^K+$Rqk~pUHTz^I=k%n18r~M&)K+ws_Tw2C z+$%0^J&>J;<@BazshaZm)>(c==~&kjMR72nJkq zP85@h#MvrOxl{_9?Gq7(pbqCnyModjP4{b}U29F+c7eLQh|e+&qmfaG?(^~r0>@3L z$S!W%Z_1Tt!}8nd_nu_fBDprZxWU}LDm!xbCw}dqP-c5t_>)YUTyb3Ah;A+J+%zO$ z3iG#8Bmxu7USU4L&p}j?T!P6N7ZFL@aIa$1d`qNT*`>V445GX}u9%P*{oa*XUTNQE zdew4=A?}*yv8G>X`ygOVdHfdes_rJZ`2N)&5xF2!&Y=MEKn=fn0O^rSls$>-8V$sD z(({0|+znF6lWRC0_46}ox`eEJld#lZZPjFqqfSK}riy{@7dnoIX(?8a5$tM<_@7AA zrAx>Ge0B!B7)rpCJe!)K{?!rw?N@d?QOa(pBj|gtjTRnANbO|bjAIq4;r{^I%U19_ zVhbBd6?2^IuaqU!8RXp>eAOM*>&Xt;qpYU`UuP71Kg2KEW5@n8)FZvLlkD*W^KM*Z zeii2zUlKf3sC@I@h4dVX;TlH~uw~(T0aaUUtM_)1LV>3&4ubPRP3=GL5$_ zB|z}0&kIWxB= ztRPhAGHS>iPz7%({{V)UWS+HaYWm`r0~7%Y@gL3isvX|-VU$vB9+UxG1Du+a0=)L4 zX5)%Bka0i~Vm`U%kx2gaFvYtVp_dp6Ge8pV6wuzBQ&9o!ijYT+)Bx;{S~qcwnoN37 zMt*Nf1z~re;WXXS6ZeRxg&%s55!V!$!!rde9MfaHVe%H{tTa-v04@bsi%n8Dk(v+{ zp5jsWT+lCWSD`;z(@j1ydT~~k&fYFa-R(>YP~F}Uf*6llal5Vd+m3pp*3Mr9EQ$=Zp>tveBOpAzas^~Fn_ zL-^R^+PV}Gmd4&INg#=aN^$8$g6As?cVL{c_Nb-0y|?*%%$nM{W{YtP(zv^eqSBJh zgW84)=Dd2P>W`iC>?%*~dzIuiE1EJsbDSEDq?7ovb6K`NQ>y;}go5#T-%ei=UICof zCZ&%XYTh=*oZ_nD0n z7Rndq2Dpfv-G$Ij=u?Zkckm6mM`2=VL{~mM5a0 z5~`2hE-B06aCjWonf;~96E7pRNVg0@IKZmZT&uC^>*6?{0QIX$s>XhH>0VAQa56ho z-));_3t&;Ga<0d#jb_=C$3x;q%8jW>r zIOl5*&b*Y_>IeN}98`f!1Mg(gVU9LH_^<7lkAn6_*&~=D9g7E_QB? zQcXmY&tx{sH$If?$Lx-de}sM#xWUTf>s1fIj|+bZU(T`{ShxfIc^=gydd2(y0IQhb zQK1A`&RqC$r!5;>iUTrQg&i0btl=OKjBMghwd;K z_o%<&OMp|rk@dChT4;nMxpG{3HU%1ZCO^Tx57z&=#gtwYucYy zxivEQp7lBVK{RR}$|fQBM{)-;uN}Fl$HKde{{XCCPW8S2010K@{ho2$X&=PbsCJ1? z<3^$Ek;`2CD!PmojmB%H(7ZEsrdx>TU`VHb!c%t;++4A$?c(`?>6$eUWR9vmHs(XM zSBiDcgL*CSrm!u1bntbLby@!agz8z2(;mT5$X6k~;FNy^>hbGWQM9Y(25^I(Ncz|A z7ll4Ld@s20ot#&Ct+l+S-2+DRC?Mc=ufgZ>WRoF_A1UD1DA3 z#8xtf`(v;j7uLFId!#%u_0FZI+TLo8;lTr-6>1GS-X-L1IPYI6r;a>8ujVX_8my0q zy819O$j|9p`*ugwkEO4)xX9lC&M0s+WllbBEAxduC+lw?mIE&p zU49~XmNq8c-yYmj_M!D=ezn|P=uX?3bdw#!R6^@R<7A7^ze@b19~1m-3S>(nFV?p7 z{{V}c^}I!=zIJBq=|?!etbU=(d!}$&}AxWm0hzuX;{uTN0C&oV*8Q8&h zCeV6SwfNuS_%WFr;-YmfX&P2K--`MUtrn}dM}geTPu*UX<)^@&H}aL5Be{S$2y_nd6%}qr2hFerx(XZh#l79x^teD%`2P4@{8{Sc<$y6vRcT?7dTWoAXnSpvt_oh zx-qc7ib#C0HY+L3cr14eNWR_U6%ZTm=E*g{5~2bDMc^iy23gJ!7xPSb4mT8mfv z&Ffyb;O!O|-Z{+CsmS>&@i_j}emR0cFqTH!+cmFk`(*gu+0pjN9>c-UTFcoLbNWEj zlnY45TnfYSUcCp0^w+$T8^HNL3j7XV+y4OKn&LPwB}7mF8><_{Keqn>#4iv+Ak?m< znEwC{PfFGl*_>fx^ee|!n(vQ()2Q7@!I@bCp3Ccs{NwnMqF?AT$)rYi6(@Y1xvyva zn?GqyOUF9g-V@hyZ^|?6C!Z|WfBQk`I(43jb9D>=Ovp%a)SOkPZ3{muuJwD{DW;A$ z<|YfluYK?ar)hjG?;v7GWmn0`&3G=i0{LFNAiNd*1v!L5X!INSQH$MpVGgde*vfbT{!&C3XQ)`Yxn2i zkyGJlRePsj!lMzft!1I-ZCZ?G**onBkW3^LibmaqP>`&SeteMeMSZ5+!kc9!dk zuc-Kn{{UPu=z3fP%`eN9uX*@!@YOVE7W({dx<57#V^HH_(y`CUqFrcqt95!Xjxa0J zz8*aHF*92K008+wtiOn|8=WpYWAc=2;CfcS!JCy~JV0m5QC?O*NN9Fp+GnK=cH@89 z?g-CAitjX?i3r)=y!hzS&!|ly8$ohKb=L1Kuvq&F`M5K)8D|?r>D~~>Dmkw!@exM9 z^8GWK^=o-Iz$7NTr&_npqQo5Jn)I+s-$$Prd#v)?_%U&ka07morw!y!AKBBms@l{~ zg2~E;!KUc8Vab(_7qxvm_))_psjCKr_v#D!hvU0+?*&}Osxo%saq|FY> z(bDai`T#1;t;}&bfzQgkiptZOp|uQoBvY`nJ|y`?WXZm!yz{{WdBkKrLu^BDn2hJ{ z`&AJW%-dZ4>OZ?sNqFfgNTb@LibJ`h5SnH?Fe(}3o-klrDt0!T5umZ?OQhcWdZsys#<}UFWMD{oA^}idShHSU+Gq^ z-X-PE2>w-pJn%|BNjWq<0O+F+c#2n`t5A) z$-QTlw-4^uP_|NBFhDjU^q~P;cy{w5Tn>h@H3%&&<@1z$?bf%iKQSC5qWoCqFf3Obl;{ zPC@jhe`|S<LrkFK4&6>I}eW1-QRnV6Vk5>Xk`Wz2XABTSywEKphwgBQpI^V zjKrBBccs+Q#*LnrYSZm*cJ>tgSeU{_FcCTmgG!t%$9LZKsC7$#?T)yjS_QQ;(iwFP z+kR4qikWob7EQ^|9VlCa4$~OGHFZ*Jw^=(1B9kXln%LU1hg7RYS7D1BcEvK~CAVP9 z-?d`PCD?ptX(x&wx*D2oAdP&e*9}^>(3F77FAs|4-r%HofAxbL*IA_zcM8cP^!^%U z8KOr!n>%X7q@&N_vBg`yNF&Y^4c+S!8=G?GIQwx;2>;Rc)%k`^Ke6_vFHh-G0sz72 zYx@xXdm9%frc$JufDMP`=xKKM6ag!36i`&tazz8X9ZD%XWOSfqxb&nJXm?RUjGRz9 zZ0|thK8s4k@_DCW4X|gUF+f-Dw6$$mvfTe+o#OjpbJaQl?yOBc&+X4(di?aB+b^;shMy zJt|MFH-XQsIY^^P<< z091pT06+s1N$e;AzZ!5A039jWz|Az`m2sYWcBBK*z+f>>WKePsT8{&$r{_Iru*a## zN>t8wQ+rXx0Efr~j;y_@U4a;1%8@hFQ+`l!-m?!u!Fb$w`cs(T0=)fcxNd`iO5=f^ z)DFY=$E5=p#UFWcds7j&4h2bW!+*qsYEItt@xZ{KtD#Dct40nnif=i^JY;pCt9Bc^Y2&p`ykkAh3$%>lns9nn zVn}v4=8To;N-1fFH(_(fN>D)SOav*(r5Nfd3f+Yp&JXa^x!sdZ$pdW)K1|dVu%eW= zP${G?F;9<*OOxWysKsb-P$9g27qM~v-m^x_D}6s}Fsseo`P`5$+tDT5gIpkk$=-rEukWC}st zHx$lsPh1q{gsdg+2I7A02P2wLdkQ(ID{UCPu})4nG}Y&=NB{#g2QP7Qs0(*AkqiRE zfk;M1M@o3wt5Wt0XeY~>P@s&`t0`P#r%Y2i3Xn@eWfY{~0w^6RGRK9bWLq8w89hx% zs9TB$3-3|+tc}3Hp&%qBAsbhg6&}W&eqI<;q5)HL{pwSbjl5K_+9d1+k4XSNWXNkrzSq}{HPuJ3O2aU zr6(AmADFf{^rZtF(kM}sQI7PWbHyMzqa0KK>QG01)R?8<@I?b0ymL!QfIkXwpe{R# zGCw*+#V^g*u&855cGFJdr7VlUJu^%lJ?RW~cKgvsd{X;R7SJfq7^0L6)UdZ?Q_qc*Q9+(0Qk2XaqP63R*FNMP|l0f=3v|C>Y}u&@;v>kv(W74x=km2o5!KNqMg&I;*Pcsf!?J(0jS0)+k%`_ zGSJ~lIOdbDB9w8-tk?>q8eT;vMlvXTk&#HN4_ptIr9WutiV4JHH5T*09cdIe1Jkt_ z8@Z$)N}KM@j&oriWwFoCg$`<1|n$g~vS7WM=}Cb1xmJUT7NF zUX-0_XzftJ1r$+8tB3|F^`IrNrl?f0Fj)rg(z2+ojp?2n`%Nq{_(%t~Mw4N~fyl3o zyaZkXk~iKs#eR?cL(z0icfz+*Yhbcl#&&iBz7P0MX=#1pyW3l(%u!6@40PJPE9CQu za_W)v8DzR0XNjV_w$b9eyBLX^it~LRQ?>s9go4~eOYVL{bQSIY023hdEEYIM7dt}s zubuR*GURHJq%k`(H!KGWn)9%7a*Mg?)xSQ6)E3a$+oMl1s0=gp7397y)T}N?`Y6B+ zw1pMg>M`6)V-!2Wu}(#0S?GFg!Y<_|P=A#}moA0NV~Epq3!O^a%zxd-*!1GDq1H6b z3hk{Sc9+W}Hb;MI_5T1CT3lObB{c9OZN8l=!mKnY7#oYvor%sz71@WK&S@j3PY~MN z$|aQTQT#aL6}miOZvy7g7ix4Et{z=KETZ25iN-Ng$!R5N*fNX8Xcp%vJ8Jl=SfP1p*y(42g|PAkXto9MLLMHs}6K2h5h+k6?nx@j8S zNb;Sx5GrSu)SA2yb7UOq(;p{n6-a#r%EYtB7PxMl7-)zC8_nAAKFXvy-<6 z>0Eb+f3u~B?6(e}9vj-TrGc!PPA64K!R*g2@cxM&x2LJRK(R-Td+}a_XKAFQV$LYh z%6B5U+pR-Jva$O$yz!vuer$BCeJjSk4bh}$)h{EKPTL;7(=XsmeqlvUgik7_ZAT9) zNuN%5W5W7fjiA1nBS)2YFBs`wYwm z>3jxOQ-$17sQy!$l|$j9tNH#74=!} zX^zd6Dn8X8S6z5&>h5uMwGb~%98~`RW}XCLaUv%1x9<*>@TLC%?HS`qk=irDo~oQz zC3o?&#yY&;G`l$NFe~?btHH=qg6BuWVtAIMouYmF{{RU7foHn@c@gu=^fgBBT=3V?|3gM z!_~v7K>7UcrBzV+g8u--f=`}1wn6~=tyz!aQx=wOR$rBgILO+63i+B%dgd6x+;hiT z*Ii8N8cX0Zve(pSxivL|sb$fenO%0P#^2|0X;5-XpuqZ9&ze>B z%tOs*cG=F;UY%`xmzrBkG5K+irG8`K>|sk6I%nAN1?7ghi+$oL{{XaB2uSkC9G_a8 zY7VzSyxerj9+l_X?#p7+=XcG8E84N_bql!|hhk6;O@8e-S~fpCg1PEmFT9Z1$0(2y zfJJ6$TD-QmP~Q=clqVHWT!CLox4cHmDsn4}U1m!>G3FpT8vbm-udiDA@qt{TF4e#R1PsE^KZ*m=VdD5JH~rngDdjEtOdR`sp6+Mf0FQU_}1tS?#%#EdeO z?@aNAqR~jwN6PFO#e8>&v}xDCIUes0R-HQhvpancP>$luP=)?Nf4knYZ6bvhLc}&R zjP&6l zy6XjRD5Pu4^c9sW-okw4DzRfMp4GpmU!(b7XU5j*JuCGr#+)l*Wfr;~1{KN`Q%9Lb zmsXQrdggmkVA)Jxvn&dn|5V6(+!=K&*k?w0_!;*cTMzxrbWf)L; z0&Dq;E9Aj(1NA>j#8Z`g8ffHv!zQHc&Ty@OJuA!neQGXJM;w9aUY)PmHkGN!NG+4j zIu6y!>(|9TVjeNbe*!fHqXG;?k#QY(tK9jFo&Yv!3P;u#BYHHe& zYPL;r6oeR%5Z=63z~sC)4J3SQCm&k+)4}(zuXrUqhTU;(9%cires93I=G>?r-xc6u z(yWaeeMWO``{ZJ4N5j4$n#TLcVVLIm593_?2`Pvn`9K_sOEg$@7y;w=t6!(`wtOOw zCZ@-aEba7Zt?rcL&u%NA(H>!I3$NT|8LGb+t#;|!W$+u9Jma=0bP3k#&e0>tUo2+7 zh&*Dzx>*vYSrCqg&N{=hAsjC+D!a@TPvmGlzErPd~5a3tf zFLU(uuv)@aM11t?R)lZnmhH_vMYV8v#U<3u6iiPaE(U8-c}&Y~I_Je&{icg#yU&=b z$Gv{I{4?;CpMpFcXJ8OVaAIFO9-_V}{gnP4KBK9>inSO{6mE=>!7J%sqEkobZYjVA zk@#1ej;*DSqROzJZJ7ss!;-O&EO)3b(Mn<=mL8S49Bbv6&lN45qIrf~0xQFsO!^OL zV}wh4mqu*luWG$-AD3!a_0LMv)oo3j;z*CnC*Jg^ukf}jBKN?omLI8n_tZ-rJ28Ew z#tu#^au^J-klhxyG^;RlG*{&HsiM=wP;TzsswBD?My}}Pe#)xe)lzFwzmdgsk8H^& zs?}+NG^)6$iZ+C_F;dyb3O-uGzOf7budi`k!MBrmDZM}>NB`kCqACmw+PGfrg|ES2v}o^5#{$i>GrtucCZ9g_i*iq zOBopUsI7-QDIWA#2T3;BN?>EPXxqw}Q;dp->{0FwC-GK3M)!DrSeSAj5kWkbIuQ~ z1;rMG5s_6qhU6{>rAy}RjcNu3-*RUng5oOM`JXMo18+l6$7^pZ5g%3ctEwTD4(=Fn zRpD@t<*x@dq+)?PGMTk2F5*5>QC&wI>$V;kde+IDnZj@vy)20da*8_oRap;1k(Iv6 ze3?e~$9fV7NH z&$7sff0cFZ8Bdtt`&3VA81G@nwH5?$lPcShfxA7aXOA(40|(N&b6}onaJ(N{k?f&l zJabd2e1|eEB@hQ*hpktN*XGZqZVPLqESUKlflF^-$0fJ}j8fD&3K2k|umx#|QbgMs z+G)6kC;58xtMS_eQy>`4D>AtXP}#6-KQ(o%;$AV$UblhxlOHd7u=cyZdZ%idEXk3B zEt+tsyMV0Am{ue5ar~>O7=}MJhX%45A#m(-$7)w-w2{rR5=aro-+FU-crnHEH@$EF z0B1(nQaPl3F=GdgYSmVTsiTxtW#)0frb@C%H(T&MD`486I0?tg+M~Qxjfa#tt$FTe zDrN(Rl{UZL9cv~<^8P{xwQtKHMj2cWTENu&u_Cl*t!K>9%_tdjTDuH|P<;hp-OVf$ zeUPq0R^k$myqe8On)6d0Sl!b;)zeC=I4j}qWM5k}0d|6;73aE@)yP>RF2m;eYubE8 zX*5cTgN4Rx0kq2S(k^Zj{fM(&37$;oxaiJ^Fv#36ze=)W+CxXj_*Minc*vl8oeuUD9ZNt(I!_Q? zTMf55eZu3eP><pI|;`~KA1By!}AwFdh|jN(+!)}_<#qg<;@m7o{OJ2u>76d1~!D9NU^#j`k3B7%G7 zm1lui6EYLi8LYsSqQqg?VEPKH9_`!?D*H_U`Mks*UX`6DtzmDN{KRKHl+XiYaldNx z$4ZS9?!x@5?NpZGi5nqiB>w;i?OiprHgc%@RLgJd=WP}%*%VCCrWQ5%hf|7hTZ!1D zMCTt$*?BYzQHZCGX+Yp3X1V)~Lt2(!FH6&=EsvCh$TSbx5)CTl8#9izZ7h6-^N9d2 zN`ZVM@v`)JmiiUjMcWqUv|#u}@zYhpzK3|J?*SFMgon)-n5yxK*!hF~+N*JW1X)yN zX7}w~o{#%7d}{F?sr{QCmvw5`EM$@v34vXS{fK@x9*!~DdVkDmshgfF(JwRRrj=i@J#QG4TO99 zErY4S=~i3*34!rDXPEc4x%SO3t5jQ{`u!Gud`YQ6{7!M~YMIonGsJ`st$v5E{1Y$Y zng0Nn+fY9mj!*a|H^kHT?(InS&1v;Yy@&PsC+95s&YcPQqeza-MEJY)D0C^*X(X`u!8~E%luhx$~N&hf&jR zKh;b5@n5bwm;4fj-p($0=$mz{t08_LVrp$E6udy{>_$D94+gDMhUO>uvbv5Vu$NUrP<8Gb`w96*mFoCKb z8mD5GGM97b)LT|f!Ib0NRp{9o9m5<~dvp61d~>lMyS9-K2)`=>(j#ivd{ z{{W^fQn1tPR54V$oWk8(=N;;CcMn6_xq1ENKsGz-S-)zkSukH>9&;>hf!RJ*C*?aK9sAi%06L7AaWgt z$N$mU zIpX3xeQGcGNUT)j?GgTTdjRA;RNf;tBH&bScB#dAknuIT@-8F%#Ul8Y7Hs{ZKg?0= zLy+|7r?O#&Y!g~>U$kf;hZyZ%ST%ShT%&{Zr5ePr;lbUHN__-W?DbK6vugl?oN{&W59OR7@Po0<_N~JCI zAe9*Wt7hVRJB<9x?TW;0JzcqV1GO(^1ybRTcJWRm9BtrMh||=7H!dp2*{o4EGl~Gk zcZ{w9)H3Sx^7Qu5oQN3)?7lQL~5aTxZd z&8S_=@?&T7HTX>oaAo#M*^M;F$&yzR+7OKT?R?2wqdv@kpgWUvVEE1U`m zvDp6rYeWwORe$YhUQ90)%ssgnZ2lDqT#mTK0b`}qFPulR6U}3(n{HdFs;JVb4o>R4 zZUX=nd7wms-}gCl&uYnQX+}$MwYld<3_GPG*j74TwC+=H$=ZM+RBT}lSdSS9Tjrqr zm{p;nFVnYr0KX(6ghR*|~N)~Vi4r)VkVcHgeFUK^|^2dNHo4l55o1FHp zf_XD)U({D9lVOf&a*pP|+0$svL?dKxkl<7cax>PU^PhfK?$OE@Ew%%F?nPaj*Atof}a7<^);!?^FX z^M>Z7FB1$AimZ#sQ`VU?6k&{FtXF1~O$u?2K9w@b1Gdlyr=UG0l}ss64@B01I5L-Trn!%)S`P` zxo0%Ti39GCWO@oiY9#rWh4i2caXqOy>-bfYws^_leJe4b@|11qO8I39D;p1#)Z3>p zz#pYQewz|)VUNPG7bZ+=0#BC}kKqZn>yaI!GdfbP%0S6UG z827vKZ6uwz01;ma{6f@)-nTW(XO++CUv29+8a(UJ0DqN!e)yfd%e#Xgt5;q@e9G~kf_CX?;ppEO-oN2q=Iy68-#aSRjN_>j zJh$RqwCx(+TBc&)AEje_E!AMtHE9+`+LGX6y^~S0wbX44I0h_Z@~;BcG^g0Wu^J#sBt!VfLJV4xgVVLhy>Jiu~2 ztL1Skko7rNQ(os$i%zq{V~X-StDBut=0g_>PZiec5Z+#o_7=G)6kA+2{swE%%l+nZ zVrlZg#&~9s8&?PGQrja$W3Z5HT;Q1U3c-XOD4OmsBi^m-2RSBU%IBJz+3qGGM{1G_c`hW}z~lN- z$|sIoTOnL})E5&`Ukn6`&|~qWXrs5p@5wy}rC4j2qJdqLpy%sZw--h8Ddi7AS(;q0 zb*OKVRk4NZT@sa!1R&*D3g@7(g5kW$I0m{v*72ZI{2&48Kp9d>Jj_YJu2WYe&H|sM zboUYY&RiS;(z8Smz1sP_)95o_O*^eqe;DGf%@koXoF0Oh5en>4jC93RyL>0G98`57 zZclE`W0E}bI#qcRWs5D;bgDKo+(|Bb4yLyzZOertky2UBt>mNSB%GWPU51r~w)EU9 zpSMeIG^E2G_0TMlLjhGe2c{?j3x|(*RZ!#}r?qL!i7Lk%bQt2YVP!IJ3Qjn!MwNV_ zno)K$u=0^xlPRpbhPj;Yk0Egx{`S)JmG?A`&cKK-4ANFswhC*hw~b8nth8<%UD|yH>Po=etGUwPnp~Do^E(8}zGt0Tl6@h*`Pm zT&=V&Bn$`24>i!=YJ$uC6fe$u)mR~Sk9i;lr~|9g?;?l~m=V&qrdZ`qF+e%5I)=s8 z<$iCGtEn^396~5h%Dft+z{1pIb(bpH0Q9IzH0TfA`c}-AR`STCf55X^KVpOd<&3LS zvICye?Qhmh#>A+u(hWv*DQ^58l?pGAfmC}`GO@OqWdkSQr7$-yB88AN*drX*mfhUj zwxx?@!mk}Gx4V?j5uc_z4wb@Kpp#HCe-`eYssQiw*yaiIE*7imo=H!W?^gAiC_thnkPPFsW}H0VFG|eS8f?N?^BBch z)1NL8hDAvQv`H8eaC_A7t(+2PsHTZ7U3n44L@TwAwO5MKKF(y5lHR?mZ6mk1hzA(% z392{2E#cezEmj9Oi5a=_nBhlC>f#9$U?(6}9hI8RF7eT8tB&1Fcmo*}8KaoJFD#?V zLd=2~{_Z-8 zXh;9j_P|7pS$M~4a3QcgDT?1V;4n`Zr!uNGMSo%+&trhaDBKQc1Ewj#g#Zj&b`MHi zjP0iaDWn5H>`B1+2TEo!(vS=aQNq#&j+Y}N2^rrNsateT> zG*~PF03SDA)Pr+!{{V$AIKiL}IPFpcjwxm32HHD z1Hk5=fGRczJX8BnG&{XFjDRUc2MdZxSYyG@BaBk*1Z4K4-{>e#R-mC(nYxT(mo(G& zcJ!$NkhtqWtN`MdaLyEBnkjkoqzru+G*fa%J*rB!gMgrCILAs|;CAaudgIoR_Z0P` z&{7NmPQYGG06IKmk4iTdY+{jqZ(u2Nj-6;LTWBsZ@{ZKtGI2>8F4K;pk^XQQIH&~l zB-@HwVz%#*sYf3u=qL*;7aNSQ)@{QEYXXU5u;~D8v%@>%ci@Q0` zwG4n9slcXzfw*?3V;q`|guI6%Zf%YHG`$ZL02mw$d(vuWEP&fj#{yFahCD6y|XoFPGF-VW8k~!5F1co^gsCGZ5@C zL1M>h4wM4dVMiR|kw!lEFZjU-cj0ft*9mpJyM#%Vwp;+sLD&@tYW z?OYY2FTIY`q^mYDfmt!Vg~3(NN^)*x!Qzrk79N!Iw5~IZRF|cN91Xan0B-c8z|TBU zv((T~WX9M%DpS&!#BJI7(YI&rMk7N^T0Dr8|@Kpe{HONP1F^IPFVP%CPkLlM;Ru++&PTduE&|TR}10V-(y0M{0I4 zNUnlY@BrhzG-92S-3LmZqUKEsDL|wi)P|(1X`sJOwJMIAg)s^ay=nY(r2K`u1jy!| zI^vO74o_-L$2+@FTD6Cfw~tzX7{xR&Bc&-B98@8sJLo!4PW_Ff;gx5sbGe#L8p=U z(qk0ifzqPIbOi$$r-u1T(|cx{kw$}vst7#sRyKplsMO?Ob4!zqRxL8Ri-4!)qd(zD z1`ibS7jD`fz&NhZ2U>Enugi*0F?tFWcbqrjP+irtoEio#6j6>S8`L`Wqo+zJph*P)(&LUOz#IyOSd`r2 zgPLt14s+6#NDL3*OO7#`dPjl>rDro}8_;O>8s)QT+JXsSkYSM5#Qy*jd;p&d{7d%j z9)BTbV(S|83Ty0{wc9@q*-NP3u}Dy4l@;(O#m|fjA)dSDNQMeQzz@ z*pe1u&sFJO1r)jYQS7_!bQc~a{@T<&&8G9SjE;h@cz%6K&i$pn%CAm(SCi~+mTOZWs9i?}}xj@8Dsh__^eJD84@ z+i7;9+T66iF$0R@{?}n)cX6od@_BK_{CWXhxLl7HQ{aO!`sF2~XIZECe?=;?OhA-$ z;Zg)1n&)({h}t)REe*B1E#=8M%A6b;`Ga2Z zX1RBCZ7ye*VB>aclA0|_dA`+enGr`V^snk{hr=AY6k|D`n&R`i-0sZ!>%>2_PNQ)I zD`^W_uy4J)IjX!mLd0su|=WN%X>5BTarEZBgz3ExkcK8+(Gp1#N3BV{bG!_GHQ4Fv1b0x_ z-13wE00+{!slR=4mn2|h4c|)ImU!D#)9w^;9&*+Ew~VJeCU@Ik)csbU`$hxh`WbTD z$LCLN0SKXv7uZ)jh~7pE@*ba+b-p8-4>a7{e5Hua2d#24yfMlaE`3dZRArTv=tfEO zKQYBg!fhAy>+@%FE%xqNPbaXgSDVbfOK8qX$=iM}H8EU!3a&hgyAzwYiIm43gOVIfxwD6YrOVQO;CF?8apmjX||2YTu>ebeYys(IuE z#bfKS`4{Zyp%y>~9V@8t+Cw&%brLpPJqM_-=S-rX)VPD$d7pWVo3DVsk;3YlWY1~k z$MZ2c#bUt>mc^r$a7g8AxH3yD?P)0T*-r#keb1L~F58j7{wn^EjTqFXnfb(dp(_u$ zxDx0sYxj1j;=KK>h2EJXkKiO{>0Xzl7;hw&5P{>z6~gLPt#1v?0QqBk5Uc55&t4{E zvW6vMI%s}_!+5r!>6=#8R`;F^weo&h;AT0mGu5TI7RM-7U^r^^j|AI&qr?7OgoVkj zYgE&Xz02Wz#0QMm-tdhdX_Z04vEXKp*<#ygkwdNO7V-ek(0W%*9;rR`lh1JdR|7q& z(`mNiMv_Rt=YdGNd~#V_$pFJ_I9|fJc)I~srV3H?HOui3l~mEnczeX(*}9{^?}(Xz zFWSA1_@(6b_i-o6RD9s|ubHi4f3`}FxjDuvNwwW?PM^vX$jHBSdkXw_gY%lW3{$6l zE`45Wm#jr4%6(6(FeS&(hW924nY4`cBrc~&b8Qz)6iVboWn=(^^U zEP-ujE~-b~ujq^q6Vk*}<+<><%&xv3rMexiy9{?XNpsVR!C`Qky|kt9yVMa~h53Pe zKG)G<@WUCe6x6lJ?scn3iSp1*9x>9t65?t;%QRJ~z1jBJWln4-DeOKXu(*=>hfZo;c;}*?V-mAF_CHi?dXZ zXopW|dh?pujv*TE9Ff+aBo5qx#c0~uZ%o(m?6*I6hQ(;@iI{J8=+)%^00;Kz z-VL_XSAdF7=U%^U8c7~U@Yj`#h0mkHPnI?$jjeD?nwkx}50%i?Yg=K4dRC&3v&J@x z@~va4=0>bM?XZpwVCw8dQQNO#xvk03-fuaM2WrXI3<|3xhYSxDrTP~Kq3K#HESfxM zzkPdEuq0u~*b(XhtD#yPHe(>O0?%$corat=YPsV$X%c!Qrx z>KZZ-gIKo=Jj?-#l@p?kQzGb}Cn>=rn&xgmFqs%&jw`LYRvdxD3g&ezOrBCM4JjRv zna@4bTf|v-&1Y?Ez(oA#p{-`Mm+nXb6;fM#0;qW%1r{rusw_OKc2e8()7qNRn`jpU zCpA23{#h9%{{Tu@?c|f^W1nu+`9qj&G5LdZ$7tMJP~W;^E}cY#8Ix_SzpQ9?=iM?+Aw?1)-E-3?K=hC|E; z#$;hmhI`@^+YvlYvpL&!-z z1zHNqHm_V%Fud|AL>Cy~)R#9ArW7B$@|sp1$*s?t^*Ts}ioaf!lN-pAiBREx zooh#MN!;;@Y67`j!weJt_mJZvnJFXMvfi( zewBcUb1b+60M~sm^AN;W=~)olvavup9VoDSR&tZsl(}4vy(?r#Br2v}gP^TB;zeN7 z4o6Cgc|nUTGsP}YRZ8~PA)m`(g*Bz+$1e%@MP=B+Ws`Xr0=FY&c?59}m%SW>%4TiU zDYIewy{es_oT{vGT{Y#JNTF18r`p+VU8jnE#HBkN`r2W#2TF9-K5)o5uB6$3F^(y| zLd2wFil3{Ls~&kZqXyW^pF>!(!eMeGUCCaPabRR|Bx9v!>Kb`mHqPBB_7*MGJnHV= z8KWR^?Oa9PoKUt7MS6wRlDiZ4eXAPlOlMq*mlHQ5$==>j#IHWptKpkgXXW{L!Zg0Is!IIq!5vEjjuS2-Ck|ZHi0tInWTf0e?I0LP9 zMVLy8OH+n@Iz2;qXWBoxiskjYaiowSOaRzGC%*zZiuBu-w~S)g1CFN^%Ux;XQn>=) zksq~h86ItXG+xI$qS(oHzGS0l^{$pnOEiZeLpt%zbQbo|TYm3_Rqa?hq%P9$vR%W{ zy*d?r%P++wZpDJY<9TVaf zqow%$pq2js;#@Z%jGvKBeNG1{P6xwdGy0R#8XhgHe#d?k@RgK$hNpiV%I&nqSA&ZB z7sEddJ{$ON!O+R2Xpu`RN1UJ^Ju~A+i?r*DOISiyB6 zB!GC^o|Wu6*X-ZpeOCE(JL{<;V%T*@7$EgEt9$z|+3D6FYqr*|o<&{EulIe$aaF^v zh|yvZ^X2ElZ-tlgGs$HF#81kemF1rhKV|O*>(H#;5Rxr5)2`8-$Gv@7AH%IPN3%B< z*W|BpobW3j{t`_WR=$VA{uGSQcz!}kZA6y_m7JFHTx6lUM;+m%G*@(B7!~d zHr@!XTU-5${8^=HlUiw4?R5-C0#!~8e$u{~p!^{4K!G35xVi-SlKt$k`?d3YdgcD2 z(p{-B9!OO<2A|c5qluJ{&R_Us4;hqSKT&l!&Ng(Zm-agG9^X6rTjv9&%Ka02$)<&p zNn3x`xD8#kn@{wJWqpA9*3iK~sp2IQ;H!_>r^YtXKbq1wUY{-neI@YU_9V0M9fiHt zsXE(A$_d^(*R*NAE493X?AoL3Y+;D)it6InbBLHmZE2EG03ix)jEZXhmz3LN?He$Tx^`98qAM}k0k-VE6aD*c5ibTIan&vLQ-j6Y}VJ(ESG+WFCc9u0b~oA4LlwwG@j zriE=ICJLRrjD0Jt@Whrn--hkAdpQfiJYnNg4(0zp25rC-%( z{3dg+Gt>s7Vv08HQ~u}%v{K+n7%7Y%oLA2ed#T#4Fw8p=X>{)!YFcg2?*{b#={+e= z1ir%;J3TwbnpUHz+wRjR7Pk?Pk$~rl`L-{Ln)aD_C6&V+*3IQKp1Ag}q+ecxQ?`n9 zI~y9hw?*M#2k5jZ;SzH+a$31H**iYm%*!FKf%wrw~2N@k;u~^%TaeykW zm#^Jj%E68R=rAkDG|v(Xn~yH&jk(7@wcqJ+mAG4&zUb#2sHqg;%8>74(QdA0f)71L zPaiFEnwGhH9m)vbVjN{_s*+@q*s$jVHRL+prm1zw0G=u^eR+g>3DoaRznqf%sybIP zzB6s@6sKm>jMC`WV&>RF{S9&+Ceqs7%<--w?rXLjf$a|J4QElk9&MDR;`XOp>US2{ zGd}NC#d2N|y8Ap{SU8OKu9oUJH3C393KBxOSa_1e7mNG^Q5%Xfz)_X4@e zEvK}&XJLrJz{P3JB2RDS$JgGpRAN^#q%~_sCu9nJuqzh#Q?ias&1i(4*cFV;_F&OI zK|Kv+J+0K}NhPt+nwLr_sML|wTip0+R|0DYfj*&s!n#R3H{lINB@^lJvL4u9@UIvp z{^vWEwKQK5&ke`fW^b3?uyi2C>d40Nuk6wAx5cJd?{vF#wV#>O93M*g_ryQ255gT~ zOd4jJ1W^Hw2Oiz4@2g?O>)&gm1C&p-`j93?rE992m5KO}YE_$Bp$ zy^*v{Qae}*{HP=8UMu1s_$F71Z9K_rwI4fZ;4FCEU$<>N)Ni-Wa!3Q_q3>t6`L3Az zbK0g^TwcdqGa0U@^PQ{y!haKOWpuWVQql2%y>VP+*X*J3cSwPzy3=kVi9d+1rGHDX zCYc-kp@#DO;H_qBl4zQo2Ti%PPbs^F=DDYp9dOO0kL5dB@XwC?HFnn5`gEo|;ZLX) z$TqL2+RK}*Do#CX`jdZ!9s$&4@~?E8TZJER$q>k{55)ffvX{dha#1Sjw$OqwLPRT? zS!CA7Tr*?&o0G*;O2jUj$D9G0a!=xGq79ynD`4~${SHU_7N6{@duYV*}EV^a9(I3vOrh)M%Q%qa3@s69~?Ikr$ zDox4vToHn=++w;zE1rh2l?f+n7(CLVKbkww_$2Sds}K@Bb*3kl#C;8U--$oqnco() zdk4O@ynBL&8v+qu(^rT*Yoq9A?DNPx$vXT#u*JP=ww@E+=8(U& zYahxMrTZfMe9$6kMxS<3dVIc>#<#-Xjd~#qdExt~jPgn7abMW&&V}LKN&^#EK_al^ zZRuVy;x7UCD^c?_nRNI#`9pbqDqadR_)4Rj%}d@tle=gPZDfQzQ+q$PYfA$;yAF8h#a$na!^U%7E^Vxx z{pvB|twfBzpC&pA{)30ZKiTp;{g*>PX41I8MmB~6U3N3DNDQT#pl0?qU2wkx;ze$2I-;tzyB26a6yZ|ofo z!EQ+TK!HVJTPSu9?O!kJ?mq$_#J94J@jLTJW?*H zeI6TgR~@H#rpoD7HfG#?MQur_!mI+ErBAad*z0Yz=M1IE;RYQ!c=~o&_A9LC$O)UBSjE zT|{;0YZK0ZI1SRQT&!gj$AC{vQspO@*gBTgrT)?$UoDK*16j#|wYv4D{hMgSt@Nj1 za~o-Uo&otqO1hTD3Wl&4FOlWOaA~NU5M{GPhtAH$byfqDpK5E}%OKA|Ttu=oM{>P9 zU(6G(Xs~m$uWdx98Ky_7NxK5MFFHw1;%d@d#HqE;4K7h!>SVl=k39UfZ7-li!unSj z)27_Y{C1{`h))r<9HDcv7wCBeaY~w^<7Rr-6C}W3qhh67sL_9VaYraz?N?Ne5rW)Q zKianP$QT^$uQ|HZ5w|RD#az*b_{%#{$`?Hh>oLd-eX5H~Y)@Xb%1tMh{{SiLQ^Pbn zz;jb!okqy<@|s|nfItM$&LUTe<3v^J=Z6y?3!)v-l`L(pwpI+o*_y0>czY_B?9aZyU{ z#Ukr}F5L4)fb`Y9w^hjC)f=1G&&|M5ToUSUkQcoZUCAQsUi7R7QrFgm{H`-hX(E@Q z;<)#Z%7=S>>a7*znAww6$`?nfSuLW+{;*S;XcHkASDspK!TsqT)Pi}IQh|$qDmg;v z?4-CYChYX-R$$fqqq0ijR`zt4WSuI~+yju<_NQb%W3`u5hI6!WQGKxnFxka%v0O(Q z7iQ+8eQp@I9GWbLbI~Kzp(}zqP$jn{w1fq(H;Y+&kXLTsOjO4I0Lg>*uabLFWEVSG zFJQ??*a1;3#6y9DTy?$r$;rnwOMWAaxIBt1g6D8v*r%9`IPFnGBuvGtfK6j(EmmXK zMsTZ9V$Rm#)UY|mDdzScFJ>!@I?RUvsHgt`Z3P%~qQG^jB1pS)fk<8?;2hT!`oV0n z40}~i?dBXX#TF-+?(&D6ifim~!LA{7`~$^UgTx3BmK0byj=OYfy9pm!Pm=?j*C+k5 zXFt19#ab6PBxh~~ONmNG`E(qfy{R)B5u6P7tPeei$?Mv!*n;^aR@H`rfgbQVaWqo+B=D*=?nA+#X`x{T;Unr6P00OV+pF{Cp zm*7u@Ep5CRVzwnv^d}X=SzV8+KL$T+Ylva^toF8`Mk0~aDD86Q{j+)g5GSyIdZHY;HVPrpIb9yW-qO*1ZaPK^nh+{mS?=r`ub230r5) z` zHsj-jiVyL=Kkusj!uTqPJS_kt7)<_^_*3D#;J# zRfa8ScTPGUfqytgah&G43FF(GcdnCA*sYP?xyzZAWBGem9Y2JQr#m&4KX}I+)vGx$ zg?kER+}Ma`xv1@3SvHSaqzuUMjK&WQ+({9`5Py|?1$E{+Hsg}gH}kK)d}ae^6C#ZN z0Q#%oiuN?9%^%LX=#>NOKZdshPw>nVY~Qv#?W>Y%x|XY`keMJJ6VO(lhMkG6rDIoeWN&Cv$hK{1D)aALR;3I#6J6Tf0fE3KyL(v| z<|l^7@~=1X#fA5jbsHmvUSAc>J&oyTQ}}7E$78R{r3T)+@CAKaz9$M8ZCqEv{{RdF zKZ?!7gKCmaYwcSp)>!U0XX_6%P&tF;1aV$*Z2PV;bI3hw({=FC z=|<>r<*rS6HH_TA;X=H7E&$M;Pr?)+M#H3o`O)bqm&t9jb79 zQ*5UG(0~cJE6rv!M=a67Z`T}FWH(aFF4p_CrF&!_2l#PSZB+z;RD6SjL8?WuGR&n% z091DHJkx}a=EYsRvr`uMIL9Wf=ny}hxQ-7>R}rGN4w3n<#s)D|q|-d)*p1e^d8CPB z+Q4+KLRWDkG&}|7v+6?Jo*gzDJ6*j=>s<7yTS%F}F|%UiAeq76`0D>OCgoManMy8TiMoS zw$3qItvnp=QMh-jdjZaBRxr(Pxg*TNx!6qL2;A);;}z4%aPg931%*(1U$jf-t||c5 zvD3WhcQbN2Rrzdut8<3rRU12l6D)1Qj<~HUZkAuC|`S9AsgGX%+QPZhYV!o_@} zjkU?&`K@#1r~C)fx2&L;TLp8L^rc`dLwfF;TjnCQ71C(2AjwhEsM=b^^9DF>!n6`L zkAen&rBE3+H(p(&fF=ejk<-ex-gAw@yBqtvTr>(X>s+&2w6cV@810&XI%tfLw&dlp zOq zq=F((nLA{9R$yvDD$5?`=Ael;P62K`Dva;3@gD*D3ed5$>m-fH=}i-%*a*?!SkU8W z>scCt?u}8~7^=Iaj!!5P%}qLdxu5QV+N?AzX{90!lZzBA zy^T$Hxn+C>j)GB#dwDg=yE5`RS3bAQ9ac^;U28@pmj~ru)s^;WeCJZ2`xd~y#;7nd1~P! z!q$9KtgDteD@|O>FYXV_DWM<#)Ar63?Hy@%fN)1jKn`*^rw|2yVxP}L;=lybiqv2&4owAE zDeHhTX)t??3Qy%gSa|hXPrCW-NzWTcN?s2GtpK+qEyv4AxZv*mDHLsALrKm7VbX!2 z%Dw4A`ch!G&H7S-ip*lE`0AP-t zDaWVjP5vD8rw?wGEVXND3huuk=}W@CC=3rhDbXj*xrInwEr&i+?$UBs6zLlWB9oxV z=|NtBwD1K#BXHa}6bS$uanEW1$gIhC9&lT5=}M;uG|}?#I#ZNz4FH|CBXgdWI-SZr zsxkNY98>T;Ii$v~VR*(3Cr*DV1{h%RMh-w71twQP*}~Itlb5F-eu9^RxzAdVeZ|d4 zIpA?ns-BfGP{#tHjfhD`xqVQVd}F(h>lDI#bWDdQ5(F0g6C9an_sx zJq0vWh)!@gp%gW6#}wjJoxYU{93A+;H6Q>T{c0MqT6G*32Pg8SRRrX5MD+C}>rKW_r?mtOx|>PO zG;#ExE;t&Hao43V;b_79Dp=bc&Ose1=b$v+Fc;c|`35nXk*!7R_)*`Ulv2M_qscngg5pe@*5w4<76%{g(%BC{zw3WY)EwLBF({z94x^u{R^Zfvg`XaY?8 zQ@dleA#CtDrvb(VOAB-!ybN}xdkS_s3UUF{pr|zEAAqZhX!ZW>A;xy%m3ZQrb`*W= z)0hlxUev3%=xD|p9+VNKz$qLb!kjw%-6^@HspTD*o?8C^1vqiikEJ2vq@0 zymqMa7Zm=d+Mr{x`cr_w$)l$fpIVbaXrh70q|lUrb)_FST2i?HQgo>r9IcG!r8#!v zflVKG6yR_%S&Uvm_M;roGuO2|5$RIZiii%?AXYr~^rm1R!i=1NImKqnizH>+(v^4| z^`?@?6z(cOYK)w>N`GofUuuTRY;Nv7DMoR+f;j+Ex)%6oXO6 zgNi7@r3W}%&|27Dyi?E$X;8iCs!2FnhK5SVYi+0GbjM1MA&IYk!LFj zHs{<|$3L_dg$IW9sCCOo3YnDely)s%CS``^T5fw78oaX9!0?udZ7q|q1UX%q6;|s; z5tp-B9w`sVLc9AEIEf6R&}2<#k;G(XHAS3%jOAUMruAPPWsdF$`eV_O0RwJcPXR%t}`| zC)T)oj}urlWecmhY>%aXMCCPQR}UG}*!HIXGh%efCAPt313cG*#`G0T43j(ZI@ZLdj6Gs=c^$R9 zLzODo?V8xt?ruKI9F4b-0rtgZC6Y;KlC8j01QSNDD@!x%1PEER#PF}aRBZ`+>Lo##f5%QSn7a1DP(s;NNy)(~o; z(p?`nM2iP$4tW(M3{8T%^2jR&c>&WB-Q?I}C9zj*q?p+#R={D_zn!@HkF&?dx1suO zK|X9dfvK;?A5V^b!+sQExe22t9+)H2yGdZTxzSm7`I3eohAW?r-HL2I_^;KtOEmV_ zD6{1Aj3*^#W9bq+(a98t0XP-AtGYIt5l&7=A4_v1oHnHB1CSEc#SH*N? zUjaD8jH&xN(U7*6A7<0TlY`svt(jGBwD_*)11rcPxl5y%8sDbEd9KG!iZ}53D-JfA z{F8ujbtq;Y!=d$=^*GLol04$*7_NNQ`?=#Cs^OThNzX+i6_2U8TZ0T|2CsOfL@2yZOaxy)mz=}>rQT9ZwmW`A`d&MB60Bk6aMFdO5KDrnW5u+mwMl2ASX?WtaVhKC zyRCk~ZM7S1^8z0`lv6w}We@hVTb1)7aKwRM$(a16cr4@DHKS+hR51>w3!W#-zAMmP z#^t3@SQCMPT-CM3<%FMTgL>@s>0eIx*TQ#p5;V>?K_>_?(!9FkN{y^$wGr--mxGR# z`oH!SMMv6F?0NWn;+4IXVofjNzM`5r(r&OxU;)SQ)bi^3H1`&-42l>?3C(#;#+58t zNdW|Lz^-;^p59Dyxa4HlZtD@WhWrYH&`wGIjfvu#Gt{>zCowfH^4B{22Dc_;<74R;V zUuJjS6V+ANE4oHFz-pJ_exQxx{X*TC6*mkx>0Tcesvy)n*BFV80MAO<@MXl>H;=7v z8T`0z*u8#J;!GYp10<36d?$Q9AtUr=8#PN(XB)D3#Yt@g#*E=eQaA>zL6N0f+$i${ z?fpe*DJ>QV!Swd8;#^HWO71NFh{M)Xq?$SPkGpj>o&AMAui|Sx;eR1HuF>U-i0+nRBW!k{;it9A%#M1?|&qGsM_HIa=d%&XrK#x|Nz?6ldk!FneOTe;2Wa*EH&Jek^NvM2wDdXT**k{amhIB1&LcR;OUdB)Dt!F6Z-5tRN10(`0va*y-~2 zYK$yug(6_wepDk~VX#gSJc&s5HB^Ll`A^cF7=}gNDCt$UGX{8mTy(7xCgO=Cx0sE& z`ci`OP3HlEY6O;8-!gp7Qwg`=0rOI@^e)Xg3AR7I-xW?PSCHk2#UmL%<)2>kLh=Xl z-<~M2Xlz=dh6>!O^sP1}zts=Qxuud-J9EITyE*U=JdV{iu+eH(KV{f>Z$nk#YnYe? z?@&*0Ws?}rI|{i5_W6&>qt>D7XrfO3VjaZt-74+4*amnes!1eDfD^p-sM_ha1UzDb z`A&{WBN1X=aZp4dKRW!igtsi8eB@Kj;yDYyY4o5uPKjKje58I9){-MA4_xTG0fH8! zd$1b=<}?Q>)MhCTQ>d!HD#^|>SWAB4epM=IkzM8g0DIPedp58S@aoe?2 zE0g8}ky8t>2E)#JQw~zITrS_;ji;quw~P!)9a6t&;y}QJ^`}_e$>eW@?gE4yr%!8_ zerr!;dE2(R`wO;_e84b$D*IomoHjYF?n$G%GTvAm`%vj0+{ZNpa)eB$1*yX01J%80 z*j$9`0x0BiD;D>uEW8TTX@ag;^H`dmrxmnbZ2tgus5LR=vWn~HRN4(uy38lmpui7H}hOs11HszB)D%5*4M>{;@P|}`BcfyAq>b%j(>+*rcdfla{P3s~I9-MZr zBV2|pIUSjKeC-vSsoO+p8r_lR*EaIp-7Tu~&2`q=VX=*JwXxw}4$F3ps7)R>50^F5 zUO^SSeq4*sr_zT_l%;lgz4OVuhFo#QayL-#n1k}OaBI-@7e_c{#yB5^araTi(|Msc z5NmurDM{HG)RbVkrg0Bqi6e;=s3-8McQHpAgtbSL{n48C?+^Sm@mGv-HJ!7`YzPH_ z;AXy;(>?)c9u2aGQPpNy_if!77{NWO>@xg@b*;^z@cGXc;jrHAJztUWmxO*6c(cVW zE>hM+v=}>z5D2fVei8o8IxW5Iy1$4U&zjw{3L(f}Vk_$(4#lQf_O#^dW%L#HSUj4XDZ4FE`F>@^_=^7R?2m1OPSUhnQnog+#uQ^J zpf?rr{-@$STf-j`msGNmR?ktAIBpgDEqk`L;s?}X`v#P`k^caVdnv9e+u|d7)YaCsyzj8numv8-geXl*OrIoBhXdgDz_d=XEdf!wfJM< z-7XN;ft=&y^N#9{$_pb{ARVWyL}T+BIaZmNf7t0S+2FO5ZJ5g z4$bBapY}z1FrzgaRc3t0t!n=O6Evu-WSTP0`3HlMn)zSiAI8rVYVnO1PQ+`w3_#~? zcN(p&wVi=gL^YYRaS|_DyN6E_n6AYZr4OG_sd&0M8uP*dGDD z4@aVp_)7Ja9(Fgbdy2yFAH$Ef>hN7(uIQs6?Ztf=;|+E_2Tc}sf4kWp032~yMjrRN zXF8YnPnCW*c%%Dw#Ae#v{{V3q3I}b%xO)qYma3rPhg!(jWP6*onTGcB2{g-c(xKco zZRuFnUisHXJhA099!U#s4T`TV)UzYSCJEb$&iikYNO78;2yZV*@?$vL+K+@Ld5*Jf zdmN%YIe?q6J;|@pZ-*ZWG}K9$k^x`74rW8!!H6!;(r;(9rdYbEu1sC z>5BawhRz!sIP5JrjuhI1wlUJMt%$vmg_Vzid}pD3hW1z`!9eF}TJld2=swsMu>tv9_pRNdG-(ZwUHB>S8VR&S@Ls1P zB=)KzgPdho(!Eys=ZPG}oR7$g`E@)cWuWTtYjFJY!=4w4_1z=J^WO!JQIE<%Hs!0X zn}L+ht4G)5OQ99P+t^pBq>x=e74Sh7<2TKw$pE;uk#~BI)cqgC7f`T^7`8LTYHF~Hm;)f-3Yf}Km4taPkk}oI z^cC1?J<2UyK@&v( z0Ky2b67fChxV;mg!siv(_@?2sw-Tt~k2Sz+GetF|Qo`9K@<6KiOyGL2grQ?=9I~DW zuD8URciQyAs0Q2$$naXMx;#LP9C2OM>}Zw^=3xB1R|KaoY7#s;#XiEM1J6uW^{k8z z^{+kEwPv!vbssR!D|^Gb+!st^k+4T<@7a>k-$FjskXEuU>?E{s%6O@crnWD*AC|gr zCM`zLOq}FX_MEQZk>yvjZ6-$>usEo++y4MR_h*C94{F}j^uri^tHp59Le}>?)Zh-4 zrj1<+<*i^FDS=hWwQ;x3!sHk@&p8$87T{_Ct-uZ0YlGMH`>i%tD8IXIhtjfW+ASS+ zgW`!+CAE<9gB9FZ+{LI!q0dj@ub95saSiM*8{-{o*R(xAF3XfZG3!k-YOABtb!!c( zB~#BpJ*$sfdx>uX0hJZ#uz7d(V4mZxV_dXaaRL0R_xbhimCodK<6Z_xB9G(&M{E@Syf=DCSALuoIP-A5Ja zHq0ANU8kt8EY~cVCoVZ8)@V@Bv3KU)pp|-5b~bjmvotpY8+fGCCT}RLg8)_QSGHM; zh5@R%4IIbG;fr&`LmjKjd`;nr^w`?s0iJ8$EbgJXUoASVV0e<*ZY`NxrZI{+0yDAm z=AWmV^;Sc)_p8m|u`$~=cAD#S9V5xQakmP34@&EGJAbp<5~r2#OWBw026!g&4+yqo zaEpzAbQGR3_~Qk>nFYgYQ6NL* zlT`^>oQ|HSzG;xnc@FtTayZ-RRCO-}J?t_S+PED}ZE0GKrk4UFvV{42)LNg6EnPgj zM-SNIwrWj@o*94POKl?ICg09^6x~Nq`z4Ra17z`!O6j$$8MO$W^Kl2LO5wEV47WxZ zRI-oKrc`A1Hl;pOl(@gXxtDy(5+m)3&b!mJJxqC1fQ2oBYACidSzmR&OHFtEwONO%if z-S)Kwlx;ne`ODLA>0MB}j;0f;mXSQ$U-(DhZ9>?=soEz;(~rH{nl0O>;d2{C&Clm zcp4c_qN6BxWMEh0cZoE8XTaLbng+CnCy4#mTrnQMO8%|vHE6G&`zqxD4mR&S@#$ZY z-?wk<;`f@P_|6vcu6Au!RpEza;=GJj77_SQZwHOPxg+wjO=jNGC6?8)&%x)VG-@|e zVao%anW}5>ug2F0&4*5&G(8s;Y1R3r0D#nI;qSyH`_^-h_z(X8T7}9_IjGvSvOd*2Qj}^+o&NwT!hZvNK^zMi zkNgIz{{X@p@dbWQ?AiYS@1Op)SGpYMPIY+**bfxX?K_R1dbywYM1CMBKk+S}kM?RK zpm^mM4W>{30DRHzmvnYRTYZ5ISsLO9uyc`IFZLgdlmc|gv;OTu`d5p3e`d}90DRHz zj_B^cwqlfLo+@PV0mje{1#k(c_@Oxd&71P48*daL!PBK5g+_s6(g%oV*_9v~ku|9t ze)9#Z%?kLCbN!t!xEOJb~tH*w^*0=%N*#Btrpw65IusiN^4TM-(zR<(^i2$YfN z@Im{~uZ@Db5qBIz_c+H&@{!_a+njJHJ|6%KOp&299qq|uf=EW+C@Q}G2H7{l^WO`AVT=KvH?@kS7<8JZ!*O;cLZhF2dNUjt%?>F$J?1yxEFZwc^ zDF&UGz|L#WhN=+!txP^3$I4odWND%3=+QA5#U#-Aj5ZO9^FQsNBN6wryYG2K1QeP#mtV;rE>XR zDp>DCN0HC1a3AoIH?3q}Yd6;i5S^lrW*o@%IrUprZ<&|ys#0q37s?Zg@?ky5KRafw zE}-ciPij4o`Hw@I{yT))jkgrGaU{{RNZG}C>RlNI^*POLL3J#4+fePzXUJ-f&rZCA z?*xyRAP=Qxn~CmcB|3UnKWnjDd6VjEaW3GEF&hrl4Au!EF74rQ+M6x%i1sNNHH$UR z+81j+D?einck(@G!wMQqtZh6vz5MYDp zTs6JRL_D_~`qt&W_7zn*YRqRxG6KCh6+CVBdsdq&II7myX)1Yga7AWoT7{*hn`D8J zf%w*Dhqr#px)tuf@m4#_KtN5qoc-JbU$B22FOHYsYnL)?BHZKqx!Ye3{=hyDmiNN< zI_2fDhHpAS9H*`aO7+j$gT*(=;h8j9N%I1_X1E-`c#)#q{KLOS)HTbS^SR%7=e2hq z3~WBx;@dcYIT9&9fvyh1X`!~2zl(6qduQzLZgnpi#U9_79ohVAyP4x8Y)ZnK#-a6Nlg z6rI`01$KO?@OIU8Pl^&;l|SoBu4%;K1s5th;ekOj-dNeX?DSM6W zB;k*?PfGpN@Zu=YEpTy!9DM~vZBB}sXiIstWR>gExci}kN{^KFuCnrGlwc3LT$Svk z40WzxFmAzO3E^scUo98q6;9|m8SU6o+4-F@#R4n%op)&S06L2J_e=1E+RuucISCtX zudy{&X*OFg%#DD;uW7yt(yZkE(1}9G%hIkI6$x1wI%T5i_K{n^2&0d}ti9aM#ZY{` zsXRjB8Dfe)6mV*!vn)^skFRQpYD(PMiYUCT&T!S8s>Q!fm0OkD%|UMS-6&3#w2}Fi z?`q?Wb5+V|%z0LdE$r_SSQ7voF~xm5q@+?o71DJh1Xs-Z-Ko+g%x&^H&(gkv@I~rf zXbU85xs>3V@belsJ893{Bk|s&$mZ|A?+ia*CnPx3L|5Y zQIWBPi9q|eQ{Z~;4F)d zrnWL>kV4-o`qasc+>Yrkmws`M)tx&1p}%r*o()S4v~e7(WOSrbiF5XG_j=}~Fd{KL zQ2B9Sp7l{}Rn*BM?LE(G=!|iy?opb@*Dr)t;@l2f(t=Yt*O{$f7T<8z#)*1nx+>%5 z_O5m_=P-{T3huORItxrqjJK^^L9?jGmmcQ%MRHdL863G7!Q#3dPG2$)B@S7;3cAM4;2r9BHJsq;oEq&V1E z^fhl_AXD~xg}8CU917dt6py%cYUi$*jsahkbTzA|N{_Q}|0KJ+xG^5h;n3bew;xp?Emfb&;A*sTd; z%VQOkf;PZCX=O(oL(jD^D~Oik?*p2(rp5PwA9sq4rShTqzF7}Sv!>3lLjH02n9_(9 zt}R>7!904^f3+l8flhJI(=}VKEeXz8_8yg1%~E)QUZb^2dVyreCD8zJichji((HaV zjMj{7L=045t!1Uu?>X}b$4aDtg7u=gkvxtHRI$wPe2u_ropjSZ#_N6;xvO$%ZRUk` z-Pllon$BbdAp6JGwIx)SY%RfVF<7TfHp9(V<$6}8nQd`-H=gaxeX5Wg9o? zZSjiMLAAL(tAfAO-b>x6HtaMN9Sf346slHbJBQ^`SuDwIg!{dPOo66{aa|J3%(5NUDiNW6-8 z8Q^xW>{I#Za}EHf9#juXXzNa-G%XZSoKP3A0s2wafC!}Hfk9s)Q|;1_3SQW#wvpD8 zB%2h1lblnRmI9YSj_NT;qzZ3(dBX8Yh)tyY-Ko^ir327X0!(0WOaq@vP(5kG+qDG` zW81Aapuy=*rjfUn=|Egi><3OMLEPZRJ99_P_xRW;!O$jS6a}>q@M#Y?&p}8RxuK6` z27!{}raDp%M>H=YlWtCXRK1F^CkQ#D+IV411hCpWRD*&s+N48r!SK9_muqK^l%Gll z;4*li102(c$4X8qIuDnn07y7aI?^f6S^-{^U}xz_eJn0J)4af^ZaAYV-6#<$6DC#zvKz(UW4Zl(YdR2Tm#6;8Os{0-SPsRFsDk zj8nL%$Gtyr11IS~S%!Oepn6k#^G-CL!ODd_eosmie+zY>arbFc)v5=jg$q*SwJ}b5 zcBhX@07lQ{QfE90KpXI*fZSBFlvB`l)5SRBif<(IK~^U%&~(K}v`)jg>*-0?+Ldp|&jsM&*tVdY1x}?fx1-eQ9bt2OTN< za4D)W^rv^JVS5i!0{YW;o)Z|P9CfGRv%uigvZ6`GeJPpeflArpl^Y)^6`YGmR`nbT zLU(XGPyrlvr*OY7twB~4ecXCb0L>=?j#raWVT*&(fxx6t-RXK!iJPKS7yGD4RRO|u9F;2!8lTFPy z3X=K<3DotcEg%`GqeGlxrHvxYEMp5Aq)D|mNI@ehTiYvmb8%MbT};=0(@IMB46 z0Q@V@yno|e3M(<9mfb9ikC&haj%(4&GK!eWsy5In<5ei=dgURa>Pa$q^c1ae zW2H>Cx~pZqahz7ZMw=SStUSjYX0xQztnP`H@G}?WpYX2(hZ~>qU7og4k*P!4 z%^Np&z8TkJWrAYTB4=S)VnAOm(=i{w;A+y$WotK7I zxK?A8Lz7=2oaA_%WL7Rw)cPE|7e(*7qVfe);W; z3dPd3_%83#*DnObe;*jF_nvF1nmNkJ7$1E(>0hSshG|ZQ5;Us2G$`hEeC!PI(ym!eV{scmt_u(E8r{=$`2Np40ntpK-LIg| zsZz#anq7|@0SQp5k2}$>FJ!fN%N7xwG9PN_bQ#-Gx4X3~v&lnM%q^qdm~s2L0jr)G zjbYU8<3sYYXPW+A$>~~}@g#%yJGu(|qr|Mc{hQkMKA(oMKfL5RjRNl88)=}F{qvmG zI!`6F^xGeFY%sa?sBNvTB7uqwETl4%=xXKVs@vN6PJeo%c5A}$^D>;jaoFqPJUWf0 zV@*1w`=$HY#zk}%H+y78fbJk;2E6X(@W@Pk*S&PQZO~6FciYy#S*tE;P7*#!olZ)L z8aj=@OW!QuZXGMP(5_PA1EoL9+coC;!UmCb6$G)u`&Hc=Qj#4;8Pk#v;a|_6Tb2Vl zPCH!vB~Xog5no%hTT97zXXI=TddEq`IDOvOuH(eny8ZItJN2(W)MGGAx!_=CzooDk znAD>gzQ^WxygwsxM^mKS{Ijfp1d(x?^UJo`b1;|W8@@t4E2NI(3uEM*oL4!k$!8VC zyIlqh>)WM%W#UF&s$u=SdLKi=)%~4MX3nR>`lM4uCYyC3W(Z0SwaH%I+_a5m50|j< zk4m-SYs*bO{!7XJWRXfQwNcd6E~7Qa{Iipxt{wo)eWn@4Z&Y>X_++am6hdc~IPtxU zR_&LGuVS+P%b9kDKPesSnVMMeyEB2v_o?LbRpPjhZ9@X~Qjq2gt7h}bv?mlt1 z*N>&Sd!gl*;DPC0#o%8PL2;x_Xk79DMHS$_B0hGg$ss!=00Mee--7Pu)8>*mv6VPl z{3ioiS#EHedM15r*VZt1XR+V-ks*Jx7)CvPD??AzVY*o6w<9Wk>8>_;;Jv)W$_8U6 zisC=C=d#sNElYV|=N0`ifX)=@MyHYRwQ!#EiavqY?cVJmc%Vj=#&eF9$oPKn+H2lS z$RfZX|Y zM-}hNLauX;_2nNDd^h&k{@%cnIOEV)&Uk^tP_2S>DaTXN$TK-Ys*7jJh6!zeah&zY z?Ox;HpNQJ8hUK;zgS3!s;2xN+UQIF)Vx~nn$0rqYQPJUTB`#MaDvW(A@g5cSw6QHg z+Q-=DKF+KXn%wlS7Wk&i#j0nCgmIDEy?p7bS~b1PGcF@)(ksW)p1Q|;wh`{PEmtcX*C^+{u|X_M%3fFjj`B~>0ZOAUfN#TiIQE}88zUW zNgH_SR$;riwSSgQJ1%&yoXazsxNqHVjj@?cI`j6+q39Ap6ZHU!xpfSdmXK=cAu?MP z3O$W+wq78bBEoPEcoon`sX?k~?`I2QLyx`FiuP;fcw9vpLH0T6;p@?=t+D!*@cUGY z#9k4yySD+hBB}a{-JRY!iWJ6pub#hU&2oF+4@sqN$c@|duc7ZQN?pmkebL2#9r0!n zQp_b7pSR?7`S8iJCjS7NM@)R&WALwj_%*9R1%p{hx6H|5UIFLE#Jrs6psDnYdgsG> zg4{rVc7LsW)T!uu)aUOXaVD&@w%ItvHtP1)FsvH9b4T&6o#F(~nf7uQ_|7X^?Uv{Z zMIn@9_)bM(DhI6!{^{$s+O&5u0TbtMYKBcfs}*PYeJjiK-F7=!NzOCID%`rAtL9{v zE$P~$*b()HdSo}KipDeY{{VN=x$FIO;z;6NTope|SDiPCFJOJFR7ae9)OR|_yC1t= z*(SD)4M=#aI~-SsJVxFS_=om8i-(5N@Pu4+%U9^QPAEs(?`&&DoHyiS_D?)I=$*jqrFM-myWgSmOKM9O?tK~lF?M5A> z_7ybX88?A|J5!cb;Z%Jo@)OEex(l}_fzq(`2ps?s{K!UYqL$qnHdjA;n#E(~Kax4B zj7F|y+Ccqr)1_Zjj^RlAxaumjvP&GNXW%I$z);!RPf=H5i)#Ggcms-tSKi?me7&i^ zG(Z&`VxAFXLnrYbl&py;UpS2j0An0tuqyPm{xV-b{!totbDf_~uu)V8Q0dtzN%?diOIXy5bWxBM0@PB!Z zm5Ur_%)=b0HEL*-vbyqmRr?`(V(cz%H!$LnC1)g&f~NwgTuJtFzE?iNt0nZ(as~*a z*$1^c3^5ze994@;q={J=a(Y$@-?OgCFmdTtEl@wsdK!;seGPr7(?m=u=eIRkuL}YL z5D#k4mTx9AyOkZQIBHQzo<@c%>JSFUz|ok7gd!+xtQ+gK_Cmz0hgK(ScZR zdFnV6!Kzwuw~{J3OXo*OmtQu@8s;F|hbFm}z23m7#ZF3X$tI3b^P{g>H$%TTUqMyv zuVQv5_!h7szG&evxyqU?uONas5Oa}7D08CJm(O_eA^V`Mw;N(?ucdR)UO**m zV{z?P;k*|4^Ln33IYXTtg_fkzHVy`RR*biCHx0vkR}_;AtO(D|S~21^0ox|C<&k{o z>tnf@Qvl>1l_Jk6>BqfeTisj79yez-TK8R8Q_F->_mF#3jjPQ~ZO{iJHR2vW@r;Wk zRVIjq(Uv%{ zC7&4d!Q!|49pTGw4%&&CM3(@fk$#Bp7N1y__exo{?MDrt@(xVP~htI$8j_TTt z+;*0bZ)pfz*U-KK_yHBA%IZER<7OFQ;Hy`^cyGZvCx+uwZy0&DjF;yJ+O2ADaPu)o z^3^?hSJh>C6*_U|d!Lwb4;od(-kl92pSsKZl@4P<_GQmm%+9iU%G+85cQT)bf5 zRtJXsGZw3;+}&!~EgSrZdK&bN15S#{zMFl6{3|YMT9ql$)lLJpIwuynn=AG`haT7KE%_{c%nh zYLzvqv6Skqk?ESBi*(Byc6M-1I#DZ$k+<*;<}9+!y$1k%KXHBm93y@ zG2OY8jz_I_Or|6ds08GXpsbo#vME$)Sk~~swy}+whA;(j9x_=k?pY={L(q>(@2%q9 zWwc;61#>!-0$?qrA3txUWe7(48LsDrN#U@C+sIrVm7M++5)J?cy@LM$NR|?vHs2`$Rk7(@jlJ~R#hAH+_yEZs)w}Ud=le%V zS?2^YumGQG;k*fPwm%|FVo{GyD|d&o_lu294xdIM=6@pOZs)yqdbX1smfLO61B%Lv zO=z_QXh^rBna1ALvvGd5*BONHPYYLkU#4z} zZ*5l%oSat!XLln@`{A9Yvz#1Rq*>_@>vs?$xb4k*28XZ5e_^$o_<0rJ(MuGt0KVN zX18c0PDU$@K3Q38M#sV)Gtwv0H3K#pkG|*dctQTYwau3fn74u9Wj!UKE8uZwvHu@UnF;~kZHbMg8}!CBk5dy zh09$*6~upcA2oUmGWoVy>J(ypvc{d)%b^S zZ9GONQO5&{t!Jb~tRcGHjsF0hU5z2J?4BV-*EE%uGnU#2#c&#Y8&#sb;YR|x9Xj~f zS$&dhuu-&DLLr)0B#dO5sc4MidKZQ@kFy}Ni0%u}`d4W_p(K`Wl5*Vu73F>%g#D$P z7#vr2@_A&5dUnM%PB*wn@_!Rqs>o+=l%Cbj*oh;YJU^v+M~k$_xwQLKUAeC=(yp32 zosK)zHFQ)}&W86}yUxO#3iOW!>)v|#TeHS7UU8}v5&VNC#}$vDYY(Mrs;7l&!ce*t zm5->k8w9ww+y`!J$aRe{tC0x69V^(hYqh(!wS?Y5v zi-nE271{V(Qb}Q88>ecE$C@Zf9_k^(^{x{@zBX4PHa{uirurRp*ECP9JTa&=wp$eE znvmOXyLPzyx!_kP;Qd81LEshnYq^#^&*wj3RZXLgYRvOr5(SF=BmNVN3R%iqM6CY+ zD%JgZ-7e-5uP&U5^KDyHxp{@OzbdK4T#aF>Jwrs+qSi>3!)MJj-!QLy_&AfCq>31Gekl_6*$-HHLVCFyJt%Vb_ z&@bZUm+`AQwa40J2_FKv{{Rf!+s~y5hXnPa_GT9$BRItX^f%JbA1r_n`&Azhs9SF! zcNHhv35f!?Bc)RD0?2I=R|h!lMS$^^@bnSgmt_Q#lUu80XB1-qD90G58DuO~RGjc> zhQ@hEm&)g*Why6BCR4iFfMf!-lYSwZ3|fKm^Tl>Ho*$4YS$k`5lnf>_ipt96 zyI9!OyhU+5Yyu1@JlCAtc!F@>e`(!UZ|_!Eok;*=j@9P34J;D^y#dWBd^!^tT>5{* zy0dCgd2T@4!8DrAlGd(fvd_)QuPgALwh)d&^vJJ!hTX<#6nOr%Y_XRr zP9r$tv$T7gcyCism3M_AGI+tRmMvP^4KPGld40X>%;naufoloTV!*))02Q;L==17vyt3zN z{nP&d)~`}AY6l!?oglxvYiwJOllXb!v4xhqbtvAaZ|Pkvj-zd1ix~hVdJ-$V({29H zo_4@@jt)4fOF_!X6nsD7_$;AIo2(YbdG)V2{i1vwr+BZzv%7#+ILT3t;8(QVhG4KN z;d_zoORLzys(5;9DHF^j5sZ6R7ABv#Rvvbh&*z3YFLW(V<4d_4yrOpQt@yQ7VYH~+ zdiqzR{Cw~`cxT7c$YUuJxW;S9p3Y(W=)l-Te9d2Sc0QSV&^Lb9f%8VRhT_^!`DUiD z!jQZinvD`o-!~sh$DEEsrG`yA{#rz$u0wO9bn=wr+PL2-yv!*kwyo{a6c?!Wp~`QT z(&SLzW{d;vQN5;u*v-6um1e#XKvBV})BfyjsOJkZSL7cn=@(@=@I!pdZxA2uiq_6XcN|mYbx889 z`qAwJnB`>nMc}6!e$N=k`y#7L@K3<<4k3>p?uzTgjkl5oCiepwqnxXre%}Fn6wSgW zKiw4z`~dJ&y%ji)ND^G#^r8|ELuW#TzG2`DO z^si3w1+}vUl{%5@T$C{l#5-VmW|XuPX3lDF1?ga7Cj5mhzr)*k*W{6_u2`T}2Rv6r z1Ysf!oeeH=UPqaqhM|TQW?!W@{uPUlo9z!?w5qrOp0yp^g5DmantbECJZ^u7^Tc+n ztbZ!bKMpSo=gn*%abBY(?8B8A6p41y5!6x6Uo$+l{u01U04sH7haZjfe48}k+F z>u`MCpw@#iDf3eHfy~bke}~sV{EozZX%peq^REus^v!yByAaEe7&Mdu+Ol^)TH z+8$7!4Rt^;uEX)AKMl2@F&Sg{*U*V9MHWCiQmyksbGM2;qYr3&?B5N%LAU1JkF7|* z4mF^e`MCG5przGbPvOVmO-)F$V;`kHaQ27JQurTSjj)@z_o)-YdfJQ?Z2fEAE^pT( zE04mN_SEAE$I^~)_J@Z50KzA%<2wx^_#ebK3GyMud(>Cq-2u-Mi@~r1R z!R-&28^GQvh!=`8gdDCwuXy-*`y70E_@km+YkCfv&asv9fshR6`By_V?(EJG0G*2S zU$=j-Z;oTsd>q;!iX!rC!zdUS{`GLzttg!^nfOoQKiH@Chw!c9>DsQ8$#}`UMz6VX z^{zaA%pV_t`E+>)(d+t{@u!I=7c8%307X7oX`%)H00Ulk4x^_1q!qJ+a5?5NjMJfB z@f@aqG#bC`^YP2W_M-Pv(%LwOb0E*^Pw8qPpE=QaE9@zPkHM4cgrcXSFi z@$Fs*)dV*D!jsBtjT*r#GoIH%os zKgHTu33+H%Urg8UMze9@?IS~zP?p9a5=KBKAUVZ+KVz!s9wXLnZZ2(i1tg3h#xq;f zp(z~y0A7*#+PW8t+kt3E{AzXZpNwSbYQaa=zfd5z@W6;V*{RQMf~U8S!?WBhBGCdK zKH#gJ28xa;v-1ic2y3iBXq!F7bP#wSS}XE4)$}I6O1x*_Z64o6Yuzs0LxkLZTKF%- zTF#+ue-qhl{{DQ~rFneiLsRt?NC zfx8Sz^sJ7u#m=i8fN4p}ze89$E|IAC=f$>OAFvY7CDW-@0F?thGfjBa?jy9g{{U9) zk8msZ2lh1hPw+oL@Z26JEUl`vYUQV8IBawo=~&g5Dk(GQuZErk(>@pcCbzM*Lk-W_ z)cshC-vwXU3m@Of2s)MN>wfj^1GJH6T!yX%o@@U8mxqndDuF9V36whVxZP|j{ z+9Cyvs2q0Uz6|*Nt6RyW{{Uqp6C+_j{A=t_9_ncmym1}}Ps+bEzBqW1q}HHF@Jwxj z2iCEr8zN}L`ZwUGgrx8+HX>Itz3W9bPhi;MzhN|41UeU1=ourCHj2l)w{5`)pbSI}B)j(auBO^?9B0hr zuS%$p{hmCP$?aAphzmEBzVH=D&2MAOyho}*CHYT7%~m_73FS6N99A9bJo=$kT;%gz zHKw1yWo!@t#Ty+Gg^{_Y0rxS60<aA@!>ASw$ic zwYY4QlZc-w$|v1ZTXqQdFyZ(MS(=#z(lA-NimWZesgt?s zTW3x)%EzKDU{8ASOjb4frvOkg#i)uG{rTk9yqgWV^7{6!c%w?cXq$)h6-eJ*o)?83 zDrAOj!#t6;!gv)g`b6BP1k`#`tlZ1XS7r7nOhaY`N?m}&w7!r~=rPm*JS(yi*ZVhHk|m10`?tp04LzslKuOu?D#B1KRb#{riq5V2kiU-(&#sI+WQ_Kcz(kTlJe1YD!U~70{2uCBmb8)n) z_>FV(S3r@e;kwm84F{4ph$!bZ95KhUX8Kvr}Glw!gobU)00echMw2`sN z=C^F|<+nL(Rs@m=<=T0zOI`dhKPRPBb^;k~+D>O}p?LicFB)dRA<)OXc~}cjyIa*h3n^U7O||7PL=LG$1RdWV!iYr9*M4AyK!3 z+NfMz3}yKP^sMmTYs11m?-U?3e$#PxBEmsTp4Hyz*6V8zY>|rOBAIOhtblohaZ~>Q zYDzEx#ThILjWTc-wPNj2D$N);pf)7L$^>KO`c>prMFK(d_NoTrW{@u23bN(p zW%9uaJD!!87GqhiUlAw)I`*vz9ixXa_UloXlq&gagWnYwo#i+Z zq(ju6C_#ga^XW$4o1O)KVjs_ILEC}g4k^Nz0A2@5dEg9C1F%0TDWjgWx%8j~r5MdL z=e0NvF+j!KxxlA;QwJOY(wu#$5VRFNxuo`|1L;5pLG4IKtrQ&QvmUn}Mg<^IMte{( zNEGGyjuc}Q+;9l#OPnrHbf7FRM#oB4$3fDXxR_@S^X)16HY6fdr%?!iw>9+gRTz(hG2?4XxZkj{)Bd*2b^OgwI*^n z>*+vZM%;9y182-S)?kOTfB+puJ9hrGF^d2mrhux00)gxu02Hgiqp+i%-Dn*+`ZPNJ{?C^;P|*vCp($R?y{asU%O>AQek$MB)~AP$t|QIDFJplm58Xe3jV z;~D5_9PkD>rO4LXx{qMSGx1DZDX^rQzB4GW;~st!j6oJP}8;GRWElhD-IH{3wO z8%WJRJGt%YO~yJ?ff)K!v=L}pRpOdC`csB6npZ7vVN~<9RG{ta+M--%cS>*-B&6;; zuOop9B zsSG2|er`Rf;NyynHsg$QPF|eUuqMduKX4K zET|3xjM5CCz@_AI+Jyi$CNXJ1%_kWcr?1L7W|0=w;|3d`sS&p15!RZg0~Du$ng_cb z#xMma$65&47=O~21psnC3R?{%IY95yl%UARN^Wz{N^+gQN*fFG6k|LLQ-%j#l$bB` zbON5gH_M8GmXAS4I2q!C2iBL%UY?YI=ci7UnOfUXcHcEmik?}y1XGH zQPlfXdZqo3hqSphT}nY5QH=B774a{QJ}m2AHN0z0Jb4;=Ha8*0eR%Y*sK|I~wl-Yy z(k2*;L}^6zZx{Sm`(%>o+7#Gq;E~$Cd+{HNt+c3G_fWVGH%$B1CFY?9og9;p6ppRl zzIE{)tv)%pfamdUHlSn_i$Y<>!5`}^j+V#?n; z@@nO%g32bmxfmgM2e}oGr&-4eeY)|8iFwcRteLN*)NiDmxe%)Sk^cY=MR|N(#5D5y zKEjX0bmSRau@m-__)&jS)eP~i)2`3?=9SXgT{7E6J=^Ci!gt4|aF*6LS5u3d=JMi0 znAfqbo4sbs2@3G)I(;kVct3_}VrqSN7u5ALtjaXu>}d2R)SeraXx|uafcCCwv|Ucq z_qu$Af#|rYA6v98eBQXg;}cVyG^~7{58BS6P%v$LKcrqn z?W)@O7mR<_8noI3S{;x`r%42jf%G*k=CuZ*(?nD&D}1J#X=!zHV$)pwk)g;xO8gF% zD!w~3bg=&b3TNmOrl{f6s-6+!$Tgi8S(g6*N{Q0cf%6Ur6)%JSBwJk0me(qL&~eGG z-&FBl`;V|sYL_$Y$_qVWJw{{T1ExHELGF-1%Of0cD*X4JGR zXN`j!bjAVeTx-Z;W)B|L^{?n|70ezh0|`FI=NX+BPP?&U0c}0(ZcZIoWALu0Rnz0X zMY))4jvu^FrFpzlVr9U_Pu>;ic2_GlopWx_=C;r_wR3TP3Z5q~l`-V?oh(9S-9ib5 zoeXH%<#vJn(O0L_Qu9v}I(*p1Ym|om^nj#g(0~{Hn)G`st4r+}(l^7PCm!|qe*jea zzF|63KF^4~>JgeeV)sdg)HHU)@V2l z80Np7{6oOJHZnD!v_DAU+($hZO!SG$%L6lg$2rY#I`lU(T`&NM6*x82T3j{$fi!1_ zg@@!TCgpzLWh7C#-Ua}#)VMz~c$^GdK65j}`#S9$Rh`6}0>;=U^rOYbHq(=x(kLA& zlEZVQ%f3~?9OAXU%$nq7Tx^qX%7eXW#W;6}z)qU%Wq@j(bt9G2wL4|8Qll!20nK(7 zQ`_BXi!@Q=kIKBhOIhqEeLCrUwgj?)=~@wL&uynk0c`J5K9%@K4`x*`Sl30LbD3b( zY6?i*^99nZNOH?sZ3{K3+mZ7r&TGoF&0($P*zNNA*H*gEnUb<$eQWkA8N6ppR(!T2 zDXN#cSn*M3v9@3~x;HgfNz{e2EUIvL$u+)y$$g_t*%C;INX>a=z1qYbT;~LFUz71v zIWdb74y^X_wLh!6O>BK9IE5`^yU5(hk&5N*jl8m%=0TMEqMfGd5o$VW+d0E5V;J_V zSe8{_lOL3v3|H(NIg9p~NG~Jiadgxwvt;WRQe3JGtYeL}OIsghD}4&=9SHZRWPh_v z4sr+QR{TLPouG+hT;auWah4m~W$r7X)09rt(=>ElW=Jk0J2qg0iuDaY#So>`jVQ;h zcvhFG#4auJs_i2P`R!U4l1m<`aRh93WOLfSL&L0PYE@iY(H@@=!YzBpy+?a%d#R<% zk&IvpO>;?YLel0P!4t|QN$FoX&*Cjc(r>fcp8o)Q&{wVKJ|Ti#B(>$?XWN2}U$@l8 zQm==VDW5Y-0_n+4Czeg27PK~AV3FY%JAaD0ICN#c@a&KzS@Q5b!2-J2;L{S>rx+h< zA0u}ad%+?p{7)W){{ZS{jfp%l6NVVnxc z-dKQrGwojU@nhlj?vJm_BpH?mE6L}=Wjbrm4_fEDpktGYcf#W8^cig(?nXB9G)mC#z})_=0^jE0r2oe)0V zz_C8Q)%Sj@D$8(Zi;kO?zacyktlVfmDYCt`<1)sF>6-m*vvt3;i&g6!(XUR}9M|Oh zae=(!UfZ8#!?=s5Pq7Qh9?;CYYP8eCjAJ7eQub9cf{m44)mq|3U>!K)75V2O^~HOc z?iF{y#Qy-h#wx{+jJ!jqt|4X!J05td>mvDCKQHyFFDCPWjkR&4pF-nN$7Xs>pTvk} zhi%L!em-oP*U&s~V=ehhnM4tu7jfdeHc=dMW>JMFih}yu7DSO`*lPZ&yBGC_eI2Z8 z*0Wp$vzR*odxobm5?0!Rbwdfvb=FzKf^oA+szDGYHFbq z0zPw<73dO16y8 zpS*g|siBcFxpKg81u`a#jNk&a!E(yXxXw7L@~doVkl=a>j!Or$9QQkeD}EKvtiS05 z$&uJrt4O;8D(>~6QWyE%X{eT@RdSwUk4;S51x9~(WGFj4BA>u=K*=eM&!*tU*tvL)mFROcY5$Do%>4Yxox@h zu8&|I(Ab*#+T3lA4eM2A))2-ve5CPQ*qyd{ILOc5r%x@w&YpfVC#61pSIksn7-6@AQ|v5EtJ`C*ZB#|d@=aW}*S~jy zc9Gh=mgiYWB@b}kT6U*5i8SN1`Jhr%JdA$2ddljuNhV%wucbO$`yB2qit@qYO+H1~ zvUBTE{{U^<6S3GIt!?!w_7Cj{cRf(v!aitzVNkZIJ8%?%UTV6>k~dqo;Y5BWkR_+*W_t)jNIx{h)hH znunQgW8KYjvD~yo^#;7;c;4CL&AS5Cg(r@DiLpBm%u)TFF5iKt_JQqbsLUG#@lzc_ zdnJ-at6XVT@$e{{Ujf)`^Wi zE4=k*tb8Z9v-qL=NosRxQjf7|)(Iv$sFE(V_9nG;9<$2;_!03d z!@mu@adF}cXqW8Tu<{Gz7~X628^c~U@Lr*<$$M=)XK@BsIOEe5=3=sG#e0XfhT;lU zCGWGT)hw+=+%Q~!s*G&|`B!P9SWRvInKOrspj40FwQ_m{zwnb@-RcPtlG@s19Da;D zSI|Bl@XIQTy+wAOHpSR_S4LHpR9l>x)_qQmJ4KnAZ-wX8o+2`3XJ@3w z%csTV=hC$pfT2LZ1B_M%v#5(mzF(S5a4YR_SSZEpeo2~U^)WKvLixY7i3?943_BX& zb&I==N?@>pAkR@tWvATgvw72JXgRLgG}vQBUA%f%t<4HcL&Hs&+D3x~x}^UA#p_*K z#uuQbqIqk9fCXV{dh9kSwlkSME1gDlo`v%yYtMIUXg5ycFe}ZxN8Q<)8YtTRmZh^ID8~vuOpUqPIfDMy;5(r-!Wzb9MY|gzn}JXkEeR+ zK3HP;7v&X8CTRmgFmug%9IDnv3v(*+)or$_ckNc8vGZfyBJt^3%cl8~3FhrrErOX$ zYxj7f_F58RT#qKx$w9So(zxr3SR4(*EPqPxyh95lM4-UMar$Mjx;=hj+OL|?xY5>V zRtDbJa2-WyrHR3nmjG6+gkNQ~1do&fSo(&kxxBcz9V-e~l$jDQ>E#{VV;HVuQz11( zQhOX%Tcaw=3!dN#;5=I^TV5p5^-)!avzrulDtMDtj?EDxJn@>xZEPe_NUM?FxqV`3 zZ|;^x<2d4p35{cf@U_riA>F}sEYa^?0T~sKJkqA&AnV?xNdm(ZF&~(L#a_L)QE9mK z+d>1+%uOZc!QQ@IPI@r2ORXNi@hs~3v<`BVdlAE z$x~A5FelnV#5T2O=;h*k#N0Pp)437}1c#b*UV~d3LfFeXsZRPvEwRK^5iZwY|;;|REU=Pluiq7#K$ZjK+HO4W;b=P*W*xq>{ zZVGFZ*X$;eVK+E#G3i`9oTqA?(d#}9)z?w7SQ&XxD;vi)i3FnRF@_lFRlFQ+^t)Ln zo$yznsP%n9O=3AV58aNHX3vq|B(U8X3>;>yM0GW1%ic71zSoK~a4V(Jv1c4{54uHSc#0r(k2DTz zc@u0=$mal7g}siCT8PDB9s$%>9S!=cDc$pQHRz|y)U?2f{o3)ZTFQMs=Quk-%`L>8 znd|yKqqVjUr@eMIv+tM7xjY_~b^??27Xgs@u5oZd9kG2gZWc@ zZ{X2=0lT%v^&7tm)uU>2&WB@Q(y}P)h!B3KN67 z+OBJUJcia;E$mxyUMa*U4sA~Ed%H^j^IS*+cILQN(JnQcx4(>j?2Z7g7TL9Za_w#| z$rk(mmGs7sYZN+sYYyBhj(uo)lP`B;nefe2v4sS#>gDq-yR#D0P5W$Eo8_!+ zS4J@dj&ahu=%@1Sl(4}(;-(TqbcQD!nhkGb$rR0G`_ttlSEhJ7#uKdTX?G@9(APVu z>6>>I917)pn}}u;LNT<~cCcvApuARzEr;5zh;rS9c)iS57IB&GRH~jpuBS@Yyuh&C zF~Wg?Q}~+C?V4zi50nnouR$psTrCadv*ozKKc#kmv*wO&JYjtTow1}FkG*-PhID(a zS5+Ez@`~U34ShAC#iIN#y#CvHGaT`Vj~(lmsZy4M{9EwhSH#JzBcj-s%SG*3dcMD= z=u$1Nl7iqk+p<2O_N<>0{6Rh})+4vkr`vD40|x^Y)aafZ()3$|)%9|%oP4LAdslj` zYayrdY>l0L)_<9V#Z*6{1O9fQ?jR>Dss* zf5pMSab)|6;P%BS-OAsp== zjoSG>(en=3t?d!o$I2hI{(!U0x`xr_h9MI27^WdsRFztIMzHxZCE_ z{{Z13(ii1t8Kd9s9_ds55xY!%;5{lf@YSw1dc8ap_0D+&$Ab z{t$9#CmIf>^|oDRI935?)g|R(u+u|BQg9V7#LQlKj98Xz!Hkr z{?LtFx1GW5NA{hz;O0&R7LZvOfAESRVf(wP6xGnmyCQvrtSqFTW2!P$kPTW^dW#FLk zg2x1Qt+_RQI!OHFl|+7^jMr75-CEqLh?~t)aai*-UWXYsgku4At!G{MK1Gc0O~Ssp z)ASuWOB4nmSd7;h;>mRVC(Dn^P{Xw@c3MdJf^P`^@07spRDa za)WNp{?&?gEfC9rFwaf2x#T`Xc`NvSc;q1?+($!-uO^jzyaYb})$C8G>9KcDZk19^ zLr!0sO}^bK9HbnG@ul#^#mnw>Bk-xuhF%v3Zv(x15W2N8oMVn2<0Mwe}C90k*EPw7sS+D6~KDhQ*VLCB98Uk+YO zK-stOr?-Xfp*vJ$pKA5?`!uP!TqydAuIh_}6Yl(J`$>l)JaT^w-AXov!5-An;TypY z=IQB*^{Fwxs0Zsz17mJ354LFblMY09xbU^x$+9)s^%b{c;j73WW97ZYdUVO>bRj*# z6(m8emxd4ZG;_!~5yD;Q4;7rQQ|2j!80u^7AJ|*RllT+FpJSdjds~S?nKRP9Z@6Ez zqN5xY^zB`*!(S0;z7y7>yLonmb@MPfn&+!`7IagJKXQI3#=4%D7NH7#^+y=M!k(4$ z{5)~D@vosYiGSfL_W$(r-z_0D(u$|$bf~T6p0W01lREgz(7Ibkokhg2| zFkG7WzfF~_wFww?EsFgL*Dcdk(Pg*Bep8D4`|%}{X}bH{Msf4zy^3cf&h78sEk1TF zk+V4TuZgexO?6@M5<8ne^`dW-*VEo6yn9U%z`|AyvgD(wRxXB55ccv3s0R{ z9%Xs!WPSDVU*cjPhPL(%C^wR%;01h>sZsB6p zcSUaa`FkAGe`sIX&dW{kq15347C6}MQObQQ$gX;HIv;5}PVn&E8;5k)55-nFv73UyfGF7mciWY;<9qsK0!6P(4vq2YVi**~+-il&y_ z*jKNOT+Y4bc#2LKb2GhF4L>{sI%Zoz5)0DCC|cF#)v$MDa?-wkNK z7Zw_1N@9&SiE+tnSI_sFwxOo$;ZeRw-{l$Nv%}WrG(I)>Bl{R@9tZI^_Q#0i8jOZa z+mN{Om(ssS*51#;dJotk#u#AZvGl7NUx;Lu(dLmrb{Xr`*PZycS$ncnki7D>wDmEO z;Xf1gWw3?rRmM3czc()g-YoIVmaFrt%kmFVUu1l2)^Te+usm%dzHs;z;K%V_jGJ0{ zS}1hcHnut(){jUXR8^7s!TUaV9xE*x(%C+65gdWo*V|uakI6()g^Y1tDezB1lR?r? zoHM(WZ}w~3cl@PKLCtwxZbY7@P5%JSoq0iu<(cI|PAhupBz9sx>8uNq!a%(-S_rXj z6_m-GW3@=$Tyg!XL6DSM`A9OuB=)0GUG`3jF~tP7V^64g<8)&Qo|P-yEzP^coE^27 zZ5o)2dFfYdBJ&GI1`k4OLXSDQUoLYL5&rwRtqWM**a@x<2fcPrWorb!W2a87UIp=E z$JRPMqbQTgiGK46aHby6_GX=Dfca0kvD&KGL2!+pee1$J1@T8k)GT7Nwz(6_=4IUV z*`=X%zma~7Q>O)rxkInT9xP2w*TTWQ++Pi1&5 zt5UYMEpw8bPX}m34~=vFum*YL&n}9*R|`TeGKwNx=)lL?dx51@X4!(*11p8 zeJA6jhgPz%)wMOclHtN0)%FIF;|&<;jP~1Z8F7|gifj4Ix7Bs4O>!H#FJv;=KHxoT z><jo{5j^k9}a33y0wIN7R~_R zKp($8Z@eq|LWR3EZ%CD_`=leJOPPEnZ3wB$tIaqwVy?rYQ(6Tg* zTc3BqXKu)I*A;~=v`sI|&JAnnlgFuB28p(?>?&rn@?5qsG0kyU=rc?J0p#(=HBIc; zs|Im~s5Org>3U+7l0_I5^RJ73Jm{VszQfKuv0ADF_fMhax3siC)3{OFJ?ZxPgm6l+ z@v(sPug%Ykf3>W4FbfX~;$n7^;Nx%7yuZRfwMMz3-A^U-ji?DzVkE7?A8LP84`~zj zA;faX78ww4;3(>AA@rn<@|Q(A_W6};m2yBdXPppvZ>waT&-Bz z`WY5(ki^(R3FKDIhuWq_QrlMt6`KeXN((3oI#!(bt8AWBLzDVdC!swI_XY_Z&HPo& zF)ceYjHqrtmDi&rk%K-CI@c9EfK4C=jPX-;KBuE;kXlI+yg(j0dRIdXNU*e+>C(7Q z4J5NhFiHS_I`1(nGA=Nqt!o?DiJY#fx!ewLYRObfPI(orJaAk)AyA|qK9!esa*-*G z5D*1ZLohCsIQ82_wb?)ejt3O$B4oLhoMaKwtxRp>ZH%CLRxTi0h{Lls_!;X?;~gt3 zE2zu^1Nv3VXyucyL(;AQv=U9q!JqE>R+WS~9(4E#&<|?NxVF1Ld}1(ot%xL!XqFT` z2THfFGDo(5JA4BOdQ}PS_fB#5hg#lC$Ssgt&Di7`&YD)0+sa^%{KQq0ouacQ5ppr|gHy>gu7Jn#k=m=YWPv08 zQ~@2NV&Y6=2)(Ms$JwpbM`6UH0(N3CUC!*MjFh`~Rl0AR_wW@*P9*5$0L zfg1CH%}4fO677`ZHBwk*w!=r$`c!NdHX1G4*~cA4XUYY?`b0x}V}L3oy_wg_^%$w` zBawkP=xE$FIcuS*mNFg&bB}7Zqxp|B78%8D+(=ov4?|QO`3!!{I*c4rOsBEZr189E z8yr=e8(7{JXB%IjC(^j6ns=BXJA3|B*H~T)sJy;~IQ**ajF~LDT6t}rhrM$<{=+Fq zKIrRRjJF>q!@#aq^-@!q*91~*v`y!U2y@9jD^}9U+9F)-2CyuiAtLVVYps$|aREqp z;+$ABoxWpg!6W&J;1N>UTZLaXemT!II#^CW)~;9A(xFej#zIP<#t%wjGPNZWTm_Gj z(~4b@+J#5%IIP*{GF(5Ck&jA}*(H!S+Ibzlsu;}%DDJGok80YEIF{QV!Z{UzvBG38 z$T$X`(#hn7Q;<6fA_d!vg+LV;A52sbp_k{BWcK<~?XAY$@~Fdft-C8YrEF*B>?)!o z|JL^9_3uuk+5qO14lDZ*{(BFlFHuOR9QDU)a^Q}X32HiuK)`W82fYIWPtOAs%27Z7 z&uVh?=7GWDj=YKhaRQ1=15R$k(xrfa3MivK*c5XW%7qm0Mt*{t!wZqcJdT?wF$1?d z2L_P{L+##-Wch}d6o z&~fWbIRs*yoaLL0R$zgWF^u)86-GW@w9|}G0Uh|DV~3?UE(U2h+mS#Z^q`%E_wFed zE`OyzAR0y(A(E$3@7M?X3Nz_aAn0;BP*uB9k%RQ@Pb@$Or?mi>fm`^h zMc5XYrzDfp6s2<9R25;v=iv0Fk+c0>C>W&#f*O%Tfik?{8dXh)Em1NVd*jlj17hry z^V)z6bDDJ^$7))ZQbGqEDQPe|flKX39^p@J!kOC??`nNOcK}d0ri^qH?v*22j{^dh zncAENN6kR(Z38^wo(3tg?c_IV103n zr4uKE+ND*(9F~ftJeoHS-l+S8< zHr&=^>ta5{9P zW*>Hxg(CumLAZL*QrJvwTrE5t4Wg5GVmeZ7O$FSNj?_{C+*C2AV8J6JwLj&46R4w-xamOo zN6IM;3K*~6=}j5VXbL*_q#0vM!vy~TThgT<=8z0G6(%!M#tYLlp|Cz-PTTrYW7d$> z$5Me!0~D_N2g}xg<{kzqaZxEaXgQEMUWI0MwvsiK|I zmBA|oDCdDm&N!#27~p1+U@=ZoDXN_EY5Nx(cBt|IJ#k7pVvu0{>RzWksSH{vX@~uu zv=lsyQcyAnJ!r)tY#%WDrxhe*1=@I~C(OZWMjY&FfaMb-98#?tX>b7fX+4S#L8q?T zKtSZsdFfd)w->44Q?Ll;ka|&tX88g43~)O#?jBx_u}q2Tn0g=rc*_ zib0;nm4-NU%{x5PX?oNNA>FBcsi5G}_ux{n$8xmc$jGSj7;N;Xu2&p%qShD#>r0wU z^N~rO^#xl?3Odr`cLJgW`c#Y0$b$@f`%pC<31d+&3OV+xmv`EChV;2LO;N%}7~FH$ z6xBBRbS-;zBCK(Z%uhfCd`P1NME&l)#>ppuiu6Dx6X_n^tavEs|$UUn% z(0^*mtPrmAmiDWjBAt-OZEySwjEe5aXnk(GsXv8m8KqT19?mB*d3PxfG>l2?D>F>B zlTf`9$@deW^{Y1lr9l*bd%a(Y8&9z^fr$wDR=(3T#=`}Lb6t-Y1B3SUQhOA&+sljC z+fB790^o7m6_Xklxr*N0WT{fbecTSTky&0xA!ttNu6}R#eXDt`4wI#nxBcbAbCK7c z)%b>6m*O*=%iGlWQTKSfWjqcS+0$B_{{V@#IUu-+Etr1f=NaP_%voxNOXYjQq1&PD zikJHfQPibrZb4l29<{9>g5K^hRPEWoQ|Vv1(xR}mQrRQn9NlV~4cldVa4lmwe{Ph% zAk_|)WpAcivb2oYVcZJYv+(R%M2ZVyR~QZHTvnywU25aR6EsDnRl|9h;}!X58|Txl z52|5xXV&Dn8dP7js!O0-%X6tm6O;3DPi`yFHC=An%?_BszV8KkR#lFdCW@(dEXqzf zkG@TD*O&KGT(puzcqbm!hX7<%aKFFAM$G5p49cBn$w*bwW0?xe#BcuqeN(NpN3f82 zCv1FR{VCCZYTdG*DYgN}7_NpnCWlX(?eH=v0|fs7O8qA?&gjvk;}@-u2MvOp+PXOJ z5?x$sI;CaGUw}}{>*l$?wVL;CeeGOzJRT2~ZgbLUR`axVn;9RFbJ=cSzaR#n0;aq(D%N%MtE;zdRC*Vtf0We3~)%|q7s-b z#ET*@+tWPMYinbw+A3MNHwr#w9GcDl0EB+(-M`Wilk4eUwdI+`CrL)5SL}QSCkEp^ z3z}`(+uQ;d<#rp7wR76MzuEfq^F|4`n2ctw8-|RnyGBv7-_oMjY})eA%@Tu z9pVlO7`zWPHL5+X9K^acxmeu_{i2#{VaT1bquRA(ySBH#*%JUrt^(%qtmB6M(p7IP zDmUX=y6W3SaRvN2c-d_2y5ns{0CJ&Vf9Uk&n)@?QfdLQ%UBJh516Cdi{R1=~Ry?^0ZTl&uf}}?0TbJ&I@n( z0jd(|8}8t+Ct;9*&wSUbc&QrO!-;$_WNAjx>6-I+=br0PvlC;?5&|32zn?gd0URc1 zryi%;W!Tp|HoXo%#2N$XS3X!%?Z*|$w39}505T}@zaX% z$b3_(#=Bljf!h_{X+Ax(Yd5geBMcZEAA0+oR}#^$hLmTfhmjnjr3t4UPIF7UM!d-< z5x!QvqDbv-G}OFOHvyK#eCulIXQ)XV%&fgtyJEdN!}q^vwVo)S%>x}fSHtkWcS{Y7 zbnm(7XLwgQCYHogFl(O2C-kZHYZVYHT1e{W85zKlUeWUHOl{{mO zmHQnmQk;3CvGXoXG~>|F7uOM5Y0E48wx^zJulRZ50SAkty3}}&kc4^~^L=*7?X;$I zCIo|p^sYxk@f_CIaW%r1@^Gq0VVeBEiE6qTj3+I$J?y%hod(alJ|O9lYVfVXVWTP! zy?k}!%NNlKOp#$`&N47~udcL9`1PL*Tii+Wjlc|c;=D)V&YX1!;CV<9TW4x|*XY>T zM>5Je>GnJfB}a$FsLc67SvR?J+|z^l8rQ$l#8I`tAs4b9wTOj#@n6o^x--Jpbm||a zQmCf{(Je8k%^^9gy`{|(B)6EsaTMJ=rVXF>YxMiz_lO3q;7G4!a@)|ZJu$_8T^tZ| z^sl-90B3Dn!{NuVx^d*~K3G2W^4v{B+hHx(_HugO&cCVet$7ox1sJFjT#io_Quaue zCMt40t13I3C?CULlX4$$s+&`>BrbTW^OlDMbgbF#2xZ!Ms+SkVn`k-3Z5Ri&FI?Q2 zz(d9=ynxEM&#ZwIY}Ok-*9Iuh*{%_?JZSo|7J_rp~e* zqlF-nJ9Mw-k6pCV^*ddzg7hZr5J=IdZucCqzzF;SdTMH`1`=fGSoMI_l{9(IP}vaj#v=)ZThWs!4s zq2+ynYm#_bBdJLp8IlWRVboSep>sT#@_13{RR#Qb@=3@XW}35*r{>(fg-meFnN_ho z4ekIudcsdenGh9WVKI{^QS{d54GELh5%d6GRYv zp!Tf&Liz3@^7?VwxqWNJnpJ}S^5G2KlQ=cw+Ru)4+xbj-1aG~2sLgsfP87yfs;P22 z_OZ)Th-h;2^D7?kFP6sN=OcmAxb0uWVWHa_4CkP)pEYfN;$euPSwj*1%JHp!^Wyr6 zCDZ)k$EG9AeWecxb6G38PwqU4@ty~6bbT$Y_>9}Ua?Z*^_G+Ui#TzK$0pvgc#yGEl zHM`&12I^8Kvb>d0^;o#CH`J~^DnoE1)Gh8}koGBx^RfI3h{0)AllzR96j7h>+4>3M zPl{S(R^XYHfp710t~M`3_Qbv<=k?Dx*gCtajt71MZc!5%H~guYgn zZ9Je53!vh*%D6_hB5IsyzqsYZaa9<@dmnkn@pnRrcg=FUhxb@lFQ|Ud`fM}#R%s;o z>*bBd^sN5?hkvl|i#$=~-s)Pa+eEAjK`Z4Bl0Rtw024pRG}+J6BVS_Z z-w*UHOIN(L{>m}hE(|%vO+JC)eIo1Zr%KpUBXI)<74+E`h8SFBE@anZ$;WtsEG+qE zkBpo4o@+K(wOdINPe)8(eGO&nU$oYps6~j8(oWc14A;`0JNQ%Z>&JGpPxeKFRSEJ) zNE~+HSIv57?ET@3Tf2K75Z%QT_YbvIj?zzTSIF_FhO)~40DBd9ow;uveQI9ow~^(I z@zcgLPFlr7pg%6qNu-a%2^u$eHdiZbPPs2YB+bq-CE0rI6ciyhD+fDF( zoiI%|PgTbwp~Zeu=+j?h^{R1P&(3QpJ}-EYc0+F@IrUaw>07pc2>vqMIC*Zit99KY z3|Hu5>u^NiBnk-hP(P(dsA}wOwgyl=zm{P0~uiZEqeMq1r3jb(P8e+hmc=c*lvL-M~D9#%mfkzNNfG+T7Ui zeZY$5GUypS2+e!LFnd;HTrS=#!2BFk&WL+)UqQTpS}aM%M|!%6T&go~b2CY^4p_2+ z&FVO=AICa%wX!6viMu1N1$WcV))wh-u0BqqrcG^s!jSlfu4=B3fO+yMh@VxO;8#jg{EQ5jCv{G9Ls%McRJHF_ukw5V+M>Uyssid-q z7mRkTJ2jKb8~v+wA9M|UK>6BCk0Oo1c&-z}hxf;D$2HaKSE`m?TzmpBYnISZ&31~1 z7(CW$Hm7hs8&H2IPTmg~uQ`hLJC-WFL9XjwkVj$VdsmWavLCfFAm+5gTbAUb*?d3E zyRWdW561B?oW8iOtHN_g(n}lm#dH2LM{PlVUz7^xryg3(1JLqW-HeL9n5iegXvI2RNbh_$@HOiG7Lm@UXC^o+Sya{~wV~-g zGF_T9u6wEeRq>sZs_P+J?(WCyUvYS<2<~)t7~^exJ9{75wYCxTSFEsZ_;Evak5l>K z3Sk@^bgtZ53G}k<_k!0wqivSJNheS^72RoYGwITTy^bqrDS--bmQN$;EmPf%R6JN3@voa4}kQXbu-fcDDx2ONAJrG;wvACm2N; zu9w8t!YM?%F@h@ftSNV=sn>tn@5f}JcY$p*EF9wUBIjz zI!A>}EyDwWLy5d~IQ@JiI=0sPpk!4`>zU=Z0v;B(d{L#$`)}0l1FkC!%)ekHeF&%q zdJlj%T-r$-oa2F7ULep!$ibuKd942chY#c*EOH62Vb*NYdlPjK`M~K=owPHlq4OQI z?WJD%IQe@D_5T15#v}^;s9GajwiIKEaVl`?dA_-2sKs*gL6nWp8*5KU@Xd|P9&PE}Dd&pxeR|d;(^;Zk zi^X{lhxJ)w)xOUo{JG#!AcVRd#nfpHqQf2#C*8+-v!r;Q?%f5m^ zNt?nwk5u?wc9wT49FBO!d$)t;qddpxD5;@V)aUfuvu`q&=DvW_ zwOFLmfyi7gE9YM#VIbN#&lTO->K|pZ5y*J%DMChbi3X)3$$spkIOuDv(De^40L|Zz zrC~=st=xOK9jhBtzWWgJt&dvMn548ieOFWqJ3c;8O=7mFCLUBL4JQ?5=HJZF19TFRpLvmLu?PsBpg-8-nmw>^}oZ79d!LC&y{e}3iFSMT6#XD3~C!WuX)oEW6+{2 z@_?iHSBh&=iS<@v%B6GCce#x>?;b~YWhV5Cl{^3|W=%FbC}I!y$*qgzON~t=7$6K} zR9e>&t9o!NTN~Wr^-}X(t+ls1deu#0(QV>J34#F5D?-v$`)*lrlh(UEdq`WI8z{Vy znu`whJflp6Pbh9VJuB0tf0Y*A$wB+KZKAz|YdTdX*UH zd8GP=p`;X+-SA?sqWmG_Ul41W2)NW*EszxoJCR>M_?{$K-;8?-&+w+Ftu^#k7IL2> z7%>X;V+AOtM3MF8x#COhKt~)+wh#cy@ml^Lw-+%N&h9(<)>ebzo4LF^k8n18{DaoJ z-wx^U+Xc2xS$H+1tc)3)d^Q~Uk`7I2=^8<|yA6y5uS5GHBpak3cCgmwGd{@1DsD;T z{{Xbcn{lfAFSvy`Um`$9wSER%#F6T6W_a>gp%wiad{D8ERrqs$gnY{bV!xda5~P-1 zKEAeY2%U!CrF{Nl9;dIDO3<--OIQI@_eLp=4qPlGZTG8^!pEDAnCV$acFb|Yit$d; z#K@}43}XkqX-8$T11n{}N~jlm2gvzrL@wBNuLRM^Xfac1#JH%6oRF`DsZuuC$>OU^ z7#%Z8$OxE9hj#K)>sCqK9{600b>^z$_;FGb8b!Am_M*rMqx(w?tcIjkx+6QfR(QH7 zn^g#_DCcefqR0(UW}ZE@AJe-}-ayjaNRE(CT+ETUo4Dr*{|?$xRd8fTi~1@Tf#D7Styo^r=Xq2uTj#o%gkIf$0Tu%)kbGI<7nr)v5n(m2>aNtEwze#5VIaQ z#%tF+Mp>+L!yq_I13+Pb+6RmrFD^T+(UUI(>37I_=8i_ zF%{$F9)MS~{5OeG@;779a4VXuQa4B3dR@$Bz-J(;*Uujj^+V=4R_Cxa>agF4H0G70 z0PNvw=5HP9KWLb@2b#httDaq|YL~@`jgIeQT%`Jy^lkEzUbn9969k~a#biSw$?}kQ z4(7H=51E-)`o5qMcFIJD-=$~&0BP$f36gn91JKj;n7(2czolj;nk}%$AXTWuIhm_( z;yqqdv&?OyzG>^PYL@paD$dR94;6`ND=T?T!unP8jUtnJ40=+OVuI}VPYmi>uA^z? z%KJBTHI?E$OIEX(LmY(TzH4v6d6LmtmmF4aizC>@z~{AK(hIYZO?y>8^3;rW%_?}4 zSR|;BfIaImZopzBLC3XM7cu0AU8A*Y$`@v|-XYcUGb3ZyHCA1JT2Z<=Pt!G2N=g&_ zE7GZ4K4bG^JdV_I1=)RkUE%~>2K{PNX^zKQ?yu9+iXR`(?G)BnkIefrDQo{=r`nH72lM z4PKKhh{wv8_(Wr(;=bGXo1@&#s|%FQA8r>NIIkw0J)Lv9Yu!BB2>$?cA|Jcbz8(0h zq)lPs2E4`)w-xt1mh#&WHt^N+XU1(7TeTBHoTwSad+@R5R6a@Zz1*we*OAT%LyGwN z)f!u~Be%>>O??6JQ(0)DO)VRRW18^jt>KFk=a4Ji%i2-U@@lP3zXWOV&Ekl|a=hlg z)1D&^n;It}fL@)kUom_n(^B(WHw->dO?^43YJX&u#EY2r1yhcOrxiU*r%dE#NfJf2 zhwrh*)7HMK_+jwQ%G%yNM*TNQAXfm_i2OS6;qeZ?_PK#*pnQ)`Ywb-H78#P>JZ+6O z{#E5wsC32_E)7BrGVT)s1yIVpIssi5#LH;>OW;fB6Abb}wE*c{cBgOVq>NAcwJb61 zT`z?seOtrxAs%9){{XA*Ynp!vy)TITXO*tJH{y%EKIKBjC2ibbaavb?EYl1v3W5m- z73hDo2ZL`sKd;@~T#S9HPcZ-=a30n3q{0`sQM2Y=wa$8I_1}UT(&-*EmO{lv!zgU^ z{44ZNK-MB{Ry*k1Dh>f^{GQTpUrf}j@7EwJg4OyV;eA5iQqXO#tY!t>6^LG|^{y;T z4w`4`=Ye(4?Oh04+>f7T2Hu#jocw#G%W2|w$l8I1K9#xf2gTCsOtwJoF$@~-elPfQ z4mCJq+q6~d0?K2q) zcC9%iRfI;I1r?Q*W0f82jKHfgVb`T|lRGr0BfWH&nE_dP4z-aid;b7=68ydB3kz-| z#yit>27f2Zgk+wyu7#dJC%g3RtPz3O}7H!7(7YmxCU zi0%A0r?Wc*IL>RPoNu8mm_HS~Wv2K)PJ73c1Sm;d^TmESd|>#$cjDbq?Jb!7oD;Wi zx2<>o0JRUs%Z+09`x?SRNF^DR@GIl{S1_n@cSz$U&qJE_@HijlIcwMDJzwE}#EZ`i zc#c1`NKLG`jc|DlU#D>Vb%#apM7J$)trRh5VxCVOtMRhh+slv?_Z8%JU9U31IRXP)s^I}eCo5_Nwcc!FI5*Q0ug|GkK(`TX+`uM1 z1zNO#`G5dG^!2LRq`U3{OUm#tYp#|NC1VGPxx`xA%Nl*5oE`m-TI_6MON0UV$3fb> z_gIo^Yw|7rSo;dz(Dg603{A!>8Bjv@hjjKTQwkFpuAjl55H)`Q-FeoG1*~}9gMoql z(d%5OxmJhEO3%BAGK# zFIjjZ48t-jVSDy^M^BsR$N4k7Y{iW~qiCP^dPnolt`EOU%weJ+%i;YI%fL@zh6;9T|3ur#k zG)(e$t2?1&Unk|yYV~N~;~mT=iforn(^A})k;|XNpNTvrsK=@4FXh}ua-eporC-H{ER*}4w^1QwM7w0_)9V*1I?2o46dI4T7YIbLOdKD}eGW^5@ z99FI6vPlVU4$+aevS79i)Pc`R+=Zc!_iDh5bM06tmbN*ak1*Q#QC!sOt###e!L98^ z_$|XEXMxidnG_;tGO^~Oz|NaUx@%Pt#JmdV?lp3es6oqp>g6o16dx}gI#z_qF4kZ& z2&-2_GgWS5k(XilsV`MygC_tQz*}kJD{~knyNc2?eYz37aHFr`Pne@VIj!yEFBdM{ zR1YVdz{%E|HK&&-k|C7zrp6;P47NR}0`fG?6DkjCp5FZ}ZNw#6q#ZF$H_*hq5$RWS zrnPwsoNkk#q9`7L4eiwEQbqc4+Nw3cwwy~CK_ga((MIFJCFWxWR=}b>5S+Y3C zYRg-;w`E2d7^_iEuCF9x1d6aO%I$`UMm-HzUy?jNNdt<7E)U8j=N$z@Jm%Wfkx_&vA3d486Nn{&u3P;IZq9<85wdl6;Omt4{j+$=b2=Bk(ad zB$R-!)OuEm#{>$(EDhc0*mp55qK*kX)Avspq=MEaD!}ntW+)6`OncWmb(k(OAKcFr zk^^b11HR+XbRx8%u(r1Oqd01>ZFVQN5g(Ut8LLq;qYjKJ`9P<7C1{CW0@fn$U`Kw{ z+87p5lhF36v)ID15UbB>8U%0wUOS+pf!@07DLD$Yk3OF&kj>V#ZCF{RWarY7K+XNa zQRSTA3g_H&{MJV zWOVeShCMi10D8&2agLl)CQf7hX>;jG---Zo{DY2m^`ro^S>!NMJKf$A8L~ zIpL@stSa`!KaBBB0OK_y0l}=w^8mSA(YW^%&_~`B?!2BT3*C#fXPS6Gc%_rseOl_p>fHh<~Syb zOw^XIu7R z@rrLsL%g0T;B6T+3_-xf9X_;CK}dSi?b>ln3)-GJ>rlo>Q{~MkA#qG4lAqU_7}%;g z%{ZazDWg5AeDEq*;x$w#pqz0_%Wx&fEO7P|rvzYeNIiN|^r$KpxaD#NDcMjtUTKG#kOgJI z?NY}30*#5y2y$sKe+rmkM@o}K44aN=0VM4`sS|KK)0mQR+L1}71YrA9_{L}e912F- z8x<`NU3C{{V#;;~-LG;9|4ssi5W0r9DPYDTIPJ>p;dm>IO^gNIius zbQ$YO#X(+yoQzS^if;q0IE)-p1O>K@ql#2r$a_!##WVsB9V#qRL$+x+=NwQpg>i+zq#Y?Sl1Zfl0~CjGMmmaKy*g4UQA%qXw&4l1>@TgeUHq}BB+Uk_=rUd%#;Q;gQwdM>R+2%2oJ&m;KJ;~Px}Lz2&U-71v} z>tCG>aU#!gburqq9Q`ZQek%Csyj!l4yu};vI}BHVc#~5eZ`oo$F&zg={*vIllj^uw zwzX%<=9r#s5M63=$uNxvIlymf<~8f+zT7m|8#Uf?^atQx6#3~wwmTqw;*DXi< zV)?R971Vg1=tp5`Y>aYa85PDp!xjnc+P>?AGMG@oLQPrN`HcSn9Y1c-6dJYN(}+OZ zjxsAzwN$o%+pLGrVlnMb(LT!a#~eXVJl0mPwQuBIfPCB<^E^Pzr-s3EQ#*KCoNHG1 zkmZ{8_Vze=Vyp>0tFhFzyInIe#<*etV_6;@0!Ug{$IITiZE8vGbru-~dwN&Ta0X8t zM1HqlQ`O>ZW2XI;EeA`lB(m;!L#mz)YT94vm$Lb50`CjbupQyE3LQryn!lsKi+1zH zjix-;>A8g{)5E`Jx_@8S=zMM)nst(qVSGl`)4heYk`le^M&Dh1Qsyl>_QeE0#av?D z6}Y&#U^fwtmC@QPV#Do7aVrdxYw&!h+GBHBLT^L#oLnJ?!LDB-{pO+JXi(e7Z5T0~ zy(^u#y|!qa+L0V&5URDxOeB(723O{6)!V3A8(6k+w!dz|g9;M53 zsX=8W)wInX&Q9L-h5rBv7QHU>DP~+1+)qmEZSD~~J#{OAjiR`yPo1YZL51@NBEKK; z8!*IS>qeb9Su^bTX9-Sl=4$phO+!xcEcUJT2wLd5Ic(Miw~D-5;Tt!!ys+W8R_a#1 zpt6YA>0fF@0e18wsjofM?=5dw386-Ea6wwrhd5STixYiWzAroEpR#aPM~)}P9Z_Ov zTF;zy%~R3*c@^#ZH;ASyYDdV2kfyyd=fPed)xUXv8$sB4V;Qa|#Qy*dd_85QB-Rfp zef;OryLgWYR|$l5Z>lDG2BVS-8|ZJ3gN~okTX};9|aRlSrN?D-hflxT;Qo4bwSHZe@l(O$ef4AB#N{5+pDJg&D8J@A7RX5uE}}S9F7Jn;rOSDaG05@u#w$?%Ieei zY<&r1du^;~K74PPBOf~Z*E6Zuk@KMWd;3?9Xg)Q$(WY}BDIo=viuOx?h&~y-R7D4I zPoHq(HTOI##&}Fc6-um+2QkR8G^%@ANaoj0jjk3}Uyz)170-CHL*_P(cCTz#rJJ1w z;|&y{OP&EB3evprygJ>Q{hsas$T}GSuVX*0fyCga7`1z7MjpN*jYz4hA2Ho&^VwmX zU{vM@couMYBc?i6qUv59Q3RIKNRDGYkEL1Ad^-%fVUpwS9E=Xt`6f*m#=NMb>g#4P zj5(R*9XK?bSJJy}Tf+WEWwrT}u&z1ck|x^gf-C7O;T^2aXkuy9k1{iE&?n8FwKayN zdtfnTD@UH8PCu0;#B#_mqk&Wg;CSGQ{JS&ulrg;PO;1M9ojV=Ke^SCYdrfwi%ZrE<~UPYVeV&lMN;gt6Rt=aNq~!Nj@R#HCiIjME90`xVO; zeVOpbTaWuFX_85h7_$B~z2ci|JyBZ80A>Rj$4dD(!TvXsMAf5mN0RIm?j0-a7;d!t z`(b@;JV(wMVY{al_q+$i7bV;U0+3&{Cz1#~#d3QuBYtzLd$asJRDW%kjl#L~yT|WI+&w8@QQw2cJt=!3`$Mi8 zlB$Kk8LIM5B0gk)E`2MPYsJ6^6ytX57XJXe2Wq7f9MRF8Mflt^il=*g3064zS26vr zcYq4#(wlRtG?*?F0qI>aQ89H6fZjzSa=5_7a+enQ>>S|MRJzdfwnho{#b@e1 zAa%BA@)TpebbB;m?OD0JJ+sbbWE{{W47^W8-)t9_zkrH5nEyoblWE4lE@DGr-Ao@E*2=K{Xo zr-WF{JwIzWStI9X#x$n+V(fNiWi7|5f zM*jeel38_Bx)F~cW9Ir%;CtxTT_L2{jNEn@uCQrV+J=Zpg7zaX2{Ek7MAo3YDl-l5FkZ)$Sy= zB_a&Ka=GhV*t^oME5|*(9vfRo8xnJx^G#bt*gw&jq^Ns$HSchSRe|;qsGz>%&d%}GqgAO$`O8|+ zKWQxMA$0EhG+EOy?Kf7Lkh}m4Bf_REkvOT^Q%oODse233I3H`Es zVc}`!I)2d~yfcZ=uudo&K7sova-6f8pU`k$EHt6s$L9dzq9eil`x$sNG7dnNM zGir_H7#=J2X&^)#WkKS-nh)AD!QTX=X{T)Q z2ZyG_ap9wpPgVCLy?ckle;mQ$ojN@;Rma<600WGI0OG%$ak(8u4``9~5}a4M&eMEz zMZazd=xVI@P@7W(i-`wH*SfX8j(w2B@*bR3IkcPEWmXXUgYR))H_6IHjx;YgVf5my zTB@Kw#2fUj$!uK)B8ct>pO>{O!({>aBYct19A>nz>|jZOAoQ;8#lf;%9)lIb&aa%R z9l5TLMwfJcR!6O2RcLfkAk?IdNsQxmE6DX|WV*gFfN&2O>0Xtq&aHIpKIS-Tp{8j+ z+N{k88v*%^O&WTgZ)2L!blcl~N;Bo`h;q$dxu|MZvod{&{#5H*IyZ)FFg{{O-EM2B zweWSey{K7uZ$N@c@9!p9qVm&lSAGGIfx>&5bs{=?9#3Z;y{>B!cyq({jjHOG?Xu3$ z@Upk2dspvwz&`|Pz6tnyWnr#HV7!tvd99m~6X0ck3gmtS{?8g0!rdO){{UFFg6G6i zF6rgk9b$j_WP5%U^uGQo5;t`$gm%vcs>voePEAO}k&#V}M_%<&IHe}pR9m!}X%0QA zXd`9oR%oW=*sK*+;^|;qckNa-)eERYDZu8mq?PqEoQ`(&p5$`W+j~cF2pua@I0g>j zIH#GG-AL#MO7tUA%F!}q2eklYxW!VPwnerxhN~|#NO!r~wUL7I?o*MP=z_AlIoK+n zFP^oJc@qGvy&J7`a-oe!9cv2XEXtns-9_nkXVl)&tz&C%GpQ7st`-CItGYU}C;(x7 zDzA!&j>+9eYT~0W-q@+^c#5X!ktDJrkC~4(cN;De zMDK%MtG&aa*y^J;$2|(*RZj^;vhWkg2b#5cB2Qzuj*HT_JSAu4*}cdevzk>UXjq6C z-ZH!?aJGYl$0oRoG}|$nE=DVN#u5o8^E>)hU94EOByq)UNm>OXz3`FUBfs~$)4W_b z2e=$lJSMn8eQIA7LoAle_{Ikn%@_Uv*FY%0(ef0J2)?(J-ia~vuFg9(xw1ocKH#o% z?FQafNk-y2Rm&}N_upriqj8Gq`$eK{L@aQsr`;QIU1g-JCY+}p)yeBh7A181yjN48 z;q=fCO1YR!^Dh;;!E+u)4tTFq@LLO+El3>{SD1L>JtfO*aK)dLV!njZBnx8cLhBq?iL4QB%g4@Z zh|+FfOV<)c;dfWEYW8U(ZUVe##5NLITn7gkHBs2g2eWIeFKp0`NdV@l_-)-??ceU> zip0|OCc3ah2XIgpu1zt8lkCR?V>qWD|#w) z)61J1$3aSY)aw~$Iz55+<*!SH5BG$ z2kNb3c91#w8x@sk-CwbF5zF}FN-$hA5rD+vsc9D-o*bmLy?;uvg4JBTzMCCv1xPd>=bVZKH*cr{P~X-9#?$<^+Ay zN;?}<-1JWc>IsyN)n%&r0?^HA3ld zu5t2%UOBIlx{mTcivqoW!)MRaluOtOaW|XyO&iPD-ofEKou<4DZnV~Z&^qp~SJkH5 zaBZRJE6?>9WAnEGf+&$OM@g&C_N#a=urixLA4>F1IzR25E;HATpGxt_SpATe%K&;; zseC@vyutQ&;0)kY#e!NHekIb)YehUr6NU)uo*SYy`tL3wpPhrze+!}#1U+E#sy>Qx}lcXh!_{g zH0m_UMVpCXXtNo@*BvGF{(qLw@+ti)T`g{&-eB1%2NedHZnt;dRGzh$E`_@nZZ&{0 z_HtEmgHXkLCC$VterD(eH&}|^+F!Ec3I#*qDE$3wNdEwKA~8_ifk7VKbYhFcs}mob zrZHX_;lyL&#mMK($Ln41i#5pO8zF3Q&{v*#dT+FA04wa6oP$>x*^?Ea_w;keXW@CK zkdNKPk?+NP&wH(_%+7vaH;^lpUsx zUEz3V)0GtD0gP82;vHfQHa3O=Iq6b(LU}a{XY)>S+zLrpZJZB?>>E#=uHhI{T!;3Q z=X8;Ljm3KxjO`j&1Q4$v=N09;K8-Erq4s$O0vr)aMvA6`E;O6Vi!Zj#^Bi@qGTgPa z{$4$+=xtH0tnC)VXytMFSB>j-kwGV!{8`QgWhfO*o@e4)dG4M_pykN@*y)<}zk)vt z-q|G9_4o3~IZW4-Yw}!1rfYr}a=ELY5B?$et{r9_EfMY`ZVob3RcibW+S0X2 z^$AahwCFt0q@OdU1$w=fjbWl#tK5KQ^)=_-7S*h*>=IHUhU|}+z88wn)HP`@)R&Vh z*r~{?pS<-rUWk)d*P~@H#m8TzaQ^_?5g|KUkb2fWptsV>(Z+D3@M{X`{HO#A_w&iB z3TXAIZvOzZyeWK)cdEpA{44qI_`MI=J}zGck7_jUU%mPi-|6poaJ5Xp}isB%s2xIS$0sjC4Q6$p_&T=Zn(enW5fzqQ~5C9xdC$QrzrFSJp*RD2!%LqAjE-_xcqFk&jipLvA zYKo|{=uKNzOM5~$j1k3n2ETCkGW?vWHLa;@Z7drZvZJMW&GxH2k_e(7Cwjs$0n=MB z$;MA==jDd!rTxg-IIFU2OClOPR zi6(`&DtycBR@>sE*}`I#Fx|MLln!yUd+T}pyVThr#ai-a-U0Q%sK4PSxbY3iotK`2 ziqL{`)5eTG;pVccYZKl49z3lt=HmbgtKz#hmL2QJQJUWH-Maq(WNs_L0<-mml*IWT zC>=eknHog!xfprpc);&On9(g|E+xnvYB`B$i(?>))+8LG4bx$V6|bg|9o889xT=hYc*g>#$WR$iIjbfoW2c6F zLMXG1Co4rjbcmNV1(z48sn&G1ML3**ssO2TKN7e zMEMjc82+{UW#U^V)HG{r@sh*lWAv}*SKt?lZM-ky`&sw-bG)hnJPuDv{*U}Qe7++1 zX=`!vnWT@BoiU2?F>1|7^x&^d`QK2widl*dsp;Ch=i(NW*IEqoTQ2DUC-4HhtzN=g zOV>u|$G2LOR)tQ3aC`YIFt;{z^QC;>i|#J#<=UvU9m^;Rz~JNT!Mji--l&ZKUQp(`J%e*ra9p|aljn?#M)zeDvM zJ|7r(OUqU<%W)Z1W$T*!srXH(!w#Jf+8-;y0CUZLpZqP>CDi;o91?8{8vKW$uL`^^ zGrkAIJ~qEA7x?q?#BNw?~b=swaP!C-``;tfK^#k>ORU+tiI`F-ohB zO?8%687i_I3gQICr(dostBw{$45uc$J({t|%99A4tVr7E>{J5Fhmrer@JCy= z@lV6uJ6W|m!Tr~`3Nc>c1WJIj0N-Dwd=2{)c%^k;2PLve@+oX5q4pK`oQWieA&m8} z4-p$4#W!|jT)Z~#lyTQcO3FPtFngPBv4}jI&}Ki zH#=;)$m6#a(As&XFyplV&VoCFV+LFTqPeS}9!5O{UHOWZbNE&^r8Hm!U(%Q@3)*zi z`GpV;JJd3xigi-J8&v#_o8ib^@#@ zV7d8Df2CHucWa@uJG**T_3U0qNdN#7gY>A`B}AV*|cxqPDrUZaQ(^h=Ck(%Z;P8T8>k4ha+iGL)=+Jai69trNrf6 zc_AG3`cnfx&Nma4Kf}dVxVM&9*&j+Rz+AI%{Z1=B>r-(kjxUr{0jU+FOUHGpk7*#e z5w9fkRQ}s180WQ34c*LRa9p=eeJKIZ1&j>wz^aJwv+O_)diz!b%Xkl)&&&KZJ)2J? z;#L6x>s53JThM}Cs(8gL5eAGVdR2?4?ROGenxd?Mvz`Z~BnF%wN0=hUTDI)AtcEq> zvZA(+cMLGcr2vH(YA|`-)3twMAJ0Ru znD-QCo_bON+MLQ1de8td)}8NBb56^8P&*5^)}%N%rX20he@b@E$`~F;Y5+Fkml)@@ zM5TfDs{vI;N$XHPgLuUvfW0Y4UB8tgu6lK$>=qPLhaD*}deP~M1ITdens+VMkP2Ef z8tgte@;7FgAYqL2QH|r}UMfsBFy@d7Tx`InD&v#hnI95h42qS2Eu8f2K#+q3;*R+A zrto>`Pc#m|LF{SE>FG@bD8(T5pnRk8^KniCnrS%cNt}VUfsf}qN8w66`%`kz^%>1c zy9x;v78ZbjkC+N#u2{R&oA|)un?;5@t~jMqdJ0k43R*xdIY3}?aZEmfh51`2r6-^c z&r#Zx3@;r8C{R9jJ$edhS3#5cR1U+}=I>51j8Hc0-h&2^bL~JRFHgdkJW=gPIIP(8 zAG9x80qsb0PEp4c7AWJbJX1mKN}_>mwGNyLbpU`fP4hYF$7)3()KGZmwL6St)UP2S z0MFq@Iiv>^;z#h+*cR3lbfx6u&{5iyR57UPJLLm$?NZ|@k;OyTgHQhemOD)=4X{$j ztp=5U)ehL{O#>pP+T3evjufqf?rep5}6xB*96dj9P`PIFK+G=b&q z9R)ru+eqM3aZcPqVum7JqpNhNf^9!9Bi5Rru?Zu5wPy&wApEKdNK8;al_yG3fk9GN z*nJdHS%&Ju;2HoF;4w=;XcW1?ru4-x9q0?{I1CKGN|kmpWbi5yGmd!lp|D8)?L#Kx zkdoLRa-=*SC>#tg1J;|Jy=e$>7#vf8;*)|nqoCVCuRs+34MqV3dQ_|dk0Xp$V-xQ1 zc&Q}8LAR4kT*xqcQ-K{id)8!=23?+>)Wql86oNb*#L>~X=7N~2am74f40`Y>f%y4` zDn$$1pGpc+w&MNO+C>qP0a7UyvT%CToqBepHDKTxUo&ary#ptpq+qziaB3_*gS^-1 zX?Zme;B(DN2NVyWQ-}hPf}=Ed3+q8ku%PxdF(VsK6ylhppy^P?E_2qMxNs?h6sn&# z8j#{Wu(&Bs1X7)ek4jyEj^V(dY*EKbQZ{2JnnOu~$BN7e8Op6Lc+DZ((Ww)KBl4h4 zbwhz8ns=CSfyFd-r+_zP{!|sq)M!vCdQd5G+NR>Tqwdk13PaZzqi%X}Qd2^vTx9gA zFf)NnjA3vpQSyRl32Z0{kPljJ(49tTRnN~-9x851c0rnU0j7iAlN{ocFHVG*rR~i% zco@YfIs7R*4O-R@uR&6S`BMf6!KcLPr(}cW^{8dXVZe%9nrSFc$xi7~!7VftWAUd2 z0e)_@n9Ut3EL=svMBm<*j0P0a41))XbCVjV#z(C|Li^LOw9$eC4wU|!ngCJHK9r*) z=}qd`r*6l}MIe4cXSnT8$RnjQ80k+K1BwUeB`yHsf$u>ae=3_ItSbggbHz9SF+o2r z)}$RUDp(KC%ZdTV0+4Y}qtIfF%DL@MTy4!X4t=Re=Z*zp%R=K6zVw2YrH`@~?>D7A zP@p3@rVcpkNJkv;?NG)u49A+7mEx1NCf{0DDIt1vrNCbN(hhj^rtBp1P|8ey4acQ8 zpO$tqm}t-zaqmY6sLiTZZU#s!~4}BwHy=yno4gY=}r_h z3{j5s?DjOwaZd+4Vvy`SU<@AA!f-yciZRxgfzPD{L_Xl6HQaD$>sBI7#4mcx)2XAU zz|yz_@%mTGKOMYn=G`3@-r+JNWUC551 zx$MOS9sj-*i_jcW9-%+0jE;GiLW7!UQ>4d zE0jw;Tuk8^MUJr5O)8Jq3V#(Inj{i6#(dkc0yJ*eF3SnjnaTYGqhF~0!f zscG;e_b(9OFG_B)F6kk+eyS9aPtY>gvpD20>0gEC@pz2-G4n_0`BGGJ`FWz3i6%iT zXjneMw;q*;EybiZ(q!Sb{n~GdBUaRo$uPw9tQ&;#Q_Yv>CyM>!FQ%i0QSv`D#-!^? zOxW;@ku}EVQmnj#P;2s=i{_3d`LcR;sI)U2ld{IeNE`~I0WGe%Zd4K)zcBGX7OCMC zKSS&|HkIYfj^Dz~5YwFr0e~X8dxa}}!MH=-wzQ%?$i+Ylyz(oT)+Y@qk2`iA2(L@S zSvP`D`u@MIjxHpN`pal;sud9tIj)1l=vKy7Wx?8c_N)t+R@0Yo$-u)`Md97&PmsCX zHV_4Uo^d3w@3GEcZ+zUWW@Er`qKCNK&L9%CGAz%Wk4PFax)>C8R?PQcO5KG1{AW zg5p4y?~vRPU(pU0kGy_u?CX*gnsusxbS`hPn+vEuMhZA-BA$ zFu&nhPRyTVgm6Git$#E4i;eouWg0N(ev8ADog5>RJ8u!l)|xy@7dZe5;I!=-2z%R- z8P6y`yIrq~?mX*AV}<#TX<_MH6nc-BwHib7_5+Ij(}r-0Iea<$BjfSBuDfiobvW)F ztmKE4JRa4D;#*lxog6@OyC)u%-RZh3>ep#BaTw88?+*2mtN3%pcQ=h5pJda(MmN{z zUL;~=>>eJ5=e3dH(x|FEk1w&);+519xxa)C)fb4>bmR*2F4i2VJq>%Vi}1fvhsnCR z1zEoG58Mi_syS(=5v!hZ$Z$t>_&%{D$oBfW9)R}aqv7hd{yx#(s2 zoD4!lrrRsNuOg2&+j-XdbrTj71wFC}-aBpyJHxzlBXIa2pSne$Xb z9*3Iz`#!_a=k|1w>r<2JLKo0df=5m(UeO|qnI^{Ebful3l#v`^K<))R9#u6(IJ+}X zY@UqA6U;h0eswb6-b3@G&OhK(JV11+j=ihQ$2?sRiflcNDejSNb$j%GF=acerPBOw zs@cfKSKJwP;11Qp;}l}NTqbQ_4_Dejj#z3q{?*G;5wss|Nat z^Q=+QzOIiP7m%oePY3$++nd;3KfGp930km<{hz3`G+306p$&Dys}}(AIoYO&G#(DnT=6Cz|?<9&-<1z1Q~(kr#2&nR1}6cHBvqaB&itA}dZ`V|;hsayJ1wWw)9{E3KJF_HAHd(0k`@c96Cua(O)2STml z>|JUxnzWJ7>Ux{%j*>od2RZLpk3h~Tgyy}RZf5K2BN$TUR*1W)+x@B>(Ym-kwvBm7 z^NK|xqo(GiW4T?&%FliHd9T{sTN?&oj+hFq)xMSJ%^W+6qwI0dJuBs10_<37G2U+5 z<@6QnQh1&zls4=!1B&wVS_)RJ4yUh!#acFJsCmc`dCoCWM}2L(YDgFg^0Tf)TN2K3 z=}7w3s*m(`{Ajm31aqmC*G)UtV>P z%>!c`)<AVtlzAE_kj6^Il0H^3#)CyWE)^7VTC0vyxbc(Di%282y|5Pt48SS1Etu zi@UC*isPPlJXCpe)Y0uNvN4__MvS_I&UtK9U)mGnXk(A9QrlfNi{VXkTR78f-flwl z?s`|Pm*sf8W3>or=y6xZ#+tm{j(Man)~2$wy1u%K&c-&Dc~~rI7|Rpr1${^1pV=eg zzOQ)->pD~Ewo)i#a7a5;_r^Ud>%WKJve$$D8S1g?^Xh-wH<6IgB$4gd!oJFfhna;K ztVSVPK1Z1Iyfc@xgVgf>0E7PkvZa90;qeEL$J!ocS)+wXM~l82-oB00yhm-}_|r(y z;3;hiswm?l9Cfas>lZ=pqn|NE?~S9P{VNw#u(3`yhh`gwM`K^oejZT4!v>>o!1yjC z#ntwn^E{(g@n?zWa<&N~q2S*4E`B zg%8V-TGp33vpvCC7(lMW9jmNc!k!*kv-5L`{3nNS)a&PM$3&U-*{tOZ66P=_j>gqK z&vxOZP92Bw8qJd8*?-ZXaj^BQSyApKGCAG9lb+Rj+R_rs$4dT#g*d2LpPWls9S)h| zj}B;SD{2GoC_6V}HRqlp_=({giA>hGfmocWYS7j6%Ncc*f@oGi_)+x+mvVyK~3GOv4i4|!>J}; zF6Jnlp6)x>miV{!VS$7H0AOF2mu^C;*_sg?(&=lFE7I? zOJmQ(P{3oV?tYEw-Y4+xrF5fBoh~1;#@Vg^02BCj>hnl#S_oJycm;7^k@hb8?ZeJU(ur~{mIug|X!{?j^zq_M|&r3pxGBrW$(t$k6W z{?lFpzSALxR=SQEi2dsxX>c}u3X%2=+TG56CCO?|)e-17ZD*AZp@;&!^TaxHKD*{d z!4*&v52bXvN5x-+8ua4c4N@U7I8nE)dM>fy?H5*p3ymV>CAwmvlQ_ax&~cV44_7U8 zdC}%@_7=Sg>GGWSfH%h$p(0}s7}^J|a2I#?wpyLRNS*gSc<)}zpy+L+++ACy2z9_2 z>0Exjq{(f1N+#{+KH`^$-o`jb4u*U~I+3f*W0YBRZxCBaWvN>#`G`^XDvYV>1$<@k zd*D6yhb8{o@SJArOqlL5Me{TR)REG@%DJ$OrcjIJ$-Av{zC6_RYkdXuohN#k5Ut9u zA1}RM9^_a$xCvryszq@AYdF^AZ{&P2p?pr(^xY}EKdZA(WH7rwiE+}sOTu0;o5Pxd z>XxcZOrvVAP{y6sSYAA7WXCtq++VDMk-%s%soHqJ#65sS} zR&B4r-xFO#t|B0jUz_nQ6^6unkybstzK1+dribm7W?ysZ6COQQv@O4EpA31Mue1w^ z20JoWh3Mb2{Fkur)io1nbN$-sV)zT;?LX$9Rul8xYv$H9c1NvGEmHd@(cTUHq`n?} zL)Pv5H2PG!WVa`3Pcx09+lu-m_+ASYE`TgVZ&Ur@?O&hvUIp-uhdSNbN{@938xApo zJu9r#J}UUO*vIGI%FsXps^^WPwQe4&+1rkPI@i;* ztNS~Wwy4p-cx;X<&3+yHZ}8Toa|}1}#~i_cVtUuu8cw<4jZa{;G0L;@7t*~PI)tO{ zo>nsnR*SPoD{Esdt-Mbnl9NiY?_anJoM-4O_1pG%_%q>O0qE)C%YQEKS=3@xn( z9PJ${Gb*9kQ%RIuis$Yb%j8zH>D_8`Naz+sY;EgKK9$ZxB%6T;2Dg>6271)anvTKF zNT-T{!8}yoN*D}!R7XLXrFI{!V_t6a6n3taqgG#~VQLWkrGV*O_*ti+jYA;jVq;;z zr^678ZXE?EWHApdzHap5NQ;guw{~EeR(rJa$USq?u%M7jbQiy+GW3|T)mum&b?V3s zbv-G&3#sUlFO?7@wP1LTVJ4X``@B}`F#s-jt{cX47_{%*oB`JrjuIA~$5UhHxu-Ge zB#*ieHR#$yMSlkM9Iy1RE#2l^u^kEGy(_{+QZ|Tkb6%^O2k@JBmkJ>A5aGIFy*ELR z$k9=8%O!a1pFX~}hxmxEWiqaxr-g6eUMmb%@kp3#c%O;nchw9){Ixt%Vl}q|mcXpv z6UrsL7qRdcirvv67j~lL4aEl))U=4=cHSNR+>zU;0DAiZ%Ka9ee@gPt5_uPKx*^N0dS0(7w}^xtc&|UX z(v_om)cnjdRUM3AbABJZHva&*la6btj{Y#BE z+DP>49Z}(#B;B`RuUxsaiu+DSa1QAASI+Y9{>)pP^iXTuybY*-Y3Pa^?kWNgrFr?^PFC4y=?EWTePE=61Tt)qWs>T7ode>1RB-o~?ZtI>I< z8!zHj+gV#xBTMOHE8#|>VVZ3!PgD9=ZLiq*H)iFB%G?U_jSeT#JY=yGv`R^@p|#C7 z&(l2B{sF$dYBRNwg!DNLD%2KPdVyT$j~ZAY^HgB~u9HBW_wA5zo|PZOn2|g<(yHw?tJMcij%yoc|FBD!#aeT zHly}%FpP1E>7=)s-u_4c>%pvDM@XL8p5`Hz9E!GFC3v2>qUsR+s7st4n5sTJVKuyR zbOOBh!}`)QtWqD}Dd}BbiSB;eqW}&WGnx@Rx*ip-O0RbwIul;apzM!JRzZ)HSAcn~ zbE+-BTpITcBIn43Em(21Q;6TfjLWpm%(9>2$geonre(Mg=R2#@b)^xhc=}h6Y8OTC z1LK7>q-g|p&k(lJ)=2u5=Bs!sRBL@(bkDVOfm#sAFLYCt;a0c{DK=argkUSwL4#T! zTKJMrwRmx*QIW88uadQSnHAy3Q(sPK+K|1_3=jUSt}DPiU#0z;X*Mqe@mbV~P-mT5 z*^9fh1oR@koiAauurW#Zm3XfdjJ37E#||sGvbs8w`Ez`%IL&6D%c)`u+u0?_X2OwN z?7F0upd@D?_4-!cy9`$7sEwSCYmJf#B?oB89cXc}OJm}AW2vfkTgSirgiaM5`_Un&1&j+cKXajRgl7{{eZ z%*h$taBETD!TN zp0W0Kr{{V+y3N)!;{@C#ivP#T1z^~bB9%mg6yWJjxWu{;FxUQ`n zzh<|7irwqcbYm8e8(Cd9niO$^USFtquG-4u`xi@pEm3}5y$5VpINm>xNO!l?z?Hwe zds32>%qLGn*LB@u-Zds56xW#EYX}jJ?720~-Rk!`m+!5Zv~Ds7;42}Le0haV2U^nP zMm9ZM6o z=QtJO<}ckxeqO!ia2E5+1XyvobBxoJ%t0zJJ5#O5^03_e-7828C(1dm6QSw#8v|{R zIKvuXSsai?271u1gNEgYYJ7~_g0BGfrF}+Bo0Uq{H)5~XfmbDq%TUFtql6$gOw|C- zn3I8u1X&*^dXePXfcEK3!7I8mfm3twkt6<2d}?@LfF zTS!h6jobSUa!)TpXZ3E`%UVpD# zOAVRHz$2x1Qjy0sW6WMnxAJG8JXcF)c_M&R^saWwF?Hs=p1c~jBb1ds&&n?iioM2m zW@wrQcRb>`S?}SsRw<3freiFCM2Dv}g{oO>2b`9plnm(RisnX@hA?W=&2JNczlC$^ z?Q9A+N_;Uil6j7CgT*_bFI?OeK44yZisdy)#l}8Or#05vTFZMYv|}MU*C(w*Ew$Rh z>D1A52cqZ}kwv8}%7Zm55i{PRjyIaW1~lC&I9PH>txYP~ZmyC*zjW6vQ)r(?cv2Pq z!2yO!04q0Bh)V9bz{g70wLVUf95(n;z-F^9k%{@bk&5OKf@>XNlWsG{Yf|~7^Eu;fP*!-yOoLWSHgxzA2hGseYozQc$3?C>z;2Ht zt#ld_O}*iMHyY!pX#-y^Wv*IkFyt(5gyW8ezobvu7sZLsh?yHP99`*IK zS1lvPmgn3)7l7LMPTn^;K3e|(D)oPWmXXclB;Gz^z<#yn*2^WnlLfPlqhkJ*x!_G& zw`%866)wULTH3v} zmKBZRyXQT6||(6!xB6Rkg;*;(!U-xfv7>QT`H;BxyDCI{j`&Aq2boGxiRqo6&!Uup-Ttr#_P zrby8Q+%eXp)OF^)wP@8g^U|h9&_06rO{~9>4&%sR06v1hQ+^QZvVDx(Oxazd1M6Rm ze-AZZF7X&X-J}h*`ls-3P?GA!B<+D-Ha0fY^eH`$r(>8$t-uEg-A#I$X|~=;kT1;3 z^4E*u=9U*z`_2meE8Zl3U=@}cT*|~^Iv*~4RMmyNa%qxA^2#z8C-91~@DEPb zZLM#o)ZmslWOXnZI0b#H=u7VmXm|5H)!n3WO8hf7da#y>X%gC70+ArXsOT};y6x_e zt9!hpI*9_?9s5@uJ`8LZsT@~FaK*ky>z*s0)E+oO?Cxoz49KNaWsHnBe@eL^GALE` zs0ynQDK%p!A(Qf;2Qczu+~31YvTr%Wn8J!}-N7;K+nm)~nOeh2dzLr>YiJ@Q&zS!J zX@49qhx8kOkA^Bx52(d{CEwk(?xj5Q{`Br<&(zo3pS6FF&Gq}~&`G>t@GIe~R*CI* zN6VHuHT0Qv8zgyn>h@MdZ7i7&B9McitHT~&n4{%24a&HM3I71~Q&cen=Ht@7k}AmX z?{cy_iPVvwo3(aDz>E-akzBQ`Mq8hha1C_=05DwVj+M7VB4~;7j^o<7ZP~eOde*hW zJ0VZH2lA|2V0^;flynu1Z`~@ge|TcK2yCF!uU_n~4{GU2LNoo^=5;SRTa{T3*pEu) znY0ayU~i@KAUjxAyz;b3`@@&TV(H__U{wC^ftsIDEhL}2=}=jvXa1E7Y&au|u+T?s z2k#DBtz&6r;+qG6de)Wfg`Z&^xTj%Qk_lpzvoQOkrAY*W+CW_J{RgFI#~+g!oc>jA z3!8hOBO?-a6j&^4Od@pwxX(38XGpdP&q{Nv^=^ZT&mkn3lsUy?Q)5JQs7%qJ>5)^* zH`{F_)1~W!{HnF8kr>B4Kb1(M%V(3hL;S13#O`QCv#emnlbw+!An)Diyxh9Ugx^~U!4YY7a9o8x}|mEz)2?a?dhjD!w8aaj?Y z^^kdEClwHud-+Qq7d6sA3{I)ocdtHBHz$B3urJzw)()b%?O`Ey4YY7DD|%QlF_W?B zSQmRpQH<6Nb?mb+J*?+jOA z5*>`hXFVtxf{?uT2XM$0w$i1P3&tuKVQ9%cJt?=cMq|X7%JdWh2yY|1%E~cSq_c(O z#C(i&6&!mcT*fw$=~gVbY5_R5{U{|`fbpi3m ztzg_oG*b!3Zk6ALj^Y4VU=h-}(u&iVw&i;YO&|+on)cW&$j0BgYOIP7`8dmZ*1Y^g zB9DXVS>tGKyo#4#F54&BVct(CwOkjFGK{TL^A#7Lo7#x{i5P$AHCIAty3#DtBuJ#F z``D@8)+m(yob5iXQbw`Bn2YZkr83IT<&%{^r58aIM{#c$jJu9;*R^9UzTwIFO?2~l z6Gh}H+{(QxmLbb5SlhOSGAoF}VO2Qwt!o&3<^n)Uk&Zi3%oaOvSaJmx8k}htmOvcQ z5EAE1l_bP1!RcLeRxq0w#M~TnS!*ZS6iB^O(yt4%bf0EFA*Kcm>~Y%5i2W;(xG~9b zwb!3&>GgFnHz$?!u3FxBq_{0F;hKOtjXzF+BD?fGDVGx4z*!1z&q}doWg~7kA?Z~v zEw{~w`3UGLfO5PK2_S?x#tlZQlP8zaheK3$MzidG)VD0k>*f5u!lkwduPupLaHl@G ztN#Gmz~Q6DG03Q8ib$ea*|JSng8FumQ#^N}0om!X!vtH{RQFeq74pF3)eCuos>b8w z^{b>=l=*ohrxl_T*#FV?tYLubRu3I2AW$}YQ@WpO{>Ml2<;Qdsn+|emK zZ$%v`}Z4KWadCMrxSj(YZ`h^97qk$Nic!-TpngLX zWMtCthj(fYSEqV-1pKF^E0UWH=-+mM{Hbskj)Ieo;+4myDRMFvmGQJai08*->eC|1?WD-3EN1#P?7YtkErP}F@)bQ9G zQ+FKH>OV9)axXO1R^Pk$XaP-0OF?WP12{CF?9w*|oIfgSU=-wF4uXT091bYQanMrv zfll0UP&?`hHj*jhieHqHMKib3fE>VJ8jumU1GlX(6VtUn6`5)2sG*MDJJWz{Y(H9P z;EYqbbH!#NK;M-EjFH}>2OMIgUKHoO18jeo3VfrUl*M9)1W==IH0ptNTL zr3G@K-2K+4C&+l|N6LB%GBdQ$II9Z8labPa?@6EGrNvB&u;Gp=+!|=7)Qadpyz|ne z_U%Y1+zzx4PJzc-aLYFwQ*hYH7^eZpJ!ucnlx@b*)KJlo20GIU@_Nc=GVl$>Ly6dVj< zozF@`KrxR>GeGCspBMp3HyNO>L8V9(3}@!!H6T7;$~hEcf8M32#`Fd2AhZ;WbT1MJAUQH}xes^}P%IYZK(f7LXLB?@Qj?@%2Lj!|KdSaeV z1}Ufq+lmT^@r>Zp^1p>g+az!)MhUSlSJ28`xG{Yz=lv=YG=`NxC9v7|ujw8Q z%BkUD7^SJ=V=MF1x;VW~CRxj|`Huutx*C6`Azn7;H5KuBCSu=zt!Y@tw%w*2J$|c* zs;Oa|ypNNkdX>^KB?9+TmHWm>uExeCi$?Q54A&c?gFM$6``e9mfIYW|{I~18oLAyp zEzMs%oliD>?sGq7fsA~PO6W|e@{XhK)+UhCOQ;6MShqE=1>%y?Pw7;2jq%^QL^`%X zujmKv()k~sLH_YGXT>)nd<9RjscN#G-4-6n3t1`HjZEvVY-0T|Sc7`({2+pjY$c z@gCoZ(p?$)O<4Opu|Ffrwb^HbQ**%t@O>*H?e1?jqxUcAZKf6r)&U~_yE$Q~pVuDY{7eL4 zcn!#|rvBs3yI7(dLa#NK9%gS3m$lqk4inm9RE}=m*xp&J7%I{ey1MJokZCsd8T*I@ zJ4J){)0s$U)qX-N8u;8#JH}jb_eFfqhWTBS#m#Da97~JZnlde|e2aqQj4&dvX}VmE ze2g#p)d0JA9O zpW&Yt$8~=toC*G|GTVn0;ZR)N!z)j}bdlw9Yq0R$U;-i%I(E}I?~4CGhFM* zG=7a!3k)_7LvzJ{5%26Su56(ZmF??ZL#lYAS-ZDunWZSBrqfwEw5@-7%{6Xu=&e>7#s@y&NyXCl2JYx`_(Tam~DFM=6^O;aSV9*hxM-)@s;~u>kl`WS~g*{ z9)iA^);u#C_uzGPt^1&2!XIeZ_ZX%|dlh=0G2 zmlfx5#{*TXO;@S0zGKAn=+BZU`0gzt`d(HhRqyhVQ`=~lHzk(Xq_Ug%RJJ`i0-iMMm0vNUWdz`5a4YQ_F9Y~D!dhg@tWOlv@w8-Tit^tW>zXd2 zqQgsrbgzD_Y1RX5*HlSE|c)$>Pv$)`-O#13fvm_t}V%^QK#&>v(&+65|rEMeE7D~ z$U>?%ap_$?nc&@TP*Bj?NwD;Crw8d@Vfahoc8HR-_Nq}JKya4*7o2vMF%fsTp zM-*1pxhmLP{&mm8J{H2YKW$xTaAurJ>HCzoKRKuPZ{izhgz`bPF~;C|u6g`Fa*wgG zoZ|zveR1(W;-!|hkyvOjh=rC=xC0Vb&(et-H!`7Cat=>w+d1JJ1{t`<8xw%eF*9Gh zXAgCu%V!szagC($ikrjU57zuodbWB+yU1O!yJ;#vD$+WA{;jAjowDyT5V=v6T=%ci zPucUscD@Vn)yQ!h-AbIXP;f`5rF_Os!!$9tiB!T&jr)}0A$Z9-qLMq z=t3okJcKv_Po;S;#E*ww1@N4yW24^7ado%`%LY(C3iiL+2ja!!G0=2Lb^rp3>^(Jw!_z#RxninI+fG^*zq54z06F1CY_D@x4~OlZ zJ;FhsdV}nf89{UPtoxP&G4DC{HSt-72MtDx_K`iiWli$#vY`Ym*9jTkD{MJYBMOoz;P8edmTy7f?hIXFCrx&nqH1KFuC#7uL=@L2z zJq>haxn?UC{{VKhCZ%{oMr3s9N1HGAkLOy`=@$^8kPZiG#$+O=G0Sn7TdIpA`99NG@6)HO;Yv?GtpR*s%lgya+HKH`O?Bca!@Wj$a z9cEs8SG67=#mQYGA8w9QbM>IJo~E_iMZfz}*+&z}Gn^tQ$$zD6!{84ZPIkkh-aq@X z8s&yhi=6$OVD2ATrv>jj9Cin-Cl%Q@fV^a!K9P91{{W^&n0yc7wB@v`kUisX@UKO1 zer^8%J|*`U{{U%WznvVKD=`3mRrDvq&)L7ne-u_*%{Dmg?Cs++$t2CQR@8^bIc0#Qr7JZY00P=%EE#7bCG1>P>s#?+!+7v@J5!I&qU29F8fP zHjS@p7B-fzsKqUXzuZOp$MLIEczeV4^OlhqxM8~oxUcGt1j=xjOuiqx)uZzK_Ze1o znz^eFh&)BBTBOn86|kXm+ZAs53yXVL8tt(wo&c%zc87S{xQPyZxU9SDxwS1~;Wq(q z5FT0WPmC+lh8Nj)u<{%`oquW2r!|yXrXq!o^donrSk+{T84?k+vL-(&($XwswSwkm zVB4E2YmL;c*(Wy-D)l@X>EL_=r-ZbH#2ARwt;yKTdE3ok>Imp7s9T9GG`*?-4hAco zD-7idO1~#j>r(4Fj5hH?pz*h*d)!e!WtUD}Y(>ZJpdfzve zaCmAM*bT(=HI<|w)*JVj%8ZYos@k$!M}?X}wlkfz@ctd;u5*?p_dbh>v3#(NBN{?S z?;~H7)}E0R*K>|GpvSdShf&jcjv@tGiu78-_Zj&|O8s{h{goL?+au!eu=bS_GCV~D z&#qlGVfOiBX5U)tJPNv{zLR@*cnbM=*iQtC%F+B;70ud5G9>&fDL{{!}LDCn^nX~ZEGKEo79yY9BCt+Yl$J9t|XmroH=IGGFU*$iSH3Zx{SJY)Jr6YyNQhM zTpy))-1=SBtL(Xf(U*gjAaP%=9wYG{jMs9_d{RW)gTEaGcxQ-U@CS*BUo8x4)S&~4 z`kC-WDscVQjPr23O;S?*;y*s4S>bK)xs8WHrw8<{Kln*}RcnJ5uX>%nS=;<;-n?D# zr$>~n?}sjcQyIX5?~ez9FlsURf5Mtx5AOx zcoXBlj=Tdk)y1{T>Me8>5q9k$UA~#keSxO_+1eJTr`X5hJ0yyDVhbsWI-300AAYYO z0~O%#&lP4gCCLf9T?R#dJ9)D!W;ZH5i4@uAzgWX9%(xvfBXM7$X8s}jT)uQA2eI?CI7$@j`$}ye zuJL$7M!UX_8*BS^R{Q9Zsr-d;e-yqE>DuLkM`seGv99HH05QdWWN1Dl*R&l@Emuss zm2P7Dq_H4=8Ly?hH~Uif+8gcOE^&Kmu=#3{C{vtqUnRlW-WFeXFeTFN(Y~@m@Hr?X4Qh?T$Rz zF^u-Fo^`Dz^Fq|$OT8F)n`}~^6@c&buY>UiDytffy)9yWcMVqNN)>cxrqA(HR=GPm zDdUR9lf~MLxc&3)J*$keeB=@H_C2doD2UoXK5wsT{CagB$LUls(QsBaXYn4RCp(xL zYH0D7GooT{=0HLdn-v4xCmW8S&lYaO)cByu-aI+=McEuYGe58yb(eQodq z;{+y4Zwq*aUoLoY9lV2#{{Xyez$3CMPrnD#6_I_S{g&!0{XcS)y2F*ft608LzMB_O#TI`A#y2u&UyH%lj#K55jG&>h@RHKWDhIkp+p! z4sttJ>6CGcc%!!mApl&TUtC>*0Pz}lyTRIS zxDI8S-Zqf`0JKGMR*T$fYDl%N>UUal`G|p|_3Ck0)*d9Xxp5W2RcQ_*9nE)A!xh90 z44^W&!LOY@C-_SL07-&9bHmP6?LKgwb6r?YTAtyQpnGuxc12i@eW%*KYWP?2gll&V zqWF?kj_fuSo8?iC)%2`tvM6LAf&m0{BCi#Nl_zNtI(rv9(yC|*$tNq`rqu2-p^v3ILXd_su=#7X!`w4E znT8}1F~=3;{y5e`#r8jQn)FRZ>?|g5a2NSk&Au(w4eqE?CdkeODp0Zl5pS_X(e%Z2 zej1gaW`C_Ng`qN9EZ0XOQNZ-9t#RK<1Y5WSH&1G#Tb&<=i(mMq=a3Z(j90MhTU`Vl z0}gA*dKc0w?4R9p#ww#bg;OT!BzYvAIZ<4` zgD_25*pK3_p4w&}ZM1_NR~HU!^;eYr($x=E3!(M4ks?oEgnL(sd`O8#pv@mqUb*1; zeElU~90Oi;@fyv1=ACQK%a<)_lD9l+R3Bs~qZ;&2hqHg9Y<_z2TnqmI$GP3W^sbk{ z^9bbHIONx%ElQrptzW<F5+Z0`MU(ED^fbhao}iAkz-to!0HygUjkKvs>c&*` zXP#U9X5?o`00?7(Usru!2W6h@M^!=zu4;O8H~PcGhBWRL#SBqVY_1GabFGTcdwxMkd9-_z5Ofh zZw_9=s%bGYIFRhiV!V83yHYh*p|w?^@kXexYph%u2Gv;&UD9vix4wVx}S`C zII*~vdvw|vvRHJl7V!P!e`-Y(#{+O4)!5zbV@T^0>swipcopN|dVUq=mn>%SrIoy& zbDk@?wL!8KL-PA{>0Bh>ABcK-4sn{fJ5!O**2lm2=qh+9*u`}10RJH)`oRAI9nT$eLR!OIc_Ua(iaYm$;Jh8+H}D!3Unhi za?ajgyf1M^oy<6|9;hW=L{ zE-5VonEBs8h(5R^eyVw|QMtYQJm4>&uN%=d7{&7d-!V1llg=c!4qN8nR((oq-8C<+ zo^iWBDeGQMuSm%`@&-zp^*I$qfEnvvPpwSW?#`n%GuU*#Bhs`P)?FW9KQUZly!L6% zopa<|@C$KI@K(0W?-ZjSHv*&azzJ}Lc_$SV%c&FHd>?!EojqcR{HnEA#WsF&oQ{iB zJOp0PLP?0{ZE5P4hUyj}aezf{(C1Fa&hjfss=QvshBIQV|A27iaLfubFx#9Nnthn^5+L!`wm*v0$vuM#X z9!O-7j?Np_p|-iyG`Tm#+lV!FeB5I^3QsF)o-$gp=CN&?k@&7_g0b9^J5`J6ELt%t zzDe}1Jlm#lF@TC_&3G8@(&)e+1jFhAiWS6d4(LC*Hho;qH?i z#p7H!92)u}4J^+h$tsf?j19ikp_NH$c~`{grk$iR9u0UBBKZe6;=TLgxJ6O3t#}G5 z7>+vDX4JMVTP$ptE1It*q+Vtnap{Vh-b7Q3cEw2NcgF)~#AgslkB1 zbK0bhLl2v!c0L`7-f2WK0g4nv_8V&j=B$b4t{05`D_R@j;rW2K#v8A-S=4V9%~)H3 zfIC+XA)5HfGd2fo)iq)-&7t%@hvGXeSz}4x3^w(zqwGG(KAf?D8A^d)oS)hkRt>rq zBWWL{eG%}>;(V7V_EW~vvacBJiqa38Lm5Kb93PH6HEXH-MvF^~ZZb*$Ru~m8iaZnJ zvpQSZI7?e(*hFpf1r_W*2JqFVj683BtlfOl*gCN1g{|L<7qj?M{@UL{k95~@lFQdQ z;;H-2#VemO!>3roY}Rlwd#L$$ldm3?<5z`c@dTcB;x~8acd)OcSKUI0CTN#?m!A@z;UvT?&dhDpb20qiM1K0KzYIV;X$sBg%^WIr!73 zNvC+*T4}*oj_I~!cCYA5!zlu3+YkU4V1g_0Z}!{LZ1k@j2`txd+L@X|>t04@L2{mk zT>bOq6-73v;{cpg;zF@|(pkg}qK0r+0;X7jjj>-hBiVlu0(}1fGjWQy1FMoa0C%eK zDFY5Z^+_;AkIIjN#-vPHl$h}u%~5GdQ5hJ=rCCN09k14v_Av(>&?2%SE;n?gnf#z5 zPg+K8t>$`Cr|;ab;7|lysHoUvb5ay`eVzTO%A9gJ6ah3BZmJ_AflZR;Q!Z6`9Vy8o zpOlJxj#ZP(9Et$awziIC^KKlBFwD4xK8vO`~!ADpWhN-n0yK*9hr> z!Kl%O%#Qp~5=Ai}@I_fzqa8a?0FwyN$J()^wks!_y8(?}^8s_WpsJUavQD0IHw)T= zT0&|XR2SBur{7Ut5#wfPATbZ&;=RV!>P&3y(ASiFLD6TFn~OoYF~}9s2^lz}#RbbO z07Jp68fC|pI|b4_{j;QWB}tqjcT&og@FHu<^fN+xANg~-qHuHN%j(-t<7iaGnL z1#)_Q#lM=uMJLnorq~zsYt*qaJ=Ro7%HUOPKGf@eAXX!EVDX=7*t(7ji$f|52*;&# z9thKbSH0`EiiXW1L$BL;2&DR8R>y(-%d7ZeJvtFtSCLP5sFAB~WVB>q!Q!(YZr!-!twn(IZyca~J97?k!LJ;* zj5K`x-sZjM#J0a~)0`fNwcvmlUQ1QzO=^spr)>ye8BZN6QNMR=!~3I($hORB^8QtM zWOjvv4l#<>B$$^FMAOodz7q7M-EmpZ{OE1bt6|78-n@p612D&>5_RpH( zY;Tq_Bkf&u4f3puSX7A7=n$|m`J{9?ueHBo--tIh{{RvWmaG?c#OL}~!#2~iK%)m8 z4SGMpFA)C#!YlDlO22^P%eX?{PkQ028^xoxi`5^~SC4e7oma!KOuUet{{XFieE!iM zEV=NXgDw^f5)R&L^k>65^nNe+e!7bcdC;p2^gl}cVEwxMXu4_t0E9x6Ap4WJv=^je`#2BpTBv>^Yd5;6k0R076)!Z%U@{h`SHCkwc zjpz6k(mygaVPH~kZ=JN@n^?v0&9); z$0dVwBcQLZUU!c4`CZRS;(jZ5eRUloTi4sS%f>!}x$2~K(Rv@5mUgmA?6Lwsx@yF> zZ4>!nGBMVR{aftXo7hAESRWO%Zam0^%78F2T(&!6V|aGpTI(@ef)tk(`o-{5QSvl3 zf&T#3NT6fVzaW5_HLH7%x)xRDzf1lW>pote1=6_rLgWu>^Kr4z?WE7q{{RSTI(5C7 zH;cYej901IT-)5n8WYE0J6FwK6x15_$!=4E%f)&xhc$1p-iYLUsqJ1(3f!*6Ri|`% z$v)KtfK=+hs5J$^`7$figpNpjM>@z1>`!Xv^@QCZLE9D39f9&qb9#x)#Dl@$Rhkrs z%Y-!cVh6}L9cm@oi~;1)GvHxI*0n}pq|Y*^ZY$4zFnFFn4|rPOvjMd}mFTu*U=1s9 zF~xp({@1?{4W*3QRBmwD2Nm0gr_Cgc=FiSQh(08n#6Bjwx}A$EJ1G2Xg|>*p50{U6 zk}}dt*K%~-`PQ3aMb0{Oud2bpMISecsd<(6JHxcE0;30t+c^Jk!*F@M+iBHnG?H)HW8Bg5lxO2>ffD)w0m}zw^(5ik^7gXCY2A(yb&6V=!C{hv;hw zBS`3HXpClGoZ(lsX*Ok?k@rVx=VFEIu9`6a08CcRy~mg{DCK(AXwbg01YoE!n$Z%8 z6f>_*E1iGrpb1}!a_z5S|+&&QGYrB ze3uUK9G{y#D(0I2^31YzJu5BZMj)ZVJ*!sAMz;$a)-|>?fx7`IA0CvlVW4JS4l1yf zT0kTIDzeIAjhDL$@i7N}82YdF6__`VH8fJW`#9izYxVO|aA1jlg@-lxrTZ0JPpAA| zzJ@QAUK9t@lV7-xV7HK{VbF1k@$m<o&TOC}D&c9QCagRJU;m z;}v2U%&Zs@k81N~bU>qdGenzElkHe+7=Nq>C#7z^BOu zmg=lNY5=cu=iJOn@mB4O!v;~p)%R5p241z6zHWBstuzMYW*GkI``(o-+gN~k9)_yh z#LA&@oYnIXPo2$J8JAL+6Jq!11!hEKBr(XxdfrIkmVMYh)n4pjgi0_CCV*|!k(hVI zjN_@UZrvu9U{!&~TGZDOZS;AiW3^T@gIpJY^+Tw6iXU>PrA3NL(L4D^mY@!%tHjUe z0x?>x7n+A}IO$neWJMs4y7NIM^GK=`xyRC&BfOb@QSy_)?^Pg;?qiMHeupi5&XQi>*E#|F7OnG9kj<5H-W}9}VGA0~0 zY0GuzTeA)vQoVr{UIQjk&kMy=j>yL7Q}L!H%d4L-Wc99s&3x#*(a?%WeGMCBic~SL zRUFc+MgmI@m!&ewEs}6>KZ>*@ky=k7#??LRL}w%a()Q7{h8LwjfyFTtImb_>JShUd zu~R>vECa1Spyr$Dfkhz>?L{pV08#kSMkpwDGAJH~n@$+c4NF1lA9j%ZyoyH8;Z7WL zM#wZ2bN7Wf_Qy&%#}p1&3I(vE9Vyh@fW>KXQVd)QUy$JR#U%kn146GIDRL>f$m!FH zTxNmTRREBraZ*U%F3e*cDS(PL&&cpCa_BI{b^!P&5(j zjk0;-n8e86N`4hO3PLv=Ef>%U58W8&+K>uW%48mt0gfpEy(vc=3QSO>hR14v9gdi# z>%&qoJE_D{8bQb9PRJC8x1}oa!0AJF0Wp)eIH`7wZS<)4$Tcg3b;_Jn0veeEAC*5C zrXoM_Q`0=>ps8gGN*9cpG18mg9jOV1(#I7j!f{Om=ZXRKq%? zf3NhQN(Z1iMpmOGx>VS5+>|bG$}{aodFg>lHz?=y zrQq{Od!e|;H6~6nhL{d|QjxZ$q29v$$CKKQ)Yc`2(ZxR-6CLS3zzfeb2Jb?W1ug*E z%hSC}(?Qwv6raO1qZ!33Fh4FSS8FIi)}y6|yB&ao6fQ?zlz;$md8c8IYLVZt?lHw7 z7#@_Ts1$^A?MlN>u;uB`6#kUnG3iN+QWdN_kU6; z#yF<}PXJIbyi-*(0xAoDp|*@- zjhNr24qnZI`( z>P!v0o42Jvt{gDR&`Obx^wr?*9141m;sdP%C&VYKGh7RpzuG2mZL&XK9smSfvGD&{Eoa+(fcDhK3=3}zq`ImICvG%n(yo4p)oBC{zE!lB*R&|DszQg-H@wO9aaGK3DF z-Jp7k2H&`NpnjATE-8EPD5nl9F{C%AN_V-W7!=?*q*B;u>&-i;#UL1`Qy7Oh`FNxo zx>C_ufTD^hpf(KPQIa?vC?5P$sROMAAqel#3Y9u$lN@H8l!`7ynINFgJPPrjjs7e; zHj0{b4duM~M;^w#uwvTIOP9z{KP*?kpBDU0KCiD_T13J~lc8?dueacwrQ&faqgo@% z%&OWvi22jvwy4RaTiV4YR%Q9?A57T39|~J(+CP<5_~mI!E)esZi5t!!43cmwcG@?F&QCMHPs+0I%y7;gF~BvxufI$( zx2F~KIpp~;6Mjd`<&R$ITnhTnuh+R5MuDr1x1a-fsypLyhB6Zp^T#dZ3o0%jd0f80P=;v*; z=RYY?ivDlmwe7R_KQr|l(#tK3e2yMeWSE)0;XH~(w6YQ_oJI~RYrX9=Bv>OgLRr7l z;jmg~tFz^+~iVz)x5Fh@A9r(Q;Bnpf$L zD+=B?B!kSy&5mpLys8m~5(+2hnCtsiMWxwfO?VS-PIFYO{{Ygjo<=^aU7ds&(x)mi zD~{44-FVCX-F{EvW+R@ZI!j~hI9`>a=5&9%)2x{latPr1R~;S0naZ+q-*nfj>M+M| zrv#A~fnIeDluXYkKQkUZtMqOcr3yG0S!reYA1$2Ll(7!wT_P8{)I6faHjLu7bvxPG z;tK@-0G3P%BfVbm2M79z|kZ10KJ1*9f4B_`efzl7F8ctVPGdD+rf zZHn;Tfwk8s>0CaieQ~JX$Yk|6uHM8JvU!hJUMqmrpnpFxe6{F!afXM~qdxW{iYk8i z&z8kpfbWCrTd8PlvA0^M3_c2To9S=B z@-ljIon(3BQM&2Iex;kGb{6=y(TR}lEVvbcIx<^Zs9cT62<^>x9xJkr+f9ZDM%*ZG z(!USz>ksYm^Q~j3WrFxd%J@h z4{=|-R;L)!x$yL=UqN+*Hkt$ppY@V#6_}Q;!W$i(58drnb(^^^Buyh|XyI_`d)19K zoa-=;ybBJs{J+HY{=J++5b3AnevN_s&J&pG^&Lx3@b-$fX&8oS03ttJcQxnN+U4!# zw~*s*M;?Z*c+CB(>wi{+>;uqNRlS%~hvqGSgXnAbjJpHu@bQEemOnehP0Ft{k2<}x zyq4i1l0Pqb!kXK<@F(sdN&a&x=bGy@tuxNlH-qLyYZ*L<0%v_sg+Tn*E zg?@A59W_G@uT$#s2kocmavm7)KA8>rCEx}$8-gD7=>8?~ELuLAmU?0Z3NRFQsvaMX zT}tWMKvS^w>_??$-f5AWm-};b*jGP>nId#uW{KilTT|pmmp!%iyK>hTq~M-2*jGuR z_%hY!NumN=9CWSZu~7JpaEBeS#d=kQ7XBW!49Xcu-<((LSj-hTVckisk@J)>H6$^Q`N^8}=)oyQkjC_Ff;lg^Xo=#d*hxZwqPdWgp0_2r4}*e^%61 z`r!GSgJ&pL`?bvLR;@Beb%Y##?}W!%@;Fy7lqtMSk=2=U%A%&(;vOfwxYTu7F6AYfRxC%QXN!1b zVYF?)82Z(zWC<<++~4g~mhl;9E_e!a$4ctO`_pZnq$HtDLL?KRvW;huZXN59mlFAt zFBv=v-Pdl?R#+ou`8tl(iwtIYRv&#!W%4R1-&ckay+IKX(h|4!#bSvy~w445;txf(~{a5 zqVj@s)W4-m5>GSj5I6nvTB~hyYY_$!wojA-E7ru};R5e0uKP*TZFKucbqPt`x8~1k{NwvG`$rSW(CVp)_Ehe zZ$EcK3gXI0rzkm5(9}p8HrxeiDu+H^N%S?h7L^P(`|fkR^cDHeQ<2WScPOhb>-zq* z^eSR`G%!Tca7iMsLw|J(hK%&|;-q^l{n}XU8_VD6>0fya9ZEFyIaPSeLr=s0Ah@&f zRhFeQl=5FA{hIxM_;agi+K+~y)Y`>fPb>XzuNC;GFxxmF^dp-6VEv!9DfJJ9GTcZp z%Lyk$s zPo}`{D#m-7{;T?pB~RW*=5+Bh=G^YJDRj*`-Z^xuG>PO;2GPz9W5hMNBN|zn zfq%Mb`n=6+e{92*STVM)_#)s>cXs8AA1vcF_&#w$h9f^zMMu;0EEF|XsrZeHx0KnnXVzS@cK@e496ULSC~UI_ZQa4 za(uZsHTfSLQBlk(!M!v;M&Y#|syAcl9c#p`r)g0nO}BcC*Ogs(hH0)<8H|eEMQeC~ zT-@o=#)>c$WSYdZ(;|sg$P73&`yNk)qYNZkT^HnhHfJXB4BD~`*OACRR3vd&-Z#B_ zYujW@;g_XuTg)Z6i7nUeFwJuwK418m+Aa@D`Cd7V@G^ZYdK@#ZDILFnbwf1G3$EP8 zd905T+FZ$eQ$Ha+X`Ta=%c+v9g;N+lsr}$?~pHaVXn2((LRd}xSjUji-k1;p^;=W|~ z;qfa`TSm9FVH{l;bjsJ(@pgACzX2-NK5r<&JWeH3=x_MH;#P-ma92;-Bbfa1Dd~!@ zsQgiaT_QN6)V4&Z1_gWtsra&c(}ZFabOM$+E+&U`lgI`$w>_)*qbK4zuNNxuTA!$5 zvaV`Mk3;CKPsbKlmnPlsw}&|T)QxWyjhCHhpSzT2BED5EA(MD^e7}rjzuw)E;9_`kRM+k`K7+Zi7XA*OQJanK#U2iZ8)=d@l@Yctw`${|@S&gV>28HX$|KmlKDF@tO^#W{E;MlG zt(Q^yr57rw@tg05kzZTy(^n6Ss2%IdZ)|RK>7Lf@3Or{Ruh1QT!`7NMo|tm*>HT2y^YYBwW z6OoL2V!b<4yVCqk;ii`Lm9FAY1f9_OSC1jB7N5wncwuk#oons!HQ`qV>C{IIX31hXyk!R-NtERWG!sUhuAC*DiaSo$sZSLgdPs{6FRMwJ4&lu!^U(R{X50b0) zdmpJ~IHfvD36Fb*UnS5bntidizzj0a-$j%6iopOv3PgiFFSGc$r%1kJ#=T z8~Y8__YR*Xo|mv|_A-Ezgv$e86>A!N8ikQrhBjf>*oyRjg<7q~wWfb$TuxRNY)ySEmv%QnR!k7s!Nzl6OIn&gKIgWF>JP*J0NMw@ zo;{s(*l!|-Q`#Brf#iKF+V5!oL+RETq#<_Qr_cWxKNd_-M}E`+3^l z+*j&Pz%Ly)j{X~IT7~Q9Q4xQnjBp4z;Qm#^IQu_(2DIkevGae%Z-#ds8@~Slgpb3D zVr4lhgYO?&^*@527XJXZt&>3U1BmZp7~aQ{y#TL%@n47F@fMXOoS<&TLFwARJ3M3I z%}c<#@R}Xa?2~#r@JY`KeXH81S{S@PEVoBOo&DB+nQ_?WhXk(`}mgksm80R*k^iGJ^o|QLHQFZEm8j z67FL6D9Tn|RAAz;XZ`B^oR6P9YjMF+cJYeEe0{HZuKYQX#%dEs12vnRkjf4Hu_X?$h%)TuKQ4b_?J5Rt#i6x?&V8(*E}fwE2h*URJVBh zfz3OvWJN}Nv*H5LUcA}iTcvx)!)eB$qa(@C99M(*$oY4z7iMbq--YB`=*b^!*4Vdr z=xZNhtm1J9F6@O6~%b^DyO9}Q$=(7cBo9=zwq z(z1ApaOdRWxiIUNyny6x?V}oIU~ z=345$h4em!Wft}b-8U_H_O}p(dHveG0@~$gv4r3efGdgdTK?y93@E6fp_1I^ZsGe) zmf_CT?eAROoZ={6AV_Y4y3IKGmJ$Z}Kny>^xZ6Fxd*_^-3fd~@*jZv%fVAuLbQPH{ zH04>`0=X5vExeN*o`$h}O$sKOWMhz+I3jXFbxRQX44Yu0`$>4x)8SxRq6LCEc1T8Abllc43Mr_WcC zuBW7l5NG5E>BUd*cT%1WPUgl#`+$c7+}Ay$T>$gx>~Xs|9)hfR7AZ8na#c9vvQZeC_IXXL3tAA$m*uFFg&y329lQd zqVfgjj((Nu{{RMjR*oM@xokUts4B0G^rf1>{J1=kUNPXCskEOR>7<|C3BFE8$HXIb#|wd*Fswz=y|M!NWmV9GM88zfgR@IS>7-PlW{-0|fu z7xAxL@NSxt_|RP+m`2VAr4?T-DG?=UofpPAUJnYOQ;d+O@~@Ee*&{N?0X&AUr@lYx z5!!fsTdDcWj0*V^Ly)Al_fns}=Ze;s@X@6Xr_k1LtkJ@Qr~?($__6%WDm!9!ssYd8 zTyC9v60B0MTmg#I@!iJl5j?ZC_^N?~z9XB3Jmnr!e59UgwbY`~&_;6ID+@rLb0018 zr!_vKcORaQCkHi8LEP>%_a z98-G*&y(~uU+qS7(OSI)?*U|svk_blhiyCFF$3k#HRy0!V&*oLeq4-KI^5}h3Ew56 zn-8D+qZQ)1{{YE&@sY)S8rIQCVyr&y1$d8)?GiUK#w$teWe znqunFtmp${2BD(UJWlIJp4mg=3t4gxC-Ij5}A5x3H_6^`O6MP)}B9M*(f z(#aSWOazmL1%&K}4E6uFDX{ze_yjGW!G$=~pSAma8lsuSCH!7C}f-EJPZs~XT0$izcbykZHN+0WZmgM zXmxpx-MFhvn85FRAL3n0QPq+!IL8XG%Jw3^H~#=`_5;OsrvL_4D_^6&54DONMPZF| z%I3d0e{YE6UlLd_$HDrXob zsx(NClsU&*a}CZ5bf8umtHyE7DQ8@QFnd(n91uVpRI?y--QTqUEzD%wB)Q}aVv@!D zp^=hLYFx=QeoG7hDl2tm?aI(J%elB_jxk8L0G*(FP*Y&aVsW#*IZK1jP_&D$2wD zj&b}#n#hd12TDmL@{~v0wFI2pw(~0zzbLGTr4Kv7DBg|6E3cjtJ-KD$6~Wx3ma_Sy z?&hv6M<3$92qbLRmTU6$AXk&Q5iyCzF<(wv-9>XBl`zVYit{fRcsu25%{*jvz^$Vq zWepD;&cHw&Xo5>9eruEsQp+6B{Iae;3W7bd0f?IHV;CC{ZO77~=#5}v%I?=bbR#Us749Am zxBDHp+8A<0d6kBqm`r`*Yuxn9c%jnb-N(yZ$(xd0v~nqz13jvQep!Y4owZWxLKLV! zO2vxiMv%cDPvSLc0ThL1x0(hWMSS(C+skXKOCB+nIIp1R*p~z+vHdH^ylV)K=j{qG zMOrdvITV?XVEf*+q^!vR57hBgES)8TDn4qnad0D0Bpqv5kWslH9oXWztCP1ohg#~{ zppp^@u3qv9JiWki+O&b0UeXQualjSXX<|lP{{RZtC2J{2h$F3aIwkCJBP;ZxXb#rJ z@P;$cf@`GkeXrQ{`#nNKfMgl3II+|jw`bIWT6Y?)+#wzlg-(^lQ5w^ze@`E?pNe$- zPvLY+<_QuTbyes#jBqRQXZG6ER`22|fg36_gz7jx)bEDhwflTJ@D$!2vtsvmF{*$^ z$_k8eUmtjfU)DTL;u*DlUUs-^sTx38vJ^S!D-0eNmanubb#8>aSgvP>$vKU%pjY2t z33R5?ye5;l`{+2YfUMy%_=d{Sf7SV_IIq-C26%q;yfG3+pSxJcHSJcb(B!eoUJu`I zBN^#eZ6Pwjxx4XFYHc+@koID(%A}M1AXx@Ll`OZT5N289RGd zYU&%7UIlv8C1|E_O>)TLH3>{@@|+A;JX%Kiq(3ie-qs@9DNsI@ittV4kVX(!QDVV| zZP@x$GN0av>dn5`24wHjqk=cMo2Nsc!nc5kb>kg|hc)HHh)_mKpQU~m{?fiSlUwmE z#-5G61gtadU#y?BmyH+0-VeKpUkA!zAN$q#JAHp~uj{urx`Tf4oR%Jy>|iO`-1G4= zJ)0h+qeY)lG>BE$?)wsLr)d1NFeG0<1jVdJ6mwWWCx#zLNY)K?=M9`$Ks z=Z>PPOfe@XHQZ!$`dzefKs)A%PWimG8&6|c)_2kd5Jk>CdRDS5zG!zJ;YubW@v}Y??4%ICn#8Ql~U^NNSzz69V=Q;S}^U$70%sq zK>FqYsb1cw;$u8_9Zr3m2gF3TIwcA6537_oC@daX%nip*%WzUgW98M zF(_a#Kb=Pg1pZk&lvTut$uL(KQP2v~$P4O<@p+N18mk0j!}Y4ylFE`{K2SOVLQYjx zq@u_RP%FtMdkhNbV~q*~KYFndn{Vz%2NgE?AZ3xydgiEU15M&$cu9KRW%+5`?i)(1HCc@lW;^(>~qt z3j0{NQ@NuFp4=M!jMZL2G*KpU+;P&pd_nBfD4DZ!>ND1~+5(uKC)zR6sLyNUD#(8J zM@p7qwjicVHF>i-AX|;n%g6P?lY) zIvUE1UhK%pUe(bV72)I#PBB>WdGSbMP;k95(tsgI+^{V8YS_1eUFr`id(}3ynnhLv z2CmtQi(*6apl6x@(7GV1#)AcGJkE$Vk&-F~yCz0&UIj)cUIquXBnMoVAX=-c^NOVv z=Jv$BD?Zxc!Za<=)%!RSHD;3ppIW5Al(Mv&VHWN(?>iiPy4{u61k zX__-hGVwA3Fqk)dq7=bUOR@ep)Ca$flS5X#of(`{{tj(reVlSL} z8o)?faC{MPufKX-)whD_yLjf<35nfzp^1f?MFMXCF$@v5M9~iK7Id&g!Nk zjxoC(yHxfQH|grj1fL$ERupwlFoA z9^fo0e=4BbO|`AA*?5qS4Q$DK5Mab|Yd2Vxr-@ld+~$IjM#fjL<&V(T&-Sds0$cAN zr`=CNg?@u_oZKbKINm>i^-*M zM3)P1xm8E>T=3RU@N5WVw8a3~$A*aI1) z2w>~SN|Vdz`Qn;A1tD&c;-!Vs9^P8EX<5A~s-OeEigt1`2el!EI1CJ*%9;Qt29#|S zKO#dSkEd!f4>+ggSA#$UbQI;oaMa9-2sjJ}6kNW9ha;y-YUQ|Iw4r4nZs2-T#DXJ$ zwJc(S4i_CL2b|DKzaorwH7H0knsx;@AEhn{TBOE16b>i{E4Ll#SxBh>&pgxVsyU}N z1ppZxI?>1!Ca3eO(bq4B~2#^*j|(udk+I> zrOD_h!Rts)Dq94)js~6WNr0k&aw>srI*LkF81|qAAPzg43WXmf8NsIkgPH@#QJiBm zy$v(?vrC-NB19WoBfUEcy($nG^HSvWs4H<6Q~W}d^aN91IDN@4H;Y& z=}yS>q!`6HRO0|tl!VSPjwwI`=AnPOdeSiGZ)$>Khx6Wr$Qd0e0M8WQz>T=hDOjO> z$9ixS+~?R+fgLIXM1>py?M~cjGme6RgUI}-9qcYLGAa2Api=`ja0V&FsUtO;5N}#@ zNK|mA{{XE?wFfw-q>HfUgFp%zIY%6ArkwCiM{J@(bH>V?fDaugdzYfzP)|y51mQ

I3(!%34FS+_Q5elRer}_RZU7wg6zJO^gV0i9TMP2^ z=}0$cj+CsShrKGcF&N_%v_rBU02nnOZN{P}7zUoBj<~Ga1WD5wrN?#cOg~Ch9X8bL zKOsXDJ4nf=DFkHkNN^ZY&V2;~Om^X&xTl2&<)(~NV;EvbGz}8q6N+AddsAIXkx$$@ zVzVd|4CT90kgnOs0*rU3Cex4)N(%K8gN7VZat|Ho86@JIF^o`Gkm2)ZwJMAXVIGwA z=YdIxT5|G!YE7r0qqf}C8VexqDeICm*i#2jYI>5tPf7&5gu#unz3NABaJb@`jEa5+ zDF(ne?S-ePQn(_U)N@5aNOtTu9R)o@Fx=e-YK-*+^r;WGN(FY%)yg*E)6$$tZ@WT( zdCfdFI#2@%RX*aR>+>}?q-FXdQ&^owvc_P8YQKPHmdTyX)qhF zYECIkWPp2CY%Vx*GCER<0LQnrI4M0ipp>-^e(ei^O&RO>Q~TnBU4?Vfr5R=RsIl6g z)8!Q`XeGcQhf~EkGh_k9FrCZ*?NgDGHuF$Wn8g%56c0+yPno78DM+qi#8+=s2v(*f>H37{SP)Mh`T+@lx~wMi=I!Mej?Hr)yKk zBju!ANXG2*PUrBa6O2!YJYl>p}h?)Hl0C2QA6J_;|5kw4%=ko=aC_ z<#QUG)lO5#12Mq(>s=fF0LU61K2aLiC*v!#B3s9fg1ZQSeHtRXk0@8zVWrKOTge^R zulE#rq{=3ogX>*siDS_5j)RKi<4-d9r(kQlxLvwYgB@1Aej}Bz6Hl@7`EUEoSDD55 zej@k&W_TH`4-qhSWdpTCpu}O+Jf`jqU)RFKt;aRu`yjKkagpE--{pEI=gvE4}+xPaKeJk+~52#-;oWHHlzRzWBDn|!uCi_zP zycQhPZ34@##~AyogIh5wtYS-#y^alM>DJHvqxOdTgQ2hJTk^*2{OVHom5!&xP?;M~ z5pjn8mAR&_b&DW5#Ah|m>o;vX+ais)I0mZr1Ry9{$%1>{{UFe;-S*tnfhK1 zpDte8{tYSec_ADHyB%C%8$jNY4P`u+l-bVh7}}=%^!8en(6S^Z6BR({A2d(z|aON)5&$7{C?E&e6S~EWj`Vzg)?q%Y&wuW%(Zw zkN2xG$Av-rWUtc*d9HR*B)XOL$smoJMRk4^$xDNdHn%^8a@N5A0Hg;T9OLt^%{)=5 z9$IwQbL;q87L1v_r-_qHNioLS;jUwnTe7V9&TG{Y*g@g+Vc9FpE+c0qNWN#!~cBGsztsNKVyj=FiYmD(5Nps>a zEREY63M;_zI(EQvqtoF!T-EMxX$f*Xxow$uBH)8g@h$%V+F${=Wf&`6CxtBIZ7O?` zpS(uKeJjrOTebUanfbBCYs>J{ER8%rwK_PSvz1?G*ylXxk$ynK*EQ65S|)j3d>$2m zu6fcsoCwAwKf~)?9Ct@X(@T@(wlRwPt|7+93xkzT$Isv>xz|uQ&ztRYTo6M7e@g1K z3w61TZ}EmsYk-RA%M7mV&nGqN+8iqfg`m3Z>TCJGgy}4PcXzeV(ldALaB3*xwF|hK z>B$*#YP7RBI|s_F2Ng!_AGJvN$2?Ys6_z;hm&gLYsHtINPMTeh&8@36tkl_Qmr{B8S=J_@W0XW9cEBWihtY^2y#}5vgAAQ3Z zUP=zDJqJigt!)j-U9Yr?;Vv#x=Keu&H+Dd^-D-?1?PEqCD@3d@^shFORW~frt{brx z`tJweBS!;IP0~I;Ijzr#Xz6s~i2Ej7bC9*C;_XRSNKYgmyc627v~~Mr;pUSpoMNc> zg625~_G-RZIBma5$Bi=>;d1$3t;@);p4Sqs(9Tpg@jw^v$Z$v2yNkG`v(V&$7%!X# zMRKtI_foWh7k(W<_O6@6*CJQ@6hmy&0i&kXYATN5hJ$ojq~ugL{T9NwNlPcB`j z7{RN>i{>T(s`RQ>(WEgDKqU03>;#W|vEu-qp4I#GsYWqp!E~`cx#Vg3F`0f@rC*d+ zA>sQe63wKa{ba3?pL**&Z3H)$mKM;yM0_|M1w~_OZZ#M!;9R06OMNT(pN%W5Zf2;* zZ4c3MT566Hot-psHIIg*iz^u*^{aMBTaTZ-fwAH$jO=*-PCQ%RF4>n2{s{LlfSK7LJZ1Pd8s@~CXEs} zxGn(2eD-YxOAhAGN{vM-v5Dm^D|x3pwtLr4;q4;k{^S@JoO9`2UW?&tFD0kF#FDTZ zQ1-8({5#=&8$z^-QyP;pZ~9l~nHEy9n7(Ojk54hoJ&h|w@oPT93Hu(8{J6DqGzBRbJW{=G-Pip;clxSh&WRH>N z#bRBS$EZcCcvX@$wX`dh$=o_un|QBX(=YBtouY);Llc48xaQYo7SguutPgtgx1R2M zho8)DbN>M9ug>_pK1q8TN6=+CY?J1w_B!9T{i9WQ>;@IE9JeDCdsn_Otag!f{wl@L zqMF({uICt5A1SJLllhYQsm5!YhAG+}(p#RbYFzW>TN+X{PlA0qRAJP*s(n6{oFv^I zPZceTC!PW7PAlo^O-E9Fjh4mzN6U)I$vA9r?_8t^q8;t`kLy!v(@7=kL{ACORBGrY zi+9`|eXH{P^BMK5Pa^1g7-(|CnCLWpDpqE?k#-1ZUy@z*`70&q8 zeKAz=fFbqQ1K+!$uUBDm=Qba(?ln91HwIIPXzjG*DXksrS7zTY5Ky{9~_5 zVAE{mVgAi}E}8p0c=KNJ2s&3y&0&lRzPac)09*$83 z%#HWDEpBO=JIW!#k&q%;O4uEPj!aP?anl*}Z>hBWd9#V7UXY70Zi-wLt>> z-1YXW8nwmDY8K*B%1276X4Xss7Rl?1{qrY}`y4;6hv)d@-DYao&VJPo+1Dhn-B$cx z3>O-mi%I+lK@}#7U^gcpDFkAv>f5e$M1HFtMSNF?HTf`(9ntS_#vk|m=HG!~RlJ*T zU9C;luC|tdjm_G&JRt;d`PWUuZEhUB)3@ASN~)=olU{ADc)rj}CH0J1L~|Kx z=Hs08QKG4LHOO$h&z$t{5BO@|Ot(!+QSvCr$F+0*EAh3lNh7pOFylUzod=4fxbX6k zIr7eH!Msu84c=@Pz5f7;y*>)V(w+(vU5w(H3$++?fnUp728oDa%sCLg+~ z54AQ=^%d`CdSR#NIIWP&4QEo)F5|nhoz>&$2_=4*>5BU|;7`S^8(7q$(|lw$+>g00 z2#k9GG1k5ve$_M+OKm)NFfmCYJCTQCI#=g;4tG2jKif5QEPetN>H9m_{gd&3hV0rW z)a~LjM>yd274yG{{4;B)+cm7K_qiAyJt~jv`|8JSjM02FM9ZmHODtIT3;`krHYV881%2f zyimhZ!?y}uPtka4yr%@&=MnNnT&tHhEN-4#SoXwQySl#Dd9V#KZm~0pW!3vUnxf}hAN!7mqXB}jg<*4NFYUwtDy{g`&ObD zqKwQC=i0gW2s69^ytW^$X{4`j8wp!@ugmis53#J`k@^-F6VFXD%r_ojm9jr}Gmmd- zy70Uf@ZRCvNHev2RxW}P<5Sxq`D8mlHS}rIblB{z)5sXc8``*CBcf8d;D+h$BV}l0 z3-85b=z5XRd`BGdhgjXzGOwrMUq`l=p(+eSt=pwiz3|6{o+fm+Pd^+H>s?rB@=YFo zE}uO&6Q{jcH7iIpjR=_Kj0SA=uWR^q@ews!WYP5p3o>DOb%m=5(?2TAuoI(F>tpUcYVP74Dp)OL8)ZVi{EGYQ z_BHWtmV78YHoV+hMisNpa%=NzN4;HNM_ixY6dCs7y+ihD@mPn6bKj&=dSBy@h-DygVw?=SGd)A8k!> zDmRpV?`oO{Y;*Gt#-oxJY)jM;kxjI{k3VIQZEn@#$!Vdg}#&`B!Mg zcK3m14ng3KwdQ^j5k0eU#@gRx8A*H;pC(H7Dx%`Bj-&S_O7$T1gQ+2Gt#)|B@LwvbpTg?;cH#i>p!DcGhbvXohH2> zonT}m=22c-Yay29Q2zi8dd8-AT1}ptc&{PTj&(;Jw_=})K4{(~AJV=7)$^g>E!-`FkIpOZPlvji>pm5+y9bjWHRj`^%HvS2^gdbD zw3gERMLN&M=4MY}TxP4{fu&reR^YGC)Yq*1TeX`{*W;fBm5`n*=HDC7`=q#D4n=P| znyyoLYXjYwYe&G8gGyb{YFRj+oo!nrFsd6Y&lAhx}O;tPQq1nF7h~EA$uPXYU%~ z;~#m!T>4k$?b!Pst!1bVPn*-z75Y=~b~ACHt?qvC2Dipb_e|3et!8;|?GN`=- z-LIIUb{9~f<7-#aU$iLBsT(IhD%Z~v+L#(C-?`0nQdXxQK~VTlWzv<}7)a~|bY3%I z4vaT<0d_lU1S)>c?K@9Tm56Dh;pSw@g<(lI06F3>-q0^Q-H!#R{ z;*(RohFi-}pD0tw{A)X0(n$M1z*-^?55+N2kc0VGmV8s&~9$So7SWS717sPp|hV7zzv&R6}P2vl6w?vf&Fhz3y4S5~D&<05D zTAnP_j1h)&&lpx2I#@z_3gC6-k5I6CgyR*hp=pn-X}@Xo{u<2JY?=!< ziay;ys;RM@AHQSCw2QGGtcRdh#d}|f+wD4Ja%b+~{#En*gu!!_>aHu-(($jfMFX5E z{#DAE(^fhaG%2N-*_Wt1Q+!7=+w7aUseCkpW4A^GR%eRY%xn!d%;OzTY4~-kMLepo zK6nDJd_XMsKQCNYko*;vVS3!|88zzOHMothB1p(Bo<(eksL3 z?EI#Fdg8pxU$7o}O&A5v~8wS*!1mo#wl)|Rw0Y}R~vn$k0hA;4wa)e zq7`>Zi|f;c~W$17K#De|`U_Av_#sFpDQnPJbcBf!1SZi0h zJmO1c`D?zh@u-w;oxb&XcH!w&S|!dy75Y(Y6C>7bu2yTKByI>My$eoT7%l$ODfzKq zIa^OXpv-P@*1A>kH1onBW-131xyj@@zZ2?^-v+iHbD#sYcwVy*)2`G)esjq7uS#iR zOJ<$A<0Ia@%Up9U(#m+_fkZU}S55IJi>B1=mKnE9T@V60SJv7mge1ASO-scOzFY>t zIPK|QAKG5cq}^L;z-|%9xgSdU>q_{8r0ZII5|>{!mj!(>T~Ss>b~~+CRj{+NWQ9Vi zj4gQm)zP|{h`9R=To80PcQ(3`v31%A#eRAI z+cztzYmhRqXCb?fQNtNvSf0Hq!zY^G7VODc3dY9r<=9a9ILAtr3XVYOK-1@C z+`pAQY_E|%RLw7HjpK%s=s_*OMfpYzMH{L{S=XBAExa*vAQDZ&9MS92lE2iLy!jGkBCxGpg4>myf_Ne;WHd#!M7YKwYk34soE_CGYAF1bKb3tE zAHy9Ubl$3<{VE3dOKTzdBvJTL^~eYIM30{m@-DqSs!=*i$s>-{?+@^DBDhILeT8w? zp9rNb{CokvXPN>3k(jm=QFvrxGN)^ zFHwrHE*Gdh}gKP=e~qWPg2Y$(rBaS5btyJPIL}&A zkzAHFbR{$0rUq4UUaNO-Vu2M$80agU(sbDDAXNkA?rUP<$B~oMv8W`(lH&ol^*t*! zT!2}>08F)7~|aQn&RzuhE*+3#%pgB6+sv+xd{mtHTkh=SwIKs~GX2g1G%OK*qpxQ_tC zlj~oTU$W1F?|f_Hq`h?V>@8Vj^AAR^-B=*Dx6uP?0PWJEtwT;j^H0SP?AGLk zc*EkSSVg)8PH+Wu{{Rs*ue0m(GK_rZ`PVR^F{I5;A@k- zc82A44gm*>iK5}6JfrrL@a~;^XsoH1Ioe09d?#t8$g#+Z+gdZX2ERvsCh33M9vPEW zd3>>CyU6tw`M<2{BGT?l$Ub066ocmX&co$uU^HR2yDB*_hrE}sIhg~!ElfWElwz8-3Eqax-w^p-; zKX9Haz`hvkkz88E5;j$EK9%%5^4iN3Vh0Cc=j&fNRzC6D4Ubdswe`Z^q{ROKtiUzy zs@u>w=xgTx01e-(1t5IUb+4c_tBtQ z-fg#-J695948k+oyJ@0V!dz={EIIxz-qmAEUo1SVzjPnch|*UBXxgjW)~{S`wbHI8 z=*t@)(z+71giB-d8}`BRjjXLEn5WA~x#zjB%3FD}cXJ}C#D{}lTmID^C4F1O^Tj7Y zF3^?o`&zNIjiT&1ucgbNczDSTQet&JwP$ypanP+p8aQ9{fyOvAz|N-#-7DUVQd%A} zEr9WS$E9XF2WHx8e=al?s-miu{A*f&mcgXX+NBC6 z><$)}T$U!&Oc5{!zJC`J(ZZjnf3OdRZLTyaHKdFgB;2I^4StYc#}%xHa_%D-uZI5s z;GVFxm%GVV3ghKolw1+Z zYx-1L&ZG8Ql`U?dV-?a^+ohBdSXq#fCIHPJW|;txkDEO`sgANMhGDj=puCNEn>XxUXt@PT|8u zI34L@v|w}hfvYmvU0aZ`4ai1LJ5U6W!Y*VlDGia@uFY;Fi^?41rBj7I&-?7{1E{B6 z-l{J6IHhX=QaeEJu>IxjRIa3*HzOtx@mqFIvA}L8TuIuf-d&re3aiqSU}42=69UY* zz^XfzSxiyzSEY1T+W;wWHihY2nOPH3J9x?9dsKnZSwiMm+_nfKBigogEmAlzu#TKp zGd06oT&7Ok<3CEWvqf<()%l05093dScPE_fgHN)QK|hrIp2nMTXE9>g+P$j9wW2Xo zyXOXhv#Q;)4>9qI&5Koy+{8wGFB!MmeA?CsBh=0eT8x>56d005}|RK;w!`aZUhYki;18 zN^wbwUZR*-0UvbJm}3EXG|opDf^o|M{n98d`bFIp&8=b8cy3xEiv@5Ld< zYH-L}1+a9YlkWW~-8xV^4qsEipc+HT9+bO6jMCd-uOV zj-%!nVbD@zBZ_chK10%`;~C$7N|TP%gp2^aDRzLl>S{qC@s15lWBCB~%{E3rLXnVtDl;1v89a8N zIeU_Y!t+bCY~q?uK0)4`3Hy|aYT5w#X~2QdQ+dV>F6<0?(r7fgL(gO0kOS6~0Jx_p z`L>=a08lyP@lprh6z7K@G9D^Hq5hbs#zuZx zjc`CD^G{U+tpz2Z?n~1hhCm%@!-G!|uLM?QC4Gng00`|&P!r~A7~tVWFF}()#mVZT zm#1DSsyd$Cso2E>4m(qa0E%vLPQWz`Ko#RYXKIkB``@K7Zt2)lxHOB{Uv8AX)F}0( z_Mj554t`pj8*%ATrWEw4HlC)TgoN3a+&WTI_TrqR9uGp0@OxCf_^8)B`cv^p zo9HRP=}IX(W}GpK3$}o8ITYZ{jsT_wqbGuVt#^`O;jy3q>I5OF$E^YSr_8!DjQm&;pas z1EpucyW~}_6XPbTbgu|aZd+?igKpjpdO0o$;&E`Kh{R8p7e6J?qSa?Nr zN5@y6HA4%_{4jn;2_pQ8%fS`2S--L6 zW7i`Ugv9PDM-{swlcBeKFt5<_+bk5=B_5& z6G;mH0Mk)ki>$y`PZ;@5IP|Z{JUfT`Y|pgfH);__o)wl$j=4^sO6l~-VvKC+aniZ? zVPzjDQ^~G_L67YhMW3oJYxdk+two;!Z+%#X>7#3vQaMA?w>&K?M|~m39jltTAnJEg zC*4}>^vH$1r`w|(?dHFn@?0m@bLQVq^FK<(RQ6eF^f^slSX$|oPFpsz*8O zdQihRPb`cA^TF#@Y<9ieK|x%ehQFh2%SimqK4~3v&QjHE5dHNWeJe9hflTN&{n-af zW!VsF3aD^-;QCh1f_6K|pcNJT_nA?aKZt#dwoLsa0{xC%e5ajxZJsT~^wtOjWT_vR zu3t=z%xfERNjtukqv9YUvVuHqCvQr<;p-_UxpJH+L5$boylFXNGpJ#@T_2)kl)Z)t z)P0S6+lb@SqO*wq01hk5i(J`WGEIy=cGqX(OT>y*i4%zWkz6IjkEmP%xx#cc`<6?D zR4}oE+Q;XZ>b}<$&cDOfA~4rdo;ueXda%u`+}y84ZS2u4TSc2bW!1FwXcb6b<{C=@jPEE1N5f&x?e8R8-6}?2Q_XO zroNUUNC(og{Bss>?5)AtL{-h=1bK4Gi4l-qShUVl>PtGn*?`Kq>(mR8>iB;?R2RaG*U2EZa}Tg0w<2)gCQG!Pq%$)F_D^+POz6%)J3}g0IQ7i_*OjS-^Dj3PRui1$Ai@(`)%v-<;rk< ztNE85N9%kYew3{ zxOUHK{*cS?@uxyCTO;#YvgWAS)cAG{gh&9v&OK|8xkDzoB*zBuYuHILQa;SawM&uvQ=|^cC1nt7YN&%*SDp zBY=C?*XMYJLklTCL&?BX_O(<_IysT!I*g+`M-{iDEHH1@S?~wS7qxM++!(Ya0FRtk zXx8!B_Oj7wH!OLsuZcu zdbcDpn@4rwQ1$n&1s>*m$$r*OK;YNp{AG>ya8#F5=rXE4(q7ZC+e4{6_OP)ySeD%X z01rc5cZhx>$Ta@|uqt{xXtjW2g|uN8-< zI-dT(bxYgXURPp$2W(VUsBZ4}oDW=9g{Fb4PiywbS7<*j(ka?^hxNm98Y_1sb_>?N zwxtU3)r;#CRBcV87hQFQOcDLl)c3A!A3G8p{o(l6q0iwxM^MxPOA7!vVUC8iBlu~4 zv!~0HBwzu}el?mxt|KyVk8{!7^Oj7TjY5X&oJ@5kCX(C09<|*G;4g)A%fag=YkQq zuh1>3B?u!A#?I()IJ<4Z=rSHpADjDrM z-vU1(tvnavjc)hLv$K%M{W7Fiy!bEnVew~(Ark7U*63Sr%6nJnO_W+LpQynqMQpIe z*W_B4UigWlX^}KG@u}yJF9N)-5a6YZukG7d(C1p?jvoE$z&(>;V1mYW%;%e0;F<)d+R5^qe<@k3TWfS$NOHmu>dR zrG0_0v4%J`4!f*)gHe~|xsotYWf8cg@Qmh5E1ZR46X0bL5ThDvmFkHEyP}J#LQ$p2{q_i2Zn8xzvnkyHOZp z9qYvHuB4Y#nrRz_CzH~>L&MhhA|}5^!j;J4znXH~1I1^~C+Ss`XPGIGAr`lCiZ!bDiqV$`dqfB)v39gns$dBj+Tp_WB`_a4RPB3ziXjl%S#I+ zp#Jds3g^6kx#XXVoxVrw<_+LGZF{ zd{cy}<_ni?572l@nw186^{vXE0zu{bfNRL79$@*8UMsrr<=~sag4CSsEJv+*hNCI8 z-=6(FYxRx+YB^;-_C9|%rOAnrIgMa!Majl5#y0_>x_2Ow4|?hj+xs=xpb(>=t({xLg5y<| zD98sjUe4O)&hP9JM~L>Gap_;j*eX858#wg4KU(L#7|Y1yn%&UtIpV6z!WFKX@CfE( z#tl-A*(Lc8diHZ%zuMv5I%A`VS{#-!Q)A_+ZXhts(Xhr36wo_%ugYVWIun#8k46=4 z(-9s>BojpCWK)%4)K}FX3qNX45_lP))3rNjbsHQ6b2;2V9@wvy@li1SE7Qw!%x+aL zX@!-M&yB!Q#Y2*^KUlm;uJ}vh=9rqFfG&x&bqhK^BXyJbfL^$-m3&k1hT03?vqR<# zpOutyPrZEK;U61oUJTUNQPO27LFEtJ+ux3vuhUO~UlDvC@j}B;x7A)7ZE0fyAu}q6 zbHEEDWsWG@x)#=oH5cz*Tmu9I|4k<+DqqnL1%Xkp_j8(X3C zc{Y7H)M}=T@**~!zlB$ycS`GZJqlYOj+LmzKBv?cld=99xvc6j+D6Xo0*=+s__M*DFYxDyytcM^CzZc<}>nIW`xUC_8H;2QkHHNpE#T#@$J9M+XAG-V^t{u!pSMq{CIy5%NpVA6`jx%BtEk&ZA=*GH$C|?h?IA8xTzqL)h0nb_FXC%xodY(& zz%J3#70_zhg~x|An-3T1avw6zPc;hgN9A89d@I)f0O2CE6T>F0{czB7b5Zj8^^* zzPj)Zxg%`UX7gfZKPrGaXRxo=XxUmdl@3+ZGW`gyTGZ5b6m0f5Ux>aJxA9JaG#3gB zLWj%x*XB2fY%csCuN&Ka(NAkH$VVS7e!9GCBxN6=uZliCcoPyGViX${eqf`yuV*a9 zUL2CxNn1nTJ{0)U!^a*Jx1K2ho+S#yzEE>redUaf!e~YqVEz^P)$muwZ{U9xt);`C zv)nL1Iw&p2(!WZUbec4l2Fg18t@R($vBg7@cZSAQsaV3AW|luHPnD2kkEMB)=BAeS z{zTsO>pGl4Ve@)=;=IpV&=%-@vfuA?=DY9`_YNx%yIb5q(nLl8uMgEO9@kWS9ow6r zuIfdoUJl?q#ZpuYnF`V^E?l!yBB$ucy#d=1QY_ZsM9V?fxvW#L=AadQSyN(kbhUDw% zQCZ$LEgRkyxS9qizjC{&Zq`AvGszXe_-sC8^OS|fbQ{{zV8`wna8`+&ikH^thb+93 zD@#ueGb*n^#ZwBwP|xG($eV6pSB&uOSVuidXd@oY)w855}MiuFGpMIN7gw-F3($0EGX zQ(rn4k-5mPLjL)^B7Y3U{ikBklhV753sE|29X@`U;MW82?o8iFZhCGt)$71RbGAOT zNo#PZceBj1TRsTJE6cROjcLbi)wOLr=Fkn@YAqVoB-8;PdpW2~&O0ALczJxg6Wisl z4)MIcb>#3Kjn=)dOkkD-=c3n!_`MX|+)htwRF}TlG2G#FTVrQAl{zWnyUAHip>zB~ zxcxY+iSnKXD??Mdkt0}B?$t9#v9sZ%k{MqEn)VGnmgdyPc|GgMG= zl_Qs1hgI5oEq!&ZN99T805j7*-qrA@hjlxD4tU`tkPxjZ;Esa6>b;gLts>s`Hw+mR z@z%WxPg5H4w2pZZmR~UR#dt5p2n5slo|W`7FnvAdAH$mPA07sh)H&~(D^%naBc=V4 zZo>ZnY}#j*x+D)_Us8DYO|-qyE_~(ctO3VPE8)M{>r|6Q_>l&mkRZAa?gy?b^gC6x zj{eHx2jygqfF79@;?|}e zevZ+hAaoV+kH$>}JUuk9!n=cKE%mRe{{UuP&ET0+Il)iLyRpmnX0;zQQO5jvlpR~_ z&A|wySI#Q8H!KGntrVtAWW`(@_ds=X@auW;#R?+FSzaa@E^`Ovk)azLv_V6Vxcur=?JFG?_fONG2|1g>mc6lTKb3qd@wMa{ zhV1jd759IJBiZ3AXHM3G{{TU+&aaJ{q|^9;qC7^g#w#2gts0)EH8uOgq3|B%vql4# z6_@c8vPl~rI#%z1)lQii9WXIiUlLhZ#;MOrm`hWpYu>Tx{{RdaPoosZa4Lt1Y>m8k zETbk&{uQn8RwbUtY@7^quA9d8iERYu00O@)b#ysn{A(W+Y9y`GNBm6n?*1Lq(0FjO z4t5{qUJ-D@eR!*n;?-j0jRXskHoyw9u;w?VrViHae^sMb~!k=cf zGh^l>it2nJsatrrQ%|xoh~fh)^si6xR)m)pq{1<^dsdN3W)6I(#WUKnNMa-BCxJxv zZ4d)!R>vZ{>GTO3RUwxpPX?m#E|Au736OJ+YnG)89W?6P^W&C@lzLWr+bK+wh7|L0 zleB&{Dil2D7_NAo1xXO&0;o#cPfFTvn}Jkjg-Oq9*+`a(JwWYCBCnTUsoerh=raREh9BEncFJn>dxWdsKTqm2rT5ydhZ%i(Y-L1v4hzz*kos+icEyKFwK!OoikIigw^R+Bk@EJd+I$+c zNV40$!P^arrKs341etTQ0|3`YVHcTTfzA#%t&B)Nwsqp(OG?D_`}|^_w|B(iOp-n7 zz_La4spE~80FIRpV?=b`47{_nzI&}hku`OMyYk>)*Ivk&cLe8_ICU$HHv_0p%=*%=c<<{3~^j<%&r53i)5{1br{|RF4Odr;vaU40=;MtF~YkEZ4n{ z1w#+t+J2Q*Z8Fl!fP;!pFh-Ec2@uNx z`Byv4I~|eAA=u&L@aY2&S7GqnSsrIWTheMVqUA?5U9X*!bBqecSjKe2EQ;tfX%=w} zs-rcdYoY=&agNoHw^B&sX}}e^1^mFQNACL8GR8>kj$Izbi1eWgs}%)$V->tK>vF4w z3sPHMqDBmxO-wG5M)Vbf#mMQ74lAL0+R6k`kTF*LsPly2dsS4BGHg}@6xF>*2#u?s z+q0ozmtxXC&*Zrv4gsr12;winas>CBq>Vmo`?tH)qAR1FF&f}e+RV-}Lgs^aZ4;j?|0A@(;VsGrZK33>>99Pet zD*cswN2T1E^s>_y>N8)U7CN2ENw>`TN52)L{kJmBu=#AAvNK!9F`79imBsWwFAstI zU7?W_usAEn8K|VT)!=jX=!gnC*Xmr)q+Z}(K@&Gl6jv##{5tS+7ju|u1HB?!fj)%>9+-A<bDm z;OM*s;43XY7=qyeBo9$tn%%MBXXofY3geuvZDZy?i@IY)dTtb9O?cRlGOl^Au6`?M zg7ZuJKp(?jAFBBd$a({c>ZI=!bJRtTl3$ac=~{mcb$8P|PyL_#5-~Zf$docRKZsUF zlE%lxF}&Ir z<6eiScu!xN4Lk;nGYzMw1b`iqr@;PTty&5@|=pwanST&exv*m z)qc~Z+T3tAsLg$G1kO-H5)3fT>i84j9;83AEp6Sle50?met>vm%bv@ALtu5Uoy5k{ zJ0tL&kA!CeR<|eSJXg`48M+Av+0XFc3i+2r%r}MC0l39`-i0yqE%I<&WYp4@rd3tq zdNlF*v9b}=SDIbgm?tmOn)Lz7@_N@H;uKXV0OT6=DeiJp{!zA4?$`?FaIS0OE&O^% zhOaJWe=QalI3G&swAl9*>-DdeKWlFmjT^%fB0j|+DFFLdWhmZgQ$HC#DR_$C#6B&! zx}1=F;;KG|xqH|ye$5xz#uFbmYR}aS*Zv`ErCh4XxC~cZTkUbT7&!bZ>oCyeiavJ} zE3=)`?WdYD2;3C+s@IX2=L%FSdJ5~{h@@XnO6G32O?FRVUX)KhMR}LYReibj6;QV3 z1dhE0XtM&Wk&W1_;UOd|^sb1aB4{eZm5>drFMJF-O6y@d1TK^Y5AfvQS7qVaWTnQb;F6KQ2C%bqh2*iRn`r zLr1X&TNMsHjTy_rtg`JRr#Uswc&a(BqetfvoY!2WG=#U)ipC2(F}l72p~L-;;Nj%xcUq4SUG95=9x^!zjgP0GT2} z;EYzHTm6~_-d7}XRW^YUE-P~~v<j*K|U9R_}b7} z>j2=wk+4m@x%IAl;6KIR+4+-B@YvE*%$Cr--PG$FMzVp($sd(zd`9q3?0w=p1i8Q6 zY{p{BR&-1^zCVZ3yh_!5?n@q*L~Q>6!+J^MO;RlzO1FyI3y0ejsz`6g(x0#Ri&xc{ z$vxzck(_SI*T^0r@W<@+;UO)@hwuE^e}JXPWB7VkyXY6%eaD9FZmcBVACL&k1~{&& zQ0mTENanml5V_xlSe-^e91?5i4;1R&Jy`B7ZLj7LC?jB#uF7d2p!baO`^VT-Kd)2B`o6m1RIaVS$i48oMHo>VM$J z#qSJ!WAMB>_K9*NVHjpZ_tzeysIO3$Fe^yh_FjE!`Ro0RJ}^!2x8h7z6HekU5XhF& zg5SDD9)qB-=u*b&9ZJnEppjlD`H+Lb2Ds+}q|8v#{rOJ-=kTphIw>L&+u)pYSh}i6 zq=@(jwMS=ZG%$$~xjjMju2!rF(vs>y^J1yAi8P=`kb0a`E**qNCz{TJMu_f!632>> zwsaS4g4`(sII58&NP$TFYQ4JLJcQ1q16#__g#kxOrDCpQ%^O+}8=G`qf_9%y&aPXQdahNYrUt9#|bXtfs_s z?A=vQuD?k=WqF36Z z3EDUH5oVjt(`&5Z@9puWgagOzVP6 zU(L@yN@Og_aH|pwdQ_1t0m()O9jV%X8jxbAVKf15>Pbcma0hB^S5a>RqZ;V1tzect zwY~O>vtrA2WWGH`urwwtI!ZcK8FpIX|wnOY6X!n8z7 zWB=9m^Tz|FAm^y0j06FnziN45+P|?6=c@-8+e?}k9ZeV@?E-xUUm0!+WFW#UK1|ynuV``D>O^k-hAG|3+ z$>WSvF^mdS@!F-`jC;}PiYU;l26BCvXGG54&;YZ7h91EKVxa8BG{3PMXCaZCiWa5$i7dNx}Fr8$b9 zo4BKakT{@@jH0E94n=uKnA`>FQz*#Y>rIwJfQkk^sx=I!uN5UB@vkPAZcn8&H(^d; zo&^K4ACMOUkxB#e8buhu6b4RmqJd~g>POua(U3lBMe`S&@lG86G!2Q+a5GN>A2)hx z~ZBXCYXT zdEiqQ)3q5X_|lvlcBv?lPTnXgqoo^4b)@GNEdcHZN>RwBr~;jgRF%+Ck@Td(q1?2z z4zvf5;hov-=|IaJqopk>j8yb0*B#7#Ii%a4yTGG7Vw@C?DnvB&*fJxMw_4^`y@55p}%Uz?9=}JCMywi@+^9n(@(185I zijzHu6w!l>bf+sX^%ul5|w;c@zo`Jjpp8YAn3{!BuDMuVqu(}WIMJN=4fEd&iJ07&E0pL?kK*wr) zSO=cHsW)O+W73`vr7-oU&{F}BHXet)IP?Rx13!f=K)HvKFa;o>3Vj9HBqrtQM^2QR zM_O>=foaeICytcz!z0>|1~h!5tt3(tJt^lsx>6wPpTd`M`=^Xl4T^(rE7p(RXMH$( zQud^@LfCL|_i;)vw9(IAw7BMungU{qcLY;$+Ld$IR2N~`9<*)4blpq%P;-xz;-QYi z&rWGD7;W^XhQi{dP&lbCK^LYezz&q%z@8~V8O2XQAxFx6sY?zi<#UbHVR3;-t1)<> z^TsK9^rw!Ptoe!)bc({3t&*2TCjn zk5j+yjwx}DDM2IUPLy%D3dmv86z;!t(sHD+85Hi>pa2Z@qzKKC*i!RAB=9;?ZpEM( z94$MgDaLTLoK|g&a*xuC{M0GO(v*R_<)|I>u(W5fqKXG#Py=AnzXt<@O~*N>9!_d` zN)!xJsG^cXPQlw0bAgW3P;xp@%IE=Ed0zCJ4tF&uE}R~e*CdcdAV`=1I@Ak--jwW| zb4!IJVx_S33QBPt{U{qxB-E53_U%%r-HMNB&mAgd$-=K%%toE8NWU@T74d)VG2@c9 z6T@vVBGl~II@i~JB)@GZ!}k}As;-fo4xKCVljBE=E$`%(-OeVwY~!_k_XptlW%ZkF zvB_88e1|8m+$FA!9mId@CJKKrE6?na-t7+TWrcbKkTv#=3rL{hRAbWsRU3OqB19rE zdCq+?U((rTBmJFupC^m=D{`FYjnrEk93Q+ZwXi?&C|nQuW({z^5pd6@EPaM6&`=n3 zn_`2kKpOEVulQAdhtcBa&6Xs2^oRW~GIY;1(z>VEHpVcdRy>;$=VXbD`&Pu)dVEl& ztdgq9Ai|7__PB%oMf3DNTPve{M0}ZnqC#WU)xU%TR{Tt-%nT0|4~N!w)pil`jn$#z z8!MTvJhU7PSIlq=ha~+^pyE~V`Wyo$=3R$1y4z#YB@%ElJ*z^)!uQfk@_;_46`|rk z4d2;lGO+;iKIzSUmk{GTSxgG23by0#4nNNdO|Bp8OJ6;iu7+1e6|Rm#0N^? zG&tvjQnrpk@|hO9e-}-*@WQ>jSLZ$(!=Dj4ht%;+Sj9ygG|bkP`OnPQuA9RVmA9UD z8lyR%-MdcxB|w1@lA17C;mWO=iR&OT?|@dNgF7{|!+tA;lhT#R7m zx(gu@)M6~y0flB6RLp)}yk@raizxi_H{bO3uif!A`DnZBkIwLsa-S(rP`HkLV3^PP zysdY>AAx_drI7G)ab92L$sVscBLK<8dWEIJTX=bgM%~4J3zIjA;u%$kMt+f)B||Su z$l)GeD)va+_o}HH&3>p3DSY8A!7RM7t5z1w`i5c|+t$B$bL37>qCYi^d8!g??-SlZ zYEI&)4n3=(@WE3x;wJ%O;<-Id-c5NfHsUpp%Q&vP!|}&#w{nhmM_+=u{d0qTlBG$igBzAGc+yDmxxU0!Ss ztlQ~UU0yd)^2CL6+P(wC+-s$Pbo-wF01Q!1vYC_M>nN?Y`Ia&N04(X=FEU4ZjTzqA z=sQ?SwgAdd2uA{@YKxo&EINGJMze?kD*aXXOr~T6_VB@uVKBqK#R+0Ulr;wl@ z!oQz*9}4l=tg#d5efD=#+2GYR*z?^+Ygs?hqL4C!)~f0Df9WmdpP5KFs`2cyn9Hy` zzePUv)4>!`EO%t=kmCzq(WxlJ{OMl$5NqCib^<9>rtX5V(#(rk?e^}=0xP8PJH5hM z7a)SU;;U&Z_PgY_kEl?8D*kfghOrscVIL#(tdTlcCo`bdF0SnSEoW|#<&}Bs02UF6$BgGevkw;{QB|3`bG|VKM*mmN-b;vMp4}pX{kA%k5_LzpvD=@8n8q3H| z1t*Vggs?*jw+oIvs>EtzoKJzY;<;}Uys~QM5zr|4eJkZWM#g(QvP;nRICh$Nm18B< zu56>WfNpX)TJQDiOQ~!u?WAudQWgC1Sbh(HO{#q0VlFCQ9^YL^O}uZlP+(%d1H+sg zeVfFd&lF-GG-%y5#QWv}3Wjxtr|heU}yX z80gBRnd8N%!o@9O-e`0gB}0TR313?C<&O5`k17%*bB);TUdO7&E%fEGx%ZHSTZElvP1By$6GI-9F~u zDkfIO;a;PB1)YRib4Wy(!+IL#*5yR0Zz7MEq54Dp$Wq}e6gz`kT^4t;Bdu+-956H5{>A1ddzDDlR=Q%s4L zLl{xW9qZ8IS`?_@s!l7Ro>f)UuNXF8veIpC^$GP?QRNpWXT5rUfn(u&eH>rk+b&jI zD%a0?XNab2XyQzSa0xZo-CfHrhq0vEcjOG>zaQYNwivw0)|%M+JoaA7ii$lOQ1NAi z7v5#KU8ACoz*0ZO2$+4Da2O16Upr4d(#_@Pb5+ZmyLF8rjR3fA_5BW^2*pAxW8kA3 z>U-OG@Y-5QaW%*|QdKL(TgTe9)x_F_8@90H@T_~t&9#@Ac>e%1i~xP>5q8<>N~%XW zufcpq%^Srk2>Xs5!Nozzo~NexpHjWDX)j#u>?<1YSt>C&+NY*zwtFGb;*j-p&MS|) zxO<5{U+I zmPwq-{{Xt`E4}cmGx%QgD8ciGA%_Nh&U}81qzfkbA{zZuJIE!3UFW5^Oz@i5Z z*uev}bRHhu8gsuKHv{Qdei+kWxbr-+e8&5rSD|TEAKClG)Og$*pTfT9h%r9H2_|`1 zD05dwk9ccOZC!7lJ5oO}l=_ig-QiIg@UFmfa8QL`#<-me!n&o+>CDzsMTB1AoG&Ex75H}u<=BtyNn;w&`waUZ7~xeV*=H%iywhfbA_2c3e;UO}R2{{Y$=eZ|$t3QF|! ztxFrEz0$4?yML-6abJ+|b~D@NzrAlvRIr}!W1aDp(q7%}4baywa`I0EOVlM# zcC2J&Z zLh!k+8IZxP&ZGF*&*xu=_@{%X%CQZ9Nc-LntnT1?7lT`FnDvYir)+3F1 z${OfAT@p3TwZr}CGm60xtQwWI&uyR@{z}YgdkoRT&-Fi3!b_h9pOMXLI!}>yVUaL# zoC?L3(d|$%2OW)l3w@y5Y6_Ff!)*gK=a<@aFMQSqoxBSDL;Dp@iky2M1w6^Aax={C zql)IxzCU;m2Nll4v_8iiw-xF)T1r{T1wtB#eqX(73k!rUqA?NQy>No?hMr|{RyRm**}IiPyJ)8FMe z$E*52uc&AmmAY z;qCCA(o=VA0Uuk~(dRN@5@x#C$5WFjGZ>U8TmxwO29PlJ~Nc{@2ubw3}Y4Hz1pQn*~8yfSn`YwhE^w9Suh>b}z z_E+L>g>*e6>H3=K;%kRZ(92zy!?{MO;i;vag4{&K6#6I~Do=@M_umV2&k)-D%9g>4 zdS}wPAA;+3Hjh2SmI_M`%vZx!!`^OIF`Zd*a-*-(b?sR%;nS_q-OnVORTr2vXqR@HoSB3fw{aK|-^$jZCq2j8`QkMW20 zpZFc&1YHkZ@ekP5xM^(wa~?f0Totiu50XKL!&Z{CB6|mjJO!uT_)&E0D1u28I6^x7 zql);`MZ3Q6)}bz+szz0VkkPmIGhHq3{1k8YRnj!*tnK_qHOoeUH#7tjw0EyK@aOF* z`#XGM@gvEh>v`0q!ib$bv>^24*Oyln9#!1#S#B~O_bJGHTlg#BzZz<`TKdF*J28-P z^H?VPpnl7K81N&TjS}KDDXx_MltK7INRa0A{}}WAN>+pLK8|RZ#KBaqIG$^bhzaPQ9qbvKDHYojRc;g*h&{*YUp0rD zg-abXmWSmBjQl%3iL5@=+VMzTJ+ach)A$|ZulPxPI+|ttnYyx0gz|kWlK8ja*xv2$ z)p(F?;B>DB@Ghru@b|_DW^!$ABvmKcz3HVmSk23tC+PIh{i4m3p5K*tHTJuIrfUY$ zX)^(AV!fwKxLfO3Zs2d-T&DHGi~hZ8@%?U0yT@`jTrf%F@Nadrn9CmMN z;_prEv0zRyTRIPktO6q@nr?V^U+xXBdk(ln&ZF9}9;?LeI8aVP0rKA>K5 zWzJtbeFb3J2%vE(IISsf)qzAGE-{)Jq|tuPK-QZFTG;TUEHw|GxvpDICvaZm;=5fV z_Yqz!8s*gbN1XA8xERklst5dR(XI7AW zt;KuvP^)R`*awVPmiV!Jln316oOM_m>?OMl7SYzDBX{YFNM6wr@jGmQa zUz{W!YW>_+DAD#fFAz@|gvToc0307$>;496A`N8Q^;RPWyjxf|7t%DFzE%Dj?>-Ic zF^>?eAb`lgR~@etqTb>6tjMnno5tlTMl0e!h`M}sdhDhse5J3p&>109*!ow@UmGoU zxNx{WwZ(<^uO7rhNgovWni97XT*dc+&THy_hQ2G0RPfYsTx0hNsh_2M=c+^ILnu*N zpAB_GV|v2;UlB)@e86-h;;S0Dwm9(0)eH}YcPnA>Ye<^_tHj)Un*Bz=Xc51K&=M>1OGVaT z(0qTR>X#fuiL>)H`o*VCw>oXT)Ms+Z8WE3iUS1+Rjxsx{rDNiM+DA-svPlehPn(fm znfotZEdC9=h$i1Cs{MGVzi1sQ?tKz#n^fGJNq=rDkNuOcrcDoAS&zvS+i~f|bk(h- zOyI8z9$)dpRElpDOJxbbQM>Z5An@j}*01^|9_)Oe~7vFftg$@i7H z{41WcfKPO)2k{J6TS(}O_fOSd3Cp{|Hq1sdVl)2$d{^dA#L1rf#TOBFiL+m%7FP{p z@ct=RjkaI=Eq-3>chcYMw-+5tI|KRGHXq%D-raC=xzqgadRCvsnfB>Z z6!}W8TJ3%k*+p&Pc=H(Dx2<_k#;d)ylS3KCMhLFOvBwK4$H#I?si~}_{M~;V_kA|X zJ!eirC>Qt$xR-7()E1j8%PkfQvqy zV!BOiBp0s7w@Tx+dzHD5V*UDavL-s5)vOzfNIGJ={Vrs%wQ0vJdJ5;Hf$Spl9B{*t zQ`pQ_EzC0>IH)u$T*_v-G9EKgDQ&=dQ6LQ=amYO=UK)TSowt0L=CbC7K%Xhv-HmQw zZpo@wXsORoe@e^_^Y(l3Y#tZ!6t-HR^BQ16liM}-jIy=NAz@AEmQHt|_ z94bSlF=2+Uuk~20AhVU+4EEx_6!^KQwXDujh(_aYYJSt6moXT3_D>N)#tmOrPI*RQl%;u{_Rw@nG|i4sH?luQN?I7 z02Cg^p>>pGpTedHH|;-#E3BBurD$enJ_7v1p4APq5LiDRm7;c$&rwi?JGy7yv;uUF zGNS{LS+c^0aku4BTS}ra^%YH^A%t~>0Tq^{X$svNz`;!IIn5ZgBheJ z&{xf#KD`U#H?&s4+-u|bj&`Jdj|@}inPD|gIsnB9Ak-4x-k8Uf2==UdJGmoK5CE=v z*0i@sxDj`+&Yepiq{4zlD~(3x2yomJ+Oy`pib%(t1#~F{S6}P8RtB-7ynMs=C{->@ z>7zE{Yki-&88wG=2a?6t9+fzWlW-hjqqrO4*wocT3JB+#SYHdX0C%P|t0N>pa1S*c z>d>J~RTzsIH>l>6sujwO<~FJZeq3~`Y5VB&7eQDiCb-7o$gNuf@DDE)9OlU*Y8NR6 z=}#bZtB^_>FO>1xuw)Vwxwr?lYQwc*`FgEGlPN^pwv!8!Q8F_=bDVanD=8`Ra%y`= z3fqbKn~YMp>}ngMv@A!H+NI2(4tk2rE9K4_KGmR%K&)Ic zv;;POl=!ctk%H%%qaRBju^%yz-L(b6AOd%zVSsu&a>EyO{tPp-HWb-4t{dnv9{AC19ZS ztwz=-x^E`kK1AT2#<_$GkVhD%@0uqo8QY&q)-~EOcxbbxlG8=J`ETvho(@HE+Rwqy z3hSAY%VcEL&FwGBUq6j#MR)cT!I81rx~bzDIjUvxeGi}fPy07r8+L6XbLI{}QC=&p zd@1p_hu6%OIayczn*9j2)zRVI=C(yW^?MtTt9csSCrmKSdK9x6qs*<8MeL8u(`l+% zv6}523icxv9J+*Zpk`pL=xg+kQ}8#0yhoR45+mrV#d#l!KWDp3&`ykiE;(U=iu9>w zUC$D>RMyA9UN8RuNq~7AjB{QyFqIgjW9wgK_{-qOinN4vTW#?#M$LTNuK0IU)7}2l zZRIfO#d>tHkdfwAz|Ad=Qr`#w95yQWhHaRB^?J_8I!5lGN(Tb3>N=1pHWh8ROeMT1LZps~_N770Fv;q6hUIuW1@c&=Iuw zK!8LxkN6FEt)0GP17`xgU%}etuZlbcZ1(3fG-D(1t_on*R}$N|1RC-vRQK85>70j+ zZPHyHNZerd@4Q#$J3jtof9O15x zTo9y$u4d+UvzW=ZBXx9a(Wu@l0{nTgoO;)64mN#h@as~7`$3KOWx5ewk!yxlVm|2N zzIpgDdcR~gtUhCrUqeD4XoUw+f@z4ty;SoHlaE1J7YtZq)K^PzABD_Qf79V%@OY}@nBIH`3QjKJVqhVb6ECp6B`#?DIb+*`7dtS=lz=c>Py{7`I^5G-OB#}DT)>2*10Q$`y`CO z@6T%5)8vv^@Z1{5yuiCj5THw2lBZG-wIu@Tl(+BZDsF0g~=s)WRXx@oLWog42*GG zLINVd;8slOz9x+G#br?%Bgdv;E#?t%wfL`c(OvE=(HXwtgI;xYWo-!aLUN|MZx3qd zr)JUVT&qbM%Tu%SMC_{Hbxlt?2-9+n(GTIKK@2mWHBK|ywk<5$@es^v9 zdsc3(d3h)9!N{fT#(Q7G4NKv#hja_eT~(qt6Th2+aCcXVc;{XoCBA!oJ`$GOxWUN9 zb5dAuV9qdpm1@nSg}-`sfxyLbeNs2M)$QfW%5u|qX)IbfGI=@0eu{iFmQmolX$x@_ zXrWK0E8%SJM5Z>CuVIy0B zfC6)0ELh+Duf#6fus2t(c-K-e>GD9i9c#dRH8M?l(=Xmrn&+8tGrl~-9GY}ek%v?O zA5LrK{T}$(T_jk@BntYw;`2kPXa*>`kyn%GMSOW@JAI%T1_F>j5NkLcYh&mOOPOs< zdabORC%5^~j-cYdp}*MY;*6gWJ{j4xie60`2(9Hg`^}2}addl^aSApHG1^D9ew+UQ z!8H7De{JGzd%|LE)|YpCis$Zy9jKTy_Nx9Ot};IH%`$Q1MvMkQ;=g$Ys#8CaCg|H6dsUlh((WU>f(>&PPjMhv@rq<` z50#WTBehK4ScsuJg>x4$TzR2v`Ol>QYCX(y=01daRqJT{)bh4&_oy^$7z5&C`_AIK z1&SMZ^NdwQ44pn5zGP#Hi&6*d&RP3x-k1Fc%LwBI_%Hwro$mEe0#@3dn)Q1gXQ z;2e%<1G0wRD3rD`NUU920W1bM_$}#GlJaR#NW`ku$P#A+$;fVp+MGb)q_w<(_NG}W zt7j|RiE;A!S7c#T%t5o?6$*K9ec{bZfEoV)+4jv7s;(q8&r54`?9mA}g&&=Eeq?hi zh?FU=SS*sx$_WG-hY&EVBWqW7x=p0?9<|qL(nXJ+KEI`8-da4)4(^pSd!tQ}V9=Nw zx3>@^Je+_y70!#KW!?rVsAE0Qj%L6dU{%-C_L5WXiU3wJ+l=T$R*P1!w(xnx0Pil7Ij2bs79+;+%ohh+486kR8@T#G+O~F0s z7y!96gpg;yYJ6N|8W4jYB9Rv$v7mMY+&*8*oE3*dKyLn&fMlFdG)#}U;EaJyi-{QY zp*F7_#Rr;(!Hct;ns@`XFl2F34h12GGe+&S-OJQcgeHK#qo|}EaYylDfNWZml;vro zrxaka^FRT2ZoMhtwvL?kq~d}{Q~6e7vmcUIc)%i*K35~H7+tueR#19kfuIadGfq-- zp44D31Cvi&jt?HyB11zfHx(fvPs>qkRDHvzrAvSi_RUF1a8*(mdQ(P8rYOg_p>w;6 z0rn>QqcnpIa@5uw(uxIbM-#>cC>R+u0mf+uy#-sK;f}QK*rtvJI8Z+!;4T29InOlA zfN;HOc9H{Tgpi)1k%7fHA4-g89clR5Gme!nuqHbI9%*>RF#huedsCOEJ*hnnRhZ#Q zGt|;#XP(p-B;yxx&!IjqC?Wcs{`{9$7*vNsMiQ`_37$afbRr5L7;1t=VIKv;3(r8o@srh}S( z}2TG8ja1Tmi`X03L#Q|#xu%Y>S zVx&L{1KyL7%>lk_bQGEzV(_OF-~)WLpD8%bDdj?r1whc^5R3{;bOW^mie68(28%&Q zN(K*FK&PciyN$T1unu5w89Gu92R&(l9S6#B?M_KIH_SPt(OkWUP4q_KC zo(3oiai7wYJaffMLsDx&-9QwK0`#RA#Td;pw+bktpm7Q)qJo9$xD+4_j@YF3q~im% zOG0D%3Smwu>+^7FrB8l>q+)^w7PR!xk1kuNst_tM!RzT;7V!Cbkp?!5pTda2$*7>& zGv~kBJH)3<(rv9HeV%g_BfWlW`1r?o_RcWPjw|Vp+5^S^0NZ{rn@fDGcBE}?#=dg# zG*L%q4a|%8K*6uyay*s8EQOY>9yBpLwOpC88B1LfKQwh!6~qhXhDJyMV0%}8E}wC8 zX$WtY6B?XWHO0Q0rNDf!JnUw_Ov=|L8ZegU%Vs!^YUd?=r0N>cix^P6{M=UbjdKh! zTF)Z>?Lfe+FYR4H-IpW|-KnuWw=P-xaBI<6M5=pNYnHLn_I#ZUsjsy7m1ewCwRjly z74k2|zYF-6!@B*ajV!Jj=F0Jmi5x6Rjept#zOmLU?dH;En5I0q@-gdN-IP}Megf5Q zE=ZALkLAxkU3uI?ANWtH8}vFds@%AQaeoiKJot9b=HBC6`7EG-q_N-$On`CtR6a5N zr+g1AfAK4~xHmzMI2&==z5>^_ooe*2PdTxUoogcl(!ZB5{A-WPtJR}HX>;{CSS$<-N5hC(WZk2mcR<{cgJ%PaYudL%5uAW;qdAS5HiHQc0ve}}w`@v5Y z+4#CZE$udZxK2fK-W#_2R-&N)012&67_)iN#J_Y5SHpO3fx4A{Q|S1%u92pWKoG~} z71vrS>Dpnq{vtT8O4YVVG03jE<-_SJd!B;7MdC`lml;`S7zPF~abJk=4Hs84sZpPOoy(I8 z7#?tvc{dFiT(ee{x(_u$<%t|sX=GbtxGwVD4Qc3@ySW912pO;6>s>(nDF_LktrKjwSP9kobh}?uF3wV>P~T^ zmHdt?#j!K$Y`H9inv2M59W7zB!7cZ_aa&q~BsZ>HhHb|K+MVS_g$#XI;=iS^%h}S5 zdnA5UUcbD{I$eTVXy)=DRq>YHT&3=zV=8@~HN@`1w)}H-d1>K^Be8!fM_#q(mWlRj zJ3E`E-7(p@g?~MGqnoO@xM9~zpQ7-d7Wj8i_A9B=OVbsiQOfnlHRXd-XVi>=f}Hd{ zs{pY;PQU0~Z$YuUu!Zd99#M@+e%Zxv(D*|^xk9E?GYn#t#kVOf-VhQ~gHU*H%aZnMhE2Xk z8x_p!IC4!jMuM%Fl* zCY||SxgEIaTb>$=%xAgARCFKRuh+59l8cv-@^Ff}NRL^ySQ^?U$=If}J|5b~b+5@c z{Igids-AhjzL_QFIF1Evcnt)1mlMXgjY|Vx%nGdWx$0}9Uzz$cN|s+^6UH`g{ig41 zaDSz9+IfszByIly0`#t{#g{h%t_M?|D~);u+)r0G3>u z`)oxHSh*fssdZzV@mjNL(A$D|$Mde1B_~$0g!GNks|#C@N#a}Mk{Uw*s_E>mEJ&(*Q(^8ve{5NfLa5o*0q3y;^VSGcog(9&nxGQ88 zt9GmfqzxxOy%?-NiY*+m*he4V&meZMjpO`Wso(!5q9ht?LO7qYb>eZyIVy#c8GCYC4?n81Ln>v`U8UQvg%%l_?*IN z;w57F8wd@<3e|N3!y17Ke}=LqfrZ+y@Qh}Gj7_VnNmnIHR$^J%JX1J7( zJ=5Gk6|sT073o$B_Dv0>j{wLBHRhJ_MJKBVt8W;((bgD;I6XU8)%C3gw zVDLqA+Gd`DIqq%=B;(5!*FmSrYvEruNQfsjjp2PCRoA3QA%XTe!W#a0@iz_ijBH^K zBkXv3ud<@$BdpS#+IV_(0Pc4f+B;W2Z=ua~A@di^SvdK6iu!Ly_)&8nnyGpFq&Ubm z)mZpP!@40YBOpBneQWfN4W#fHdZleolFjj+*1K>#U&4L`y^H}IBrh1_k}J|R{{RkX z(P^m&b^AuuC3DCkx-DOdl z<+d7KPgf_)=GV49lkogjT1A=EE@K{U-VQx0%RFJ@TissZ+gi8old!8g_lQllj}kS{ z&QKDAzH7@{TD3-55N&rn=DzQSvg&@u6|K5F%*MN^HkrA7vO57M{Iuev*CZ+74XOtA zZgJBXu4_}*QX4YOADFxxilZL4F0Z1=9yWz13+-Nxe--_oQ_+T958pt=(2zcjH_f-@ zIW^h%Q_6?K_w1w`IK_GPi#Qr}#2-Tt>J7MSf4>g(mQ6`TmF0aLuD$#eFfp z&*Jzpak)B-4JqfLd?gA{$(6ui;$=h!snhve%D%)lpIfvTG-Sxm{#)bhvZf0# z_NVCC9e!*-vpq9QmK*&dD}@It+fU(K9;rM_tCffaIqGY!@QZnxY?gzn0^=3I>lU)T z+<+l@82q@e(Rf=GEKUXo&tqbth-+g$d93aXiF22gTLW!!n*RWYCz=zeK&R#E5BEiS zEsmXI3>)T5T#mV|5qobfoX`~ulp?2yaya6sG|_l`YoS#*bUtNS8V(1_-RsaHf;+ny z&)*w4$5C9Cv8T12!ybs|}Zg7e65X5m>Fxw^j zg^LPmwbU;I>|u^+V3ffiDt6cAID8y1xR*w{(Dpr|lx~MhXLDyM3zcE~N^8@6FY#Ai z(R{l*)=BJCVS|m$kLz5xcDqc-GN5&=`84qV06ZXM4wd!qAe0iXg?e^4r&2P~NcZdC z75H1l+G{PEt+ea?{4Rc#o>DIVSk8Z(vQY)(PcB6LQHPGer zKY1P65$th^b5 zA8R(LGh3)9_&)9{?3Mg8nOh);|)yBRkkddG-xCTlZqv7-h%1DF(iN zi&56~5@fi)xtx#r?JK|YHJz{M_xc8{bEWE5?`u2`RK(*14Dnmu4YU5&)E7xs^4@+G z{V`t+jHxbW&#ubhA83+V8E{;2zx#>)b<5RMI)^}4|xA&rQhw~V(qc46PU)oxT zprI$D_rkB4Sw4n8-5H$2A`&C3wNi-fXjG1_S@`O z*U|cK{1qGGjJnEy!bfdn`cCiOh^>@KjP~NbGQaqI2_9Xs+wE9q;oCI3G3Dplx2KxU zCpBD}jFzb%zP|{+YY*A$_J!Y~+q>vj$q+65pz8{|j?3>}i?4h()@-6n-6t1XeB8qE zeB*D_af<$Hulxbxy&n1--4@zrk_K53qR1eQmF~JX?W6lr_%hnpMw`U9DW>WC8&*~2 zJu{Bg?_e`$Bjht48;bX!ex3YG(8sqzQ9sqUI02iCSJgkT@55`44r{l*ESe`D zZMG^H^urw2=Z=H%Yf<>Sq-lCriL51m?H7i2l#nvphf4l{z8rXZ+ryp_)9kIWwA(~R zI}M|X^)VTYrB9UbKBw$=JCB>Vs4hc!XB4x{B9D3KDn(&DIUN{Rn++`^4eoizh^(W( zuz1-6oc>ku*N(g;C6=Kb{NNG4Fypo>?hQj0tjUkOImLOOh%~J(^3F| zcR5tKSzqDji|uut7TZlyR%=udmFb*%SD*Y#)z%xPg>%y!cCRR~)vvrE;+a_v*xEu7 zeXFeTWT#NK`$74PiMu1|T2htvCQ;VsIpNE=Nb*Z{{ToFb~RI6rA78QDYm3zXvKHl62H3gg{bJ?d+A(Wpt~g42OX=a@TI~n-<90f zDA4z95(ur4@z=F=ntgzhUC;NMrE|I^xVmE+*Jr1zCZMpN;1%k^Hbza@-Z~;IWk4M( z&oz5FZ6$1QroAri>OkufoMNfn*~fPgM_t6#n8KmScxP5N?jgr|_1jzIn%t{#n)7Hh zB)6B%POI9wD;ZkiLlX_5MMR?(g)z#CmxtWe_1>Ps+ssaVtC+l&NG2IvC_j3;kF_Pn zl!7z!;m}2<&U5}4SNo$8ZMbB95x!f4$kgd$!=kjg^Q6z zNu>i?Xv4R>j$6~E$?}qMn(S`uqqB%S11bQ`c*|Z%H;5Tj{K)ti_OE)jjqfxv?e~#? zl{in`G@CHAsl3aTd~urXEQk7fvYd0$xlaosz2J$*8>`u@JUwqD!gT%~Y9!*8qk9{d z5;AG~eOA2s>d7x5XdGuC*QLp)%QP*Hio92p+}+7*bn!22)5FRxIvGcE%x|<9?5>!i z@*9fZ(&keamfdsGsp~hhJd9&MHDuXJ>I{Xj^v#L&8+hWoG7sXev%|NMtW67b?OE_z zMSlU@*^{+p+e;pucF@S*H}KHegw@Y_(k{bW7#QZb?-p3eaHa9`3d_@VX?)ZuK3?_c ztqgjeoWKknv`5`DUhb#PEi9I^g1jo4(7(Gnjh@9nDvohbc!B`|xq$M^(zy)}Qu24( zN!<6WD$9`Srn$8^9b)d{-r=H8yPCi7^HBcE@d3DJ3%$Bj`qU{M>qs!@M_ThaE}GNC z)^dq9$G@8Ai@bC?Ue-TYd@HCXrKKe3*#m8PFUCDSd%V9JanieQg|kH`hU4AmOd_;@Px-yZ0lf_;5C*o9| zCb4pN5W=tgQMB?^c6a2O^f`H=dFgW1K4kGwF|EDA1G+a)z+_kIZ^E5+-(K*Iq_&45 zIMEx}s*3!%@g!bty2qY4{VVhb_GOwU@Mwl71c?YE@UJ@=3&TUQr$f^|Cs=*I!_z~z zf}GdMp9XcAbPMfoNdsgu&cyN40>0GoTw!!;jl>_2{{SlZ3VYw|El*IEE^mQ0LClTIcE-IrPTCq?JZ(^jBf<bhd`Q)0z0~e}(~$oFbk>nL;Sb+jf*-^5yseqWjVb;$UB88sb845XpzdkS^M>{rlR zLygl+09yC$7s0S-ei#>%px-J6&!rrWL^_Hm&)zbBE_AgY!ZTd>y?CGycB!@dr@GWx zz4p~sgmI3dkz}iK!YXB~uFbfg!mGQ0Hgq*&+BR;BKpI$Q23C9zP2DgZ4q4WR2is#6yMrYvyaR78ya|wtq_Z&)E%_>YAiOk1jEa z+Enirj$A~!Vtu3W2U%-42ve{s@=r{P{Q2>(izn7~^|ij*ZB>Rb>MQB*j=mv%GSu2U znKO#`GWuz5Cd%Zn`GKq?`5>Z+!mT-vrtHv5rlMPqlW*|)S1+t+5-9VbADvC`lf+Qp zu+#2{E}wWF!oBBR@WNeMyte8JV~V)bQ;m)1Qpkp0sXrx6X_5!uF%{lFF z*$BV{*D-T+sh9xy{{W?Aqsr{f`L7$7e%iUp41rD;tmJcw!;QSOIXEY!2XUekWrk}eFEvK?Y!6Dk49deFdVnh%nM{N?-R(+~zCM4#pZm9BJNi-$qEW{k zC<9glB(~-@`=^TJwd-#oLgyonmDf)vm2J8#00nurt9J6Ym%jrdwx$*>-p3iXU6>39 zG}|tu#ul?#@X@|C!W9@hE6+HJZd8)K&`p% zq-7;nZ*Rh~BRN;~s=1SN*Yma z575=Pe{_WyL(yUue7;H<(sVkJ)fp(^I?NLY>XJ2eoPjMVdanSNAf@&M? z7k}NRnI~GOpL&0sUH)F6RZ+S?8Z*GFmODA~P7P}jqEjCD{Py96X=(F@j04nGUCfOt ze(R-8rK2knM+T63oAO|fH`0|h$U`q$s9WYSXBnk};3+@s)G_;|`60Gu8_pQiLO&>w z56ewwie)knyecQT4H#T8+R zZ)yo_upO3ONy3VeXHpNCa;B@SigFvJCzJ;{`DiG&9O4jFbFkKhz1qbV6a$l3xpnyu z+{YAe&x*Ahb|yUP;i1yr6Z^;1vRf=m^V zurRF7D(8(Mz{ zJu0!fk||h9a=o~&gI@R(@gu`dMr3G{k^=MsxY@1mZBz?@S%=C_IuTxkF>sON&jC2@ zjiKdS#CGE*sd#SPEj&*Z6*@=n z{{ZZV;-&Fl!}zYS*a^1>sN2PQ_lc~;cSZUa@AR+FkJvBAccouKe8+4QVUI$8$gk1= z02m;Ytco_M>0VX2D_HM(#T*TwKQa#Biupg|rj}v3Nw(wW2EMYf`6uVryhG!Lo-XYC z)gN%zqZ5jvK1TAC0lBa-R0Lb(E848cttkVt)RFwZbY{Iee+lN)+}-$lt3IEviz0Ss z7!~$Sgqu}MbH*$4{#&UuzY*Hr_GeMWedXbc*mW%~8HX%D&*en65mQmMm(48Q8>Mr% z5xi}+zO~(IC`K!azYXU86u{4)=YfTJC&WuhCGhmcMoKMuyt|e?o$Cu#v0MEn;?;&p zQ(4U&G>^%9=_Qj;m`R<$nz5v-2~6iab*`J@UY5QW@f40eNL{g?t#i=dC9y z2E4pXO{u=e=y!#+SamB1V}$+Qwd!6JxiMV4Jw|Khe*@mhWjk8qZY$n&o4+dNH$(Tj z*N;68->`if;f=8dhj&w&>ZDT9wmmC>@Xg4QRcv(?-0Bnkp4_sJ;jXF^vCTE_98bgv z(@yY>&C@o}v65@~>G;>LO{;j~;&3v^?5aILuiPJvo+*HMGV0z|*cLOB>tBJo_2AZg zV|8$NM3KP!4ShCW9Zx?N?GiZTb+ujN1ooxA#8z8~^u;Sn5tJ_Mfmzz+$}+;S9QxPQ zQs{i;W?Ry39$}7{r(X!SVZQ$WwPxwAA^dr#%P*aBBpd-<$sCQ74>e;b-70~#W(9%o z+O*_#BVqn3uPE|k{oPq{GtGq3k1-D;wI69%O2T@MwR#C%S1c`FzFu zr?qDSOJt6ERf8*FMmYkb&&_}^C;}qPK3__L?=i*Zzu+qR1G{M-{d%i=1KhZU4h0sl z7PRY_?=1?q3@blw9fp4jg3SGjVh>Dht5+xyOp%UpSvF{liL9ROWR1EWfDcOJ?4xLP zFDH^S$Q9_iL|1n=A|+hry3H@)^fBI@M&+_|%2%6+s;{BfN}D0kAPX3hRb`0RZ5+`h ztF^EgQGuGUAUoQCJJCi*L6_YeQ2jJJjXO-dcUx-x3sq@1T;E$-U zbl0zj8_8@!pDqXVt;sbAq|?N9@q{HnAXfw84=&cwvW`zA4tcB@nc?0u)F)^q+;hPd z?tzRFj1=Qq= z_(PNW*V^7Fo*6XxY**zhGmpZ)BfD?2>$1g;HyX(3f$TmRf3!}pDeM5Rw7+5fVl5Nn z?S-s=C}(}+u{H58gmRaVP16UZeIxrb>-N4K`0ZnJI{BV#t%drY)R-UCB$0{il3~jn zAHuOO9!W6R;Cgyi{+5NjJ!v@~G?1ae^dhKB7>PtXe)k#lu34Hu!Md<%<5q(??^Y~y zxgn4DhaQ!pr|d{s&f!vhz7m^{0=ay+?L;(^l}fft+^uZ;j=@_nD#oPb8t1LUEBRxsY&w*T6zh&^4IaeH zA$Hmu@S*oKYa;yHPb>7S<%U*}GW@2j++0Tj7?k|Pb6OHlDNEQ_%EFOYzDwI&0>nw5 zN|qh*FPdBB^r<1Zj7$gs=CcE42@(YRxNK&qz2V#?A9}7{277$OK4bi=DRlXYjo*zs zfKPt&5FhT=%t2(g8-U<(SaRAJBQg_!y{WdElgIKE-I^{2`fm|ovGl7DU1126;4cEB zfUlM2;v53`QUNW6;f-JVYhB8LPY)M6M^Yjmvh3h1vm%Rv~sW! zEYZd`;<2vUbOhUA8ozSv3hZ6L_Z5SCbVQ1Zer$HETLPpa^`$3~S}~V}!jcH@P`vjm zZn+q5TA{Y(w-n^JdK5sv7unkIvK)VnboSwlL5S~+R|{cnGF}Yxp0(&o@Y~0^&meT5 z4qo|8Q!zipc&oZXG-Sw62D5M7?q~BAc{$7u@C36MH@IhO*oD+c%<3#=e-M@WvBoofw)qRly|_Tpm!3UDZR5r06W_h zaw)l|0p6C{fW5G3K)~arAk7@o)TGd$QRzx}=8}`KBd{^eD*9%SXB2JkPUvWIsm>_R z@SZ@V>q}BKu;%HG)D8yIOz(<$80LXnpsm2brz(>fDsV+c!z=Wsw2V|NV~+F`DCf5# zoyKXaf-ouFIH`LHAjdTE$i+6498`=%O{X2Ha>4PO0ZNU{HHOCA-6#unBqosLU{Kg> zVx5pq+5m7E6tu-q4n;|~_^NILMrm-p={FEKrXsUv)`y}3W;~6xAxx-XDiae9LF7}G zMsJaOQ~&}21a_x0Go9F`V1bNN)8-iIK~^6a&t5T0yPkSeI2=>@;CfUIt7?Gtr>`8- zM@&(Zo;y$u%Te3`yS)Sk!l~*hHkk=4#V`7vpel6Db= zrY{4Eldz=Am%=w<1M5k$E&5bV^RQqzH6vY#i5+_$^za5Lq%Hyu)QUO4 z=|IV|flUkj;YS30DRIRBD*?9(Ij62d;L`>NN|P91$ zDhBq{Z7BUI_)JqiZrvykK|s%Xc0DP%9UHAC=2i+v6cRjTh7W2{oKpSMh3`RZaY0bp z!;w_;OeC?`IHggyr5rKlm4fyj7XzAb#wZ`WTzXTHdS;+$jm0fU^$;Y~?pG@ofzuRG z(Bh#h4J#5+NO+)Tm=6cFI+JZU3YN;alv8txGwo7QFx$5#n!CRWj2+xm<0>$ER%HqS zQ=Zi9f^$vejCQAE0<*D0!*PR6UU!^!(q=_gP+cqAx0`286ftl2Olj$DnaTg0P*sSVwWc!Dn7kxL;%oe8K(kId{a2i zJ5UBjY8WdLahy`;rA9i_>mk^7F-}l^_9+*hDfvHibf9QPJGxPh!jJ$56rkdOxaQ8@ zDHVG)HFLX~lK|p@wQ=7iAp{M=o70*AKZOHA()FNY7!(1ThBSowQHn7^;*oZ+QAHF0 zcjBC_lY%&?_f+xx!-|Hr8W+p{HQ<;si zIjxBNHyoEgY}KyZp*xZes4FMK);9WGq?ZylWs@X=ed<`RZtvzW!az`X&3{wUq3q)6 z(^?+^TNftIp62|@>u(U*5{;wiD}vQLxh~6f9jmaBaTyrp2lB2i?Mui=7#*vsgl%Kb zlje6ht&+9qj1z)*#dIxcCAtP60C8Ec&;FLUWgAWoYopa}e7jXxz$|fH^(6E+j>cxO zx=jk{x_;@iisHOD9{1soiQqx=h?i=P_2?It&3)nN{H_T`1lKX}?%&Dq&xma#AHq8K z`d6Qr()O5l1G5QHLabzdTx)1!)vlv%3d%wJD?D`-x8l{=;*CiML31bbtRQ*%SMerw z`@GJ)KfHeHgZ}_@kD+HAR1NpOl{WtXlB)G;=dWAgUWW15{S*D0+#iMFGI`S)BZ&Cy${7WrT+l7$g8KLt>8x+hibXv z9Gl<){t;F5=$Gvwn>kzoPSxF?TUfF3Y!%Vs4Rs6yk8@rZprwgVvC{ZX21#X@ft3QY zHTmXirpVpNt?vy3AKOcRcY$2)w=tNQ<0CyYTwWegaKW2#EkyAgr#@TeO`T3St-Wa` zf(s6Ctj4h|qXzahetHV(d`j_%tx)ug*Q>_3)rZSv9_J=SN1qUxq2V~!`%p5kO!N3v z9dP4OJm&_qJT)^y+tq$n=~!B{f?4Ed>zr53_;H4Cp(*!0J|&m$6iTtQ{lA*EY9C(^j+==x`a- z6JEKjL}a@WNcoIL1lAGJDf4QUo0 zCCu7xwJZ#I;D!7uZAvX;Mzno9P_|pRvymg<<30GV71h2Q_>LAgo*cX}TNmGrQThe2>ib@Zzs1}{&&vuoNgN%?CbYF>j3CZk3Aa~Ea7`NudZ>3TpK~f#BQsuyT9XiD|xEcR{59qnway`iH~3H?zxO=zK@^c^NBZM0jLha~xA9Q3cN z&!pBGUZ0`oV6~CQTTkS*#_!@a+IUsI&!f#C;Ik86cOgDg$bCh6O}sy5(1y{C;=cmm zY&qVMK2Tb@O%-EpI_7=D zdaE^mF!;SiPZtkE^sWS3Uuql&n=4NwHZ9d!265EblMD!E{Sz7Mqn}Y zu1ZOuJChk~*WU037ujX8K65^m@ean7m}Idy=Q;eVPr}U`-wS=X+;A%%DOs)dMTNlc zTG|uGWh&e_Ga1?XMzoZsneduFg%@n$jK6?esr z=3F24Yae#&Kf=GH@XFMZ@;^0|JsH2Hs$9z)ah>IGO8R2Ce;VfZTZ-N>{;j$8uCv0x z35)tKBv&D-I6ftPyyb;{N8)vF+@yUs3evr2@-!?P%hhdTJrPK)-w|e3S=Z1C#L#g5 zCXN|7U9HFAS9K|*Y2=4)&^Q3so#Aaic5?oY+J(9!y@fw0AN+^A5QZ%APN=)jt^?Tu4vbfb@od$v^P-QE6d}I zPu2401;6|QyC9_JiBdfB+r!Tejv6@CotSg&UWILFZFHqbBl*DQwlu#7>bi~OHc;S1 z0`DWI740`Z2)2O*xFaD(e=7XH!#ukZu~NiUS|3%!xcGY|O!=!%(C4|iH%^3+(QDLv zH}Lv<`PSy?eo#RQ!;19l4G&Dw)ns6-!>Bbbv*O6~YX^HUqGB*TF<-XknXGWMC0Q*J zJ`V>8R;ZwjN%Sod^w_lPrHx8;P&gvCbUi1-UKh7*W99PUT!aIqeB&R9bqkkiFC_Vx zounQ)?Ok=<^~lj9-sfpwoM(eynDG7~XIY1|mqX}tEF;5EM@{0tic@N8@oDZ<6Y^t@ zD}lGyZ|`s}W;p)0h^D@~Skc*(2qn3%i|%j_(~b z`2r#N#!_PQvF#^5g#iSPIwkPl+`Bj%OJk zqj2)(!*U+2;t3=E&b7D-9kw9H(!ADJ`%JAO05Qm4O6`QBQ_xpw4dsjiJ%xF}c|62S z{lnB(?_4X2RdVWFy^oE|=%`nc^EaiR$+XL$mvHENVx6J<_Va=A8<$5chrc`dW2SZ=R3=zaYS0QA^BFuUbfnC3j zV+*!)8QqHWWSUaT4n9#|)fgIzbd!nslZuU3bEmYOZ7xH|ag)HQykrE{38-_G+A&#I zE~yI2_{!h`T_eJEKMcBt8DE?7ubJa)wm7W4-=@ET>g9DgD@B}s= z?mx8ndBJ;hh^e3!46vvT(WZ5zy*1TY}M;rECm* zpGx8_Jfn4YXE+ZtN?A95cD8hDmyb}6*@ql~n&mu9C${k}- zAE=bAkR)~Ustk)HFl4LWg}^>R^&)ET|I!>o@{45>%7&{&TUcd zPXu7Er%LdAGsN@8Sb20b;u;*SO&)JBD|+!so~N2+y{U?BMnUHWwe@==6uy2&80Mjnr?GxsHrm+fkzdXnd6oTB7^_7eb&=wIr9Wm%4Ab9R36edkK0%J0 zRSR`*w3ykk&2@Smgu_9SB^hAMcQuBUfu_i`Ff5rvIHYR)w3I5Rg@(iZAB zlHUcBwQv$f$lFNdaC2UamvY)p(2RWN=g;(~_=7jv4lst4V5i z;IaIV+0SE|(VWbW5F-F!gW9g(!r*irhplrK&S0CKG1OOGJYr~LojQ?R{6C83rR*oV zI&mxB8{}HwunmP686&lG8jZY~MxZWiC2!rZXy2g(R@^eQEwpt!9@Sr7jm4Z{utstS z>sj$05)~;%X>1gx)8$={=^yrcyOYG9v!{e^uba)7X{sI1-pz2jRn^9o;yaru4#b(9 zasAU-->~kn9`_JH&EFrp4hDq5`N>v2JQIgXvd~&^IFifwL(p)Sp2K~ zxjq?x!ZYy!{9k3Cv1)9QsKy56T=8EacrQ>*GhVg2IQd$?YkzDH1L@u~_%#lvJbS0p z43`R1widq%;bw+GAp6VH+ZFQJr9N5ceNI=1+DGWkgsppF6~n&uWe4e+oW%$j+0AkP z015SU*R&YN2gt$^^shy_wsCap4&A5&SHv{m;IgmNvYdv$HMMVX}@SmCC?5DAJA9yiSXaVmYyi^jh+3Ji!4bR!?_MdP+-^7 zsa^@A^X$qFEu)~;rZCzPIpETGe&A1RbJx=G{Zd94XCrT0Y4h z96lpU#R_1zTZR7iKML`m9Zcg!7Z%4G0Xg)qc=03xeJ)Vn^34kjSI%0D>vf?|1g+6d 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

9793m)QnaoV*50NbJ-ybgkuBv|`oR-?d- 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

W#=H#`Mc`7@s{(xgnGFZzAlDfa@_zlG;@v%kk1 zWB^tkpCX+~?Fi(7&1?8%bA1zcdj418Rm+~md7r1|dgcEBBMV!UiFiymwN$s1Bn;)S zalkcqRonKa^H>4_0=dYrW!nD$bab!m96bL3aJ>)7sz=^BO)BY@b$9A|R(Fj99YWe) z;cdC4SyRu669W{UHE?3LBev0BnE0O_Y`FR^8ka3`x7P>zV#qJuS5M_#KZ+O5Rg`kI z%w2gzS+b9xa`Rm#u^gY-fwyDjug|IT*?DAf!*n%s!Kxbe>NE20jEq$cU4F-M z_V4pAZ)){CJeBZYBZG*4-b}=rD8oja;PtA`!6XVt6+AX=xHs_BTA2#M1RUUVUw4Rh zN6pLP7sUmWM2Lg;fv+zSeX7nyUJeIJ^j{UTMd6qOoU<)(8hghLk!cS&ujXG7o%03q zKSkkvFwE+F3;vJc`Q3*`aa`rvJ3rcb0(w_n;jpK}Zr!}bHOXB*`3ZlO2SHzL!XNT3 zf#zcW0N-S0Nit3Qwiu?|V%9DObNs1=Ga+W-b62ld%(qoRo@?90>~uy}k~zIx?9!9{ ztk(;-5gP7%N<6D8boZ_zY$}Bv#eM_EzwgNUoTvClN2KHXIgdfQsu8@OT9(LTOxk$) z>4TvjmG0#<`Eb!3zlg^}7-cF)HFv@zK05H={{X1PkN%EI&+`muO7MFhO6vX=>7Uyl z61+QW<_PxcR+40l{n-U`=PuNUOWkMnfBRP4Ew{og1fDY#U=RCZEAwmOZmA}R`!#rv zS+_f9j@b&I#=l4Z0Ba8^z8h#ZtTzZ_iJRyn0>35y0BNmpwC{lTx?Df%Z{P!G(!Vgw zCCN@lp^?(&XXM9)BsW^bm-8RqOP6Er+}EaAI_@$r-R)j|;K=O7vq>z0CH@ul7_R$9 zjv~&VdmPv0xX*fQ{X-17X`=qwGrXUbsB<42@+#%V1O$}>Z$+%QN;2kE$F*@PS{({R zsARbL0m6e>UNV?Nq!_pIMlo8ccWoU0TKuEdxUUSN@@q> zIm_q89^deK%J$>qPlqCbH^pamtVrmi75go4alCzN^EdWIw1Vr!+NI6XZd% zOk9O0+#1?@#NwC2&xHOs>n#_HMVTOcs%y?IZtOJ)WVE#Z09>GNt$*4Tq>ILHA?+Cb zE5*Dq;u~ETRF?Yi1{XLTe(o#iD9_wU8^)dKpQQf)2`7?W1IUp70LQpgTEzIT6jM(e zL~+Mj-uOx7N#W17!Gf0oT}b*?55#8kwKT}+02Q7Ib7EzF$B|KT%E!w-Hqp+>m+mlgnozBO`Ak(!Off^wAXC5jm`}Q1*2$wmk|m(Bld$i@iG5 zMZ$&Mk($|!N6ZHsc&al+yb?QCRXHmb&N}uBi$X3f7_Q<8E5R7A(Jz3$KOQ6S!s%L+ z%O%ym5f{GI74U@d2Stk?d%x1F_&>#Zr+~HS^-ChcFEA{MKf9iPO6ZhtV+x4XKAkXvP+B9<`U=Yx zhgBhC2_ENtYi)X&7-l22c^`=MJ+4`oj@8rYULb*{5hR(emj2Q^`+t}Y25W+Zr9ynK zVJKMeVWN4qu9*RpcCQriM}~ast;)M`*ERJ;wuLv^obCP5JR0M?N#XT*N|nc@dK~bY zv`rJS^N3%wBH1?}b@Z->?SjKkD{8!vjw$-~jLUkgqstw|QN9x*#|^q<0nRHJ%aQW3 z-lv@Eb`Np7<+za7I+kp%NIAgfyFF*k@-Pm@=~b<41U7E@+~rBlYb!m69><3WnO+AkY$81Y>sl6|_+82PUXc`H=FQXiw(x7syb_`8oc{o{c&|#a+?Fzv)mMsxNoaZd z`Ifh3iRBG-c3P|w><{<2t|oVBuUSX0HG18ZuOp7!U=FpQM?=-x?V1rBK9#Ab%*nDg zKR2aww)u+K&5nY(ShcIQ)WiP(2sJ5t`c%M zz|ClQiBTA5jz%d)SDlPzVqIL1Ck1&u>sLaVCXdTz`GznDwP(j1cX0V4qP3 zthBh1nkGKg>N^tSPZ;aAyo*VhB}HWIiuJn^TFr6kT@v_3Q{p~&@kNAImu6=lI<|ib z^e=}xggTC^X0d(sahkyRgBlG>%8Y!wMP~dTn8V|iwmc2U1#!>dx!o0dXWHH^h{>Sb zC!pk4=f152$F0h^!tOQtE3cq!Hh94282u~Z-xgY}uB#-BzPwghWbZ=8GZP|IX3GrZS2GmePf8iZrutc3pV~jw_kciG##8OX$_; zo+TsBa0W_@it`IurcGYn;#I*`;<7YH*^*9QOo_A6MPAY54H7W>#j7IP7oSJBWawg3 z`c{sF1S9voLtqM;p8?ABc03p3-N`o=(Px540h=H}A25to z_rv%dbfF@Q@IRGli1<<4MRLINUl}3O?*t3b5NptUDW(4aX=(9ECjbiNekNOOxk(2j zBD>E7%l`lpXw(g%MMq+${nOukJ>|t@ARPkYxUU)nmfh5J^sW6W_917qFx`stzYyvK z-84`4dR5a_xx$h2zN=w!myF7vyWQHg^y`o8#aov|`P zSzF{|-oA|0?8W7*VDh*GV!m0vvAfgtL=T^kkDC~;r@T9OFSLlaWVlc$rtCSGdYloa zj>wqG3}U?M77!uLdN#VBW`(04^3u2n1WmpJ$@QtK%BFHx5}!RA1DC)R?wS^z9mb5m zYaH$1SBbr(kAEMQH~jgcgB%!lP*KpvH?HO;BYw>%bEZl<{N zw(?I}^sf(Sf7%dloMy78w2IWSV~*9>cxLm-wPDj0q+n>tBhrSOC~lbPT^jhl+S(y% z(hbg@tGW+I2_l9YmhgPCf+fT zz^=Pr@eJCUtUOJ$X9p!M{{J4Tl7$IMv7 zr=GpB?OFCW6UiKrNg49-@{dzraQrIpkA$`F4n-{XYO|sNC)Tw|%S02A@@JnruK61h zbiwOZEaaWopc(CqSGjo8;aUsHX49Mubil6}Iv%s3-EWsKgT+klg&BLNx%@uUC-S`U z2|_S3Ml0nX+b>CLNKi)+c73gy`oF;*HTyJT%Kb1K9Qs$B{?yReYTg@)@+1$pZE)sO zYKuFv$~@SFenZ*MG$gxP%N|EUwYT=fmtc}IIIm{6x6|(75>E)`vF|)TWchzA4#K`4 z`%9#cxUGx-Ld(BaC^Tpx0qPhJju2oO)JU_-gbnQcPo|bVnZsd9%suE{0r@ zc~UM16&rWXY1bASmAeBgmS0+@Ey#`{UAk9FuLsoRcp9;cH^D^UwXp<5qH z;{O1*RSqH~;;tsY1At_F5mc*16ZKj4H|B+8Ia~^-C{_K?``E1X)Zvw~k4o}QBX7sc z>r?IEZS_g^9-HCmO!5gle-%8zG|CFGr>&Lo7*;i(w}5?0uVYHrXov?H#YK53llN*k ztzA0C;shyhq~&<1j*E9EeZ128d_NgqBcRq)i(x0kz& zb)n+mAKCQ`^3dEN85K-R5*?s@+TT79ykGTi#YrE8CPSBgPikLYfv5IePRBdvMtS0+ zc8u~!HPOF=t{Cw6{3;*#L3I}8SmKx0;2+sF4s<#(;NqkPB_QM)*OR~+sm94q;3@;) zEpk3Xk}3UinIGA;N}p^8054AXsZw-2iY4&2yKcDWA4;N{KDQSRjgO@tT&5q{^-;G3 z@#A+)aY)4rWRcHG!e}pHIFK@q^uomd03J5>-beT zFIUPX#!3#gX45jn(nfZ%=~^82FFdKZE^+HmxsNb;mggmEly-8KV&jT@G2B4=K+2i| z#bF`Z8M^vZh`W%AkXkYbos@@IKy}B+YoBNfXPgB*Ron?}A_6W>4R2|{!zxW&-u=J~{ohLIwB~0; zQ{I&J8aq3m-`Ro2TeW)E?8~ajp?pY*nCwLgPi)tbTknwqWA5N&R=0(4 zF%pQ~tAc9jqtU{>PwH#o*NCkAS>b5lh%oY_87Jr~=MRigwUn|&!lxi+yKmWd#TFhR z&>|K@W6MxS;atz{8*i~Cm2v_CE9dau?jw}%sj5B()e1>@BPSy!xz$`TW7D->M#IXk za``o%{6RP^<< zcg1o$hSIns*GoLnd2TVbx!B~`SSa0^^eHWlN`)mu&hEmi#XFgJ`g2ph=)r7bHAQzR z5-`XHx~yQ0dA#P2Xl#Efx1!2X+Rd0@l;*S9_eH#(Ju01yq8r7Oa=9E-R4$qF2kjBz z!*8g{&X`2`fv=RT-6VwW91rPVq#v}Vighgu`$E+)3i5riUz+d&f<(r4SIgof%R3)K zhn3)qMRC)oYDoy$(w`U1gEZy~jjz_Sk!L~RyXCUg?eAECE!-OYNANY`Yn~s8&5A)XfLKbnRrNF%DntUE_6koV|X;QH?JILI9`?XufrX1 zL#%y}KQb@{Yvlg`4QeZGsvU!t7&YtO7`LztERk}Ixv!A^GH8n0bd#|8SCL+h9#%Lcv_Ck-gqFz5 zCsER<+&qmA7l!FwjK|KBV~hdPxamoGa5=|n`aC65$*b`c^w@E6^Nwp);fF)_g+?w` z5CSL7QEe~#!}ra4Xv~6EY-N_IUTiUS{3`U}kOwCithw!Xew~T?Aw7;16=v9K?+4$!|xJKI~H?c_{ z)EfSh{ugU4uJ{*CnfaVTH=fn}&-j!WH61TePnXNNR{X2_CjFT&8&UX4qu*yfZMY`9 zI{yF(>QX&-VG^Fhy*X|bZX(A};-7Gh32n#k9Ey%VDoGb|?dPp|^E>(+SH)O`skhV= ze6DgxtDXnc%fyJpVSvSK`0~MZUk^NJGVrekylcTag~g56+2r}k5VgfqMs(BG2hq~Y zDl)19Lw-~xldPU(-FpE{hUBa&&B(?;t!Q-!X2Q7Ic&Bp$cp*_4AamZi+qlrXZ8)vV ztL1@$#yX11XpGP16{UNKz_td}oI36Yy=!UZq?{0#TCpTb0{VBYD|U_~1OO_atV1r` z*~cVXk04fjim}7G9;;fZcN)ioj%zM*X5HodwWASA(q?%Ka*XfkODRiP2zANrOty{V zxDv_ogy~w6#*<~3XB^Zd25LysVUd27tK=Uibl9p82U+ug6m+ZiZ1cm2Pfnt$DIhti zArf5YA1!G`Zjp~lMUMm)Uz84gsgm5RgA4Q(H?RwE+ZY8LRcT_CKX|`%j+DUXa7O1H zt5`g3g$u?hfz5o;D0uj6{uQNdGnFpmlUetlJmxsNb`@!6*%V=i%sW&)z`U0vw4Dq3?{SLKk55gZ z42Ed4M^43#aOD=f%X|@H49y_NeZyhTRON6q! z8xPCeR+JKDxb0Y)m8%K2jzd;pb#{}j!w2n(w=>6XeC8R?YUZpw%VMN*wW}=U^5u6Z z6=F)n7gvow0t^oIlFuZ6aQCSrk)4YL;F?1g7?Rlbsp>QT()RO`Da(zxB9k0a906b0 ztFip{FFu&3Ei`8sr>NsSD7XupQZY1{9VyBw0B4E@DR>8wNw;rKlofG6$ftM3FjKR| z0T3h7m!5`}iU|*Dc?58O3TWWsj&t)=wb;_a<0Fb*crFBlZcpbx$yqjj@o|Gq-If^XNPrQB&T3PDG0;@p1#P>qds9PT^T41J(2SZ@ zY;Xk^&=#VI-0*)2Q<3ub6(5~9-Nio`OrG@?9>S>kXdP$=t+4+9ZkV8Zb4D@L((#TvQXFmrjvki;4AOmRdSLdT zT%z;dlv3lIj+B|>6a&;>yl^T-K!>hBBsX~sK6Z3t1&q3Qp>%x91aH*;m;<93O=RsBZ_o!fy*5FQf#r@nohLpI2~#P_X-I;`ccxKfWm-G z1~%gqP^WR(N^mhiAjw*j3)E9M+%w*tg&fo|*ihIwsp6C7#a93dPWx#AvklYR%DWpM z%Ct4zCrk0Ji#Cz0LYEQDg$g(Xax0(XXk7FBs_m87f%cQnYU8azG+jE54(R+i{jI-c zo3Dr0m%b?Qy}3G5?skn=0ySUmsIQ28C#`C_HPjl7iyTFauTDOd{Zn|i!dfrHT?%a* zQi&Wo6~O>!HTVRc^Wj#%nw}G%{o5431HC{jO67B!30;R zXm*zxz0!!z=^OC_(!MVjgI!Vf7<#t%k@eSuzANarDm32`M2>{uZX39-Y_jmzfP7yN z)HE`&khlR<3^1?GElNFCM!pc;jhOqVZY$C}1@SK9!)uV8}t!>O1bo4zaMtuNxXqStLD(wQN^A+eq--n0*j zz7*8pLFKZ`5W^PWSAkzGX>5Hy6F84^(PF-k4DHHP@2f*^9^!Coo|DCv5=Xw@X+!*2u{i_RZYfY(4Op?HOK9$bAlHIZMP6cT^@LAxJ8b9`H8($@? ze$}V2Ut>*Wtr^QRhjN|u_u2Nt5C{FET;11+tsrq8?8rM-4c@PC)~zhu6cyt-w}^M# z{{W+$9{H}yd2_MnRLx=B`a4Y4VV&~ibJLpYZ1q?YV7u@$#eA8fc$(+V*&_f!{VTIi z5=4_M%`oHMx;~=fXZ@oN=hv+IezT^wm#aY?-JHv{j9E%XS7?ro=2bWdo*VAt!F=j<2oXqe?~TIM+%WT1>} z74WCP8DscY5glJXS}|+DKXlo?v9n+N{x;@PA=yst4K&Ja2VGUI(d!rj8|)~MDROrWV5rik|>4>$kDJ~ewEQf15$ktI}w@F zrS^(?uZt~hm105<7{JH$ti2^XTjMK*vGCoLj_h{*)&uj!ec$lM_6dSND^T(E!pV#< zSetL@UwQab;r{@D{vKLIYogdjOk?jls~_cGON8OcOIe>WjN(+Zf%(bs$MzoaCckkO zr{lS#w2AOUXmUR){R;3$z@LU*0kTV2EN#~IA@bdb$D3WX?}#UH<)#FEwhVtN$&PtT z77d*CHT5_=qLme~@;JQKy=SXC9dh4E@h63^d@C)KSE(c}fJ#2|ZNN4BlYY|w00{Lz zgg+EDEeiH8E;*!W`p%l{;zcFwSwp|@7BLJf8eBl0Mo|)5s$}O1O(q($+}Xj z{{Sq|RAVqH(s4-J0giEcpU&+&0;F_!oW&yTWjG-A#Yez3@RegIOO>Bf87V8E`D<59 z)^7Bv13<)}{tWS1Bw~`X<}EuOyJO>3nL~ML6L-aHje6EmyuZy}8ldCmsf_u+wF2pGwGV}U+ueyS8NCKHJ>%z?ce&>Bzk9x?!(}xDQJx6 zh&>Bh_=k6Rt!-+!U+;IW27N;MW4YxgH3)(GDW`c4>0d!hB*aQ7sGM@d+=*gfH#b_H zS8C*noLS1la~hp=+lLubU9|Xb6a2q{%Mg?*8s8 z^;5$h9MHZL_*t}#EkjDt6C{U*+{2pu_WhpYW8;e{BKc$)$FEBL1=WLG!6anm)eh|a zEBD?O;iy9h{kFG9!e{x6mL)<5m+3c!pZAVjGaP5@UAKxOU+k+~FU#fs07~FA*cZ## zoNQxV?xU$%&!t=16>Z@#eJjWC`iIpss*sPFrhog)9A)HrOfi_QfsFizs1@94GQGz5 z2iyx>QBSkXW|Qvr1Eq9c9n@oc#*B<9^sneFWiM?>$H@39GvuhGih5k0RraA4?Co)i z?BNSGjWf0|t&S_tE)15M-P$1e9sdB8cfK2F=Fq2(L(iCSEAU*ZUsmErOQrt+L-Z_K z_Stfg#v{i07~mfMl$LVsy;e>YPeD{})W>rn=rO>l?E;T3M&oZJSM&;pG(3;aDlS=? z`oxbOs{v9-c)1;_&xYUZ+Lg=`H^|X^tJ@}>c#7{8??D`4d91S`H)|<4$pa(Ozn*xX z{hL2ij+-B);(LUvU z#OLJ$(!Zc`%HG=#87{}?80e~X+C2)z6*O5Q4Z9$k#L^TCS>Sx`TGP@T%0wff;VQp^1|qxKtrrA@((rrC2PXR=a77?=)6-G zn{1OW@BnjMRI-sJoUXfZ+*e!T66vBhl6l*MpK9~y?qs>s;tsedKJ|Ysc!7YG4B=H> zPt&p*{?`WMVviYq}{{Wi{S-Q{(e%xc4*0TQqkYSJy zQD4>AXLuv>se7ew54$$47#!gKRiCdw4!TedTQzq=!fKm|#tv$Iel|@_FNQW_7_Z5E zQ>FgNe>3YiQg*Iv_*zI|xLXMR`5ivBTg33BI+TdR=M`GPlHX9Zy$1~>il^ya7mBTx zO-=3x8OGm!D~rOs!`e~yU94%v)W3VodG4Jc7e*OA8SP)RNpwCvM?u~(j7g$FC>+EOO6235K93x|S}+D{w$&kNd@w|u zvMUm6k+O;zG-ix&I5qs!;yU(Oq-MO2)A(v!*hdr8wOFn$JT(QxV*}+}isEhowTVoK z9f+(JlZMYr5_{A!haep=QLZA_R@qT zkXser_!+#*nWBHbPx7uCN{y^_Yn?RmRAhcN*?1JJ9wC_}>RXEbQ_AZ59QpdQ^!#Lb z^8Wz1%hlv*H3_0&j4>FjAc6^12T(z+-Bk?QrOeXh6&-;0#bZHqmoM@UyNdp`%jbGY zpOVkw09Q}q2m(N}oC2dY!^b&_<`+@&mKEN3j@Ql8?QRq9k;t!) z@T(mZ-5*oY;`nVNnzlBYm7xVf6+J}|K;b^leq}r#Kr0f;_3g{SZoCuCUW(>&HjDx} zuiVtp`SI0WS|nZ?x`jFft|IAPO$Id`2EkpllDqg~?{{65=VEq!5X0OuSMzU))cJAo zpPBl93eWcrC#mBeA48lnfzr4W6~wAow-4)G=AVn53u=t*O5u#nmWorgW9f?hgM_MI z0Zp#Q#%GGymS)1uYR>`ZHPGpd5&XE$H+HOPV_E)q#y!n8%2tNvH7BV6V!f==)iBi~ zb$Vp>e8De6_YT=uT3#Hk`){oDe%UwY(OfjgXS z$3QFkn+;aj-6}G>ICD%hI?oI??+!Bc z1=v>|sh=+?>C(FW1NR;rX;1OF#d6xLeqFqBbuXIx-V>*6x(AJkf94Mb2`4& zObm6e*01;_7r|Ne{{W0}{7BSptzSyBw77%pq5lAWX29BZ{{VCm&3wLhieAc6>}cce zAFp4vrn_yW_*+fW?oa??jy{c2AzBH_4W;sX*X+;j zjpAwbpBP$rO4-pC+E~iU+#ur|*Wz!+U)iVP#rCb@FB(}}rm16VHva(h6fzyXxE1-v zX$el2i1jjwMwEGvl{9^kVTW!jrMA`|OO&|z@;Vyx+2hpoiTsQBCAE-sj#Vh%k;Nll zmigG%#MHvs`^v}I)67>QJvwh0?@y8;`ByzRiS8YXBI6yp3ghmt6}-Kide_%~0DodX zi~j($M~3e_SK&`0!otdN3md@6yCXZ3)KO0feT-}7N}PGFe8DG(o<-d6wZ~w16fo}u^K%{!BZ$_?pCWi`;x>^Dt&W>$B=cs8UnLF~9joYF8^_j> zK>%~LnSeZ3x7_?I_%~s)3kz9z`B3qYD+k2i41ONznq%s)Ea%Bx>4xq*SHJZ}t#jlm z*Y=fpkGKB-Vi^}!*L+8L3g#%1CJaUoBELlMC0L-6UqIb>=N0+2`vU74f7x{_p>qnp zqNo-u{Qm$hF<+tHD!BVDi*Y*)g~<1=Ppi-CE3j4NvH9Qej_>W7ocBz35XDA)tL3du zMiz494pi+vmGlS1OO&4Cc2)!yJPP^u#4(ejOzXzQJuBIz4ojQHR*jF<582B4OV5WE zt103LBT#<|x#Cz3qv8nBIotg!jQyN-C5PdB5(XF$Mjt(nE3JUPp4U;-6*s2O7LsvKNRV3+f2!D zGn|aoG^*3(Hm3DHNYpI8%;ndRde%!Pn4k_9xvxa=E|k`e@&5n=au2n6$joi!^#Io` z2WQI8xox3Z;@q|o4$!<0rD1B8>h`2B-p(`aT`A?VdBtbk#!CeQvFX$4UW{d>j3$p; z{hj=GZ=>8z;jKlym?KZzj?C>}WLx<+^TZbzew%t%<;CJnWpc{wcS3&U_!(_)O6`P@~ofAeYYxao_ z;kK})C(X!jvE(|kn6HjF1l8+AJ2wMW{6f*4ZS7Nlrl+@3ics=%#b|7{G4*edb;V@C zH`y+%W|6pAGJchRvcrq&+htHQ9sQd+Xw)$IHTy8(=@sVBhegl%C)UhM4khZ{cis8Ij z7>7z_la4q7yFFr0v)MG3{c**3{-=30(rmbF(LDm1)Z6e(`z@Ly)VZ%nd5T-gfaB$_ zE%3x&Hc;RUn(j3zOIf*3m*t>UcRc?0Qfo_>5sl1!E3EK^toKs=qE)XpM=fyWj&Rto zqdXU3oiIqluX@b4v0qkZw6WU1bn#qCPa@5(81ve?pA=mvnQX^nT;8C&?N%l4fl+-; zDX(<)kB6}Rs=!R$1}UC7xcfVfa64A#fUSkLl#zOYT$jYB*&tKfrA8W8uF=o-j(bDa zyvv4#jso-}y?Qp2=IU2MY;E%R1F^51>~$ryxD2Nxn)+YC(U-Pav%`$l;$DoYs~&an zrr=s=ra*S%wQ>Id0rdlOXLgOrDmIFb3`#!F^7QIG{=e$UPOg;nkaTmJxeIwAZs z>Yoz>7lw&YLmXGk{v)*#+xgo;ke>DQ?~GNO!`M!v918i%QMYM!p=@CEHOGMd356}r zUrvTgOG5tubdG|(Z^IXleW#Nk3S$9yuQ9pEKWF?nuU61>==A+HN)Ppl39hE}uvUrY z-ZZe2?I!4tlnhs$coy&M{{Rr+!)@IviuOMjO&GRlk6yL&$A%>h@iNb8`?IAHh3T|( zQTQx=n!0)RM;w+J{VU?1i*bFMRKOca75254`h?s3OJ5#*ZMBg#k2XQ_Y_B&d-N4J? zk)iNnP;SU03Nc+@#!Du6zS5%s1$mFc4NJ+qVB7m`YFe_TaSX;FYMhF!Kr)+MN$efH;>)|FRmE1sPoZL(@D}>ik zW52d|#s=#3lWB=rTkh8t;+-!t+dO;#b6FZh`cFgu0Fi#v(8jf9-eeOXQT$k{I!gIo z8@KZgKXftqR9ZCYENvnF2BO~UIpnV^pDg@+b(6)maH;#UpXFY+;3z_AF~`#=y#5v7 zKNoL))#Ip;9POC@04nzn4M<_rA=r4>wCa2(P5%IPW_&`^;hEML@tTXnq*_`>W=|kh z9}!*o*M49-&C38yh#UAde-iwo@+4A3+Y)}eYE!%i@AP4d)FK_X3JyPygP1^ z*he!Al>)tc!|xo{Z3C|-rEtC-(@b`VWEesQE7Po^iYOL1K-_D#ln!|wG2<&UVSXMF zg5+R|k3^n!xLD>n9)`OA01(>wx8La_ z0rAG7{z(jzNHV^ zN&q;mzZf$|Kh5%~>0WDNzVBL!(%+dMu&Ho57RRypH$-iBSc&3K-3I2q(9`tvv$jik zlrF$MtIWO^cz(}Jg&3|RBE4f&xQ^X?$qq0(RxyR8V~$ePr>bg@+QH>yD`TjyC)71H zxRHwVUbR=my2~MKoGGs?zt`oGAG1Pn&uZz5P*yGoxp%C`bABzOQJmttWq?6xoNXj_ zuM^RO&#t1e=XHGns#^IvU}fupP?*mt)$jiRdE~Lc6`OS(rS-PO;Hd3cel3*7z^`9w z=D)Vu3tYxI#b;ivjp@YZHA{Fj`=ZP9F+DL%)u4{r${Ux?3#nn)Ek_$%>w3HvkgGGh zeb6h{{v-G~?fg4qZ320B5;SYMhXXasqS)E15@@zQ8NJcrySIijxN*SFN40$+;Qa!7 z4H+(NVpL~c%8S5i`Nu`@E$4^yRK1!|)5140gYy0YzLoF~j8|FF)fzIU)k0ubP97}d zts|4wwNq!P8+nvA?zygWQq%1<7Fj&C`T<*hEw)zFw;;n4$I`3Bzh{63#z3v=Q$tS4 z9EPi;>F`1}B8TIkuP^xB60d=FgOimN>3ZyvB!kOfeT{kN#@LwnA9>miM+50zCUTOb z&vPZ8`$9iEY&T|P+(t9Bd)4%}nV~M^~@h3Ngf~mHJgl^er;sKh%$=E1*|J zj|2*l)Olfm#Ztu1I~dCc2higr@UE8{f-Tf%&{lhRYe_B4EB^p|*Lx#;oA?9Xu&28m zgdC3ets{)6bIS)!bUEhm){+-`vC^5CFF{OXEh?}QoKU~nl$T(m&@RTP1a%c zc$Y?`%77`!ttDeBtc2pTtu)*@EGt8P-`$|$YcFiY>=$EKa-s%4l@Yv=xKKc(fhCnb zarCK#ZIGPW)s**B5YD9$U$wf_Lw`@)_eDDr8O zub*ddn>z&}xR~`Nj_|zEYF;nmIchyoc38#CkvnY=<98QQ{pTv57xQ`MIucV@^$1 zTdBY&CXPch>J-=X%y9I{b;}PSjBRXA?c$XZd7D)62LUB{@SlnXdW6d5^M%GB-Hfh-?%j)JCn!!OQ0Q_`ga z%C{wt3^*Q?)IjGg;+@#9sI6;R=CzMw^Pd^(r~d$+WPX)PNsuht!2{;$TUxsR021@S{5Y-&D>Jf#)cw2thP+p7d_Shf zWdZO!z$@$D+9Si}_rs5>M1#mFmLk6){{Uf+7Fby7&!=9@cSsdtT=&g>+4#TB)cgYW z?xB>#Fe~S=3)$ink5Oum#z_fXQe`|0vX0cqVUc8B>JDnhimete6*(thBgL+@HcNcGfCW*L9zy|E<-m**F;!iUmxWSmzMD9tj#f~rgl)}Y zLvajj*&L37x2{!&{xQdT=8BESrfbop_Bg5)CzYj_Bw=$>T!oG?=~A!AK4r~OmL@H` zJRa56a|9?L!^bsNAd4t69iUXGn{uY2xQmS9pbak_+QY4QI$LtN1sDP=@_WTL{{Yzf z#P%>_?{oN9>$Z@KeWYC2OUN-c!SB+)GX6IBO*Bssyr43)vK;2Ve=w(MT=wuY_iT9_ zGMwS~HD~WIQR`WWCgKzfaaUnx4mija=caZOIA~@E74$#BJ#sw@SVfZy9H%w&y~M$X z1Cd=%hc!u{)U8Bp5C%|lS=2*E>V}niV7p6>f%+Quy){kB3#iUy{R+xDVe-tHo(}<-8X=5gxl?DckpwWh-0LRyk!EBl080 zdNjHQr7SAAkLil@=$1XrCOAHo^v}kvI@(*7lTW&Wc)OU`8u>d_@otOZC_j9`n{Plt z#d|n;Sm2!_qg^^MzI^A)O!cmBQt_XIw1;Ret}!C?z!mdfj6N}II;*w5nesvp7#KC; z*Vp&@jOFg#i=SHSc$SKe5i{;q_=n*8hgkgVq3?=Yje9}70BLt1li1?E5JM{bpuJd2 zi`!=16p{n%O;6WK`jS4-mQ__bZ0FGCvImq~%tCh$YWd4g@!qXs7CDJ@73f-Ljv>3+ z2@9WIDXQs{EIp4=w?2HBeziJ-9GK{}%v)+cbb!Xg1a_{18Fye32o$-9O2=2HIo>nS zbgqQ`-~p~S30H6mc@@%I$fFtNxG_gnBCm=NtT0Q|M%%0R%l0+C`)|R$83EwifyZuZ z@LR;2PMziT2anRfY=2=3z&;t-TW2B&lyhD+e}wgEA8X#nADAP4pjSOCh8c(*0OGpq zsD!eK2c=_N#R$kBdc3yI$PwDQ>Nb;GH{OwXABA{rhMsJ->EM*@9$_QsE7<|Vh4m7MSswG2d(O+2#@i^s}n|UTsm|e{i-mr20OgC+!&A{8QgPIeU3RXG99_-J?b~M zmg+^JL}0@4im3(f?-fYk^{oSM8Oe{G!=)fO zDWr}gx)Zs{#YtxS<|0l{YO-uZb1`Bu=~U68Tcz^&$6AND9eN;Wf^?-9QNg=+4URo2 zA`IvV#xYdxN>1W7;B>8!+b2t(IRInHsbj)Opm(SZvZxCQ;c94LK4<}jB#3C}WN8sq zV;fM4t9NdO66$hCOw_F^NCKWn^rSZJDNW~UFIu3vm#4h39Co16`Tg04ZQ!7Q^E zVes3)98y8!%X3lL8ePql%|3bN6NAnBeeD=FiLa}Y^2 zqdb|9J9}po0nDTFMln|;WC#%a*&I`Fvau_U2SH4a_fjmAjC)eB8a6h-sgb%4)g#Le z1ZXjywOVar7*ooKa>l92cob!N(;HSPTqKcP6o_!$Drg6lGX1ZBMKLDbAbGHH(-pUF zmbbDh$T|w1q&H-L|I_yE#d53jQtfS_-<)=&P(yJ_+q3;E`xS0~J&qsVr5PVeX!&`i zFM)tNP{-;!<#UAN6yiV_rbmFkFJDScr@bK$>Nuqb6b=Rj3O#56c%`J{wL9rSS^)g1 zJ%tpstSw16+l=!}1)N~^=}A&3AZ2O`6VOtEQ~6UDaBP}!|e_ zy!ucv%Hwr9OqT$1DZ6)m6mH4%sgMp+k9r4Ofk-;@#V&TXSEWd7NF`)oq-L5+d6;e% zm;*D0JPLE1kPk`&rHKQfBmuV_DF@DT*i*8Y`9%x&eJBA74@!4VDKI+vQ*uuoDLWO? z!`C?VrQ{Bj-L9u8%}6ri2ZAbCa)>u)aqZHVIUbbY3j5OS$jfm^k)w`9Jao-9c*c5D zzz%*|4J!Yq&9|_r44Y%;@~GDvdUHt)p~11+rAA06ih7ORDR8Av7{w1^ zC(s5lfH6ukIPFQEIHVhoK~O$aD=FcZwM;n}sFRKjOVgzcT}1>c?H#D&0MaT0%{+m? z?^m%+36E|m)PV8LEkM!~b)_D(p2C-=C=Ga5~cRdeUJ>BA&ot73)IKs|^a-$3adZ7v=9pNEBdH>Iinga9rd8 zN~#at7^aMOpq`kiEoiJry>aPF%Qi(b<_B=^OOgm>sbsdg4s3&i#YhUCl&V%yk~&iW z0Q|IySFry8m3chSCbf=8dPhOPlkUmjJIZ&M) zMM_A|N{L4An2LB53#Er+(~oKtatCTT?@B3jE7Y542ac3006D1gR-YIpa(Z^C1-J#> z_|%ykAniy27~`coXdOGyTLe7g7^wlrN?;W3gNjTLq!ZGf1HTM$ij7%!1vNh>@Stcm z?L5-vo03mGDohW;vndGVJY#J>HVQTxW+_UIyS+P5%Fzxi2hyHbI46NkhistaaI_yV z9QLRIe(pQdww=4Pib(U0X~T?@(tsbv-ak5walqz{q^~C))T!u4N&$`-0~CGH^3qd< z1HP6N5sVseTwvyu6$33v$ip!CYcbqSrCU9z!0+}Vm9rq-A3;hE<;`XZ8g`d001g|a zYTQGhc%IShb^A2DftO<;1CVQ&Kf43+t8h-CaGW2fO69FhHDaSVLu2ws_M`s*f`4CW z+U?hkJ`O}y%6?9n0u~|9B!lj2;0-o^8T>BsB57VN)8^Ce6~c(77~hV}i_L{)@tg}0Dv?hKj<(ygaB&mPq?b72`Om zMB+Xl_{t0IFliSUCK1beiu47Z7-4y|=(89?9_Ul8rnQ(Y5Nm|I)O*~1$5FA(YRJ+Z&g zZUG24WpU3Rg?!?_2V?Ozs&65@crCiCDH&W=$B4Wet9TznI)8_CBQ2WEU|{w%c-fy?c!R_i7PeA(&ab_2ial%Qy;D$){LdrgB=UVL8h?zM zJ^Th6gvlND_uEuxetH%#wPH^_vH|iTgoows&G_S%_Zw>x%c!+5<>k zOT!CtfGLf4@O`WE>dH5HMi+1$MHq?^9$$%`$LQ~a{{U(&IKWd-e=WTj*LM%?6QoW` ztcw^w#7|oM(1%U_(78`8F%cNf1$qLBtXd?rwii2b!w*XHC5NVcO*}-;(aj6vZiNlX z%x+WW#xQzUr$_OtLb)I7(C6O2Gb7V{N2;ij*2Q3E$I857q#hdarMqTQ@egC#x#dEU zs;N-@B!7v%7%~HKJbCTSL8y4kO4O7cGE_+uqXS=_HXau7jJHcNypt&G$BOsg3TWD< z)EC)>{Q;>|>GTIF^*wJ^)vhiOiC=V$=~;2fc(DT-wrbnj#b*$j@qpSo=D96X$5y&@ zo>rcMTn>1x;~NvpC(zoET+DXdFAdZEnye!>frE|Ix<;vStU>mJgna+P6t{< z*vw0ZUZaEjsz|OrQg-ku&nC!=2=aPWds~K+_g+}Xf2B)Av2G9UO~?QYew9~9(7avZ ztAl6Zi#cy5#&I8@s@m1c+b+zO&jAPJU#35?U&CoUIiX47eR4DAOw92Y?HhEjLji#H z@;p4#AN6Qn=fwIK?5*){#ju$*I4(4=?s<{*uW|4n>=Ua`Iya0pAlCiSV z=LrfgmcMrugEqZ=G1;G#cF$`2S{VfeyibF~=hf%4JdeXavj@RX2*jx_nGMv+KK^@( z_8l@E55u;>=IL8VU4l6LsUz66OJ8_JU%Dsv>3N-eKc8p{5y5w ztHQf3VraPl<8Z}dp#rYO=0tqtILD=BQYFCtbH8kF*+*XZN#c8*Q%|&!w7KMFid9S_ z`s1~Jf3h;Smg59*U)d*&{1f4ii@p}Q@UM!kl0h_OBAI|M5nK$JzUn*!-B;N0;ea7rJfslY2FerEc*{ zZss`^(;HZEih?-%ipvL(D)Qw=wy}_FLpR8ONmf0Z`FO}o^kTWdrvD*})Nw~c_xW3_%d>QJqf{I<%%MTv@s9UC3%=u1rx;_t+{X1uC&clb%+;9`RtAzxbog`P9~#8hmN$ibq!_nV=0mroerxD=TJE2EmpT*64C~J5 zM>|K-zQ6Dn#4n5bt)z`(WA@W*nJqKmp4?a2_;TS+a>GtLpFN*pwyz$ClKdyP)O0V3 z7P@OIMLZ14B9X{GmG`~zoJeF6b%^%$uLpQ+&g%$l9g3Du07LLc~`K~gZTCj27smvsE+9+bA0>_%_z!TcUi~ZWl))UKgNXa1e z9jj|V+S4RB$j5%w`2JTXgU_EbweR_#Pl)~YUYaxg2{K?lf{Rc{X)UJ=tQnN4Wu`|i`uP-2VHFHWVv#c@vf!8>z z7xwbaqBN**Re7#%&gcCu+#~$MXg<~W2NdDufX-u!TQ+`=luz2=9XI4!@g=&g{{WUg zUARA5%~=FUPB%A7?YvV2X5-G|{aWMeUV8CN!Ngr__q@8Vw!>4J>XG^8EppazXJ4dZ z>Io9(l>p&>g1O|B%@g2bW_FKC((wJut2MihLZ9Va{LU>M*CYmG#ePHLj$Ihao*{QW z%Y`vII%jot1d@1i26i8Jn)9eEc3cTn@IgFRqs=Uh;rn=@UEe9swQ+M>wiSTD{wn{3NP*%48GZuzYX@+H$g-h*qz zGxe?xJ;6LqTPUTs=x@WApJRzfL8BCo(Az)p{p#cO$fUEl!06rT+*dLtoR=B-+^#VB7sjH>18#|?1=Z+2Ez`-h69sVijyRcD~710O-Xe~{LZYcE>gwKo8NeP)x0v$kCmh2@~(- z{@(zT>0`y>8XTCG&S>G~`8{i((`1v(5x+t)ip_w;6c9dYv1raOlX3ZL>#^`vD9Q}+ z=xI2}$huFl>r>ie0H+n#_(goVWs5j6V->`Bs^CZBFv@vgqPmS1=-XeyWFLItYx$qq zEGB-V=6;#{Ob5u1#FoBA-_OZC1y|E9Khd5na0g1-@lrcqMfQaWxiY8PxmcJ+?Ft^E zzo>HgDN#)Pw-XypqHA5Nc3Epv#F4O$5CMm z;vNmw%b$_&aP?kF=*Cssb!{#_RdhJ|SEKln)+?)cH37hnoL8CJOs3Kol=89x`B$fE zF0=T2Ne(szug$zIs^N;2Gw3+Bo#PoJ%;aD6kundI{*|dKB#;5og=RzksE~as#50Lm zl#Wz!U(nK-@X(3SLy2@Nh!4&3aw~<>*b57lV~vLZS7)N)=Gtpz;FZBO!UB-o-CC#c zwk!GT#Y`-nc+^X=`UeWtT&@SE_y>DYs63eArLD;hp zD?Uin&d|u&E6ywQpA8%S%z^XVMFkvFGeWSB1D(U4!nC|CCd;Qr7~u0zl!`YCyYQyO zzh=Ht8v(J>zTYsjq|cwFCC|)eGRq%~E+k=vWf-lk8gn0s*KZqG)Ox@AHn@exH*M#& zX4^T7#A`0^khc~5k&aH5cdnlC`pz5Pz-id(yi5U=na(nLis7tc^6p)8ob<0l*HuJf zYk~3=;=J()X^g0Lj@A8BmQ;UNhoSj>dTZLf3!}^z11*3!tq&Bb{>zGG>y;Ig0~uv) z+$z^Wb{A06+BP^;#y<-At~7qrE~ypR^s;)qxP)a&R9MG2{v3Xl>9fC|;foowkji+k z9Y&UIEWn)kY;t{tdbfw38~*?drMN#dY57;;z8&LzmS*66XA@B8!}BB0pXHeOTpF^f z-dS$==ApQbTYHyAUO}r+iKLGOc9J_+^t!L^BlA8>Na}Q1KHsHXTX)%vSDxA?_PVzN z9$c9GtGw{L3wh;&PCUxs^w=be#W$AjP9>4bgVMhY@j?wKR6hRzg(~XedLM%tS@gSz zw`Xd%70O)491u(AaOdvUmxCsn+gQ1_bA{O7FKUOzQ2dd;0_{9vzLUdT$=1R0c06t; z!>Cp>;zl+b4_3x2KGf#v6}TXbeiaRs)Z_r)ba$;CDE|Kd=TJvbYxK&G+-J|j-D#QL zB5x;Jjz$^Yz*5G(POWcnK1$T_rM4ErX!^6(R-wn(*P(24U(1|HKVhCak?ww{md(|` z{EpYf;!ipm4?_?j{uRL@ZzbFHuTAkiv&$8{U-ZE+e+u)s;hHH@IalP}*1w{%8qRoF zN%lwPxXmib6H5>722%^i&Ffls`)BaT-^fV^A4^?USFZEPVI{GiQJXD~!>0{{Uw<9Fbm&qr|i5Ge?e# zUxn};UQElE%=^wFSHj%$>%FY12cV`*qANqUsRpFDkTu8IfW{6fE+H!0SC9ua{V5${ zerp|MN#SCF*;lFJysFRT@fGrC{#!kIpNBqOPs#)3WBn`3(gsfwUpW5&p3h&B_^1Bn zkFnuBCVC!_!DUrJj%k|IQJa_ZIuFvFqe&Um6>;f`PY}CDsK~6jKHVxjGne}nyo|V! ze)QvkZN>!{$>Ov%1Tk2rsW>%aA1R|VFad{3&YkAFe=o2+SLhh0?%4UX{o|bR(+M_eid)2tvP7pW1}e6ta+-CsPNOlh zY{CBZap!YX@ba10go||)d!9o$EhLP4RsA~Mn-@>fM*_2+L_T9T0M*+&u?z%tC+>>= ze#1%<#=dU)A9HC&nnW`5DaWm8_+3DUGF}|STg~jP0PDV42!oNVPl*%|K zjH{$l(DAC~k&Yo@>FUp!Ja3`+H^TZK_E=PtRSH$62c5&dEB7P*2>0O+4v&I5=Z_xL z9byemdu5+Ih=}A@^NW3Zd8o_h-pbQRe~J3$zoQ@cCT72F;17U0mxr(AF}3yNmq6pQ zEq+5+FmG5f%pm?%I@47hluju0A?3yi&)zc9aI~rCajzGC#?Kj4#oBJl5u^t+E3>yg}O%O?AwZTPRN+T6+EdsJCcUy@fRnEsXVcaN@h zEkYP{*nVQ_xsdR1DN>7@fkg--8U^nIE!Or!9N zUYp@(j(joV8w;WKF>t?YwO%%_y?)qhpA&p5;*SJLsA#%`Pc6i1%N~C3*1rY(Yia)g z2?vNQye*|~vb%W|6{6s=uh3rz{4&@4C*cbzwJDuqhS^p@{p0UgI!QGnTbx&nE?@gu z;9tADcO5H?)sbIFxrE~mm=)gYIyL62bUw~9r=hMhUeoS$xFxih1M>6jSVmmUn|U8v ze#@GyI+uiQ^g`b(B~*`~uXwb!nCd@Zk1T<+f!GT9C-zymHqzaNJZ~8vg?+2x1d{t) zmgjCG3d>O`@>6Fsr|%w!ZPpDq#6DfC(!66_v$eUmxM|mW$I$v$x!;voS$pG}@U419 zhtFU6>CP&0&0@%&=goT6kiEB&dkXO_PTbnuHyC>Yx6x3lG7z*Rkr*b$@Dxo7o3hvy=mc}^8 z)}-)fh`-?p@qLD&a(ufI{{X*p!hu@Oq^8n2Ju8Iqj0R0P;lN;VkZYwonMog`S9*ju zdPvpnTs$+VksNg7S1Y7Em%+^a2SeKxL%^~m-wSR0#ttDw7#*-WRu-S)6~DRrF#X0p zP^(2*w|Xh3w_WI zE7O;|SxBewA2ayAAG7$P;xMFq)i@F=qYl`uPaj2(72H2OH%dtCV-T&|G39>kTb`!$ z{u7bKi;$pGQD z*O+LCUT@v-L9U-yy(_1*82Ru;WaP&*oQypK%e%iw84151VoPt2`3@$;(GenOaqY&8bEu0f~YViL64PbmrwQT+A)AX-u*N5&pcCQog@c#gd zkz@z__F9@>3pJ0zewt|$ZjCe5MSSP+{uV$b$H+jhq4aRSx?%m^e=6}G+7=w?LBRP& zD~Bx85hPDkcpt-=N?uzP;1>h+ud#Kwl3xry;haZb7yLK6hAYcem!IBzzny)tsco0T zZaZw}714-x#YV!dx$+i~6F$EnUNFYH{{Rq5JcNg-7_KWvA|DV+Wa+$xuH#g-X{AOV zbBxxtzA-+9?FKNm%FKB+)g-x3EjnVk2;~-w8prchtGlg&IRkCT`=Yms_fZU#>CbU; zdDx=44-`bU?+Q7<2d#8>I?;kK%tkBByjS8lH3V2~`E>75JJ{AIx?F0JN8#8ajk0{T z>GZC9N7UbAz`SvuDu;*kyX{L!gq)SwwdmSchVAsNK5LnPEMq-;Q>7(tQXc2SzBnF# zjh)X?EqjlLB$7QoHE+9tURijMTzKN+a_(O;yP58#wkr%gB~0G7DeN;?P4{_Gf$Lp< zhidT{`+Q2uhbMRbSYIwY64#TZ- z9yrw2TmJyEZt2#Yq}a-BcR&8v>w{SLmfNNo z9Sv|O^0R2O*R-M=PKA#HXs(*h{vmLfz{Ul0It8;_>8ld-0Aj8!vs+$AZb!^WuR@l_ z6FP4YX5Z&1B zb<3d0BD|ZycCp!b<`uc)f(Ck5+8URKq8cRe?aS=qzC-aAk#`2BE}+Uu6L3WrDwOVh z*P+{_5XNzUM+8_8( zl4dTQqM3L8P zMC^1e72&^Iw&8&sSG~-!&81-VBNgVh9#ND^q!2n+p~G;`WJ4|nD|kmlbIl$d;~f_} znlB6CTf~(q&89CL?lOaBhf+cUn6*PQ(X^LgH|yI03FJGO?pnJ;;SDQ-A8GtP9lWu z3696ou~WF`4r9_a+pAm1?X>+8aW|cXYC$ff#d(j%i?J7k{E$G& z1P{WyO(`!Yxly;}?_N3kN@^)>r$b=p60lnN{vfGp4Ein|qtA@7@!f}(QIGKhSL0s3 zV88~lEg3DG`Mvs8?>jBYbU~~vbnb?spYW%_N}87Y@jj6916p=R%Y9d4R1wdA^FM9I#z`8oVECoi9j~5YNclh z3>A}l_pYB(v}AE2jIVl*7=L!p5XTe{>6p`5qK)bJ3UXU5%LQ)2wbmtno1q;=HdvQ9 zhvhX~#%_&@{!DNM^s4W63vG>R!Hvpoe$}5WUSG_eXuBubkzpZXaZyVmO|&ZVD*db` z;1_SotgV{DLj~_uaWrPbEU3X`8&|bW!H^Z^wI_vVi)xO0R#K}#+k2iUxi&03<(JBh za9e?jw`r#cQ_Y`}ds5m!0o>iXRI^@fer|QK(qDBuF91I5_E9j{bQ0c;>3+TZuBibX2hkFj)owrmikiS{4eRee89r zl1Ps(&?=YOCyf{?^`TMGH)oSoa(N3fM~M{e;0xPO_Z1M65E+YddJ1ZzMpMJ7bST|;AHw>$ zcDc4pzpZ$mjX!1&4eQb^?vUvNuU-NCtJ|Tv1pe{aJ#kkeyg>UFX4_p9@pU3`RLh|H z9|P;(vww{2u1tD<=_2gPn6D}E2gAP`_+0P2ww1u|w!c^6){-BQoWHRYms5CiR*%cn zEhCtoFw2_s>1MK9o@H#74`hBg$E{piI7{QOp2oLg)U4)=Iyk`VU!=O%!B2-CBPG7g z6}u6}$otoYc$4-|^AY9I=5!eFFKYR zfK6a$$TUJc!rh6h$s8Rj#-R{fWibw&YdIMh?@q&-q{YZtxiM`BokddAZdoH({kv3~ z;tjcZW5z0-=)&b|Rk53~lMKXN40LV{cGjA5?-MUiO5$wQTJ|vBwcN>e_Ud-1+P&y| z3MG^V3!THJYqgO@#hGLM+Vi+?qMU=CYpjOkwUAXl)yGmMw54WyC+yF!+xUOS;NHoG zGAM)nmapjJ!hR@=#XbVyjqpMc{{Xece+P{21XHSX|>wXiq zRbV1`L40@Oyo_xd*`AbZ=zQPtI?P%4(&uLxE%{eHZ+Bpk#~$#`m9z2Y>S5vsxsM26 zkHWkf9cCCLG4J_@B-hbp>hzK2;%csA+wSg{$=$c87^lO2utqSO`UB5O@!0%PJDq^# zI(pZ0qP*ITvGRx!^(;;+y++3$HO(zw?CwOcy0-2Lj@8D=7tTPgo^4ygRuMEechRh! z&PNsFy1(ra@Poti%cskBUgiU|;xc*qiqTh$R-$xd_D6Uvt{Ha5gyY(vZ945#7L1nu zRp2xJ*Pa_)!rIw3kGgiAYY+Y!+e<9O!5_BnF{j)X4yR-7ZwuR8Ti+8nF@ua| zzEl0D{2wLE=TSq#lE;eW;r*_!)p=LZX{;?*z(Hs zJu2pxZ1*lap_N~~S2c?}NDzGZW6)9q*}N0`NcgY8J{?^a(6daePo1CP>@n?GI%x1|dMzIKk43K!Vf9*d}aVEBoto!6Sg@A%{SR55&5@$@l> zqt&JgJ7&E1XSF;)=cQh&VwA3WBK%qL@}Y@!S$3Molf=^M&*p1vXKLjCFC~TusL5{KyH`)PW93G(7?5sSfutmE6`CY| z^&psve$fSyYD60`fmInAFWxD~(yzo4MC8+!BqM7MDUfVq^s%Wcc6F4J#T+F(0XvYYo=kTxBZ}=ycu-E<)me8HvTB!P0zd*cTPz=*+=%V?btzq9^tocaS9CM1$w^*f&mt59v zppdT95W(+2u4vexYdxo>W8Ymz8ko>#v~6x|!7cJ>h7l+DP z(0Gx`=jHm<4Jz5~$ufMtl{Lw5>yC3)BTf9!%5D1$RZIE*0CtgFr#b6YMa0ozv%smY zt|Ok@wAi2s09>VGZH+?KJ5d06@j*nJ?qKFYM0t2 zow58UwM!+S49t!66xhQKFab0ZxqTlhBW~R*BH?`5zJ7aRwcP^1f4%EiuW*Cz^7ID6 z%CYS7zadE-yx0OBF;;CAUQNt7t0G|p`%egZkwIhr#C)^na`@u13;|d7{1ebtq?hM$ z@_uC<4Q0slT*CiW4aq^9BH@JjQ1XoM8PbUf@G{1W=98 z{H^`k&M4At7bB?aThoP@hK+LFD=zU?G}$5Mo7fC{n?;Fy$oK-OY-b*|b;=RtGxhCN zoQNa9IL$y8VM{%!=KbN)ty00#;?R1WAw1)8KNL8kIPMWZEnpsS9_ zA4*-@e)oQq&_M0QOTH#vdvu^f7dhvrwJt&(qKxsyA1-=l-ljl3n~q1`rTeMHHHSXA zqyvhPvQ*`184F_-8mT{p3LB{JKt)|#lLT;Sz%HJp)(hCR!V4~ua zU<2jr-hq&K?N05*0Q3ahr>_*_%MNLZG1i~QN`_FU0Opi!%``C1+A)ek9u%LKx2*(p z^riyrHjdQjmA{Xr0~8EW^`#?u`A-zw5yef)-#{E>QmD@clirkZ(u?RH2yiLnlhf|f zI&B%JA!G96<)oSt?kW&Q1u0|FlmHa%6p8etG%gP83Vy+ytu&GRJPHT5N^CD-^iW9j zq@+}2wiccbYH1jtVu7SOos3cejyh6>_svT}vSO_+K*njmN_kMYKYQAwN<9YUm)f2c zTyCJ?kC;-DsGM}EY<3N&KGd!}ymtnZ8`lG+BxQjL1I1 zb(t+6uc@!o{r2>?3z^HnKx`~YO zQ-BEa`wEAr9V$S-DBHy#umZ>TX}}bUoNaC~(vF8cDc!SKmXL!u`MY$bQ_zZ2$N*Ag zD9dq3E?G&+8ql=VS~)Z6=~)XTWC~W=IadfNDo(HdCOWO9WY zhvVA6HGU_4#oFhGF6GvKAIvXJE$cmQ{hXaml$;RZ=>qk_2 zcwEY@9hvwUtAE08;ey(Ki)9tiQ} zgIVg+iWV? z=;Iabo)eGZuZkgmv@~xhz{c;=s(Ab1=Yy?uH@nf}OKXwJ^PU9|l3Sx^XYjMe{5u5p zw_;|ES~owu%H(aYVz9T`x;)zZu#OYBC8f{K(hlJKs6>uCo4J4_p#F zSFzi(AGpT3MDV4Ic@2D%A-eVkiZJ$ z#A0+kEUt~@a@t?QYfV*J?$`(;Q;ZXWYtytJhuSug613{FI-dO3O{Su5c$s!=I8b=a zX+dn)5)@=9j*Z&98CGZ6(!pDy9M+mlC=4j=O8#XSB4MJ-2~C z>CJOD8b5=elWgWOj&Yjai<%pLM}TUcD%P$7u3eKI1$Vv!@cg>MeZN*;EeAl{X0-Jy z?*`g2ND(&=yUkCeT6{q9b}f7%qTJlulYt~7iuI{dt38h=6^^A(;?VDI{7ImAa@4Fv z08xxr5jVumGUc|2TiAiYuXy-<`w)Cb@wLm{_^xNu?W69F73MIIhd#AMg8LnE&<<*|HAhlj#`O23J;)`3{zbAmHjSKcqPw2XNp%x36`_nX)X z{ekfx?33^tQPT~Eoud_>JPb8~eLCQXt`>4x3d+`*r&_1++Q_g>9h1sD>z%KbOGV1}e3M zr-i&L43X$IX>Miv%rV-t9(J9HeyyLtSJq{jOejTZsq%TIZt+h21Ze_rY5^$EN>R7J zYETe;-u3L*@i~WX^rgiZ6x^C*jwG)FoFw23bf+Sf8ESg%Cy_y*yK(@|DR$ry)|ywi zJt8j#+6(qN_;c}7!}ofwho`N!uIR*hY7t9) z1%En!6#fwSli@#$F1$Of!c;>019k)d0M%d9KZ?I-%`?NAlzM)PY;U7y5$}xf4r}J$ zk6!?E-;Zc@(>z*z&Bj^$#mUY+t1K3ILk(42_Ar=wmOq{o7*^UkQ`Q~F3twOSPyLNP zBzP-Viq}ShT}sYC$IgmBkpSslS#|q9{8h2Qn@YF~&^F9h>N#$GfUgvyXtm< z061!Jfi@P!b-J&FHD3?vZKZ3fZDw3$WE)TAPyWxggKwJSXY;SJ!_cEr9NHX@8x^s~ zh`0n()mfVzE25Ip*^UxrRrIQ|SwyHzat8Jl*s#&IfUENv3f@}~*lM#JkRdGNK9vcF z3%ibb)EOj&QP-toZe14U`<{>B?-%Ia9>0p>@)GD67Q%+&y~kYrr|&JGjt>IHBI68Z zOdo7lE%4j+Xz?G9w9&0J;>I4k9e(nP`p>}Mvk$}l0yUe(am9Ykf(IjJ+V=1mEJV_b z)t8a+d5%8=N~>#Dx*tAxW>1a(02;#C-I*;cT>S5bh?Vby=xg2Vz6JOX;nliaUZYQO z)yoj;ySV1Qk+s#d?J^Y8d_MrTh6VDI80ag>ej(qz=9n5r`NL%X74?~Z4PV*GXncM@ zIh{vp3zc~qa@^>eC&PVjUA2W`j@}He)d9UY#eOt+n(%5m_4WGno@Rf}zf?S5H~d)* zUHvVEeob8+(-!rw=Z_njrx?&nsy{^F8cosm&&)yEttZ{8i_)z}Uxwf{x%w1{UxwnW z+n&_~gPMK6QC+!b?(t~OO7S!>DXrLg@lPWhQ!$w%AMG#muhL`i#O0oev+keS{{X?3 z5cphb7cj>*qb#Lg%mAp0zK7CM-qP+%T{;-iAsIVR4CmJs&-^U#$|b*_h3jI8CPAyu=Av?$qki^xF0*=t5d_I zKBk!?4V+@KuT<(9Tm?B19Mb5wKV-RzY-ec2ekaB@!{-pGYixdllgrv*xl6kAQ5htU zKQJWmUVf8+*_34T;=LDEwcQ!K{wMym=klt@a3e+9N$X#;>^pJufnBDBPeWI{E)_M1=O*u`#K#$wPe7l!@ab2hfy zhuT>2oMN{$ss7N@+01`-!wM_)EY6&2;iVS4pC^N#v#ObqYQ}voAU^tSgE{(IpZU-o`=DpJ|IAERcl`o;lI zvN-E_5tPmMSoW(H-egi{50$E0^lNE+jCZIbjKp`y_!zJ09&UA^`MhG((YLED%ocG^ z82~e=Ii<388pWfN$CxvUhgv>T!5S}UJ2B`uuhxTJTJ499O6#dlh)t#g@F{GF?ex$;!(URc-e84e*;!a=Uc z{Qm$jp~+E_Y4=ZWb}dQFa&c63J2ke};vnH$G)9{)5bpVb%|FF}tJuz`2Wc%|BjO%g z8u%wsbUoe|t;d~!hT^A3|EuLBw02BH-q_C^j8gHeXa(aypPWFDjc=sj)HxWz>+q1y>9}? zLUh~Lo@*8q5!+MP~?h@n6pT9gLP6HspQJ(DS@E zwZe0G7@{At28pxR3sx7^w9-f%bzDAy|I3m@oDMBs<11J*)bD51t78x_JwEd|f&!#-EA{K8D5Oy+G-LUsEC@>NXc zZSL0E@_jvl?_P`GJNRU{eKo=PxW#aKj+Hb%AoGXJt%~WqD(Pe5ggN1#2im`!Fw%K; zaQ#oyE5qv;8<(|fc~bgv+#qv--k`E+HwGOC7&X!Oy4b~X(y!ffoYoDT5;#^o0Bibd zFT^UeV%KBy992F^Sg~zBH8hb%Fx-k~iPTwZ_IFW$t0Z|i_o~y#V7y6Jk`F;z{xyN- z(yjGG87PV|Ul-ygT&mz)(%Bx@4%Xzva+vyE#8GR0Vc<9eKU&lAiZcWy2wuc=u6k&g zY4-O~j6UW4E6}eL-RPF@CLeN;eXHd>Fvcif57hMduMFL$dB&X@c?>}5#aq*(3wEO) zDK)7LibjkA?;els$gJY;IU%POed9W1Q?2peg zRcu6&HP4qWlo&56I(k*;t&(pG$XsWyKAcq%BqqebK4}Q%w(V2P@Z_-V+t-i6yEuxS zuygc(kh0gyU3`x@(9fA->c7AZdUk`gG#iILovY1!ID}i=rg#c@{AKK^%xwG{&! zF<;Ky6it?f!!#p3O6sqA3&J2J^sdJlJXfAaCz;|K*F54$0I$gW zQU3sROU(No64qx^;V5Lk)R-ql#(tGPwCVk@_Q}e|-Ra%|4ISjtW1`hveMrBaXukU& z%Abbx?SuIlaU1>V&*}^#Vk6_9%B*R~UBfSaDyd9BQsCl7=Cu4S1d_6_&e6qv-Zx5j zK5a+dJp0Eb{{Xctt=sOaoPJe<1)uy>)`=;|Dfw2{jIRXVCWhPr`={sftXmn;{8JD- z;1E5l`HwNF?elcy-2FEP4qP3NMDY&Awov%v8%1%^-N+=v3~lXO{viS>gUZ=EK~=5} zOS`s|$r5Ca)%%_jg{Ua5$IR2G%*I}73N;n-bHVwAV|d2$Qc?yOU7+Ar#+{&Q*H>ol zXj(O6o@&2{v~5cE?NN}Z0ATx9!12Gdp@Ww;hqIUaIMl! z{6g1lv<(U`o>Tt4$L^31Q(mL+hv0sp<1KxD+`DX{A)j#J$EAJmbl(sD254?{n^lTN zU!7O)F&)KxX9jSzYD??5r|zRn`#<(;>iB<)W0thB@TctK@cKxf%lm8Ow3rPckdNU# zmo@pf@eAT6v*WFDZASLtghc$YgYw{eS5fhQ;(n>)%}POaKba73kY|893<~iV9C6yd zd&C|v`ps{t;WUCfG7O*DN892xn>6%`NN=?}dwY+TIT=AeTvzlj@MFW4-WvEZfw2{$pGBaPepA&Vt{4L>SgGo)& z=~jMJMm{#j65|5DJokRC+dWKV`Krd6JO{+9e`TrZdX~L3O!n8lWbwoI{ITs{w_gT4 zOQZOc;pUMpkmF#0VH@u+v9IIP#s2^vej)gi#P@p4I)lJnyuU1tn|-VFKlU;GxOE>4 zc%Mt~{{V~b9c>}`Cl0|@UON2+e4E8XoyDH}$Y&}k#UH!Bw0^Iu=>Gr==eg1U0OR52 zNQlSqzXrVP;RMU!kAu$hMkBidSxaLN&oxWOKeYb}vkVKeNua@l(c)@pH#uN2b|4bLlZB$tG8?m@Do70NQ@; z9T!it(_q9%(JO3T4+o4_(ccXG1!wT*!uEb0hitP%n37Z*cN6Vj1b)#v)cW6x9Ve5` z`wJLQdSkJ!Iyje8nA4KdMsI{JntLJVF4r9md7qDGVX4SRDg0UVt*tY}BF|0xI^fO7 z#d?F>#!-g(X5kcdt!Pqfb4GiY?CM(8wFygMWS1+BgNpmZ;e`HYo4owrH#PIG z!7l^aX}%DKYnx*n*HNnydson&2ZU+*+v)MJ*if2yihsK>bJX;Y5EmAMXHqM|HT&3P zjo0qHW0Gs=9a29s)r%jvGArXx7VDcY<`WZKZvvbKe!_-Yngz-b~E9K_AMyD$`R;yV_PhVbt_#gmKA^ zoe1e%+FUGdQbEf8RqUFSVhd@aEAsKl=suO_dQXOC)paHTztP4?Zq?+&V{Qh;tgDPiZ{>x~YtxKuh-c7W1@76r2dG(2#O;*q z2ha-g2=!^~HS;Sz&))69^v!DcGhCNPw|fM92|+mQIIa&@g|GD%mv&n@$mvswvyF&> z^>vo1BmIu@A|y_%MSWA@{YaZjVEGKl3jHhd*TQ}zZ9XV%rTdA2&3(t<>$cUj$Znxv z=^C%hJ6Dvc^c6_dzB5;ebeX9iI(j8S&0`T z0A{>r!;pVxe(xR0ucmx&X46|6WnAvB2)VFp7myLiL&baC{M^2V5=z!Q8{!lZ-0Mv6 zr~#YOxrol#-WdP^2Nm1hS?U*8&n^5-8fWFmu76pvhwSevo>z+LRK3EfzK5D!vNNAA zrfVd)$pebfllbx4vDAhD8rq-2Z6P%FAKLco-+2CY`mf+G-1v6VKB1#upnYb zD?Yv=QI9Q``B$9j*3EyXIs?eS6|A&Ksy_hDD%{0x*9*fAYSs1EpQpR9`OqF}S7f$} z?8M;XrE|L7-`Vt;WI=(n(&sKZyPa3UT+erO>)C~R_lRx<#+ufHm*0_!^B;nCGD&AO z-Y~M@=DiD0LYMwX?rWx*l(l6|Ce+7lM5Effp9mve>Pc>SRUl%sVzw6chs@;THM8*K z`P%G+4g(71l)ffZz60nBw@WK7cnY|$h`uk%CDgvqob!tNE5#1Ur$429Pve(c%}Fg2 z=56AmE|2c{jOeXS!{N~}+9ROnjMvom2!FAjRqMC(>?Knmjw* z!5rkA)ZmxyP8hw-m~GYz&B!{}H?OFBt_~}?W=N1WGupVVTG_(2&sD9GDZ88|y#V_$ z9*g}ez&tWUpAlg`lO=oRp*f!2*U%s3UKQa>cK-l`{60SHifCU8I$`jiqxvkFiZ)*A zGhTo3w$$DDYCsn_=kl(P!#a#^>j*so&0F|~XZEiRT!mb)jlY$7IA`p!cJ5@4g8mu* z0Hj=7tMTPY{cG;FaQ+>VCGNHGAH(LBJ!{ERfF%C4_cfHv+CxO&-LFEuKi;X8iP-tB zRWWO=#?=p9W!>S7E*m2Pv302YtyHc$wLbL3u&I>cQk>P@$&W(a-lrX~fyv?fR`i&- zw~f(qrFz$r>X+jF;@T)a>Yk##%SyKUMwJ{x0|+a4&2pk%=Z<)W=0F56w|e2PZT9Tk ze);WQrLAa5_Kmy#eAk|9(U>QKCF&1aiA`A6C)pkbw2D6tLg+t%c&mOdyj?fLHxe@8 znOF)u1Weu@wo*9q)0*>-+6!EhP0--9wrp>F6JB)|-Eto1%GOOQ>#|-RrK{L%Y@@kl znnlhsPrB!!E|XXH2v{e*&}g zJw6yL66gL}5naEA>`m>?W?X^Zh{ovA>~&Upd4olECkJmz;_h6}X!iK8OqN85wY&Y? zV-?L_!)LL+%m(aqt=^F`gFKr`k!_w!Njb|LRZUJI49vZo6>?PBsbGz~(rR(BoJqIk zjq^x78zgaCri`UjW`q6y+Q4o|Wl3jkvgFWZ;f#wwfYm zUonmJ!kHK=UM;F?wsvzHNx@_sSD>4gme9c&`-7VBpA!6+xM9@NmXO*r~PSqvS^??#+W1gPX&rU~dqovNnQ_}8r zi}4&Qg#>o(U4`bA{hOx6Z)Js)<8^u;hV;lMw@cPhxUNSYwVSP2$ZiV8xgb|kM?9)@ zID1n1daBBL8uZ&M=;pE?O5*QqqWd`Wzt#@bV#@dI(1@hrI#W`!LwgUJbo)`*Ij=7G zhiK0d%%cGHuSte6B)(w#r=@aUGnU<<@|@#uYReUFQmHe-ZKd+rVJpEMf2DHT#hv!0 zd*xUcR$f3}-<5X$O0?Nk`BZU_rB(1Glg;A!EpjAHgppiSV{>n5WK{6i+AL)IKB(;@ zWDnl+{OjpW9qlc2(e`Cs?70}~K9z^3_(M(CyjaON2(cAAPkQvdQ^8|G9(Ahuk&%tV zq6+HvcG$tsnVu6R<=x%utDX2_2(FsS)j=f}3-54X3v-yY03>t7K5)hx$fiZj4a1}p8K3CrX>lA~9^pR{fCm)bWMIM1Q+rG2Xu= zoOM5Bia1x2NdEA_TD1kzN}F1>u56ZUAYq>8*0AQ%u3&7%lUbw^>}^EQTOgOI^sPv) z7Div20QRmxTHQpO9}v0fFFN~^bzUrLVd2$oMU zAD*^hFSx`P9CfUjZP{l#xfBr5mo?LoA(o}xAXGqq3M^z^ zx|p(!g953fMpovoFlLA-T8W*JLIHzLz%mpjUnukyuE`=Ojy{yjDA`8hxy@)Y6g#~I zBJ7I7#V{H}%{JyC8U#U2TioSbbm>fMhi*@9lm(FcJ9dZWlcDWTca9kFJNBl_E0{-W zk~lX-=1JSNCM96DT%#SEv(ws?TJFg|m1e#4?lUYR;n2;H+c{qXeQLLms1w0GrBK zhfcKZpC&-&nmor$=bB>4BAhX+6^P~F{G*ztR%nl$y-jGyQ*RZSaX%OpqGU=1i)-2A z-c^D6*4#Rc_)PBvdRGiCRWb?W`c%n0+0Nm!(zV#uw(M={b|i*<^n=v)0)~CiN|A>cx3t>AFF=NJ`L3_8tU1$7VNKz z^L=ynS&&;f(`Whu`LC-R%z*iO4t*-*S9ek1Y&adUU9ik5BZ7HsA4Br`0s_^@==w&rqF?XStZqO?!5a;J!9%J_gZGyC`hkkfxzPM8sxf=*JsLyFI0C&2 zS-V@D6|!hOk@?Cs$t90uHqxTwqpmBMySoW;9!SccabKi&-wZq_sQ&<}wMYl4u3q={ zeDLn684y@_wL&PuOLC3nX#q|O=TQ%9IJEtAc z@}E$(%Qt|&AzM3s;y|O1yIm2+Q?}t0K@@RH7k9X>>rDOaw#~zUd)J*>cvr`_ zGlp$0<6z^ZGsQ6Yx5F_k&kVMxaKA96^@tDZlk95i(5%~FX2&=tzT*9wzBgOw+F;Ue zu2KVL1aa@tqQKNsFT z+!v4t;*Tfh9joP?N5@)CoRVBzUB>aRK#lWpUlxxSc!Ob&?QeoMo_kk3Ws!+2#FOt^ zP_OLcXqn3o%zd!`0JMjPtYR@)!7EE23QGLESC{MGw6Bh}J9pFV9y@z&`-aup*!1GQ za;Yk-VrMwpVbjAX9R{c3jdxeNYs=fojF0If0r_UI9k-J2lE=-Yh9A><{_;&WvCYfUY06gxX3dYnd^w?MT5-&7>=kvI6K?E-~8#q&i zp~~{Jksskz!mQnmuVt` z8zZGBuyP$$z3ZEKcm35;c(1O%;GRpn;$E>lWQ8-ukUo|2G%@DQ$RL8a$KhXNf5A4w z+{}IXdf;#?GgHVsa|(|XA2D{Lpc$^iz^&v? z_N;fN2Hf&1KgZT{U0TJcLkT1}2OQL%325Rd(#okT{{RW=#Sky-9{Xo3X&Fb`fxsTs zd9Q4tKmZ4v4l9(f1Q~6R|&cqBJDkX@deq!>+u&80mA+)>Q!Ozm1Y;KnYvQKL0>|-Be51bm2 z??gZXoA|2{$6U=kI7!!!VNgk^q}YcT?b5o5<6Go1ZN@uSBYSLMxbpzwfHjkB5dfV{ zPa3Nxahk7hEOP`5JAPF(ujMcc!1SPHQxtz`+~Wfs1z88n=r}zMN+2^XM_*dI2bA&o zOuVfCLv14|+(rkzbkOQn#xb06#tmRdFaV5X4%Ich5Rvop-h#9t?p(W<&tcO8pcP%N z?g$XD!sCjDP%X;$H9@adIft0TAIgEVph6=-lahK0kW2P(Sd6i%Nh~)g3@?Tqs?jDC z#lg;K3lYb3_XO`a1GQ3?)zyoPZKg>aMo=SeD_+GKU)>e?M|uZh3t880&^f53o)8Ek zwIqh#-GU(G^{#s249~I7)hB~az+8`OkKBsTf)gUaoeblGr0QJyYC=v93BXw zz-HWB#S$JePin}PNf|PDUuxN(OL+(}H(u37>cQbviBHVksvh7|`&^L3s~u9jj(N7b z90Oa=V6a<){{VWi?t{M4yoD6rz+|c4)pPqLJmS-^P2A?Rh>!o(_aexv zhWsgz;C1{dv7mk=;}rH>3@<}p*zaTc?N~-&8*h4k)7Paph>l9CJv# z8d`Q7MaB&(@x?Ior;PTbJBkPJnqO*eJt^MxEN{5s^vxzI0i~sKu7f?lN>DM=iYOSQ zO^0;mmpi+0MLXul%RxvE(MH|GZ33H)!judVngoX^8TO@N<@3}UL!OI3Kzj8RG8nzM zqoCrO$9~kifgZw=K#6$SO&>2Jh2=QvDHAQ9YC+I&B=g#wy!EBy0A`H#pc=4sI27t` z0OZq!A=plpAS4Q9JYWuLSkPpeaNtq~_Nf#GKQZEvbP$|S03B&L2NWERXaQHPKLB!i zQwHpDQV7t;?@+*SRU_pUA3YBkq>p&vM@mph`ADSAB9S8etB^5Ba>E4RQk|ev7oI9^ z7C;rV^3%Ry)}4$Djh4Dsj?0Mrfvv%>rPR;7U}6y#)My)@M&H_ z7$a}ZkJ64EfFl?ksZ=R_-GHPuYYa~?fctTZunytR6yqmgIHu=4sv9X=aYqN*lfDN^ zb`B{i1CE*w;B(rHah}u^QaGeV=bqFFX`u1zLWX0-N9Jv8H%`@ITLU!@LA^xV$OD>` z`D9>m=}~>w`FRu~rD3ZM44eZ(oE&zgQUK&pw05M~LymLB zI4}qK&;UG9oQ;DOB3cqM@$ygzTn_ZXx;4P&k#PLC6bzJbauNJDpdTViUG$;Y8F<( zv zXmOKH=;3}L{1W(m@dS&z%P1qf7#@DWTWIa{uL|)m><#d<#N}o#i7S2S79qIfwncqy z{5Tan6U}YJY;oycZEU)fm6|&#V`|0SGxC$gzwk|)yL;(m@NTC(0wz0rpcj9pMR|3f z?33|pOOfq$6qis$d=E9d4&5vE@pX%Z9D!G1)a}_pk~GizqP%MSKSF1tPdcpw`S|#? z`zLtOtu*;G-4$SYW!o!9*B_O6g#Q4sSH-_4%+qw%n4Xz9ujw`6@a)ogw>IKWMJg~2 zU$wZ{fRy{Xu>%x zETozyY-e^W`d&ABb98|RKivY6uC&s-UfwwnbB%!FolJt9x)1w)sr=B|{>NV!<%meO zvdJjGc!}fbUuOQ!zp&n;u7g2is}BAGAnkg|jS?fC)kCUklr_czeyTxL+)E z4neQo9}{Uq#Wt9fsgZu@Jqh=(%kSDN!J5{YCB*VsAc8-=$z?MMIYH&O_*JNW68u~7 zbb{jA%%nxJjf@)~m3-YSs;lUJll`fKg7@TXUVK7(RNNGBIr)Wgm){%iY}?AVweyMm zf0cW8gnwh-8~BRk!y-!)t~YtPRj;r97yiJunk?e`#?nPBWaU*zJXftpAe-oX_F=`? z8d^mB)3Nav#D5$zjU!KyckniD1Nm3bz5@M_zAt=1G2Lq^EtF(~!*={@_7lRN4Za=t z2H09?+I%u9jtr5hKgzoa^@x-NvyEU=)5~0cD*9|E3)9n`9|@1+nv(Y^Xnbej57=kH z9vl%*;v2v13DX7RnF9*?*Ta4i@K=GL7XBWwg4<~OsDNgN)F+!OxDV%9qIoUm^FH=? z!REf74VF=$tr(vni_UA;e)Br3pAlZo50;<0jC26tRugJ7w|t*k&ywZkI~)z8rUfvl zW0A%^E3rl~*&cJK-sYscW?;njrbj!WE1oe~{Rrli0yC3Ch;tLnR%7Xo)WL#xHyGlW z0M2RW8TO$o1099xDQN&MVZLx6+>GNQA*h zL)yG+{t~-QR%W-B1i(2N?OvPX2eX4jl~zDJ&Vs&kg3f3r^AN5}XXq>Ha+h~NAM#3EA!eb*=0~2nX%Z6W7`$|3ft-STGpC$-CJak z+%CsMf;OK)UzWeL=j_#e;2lbD7I^1I*;(VKL`xJgfS)MFarCdIz~sKpYE=)0&N!uVI(U5d)b*Wp6OX;n$ ze{|(@^smzkaTT_qeWhIGVAKxZz*oTE5&S>>gW_AOa0y9dXHTVm1LLMmDd8iEg4)OF z`~{8WlfyI5MO%#gwNO>0>0iw`Tle`{`gF&*I|tI42M)hlvRC(5s<8|(9`)+Fe$NpZ z5%x`a6pS2o98@v<*AXcG`j6JE%<-+dkK+Qn--EshkKzxGtb93e#Zp|kBaCdpufEAA zJbo&k9-8WpD;r)kskun~Jn$v7w*LSP;mE)GLwi4%tIj_;U!z7knQidv$*8c#Z^0`(k>k*tJcAh7+Q(*+kGD=sP z#)e=~1_0u{i&8-T9k-Ji{m{jEO{LO1JaR4wJ*)Sw7sWc+d@4(JkI%CzKF<*(Z0O3* z1lEA(3&m#IJ4kMz=wWcVt!)TK_pGXMyN)XoRF=b3yGXuZ@^UNT{7B2xsjOF3W9j%- zz2)rL-bEjupqFo$tA8r=x&?YZlHlkvhwHf4o?ZUxVIbgV74=*bh?PtP zPXjun>EcC$48Bx+V9CyF!SKTy zA7?5ZZhBl(hxe63khit-oR{dB$KhS-&F5&L7<|c`R~s~o6hbyQBON=}OQT&G2|~PJ zZ3e$f&oG}@!OoiPW8|03SxIM(KohXx`5 zsP*;5oL4BjoB_%7s5HyMO5LUx7z8bUI`J+RI9&QOUD5guU0d5=93NtBX-aA?&D4>B zSd%34b>VvAyA4v&E@Mm9`Fqzn=R60@05T4OzkJIos<>#*C&AT+C1#CHJjHdVn|B-` z$oh)Rw3p2{F64+6L?O4Svl5)xY{ZF}Av zW-+gTP<;*#Cd2zWw?vV{5S1l!jmNiYpI(I;%g+aRh;*tpcUvsm%*P!w)~@Mjbx5U+ z&lu@nPsDg9h``jP9>ONZSXzCow+#CR0r|d_)8FZh4a3cJGR}TMQ)%H6+DB!>VDzu(=s`{@{g2L}c)OfE z@{5f=S&mtv4frIL&%4m;^KSSY+PdzR}-!v)3*N0Nt1GuDNTiD{f(&Zk~{{Rwl0r`)$Yxpl%h70GhQg&go zJxCPITWb>|f+Q{YV!rEvGkDd&#u0lTJ)hy+Dz-FUZxSR!h94=X_mo*+sxgML7LU@w6AA;A{YxX z10Aa`;(U0zhUwEKowZSNs$fO^;SK4le`=REr)ewBuw)-YVYM{(loMuz1a zM~%zcxe*MT_8xf873i9!$-2|vXcv35c{RdZ-CJq#Jd&NQj&onX|?S4)4U7SJWscj9QVfnHss_>$h<;#QgdM#kJ!num<$yMkLQM)^;# zwRl`nnbO4JWdpk|z~U)Zi#jN^Yg?GX54J?cG3qP3gT_}E8Y4hsS)LK|G3$!?6Z>mb zwULfga!3{GKMVDSzn1+kTm$8Sf`65M0g>bC;PKW^bMA92FSf(#cGmjTI)n5Gz~JMx zPkE{&0B^y- zpW?}l!rDg|SloeJj--CetKCa0ksCh?>rS^3!74mtZp}^Nn=6T-hWadi@9+E9gT?q) zh{5x%^gV2vza>=@Lq^t9Ow=QSC_YMI9yu$q?2HtGs4X2LS zuUKh6wKTXVLd3;_euBK;4|5qQygar#_>zw*_K_#kVf~&VnD>#Dk!6#DPfF}=VwU$p2+Q&XTvZtK8MS$$5jYXAENiy5(;6K< zTP_%{L)yK(_Yd`q6zP$GpC%zl@?=CBAOVXNkc#vhbr0d2BvH#L1lKcRWxq|H2{2t5 z+XA}(01m<>@cM@bC^+`7#JDn_vCdsH?lYMCOcIgJ$rNm#WgHd*nxxkEc0nc!l~x@6 zD}LV0e)e}ib-r4^J1y;rh+%s1U(yi6$CV$KR(!K9YBzsr@NLt@_q>zRyr}>h900&T zKffxUd6jn>_8lJ0Q^VIblJqg0=DhX`TUnM%Q}f3s?ulQ@SMMP(cQv} zE`WjgJ4Qb$;=aQWf>~Miow(axiESJ+X{D{fD-z=$L0(@Z@_Et_2w%EX*Xf)gXP3g= zk@ESpd26#$2%uX0al83eEVH$|5yqp52TJNKBUI9)DlixvkHWh6 zoBhImkMc3VX;CxDygo;hbI#F*7_UU|gi87zrx5-;SD)C3p;_Cu4l!Pz;CP4jMfBOi z{I&eE!g6amjk}+t=AZ62@;v6@qx0G+c-zvYEP~j?4^d6lt)fj&@ce4ur$e+psmWmPx}9&=Jz>9-fwHh%Qk=iAyIgvJ;{{RhkT5M7aDK1c9SCt;s;(j*q_M4{Nvp{}uHu2f3 z@jn?WLKGtiTVv@sVNP{3rNmlmrT9u4_&ox#~ z4l45wFV7S>@ZOyAc_!IjME(&V>t237zq6pyIP&a2x5gV{NEk zO?7p`a^vx?icK9ZZvNA!Ka(mR7;tL7iwLsQ5wVg+IIf{>Nkx%P-0{VHEqUsGwML&T zVvcRJt!x4w_Fbgp^WK`eJ@nFnJjPY%cY0S!B9L@B$E{cqPa>!%Xa}&aUu`o_k%*cs zF-^8XwlVil zVQirzw}~SFbooFP;vci$!s{=FJ_fh9g)wn{kPeN)v57E^NX&t?_x`d1%3Zt+U)p%yZ%hb)$9F)du z6)nvAiHwc|e7Na~@3e$iTmgUp=CQ}sN*swCQQV8g7td{J<*V&p_3*EWW;1xO`EBwU zI{MewzZ111V_=f53O0Aw#&KMYL&TX(6f$vL`E4}}J=vrWtu&G?d_JCE8>0jCuRhc) zepZ@6-}9}xujfrZ8zlRoMo6h#!*!;9@rG1!TESW_#PvRP@yupRW{S~3FUBji@K=T6 zPYTLeLd&;#KZR#&ULTg`W|l0sJqJqk-7K^^IDn?#-EHIPTvV{H+FhD+XnZx|aPe#N zXP|1pn(5kAwpGuW!q;izt8oUqBW*mkF;Dn;;p44%k~@i)bT-e(^sa>~O3bGH)2Tim zi%0O{+%l`pDuxVtfNRYmgEua{tJ?k|YF73q>`9Q3pySXA`9odt)!>p#eIf(3vaCw; zpK8LPR1Zhg7HAP3ENvZjo}7DE(?7Fs#58R{_*(W+zE<3ddT=Y`ZwA_GG3o7ls4**Y zGOGQ6rrT>b{vFoh*EHOrhE-C1jd_!d`Hd$N_Hk~LOO;IAB)G??HPNK0B5qU1t$8nl zwXGlGFNZ8IVUdZ5E=qLVI*RoxTPUo@?#mqZuPYVH7t7SRFLdO5Rr1dtKf_*4;ypjk zPd#|rGn(}e6K|U7V$L`wyvF|Vyoa`7(!B`$F!VWQd3C}Ig?OBAVbE8P_{Kl%h*~r| zjJ)IfweG)URh&O9EKloR)hZX z66?@$S=v^gd8*$>X>ZDw0OQiR;j!5xZ^1fT_g*lxxn<3|9!-9t_;{4kBXPp256BAm zlG8+sM7M}WyB&(>^RKdPFMPiTB#Xu)1N5iJ&Rj~+`G?}XvEJ+V5|81*{Hs5~5q+lK za=j9-wz>ZV!2YhHYxKf@|vY+BZ|~sDCd?*n+=nJT)&8A^Ry{2 zdDw6&?~n5ircyo^IpVn;YUPcUy}EzPX4^_pvML`5^-sZDVQb*@mP5&m8q&H+Z!b)i z<8fB~Djx$XS@<3i(-8n`Tf&=UGfkhAF|L|g#OHgEYnP8>r<|XgZ}hI4;PT0HaQ8iW zX1wd-2BIT?M;mPKZ5q|}4ROSHE#?#Y)n&@`2T2~MWBapiqxh@V&B3+NTW1H$ z&*@%iJ&3cow#mjikHWisLh?I*56LXOJgg7Owf1(BA^b<@KgCT)?LH{DBe>gNWc&h& zt-K>=ynXcIz7Fx!=1&wh@AYPGzSa6O@OIHZ;SAGRMlzgK;@+tpb##I~TUaPG;)Hy} zcCR?KSGRKUE^E2Jol68KisWw>$(%G?sq87xR*jE5j`HQ)AwMQN3bAw}YY+$oFy^rD zC;i}!M>VEYn;?x_njUrH3q-Ym%^w-!yidY`WcYyTxA>C1o5ixaKw}*M{*~k34UgM= zd2r3u3RZLYPO4uC^-qUxOj_Z!>Ak;|diRNdeG+s$<|h7C;@U13#qlZWxvSc|Ob7Nf z_&CI8AC-AhR>dO+vH7iMbM{{sPXq(X8~CrYyg6`X(jrD}$8R<9Ey42qZ79zL>+By0 zm-`%Ro;KIBTcLQJDWje7O^~*{`(EFd72{qb){N7Ak~4)h^dF6&KV>XO8*AjPP`m2_ zJp8+>BRoE*p=j1iByl%!Uj5;{zhU-4it+6#(A(L@>(c<&qZU#3t1$zzL4JFx>4wdD)gEYP|v{E=%sDyp#GgxSSm*5>e zt@J27-T+bgSId939=Qa~2A^bkj#Vcf)%GrtBzB%3jflbsf2DqNd{e!+*Zh3eaS+i) zK^4z|OPXwP)uUIz7XJWg(tOm)zT9#vt+jb89I4l1Chv{{W?U zEu*4q%t#-4wV%RgNba=j7}sU99s=UMD@nJ4*#krX09PArZT8EkqD}*M723~cH2XYm z#~f70VKXaSeeLGL*yp83r^gKNvD@=wlTb{aY#yf+x;uo9RD29pgrm;2couC;$#0*R zf-2wkJ>A8tOM+E-!LFjp!DYWBC?J~ZE^HiHv~diAFmX}r%T+oaQK9OdOs3g>M?;GB zYh6(#u_2Bm1Fd}Radg^#yDSgK&t9pf-z2aM5!0HR@|P%{iQ%h+xh{-8wdNi*w)1s` zf&tFz>+~y~rKF36BC+*Yw_g3I{ra`3DcF@J78Z%UdLR{xB$LTHT(7Sce*MSUHxrSH z&C;%5m@1YW9+VBMtDgI!$tU(iMqZ^l*NAw&V6)21cXM8`YpAiYjtED}1}o<87T;V) zsY?RdW!oU4yk0*=I$Z&70K(nt?dN4!0s#5?SxBUJkm3Y^G_9|Qd+*lj`;Sft7L^u zl4+Ol&8K<0f|VRsk@%xhYpa%rIbeF#8!dZv@v~Rk82Lc=sWmM)vzc@6UUcMjMI43g z)Rs`0M^(tc?_BSId`%CA^_g$3*LjyJ2^}+2YFfy&X;6UJIQmv@fMUCs%a$L=i{WJPacSmEWHo5YxFC@(g<|BlX3E@ zj;HBgm){e$@9nQ2+(`idK<^*d2EGf6Cus7YrEpyzf0-6U5kl)Ge+rUKP9ow4I8oN4 zwNY~#GdC+)x7JSA21NU&zb}*2{XH`M+-hR;AwNpZisi{r$3C^89J{SdWaDV83vqQc zu8=M<+|rDNH>tUI zX+C2N-75{$^i$WhXxm34z+z4apoU!&t2qhFcBFqXu$>K30d3@5{qB{eBC=rr0D7Ua zTOg5KC|0Q%*r17q-%M2bUID68$VAFl_-PO_NZtTWc&fHbB$JGEtCNW?2vq4-EbWcF ziq0{L2xX%nwQ(D-QP!wV$teBW{x!KeTiiHq;-HbCh-|>)(t#Ka1DN+?7^-na^9+i$ zs9y&@TwGKeWR?P>2Be-8%Hfu*odw_)^)13`a?)_AtvfSBT&2zg{Nb`<2elOH(zDZ*ES=L6<60iu>MLIiLh~$;NtCCaH8-d2tV!deiRj;7|2uf!4CuQG!6h2hBhcLuS&Q@*l#bFejRz zuN^Awnyf(0A?w<$7lK6tq0Im=LaV~|sQi$`?pmCN1A|%S;maRtXb9zKqgFsN$E9-* z1m)N;$E9{qq!OLO?@@7Vn9mvQRtFT?dX>-dRus1v5IKa8rFQo)6YnU z3ee2Lhf{c*1KYK9(Q6)TLtx}qWLi`bux9I8FjzvZ<@BpWG3QZ3hG_X6=_a^okUS?C z>xz!@+B72ril-&QTHq($J!+G&k0Es~WSTPcyhme)2Ma#x=v$Bs$8d%kGd8k;z6d%~#vu^-Q&#c^~Z7FZQc1&4JIgR-ajrC(4WY zS41%qFrEq>jd4DbnP}}1SJ+nt@h8GsFN%CUaMv&@A1$^Jzr+U>wAYU$IdO_ryDz58 zZ2Y4GjMq&%jhRaa1hzjTyg{VCg{xd?vK;wLK>Bv9I`wahx_p*?EW3B;&Bb|5dXV^0 z^0=7t&7?mRnH1_Pb)m==0x~$MBR~e@ObgCxLUZztlmN$k^ruH4T56!pCfv5wpbOq+M-;-{b5Vh@d8m)h zc;bL3U++XKsqpuS8%dZ62bmG-r=@bMn3I8@r9i6EKkn3@YS0g5zW9f4YZw*^2_pb6 z8*72M*0sHU?RM^GWAcI0vMsc`+4ix8{IS>N?O$8`6Y&0td8FLiYF7Ai<7<(I1KOGc zbYDQ87wxf8eVF2em~|ewQ_d^cbjhNU2+}?P9M(j7 zf|!hReA%qjy*9EHi@Br+s?B!M=`zBNwcSWs`V;mQ_`~7ff!;R19yM$(yE1H4fCr^?n&dWDa6t{YkERjS4eRu-Dv`OpHh)rZ{AKuYHkE66CH!$M z%u6I;aCaf^Q0bo%JP+c__R_Rl$fcQ6aR&-9?VA37ygD@#;rnwYp>$+|HI6W3I0`*0 zCs5RWB56)FEiU><;-_Bica4w2ItAJKL8o{92?9Qt$osmm9Y0;6-qekpt- z{{Vu8c%Q=N+eGn{X*H4^j7sKGJ*)OJz&|j z0IOQubH>76JihgnI>!4QI*>T1VPj%@$Bt!4-)w%BV9)0f7~?$+K)O`-7Re~%9cxP4 zMGCw3eEo%2D-h@u#+yOOrb!fRK4b=zFt*CLIn6RzRz(FkrUgSBF`R+43N7u@;5?3b zA9PVB&@lb!upO=xa3})&ELAYTFKVwk`9QiiC#EU7jJ{foQ*C22z+`^iC@C@aW_LS} zO1KwhUp;AUB9Jce!VV~9Wo^6_>rTY8GgFX&FmP)s8*y-@-14=nGzoJibJD4zJTes> z4HgBVX4)bjD0bu0w;DF`cgoq~p|rGAi_CtemS*`!TCgCu8I%pR*jfeh_5c)Pt#au+ zf<6>v3<|SjeT8UW?-~Hto&`X1cW0rhO%zi`Vw109QTfwIG2IUp4C_0(2IJ{K7gja3 zh(w2b_M%DV3IO5r_*QIlIk?2Vh6P`dN?W;*^N*H*2z4nfn5zxs{*|q0-)&)WB5=G` z1%;uVNx|RNx|m8tq6qmt=p~WfL>&k?G!HWMCd5?r(k!cla7>9D0%hmK+kG#*Py5M8;42-a2u%S(vT5P=rch;N#oXx zHgZh}p^oEEz+=a1nF)vv1`QZoZS|ucr7F^63^q17C+SZ<+)&3S(v7t?u+X6~$u!^;9=ub2 zZULc_BZ@2=2bZ*i+tQ|1k0cH;OiYBsQ(XrFkyh+KY6G|&Q~v-OVyFWIXB5^uUl`)5 z{fQ+x>}coKl=R?IEl6v!4c(Md;Pj+ir#Ptq$jRb?t%M-`4LhKwWYYG}Q9*9RfGZ8& zov8rNL62%`=kE>$NL#)!P}vUSPCDllp_)EVN@)c4;-z7_JPx!J+7LJ+AX1ZzQm4qc z>q@xpDHEWq0mBZx=wrJ83;|8x9FCOr$0fQ{TSC;j0UQn~MnK}4T)zrFT6k6*b)+}7 zh2tR7=Lb0Agu&qT^rs%UsYuVJfLN2q-SnVjeeRT_1BzbQsVz1b#~@~$G5l13;9`>* zq-kI)hp9@I8-d5QCPv;m(^ZJ%^r^OhNT&<6Y2mvHi|J1vNs{bB-tQc zfCJFfdvM@Vk-50&DNj&pQx74>3++x`1vhr%hNR9MgVK`(KY>f~fton$icT}_NIb{= zIHcRUoH^qZ;6fgiEWc61<`_Mx*b2UsgCyr1Q}M=e#Yr~M5l9}?{B{(Ic;c7l{u&K0 zWuW0oFnV^T^`H**3>EB1Fh>+p4wSTuLX+)IQMBfe40We{CoGH9xG^5g>q1$qODF@03#|OP9Uza=@k%I&gsN#SHUo3{sL8s@8bg0)D z`cwET&jx@(uWFK_2Ll+zN-AVK0_1h4=b#k9o!s=PFc+saB_&{>k;OFUBe16&cBx{T z(!%2$8cJ~amj|e$80}ItC^+||J69}v`ch+eE7p`KKYD?JZX=p<;2J}?QYjti0#Kle zImQJUB89*l)?g^e;+$BDKuM*-(y^e2E$vFUUZ#)tMHnB&S#kklITD;UhYeK#P}!*g z1n0FyfV%Pwe3X&Oz*Rz9Janfi=b9{OV%e8G15H`D>(Z-+0lHHIDz*sgS=bGzFJy^$ zJXBhSm*I~T1seUZpUUskui;tQ+w#+g3&nHQp$X{G(Mr6b@RGscuZGqVhqlv@KTL63 z(8uB3E9SAaMD)O3zm;<8p__5)I29>%z*gH_vCHX4WOYv;R$plCTf}j!SV++u9YTTq zD;{lH>R@-b2aF2F``n}FS%C|D@^FdCHI+(=3hdI19G#I3{oHzXn=RA0k80#s&DXaV zz9ZE>-+1A~M-e#S1+K@(di!dZCrHxHbtu16-@~-R-ap_n-Dw4|5MKLgqSCgK#&}l&};$lt!2E22}+N@|_dE=eA73N^+ z^UlYoUGm36gYizXnuO&ufgcO*E00-bSc^Hx?M)~9KXN~7va5a42=o=}I(ysrvqiYm^>{_yq@!$+V>uP%n%pUEB$37k1E{Xg z;mz#okI4VH^O9(yzQvd89Z{VUwO zHSm+bUKfTfPvOhKG*YUp(kIRc$2IJq5j+iT;>|L7grrKUPV9CA?pKR=D?z^S_J=I6 zv4RNqVgb zw2SM>EcIJ-wqoBbgZQhhkzkh4n@P)$;2yR6oeV@=NSAZLI{0}@E)y;^#1VNR8dQ*PFSTO3Uhk8msx zA4;qJme4B_#O^u8ZRz%68AZuZtBiA9t?8lEpmJU^(}U@MYmISnZoC@#E8-5FYpL0T zdZ91y1amh)zLob)<@SwlApX;25I0bI99PL795s&z>Jy;TXGkT40I^0mU^~~q@y0U< z@NS+W-_kydhw%7_;ytA#e1WNHH@alLUEEC>?U9U+TBjX)cDv%OF80h1EpBcZc5Y$H z7jS=MV<%3+T zXKQEV!Tf98ye<1U!EXdNzCOKuF5}I>wb~drp!{pouflnhps^KcxWvc%R)UkK7j}H< z;g1OTgT>crZ=_kvbGYMjE^%L@9}T`2cyHl`mu;)uz#m>QgS$8}6Vwr2mEkQT!(J57 zp5H{%VS;s!9&&KpbTz~47k5{8nVwUg?df08o*M9u5}hT8(a8MYh_gzPtL*w4)_0FQ z(&zqK1I2Q4#Hn)d=PY^(mdjD{ZpFGC-M3XuN-++%3(ng-#u%?_#C*DP!o|bvlfyWV z-Z-7rzN7u2rT+kDA=xAf5LX9prnj3Xn06h+VE3-SNVEy5Z5)Ymb69$zdppN-^BzVI zOjoPn{ykR9l_k?dlZbHKwfVS0d`xWKM@;9P09XL#d1E1}WnS*``cua=#U(!ZnXMRHjmn!+(v z3c9cE_4kwbOAaf$(Qjc`e4o3X)y--eYh5$yC~^lPnWtRE70M;g$_;-x=RDXf{a1Tj z{VxS05J6bL$XxW2q>?<8q#~<&T0~{@Oek8Gu+W9~j%wUS*bsf{X#UKC<0TulL zmR410Mo{dJ%`tjaaEZ|AZ2E<)pK2L~E&}@s!-iXV0eeL9l_YLHmDBirRNF}q=m7`v zu0u}?8r;X%=W}0^_?duFlrd|$_FOYk@pRef(-fb>@!UDa6xW@t(r^9SXWF~18fdPx zRj}Q?an5Ui)GQ*lz1kbgKzmo)a9%Ikjw!A<*+hKec zE`uyU^sar2rM}o(b1B`QVOuauHSUjdzlAA)YIxHH^_&EvESC`J*G!Ju{Z(x)Q#m6f zRgV%t?|TzP@|h#g=Uj-pjM~L-8N(A)_OTcqN7(4~-!ZP_LP5d6_O3oV$<}taV}!3k)}t2@wxw*Kq4|NX z0!SnN_a~EI(D^i7Jhq+rs-61D8nkjHdp4|fyH^Bh!)pP*VgiAiiu83_7&RP z86ms*I3Bfy;_Ecj^oQS_(XD=c;!a;0_&H6jk?e5xGuhNguc1j48nS9d!H>2&b6wYn z))_7S*%W}palo&gw7qI;8#lGvyUSr-k!#}HEmOk}58awQ+6>0PPtm~DfLO>xF%9po|PTOvN$%(cXzMUYjI_lDd$Iq zu7PSJ;Q}uM5-sOLeCcX!3&$e{@wO@gAU%y}skM#t-9Mt3t*=(jBVZ z>+()A#7?x8c%$g@th!WJvXed6M);)GQJ6OG2lTEdT=8Abtvj@bC`tK!D~Z$Oir)Mr zhxccS?jKFGw}|J~XDs?%zF3gKrUS`1gM`1{>d@fIv4trDo z0JSZ6+Za+SMh_6$LPHpraPMDT?dZxjl#Y2ur`dsztk~SG+B3qyU}uW4ro*XOUyIvS zDH~&P9WX0)gxXW<)- zZc(XRT_}&KUuxWs!?u=e0^UY|c0QHldRLA$6o~1z@&5p>;Yj`((mEfB?hlzPjfUs& zue#y9-ZiK$RdeTY_y-w#^0D6P31b}YkX)|hT!C89dDG}~M)HYCz*QB)T6lhF8D^O8 zd|;ny^bGpDcBF~P-S>(-__w77#iZY$xq`zz+c z^Vs^H9k0t#BTvFNP}*NLg0IaXBrxe#Z**xJRCT)f!w;7ostqdIJ56HHt7I}}y)(oX zl3QIzC|{Fm@++UiELxO3k6_|@JhSIHn;T(ZJgxW&Ij)~dG2VHQEQ7u)nR!jc@<9m7 zvH7c`(lpkx)B}-_bHK0Iad3~bX!%N2`DS^al`WR1JZl>g+qvz{cA5gTam{Xc!t|`& zYcY73!_jsFkH)q%Bx$vmi|Jp_d2MA!KYp+CKS`+lrdqubgDj>ii4dLxbfvk2dMwcO z80lR`rDJIg+^p%0H#L=RHwVIEBakclDxGA~OUV4E6Z}gWx@)s(vnz5oR}ZAwgDu(U zckn%{z0u-}$+%TND=l%>K)uE6aq+SG*W+F)w3RpNeeVZ8o`+MQK5S(~JSjECUdED1 zBLx{+?7Rq~OKX)p;JtC0rc&-m6M*Lx_gn#pjIc3YNbxv=Jhj=EG+$`iH-oph?OmOr zj(sjvi{{xIXY#H{+asRNvM?W&dwfv8*eYAI{Es^X{{VWIq2+c9 zy3TBM!*Tf6sCX(xJ{{B%LEM0UD)SqC_SVuWeAz9}wR$&!c+vF`1_8%Eg?}yZlS?^= zsrpWA{{Yx6 zL$8NXqS5oTDoS;aAhz3acX5%QLMzlh99Y9O#FK2tmPj?_dQ5JTPBW4#*S;Ky?b7Z{ zWS8J}ujbsEG-I5~qwapIkCm_~B5xIe_JmlzLKt&c*LRjL8Vi{f41AJnm-vC>Yb`qc z#F7CjkGL!54-@=H)U|n@J9YAtBmyh+-0O{DgohN7yMkc({ziQ zZ4PCQcz#2Ub6*(hdac%}c=wkrmynWAPPHZ5l8q#dmu^jBmiXt1@i_cK_OC8IQcFR_db}e zt{uqn8I*b8trhwgjm)TFnuOk`!rF$LsOg1QP_}prjp@I-o`hH4f3RP}Gp_i`>%}^q zscTCpncPaGZyRfjll04jXPiIBHBlL4e($mA95rQ^l z!bYTl$3e|~i~AbZGN$b1uC%^3URqaSq{dacLVZKPQ~OoNL0U-oA3YTj5}_>)jvtO>pe zJxH&Y?&F_b)GhSbRBn;c2>RFQ$AG*nJQ?uSEDGU-N2k4dP3;t6U7fFnFJje<#W9%v z_B};Ny1TJ>p%^Gg!0W|u{{Ri9oN9AzAG^uOuTaz^)3k^l6iUbgv}U?(u)Ucnou1jvkv( zvn_0Q`gx7u2>3rOX3OLjXyYem=qhVVS*5WOLVIBTRfT!F-oiwUzHPO#+US_>K?U@d zSL7=Bkmm$-uBshE%H?*F6F#eW&Rv2BdMFbmSEq||pR z$IM?C^lN)r7Us+kFr49Qp!iXtrG}3Bflad90LL|n@fIuf)soim5K9G9U0;SZudwO= z0A#p836taENSn##_K0ft+AoyEapTb`fbUk7(yQp2kW=FFe zSMCrh%B|`F{VT-GsVL1c!cFLTmyGV?v(#Wt?;l$89YtB9X%J<(uR!>kfXNK0#?BsEHR(&>Gp7%D`3?zuh$Id&tPOYn019oDE}HIM{0iVLY%iwU7>^-{-Sn?S z(r2{r?8_5KKY5NlD}rl0l2S6@X1?UJji(5 zGAp0)4XBMwfj};Jt=%<5x=eiF#+Wo+dsb;B?jyxKb*RMm%-?v1CpE{#KlbLQr`aIn zN;+1Th_=3?FmJlK;-dI#YBe7ei81oT$Uv^nTcJbYKCzqrB_17%O;eV11B&WAFK#V# zcXnUAYtOa2hq=`4tkZxvuVU4qi$w6;PEIm|^Tl7nj5?n(_~TM%*5R^F@&HG*eW&ow zDDC_^Zm2Qx3iu~pxfh-(wUgFW75D!D!>{=StY@MiuP-r`;E~f(7KpzPr}Fd}q0ipt zzEAKf=fn=H{p$K(;-%bCX=XM!EVc9h0K-dUlUbH#;{%HB!7fTD<)tIiwGDX+LL-Wl=WZeJaE-n~xE@{{V5tUhz$&V#;Zpe4!5&q^GJT{`vW(0&Y*rKzfArV+R3N+9Vju97Tg?w_=Dmx=Kk@{Sk&88Hu7A?Jy2{v;V;zsoO={j~{AAKbIP(R4YvB9Ej?N{KzHD$S z=gnRazAcbr1USgASJLKY*w);X^sidCLa{3J(bf3A@_C|o+os+t<*B0$tccH2)%32m z@?2Onj<|5O^9S00;-XlylfJVvp`q`v#`8zc(DzLJs9Wi1je3E`TFZ)p7b)%GauGd_yEhgSx(`N!Hs&5lFyo zUOy`NTULtaQ}I&^QIcE^E24i5jHw?&cy`TAlv0uN@IkJVS+o~gemWEt4v_;}X?D@N z?R7!AuU^Q0!r=x<$f=IRv(90>+*aLV`Lm4F@M%{QU62O{(zG<4G0e{J4>KR7cJM^NQz^aabBOuszy&pD5!3x#~Sm$ZC&X(xvk4 zc7R3(Xt|YV#_lmrv??tb!NP^E3gcaWv`Z3vz#LYQ(HZjUb+;I6M~Xg1(_A)&9y|3? ze~YDD8o^l4V~Wx6<)l})D=4NXqOtB)<{M2gPTYL8^G}JH9{Ovj`8&9;bl2||&q)@8 zy7jLBlKv5PZC!T;YGlyS+`r+d8tzdvlfWa2==J?++!CWabgwglYnio0Wcg0+Yo2nk(-oog ztFuoMZEdNJYsP$Gs>yE696a-kdskO~t)`!*hIhsX%qzgPEq+_;!u_+y(z)tYx)dpx z?S;ECebNr>k6P&(^5$D2?D-^g^sZ_(5;@*-Gn%z=b#9P(akf9b?N~uv+hc*%)y3D8 zyqOMYn^}j#mJrGCIrG8gv2yZP!^Biv>iv4Tz9xJbUoTu#k8He_GZgzUEm3*IN z4~%Z(6(n=bD?U%kI#x^#40gB&k=~<*=~OW%74UP3_Q|4Dxnps&c6sStwWpL~U7!Q) zUSyJOot;O1E4I?*lIP1$x)-fsYYJ?GRktYT3&VG;*rK`F`-I~itFYFLQNS=WQs_}z z%@_)K^rmLn!y?_5A%RjWb4->&m6RT9vbwO1coC1SS6etz9l!xWEu7S-8s%|XbFTe} zIL0c>R*U9_BZ|_zvQ>ykoYEl1mfVB_K221(w_y*Qe}}DZL{U@$&M3V^n%KrT-9ZhQ z7BY`DLvdR-MM7am-t?+s-C0#paC6eMg`;3AoNetuG8myP79-&I%~Y9of}KrkM~Je& z!-}BHh03Qi2+M}SBw>~Lsk(tSjIpJ3aKK@VzCL5nRcF)D@pW_8(zG+Nfo(0wJa?_w zOUfKL?Ndi@2_GjFWsxn1o1VO4fU%koTEtlOJt!A2uvOd5O*}H)C}rVlC~Xop1boyN zWIVW5*gMqf0KvehZc!5?ee7{q!umwv`%o4}%#g>-gN$?(MQ)Az+3J!=(k}KmQB0ce z%}*>GDDOc9$!^AWz&=%~xoHsYs!4i_`;=VN%Oj9bt|$Vqw_Kj!@mXTZSniZ4`A?;7 zBkfmAayh81*5*P=jDbK9nI!W(l6dJ?1+lmJ$;ih7oh7t^!xX_4cHo(#3mD{31q7O6 zFab9Tl;E6VngXmUbG;5K`Z}M#{572oH&}8sUSbKYfeZ1}MRisG^?c18QA;u(6hdW0CpqQ@TDSB4?I(m6~rsAv1Wgal2 zntbS!o>-N*^rbK>e3hg2QycW_K!Xx=t>H0A7_V(6LWA0189x(w8Eb3rWX%549nn z1>>b11}V86sd9Tz1DECNO~njzOOZedNCN_d`9^7-`J^W&6acKn>7RCvly#sB5Jf%I ziv%FEF~$XZLGZ*r9?%lw$Z2(1PXu;GtiJsT$g7+F_2+gqgnUde@=c4-EaBS_Fh} z6anjAP2v=a-hI2l0AT>F5t$omH+PtdQ@jqQuNxg|=Gz)=vzW;Hz;RGms%iF3eQ>=w z!w+ifJRR{#Z)cA}OBmq{+f=W5KyyAF@ICgSej52osvnpd^!;etX_lhW-=d6Qdsjnu zDbvfcj5M9=iPd*YAd&gcr>!tN`hN|_e<8k{?H=`7dmBqQ_C^HWRJ&uHkVT0~-#Z2Woa!I%u=|8}P4) zw2vBTmOAEF%elXieuc7QLA%@&UKI@&?`qmcIs)s>mtHXAN7x_u-XZE zxLb&`)3Bg+Gw)`C{v*0RD=Nam)nwe{WONmFsawc<>Pl+=}p*S3z#;EMh`&n&d=2dKoeE3c07;O&f@193F?#fHhqUzfYm26_~mu!(;=}x1xbh zC#PO2j-sg%7ab@9)RMFcf)(Q(MN4M!2R!`E+Ow^7TX}#?^sMX0**KC0#}pFHeMVQe zk7EA-6?5^Id_+E7-RnZu{VqqBILKO(C{|gw4it2tB4E#CBm3v)?eA5fw3x7RcJ1w5 zo#vji5juV49V;I08NAKWee7V0%%Y6;kxhvrA2;z<9m7p+Ce;}9uD;sWXD{BW-=ru% zd@_3)Xh;9o_YMsxI2aWQ4W|Q&mjqY#GiUSQpm(D==|JF9SEeZ|2zvWcV3SVc6nb{2 zduUS*l(d~G-FkMZBvtjGlN)ZN=}+1U<-1T)urnDjM`{NL2c~88r7gJaJt+XCQImS~sMUcS_Mw8{ z1?}37IsrfqjYA)p;+M+9e4PbGS9e}1Q$KWZikToJ29)t0ao(CorxdDq$7+xjKyl3* zM;Pr*9CW2T0h$UW=)6;qsrgS@jaWC~N>?1`6bN`gPBXx!a;=fth4}_WI;Dpwqo10e zP3JhLVOQZF3`uCK;OgZPR4pt0iduuO*nc| z$Dg}Ph3KawRIno;FDurh+;B5Y$Rr5Gd%MWxhJ`qP84;P&ZF z^4&gR)6$*k+Lq%|u)DF%FCcSF&QHrvX2`}lr1S(FoKw5t(>e^AcR2=;R?!aPkZfa& z8dYt;_QgF;(0ynU4ZA4-Q_rO!&N|S+m<1FRn0@YooBsA*#a%#JN^BX^gtekmZ8kSlN;)+G-fljF!eT1hDDJe%36ouohI+(jpUbOF< z?sTA$z>q1x_7rdk28PE0de&ikD-IaXG?^!Z(wUM@Jt|H`0v(N`igaKfo6?wlDft^V zgUv%lF^YFKYG%h=RAUi=k(|@{>U+`)SYA6&DE6hn#}o*D0OzGKh{qJ~n;AUP&`|i? z?8^>EYH)7dDG^xy9jU~r00GFX#{9>CJ5%YP5%s45Q@GLr0)aVvJ&>03Im-o5`Sc=9|dtM*@M^laI=jQ*yY)JE+b$sAZ1n z$EQkkY!nb_pm(G=&lH7XQlmUkv{O`(#XqG3PhAI7hH=G5^rtR+^{mF>*cEp5smLS) z+M+n?PJPUnP6Y#q;toR-z@C zF-kL!r6D9IPr{si1sLy2uYrabr1mthf4xiTj+B7p{M{+vO3uSWscJm!AbQlicByK^ zRvX%mocE;^+?D2}WWeqo^xR{P^niaDr(?{r&BU(;3O_LCHMRX+|iphXIO0c8XC)%ir*(2vNCl=xM?+>%|~` zDlzLxg0+dVMsxRQ%HS2IsmR*hC?lpiR1}E;#XY`kZSP2dcHNU_Geo#z$io+I(R8iM}-W#|$HKXscm$$W0quCBD?u+gs8MI)5(aOYM&*raKBWz`{{Ui_ zmu`S|sqbz~dQqAJH*MpJ;530f)#F{w^D_7JuZ&SsmD%-5QBg@9W%N_qqe_ed9&k@J z;XXC9yVPykXohy@k7{2Xc-vGOfwZ+^p*Y}n6`|pMU3I%nlZ?oN<~ZWLTqO@@?;N${ zq^yq>(pKs_)rFL=Ju9`k@l5(~`!laa!qmS2i|o)<*PTu34JKJF7V@)Bso#e;WDASF>*q>T=p&XYA8_hy{E6`sJpFl)fS4 z1BLomlX!z((!5Kl!w=b+WLXA1E9p2h9PoIRBZoJPDpP3rlj0tm9+7tp_UX1ejzJ=- z-$Qh4AfDbw+q51l*?uo+Lgz`0M!9=%0)Q*dwDLc)1a3fOP&WN5`lpAn3)(3?tbTu( zVdE-I95t@Fsav;_N12{7!n7`YOAeiGX1-7q54xk8v~6QZ{LEnIk7~j34wLq~be+#C zzlD9yKM@*uX;g~YA2EW%DOObEShUx)-w_?Uc$H-S5aR;8_r~|0IkPQmY=Fg&l*QJ& z{{RKsB3}f^ASwH`wW(^8SlpPDDH$C=HREJColIn9%(gvD*9QzUT&KoYz8d(k;*Z=y z86)kIYn^}D@8Wga87DCp=r_H6_oeujUo;ObLiGEfR(Fau`QA83izVd+TdI1mUi}u zo;;KZ{Hu-euBCH#tHkc1l>(I=d8(ER{+NVgij%}h?Qo@+E5~a3o-oU(Lo1SsIJkPe zrHQ=R)%b4h@8r6;xjS5_!jHRL=BF@g#*c0WaaDXjJ=I`D+2MgIU=Bk6dSE>Kfljw;R;jXc)pcWUbG5vS5_BRw&|u1!4n#@@$@>+Kku zBW$01*Xwzza>LDeeuu|kXUkbLp3|X{X)<`&aGqmI4?0_Wh~jvUa`8CImeiOR^U{( zc5z20(lh-lI2AJ{PE}2RL|dMpDf!H$$x}m8?k}_6D+U`M7_PHKCFW~zMq9OWn*3_E zmUG5BNGnrBkyBN-kq6)FU(T7<3;RDlg-G@P05kN=Enlo<{J+-6Kd9+&Tis5wozBir zHA>wehAi|WpdBl&*Q^M+c^HqF=D5kNUMIqzlvngF7EW}Oypj37A#%ARZt81@^jTyB zs_}~BrInpv+&CLaBD=_0E;L(+Fg{h{xM<=sTCxwkjf@KXU&Ojmg=%v?(}dmWN++jl z+ivWVbIAw>Ys}r98~2}Z@m;stH)z1I=rNC_aYa7T2pngney_r_PX!0$kCn|K%ZYY6 zZ3}I=I6o_c*XdmK-K>@h^5kMtK>TXNQ?0s)*yjzJ!ktKqw~xU`bQ9F3%N*17#Ic_fXM z`HhARRu3_|;M_c*T4M>g7wGQ)ab zcRLgg)zA2X7;LpWYuMK^Tn)@eO4ZOcIP7(yG^>~-k7hB(<6q1aCs!xWZMFXZ%>5>$ z7AphI*ynGdg3UG&m&wK|mA=%(rzMxQYj~8kuB6Kv{H%Uo#SMlC=N?07mPi;@w^60AAbdG}R z*}THVvJF*5kGBL-150xWV%-H*$y3R%v%_PfQktKkza_oWc3=-$g5`{nfIo(sdiAHp zw4JBDbLL;Zq~ME;Z7Z3cW;i3B-qo!Q^~9FK+{k!6D=OhtWWx5Pfws7>&$8@Hu(-Zm zk+h?8LDz2-nD0}}tBi`R{>^@hrsdSgRUbDU>YVX;XLVc7DYqXyb>nAPI9H+QYfadT zPP+RY;!b)guSu82(lJekpv8Gm0e=e9vsmO@zZkDGg|j(f=IAb`E-wjAe;L`oitdYM zHb0GZS`NDuk|>@{r21Eruu#|(vB*;%)%so&IjIL}YxanUlX`VFJ^p;hEU)_$_uTarGENQp-vDTp=mB#Ww z74lp~Rtl=b!P$=of}AP3Z)54JneBBAKHf-}mUT7Ai+SL7$pSsyMQiw5SMcTaoN!v* z#;uQ#XEa~w*MegR{{U9!a9}thzi;47?w%tD2)TR5z~?w`Wm&5g0e=+;8rIKB`@nk z&B0=Qm1v%2q#34bJC}v{{Z_wWl|s3=hpEbzlMze0IiQcjyWxL5X=Yw_3d5ttGF?y7^7`J>0Ma@S6T(cCP!xZXvjk0g%U~aqi1&AD9ORwSMb>t9lS#Nc`s&3sq(94ichdK9$31?d4x; zQ31w(@;-ip<*5_SEm}ag zR>X6HKMM3e0Q|Zhpr`n8Tr7%h^-I8T2FmVy3PWhRny-9U@}CbU4Du24KTXVC^7QS5!!B#wrv$LC5iPZj-JLHmgO!dshu9bjHmJqWKhVg8eU zv$U)$(ewd}nFcG(Ba>y;qI!P)tMQK#>3l5vJ`&xYo$&2{;!4fiEm`x<2CUKJ_e^=M zF9C*&!;VLGYQwyodG3liV_$jU-A-J(9*2R%l=-o2=%j+y)(<_Hk=nL&+tiCkxwveV z^4k@LixiewxEaFr?N_w$vT0W_ugo?!1$};JinRvMKLo!odzPKcwO1?^hoyDmahmhgJv=TO*;*o9BPs@N z;)J*(@#*^l5w&y6*>d{M7kGU*nry&1R$Sosz57)*|? zbD5;2_5d-ja@*=J#;NupS& zg5`!HSjHAH(+iH3?Ee58{wwI-3ezPEB1b5UByleUV0IPx1LIE?>K-uGWYllix6Dc} zrh8ZG97&wvxPLEL94GM|mYt7>%CI$a99Pz={0Q}5+3UbpzZL#0TIql5S|%6GpGepm z{p8hd?R0%8Swx~ZqJ>Za+=aoffIr}$Uk*;0ZFBJs_SvDj{pGT|@%yqkudBW%_=zl1 z;uMioAkJ&~^B-BxqjGmX%D2B#G~==Pr~6&_-s102gG08In5M{e`d7_<8-=a3a~m$! zW7pcG_?@j^c%R4jiE!KFhH@kNRGR3Odbk>T-1(g66DY%w`$zUH@I0RpekaQgvje(l?2GVne}-NHw!YM-it6_De8VCx361#zzP1Ey&reGBYD;LN;cCj}ebmAz zvELZ4I@RuBT(;w}Mq0Z)O~&AB8Ea6&=m*1356XiI z1$gGMdUXrJ%y%6A70*%HT*Pu7hvBq~R?yNkA(ue9X;f+kIEy4=}UiPZ!OA$_q{1W*_ka* zp7d$Oma0&H6IarH71c1lMA*SzE9SW&Ha;YDb@@^H*RW{w>;mYWsybCvk2*%T(7^b$ z;kf6HJIE7sjNB30yh=M6VYZujA){VReSYl*v2Eoz3=ipE5%CMdlX!l@;@|`2$fSc_ zRwAAK<61orl&*h&e*kB*$4&))D{A&A!LISd1I$o56#P)Ii^$%39 zJ2j)t6(Pe%W4ic|q{ADpWv)9wEVd8keZmcQUlEjjok#mTSC!gdv5O%~iqeLE=1DdN6v_}8eq-5UnwTR)Y3S*E}=$k}8&w+=C13;cP%x?d2)BRq`p z?OhdQ)J-U_c*xT>J)Xhxw`%8gICe_!FYt6Uo*mSl>V1-M!D{xaZ*hHh4XkUp7Q>P0 zUS#EM4*pZ!KW0mGxba7yBt(UOl%GobYsVmeV-b!wfr|0pf*uZCCf46ji9+pBo-5b< zb@ORWxA;zdswvL+n6AeSUdP71IRz()RAcAuSJP&jqO13jI#mx5Tz#_kB*)!)*wyS? z`yw{#0t(T86`D)oN6vmBvVGFXR|U5bT@S)*WV7?Gr5g_3{?((YZM~2nTx=MsZ|3P% zZpyn9uWIabvaq78k8AKuLtgQUOZTIN`&Xs>V4Z9<;IZ@pMk|x}3#O&nZAv4LT+@C! z>aoEaA#DEu^{9(-M?8Kr<-vN_J~V>Vj$@Hq0>4hY4FboYTd*9weAne~gP;3j;#6`* zav9NU^`}9ETj{pez;cOdYt^XQrmSa5AGtc zGz+PL#?g#dQ}E{51)I#v^JC@3WqewVV(`_`BOtHqit{OAIjeGr0DFDD6<$q}8l=&yDUy&X_{=#w(5ZNQNy&>m#*qc*K~j z+wiD96~s-&#F)V%qWNM{y zxFKtby1b&!bK!3vLH(QJnMvwcSAXEgSA)&#oL39+NIUD2Ng?^OUC+bl7yB((_W;*? z^);99&ZERrDru8HOey|V@*aO)Hw z_BH-KYO>zj$6$l~9#vN2yi3FO^V#z0@-pE?dS}FY(S4>s-Ow&8Kf|y`cW=IR`>Tbg z3#h1yo`+ZA2n3N&y>M_g*6yf@Zvg~l`qF5t94Ohq&jO^?!==~pL> zO_K!e$)$mJ#q;n0tn2+mM;W(|@u6v`(&jOAOZB&wSd`$ND_2<5Qaf$#Mn?b&^G!kI zvby_9@T_`OE4^6Ux8I&SyP~gp;ji^%zEwPJ z&r0Mq?;ArkpoI@3(!8Q?6kMd=E=u|epJ{ORc0DUx6EgXh?tp;u1QvaZ$|93E`UXg0{-m3Y+z!!U0H-Mxh?ZGb=&^MY^G7S73W&b;#}MvgKsSD^%GRPrNK>4`OZY%F! z*~Y^~kHO1%1;3Z7OC}7B-4CT)*EO0Yy$@_%I^RO@+iBLWOmN5YyPufx(!Bdj)2ty$ zF6KpMkcP<_=DM$maq3o@eUI6cmEHT?4l!Iko6RH&l7b^3WD47tvCjo&XhW}C84N&e zKz4#FtkC3{=6l8`$^+%ad93h7Yx3+RNeA<;)M_y3UJ{>F-Z2zx-<4sAmn>U1!%^p~ zqJD7x*`6ndU7CAR150e>6?>ZbKSq{C)8G*dWDXC~w!S9#nqM1yM82J}Vp-b*wktnR zQ-Hg61h2*OtV^9{e*2Z-eU2J1I@n}Jx5NGa07_A6#Ww@^RwBrvOrG7VUMrv7l6ds5 z6Po9$jWG;i2g}H=gGDM|4aXIMXAQ*B?>}~}+PlFn;CfWO29BRp9&AQ6{u;v5@7~S- z0Cn1#CZRja#s+G;Mf=^zKJezCT&JMhY9{qS2kTd^qh*K$>0WVTaXeQ_k)8qM3h$=7 zXJCp{f}yvB1Cvc@pQ-Co!{#u~DNb$p2dy=B$Vela&9 z+M{b!1I+C}p2c$0J8xn5RST$;e(;O~TR(1qFCzqTS@&`*yGpOgK?ZtE`*!~T1u&_c z?Tdgq)`Bb}lG4_r_MOPCd(cWSi) zTZqE12B3*15pR%uwE+V^CmE|u4Oc3Ov=D0!OI_|<^zB+PT0S>1t7~iKFzkYu8CLd8 z=bnP3nmD6vq-0j=h?R;C1yhF)~S)oQ;eO%%cCJ?By|<13`-w4=BQkJ zv+l+ziIc}UcM9Cqn}vyD+(r*-&l@)e=xW=|1_C!Zpm8a;n(?kr%TX(Q+i_ORcpoA8 zI|^0W<7gN(AvmHhvowvxRFxTJ0~`*dR;w3@0P1T#>PA%w*w&Qy6N!^>nSMG}eDS)v z?dJqmjEq3XwPx>OHV3VD(J_+H@xPCFx$vFDSowrzzcw98ou{bczfpcJSS`0N zDmpfv+PChFx&(ZR_3woq z5!7`Xv>q>o#BgvpJu5fE9~FE;HB(`!V&WAzMG82tr?ej%+RGOGM$-|2gMb!*JkR2f zge0EJ`yay4ZXhde#~gl@%KSC>Zw{O0Y8vTOyo_$yoDfG&EAAhMej)g4;}iB6S}3k! zJjCbb;=X$L!J_Jx-w5+i_XLqe_0u+0|a70O<3L%BtD1~9RZgK))j?-bIKQ}}yO24pZ@ zN(+uFpTCy&8GN==itC}CVY)Vq{c*)*>KmC(Fvr+db_0#My1PI=Opm2!-88o-qzqSU zr;yL(T*txns@k5EAdpWO%zl(uX!9G(M@Cr!@m_D@yG(7lL5y{;f4PP$gz~`0rEoqh z(o#J#Mr6(fW^9kp{{Y#d<}G)@5J4u{JhV}?@;DXfz9qP_vvszLFadl5qni1n_Da+z z)ATu#HvQi2SMaZ)uM!z&X>Sf6IT<`xEYTA_U--nuF5%nAb~W=yi`)nzW#RUU`a|O6 zv0Pt490z$uJv}Sue-_#~woLrEQCP|7by3*d_#fko{{V&`5j2f@!b1<8a}0Cirou*R z`qcPe<2xT2cv8byw{bKV(WoSIj0*lXn}6B9({A6qh!$LWt$#wl@J+9YnwN>b7Takz za~Upl`2KkN$CJUV-@Oy5YJErIT|DVtD4pZ^L&$dfSG;&$;qL6?8@CV#=qt#+CR^Oa zsKtDraDrQo_0jx0*CUGGGPc}}p-*#ME;cup!g~WGjVl#nw05maN%0dbz<{^{vaOcs zqw_KIH)_1nvPZUM+s9g4oKIF#yL5k=A%RiD=XpOaFtq@_h#xLaxvRvdmRdf8oKi28 zsW5q0=NPGM?c-6C`qT-146Y+_x7wEW>L`F@VYqgnIZAqk&)H`i1zTI?2s6cVnuxi) zlg?EkM@p+0nq|YbHqmG(<9q!(Iqgx~+d7@c8%2z z*l>j7`Bp99%*vykqqS=@M=I=o+*J>=gjSLhoEij)Y+zyxtHJ4tzqz0rj~U{s*h~u+ ze$}OL>muX;aY<}5oxQvBpUaG6-iQb*wU}+H*PpwSa#NwVMue01x{6D1G=9g*$r1T; z%`MX^Mf<)FV^wW085N+AZ5@f}R42RhWC<5U;-n73!tAYq-S@j@v$aXg)`3S+Sy9~l zqxel$y}ERWb3hE!&IwXBlhV3rtqZ~mV0^u67Q#qxkutklJ`HT#N@G-noGk!FXJzv5 zezmb2dj{p`J5^-Z6ZdBzj@02h2)1LIwXhYZyqOzv_Tv?Wb8~W!=KlZ}wQf#h2pEr> z`BrqwuDJZFYy_6~o_eHbAfB~7^jp&h1ObfJWKpfT-zUsROjMIywCS;aQB5%)|Iqf; z!ty+Bpts%aKvMm99@N<6^3KpG3zFp+dKxzEAW*o@;xIc=*P2BG z5)T|xL}-n;H9H`EX<0gFijWiUg1~g8L%A?%>Q`^e#wou+NOrKjI#kew=RIl;bHz9v ztO%)Kn7_Tr=N{DHGBVs6X>!M!UY|;9Vf7Vqt;b4IFn+WSoYQz-l_kaLpzQHNu;_YI z@M)MG4I)(f568`s(w)XSPy+$QFr0FF`cOOcL-H4a(v+49#U&3j6q#v0UrJC%-5se|Y<6Q$nRz~xt~Uj7`BOIF)4jba17XC5 z9C1px$nA1;^HQCF;P7g;{{SuhaZ|GI0mlZV?o>7$ag5NU z;~fPyMap1yryx6VO5;NCep5@Fa3~}$0P9B`sSd*Nns6X*_+;Q54B(5o|gYvIa)|}3*@~>{S3=;uL2c;c_C?FhuREizxihoAIrg7V? zJaof#6rRNBh5nTAM_O+|p462Et+XW`^x%7R6v6999SuSrq?p^sYE0l@Qh|}r6pVyY z7@z<>4M`c@_*7XG<$NA`P{PE==Iwz1bvz1l4Z|aYNUIK_qfV6k`q15n5Fec{ zT0_MEcd20!X-BOkFR*u}ffN+yf_3 zNVx0XoDC*9%}s`Yb@^z|7^eY)nopNMEg_BPpy^U3aqUO|6m&l=O_0d}#{!-Jrtrd@ zj8s^l_7uH26oQ|Tjw%aFO$QErsHW#UQ>qCU9BroowP}iJ_~MbE{h+8}#XF1)b4k!` z?MZ{$p^a=QIH`7p19w_tH@DJ|voXt39rPrklRQ$;A=t$(0Tjx2u%sJoD8@1RQvKf4 zlv61&NzY1A=~3ik6(X)hLn%E;qCdUZN6=TyKNmhOY8p-4z8|$yY|$}MwByXLrr?vy zn~}#sUp9PS_%8k@)t6nek%MmEE=~X*)#heZeVrrHz(bm$<-ZJUb#D>tXIs^89Qj0r zg!Hdq@g=mceH)e96C96fJR_m5gKUr{(&>dKy=i!l&zevoT;m*y{KplE=b84jDRQKW z;^@t0Z9zPYS3}{gEp4qOGJhE3=~y;4jFzTSK41-Uy4S@4p;}93iTmHX)1@jDx#W^G zsW`c)qp4Aj2;LRrs$3w%kajMU(E9uBgXhz}Mz3u!-{fVX)lLBU57wK8crdViJ zL`8uiUZbsf9rlTp7gDh-NExkL4Lj`573(&3 zuq=J6n|KoA_p8AKaa}c*p)5AOT#@e$#w)osPnE>re*0+YFQB*9E#$|}pUS>|g3Yb9 z*==U!32c2U-Sn6*Q6#z`EvVtg*0>)N=?NXr_O+M#zEtPlzkJ|a+v^nKnew@n9!tdX z-B4`0F^`pdRZG}j<4-DspsuccD%(-BH>WDVaa8odh+H@yF8~_-p1Ss!S5K{vkfZy& zQatm*GOf0#(38$sR`-YzV{^TEINMylii~ynoN%in56Zg_6e*I~CC5x+ynYahjY^dK z&vS^OdQqQ|&OtGVX9Fut@jNecr={3EHr8l)9x}rmR=&8z_-wETs&QXS#CT}W2PNcu z{zW-Q7ZOhg$bQ(T7|z810lhUbpSd_enjtN@O@u~#Bc0DpH<2*c_oS=KWT}$_g zoRmZ?qp;2at&b2LmI~c-ipK~xqo2FS6}x=NHkwCV3<~=mFNZc?FOlM8)8)jYo6&9! zz16g*glENd9w@g%G&BDI%QCsH6e;p-;~ZhD(L75A?IzU!01%8<=iV9S5>@Ai^*)!1 zC|WU}p~TCmq)H4c%GXJ4vr@3bADM-5kThg@c;>nf4zZ4N8}tW(U$AC)Pi=>lKO^NZ zb5W?6%{LJXn^r&S&2`oheY?Zbvvo(}xRqVnmD&@xbJw6~(Uj8KCHuKG_$Lm=SX}wg zTVM1?-R99!%ar_&IJomxLGs`O(zLXxWcy$Z#(D~#^hfrVg@;a+9-iuN!go`FU(hWn z(?2$Z`DJ2Dz4kizk>7@orF5Pd*wkm-*q%tMm$Hd;Fc5LhE0NN*C5q}8W#UCVSK-`w9!%1l z-%B5&aQ?VPzpak%#J^~l1#m}tqkeWG%XzJhdCW9je=4At0l4h-cE5;^vj9i)OJW%24TSIR(w@=_DlF~ zqE%GbMn_uw^Tdq3)x{gdiATB?KP?sj$t8=Fb3Vr}kUNbMRd-vq^ut!mrrs8wc5^ z0{~+Op~Z5y8i9&tj4lzIr)vBM#Jruts>aekK;f)foj+kC(e*`LXH2xYiAR~9e+uL8 zW0C=uZd7!wZ3g(u=4n!}3J31U>yupGxUUuQhGM~E`A5Bdrvm3cSiwe{dmlZYVLg?0 z(%i9ae2mJ>FvE(}yn-E4%*i0zBp)&QRwDTewPORP<5w-@Y{>vWBTk0#$g{AF<=aDD;dy|aUOX1td zVY_`apO#=s*WfuOHhD&7=~Vb$hv``AQN`hIx3Pn9Yb@=($K2{Gi`D-Cd>vbbi=}!^ z<&e{1mMPfzjhq_ti|IFcw)y#(V!vs{V&PJa;`$#Mhr`;cO>A&pAepZ$jjn!G?ewoK zDkB9?7&Ylyn!F*2``NAwR9`Y&fwvupdj53d>>`tOqP9Ow$(xKULu)aGwubplUY0zN z!@XhWZZIoiCNiMGwZfwexyv@Wj@PN%=MM8GRxbBcn>L{f9cYIg)Salx;m$}!&C z4xdzGQZ`}}ntEcPCmkv1Yti`3$}^3!k=muVZLhYaxrh`FJ63wR3<&LC305x)j^^le zTb`ZG`-BQX9SEw`G;;Z|bK0S=(CA`eQks%ElD2_Vt|7qP*EM#Vah8v0uRA)!s@P}b zYfagc=(_HqquoPw42NuI?q?PCuYmqHT3;e)`m`WB5UTClHSuv6BO{8}gi7j{HlHKK z>Bma>-W=i#MqO1(4@7zSrdLl98{1R$GRnpY5pJO>(J;s$R-|(|VQ7DdVQa>JXFnRn z;%zQX0{Mx%wv4tRR~faiyA(EM{9hm{ORD>!XZ0c)!4 z&&`G)*M0ErVKt@Atfwp$jt`}B{wY-&mAt6DG<|D#z>ce_+@K>31_nKA^0!8KO#6~O zPrdhQ<(%F{>Ehb>V~{!usPYCzws-*kG@56TGWkiuU(+($SbV)eIl4IV{CI@%ycknj}Wg@ z^s18Q%YH{8tIlM-c#7i&vz`9R6|={sY3jL;QfFa>-HM^8ZIFo9u+4u)(RPAAHkZU| zXcCv2N5%oKEkE)3e!jD{dUuBA9&^OQuS)ZL0e`4tpWiipPvUNrqWurE;XT>wJ_c~! z8-H!}&q)N5+!opgHFLqP!^6*xF}k_Si?*6lnJNM8UqiqZKjAtahnvJJ{h^&JU45B+ zw!>g!ZDn5gy3awdk#Yemj1Kk0>e_|sA&$`QUtZ$8{#Y*WT0rEn3%d>4y7-SUpVg%Z z9Qkbp%^Aq^KN9NmYWj@#4#Wu$`mW1ZaYvLG;}vq|*LBRqf6G4JwM``Q&ePNRSMseo zyqL+#erM}+m+sfddwjJ4=ufAht2Wm67x!^mTE@~mtP}+q#(i zI({|xUyi(U;je@~6#oE(d&7$w`B8!7CKPT19%t6B{6qMWp?p8mf3fuME)u9#G>-uQ z9Wn)eQ+!YOn}6dCQc)bNW8K$0=cYcD_xX-DFX5~gEjxQle^>s$1LJVCaaq-WX;Vr_ z!T5{gtxv}K_>%1pnP%T6N6Uj>g5zuAF*BAo5!C$;lAQ`Fl_g}4(~k&gHop%3A6e-Us;hmS z3xB=^d}ZMS>(=sqBc);ynMtJwc3w3rh-R!FuASXeN)%m;oSNN;#658o@ zu2xll-YD+4;8)4xXUPdomy}_hY)3ObT+$xnQPkwsr5lT}HQvA)R^x$LS_rqbutY1% zirlw5RO7vVd5fPk?tZaCpClAX+i4q5Bv2KQVSCcylyvJ)Sc?pU$gXIbNPKq38;Ruh ztBR&9?ieGzO9TcyNhc$LORC)@7Oq%w7mDen0|`jO&}@#i<6Afv8zYc!K7zjc_+jBD z@!yKH-v`-2_Qpx#e=H6*#M$P)8~Ayp>S7H;UWoybaM1e?di~Y^0D^J+GnVoRz9rwn z1KUbq{ovvBt#I%xgaJ z)F4q^RHJzxEmfnRypSTZ@#~MJe7W%>#1UOy%WD&6L`?a8tKK|idnJyX_ZI9t!N%WX zUoFq!%Z+PPYvtTzZX4-eOGc0GjwSJ2^UW8*mtG;%5=j%}cj@V0Ug*9bheXq&w~0no zKtF|M_(#J-PlXy)3RkUqG|OpkZRVC8I2FAgcS37ayFAxkbhU@ih+;#>9+l>ox`X+k z?)ukf;|)$EPu=}-UOK*hp>}qitJM7~deymAk(?rRSK5O8llO0yz^oex4DMaNzlBiO z?qY&C;a&&>pIYDW?B8g&4I*Q(_pGkuidr3ChAu=GxKak%_RD5l>wUyy72&#OnCpHe ze~@Q2>N;0rC2Ezwnd8 z7vA#g%*1t!5kO7eZk|KX=k=qRmv^~eJjInqG$@UM5yLM9W_}>D#4>MwgW?%e(2?v%%E99Ko-C#_hhYC1+F63<~(8<1~@Y;z27P zyOE0ek5km3(nCCb>*L>vSBZP6dBMK>;*_enD;-p!XL7%Uv`d?t!+5+d%mH43ZRJ>B zNV9;Yuok;71Nc7jJryqGTq`Ie@fGKOEtAXf1QyYr7EBRdeQ3*>9VzI3hx{e^{4|b# zy0xd{W>nLrN9actf$(zVN#UfA`>F+6_=h8Xkj6blJQw@P=Hfmhl8;c*xsOzE5 zo*@H1XUkrZWu`-Ucx~V2ARK-biQ-KjSY&}+c7XW<+O(ZDa=Fi-z6)vg+82b@;%~h1 zgI_iLb=M-2@>o%_PH?sKripbOkAu*j(R3e5_+Q3X66%`8%(HR?g-5kvq+N-j8_aLQ z3uwoQ?d}KO^A^8Zw6{~I!1%|>{VVdX;Y=di#c@8kJbjC=@@?>-|+ zB`0FQq%Ugs>$It%(*6y$5iT*uf2DZW z$BkCb*TYjmG0xxs$8IaY!9$x8a=81*`77W}nx}~F@A0}e+%xVCeV~@|Ne`F@%EOBJ zH{cvXXkCPu{YZJ%gfC22o!+ZOsbNkAMS3)c z8cIK^*F5({?tJ_41zXA>bQJ#phCjO=XHDX-c&f|o8@$dzBl4?07qd$Xa8O`liaB~6 ze`NF+?ugVAKf-V;tiIItAPjcoR|^g&x{5{Uy=j{5=gbr~Hi}-$sm^#m#XYb$mGOKA{$*~hxC-rbNY=+kNb|^EXfg zFNh*2b>A--1g|2vE9u=Lz&{}ATgm7+E17;JzBijKqd6)7#dSUtjhY03xW`)a<1BNX z$@lkSy@$irhx2O=e zJ&MNT=0F8YpDw31<$nZeUon)98;+H~;+vRl?Hb$+I2FI4rM-rlWH<#+73Y2?)Ryj7 zkmCSXH9N|$F;S;;I^Olx)UJAp?+zEZ~k*Q-YjrTLEa zIR}+BYV6Ik(w<>9h0_2nc$LIx46o?My(0E`g@BGe20B-g-`x~;i1j9}NN_op)~#Z{ zHqs4)xvy~0E~B~Al@Q@^#eB)BLT1zf1Le;qy`Mz!E}y4b!*A821BxOOJv~w#Klihq zg1A2sc&yC6L=A*q4Pbb)#(~$$v^$CYE6pDE^5KT@g=(2pZ$mi1^gGWLK^B~2h<^7N z7_T>y^HjKIXOQ5Y1xq2efw#zVRCKCW8l-%ALy<&a*=^XCIOp6%}3VlxI zPi)l(nq?cMJXcI8cO#tIxW9=(*amxcth1@e&CGw+v92%GR~aA5x%SmwW93=JEU*5; z=DHGs7ctmAp|(u1>5ppb^vz^j#v_!Em}FKih46FYH;Tj;Fu<`|Oh+&BwkyBYehl2` zFu`qebDNn$fV+iq)tr9Gsywe;)vq;B(dnqu9B>D0cdkoI@b8Uo^(%O`tdOX0V`oeRQV7hA1rIOM)6WWfNg*60N;xuSS*=(11btV3z&pb?Ks*2 zzGwG-mDBuI_-mlOgq|U>A7+>W0z@{c;<{mpg7*y6j~0I#>QCYc?e3*(yE#ZjQ_%%? z5kU(^8XR+samFjiyeDTPq_23m*_>o^>0N!6rq;JD5Xl3D&q}ItWl33F=@!K5SBqgE zAY&wYSB-wudW_x-_;)6qX>?#SM92v0PAljD*gz-0{{RIvHx~_fKm}BscH+M~KWD6^du&{EJ^<3Bmw338?`Ju8@0#>2FnQA}xH!fu zn$v98?0e2IanidDF-vVJ_eTc59IpB0bN5Z6k-I&WtV$fML$ck#_N^xoy{Q?<0r$kWxDlfKxTt1~qL%cjXtYESO4;Z~O0t%h2MvxZ z4Q`!fCmlNq-(6UXZ;*42lt4S*z z>CF})vuG;8OQz;XOE z<8siQnC7u`?N#AEORjw@Ntj%|^S~5xh|rH?^5>eNsobm}M+m_^O;DCn7^)m%q{LH& zW62c2hQb*dUo?!Ttv^$`QHVzZwKn1)A>evd3!OeGP|8ovItl=*Z-2LJ68+xZ)x7EE zLZUuJa@No(lgpbqt%zkYe&`wm_7Yn!l=_N|~8HPE7z;wDV&^cHma1k|zMaT90IhfB?r@ zu48D90N~I9++3_@Za!MUy1h{QBIH*|_DJTB4^$=5VhUO=O#oE2l1bzFTLe|bR%rH3 z%|f;lM1yGCTM^nB6+=(~3 zk!vFI1QP)ddg)@a4EU;7_C_g0h&UBsWaZ&djm=FHyB)ag#XXr{8-+cjSkxHBXa;ff zQL_HD^p|sCdenC_GmbbFN*RL8Ge8?S{_(&SPVE)BUzk-!orIfv8k|Doh|f_}knT{H z0@2}X8D3cC3J*EOYDn@25soog)9v$;wMd(tUR5DRBQ;7@M{UZv#b|kn6|i|RpGwby z_9t>S;2xB~#dR$%*?v*$TGsZFd3&3aQOY5^kmLAhe=%En^c-Wg14tcww!(f?n}F%T zp)OH#=8k(}qBE~MMGIp#NX|lh+}1qrx?Be7R;QKNV;HQ-0;uDuttqWU#F5rdlenz; zS~w5Pd8XV;v2ee5)-K6B&C(p#bsfz58GjJ}0Ds|ol|i4~pXFbcn#z^b?p3(Mn*CDo zM1N?|=Rw*tUzZ*!UoXTL$>}K-?_f`n&X$)jlp1m0o++x>sXXs$^beXEBXdvkNEtMS zX2u0Gdl5hqgi}kkx&cgqcQtFq6b{wZN)daLBPYv#xTv$uZ9T#TD}h+e%VwsuV;_Vf zIgd2m*fhiMNm#3tS>BkY>X_e>|sVo?N9T4sW%FsBBHwc9|ddLmYUj~ zqy^$ZoG8i1u&Mkn;M@IsSC3AbCxCw*@wXIM3H%}8x%^1NMS{d)Mbs`e5iv{z=N`4Cfb?$->4Mix3d`l;c>JrF zh6541lZF9X8Lvas^KGUqe|5_CuRVyW>GuVXC0eutjrezC{juU3+sSZ?ZbM_%y-UU( zE{ej)+3D$$%g#GjhInUOpTqZev)iuceu{b;>h3MBZZunse)wRy2WaRkGWkzz{hs_f zWNCa>^6k1T>9l%R+q!*{%VsYo`K4jWuaZAz==|RdTumV$?vSYVud}=ae%Ysp4jN8J z&00X@sC=vOQ%$pm>&}G$=bkIYL{LngRxtJS{{Y6lDrh%|(}n7BUogRtrHJ{Kfydz> z0xNK0Jw-8MOz(_!rz}2vyN_DZjKqLO2O_jA<|dRx?169(YR7`n?k6FKmcF&y-9v9U z$rxqy6`L$XE*Akur2tkMRi~HtMt{9jE;Ps)JiYt91#Tn5!9{8`zKMGHor$swUt1sbSYJS7|^gbB)&0%YJ!Z@Y6 zj5+lbil%={o*~oX)-)+tpl8n>qP&ksSakhD2qrk$DwFIh+qA3L?uYJh(9SX|#(Z08 z{h6xjF6qUtlzTB5nG9Vd>ZO+EkR$GgWDCCvuh7Gr=r~^VM zZoHI$pQ-k#RL2B{0yB;(x@v3=Sa2#v)a_Vq1NVeb1ku`w81sSYO_J6alXh@wqg}{w zqvZ#h(vb}IfJ6pIT-JgxWRVmV&t8>O7leqA{IAYw*E(I!1Fx+%)(Je%-)H6EP%}wj zQ~)XK+N`K};~n1 z&KDgiEx@YfB#&X`sta3q!xfRat0LUsOBnnOQoRP&KRljINF5AT5e`jZYH+H{vpiMZ zGgDirGN+Hb&uWJ1(`1Xew<(|s)|S%Q=192>SEjoKesPjUDUBhIYIIJOJJ}zWbr}=^ zV@MLl7|H&xsH;Zl1D(HxPXuA1J+};Ex#=O1WGK1$YSzG9dDh{wPSQB33q%IMbBfMY zNWqc&RWo#t@+a_`n}Mk9kW^y}Sq*m_A-T!)tq4&hUzLVWYNmAf3x4#G&ot5z|Izmo z^`V0d4_=hdmv9mOROW7Qe+vG_Z2o%(+_(d!Nx{Js-M(PQYD@(iMGs&UjQ#3&QS2$I zyN+o>=Q-mQBS?1wlZ6zS{Hfyvb3kY!^`*`!p+ zka_{lCMDcxz^Bu2Pc(B#WB5=hSDq>`Ip&?yr2sjk7#OCKNdutmLaOp<#BLe%paWq8 ziWjCBbm>Z+F-WX>4%Isj`UW~wiON{|n_c?nH zgM}PptwYc`dksPSC%;NO#a=N%T=Ub=(vUGo1qUNIr&11-v<||qIvRH!DV?!WV>G;q z5Ce~!pryus?@AYO`C62KgV0ohcF;fyj1$El!|6-4O5}E>z#}v(3`GY66!3(eX`o>4 zr*7IaMu45S9)G&D%0Lb>I@7xQQVoNUxTH+0H_OF;Ky`t{&Z^8@nq=|%zXfM`eC z@*Zdq{DJb0)SwT>o5FRc@WUy`ts;<8@Yv64L+MI5sbe486e!wp>rJK47^ETmH{SH5 zR(=<-qXbizgO=$@fCY2SKjjq}c_jY;RyY*J++S%OD?1f*Of#RDbg2im4tfe{$mvqU zVnKj1X%y$R89V|wryeN@Jw*hLlni5~AS2eCFgwsy>?k><6w&%po}5->l4l)hdsBLj zc%{ZD8tlO2k6}s=%eIo72YO8ukVFBXmaJMQ+tri>a=NjN?x!vp-&hF zpmroU6mUCJRAa3v80vVe#*!w$>a>V+?TS?!R*`*8O6)X93gU(aF1&+H3IHea6r`~j zYKbcp#|#=?Jt+qRiUBz1ik4N!FQq@*wMVg-WK;2uI?@dVIs7Tv;*8Qz7Z?i zg1QINfN&{&r~yyXfY3qeC?u-}sCOOPSAZ(QD>vTgD><^!aeTIsNEyvz_}@~tw$oPK z2;Soi1wL(8Pq1=^Kp0n&c(YiB{%k;b?_VdL;}WOr&!Eci{`WCb%3#v@U><9xOQO-+uOW4K_YjJ*&{bROM$iXmcayTS+2}V>}a#Rq0^b zK_}#X!mR4r99DB72Vhb@m81QQb#-m_nAGe+!1b@Djd-+qzR9L->H4L%k8ZmTcK}Z{ z+37wew$+pDaQ*BaYsn3S*Dw|33XEdAPXTF*XEC^xf=*Nl%A|UmMs`*xc#$TCU*40n zbgm;)4AAdRxZ=Gt$14;g|Ng|MR_YEjHuD-R@SwcCDWy_gn(bu+PQsBKkaQB z$Y%;-09I6~<=^ddlv9IU+&Wc_$_t22^x5+$uczTm;o$L0vFBzuPidk&iYQzA36T7y zGt#+jJ98|%x~+N@^aje|?HPVYI0Cr2Ek4V9@vlO9SM`Qbj#cRMrhadX!#a44PcgQV zJ6&E#@sBaduCrT$N7AF;#!u;7mZJ+ptqC#4>hw)rlH)-~Rp>A)ha{`Zm`!<}-g2*k zkD=sjj~OVxcDD6_{{R%~j@eqvRF@?&)bU#yjBNTJk~)GjUvZo3g_oi8IZl|ACx-^t zgr8B0(D9saEyGH^1!m~j4FV@-6|3U?@xE7~{{Ra7=fmIkiKFWHt5~Cjl2s8ZkKqEZ z%KrfIC~}>7tk*?Lb0P0m?Ld7daq$VQQE z?-;KzvfN;^1G87C_<;%2Eqw$+zZT#cUduL|eNVaKt#GmV9&>AGFl25(>0K_0;#-Vk z7_4M)sj&tLt&I*aw+6p=tM5eo@{hYDX2JW-PUw!(n)J;hAK5MJ#=Nsnd}}wOx0q|w zv{%lRBlg~F`Tqb1{{SUF&-6b?#{1b)^hXD-PrBpFfc)dGDyE+#@V>+wU)0leppae} zVqco2+a&NLsCG%ke*XYY7N&l1p=Md}JIJ?Cd8g(mIj)1lOr_-y*+p{RBts-n%`;=(GGAjqPQuy z$8seriGkv*Xu6Eeb(ff22`FDw#Yj9Yotx@&dCtXFlZ1gK>;pTBF_-|o1 zsyXu82D!qp4L5ATZSv;NuhP~ zJg`aj#c>eJZ*OvAZ<}@k*Fj;b*&QL{z-hLX9@WHI`LMgqI&TT{D_80~FPf}Y3JpGo z$L6_jv98}krj!{DPX#yvv+iEp+L?mo)Z-Oa-%v6$Fyxw+#zmE6w_(d?n#YQ;A6mmW z_B6^dPK8r5Ow`1BlowHCY+zV@E73J*Mf#ms5I`CH>&ES&`xc{d1kaO>1$s7{sz?2g zHJg0SFa>^5!daj8elg*v)cU;V1@)XdtsaI%TfWief%1WmYLa`vtg=Eu!Qn+L*S}(i zbEeciMP*!GTFDra2*Q;4iLcu~v>?*H$HPL8E4_}ZR+H_v)^bWVxExoX$#r{R8u3oh zkBs|P-kah`wHXD3kOEVU=e2pX`q;I&yn_C1(eGff`&Z$deNHN}#L`FTd^=e5B0iy-qllr=5o3(x_?vF1NIfOCsB%lPas&X1L8>^v`f(UJ-wl zJhzHm@JgNaNa?uM32IiSfH;1FrU_<)Q@_d6;I$Y zTx=vBD#fIwSYoBRKt}4%N5c$PU&<4)D@M&{I*UPUsK{bGu47#s@y2A(IL9LUIW zoIZUj8?lqRr4%ym1XrD#QufpwR^>t1%3qX&TEUB=k=n9YZGEP%+R6d)&r11Riy7>z zdl#{-SlwL`fkD8hup*g^@n3eNU^$ND+gV&I5NlC7;;G!Cqk3k(Ux;w`imJLA(*9CQ zNia(Kik-9gR%}icf$dsO;l~wu9zOJWSX79a?@})#ZCB4~kY}i`pmn+8;%CZHoNZz& zTSk~8l|34>?iX;}JJc}9V{oFr0~Pz6LtPDRc%ISlhr}AshkS1gdMuko+>0FCbwYU+ z`a`Vgje2dJKI!}C(~A85{hTymulU|uVw=h!ApZb!-oHh4V057#nH-*JUzMBaEBb4~ zXC;@*UZ>=oO$4zg9pbGZMQaSB_)`@_;rwN_NuRdDE28n=n3`k(d&gLR3xRv7QM!Se zGnIViGV@2Ng8u+;euqP@8Q{3wgNLdStP>#Iz!mFV2Z-E5@(>vG6~J2l?spS5-SztZ z9vswoUOXo^LoNXV< zzf8z+aKvDvC?6Y|VfisKMF6|5qCGjRFB&67so6JThPoSgoiAhiLHT!aRXlxbnJs4= z1xn=N^?bUe`yHG=XyQ?a;L;OaZkRC~R)>f!o$eM{4i}on(cP>sQhaA}?H`SGI{H76 z6S95&mGeFt$|@2|x$ALUEn@{OBQcIf%yy`ww1(RG8V*i7RPn;`MiibKx1}bJ8m^_f zPGiS<{bIbm!{n%RJpTa26NtP}`5Zc+t^WWC&X8S7h%gDPFCE(${6`hS50#lmYx&n5{{STy%>6Ep{EL1>o+Y-zw3!^7;<+nGSM2X8KQJ7M?zNaVgXVhVR~}>X zL#pz)uifcK_bB}Cs{P|Ecu`E+n&<8UYtOX+wmu`ei2cWRAXlOIXe@f75O$|}^WPJN zJ}7k!j#~!5Eb%Tk!!J~QcM8AWG<4n&)Cjbm1sGfqD<0-mwzy#~3bty;h9*OL@I*g% zwzE7)iEn;nl;H_Dr@;7|W$`oO3SaFE=k;6JEu{U{1Z~O9bC(*V5ZlWp;AC{bUrK+7 zHE*=8$kZaI0E+W%Lh&NqyOMrd&xvymS~BE2a-6f9mzd?Q?iuHm*En|tkM0dNRN|)jf^^ESCrm(p5j}nwJX{F(vTLJ<6=HlUUOdv z{A~EF-aFQ0x6_+tgd}Vr@ZE^7w2u{G@~kVJJ6&viy?lyT`q7(cN7~9o}HtvfgGYHnQ<6izTMwZ8$R&3#IbwMqTsjOZ&kVWR< zy#k8-oA`y|8GKdasqTz|SbWcvj)MoKeu4aJ*RDPk{5vzOV&Li+i(xpxlw);%W$19U zvo*mTNq?s``OgqyIb+C=v*CO$(`TW@kgu6=p2$+(roLSps0E0OqtUZjiRdITYY$D4Iz-7FBE?YQynm!SYrZ zRPXQft&ch=S)?EgR~d6H*0HQw+SrpXn<}9L(>32hH_;wmCS0*>`cL4dkuIsF8#$sr zOY9i+0>7nS*+vaE&*5}db`bd@B8vF#!E5mg;O~I1^y^(VIAAhP*x437{eI{E&Dtin zqWCIkwW~vB^2!|$`eMDPD?s=x!d%imfN$wpmtS$4`?aGptZSAyt}kA=xOl?aw%lid z-n($HyXHJ;=&X2$jkQldP*{|lt8MnJ{Rcp3?c;SGY>&?691PR+zXROs7teiqg%m#- z=xf^a%`)3hghLVzIO4r(xYZhbw9I6!6BKCa4xD`d0KK=hd0ww}$mS$DL>RA5@iwBi zart5J4{Gu2;TeKkve`=44OPM%(mCTBo<-t~N;`{!H)H{Tqt>(Rbo;c0Zr6owquQ!l z==VM#*ZiAos;llGcNOX0D}_8irVC($=24OOS9C2sM>%q?RCxD_7)UB5zrL<0iCx z!ehend)LjaW_mAUow^L$qdhxTBZD6Yu&##pI~akCS21@n3!HIY%^6u7^IDmWB7dZB zJOm_H(togqu@0N!uM*qHf8-=$RUbFXA=t_J@n^ z!jM&8gg($)fU4Gr2p;My;lCQ_ zv5yo?vGB;i=Dx!CQR6*3#=ZcxyRl#-iY1BEcG>{1o<1PK{{R&|#1@DicOWYInkv%f zN0~xgwHrR3_%(<;KOASej%r_s+QqW4wMEJ4x~upUK9k{lb29C?5&X&cSDN^e;#=7y zmD>j=<*e}7RT=XYIP=cuAE`!O`AWCS$E|i6)~ju4;q{Hr-Adr2mEtNVA9b=Tl=y+- z2qV)sMm#C%bIX1nO!odc zvw!c*ihnx&Qr)`WDgiE%?TWJD!GoOiFc{AsVlrD%JY?r77e zOi<`4ON>T|5wRg;Zapw-5B7b-{7t$+&|4=;=Dc4xywz_ngYH(5 zkJ7p?*}&t+H`f{K03WS)&)`Qx(v^?aeH8AqPIK~%SIED#h3nes(?Oq=`q$RJ8~L=T zCg@~Z__Ow*o@SAA51QEM(*kklH^iPPdt!!)>65t11En$kg#d1K$67Nv*>z^ww9FLgsR5yt18wZ?e9 z5e}*yKIk=S4M52ZXiaUpOr&MYVE5M|23#)T&2QgnUt+RB82MClS1mTYs17g)tv?gG zL8owfii^HteWydrg~MCPxf^X{YxfF~dAZ-mIIK;2?SPG9YynyKl1gkwAjOv(ZTDUVq>zzv8(K3BkerO;lsf07~#_0eg631Fc6chO{(CS>SCwFC_l}OHKjE_pfna*66T6 zys*a=;~GWq)6zJh{{UEU1$_zOiwP!J?(X^HAW_fCjO!26^o6&CO(6N0dRDVd4ZL4J z$|>57(#GtHKnsjlk90KXJ4`^U&Eg)$5`>qcj)%CB#o2a#I0t8-Jdmn1~GH9M>w3K{g9__7r2MrFp-IwV7`8 zx3;@NW|eS=zO}-9F8GzB_@d;(?59>(wzBsicdnZD=>Gu1NgLcR%L@X@igc}GGwELf z!ej95hnl+{I8-0XxPOQmv6A_8R6DJBVm<4nhhDc`C`oAi?d5u7it!Cn>gN9dR5A~v zA4-}ydp=_eYD0acM6O=c1y4$@Y%Lx&dDvxoR?Kk9$jkS!S+eODQ^*!Pmh{DTSiXLT zO>FUKIt|tT0Np_o;GO{DzYG32>+@^h60h!-Z#p>~4mu2RU$K85JV|fhkA@S$btsB? z6Bs}3Eq)F|s2xkh7Z;NfBWVr~Znf|nSBcu1KT6=t7b zH_Hjcr0t`Wl#^w848ZNB`(NoB) zamHqUm9Q(F8m{-r`Hg8>+$@dqH#B=9J*qd%YN@ni0-lkfUBFg&zKMT!#;1<@5T$cd zu=&WQOp&*@TDJtxfP$%|)Ms|{#%aH85#gd-id=%`It57+_l2-MDrlS&&0xN)*8xy2 zJ5{7+QjQML2Q^%TITvqbjGd}#tTylW)czGt=q!_Yk#e=E9ElV`^UtLra~d|wZvOyy zZINqGv~a?3a%-Hon|qgKtFg04+q#aJsA$sK3bDy6XBDR%n=0UZqORJ&k*O!YYPhj^ zk!*fFDH3HwTWLYmR)kh&WEnML9W^3t%yUHbPPZqI6KLQ$7xATzEfaVdxn7M~20F~bd`u&W?P=9h8Or*~F4LCj8GOc!pG(? ze*FbBLZFa7kvH?~O}mAl84B(wvXITJyqu zy|~6JIyHFPdU1-`Y%8OFD?)AYHgk%{ju5kz90Ag=J>!^ho^gt;18*FTeQ2@^pi+^( z0^rlt^O)O;ueFv>T+t%QC*2sL$S#RYF=qsVYByAYaZiRJw=6zkO_DZ{bInpib}6&Q z!m}=dsN4?~E!xWx<}NECce)bCHL6BV#YvbG^3@_;IU=--Sp@o3Vi}hQrFGI~6$+O@ zX47tg>9W5q{BanI#afE?^V+{tG#5TJ`em!vWoM> zR;z4o2I6-F!C_yOel74h@WR6^QyZmky~Z(LO?)EwkKt$2;qcAE#|^}a3d!7U9V>WC zmquYY-(&Qv{ur9)#%T9{3w4W4j;CZt_pKT1-%9zi{{Z%J{ieJf;%l7(O&aS`OBNZt zwzh97VgAi&_)Fu*#Giwj>{_;meKe3;;%Br63p``~S^W)uxcn~v0D^;j9`Ub+w9Eeh z5??`}YPTc(FHdIN*2kwmT62+~?;?IHURmnW&nAnlK=yisC(CH18(Sl&$F*Q;z89ZQ z(xj8j2X=mfz2o+e_>G}_O8B!jx8Q3ewYRgDL}{Tp7g;}i`d6NK(nW6!7D0|M!`~De zpEKzCRovRdaV8{;xaY91PVvBo&q#|(kF2T=2d#7e01c-C@>uRLa6#v_dMAiHHk!n# zbdn#FfCWU2BcnYB;8nuuw%^&87z)Z;^RKM_99)I*4aJ}E{JU%7uMBDj!?zI!j7i8D zudDtZYH`crDDJplIH(Ksr%1xC#{U4v3k=$v4nmsz{Fq%W^owiC4CcQ^zBN2QV&11X zQ=0tKyt$q|PHTH}kC?aNTMm}S#7`i6I^dd`LA2!aS#j!Y>LX#u?^piXr9g2(K-=9< zlsKx-6tP5Ij~&HaYov-I%k{2a_f(PdftB>23pVi!skWz2YO#B!!X{np0RxJDk0r9k zWnaIKyH~!;CEVgklWK|p<~3UnE&yDNcCRnjNrnaw)3ti9i5RScBs>n)_wjk2U-yp`>5O*~eVH5P%|6q^>VwT`GJAVe zy-s^-TA6s=2j8qGj$xIRcJrFtPcGhIf%p3RQ*Pwmcq0OYi)I@nko@tV{?Zl zt!YCLkqFyZ*A9?5Mp_FuEuxBGInT9G)Z^Go`c_}|n%T^PE<<9pwR^}-xEC%Fk zxeTT4)ti&)QI=2ja*SuDDhqaCHx30#9w{<)qp=()sN$K>ZDk}Ln5~(x zWBI=BI#zGmk}v{+igqZ15i1gj)YID9MQpuI_Lwo$D|*#gH5Uh98-P7%xE9+B7TjYM z%IlW|TJ27_u8nTeUy=B(b6bQ?=?q?-sR5ti;!<6Xeo`y2k~H3>kIH*jC#SuZJC^*3BK{q)#?>w`y zxb&;RJjLF6kytl~(M|IXhO{BLk4cCdn6-(ql|T=_C2W-am6oBrB#4y<#}3^GP?2Fo7aw%@0K;i zKnX=IRP%~Y=|M;U`GzUwlyN{llmUtaor9$~;~aISfIy`Sj%zZ-`GCpkN*gOrR^yRT zjyRwPfyQY-_2QZXdi0dQXCB6pc4FW*HvQTL6zy)5n{o1rH)rLO@TnT| z7nAZ1f|s@pAx?6%?1M@94#EOy^ipG*2AEUuF^X@sI56o`VwU68wvU^oMu^gq-@#7y z?M?)br5yyK3_$r-g~cZ%^U{~@kF6v*COJ>#NPa_(qMCqU=bU;}pnCM7gmpuPF_F|$ z5a)*Cmo%JrqzzwS$#Z~(VXCpl+nH0kwHxosxdys zoy13I>E4=2+t2ArqXL1U*v}`5aL3)I@k^fdHq=%e4$-uVTxXHekp0?z-`xDQ4cMz( z2V8cg_N0&Q4APuuB8|Z%VPcV^Qlq^}HaD@ThC5Tfo|O+qD2DvuG5FMiK6yPUilKVb z*fu_1l?-r5T>k(KJIffxX|cvOeBEj_jQN-+0+3k~>;nRmW-;EB{q8zZ?LgS2h+v1M zNEDux9^CS2aKnL8&^OT%4wN3W&P6}9NDXh8A8M2s0h*5^r9F7!fadN!bDUH7&MAz|AI!ZfLCWu_V$-PZds2=$r2`#0 zP-zysfTs_;O;Oi0rWc8_40PJx~yEM`7 zLH4Z1IPfqjRD!!|Af=BrGGGj1rG>?yds08jqMSHdlC5D!Od5BlDOGsErh+$YS_@u6 z^rr>c&MBpHPYiliQW`>n4_Z*UA2&*FJ5#~q2D1%^o^k2vKu~xzWpT$^XWr+%BDNkE zJv&prw86L>(MjryB&Tysrw?jCmqEaib5H5d=}iNS(NhsI{duLKO5+{rJ&h{{+9AMX zaY{L)$3G`ZUX+JshkYreXN9FWJXCmW@x=x5l5Oa}-KP`s5I&V6@;RnC2@AhKyw@FR z*<9$Q8@nD&;-9i@3epspIj&mP-rDIDmct6A;$2_+M_2vG!YRdRTG&lGBS(b>zctNk zx|I*M%cyd|w{Nx*OwEN}l&`8q2`sqJrB8jO{{W$#$B;2xEOr+XOY*)zuPQOQ>PE`v zV+;b}#qu2IsPwBBwh`(O7H&$8F;r~fxrnka2uDL(am4Z4vcv}F=|o+&60zquUK6#} zBl52PQm2AAspHa?%Fp{eE<$(qt%tn(8arKKahmeYcgE6N&Lg!x$BOpwe9|zj%M+8= z9_G^iM2HYG#Y3cO`i+$8$L{B)OE-ut?rg-hMBR)FCH$86fl(!Ri(}AThtq$2hM0=0CxB?~cNLX`o#HZhF-KnZZgxMl}PGf z+*-kU66l}a2ILySz0#tV>&;KRrlf}d0M3~rPB%U)sCz4gSvVM4{)F)7J(XH+jGoB& zejvf>sw8~h;yYO_bqo*&=B|=s66g_=p0wYH_CxF^Qvj>R;YKNRR63W2BFg~4p0)Z` z29L7Fs-4a(Ox0W;FJsQhZ#0!0XNuX77t>gG$jxWX{*QAYBaGIhYGtr?_piOo)$p?P zK4$}^bYf`arllN1?(P-2;;3b52|sqZ+bzp|8x9C+-|MLT+O4&@G>>B-d60Jf<#n5)I6Q9!~A7zN1 z$BOk$ZFgw4xE%RHyr#!@kc4y<=z6B4BGDjb?HCpKrv|I%Gk&MsaUQrh{EjLuyO&_6$$oMw^jf*Jl?mk^3xV%n&e*(P)VPP*)$V?oMxWL) z^$2!GRsGUj-J5LV91?1zH!|AXc~Y_R)bMLl#P&*;M&duZKqDMiBe~o%vt%FPujo82 zbzX|89^aw){dn@!LMFws%k4VHHCXZ?alI*0S~f79DEehwl80xh%@389i&1 z)EY>q4V}nNYG`#95$%BNR$-89`d^at^gaS;>GfM6=ruJTA#Q4>n>=u8P~0iZWb<0L zfIgBGf<3!eEo4?D>GwIW<^DCmyt_7yYJE??$>;Tq8-$H76WYNX#&l7(Uz5rc(8;ByLI&ZB}gtgezKFprsE zgIW5mpZ0Xq{{Z9N(5jF2s@IBCS@~##Y+2(S!L9}?n})MT&&-XSeJjyC=GSz17Hz&@ zKgz#7@c#fh_7y&-GwL(^A2dC$Ly}vPg#=>?-RjTU9tqP20jfD5aUr(g6zG1Hl-G)^ zOw2bY0>4|u;%^4JA0>yS?-F=|eOiB*!l~z4zEuVB}0R8;-tSwVrNOwziL#hvz z2T@*Gs`!vy9;tApFI z^7Gtvt~D=HSmi(3R_5-Y19#d}&Dos6o- zmE30(qX6Qg$LUCT=DnFqO^HQ2wAl4tBZKs<8Gw;9-m=bA;=er1q4jJ}I$9ku)mYnd zN(@sE%YjvG=0EDqSztwdh66H-o~O3oC6kV~7YN7*z@~7uvl408Y{_?k0}z z=0#oP7Guy?_7@A_=-}`$(Jc?eG1#YH66ACKJ-p0tp%@zlQ22Q9MXXB{Cpn8JkL6bW zDqHDV9gKHczN2p$*@T6gYq;r=?O!@s{B-b_fNq*3hD+I)f2@VFxIL@$UMtUV*lg8Q zzKX}&(W=Jw}xVeEu(o>QMLUt0V0jH`DH5 z2^@+yF5XXi;NH=!wL80c2vlrft#w`;_-`aHZkoKMofS#g+-9|WU833Pl6jDfhUx3Y zd0cgu!o44DeN~R^hP+`@+0!<>EB^o>Y2d)m09GcYXkn1Dcg1OVNqoykU~mUt%9Mq9 z8+#09y?zIuE?$x2@f>Z6eSybhG7N+Lq|uYrOHy zQQl~fN(V8V*Pm(OTJuk4KPep7^T!dtW1Xq4=jnMv_P7@xBc<_0yQx``zVZ*2xpn^l zMzQ_q&syyKS`iu$qp>T7D|EzVR$}@n|;ha$D~R#!Y-54QBPDPwMbTwVYw; z`$bZE9x1Epk9RPJ)lSvmU~+4|@GrrS75MH*?vgE*Y(OONe+u`Hg1-P`xVmj$#ZWL< zn{SldAI84Nx3bcFJ!~vASk@&`(Bq2zD=El*qV~A0Z_xS7$BF4tUc(AW@K?Yd5BNi; zH1BU5*Wxkz=>TRzzKzg+wZ&XcGXL(<`VEo@Z2v0GyPv+)PSI+U`Q z?w%xbh6u$$Q`_lWb-lY!I8cX^(M2t-w3jR(flIkKRUK>SZwUA<$HSUC_>;vuW1nvO zSfAx!!`i*S2wmruBif@p6V|WzyTn&I{-9oO^-+={R2UdO)%LIKQ}CW`Q(JEx>QS%QV^b0< zkK%Z(n^yL8662x)?42t#g{6446XBfCfpDFi`?8We7RMmWRn$`Bk)4V+@ zlmW6IBfWmCg+&55lp+Cz1AsAKp1-lL#4ioo-s*l1)Je0|F5mH>v=)~0SVM3Pder%7WBI(ddRzh++Q}1m4)iS8)I@PvCwzu0KKsc&X z+9=?u+;^883x)Y`D9BXv4?rt|n^n8GxhOfFIk8xgF(p~BxS;ozFr*_f{L_>i?TT%1Nd@19nI@=Ap}>H{CDvKY5O?>Ec5G%`Vv{~bbGT5idX^ASH%AS zw3O!U+UDI#u6PyMP6x%uEJQ1Qdh7X9QfVJYPklm}>wf_JdX?jc!yMS;AC_QT~cHNOx-#5CCF7e&VTj{3R z0VL!$YX1PiG@5I*Fn~}VYsq|7A$n-)qc}*Z>^psX$Hc>0E(Pn zC$N5nLXRp(*Ha#g>6|_IS_DUG%Ckj8~j^&im}vr6N4ni-C5UkrGFe2=0E& z-eVQdO3KhYLv5#Bn`?pqX2Hc*ZD#u7M@xmwOTz6H;+o#7ZS`EI1UEoy+Klg^ry=&* z+FM>&8=Gu0m9LO~AxhVJoZ5dw87cs;aPSX~H21X{W%R2V+5(n8da=A|@cKC}8(V|- zhHscMbQGoUQ{^&;yFYmN(_DyIAdG$P^%M>g5hqedYU%uUqRnK@Bb?U(rClHO4bQH9 zE6G%OS>1g!E#6{Ydm7_)CfZ7W4R?}86fnj?>0Cyzpi_J|Su=C>b&*mTSQ8%K2}O;~%AZf9$WU{{UzFT+-|iadmR4O&HB+vpQNx{gUw| z^V_eIgYScqYvo@SYc~2jTpMq_DA?bPeKYX@tQt($fAi0w9gTbe<4tj{BAKRqK28N; zOG+xmQl-r{eDkfV{{X^Ib2&LzY>Ld)6=b$}oN&kbR;}jgcFKPFJXI;8<9YmRs*l2S zOHB`E{hPdTb)e5Kg^;lj&4ce>NLgFKsd&5XGa!F4*J&e=YxCzzz5c@SCB5X z)%TZzHQ2R%Mj4}JeY;Lau&sHtIHgM0XVG^N2<;v?xWfMcO7k!5mzpV>Mch7Y8uf`+ z&bP|_;wuqte5fQc{oJvqPIgB-TsLiq`66H=aUs!xlhCi~; zC_P62SHv3kov4+uQ_+CMa;RQcJsMiZ=jtcyw`l}l4w_h@5SN$|F^uQEdKbhEQf(gC z+>Rs1C+X=+@P5o#coR>DYLDEc~#lDV(3t}Xt> zV&)R*D`!<<9!E9|x{OB6o zn$N_!41_aBBdYx~QIt0ta;YPgX+J~lFA2|YXQf+P1yyBL2lB3e$C|{m%N${Ubf*Iq z1Q9eSw;S*Rjz0?J^{bAFXCbJS!6Of+~ip`{rgJg=U4sEY5kY z+p@47?v8 z9rCnz>T344XDz;vj@=G3T`K6tUn&qfjty*hzf1D;nBvAUv{G_h!1l4`pJiF}83T>Q zLt>!#d><3VFFgI)(V9ilY*aVQr#bppL*dOXCAa?5wipld5$#3pY0&b28pOI~+eo8o zobgb6I*i_HKWN56e8Q{zRMeI37TPiMmlf0eIn$)mEe@q9;I3&}#=m6ruNB;Rk?e?! zu5t}|SA_2uPVqwBOOQHo^{ZDpt;VIRNFzCknzNZAw7*4<@9z{wUg-&Fd*{Sdmr>B5 zxQu5U{ur;H;`{ygsJ#iK^fq*l z3_}}2<;zUC>U}HUwEOriEEOeSyH_07%bK5ytu)J%GD-?BP%F-STk(GG{sgqsSfVKa zk>0YL;%n@Ak7D?l@j}N>GFn;5`@zOmzEIbEU4N^|y5d%N{TjKwPg9oi>RYRq+{EYF zvWxkV?;n*yrz(N&#M$!IzG+TsDU50NNynvTt;xn4CaXQsf0q^8O9YY6DzBk!B`m~e zy7|mJ9&2;-S5pFIdUz7N1mNxv%c=V~I4Cm#cU{@P@nmIs?PUhUX;=1b< zY2eu-FvzN!ewGNy#w&Yt5Jkf%+gQ{rsKSD6WeX#1 z$TgNC*1SP?7Lnn&o@wT7g^_mz2f4>VSk9%9(HPvFX1LWg6w&mBGhIw}paUuh^*yWU z4~O5go~^20!9R-wN4pLYKIsCzv*2&+;}3-N_15)(vuaa-@{`UFu&=PJ>|%x`P>L7~ z0taDU9xE{A_hM@mV-Lfg3-I@c?O z9`)%iT5FLLP9JEW#k%8bcQW7Z!m0UtZm%NMZmjL2 zosLH`*NE|@+84HsK*vm1ja+M+$wb1r^cCnc>(lFbig?NbJBsrCR?z8}jVDzn(z`h< zC>z$AwaP+39D!b`;d@x`;u?j|%41yqmEjgzidI&Q2tGg6@pj0>$8i#dle+|GMXCC#SE@3BRXX##i(n^Q~T#C7Ab8rvuK^W;+ zx<>Jl*@k`FPdwJd5g|`6psrdw@0TR*OH--?~u0(`=GtlAxo%UIyf?%tKB zZyLoeG4h(_;dwf!;MTHg5cz+-J9hCah&U1)40fxEw)xy}D-hn6 zOb+!DyqMg_k4hX+`A(RmGYlpLNA`0XWe*~ z&Ol?uYVJ`@2!tLgc|f5lB?NJfl>)TUjx&nUNZB&0iY|^J+Kcm1$^xXpqS~AhPPVvm zt)JoOD?Z&F4rJhZRiuw}s_HN(%REh@NDdvt*+?5qKlh9R3kgS>h8kcxh35t=NaHpj{K)DK- z#AKk`ROAaG4hK#u^D2GS=z7#;0)4^2tK|}AETE%&yyBqVq!%NlTDnqtaa3e@k{mr! zMO=yQ(D1w(WLFXsmKdtA{h!So@la}af*vESV@QW2KI-f-*;EYZpCCD`@3bZh6N6ag z<@3wu<*k)13>`#{uO49eNTpH}<;WPWbWJYc5Y%mbZfvr^$ zI_TQDzL#ND=QWHjB(+~MU%OdT>WdqP&lN)FP-~JA2g_SVgD`l6bgime%05mhlHWlT zcpZL~%CDF>0<1)aZn>_AP-YXwqjr0xx6!VyrP>rH9<}*h<13ZB@jjzE=W9;buf2XL zc#bU_Ksc9aj2+9}tMj{2y8CtP*LcU8<+1gza|K70A2*ufp(xm-Df@*oj&WVwtoiZT z%`}Wsbfw9ok@f*YQ^RMqMNZ?=s=z-q?xLa@r5me2B-$w2Dm~P0HJA%uMSMNc^bZ+$ zZe23&D59R(Lhr}#Iq8b|&>GazHGBOI`YlIJlgpYDmGt~Y26ZCNr^R0n^=}QdlDclU z-SQF1+uNm6@Xm=e*O1@MgoYOmaCzg}y#m+b^IV}%5JC2U!;q>!O7pE>Ubm9rn(~M)C$*Jkw{sh>A(Y^ZQyV9f-o2CIXM*$} z7@2JK4c}?q@(|b?K=h=ec2ZV78^J#jf3)-gWva?En8wD+n5Gs4!^x^?{F z*eKv~d9PiA5h#`x-i$b}l5Dk~ws@W?Jj_Qdobz7mKaMnQAj784tX=-;?NK8~qdTG^ zxxIoMalLc-*U}yyjN0nDdcl<*V)84%d@-X>tKP#ky98DN#%tVC;_k-s7>6$j2XN_5 zk~@Yk_HH=#t&5F6 zQ}Hgd9kdWT#O@KK1LYa7t8^VJOz@71wh-<6K}96)$oVUS`4Misy)8WQCbgydj z#3oB;7(xjcuM+)~(O=;YhhZPXV-WlRuW6XZbse3)?Q?=T{{XYfb0aUxdskWEnK%5Q zjuW?GRCQ#LHlW}hm8apc4ZKn-xDI+PdDV`dhgoB_ZwNg-Yp0AHkf-IYI@0MSBmsgB zGwoeXvn){(?Nb95wK?mR5Z$p;!8JDQ#k^FKJW|SjUzasy0$j8if=oht5C>z%86|_PubgbCs#OwjiPfCd02^?@#tq{Cc@_nLCN$4to z*;pCda*T0KjB~ZPJ?dL4sP5lpILB(1O9?k_M)^$uSc!0(3D2cdxVI2C_8%{`Y+74N ziTlhPbQF_7E&){eaoErXddfVWI320cvZ%@JNYFW5r;4h}Bs>w3KpJLb@)*ByfGe9S z!#T#vu_UFA59L*EG9hGMIN(#b0!eKtFps=CRQ7Ou#x@m4PKsFH&UC>XS5T3vx0s`n zD6kk;Hh6FW!1kIQL0i|}CSgWAox*er>$4X`Ot9_er8277D5&zTn?1A2%hd)YS zglBO703x4-U%Ow}&7aR<&p}SeJc@541k=d_ijWfr8KmK`e@ao7Bxe-dWA65#dJY)v zOG1u4DR{*JZ3G;9Q_sna(=m}x7~AVXO2VIGz@#RS4k_V5`c!$0MeDTprOwl|@kh&? z3Ur5dDF9Qs6w%s-`@a3C0z|^+)|xnPn9z&zhdpSMZa}5DSXSB?Q>0*U2Ojj@qZu@r z>5<23OmDF!Jvvful#DMRQIZA+YH&VV0!{%HAcle*{QW9Nk13Vo9+VabfCV8^SCfH2 z4^lP(=}0-GZV+Rqd{ck{Mk-&*x512=^4#ARn5a zvnMOkoP^gv$m!`%94#;b(9(T6RG>?tCVpR+@}$nx!*!+J0`%!fKY91KrDBk=la5Ce z;-R@Gr9S}^AC*ErUJvC{aWTN3!jy10rW1~|;q6GSnhHT3Db&zH{LN0={9y4>aiM8( z^LtY5+_|LP{34yi{D*}DfkS+}Q$qBmlRd>rexb^Z;C1awxVOr~6szjpDOeCeplnb! zj0#=Eue}42kx7p96R5ONOX-St9e^BC^G(Gs^rSA9K#Hv>-ZP4_?lJ<^XpUtVsTe41 zjwl<@QaR(LA#CsmN;+^mPzVBoyvKpXBJ<4|&M8OD(~MHE`Gr5-H74v0fMS`93Uy{e zy|fbm40=?cF5W6UQPztOlzsph6m!!w++b3Z=}VLyny~SM#YxCtOjJW@0CY7b>~Yr> zoQ9Yw-S>|oljg@98dL2`4?$83eMiQ33>sdBka57Lfr<)txP3n=QO`X710-Uk1E8q?0E-nW`ub2JTn)Qu zBWmGC6wTPD4hI#ODFG(+rxelGVDC@dv7Mc27$zv` zO202kZ{Fvir*x?WVf<3k4u1+-hFG9yiU7qJq#q~DX$*gEl;P8wjeop)Q|J(*^r;Gk z>G@P)v&A?mA2(q@HZDym0E|+p^8svQ6x9W(4%!lc0^_YB@%Yko=}I`M=pKWyw~r24tNs2L0UAqnh4zz{2`caI~6mI#dSR}d&yL$}u z6z&6iP;s16?JdBm81mp?jzQv)c8NWyRTW0n=h}d{>)NK}#8UZeV*;Iw9w^}bXw68) z#XGNRZ_T_NNu+<>Hx@BRwg>*Qc#RRv98k{8^=7t~hFGVi#>9p&XhR5;x1joY8?v zz~-DO0JKp>Op8JS!mDbMc{*IudsUz_#b@h)wud$IDR1)zN61A$zuQM9qNVDcHOpwrl;vnD?1>0g&)e~8b!!v6pb8qIdsFtxjNCyL5= zg`7qI0E^nL*+kAf++zp5X6g~Na||4*t~0E=rQeC)ZO0hmx~I5Et>p5?;-L2H`rMe4a&lZZ(%);1=qDrR!jGWkU0_S(##ddlGuM9qPqYI9L zsa|-3)=R%4QSt*{KPr#fp5!UVl=GhrSY1V`f22fqu)(hS^G;aQ#|~F;t@~IZOiQ&! z;0QHiQG|V;&L5=`uFF)Fk15qGq=qn@yro=?Y1+W-#(AEyAFW4oyxAOP;8t=6q71-%_BFK%*Fe}ge zU3+L6E4YvP{!02+)9{9KQwxq$=y{p84mD^vv&{Y@X+m8H5gr2o#YK5ffiB`zdpVd9 z&J^~qr?s0TzS7goUD32-r#-9XT~-M6Ul%NJ4=yHQ$E|-^V6jTPY2s5qG=wD%YAmU* zz#!D7TyeXlTe4JZHjPg`YeU4A%PgWmanB~QwAkHpN8RaPcPfsy6|W<}rS4Z(IqPqd z{{Vs1;C*X6Tu;%l zv^}l`Nb`4&VJpNA#8OD8qG_d&d7OcaR?edr**7n6-D;eBE)h^2jJ}oqCxx!6(dP0$ zHmgmkGj~`|_>!d14Zd1{YJwlMK@^M2DPAjDaAeV5&~kXJ{W2Yk%Co)zM$)12w~qu=6%vt=7sj^1Xsx<7DaxuVki4MmYu zG;V%UD=YnrM$=smux>5o+@o-ou%a_fkbd`U`d9Rx2N}(Wi}F7@ z#LYr(Cq<^+O?jO@btLw4Sm_$tY8Q6y*#iIyiqiA@F77mwpW{R2E6Oh-`x6x-3|kf2L8?aXE#e+r zQx039&0}lYDq6@2NbU&EPilT2X8ibNhi_D2#F>9BUS+X?XeRlFH-AdG0xiommD=w^ z*w$H+Z9N)JyQ?f~A7$NlFK*TK*~F>UqbSVrFqnBMrxTlIXr+<}j^+$VA5PWTXqV^g zfEC2CoS6M9&hGUQrrSQEK+CyN?V9DE#!@7|xoxENVcx%)UO)RYH*-HtSU;>_)DKqF zb!Qh3EzBZ2^&<6ozWhBDZuxriNz>2^fIcoCdGTC&mdJ)J4iL4PUR!g zvq{?cug~+C`y5KG6RMNC$D8QR59%*$UUgOA(2{RCA@XH|31CHvGt3{H;jY z9R_O%5)T|yi*X=48rqK*%l=<}0rhpz*$0dfS<}YA=cPyXnSF6kw9e<|HOZN0RIxPd zm6=edVd`+)cCA#ziao0qq*)z08s*D#Sz)&cQsy;fmN)uCw8niuB(Hc)rtG)a^y&5ikuIJHU| zXJK)DGTPY0WtGSZgS}U-ufe`1Zwc#BYN7!m0J^o0_mbF3IFx^OzQ~R*2ly`5Z8O2vk=P@)=2-h0;eHREioZNaqiWSHW8)XW=w3#W_D`7c@@BuPI3BKBO9cx_UfxIL{73cLleM%u z`(0L9?$nno2^lqo;|u=)Hgg6tQ-Ms;wT&BDL8$n0Up^7fBht8^9pCtp)ef^^WRrIw zgNzFLo+ZNb;CbWZc^L%bOAws@BFysxCU-^ZebqQua@CF_9}zJL28ex%<@Q7 zsqJMYW9tj=ia!ptxg%#NQ>nRL5Nk}y-%kN1svj;Z1(w<0$ZcN=8XI&5~b7|@gE zf&4=i@f0!3JfRR|n)~bHmaE}4@UV+kn-?>w7NG!do8KKP;oUw*PA!x(4(7j?JVLF8 z%yWfOFGQE%e#yhol?*2`kA$GP;bE5^Pt)I4W?cQbvN5ANd~ z6m;UUCZ6wARfhUz@|U1Jv01k=#b$yywu}$FJ*$>Du1ayI1@4`2ryhQJ?oXp=)9ad) z8XbftTZvsjAa>1u-~2!D?We!lD;Y4X%yIlhdRM}KvFF0()-^eNU#my^yJ!8` zBlt+Kw0B=M;=VI7lBrdiPJGPrdxp93e~Lt#jL@Tv!>|>#`%QSB z%fTN7ZgdD8Qs(^-!WV9J0nIsW!k!08?hc&NZ%J7wKKBx_U&|Z@Y@(b&Ibe3FAfix-Dr=kC9a|UhU0Kg+2>^ z8+=Q%h1YewBXfENLz?}G^3zGuBDJ#sIz|)`>IHmr`!@I$JUyZR0K!Fi9%i^;LB}9C zudA-L1BSO@{68i=Ywhx!x+CjZqnIYSKgiv@x)ryq)TzKR3qjkxfSBe43@_7f@tpiJ*O0juIG>EbChpm zTwlZqtn94b@UV_Ul?~p#5-od5k~17~;bIuC67e06{3V_t3j>z4Om1G>S6&mEGv<-c zQk{<+@RgzQ2Z_+MhJPwfLH;WGdhu^OKWXN}pDQ2gy(=e7@CKWu>z3M{o=R% zd~qVhVDcVDIj*T!=cu&M!O}ir@lTK5(^@iJ*`Fi;OMBOW_`$EfENV09+8v`TcKFPr zp$4@6J!-R9=#s^0%#v`w-sEv!>H9Bua^BzJC5Eqjpx@jF^O?Hf9xHEat&WdosY96M zycgpOZ-rVK=-Q;45hL2!>6}+9XK!ocYpHK7wFRA8LcxddgWA03N$B_C~r#o%fWUF zro$D4qkFpmIeJZm((Pv%0ImnM zdFHLAzM|~blBcG~KP8v2_Cnn(gJ~h*S8Fojg78Whn(u3^?-7t$msMJbXus;unUc z&@~4C07%o2N9P{1n*8`D?Fl1Xjmv_^zDK2fBl{kyw%0Ywg~rb@HYwmJ$7;?7m6y8C zi{rhjX|l;~qzs&oz}L(=Rl=K>W^duIrax&C<6T0-2+93x<(p_)Id`YsJW{I@IuiFz z<~h}uuN|wO)*?oL`kKFNcnWyMRMiLxxc02zXnAI%5snwnp{|qmY`uyvjlLg7V7a?m zrF=fq8x5mr;<PoA5J8y~zM5hF8rX6+P=XFq@y z`Ay?(TwUtZ+FAnJGC1`W`hVk1N-^L=soODVric|S=)hvXDYZ}rzjjm%Hsi%(?0G3z zybP~%pN+0cubIVKDoWs*s$GT;=~g9XD5MNir|_D~bDh+n4Ul;X2^IBczz;G#HEvvF z4wdrWpa}$l>J5E;@Maj|@Qt>^%Y&Mk&y^!On;%)|dct4MmPNL^_8oI#)gLwm5Z9+6%$BHTD`!(T>HFTd1*;$YIXKsL>TnhPL_Jr|mly>i>?D?A`ci~@LYPT?HT1!bY zZAhaaAE2+xZ;M_hZDU`#D~5$nUrOT3<7>&B@b{{pKI+@AE}_z6IrGj3=U=T~0sI>e zgZvL|3Z@=(NeKhF75UllBfye)$H%L4G8rxHW*vHBzh12EqqDP$)-?*TMioHztaD1% zwKQv6O%8j;7x8JjHO!N?*xDiqHTfgs?Q-Vx#M8S==UPJN%ExN`5%~S$Q>FNFOG`i= zUclWgRo#uH9(p*5Jl6z;jb+HuKy!mpb7) z8tK-}?eY#bifw3J?0o%s1I2pWZNbKUDy-7TZ*7r|Shp?hUAKwSC)9w13~){>jnz?7 z`rVz8>_uZ=_^w?GMvgpY z<(K4NYQoU97Sy46?w4eolj%b;~4xqY0AeS01tZmPe$-;x<7#};Sw^=kb#d%Bg&=9ZBo%zK3wt7hm2alxs|uB z@$!B(yQpeXTWJwkT1SH**~g_=@z|H`QNxYQioE-Zx1~pKaSBU#HW=`E=~Gqm6RnJW zFGiZ)#!IK+z{vKhw(?p{AoB{D1A&^O<6j)x>F~9^t}wiD-oAX7T-GFz%@Z=K9E?^f zyi4|O$KP77jdU#|LfIVX*iX7ExPB;_;wYVKcZww@QgR9t;fH>XK zqLqR!Bd3Bk;8ZQQZ#CCWoFlR@a=9dOfVnh?>ARJ{sF$Y|CftxcYjtF1nPw(cYz{?Q z&!FO=j?@PLXC}5Hwkh|yHP0qp$^meP3tL)ciYj@sjFU)^fN_e@-pdYDUJ%aY9TwM%&r{?vnd8G_7PmnH0JcdJ&_i2e3#^*nUMvt7YVcx5?{0K1Y z1}gp$TbSLng-R9!k4mqpYBt(ctKH1sbD$MlL$>h`j4qCk;Y((kU%R=KfGh2Pg`cuz z#``^I$Bs_VnAHN1M9?+v7dUvz(bVDux<*RMjAqhUK5{{RHNuL4Z zWtCL*#eS9e$Hw-)5AYS#2%6 zSr;*=`qw#R&|_n$`qk+?#Z8c$3eS+}_Jy0PWZFz5d4jQ_-dyLedY^Q-!0SpJMmPf} ztsH^v4H)J9(NMiAVHB8FkDS(A7eO0qbZ*tR8EF)4`9l_B|#-972>+?oDOm;=2% z;DrY18l<*W+yZi@p`&Qb)VH;a4a|O8(jHa1VZQHb%gBmAu6{};nWm2k%J!^W4U;dM z$dz~;_Qh#J43P&$`MoQgwYA;2Nx&5U0JQlH6l+Aat&OQE8>fkELTR)a`%?r+unq8(FC217}Z} z;R7#>@rvoBaWqTLee2H_=*7zpD|1iORq~;@>?*99?6fL9U-~%Vkk{VZFcDUB>R=m8`dM`q)Ys#y&lMmqq1wbNGbpr z=~W}RWh4&u%8fwA+n=DNZE8GxgPNyIgwfY|ry0&Ddz=8k*B&n(f0#Bl_NZG`eYhtA zlBPanb#17kkX>_~QgA`MOp^+|0|p+jc9Sn*2#F(Z(r;_@Ksm*3qNb=AI=Z zQcH%Hj+L8tb1W;v{uM>FFo$WZ=`LE~x!_k+F!Jnq)p4;!_SP<=0I1DE_jBEi&+-oS zP+cP7F_Jy0lCb_R0qtE&1p6G4%p$s$(b56ATOyuhMgWd07)Hc$aFq~@o)yovXtMX% z~U7kCD8TD zzZv*rXU}wl9jlPK__LyE?Y0*T1$?1!B$9vivOX%pL2V%UvRb`JW%SoW$)0gGeIX~t zs{#p(4l10V9H0@DhCDIjIj^4n%WIGT>+MJ_trfs0k=qs0uvGgTuQZu2i#4wj_`>;z z&m=vvYaY+RvX$L%;SZ&BOLMac3lt;JQTDmSfD@YNjvfhG#}u(sle;nxhqUNq#H^ZVKeei#o_dCrf2B+0-$Ky1>}xv}`g?uw^TWPB(#5^RF~xNs z%vnIqeB0u`*_*_cx`MWXzi79R^SI!xc=)Wj!&q#3SZvKpNuMdwSJd!+%swf23(TP# z8~|&=JWJqz5cpE$!Kzxa0B{%#iu0w1oK@O8qltrdIS>is71VfJU%&9is}1eD7{EOJ zD<0i~oXEHX6{&v&Qiz^DdJIyE=vOym=#Pm$CWlz?tRfZwHa=nf>gBvY1)cu@gZ!lc z+(j9|_2#|D!JY!}XN4#Ih`ZJH*@Kb->4zRcofeReWnddOOEIeExVz?Oq0P*<{ug7TTLv$plxB&zFyF=vBo;F zHSNC^HLvX%nhr3$3i1003=#R9WY(5Br+P$GBwo7T>Q1Zx_ncNJ5e2!cGIYQd3;p?e#K_kklTzety{K1eXc>I z?&?Nr!I~%{0vrKYJ`9oO@p`-SgT^bKdja{e66frJ0g2ukejRe|Mk;*=B zzlD4?@lYb`>mGUoip*wLgje^<4;=-1{lG6Zow6=Y>hhlp5VJ;DSE@#njekyW;WCap zcA}xse@{QNEK6zdo5O97nAk=!>BV~PqYB&HEXX-6n)2`2(FDH>^Z+>9XC8kl_ANyf z!SA$Weig_qnHHeJ=HA+3FnfyOH5slf@6t%y9PwRLmj>d&g7DFUkzOOM>(?<~DnC10 z09P!L+d>@7`f+0N?O~oSMgeNHw#Y=bMt)vMmWw6j+5pEQfwKzavqnrOp8o(!k57gOzj-%)nW?YW$@vEY zsYdSKx*%ajMFTW$WU(7Ufs^T3_cqTi)QE9b7fv(&@O7;#O)l(^SMG`lMB09uZQ;l` zY*oR+yq8qK$0#DmUjRv6dJRs=GR zqJ=Os3}RV)v>TSTVTa0$qWA4r_P`f(Y614D&JG8!wNlsyMKqS|6~|tcE!2%NfJXwG zBaNGsZe^^~cwFo}XO1XZAy~7qC0{Z>mt|$&IA9qD4|7|K8l*TJ))mnH5I&fwlCl|2 z(l;%*jw@y`REF(YR!br_e}~epy~gJXeo;c$4Yy6v23p-~Snh12h~an~*B|!RKqHK9 z6+AOt&UWRL4@$VQT0j5P_TWxB(_{5C@>M{jQ_05_{f^J)u}3uXguy*&1sE9T<~1pR z44=Kgr{O{7ngPyw((+DCA&b;}v~UIuAo)&3Dv-`|+JLr$yJS-F)|0*kKO9h2qESdG zSLssN@6dKVxu>fC0Dhs%P{i;t&uWk)3PJP-r3{&2vX>2vIj4iMawq{@^-XMQU2U=*AaZUwT?P1cDRx(Lpk7@y-H*O;%ij(+(6xAc{ z;~1kqkfhKHA>4CEOcO`72hjAXu-9SuQ}m#b&<-hqNIC6J!0XzPNxg$^deeyL2TA}G zy?RhKAlsaQPXK2&Gf{vZ3+=T@F(@nHg zMeD^o85pL5J5n*v0+61BtC8}r6wQV)??)h1s8=6927;r0qbbRU4 z?l=W*e(eNoUU~XbVPCHl`=Xe~pO>XghP2RkY*GvZ z$f*%Bo9Vqzr6eWhFTEz(egGI0)nEoY)UmdQD*pg`wLD|BGv;CGntx1GNP4|cgrDK# zH8O#>Y3oq2I0`#-sZ<@gH6qt>Ps%n9rjjHmFnUl1dQcBZHU7^m&X=CdCt;=uFTo0E?7$>V>B#`uD$U+@7_+4;Isf(;l9Fb*i&jwv=53SW9kcY2n_ICIZTQ-M$c zBAPkkoTG0C@Tg-*du{DU%T33vC|%qWg{cIP;6)x=H(r!7C}2UQV&VOTLo^+L4ixmD zd(v$S^A7a93PiWiQaBrE^4lXOjN|U~ph&}vW`SD5h3A@nG63yS6I6yQS) zQhr0Q?$lCr;+CMOhqWgw!%@`J&)w&mhC2!le+pid)#*^jy=5g;V| ztH7g?^c3C~gVvwVr6WP;tNdJ2ss+v{I5;%$DjO-GqneN$e4>~KdT`+6iWwu$2Nbly z)}KfNuOLyu=}zQ*DCx+lk#Qs1!lBgH{v^}Y&b=xvMLf+O;S%$nB(06dfm;6n*;ZGUq&WGA;MW=0b9S1Ol~!I9bOyG5)Ar0{jEd*e zNW4iJ-)ShF8oEmjG)6a0`!Uk4Hs&Slc|XL2EhK(}6~$?{9#Y8@`d6ZSM3NS8mh2w@ zWD4=dxp-w`gM*6td<)R>F-JYC-37Uj4_solJS(T(UHr??o-^8@p2FVd=_Vv{eroD1 zFXORj?d&ibvr;RZ9CxfeSHiH~2`AHJ21M#BP-;fsN>@L7 zZ%@L!mczz!+3T#T_>G$kmEe0e-OqQPDkrB|MR{*-qVw-4#w($>WuDZbUe!S^7gUXI zBW!{?RcDf2J|>k3eZRw4%AAcMQZ^yINL75V;`FTz0t=Rm{G=ewa1nTlE3H)?;dTt- zy^0IlXkbAW(g+5LQ+6&giRX7d51!*#H*=re5-=;ze0gXsW{TZ7#y}PC(%sJYNXmtj zg66U;U19kgbHJu(0((2V?KVS&Q-ohZRtW~@1Ywu@SM(kRs+}aF zd=56BElZhRBO~pRpyQ=)MQ)Pl^5hJv^IZP0R$HZhyK&8L=nm7_UaND3;=Vo=y@qn* z-pA8UE~Z|Y>Pc@n1!08Q~!{uUnR5}y+S5eKJk`8P6lZvpP zRnKGRZ_NESEvfBt_KAE@0hE!9XP~ZkPl;x7(ToM_U1x|8y`hk<+?v4ArGh(hB{;9? zT&8!!MR^~cEL+Q9myXJ5@JprI-?jXh)Qu-L`d!{T3K{0Z1?OX!tF*ILh zg*F0ttvx>JEw0U(T&EdhUwy2RL*dX=dywz^c_Pyj=uz~Q0(-qa}TAj2{_8A+^-~8+O*Ced+%-zCUT>T$0qxGyO zG)gnxKvhvVV0q0@a*a0hZikxN*0kGeb}pDw-34;i*A`ZrmhFU$dSkVJMBwu%&W}8H zKRHyLIdaJ8C4wu8C?=l=k;q0V(cA+Xsqr-Cix2gjGljP} zur4@xDL~78Mo8n2&r+L6!RRZ}rkVAPC`|*P0WeR}xgQqW*;vGu)3-8m397mU>chUq zRvtsg@{ZZB!*ZNeOsg<-q+pP$k1R_z?dC*59Vret!0Ah7`&5im zoE_N3YnE5$pt+5uxg9A1*A$d=tueaNaa}?NYXA<~(6w>1%c>IKH9iB00I$z*Sg&D< zX|t)r-7cS$)O7hy8;XaeeMi>f$Vh&0wN6YE=~IFaUMeQpw>9AB5~n(R&FpDS5hDdP zcY2=nlaWqVHS>5Z;&kr?v2K~B2<&Lj(zE_<^xTnM-`msd9?cqA2AIJOP|J#4=CQ4s z!lZ395v5`65T=OnN*vQkHRR9O{gh}lib`5a;HhP?Ns0ia3VTxyX*U{N-NBAHUIj-* zC>0jDLx9CCE-^_}%gO-VDmrnYYFwLOIZ&QzO`KDgrAgRVuY|(WoOLrI!KVyjq`<{S zMS2pTsV{KMUMfGOO#~8LO0YzwoyZEHb?sk6cpLU~@o$Ny{{V^LeHz`6GD{+E-JXDA zy?l#>^BmT8qXw6I92m^k3x(3Gk@NMW7ZOUa+ix!T!Y5PouV3(=!Y>*4nS(8~_OUC0 zzTrq*SJ|Ez_#@z70>f=_s(DwJ_Pm)$>VB2q-}t=S1+lR}&^Y_5Fa>`}aEFBS@O+iA zGP^z#Hsc7&^swvEoKJ&vMEGG8S}y+pwTV;%u;&EVxy`Oy>3S2}&E-kw3~V448Lud2 ziYETixlN`cjWM2uBO8*A92)h+a!7_99r;*KF(&{o1+sn_T7h3(k zqbP-Tp*>F(p9Jvxr9<1)TCwpCHco!ZGSM9v@m2AWkz5Ez6{Vv1j_&4XNL)VOTJ!tO zI_^TS>DiJgI6FrIrMSL}!uE#N#vu2OIbeAPzNBUpI@N}@#m%g?(E&LUuTWA-8{OxZf;FEz~ zTc&6lAdw@6H<{aylbXAGsQ8n|7xAW;uLhX-4CC&BUbEou11^HkB3uiG{uTr7*THc% zN&TZWN*I7MOL_BnJ{LG;y|Yr&k0%hBdO!HdmqAm8vg+P5^GzRvuOgz3e&@8snYk^g?RFx ztv(Eg!(IURdu66*jH^7*D>hF#73P;$x85q&KFMp3v#HCRdUXQ1YaJ)Vnw8*LOT!j^ zRmVZ;UbSJM+-Q~YNnUCS0Wf!LbQ)pgV`1)eb`J9=WiYaKURW3q*R zWvV_lll~HGM%^Wpu0Pq1pgNa`UO*$YXqmbPOjp;|`i;Et9!kigf!h`0eWSDNokH42BoA{dHumY-yT1qN&24Pc^<&VQ#kJC;%B0yb z-~nE*quDLCo)E7iRBP)pB|a4h3;memK=NE!KM24Gf&^0=-Mb z(MHg;O20FT@axFh-sj8P^A3i!LV?fxLHK*8c&_Fvi%9~YWhGqp9jn=VAqAI*{3j2G ztUyhwMt-%!SZQ~fgn^J10OX$BSEbnK%Me`hK;-+@)<$w}S|0*@V)$v}&k^f4Q|U?y z$01cadZFuz`y=*U@MJy&_)&AF#cwPUywXo1$U4YJBzsq(Tz!(>HZBy9Mi&&V;%Nn$ zx3@rs|pmH%^qP{kaE`xK8k)Z>Y z7*Spk;lB}hQ^VTb&HcnkE+xR;Pa?Xn6L{B4@m+z^?Jg8WDxKhSk}7J#^)Jwe3#7Uq z9{f($Z7p?cXdxzPWRf_^w{8GDcCORJx?hR>8KFVq4-FYG0FqxfEH>h~9}RpR@fV8z zApZbn$s^g=!2bYh`%zq@DjbEcsQx_b5cqe&3#QpZCpS@>W4HK9t}|QGovK@*Zqc$l zC%|73wND*c&bMHBu@B)D=YJG+`+LY_v6T;2V-KjOad z#l^7QBv(0q(zj%pWIP-w6@b?#OVzD)XxHY2@|EdR_)H{z-T0(SaqxQ63-f)JJd9(Y zugghg2U)s8c?E~-Ut4$^_LtE04+=%$zY}cp%o`9f_OFp{t=09ryQs+WUEP<{1lARH zv6dH_7c#Pb(T<$-tr=0-0a~chubs!QUrN(pQX`IPV00Y))=+I~^iPGJFi#I%ww*gU z`&J{1pOsJ2yvFk2oQ9_Ob{C(;I#PD~Le;ul6JoqT2SGTC@mOL&_l`Y`mxeq-K8d#X0e=de$}209vfSB z*ym{a)nD1);nQlDGHSY|rpUsEjo5Had2^q#iH;ZDzjN8X0emul2>52o`uSAd%^I|% z3>=F3CZo5vOGp;p5rk2IDz2fZ+v&E?aXA4%&!4qX z{k_X$0#qM{YqFW%@tS!_1*;nB)f!(dz`z}Tm8=!wbvWB&^n=2Bgg@|!*-ISjI&56+ zImQP{Zm+7#e-Mh)VONi8`S0KliDaJAO##}%$u3TkDcjHO|*+WnoE zrvs&P9xc|=#sl*Oe$khd5mpG#ij1t2G1P_ zTIjqHrQG;~Qx`0)<*5zxSCQ!U6Y7^r>&r6*6`qwKVi#iL+P-Q1nfyIt9*Oq&&?L@> zbA2nV_{-y)4I;s`;KAjPebHIB7w>i=s%~~Xi(A*ATggS?SMIp%eux85F=#?E1YR710JI#PuvrFs#hqGNlOQdAij zr<1s698@4}UAW}b$prgxj7ZX8y^+QOM2;}ijj6`QkT9V=qr zP7BPG{{XhZ2-=v!f$DgyJH2IO zkXhIdv`+jgFH&pSejWbJ-w}QzO0sHjO{3cN^Br;stgB*aQ(p72qJiVl>KA&I*Y;M0 z3(s{i!m9k){445@g`cuNh`e7cdasXL$+kEmCH>prbBg;*;fL(m;7^Cb-u6pK?)6)6 zKhk;z)EM6C3x0U7LFx1z zsP6~TCi;s%SQLdw?*y?bW7xM8Z+m%LXswmZv1fhi zPN)aJYWZi!KeSbqx=9t2D>(T^4Sa#(pNu-rwLH6}AzOe2d-z7-jLd^s_So|*uB*F&z7BQ z)B3bw@fXVoo|QJYb$-R}-HG(i6>`e{5a>7Uu6p0YJ}izuJ5sTd(K>wowKRSl)U};L z-^03l?7O~gkvfit*jE)-PogR=Jqd0#ZBxXWynY+-vU#@>HX3Cckw$Pq^fmQvgZnDz zI&PI6-mDmE5~ycpKPCvz1GRgXz^~c+L-={6CZVW8vtP&rlCd1`$2I8wA@LTSeSF$; z0M^l{`SXFt@cnC-4g1Ny##Lw7@vSq#`bU8DG)r4$xKKEeKx|^Ve}_6Io8nfvzrS7b z#Q2FvOnoaK#2VTdTS(L0Vt@_4$LU^y;OlEmGfqp5G=y^>&(Bt`N~BVcEDme3?z=PT zsV$_D6C0sU2Su*~)T}h^9a7@Zb1$bHSF}aqn|)&DO*c?X9zcInTtA4kI1lbO06&Bp z(+>UKSre(i!!VIX(Yx4JN8!|ai?xZt+BqN&)mF<$lS)RN(|QBNSxsiwL({IcTlN;} zi05(apjB10QMDz^`A?QVZJ&w>;r{>%j}B??x9uv?mCg?}_`#)V(p z2m4HXL2n;;%J}Km;_lMbzjjxkJ?q4D$3bGHvAMCIY**)*#eRCcy${oJd^fP5i_z(( z7XJW9`SZvkoYry{3I`Q-3#hUK$(#>tH}y$phNHc66+I?qx;OWZ8rA)}$g73kY2F z%{A}idr)6yq$BFP6hO=~=@46Fy(fN|!=IzD~71$(nm; zmsVCEDg7$Eq_YJbDeCGCMrTBm=Nwb^Og*YEExIIOhg!ZbK0t%0;8r_dMsU4_So2Zw z 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 V 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

h7mm#3lTq;tPwhf=i`lSn?&ql4I1fA$8kr)^OF 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 ?00so8B5Gmn%&l|Q8gc*(+;Lzum7Wth47 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�%=$fT?vN(UV&KD4zX9iG&qr63d& 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

fc#;5lNGNpTCoG7bza{HyXYY!=4xCAVS(&6fkU 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�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 z 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 z Ab)VErzaq`?K1HEWM$hqy!MyQib>By!*;{O00&7|HCn#SP#( zpkRV|6%1&Tf%8y{yyW7Iqwo~KGJWX*CsyONCwg|>qX(K#K|ow|cw>?}bf+^Rd@pKl z8CQ;;l=MYGk=~Q?D#9Ll9jZlK4>R(dNMKeplD3sWPX&vhi^>N<0Kv^Ay!P0pXor!HtjspbGvBi zNPjv&cOC@*DL*wYJ*Wen%|OR$o9F?KF+!3C-^z^Qj=d>>;C6~}+l-oE$;COM%Ka); zfdC|(y(!!)U{dZ@Uqey(WwEr->@rNA)PvkoNK9kpr#4FN6oTw`2kA;U>DrM-R5+mY z;(#Oo513Kay{Wk3owo!Uodi1rsHCTmJ5Uc}(xj%qb4wlx&N@>IbJGH(#uIW>wPpTgj+G<>{cigM!>9R%*S0zvCR{RJX_%&nb(Q|N4Y-MJocx9ux-a$i5-Il z?NT!JJu5P!*i(+w14^Ld(vu#P6=iJ)3=_pKPL!Acan_zOjG6(bpu7&0ndc^xK9u9I zE_={ch(#M4Jwd0p%tks2YLXWNkxnOWMJC2Lw-^-9dQpxsPR2Ua4T+CRdi=wl)ZV8Q z@xq#x#)Tf8sr|AkMh+<#Do8!L3X;0ma0(O?N>qK}(xOz6$=}DdOVDlUS&v~yCX_A@ z(vf)>6z&HU0OOO*FKkmX%5&PB8$CNv00ldR=|D7*07=bFhA7~4=AJX&o5<UpNIJ*sXri4^4hDaRN%q$mIz zc%@b6G)QUcISVos^rQfuDGQL;1CI3W2P!dA3q(8~Hu_Kjrh|c#P6s0*r&5sQBz2)c z%^;;0ktZo#{CDDZk|1Fy@{7sRmEXc*QtW$!T)X z;qB6wG|}iOPXmgWvvtT$RE%EP-0{2+P?&SqU==mtMN zF<$BMPr;V0Vg0LW-dTr@qrG{DhP*V558CB#o2Dx|HMyawzq4_Xp{8lD!TyfK9x;l$ ztwyV-n{og+;+||Jx4z%hdiE7V#P_gA7*=uSoNX1go7B0_mqU&4?w=6UKYj-dkzRqQ zEN>w4`+ehF-G!5fS)}<(*J~YuqJZBp@9$GN^e&tfwK&^7b5FF?j5kZ19viT(_xn#s z7XE3Ga7P0oxGitO#(U)Z4=E?#!0A=B-w9u7_G@(tGvfd#tc!Hyb@x}6S2o3!M$ueb zT3B4}egGY-qR}lR{>t+%Bjk>i!)r-#Wemm?#^c3rN_KWIsZEmU>t!^i-Y_y7gI>R+ zxwW%UeGPokrhjQieH`0P2?W=z-FSq;sT60Tjwx4ykf^I3nI-R^8Nm6JU{(JB4{H{_ zakh5Y-<5e>ej;zNIf&u-#d0>+`ik8d_Z;T9mJHrlgpXhNhIJ-b?rZ^g7~^UVMR6KV zo2_3%EEkCF6Yw%RQ&Yv-gb;aBNJt*F*LV-cNq=~4F31aZE#QETAmoiTC-yPd}ikiv`Vob$@Z{!b3?EGn>=?`xA8c0=C>IZu9jWbjh^O#&5 z1COP8)M0p|imZ=F(ltnIwLdCG!jJ&XV*Ej{ywr-^S-1+Lo-2*iE~S%ISyPov5sLNw zJ!8~#@0*hAT1q^O&)Qu1?hA{ncUxxX<{c~Otux{FyW#}5ywe;+s-TSZ>0W;?g}~HC z!SiP$=qu}Ah4+!Ikd9Xiv2poVE-tsb%5>pqd)&uO;qUDY8^glSP%30Z!D{*c0LR`m zTT7E~V(MiloOZ6W;@`v>G&m%*gZ^3!ArayQn8SaTC+nVOW;ak)(*v?1FkEDDv zuUqP^7?HrAitD^pCEdl7Y3kcUE;2Z;l0URH4KGrP=Gd6_l{{Co+IYTwTgx{*F~B*l zmxHsp6tUNdnW5=_WYq<=&(5UsYu^&fNt)0%m$U>6k6Q4(XI8e+$-FEH9TZn3r2J67 zI^UCU`Lrv*Jq1VAoVFZsD(AFnz8g(K7lsfvb{OejH|stIxwpP#k$S(&^sl6}KNZ_v zUZj3%qDg=ct#9~-%SpITv<ngZ zIjzaO4QHuat3x8AkQ+Xp)X6NDP1F9wpn5mbwXi8F-E<!8bqhO$ zu>pX{#yH)dO6+_Upib74NvJG=i1{CSIIc`Yd9*ZyxmC|cu(gLw*H$aSvNMdR9jm@K+H_@>bQ=iiUq5Nut?k+V z*tkQx_;X!_mFM<^?G?ugtC3uCrtE1Nr(2~w*V@$jewaeW9~sId{c2Bhj8{V{PUa~dskO0u%SC0)rW|z ztZzlF&R4Kw(!FBF`pV_txQvEP!#(rLgS`# zYs@uIv)y0F6zu@#it}TFP-fVyPdYPnEhEphk*-DqX1q7YH`m%F%jx!#4e?KhBk|FK0AA4@a>J%8zKj%6;@eZw{vXeEKZVPN#Jd5n6Y+nB z?sff5?Waa!4n_rf-m7{400^wH+1rsEF^!>ryeoghaog&UNv=wtyiNc<)x3SzbZHrB zW_)$5_+EbwO&qP1eE#eXFl*j^8GKE@(cTL!L^E&3!YhIJl|9y};$fJNl#Djx*1FFO z_&Vxlx4mKWFWg*qu9}rojoHzLz0c6y2VVZxvyMgOOk*Lr6@KeQ@a@)|=HdidW>Pw0 zyu-mJ{?|m?aT$%rKz%DswW$gsUbsY7>UiS3DZ%sJC$68nsqT^~&Fy`<8j1#(YH^?3(}wPlU2o;k#ScL$|&R~DLJn5}~;QJ>w`vYfUvrv-fn zcpt>~I&X@^x6Dep0W0b65W_yX_GxpGBG<_YYZ_l$%D@687{z^=;cJ*~^telm$cysV zgN=Nrzk!CQt7wpYkHf;+Mc^PGrFjL~tXEI9e~9B1?DjI5^ztPb3cu34j^$PEcaPz7 z(!5L~yw6r~_fMWaC29WvXuO5x1V-82UPUH{Zvx2p{ohgeSJYnHKNrIkSvxZ0$<&EpuM+I_lC&ROL=$IO|>3 zons!Yth}y1PrQ}ZYmiykS*^tJtGq)aiuEbIPo9-?PfYP8)Vd|I->`;Oh;VqTw%#g> zNwJV!Tp>?t&@LG`;|BH{CodhJv%sh`&LI*otgCH=+p zi>IBccn7t2cK$0%{{RfFo~I!5h#2S6yh~HJveUe^ECXle6}O>5ZK^tr!O;NddRIrX z<&DdyUhMVl8r#UV%baC_9+j&)OL=QFC^DsXoO)C?@JiZKPCn#7kH}Sz0&4d6o^ni7 zY#fvAS)_KRa2j5VJ-zRnu(UCp5TlV_Md|lq8(VX3P8S$a)K`sbekM&bQFPNlDCCC4 zbbc7s$J(Q51=7*UG(4NR;j6lS={p5ob-QO5X!&21HV`>Vz)W8uz+bFJUBx2odJ zMgi@bk5H1=RlEBx%#eQfwQJmXjr=iYmU?r1r>LWp>Z4`3?DN}cI&@!Uw@};02Ygoz zd1rNp%~%(h}ye|TMb<6D^Ft8LrYrD&dkBDX(i^7?~X&{(W*y!5QwBqnfJ za%;4T#pj1|uS%Ingo?U!s3*bUdsh6jL{tVGipYk*z`{rENj>7L;}y?)mNHVYWMhL= z3Be;7Q&t{PFFl20UC!~`ZC-$MtBL~V$kYbLMOxEDOK@F9V_TVLeZ2*0LOiDVJ5!Jj z)@EgWsm6O%D4kXg+p$vKt1%NW&uXD5R84?nwGjhW+EL|@I@7T!>VGP!r$Ob$Sxd5Kz6HPG0k&R${pDo zpy+Co0`-!lP_rQUh^hwN-fuO?0CUZ2>0mr~;{us`2q38M(vy-wW1rMj<&Xs*C>&L* z7+j~$a0OpBS33jA839HGI7a(aDw>B?2eV~ap_X6V#nklluWj(R!y7rgDKvVNW=s2n zz8$@WE1mGBfVU^lxLj>NE_>I|o))~83&@H2jBBw+ZMDZbx|=E|oqR0#SF30`%(ptA z4Qv#$0y=4{V!*lIlORS3aj6#9(}x`9_umpK)@W;FtZ!ugW?r-N6t z-94n0V~BEVPR~YbmppA9tI@PQ65h}&V=M<+nv&4koK3F|cs2+v4b{OLits(_h}N{E zx6~yhee4gyy{6v*Jd`{r-CkMZy+S{V=SEwS@1XSH0fbI100I$TLq3`bXM~Y@Nf?l+o!j;O`(A+*Bz_9 z)k47#D4%n#E5~(dcU_+;a2)*A)lHnW5u+!SG9N6A*E_CSy6CdYH$sOMrW4A8j;Ezh zs#(3?hUDCN*mjEDGYcMl;3*7{Tp=9@#d{Bh+h(RWc0*n{;E2A@B+(zekTG7zp?sIY z{jpfja^oFN!unN`Sw=Wzz!mg2?1p8w@m<_$#%54Oczim0%W#roDllv4Z`rO7vH1E; zqycd%;C(B~#;ehh?`2v|AFf(L?X@jj&x)9hJ;<)E$ZWB$H^oi*2`bIdRVoo^IwT0 z7YKc;%p^dQCVLw84R*)NiOK7ZE646QxIyT8SJh$u6Xxrqw6|iA4D?}I8f>Y*XdgFf z$&HFy2knlPHGv`3*R6UHIa<)^Ww0*|#FKQ#YWbg6x5eGs9*pM#zNYi{*i1Kbx0?C8 zQh|Qabs_t~&f40Hts@C74J^M8p)m#WHB_<_ZA#Pecn=q^T^8DWyy{441X0E2I&O4!NciuuRGjg2)I z86v)z@MNIrSXIdYX0?fpQ_%Dc*D+ z;<+Cj`BC_y+DRW~=U#oQ3CF3F8#^Bk{2`OYdSs4aB3-%MM+c78@*j;nE30@vTc1w7 zOaSKx7#OeDFNJ!>mp+XY7Sk+-H36~wJXg(sv`>TM*96y=p?ttj5OqHF&kDZvjWs_! zWGCg5*0A+B5z3RrcURgw>5&t1IqYkPxzsIGIGn3vrFX@%MSYBz<#nAb zVQHtjvxHzjioADM@$HtD8Ijimit;^g;#?Aq$o^?3l@-+(G4eCrHD4Cl+JezH?+<>} z=UT^)#4#T-KwJHq@Lfm67nh7)H!6qtJu4ig#QewhZZ%?D0;*Fmg&H`Qa5zN4R)rxoSRYI=04Xn1(G zClQP>J?i)NG?5U@yMZ06($~S45e!14{uRFmhwjo1lUtHKaY;me(DG%|6`{k73YI-A zL9vMWYtsgYZxp^osxLLfH zZKw|v_rHoTBWKGByA5nvxv^JZ0QpBs%(;jns(^A2BigPmrN-UeDjT`uU>u%%{V1_W zsL(~Xa2PcUtbcs=q&FyjPQYsQzvS12&8fl^xQqG$5wZZp=7V6pC38e%j7;2W|tSh|j! zrqNwf<{fIyhPJJztl`6Rw-q(kw*|xmaD_%HLdGqqv}7As=0Ss+cIbl~sQG$gu+8d* zY-5@l@wSE(1&J@w9#v4hHD=FXN|i=|Jmgsj7ewAHx z?T%S^&uZJc)E$wAJJuW*j@jMmKod<24Ih-?7CcukbfV5*BW^*hD~a73e(nWeYB!GV z2;@?*?oq$lC<_c2a5?N;W2 z1YqZ{HBM;J;21qSP%dJtI48^p@Tk(@i8j(oRd7?9guv;EJ!?QVJk809nh=V>VzS~V z9M!01RmfwHN}f#<0j55lnZ9c9hpfIdO|B924` z{{Z$JZi?zY^)z^On+&9J(zPu0n>U34VaIB%bFIY#m4$#9=~K#2Gd1lrMe+jO?IyI~ z@YRxn@qh{GTxF+-jF$?ma1T>jui{TF%t8J^(9y~q%j8_2OiT>&6Xypr?OIm=Z&P<-%Rz#MPHdAlu zS%=18zTLT6)q`G1&@mVWj!?OWeWD3tJFpwIdClgHc>|x9j@9igaRiBxAS86Grztoo zE-E<&rg((uG#@L|quTpGuS~ztZSGeojMgJ~W6Q^t`ccSQnMrJg9@yWu90;?vhvYe}JptGmC3}V|^DmH!Yl}GznZshL8NiFm;$JeC* zSQkpYI#t_y$fe04*NSBF&j0|+Dme$j! z?)LFiHE5pP0)qrrhGx9e$iZX|03E8JyosOW;m3O9ME7#!XOBv?ZFI05vJ5pGgXc$R znu~?!?+RbEM#D07HORH(gd7To?eY$zr5u6Ij-HOxhEB!}+(Dr`zy z2c<7&gPj|5>Hx=&;i_=z-(_&oS3P$misCfsQMkf_4>Wr;9O(4hwXwXi`&K!u$n`*$ zpJ#u&&{q=jH>ru<(9O&M+xqyST;}s!njp%w;I5tE%IL#=%^2kBb zj$a_>M%u>HWYjXp<&ddVKeQc2R-!l3Z6#^)AW}494HijmDmf(?-JUBrUGHAChjXa_ z{#Ndkaw7STuuhq%+CUE#$$x0POPu_*TpM@m7@LSUxviWzbL2@`rC{SD?%+=-9{GznIodHkrbvW zMUYMyb5adv0D6jJ>lWGUXaY8~Er3tTJ5( zyLM;;t%By=0o_s?%VM}wfn0Hvo;PtqvVqB<4vlW1FNQn{m-|F7%7^9cT*Ao^IabfL zA$*(;C>uvd{i7`MEPam^=~`Za_PcduUz-)=7FS6f!ttCM`a8m!y^Pk$6EH>t6cEoF z)HJ)BE5}YpTCT7*K4c>r+&X$ztWilUc{~hO8tPESm{Kc7(^iR>VIq>)W%xmX zNe87#9nhDFPBB!(@Sd(Q=~2Iue&Y(H1<@WDOb&5Dx#xQI^r&r#j|$&#)UsIu-ehO+ zq-IZLb{=0Xk6zWk9g5q9xwbj}@Ez-s`y8<_bnbbsr%swnZ}o>N!-45Q7`M{-_nd+U zrAT7fxnY&`s@mjpL*G}*kr(7Ya%V>M32brT9)}AFgW(2#Pb=q76MH`c{s^5UFq}M zINWj%rCN;rn($2R!96NnLs5$1w#UJu!OT*JE7PrHUWtsOdCBcs@hUQ$HAoU6jo8Si zV#+Zg^1r%i4=8hiQ(vgrnAi%$Gce)L6j%#tfVWYPN}tMBU;x6_VoJNgQ}|WEJ7))g zXs{Pq1~%j69Whz0G|S7c1EvKpp8jvj-zcX&%gK?qkIIVx__Y}Ev8a2f--S{~sH$rk z;IxbMscoNXl~LZ6fYZ|M97xIqRn%_hmHehSUX^P~eb+C6ileEij_?Ou7U@NRfI{w} z4^LWU#k!~roSLxBCf$K?Pzjm)MGe zt>BB2H&o3bNPcoMD2wFfW{omfM&-PYd_{bEPcDRrFS0!)|@7>jFule!dS6kqO zE#iwmVmf_ls_b^i{igVF3Z{_(91ksVkELLE?Xh|yZh(sDz8q)%5xaRi2-JR+hvU?a zU!OQ^@m#dG5$B&3EpBD_MX0=SJ0ixIIPG2!`!r9F3|;IPWxQpGIdHd|`l1;#anpg_W2Oz*m!eIFdal;u1|U*&0Ub39mwzzzqM? z_YaheW3?hC(eny3k%7fHaxq`n%>H{DxNZZzJm+^xU{%L79DpiN(5x^wcOI0#ypsnQ z6(nk@^S6H9l;1UEV;YPa0gu2KUrK8anwq)k=}+o7>ry_0>3a00=ZNcx#yiyF0l=Y+o!B7gCHva$(H)+l(4o6Cc zR7Y)L%{%4k(vTD0ly%J^Tvbw|lbTVF;^Wek4cxbCcOP_ipn3peK33^UqZAM2OWuL` z3&%=Nr)o^&j8pdHe6)Z>49A{5F-|e|&T29WFe9&}N<%-+I#djDU@xGieL7MG134U2 z*#&*5C#Z^p93E&NFIr~b%A7jTP~bM>(9>3B4T3N!dC$%FY2UlsjB!8;ahwj6Q%9`_ zDl_ZSkPpYDB7izk+lmJqo}H;%Ko_Vzu}GOcdQy(L9Vt$GQb+~BUz(fqF~aw$9Iuyy z)`f4~h3`XF0eggD#V5_3tI$w7b4%0a??`qO9Ql1ScJk*NXfc5E5 z;P84;<(gpPnQ3$v%E#S5g({NCp5le+P3UlyKA~-FKiZr)?Mx-F z+G*>B7y^-dkKRbeDVgGdfz3E3@)-TvodGZaD)ZFR^U|axPC@)BqZk13QZY#!57L0c zsO><;ct3z5O6E(bJ<02E{zmQdo{5Pu3%w9$_A z^Y=6PRE{V`$>N`k9QLN=w&&J>K3-}X8e{sL)3dd5DT5iOVES=G0X+||T9d6cX>ozY zA+1LaN6k;^&{TBw#wv9iVu4H2nj1V)(Ckur3cT^!rU&>);-eVo)bMf0r~nCqanhX^ z8KeaF=}ue$#RYT}u1}>Xrsp)g{{Rg@^jZ$@ie94vnbWUYapM@EF189^YBAh!C>Y?1 zmNE2&g3v+76sWs?^(*OOpvQFJQ-v^d)}*X9Ep95NRhxx}LA$ z>s>}&Zdv^D!wa5yA41D zBlO2g_>5I3)TycVSZO%JL!|K^iSOrutlmbEbB~+aspwjb*Vz2E>~b+#dW68Dl>n30 zn{RP7wZHDLIL&KLj8trg&hB+Lo+M~sB5)LeUNNlS-Rf8CKR+SLkEM2B*|&Q9xetK7 zMNMr=@fX`6hB-#rP=&{?E4&(w%#R#pLZaiE@X>JAce!DV zewFIl2BRLNs*HZ`>seKTTAes)J�F9jqeZvGl8A^ZQoNAY6q#D=tezJYON`I2EJe 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

~yb{%&BtB`WyuP!-DaY(aUEXC_~6`S-%Z#^$iyJ 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 &li{2zg1y~FZQ(FC5jjuEI zBf>H1pJ7xN0664|?4h{R)<7kg1h2;3KlX+3eS{ubINj4ZHKL!ir;HeW@s}WDsjMf4 zVHM_n$Lkt~i~Wx(#VC-DK(Cvx@|t%C|d*O6O$w^RCM|a7v8i z;)R6~`XAvvJlo#Nvhb{W*L!oP*&>w^>^{}`hac??uEIV-dvjM~{iF4)A2FEF@SuK{ zL1|+D04%fQ04vWm`#7VzV{E{T*Tf0?N$Q9(jQ$l;f7%}Yci*&(dsTf{t0aAeK9?-4 zvIgZ%d#{JDC6h!J;C#!+HTi)z?FFdrQxG^Ec&?h)_Mg-(V-bWS=qopc3!kFs(!y90 zGhTh-4KiDq{N@?Wd}cps`Jeq_zu+lk{iUIl9l~7W10tMog!5SX;?lvF<#4+|s~UWN zX4Fv?@Cof-8z=1y8}8==)KbCwL)*o8vp8%6*ikGPbDyLZi8?m;{&mNC?aV^z$fTP= zF(2h$oDu%kme8OO#@q~YD(%1Ra}391fQ~&V`jLF{JzHObL8{7#zc6Adxl7e>&I3qyq4K`Z1htwSHh{Q(zfanh^UkCC41;OnQ3{6fIzILEbnRFOb)xv`O77-?S}{5Pas z{iJO#jAM%I*Y<ceJA6GKuXT9qBTvJ+;6Yf8qa?t3g6#U>f);BaR5KL;aoNdwq6D8?jSgI7#uVN1aQo(QWj| zt6mfRp!8o1YjEm|Bz|7;=LI9~k7|mPTUHz*(ffkSZ#RYJb^FM?*TlNzl1F`XTy-pK z)wB=VKfqeQhU{e*uq0QJZeU$QSI%B6_|4$iwF$+g+&)k&yt0bsr$$gU0WE7+p@dLc*jcW^)HJ451%61;vx8o^DR^2ABTxxlcCSJt*tQSA=G18Ew>u;OW4%N zTO11QWbw9*aS@BmkCEytnz+?$X3TL(9uK&wXuCjKkv?P)EpH1>;nk`}x=C}V}>Q;cNxt!bb! z%u0A8099`&ZUa0D=-ffKZ>?0DPlQ4Cglr1d#%EcgtG%a|!{j2l{Yn81(DvzFMuQ|P zXd)*JJ!>0Vk~t*uh&9cv}vlO^ifcd929oo+P2T`)@7VvZrnK? zD|X%qM&b|3c*P;KZ{fhL&>3PsF!R9`v1BGyD~yVXtltA~TG`Vr9a#B?@T|bWol3t> zYC{tk{$91asA=wbQIAT^TPvu>4>_O=yvc9Z@~wMGx272FC$Oq!)_2I;nwH)f6RO~? zI{|dK`;q{@hLT8>s0W`)L?1Ty8L52LEw>a{q|RqqvJ%?lFWu(8>HU&CVA_U*b)_)o z(b7JBtK+%QO#>@0VbZ;)_D0px$Hups8?vCen~mPotZ8ejAF7ggM^3)7E+h!yH~F2% zwRv=r$8R%Rx!l8n#dH@smZ@QC_LjdqWaOUz0EKdUZf<4s2>Fllsf0O9`D}|JRDEgP zR;?|Zm>C?@(pZw7m3Akb=dap94jFUlS=JKyS15MZSk~L4@=xGvDoYO`)tjL7s#_RH z`5X4M@afe2J~e`w^0ufruYjy3SF}$se5(9@75drn-$wq__+xPru3Qj$b_-vTmI`A3 z07Q^|*;szG&Y0|tb9%Cq9^b~8HluvQuX>T~mKSFoX@IPpo`Q=MGiee9Cv{Bdso&@- zC6y9PuPag(-5_qpv;qmT7dYEZ4y>Rt!*;84DoKSE5803>JkSClxhgx=v9(hV)|(h{ z@+B{qwf_Kl)_^G87b&%m(yUvolG_DAyVjpFd8f)>z1p1#OAnTEa(yTQXo-b9wip!6 zf>-p#G~El6h{gptq^irtPqhSGouA81iB5{(1^267PztVk)JzbPxcsO@vbDXxn>ONW zv$M4hiUH|Zwl+la2U_dxbnBH-v~{k723U^FI_v~=rM(&QZ5Q~YQODM`Ei4;h&jy*J z$gATE3l>1Y%O79&tB$F@8lSw6(SHH>U34#nK4gQ-l_F;&9-_WRxsdAm%%RtC4fJsV*CCO>H`tBbT9%6{O*OqL}xtk4(`x-om%yvNP>nfEwwV)B8Tu zF9&+!u#}BdJ04+orN$-mRkEP;t3uidq8I>TwB*yCH7p4`jX<{3s_jJJR%x4|kXfl7 zQTvs_c#}zr-ecvDl-F>wT*mttR65m^msXpK@+&I48l%SMvmti%TH)^P+TP%^FUwx9 z_IKQ3#!YiNo|!9#P@^@$CXJTIDVs)*I|oYPwYj!~A=CysMn5Jb$asb0wt5`kM*m)5r$aXA~YS+Z&0YmdwRAy_w7H+B&+L{0#% zlbq<|p57v?&Cg*}b;#jzm%#01#d(>#ypHR9r2MC)YU+2=-P!J9R~X{71JL{%sldAP zC~=trsIJe&%&R&C7-81FW$@keY2GHYncR@lsKtE)@h1Dpv5xK$hmcSP7ut8q6rPmE znlW&zp0(!o`pmvicKi6LhO;(9$U0JJ4)?^R?cs)4pUWM1tNser1imA*f=2Td<2)L| zzPXE3@c#gwI-&~U^etiZ?QYuloW@l@I*S4Hw~cI}u#IFY2I4uc4%ELmuT}VyvP}Zc z@kazk$MF^6iLXMRaayM3MO^D4%oE2h@4~cvdv4R&Til@F75-Jl4Ov;1M*OR-*R=(o z!^-EesauqB-VdH#KgT+4)L$aYI)=x5SJnRj6bGAcZ+98OvV7RDiuCuG zm_53TH(J2jCqwai1iSFOH$#_&7o~jl7Njio4L0N*xt19J08w8^YnPwfz6-sIFuRZs z(!NO5uGTfP+r!0o7(atoRUKkuJ z(^mL@VIyFbUQf|$!fr8cG(UQ3AgZQ~WHXw0hnu^sH;0LMYLs2d~|&Vu&ow93bEynzQByVZqKT8MQ~0?LRNQ zRF?J6?iG(dmD3bvLv%r6cXL^0I3!YW^Lo^>I|uUVAb8e8864KB5X`9HB5kY9Tb9ho z!vh$rs}d}`#xYkzMv;TZGziR+H3$h%c8bZr-6T7R#yeL|-c*Qlz^rSSR#afUs1W-k zdy5rh;IB1yS!9w8hp52CE{PcylH;O+Z{mA9$QxJ1N_|xIjrR#?&^0qk@^Ud@^-eI(0 zW|`2oE$QsbCgad_uAb8H#>~u}2NlZO%AhXZwa_iYNf-rib68B2Xn9L^lFNb0;15ds zC-!vJp)C!pt+&c52>MsY8g0(myp{kfU}C*%;Ks3arFf;_oPirmHj2yHmVVfHYWsRc zJ}>|XFcHkQVy+&`|>HceV#}&&_XmnC#+lW5fW}6s; zA52%I_(uE6wHEWqmII8}oA`R-HvQZ77_FjS*60`yTIZ!xl0?*3J)+(G$0w*2$7|N2 z35>`1t8+kSHrtz=if4!+X<*%tx+~T=e$mKVT%>D{deMem{3+>J5vcm7SlBeEw$<3JvW?JwBbyQKML?`^)_B5VtEybk#JBp+M)F0B}?Xr6^Dj6qE`A$Xx8_G`Rx}O#lbo-MUg|(w$_{D3J-n42n?}?nlZ8K~PnO zfO#G1Mn_)s;6WWZ6tVJsg+Cx0CNL0k-qj((s8LZcUoaT@nvt6XdeS5tjANWq$(B%k zDV&U)REfK{f?b4Ii^rs3yn05Rp?ZqN74TDlJ!RbLm zmx0!pk$~LNf%#JXD>18VDI@OUlWsVr>Cbv@Sn)uw(GI7Mn5I*?UJWZE?mCnV@l72m z%66Rfq{v7@8Dt9GDrZ6n^r%=ghm*xULnzu#eJV;y;CZJGI34LdsiuKx(2+<}nm{sh zj0#+kxB`s)pk{%+hi3!J$6hJwuBo+$6d>Q%f+-ix4VF9#n~FCcoO@!WN7zf_lTD_+ zK;w*5j#s$gts{Kg3U<;4+IR4-eJKIsr3GJ03V@Ekg*%S)oKjF5kJ>`g?P2#%6x@(D z)072X4NETKfJY{QiYY#oA%4Q(X9kxCr(sPQ56I0(PIwdzF$W@*bN3HU)Mwh9!2*uP zp^R_=2Hep|pkOn0rKBNF9AI!oOqc@%;EIWHpK5kD9F9c=qE#sC=m!+%J4Skrf|$sp zg!`*b!265$MP?Tiaw)?An4DsyS7%TfqTT3lJt@ct=hvk` zBmyFhyq}h&Wej(A6x`(FwK-d8+t)p)9g{(ko;p*80+#JeRN5G~0~}DGxB&3I=naV! zZ5&eY4>ZMQ&PM=oiW?&Y@M$84GRSh>DaxwL??|NLj)Uc?U^zgH0oI+yX_%$k=}14i zFK#J%XKgb9PJc>Vo|wf3h>-yM-RV;**%X`+^3#FiipJLhKtSZu2M4tw98!#90+p;i z2havjwKJzql;u96kkjltX5;Naj~w>&q&et1Q-Jg|3jM@>8wa4L3`#yu1p{i2pPG>Z zj)MZFwp!SX0tVdXl#h~>aDGwJjA3voZU|V@1Jg7Qm9dI4+yPQ@K=!Gzpn!2s94-wf z29rMAR&p97`A-y}D)puTkGnwwb{nN3=sO>kJh0hGx10`?gB>wYF~kxFr9UI5YG}@I zdQ$Zj0~e(!Y%T>D;(`V+C;>n!F^X_*25Cw8X$MSDR>*M9F`89E#~H-{4wSt1>p*Bb zJ4jGEQk)Z!(wL_Q9mPEHlj})DFR0);dsc@lMbC zJH>ABu-_xGta%de$&Oh;+IH7R@unwV6~@Db%YHRmOq}YLVkwkIumuCx74lfM%Tc51 zFh2qjedatcj*7T`9Ys(%VxT@N;>!(DpKr!^Fbd64CR{LvV2Lmuf4bSd2r|=ycory(axF zOMd8(E7V|u&i-_g;06Pwd4lb&;U*Q5-0c1! zX^NEf#z^@jIS&GE}0IV4HucP%-Wvl4WiKGEt27Rl`55mR1kIsSf6EVRZDdDBb zq>SpdFNE@4X7)E_ySA8bW74}F8uf0p^k*Y*#Xnc@MxCN<7cI|f$&Lqx0=8?F&ua7~ zB_*NCuNHfbi9ME~r+tQOHh8B00Ky%n1HEG9PZi~w4aN1Wz=p!+y|Yc!Jjh3$!CAN& zuOhr3L(`)r)T?P|x?C-@?)Dy(zioD3CmAjLt9E!|jxExWf-_Yu;I~Tke+KJIsaPx$FvM%L*B9c8HMlt|!d8caty0=D$Y?}vt-g4)5i0td@o%SL&!j;EhV zZX~){;^6_}y<37aC}@&mdqLk45l|lAX6|P*oog+S};!Bo?QDernOw=Fo*379u-I zw8&z6iqo_3{rtrL0A|Ux@!qOU;u(}LKqMAP+4EgF2z249Ngs}n^l9vS03f5ch~ z$EMynFi1anfmXaXqOXiqVzt7iFjS6lT?fYR4C?ybovx{(#AS@8UvFy8_(N^1=+mwC zsS8`epDsN`eD*Km(Dm?+=-AXg5-*0JT~5o6?Zs$W>C+~h*F^5#xfOfjr^T&0&rKR$ zorw&eDLuw(Gs4=NY91O_U!CEPr`EWYJL@B^rn(*_tUcr~-U&lCS+T`@{{W%FBL2zG;bgkQ18SParz+MI_FU<8W zGUeFlhl?+D3%p12p&)Zxy0n*ijkHiiGqdjiD}%9&rQk53D_*B-F^VrVjk)%yb~_-N zM;_YJ*~TN1KbZ#7D~RzHw`&+yZVCMbXzEP&dW7u1-{QG#Udk)mNm=+Rzsk46$u@b_ zrKy{9;~3J_?JcHWI{VjA;fu(14L!FnwS3)cqib5UvaXpH^1hYqJ`Ng}hxWm)#$b)d z2j0B~bCiEwvZ6*xYEyn^9wURh?je7hX}73i^9c`&`y zqiZO}E6erE?ithHrC~y8n&KBjB6jlR61NJyYnzr!87|eWhQh}L*K?+5@8TOHoT8}4 zYCG=?S!ocg^5C+b1$T2CR(2bEX6C>vk^?WwM*^_)zXsY|H`?bLl{qK1dOftzYBt|y zRo(LOfts4vOKV$MRkEqvcA?2K`D~9epT-erH%V`#rofH?$4uAO9trq@VYG^UUQjZ; zFG~2*-qTLF*WM6ApEUf3>t5C3VQFQeZ3AP7{#<(Ev8x3mdJUuMNq#8k*Abky?Y#(Y zm4oo-#TULI@kFp&otDB*S3PU<^G<`t+P&0q>0V@jw@!l<`Z@4VNQ+I=5Zy)={Eyxq z;j6*SaPWk5J-j7tPpB_$I8!uxUnJo0PKroC%9*6t&*(XuyIo%2Z3C}Z;A8t3)( z+^SG}SIKhPN4Xg;Q_<}_MIN1bbetwcJC%q)(2|iz?eMRxd#qVpU%Vz}JR4>i+uZ<&~ zX<%!J+iDyit$k)wM$t_9oYHrljK32s{{U~_8QL~un&M^DZan0MSNTxm73$CSZARC0 zjh9|A>?8+(O8cY3_g4Bgh#*%GK#9lv!M81)WmMDeqzIg^r{-vP}n2G9uyvH zwy}{Ca+w8Np!BaY@pQ5?O2eYD0==j=bH%Qev^@6eUpC>0Jo{G{e+;wS>?b2UR^r{s z=7h%FoMyWJ0Qg45)wq1%14!lG`A<@NeknP@%; zZD6Fg;DH$#{43gSUM(v_Z9dsQc8P#0YFAG~MM}q!+DeA??c@N3Jbo1px?+T_#A)*$ zDx3)@xtezyPIweEHP-0d@Vw*cTEXaNIGH+)LHYF zW!fvd&|-;fkOBACkyR;Jn83x-XSlr70A}1*l07TXwcB;pG?cQqOrnFDO#{R6Lwsgc z!H{!ZPPM1~n!|Ki`9b2jWj}b@$H;n*!A}Qjmr@xb0khJmNBcSWMnQoX#%tVu%-0gT zTj0KV=Cv)9!5$dp{WDz`INZ;l5A5IJ1i^cJkN2tzkJ-<`LNY`Eel_$&_tC_5tA{?6 zi+^fLiGUu|{o!+;BtPu)q+HC&4X?|bX01p2Gx&NQZ(zW$wyiZ^491&X(kU^*j8_-p zKNabav4T>({nLt=^OI6&`7Zwe_H*#%vOLQV?$f6=$*;kkC0wnbz#L#2`h#B8WQM>? z8*hr>e6@{ZJ)CignKt~qkUQ5zV$M%$c%GB+2T#=;uat9)lkHOKf3sbTEAow_wrl8b z4_)0_x7%Z45x!8FuGudWQZhk&LIva;)p8f@PmS$=XRSBOEb1GdTDNWcKiIDr&o~1; z1$|`Yh6mo8KD9hb1PU8HaC%mHnyDWp>VLBqk!cs70Nak3t~~zF^T_98Z5=D@`^|Fl zSbU$e<@3`uNv_%uhUPGvsMNJ1;@LlD=VDpgpT?}(e#=)k;Jgt#$Bb`W<2Ck;#J2K8 ziMtBNuNCfEB>Hxpp)4nCQI*Ru`cUN1MW2{9{{XU;{{Whiv$hGw-gvIc+x9&>K`2z? zuQm0>_P=i)tVNXJqf^6I(Owh1u-7ajY_9mg2j01BSCZK3gpbP$zu6+@Bj!tS<;J{o znxOvxvj%0%f4;}@4A<-Z&xiDDl-qT%C--|+j*FpqLe4_36ihk_;`-G~nz*YUj#K{3 zJ|m9SNo@m167?lcFA7hv5GJieW)Nnq&jG2ENa@y0Wv4 zV%QnvYyfKfq>C29Dr_Hiy$I}a`(}JRJ{|a`Be`b5_6C}t54=y(M`k4Y8v7!`;==Mn z7m~ZjrCz$Xv$Iu^kbK717`>rO(s&yf?t{w-z8J0SETq)!icu0B-1w;Wg3v)Wq56trsU z-4CTuBTs@>Srv8;lyVE4`6+CCOKq%KBf%jic*&FaLhc#;EBZtDC#q>{;SDA|B|~O7 zmDF_)v}D)g4zptnwqj@o3Y8-s)$d;g{yN|IOIWtB)TL`{W@S)MOxK%?rG1ZA1BkYV z>#vSwHoCoy-f`u&L_vO-l>Gw*Ud3YVzR@UC*I%yiT88*IP)pdwZ!wVN~oVjQUr}J}&VSO!G@5;zl5i zxv!=EAX-^?tRJ#m3`CoN>Bz5%{C}eB7Rl#95nY)w75?b1s%pnGf#v=q)x4EyKJNbj zTJl|A#8(e)!I)$MKMK34-ph068-^#!$N<-m>N<&AX^e-EP6xGWk}#AEJ#$|D#E`Rm zorQeQ;_Xvmc_BMced_IX&1f?_!g6~G`M1ZuA=*q4oEH1Sw=+E3#2Wd#)D5k<#^d+9 zRU1nI6vlhrSFg2D((O`bYw7qVjlhfN3Nr>-kwBPMJa{6b?P<_xk`&I_C zr}&i00$9u=RoZ@9>wXa4M`7ZN9XjboCvUoXSLxO7!z~&+cqEb(B6vi*M@~g^I*mOJ zN}3;!R-O~_P0KP`t7MK>Z#63TL&w(n5m-&M9?4&zQ20|$)4Xyahy6>H0X-|Kamnu}gsi83SV&6@^O9QL)#Bt7d++{>%EG_Rql| z4&N5v=30V3m3W_xoTgy(kcsoJvRQx+H<+*aHYM{*1e(Z&sK zV&6mLjbX}bQh&6^2Dq<^5=4AGBpZjAP-EAndKZo$`v-|x2Lo{f(-p;PcJ|t)uW4s> z7?LR&6zAT(oU(Rlo^~=R#P}jPe#YBnjPS=bbu~L*nI1L@$BO-CyZxFxC3h9P-(W%< z1D(F2viwW?B4|>0Ztmwyv`@9D%xVRFl{{{iK3;T{&&u?_vx)K)ZK$NwpxgqkRe7(Z z;P_Xg!FeUM`Yck!#R_A%uY2%s?C0UFe@07*EfhaFY<3mD)}mwV(fQ)qwX7|8PeY#wS@ zu3)#1%>)?@eTng>;0=$0ykRAsoIx#_Raa=oUuxj~AABFvHE$KAh3VfG;G|-R;?rA) zvp#n>HWOS2Yz&W>`_ejDA=(@qbH}BAj?McY>9@|(TOdf!D}h;C1`r|c#HEE%Q ztE$MS&5{&62YRWMKAZd0 zgW>J{)%<#FakHD22#x*P?7!icyh#`jEYbn~?P%)QIZjLd5q|=a^0I&5REyzn0ianf zB}7kltxJ!9z9F}i#J3Wa9CWNt5qu%mG%HxHC6-B*zkv3lH4Cyg{{Z0-_irf9B)kNqU1glpa7J;ZiYGZ&H!wyt;tqmW;-Xqjd>3VdMDf|0YhQi3& zm*Mw@ZerhQh|W37bgGg3IMKYa5!Pesr-4_Kz+Nu51}Pp@-N7EUVZ0mT4IbJ{s6?Jp zjGDDET;b&K9-m=+v0dCI9fs7;IIgo%_+6!{Eyb}5!1+n8VoNK_x%}JtSV+8s{o3d+ z^?TN`iqa{Yd|&d@xfK1NSO>!GIbn|GR|=TRE^4j6!!0sqG7F?BoB>;wnqP{qwC6uN zh68D=_&giq<~Xu~Lym(z>V2@ehF$zL(sbO(a^aP;k7|y?;Z?Qzd9cW#AMT#jOI?G; zHtsaNT_lD@Ic)y`cBHpY6xqQUv$>I@A9V+6J+O1KY5oz#ZFrEi^kZ_I0otR7;r^3t za`qR_CUP>arnH_v6l<4In@Hc!jX41IsIUAtt6N_oByraimLCQ6Tep%Q?Fi#3^}(y&8}WvrrKGmEN@q|q8M{n$?TNo;Qga zE3Gx=2eIfeRnx`3B8cTI%qmWHdRDQlM5Jd!@Z-b_9_epHBmJ!LTe18y*WM86sicZ= z(={}nHP$Y4`D`Sz-14r`A?hlYi{dX7=#ZEVyIlHbwNE)wk|R%s{v~^pZr9=;Mmfb% zzW8o9rxSBIVL$4M5Uhfw&Dq{06H6CDZG zFmb%*quaov&HlsV)auiP?s>qi8;u*scJ|A64bx5-XKI6*^xIz(>vt#0yVCrGf0XsC z%}2*FczKKqY33tz>%~8Afb&$B;!fQ8Hvn`WA+1=O;au zByN9t5yTWzqY<6fHMujAN9=ClK6+>R1po(O&a^gYt=72 zai_wH_IEyM^s49L4V+$`B%;=Nh59}nN!iFGRoo3exLS1lv;+#>|uDH3KO!{pStV@ zdVbLZW&{!j_adaV`1>Ix=T{@sBDUu6r-9@n%Cdnzf}mdv_!K{o_R$0MsP{jV1z(Tr zCe=vX4%~{-kK@IrHo6dcoRQY6zkoa=(j|-*?SaK)NuYQ>#$jP`1X4`-5%4NGJc-cg z+vCQbiMwGW4mlN0FWLsqL*+`lS3S*n+3=5sBfV%OnE`W4W^;iwQC$)X4Mz4nbbKwZn_WuB8-5ZsYlK8<|Iba$ePk+MZ@Zsm}F$0d9g+hKY z_;yaW5#)cgIj^0g_$gra{(ttd$XxB(I*N`TgVCEOzK-;~pnQ?w4wW3S1L(x~r=-jC z#Ue2FVZ|%_Q_!P7>rmsa2(O$X_-CjkzW8ofNVeO(@1Di$nJoFWR5L31tfXrY2ykyXUCn{i{A7$1p!5u6le*Q!IQ+zm;M*Em!$3SEiWPZ~B01jp! zy1j+Hgo3}H>HH1x1wVNdlSs8p_*>!~lI}9k9(@l=)nREGeNqSX1uyL>@bx}lv_u=z z%oQSj(O(W-K$7wdH~lmmSM&b>ABH|7+!ZTxF;@O8({DU6@ebL4adkAie(?0DmKvW% zFRQ@*fVH2DJ^}F#g>z{I%uV~Y0B`oM%sbd@BG+y<$bus5Q}H$NwUYco4Eay6j9PX-*C3=3TWdbw=r2WZ1VMQ4sJL2DoQv=Y{+bEWAr=tLdM;w_q7&0~{We z=2onFm|QzP*!Z5=_;}FcpR*7?yKCSd4_Q5z?8j>C&_`{{Ro!vzCv)YVLIZ01U|w`a*r* zO4YjrX>}@D>CmrW399l!Rk#zP8J5bX|C5Pc&$*pPP?#_fwuvKG4P7R)iiKK8JH}e`Rx=gq#!jSJ56Jwp~X+wvtuI^7yYdxboID3^`Uc z?&)b9{sxBRkGmE{Xl8f>IusHvI$(-f^cC{J$i{1^h9w}7Xp#gfMsR2}DNCcgULIiw zO||Dg*^|a2xo(RpSG?))th!{do`GwEc%x`#haYlL$I^g3_r#EmQ^8igQw%Do{Dpk{ zmL(L2=kTwlyd`A1ufzA5#^Dfe&{v7W6}vMeoDPDQAeP4{)}%7va6K!dWS0KHt%n#D zqb;NeqaK`8LQgD^gEVp!k1Lx%)Hax7O#6XfVJ@+z*?d0Jw8x$Q)g8y1CJPR|g+)XNvpuv|HwI|P+v!Y_2?Py~;T1F%Qiy|&JJ#*2YS#GMoQmg} zxwGM%-1v6x1NX7h@UN9TMQJ+ufmH5Gto{Jk+TIn4(QTzbqm{w@tLANf*nPh9YVqbi z1#O2ik@hFT_Ba0k3F1{gVe;4?YVqrxI#G8bvvIp0O7!1=7mGiE<zDXDv#Mj zfR}7zpszxgPK}prbwm3m81Q8ks$^W@qqp5A4?*cr+(8^K=E2WwS7~vl!wKIPMyiu( zcET=OZh5Yly$qSaNU|ipaq4?h{J8QaJTdKClIi4w#~qDljXVtQ=hC%Abr}K))SiN; zOK208=~aw!#rw1v`c!WmiIKY|orx_I2GXa2Rc>N|BE)12j+Gjt&4}@jdaXUQxZvj$ z>;{I4<8#1IYQwvX+uu1;{6e0Q-FeI9e5CP7bR>%5O~A)E`qeYD z@XiOZ(c`&Z1dET-zdm$%8f`|}AU}z5^smxS3P51+-K;qIh#P+@)fh<~?wf7<({Ugl zG2`i8?eOzo7SoGR+-IeDF-xc|5>jwcdQ%86%D0mx`j9!RzkHr%el=zAMH2EYay6D30xy+P$w>wvu&qVZa<3@ohpm zY;^^gF5#NSM$k0=KEV{WF<%7Towe~ctBI8SyK!H8`0^O_&j_r|)fcDIz6{p`Ml zrbR?e;xY>o_UPM&LX2XxY=gPl$L>`fKI}XT4l%T2HD=mfvXtr#WXeUkzjbhvFYuAa zt#!I~qc)qZS!#*UV=G*p-U{uHsI5CV=6iLK&-$V&VDv2ge)u7+Hl?G(c=;r#`~`hu zYKwoTvVU}BSLWC3)z}xT?ofN^G;Fv9`Q0^*OH6 z?m6L_2}j&G&2kd3v%gvP_x^R?U4NumB+!iTI326ZsULh9=~_EPB2O&*pjF*L1KK`E zLB(=D7nsXzhdY{5_KZx?%#$tY$r&`WX;0}VN)gv)Z!MGWw*%*Uu z>ycXxmjU_1{{VWtW5m|PYr;<0HSQ~K)b`^Q$LjhdHxr3ZP%04MfB)3><9_ zamQ+QMldRQN7PP&q{eDKe=2YU_oNIC2&W8V1GP1OyH3xg0~8P9^rv8Fif%_Zp!W2r zcL7ESr2``dmE-8k(vv*~DWn4Q;8WCNif{C#0D)3gok4*FQ_2}JzmH5*c<0)jcM*<) zrotC!Pm``G!kfKuz^4r3H6WK^K;(J~c*#6;riykdSFs?=A1o! zXavU&4slJ-dUr}(bmF9X^b(gIlxG}z^rTUbmX*7NcNe}X4k>yJ3NU(9+@_yk3V#ZA zQL_2Owj$Kg>`*VZ~?EX;_Wj89xy5kOWao0;?d?RU}B0w0T?wS_(^cT!%ZD|q($1kw7Yk6(-aigqMfwo z6y7=xl)QGOro-w#7{(~+OdL~(C$1@SlA<@!YE#F{N%H5B(u0HBrATNTUu0X{qCV4dmheF9=?W`Jm7SukOO12NtIu_L0q74--SrI zrmoY{oB#&Y~)6sJ67ic&DVb)X+%bF^{Nl;xK^Q+E8k^ro)j zyG2gL4+lI7P@}JERK_rApq2SW3d6o%hir+jzx1aDqJxKg2-LN7>+r}!28np>Na)Ikn zJ%*rokH+tZ2J*}P5_?8IWB?MG;*>=yVNHU z+9?s9GgPjjy3ub3oz71L*Bw32PG1Se-NSJdhs*>ITJ(hLZ7iv6D( z&!uK~dJRSk&na@9jc+upV4xo~8DTwlEjcy$i**Zv}^&=4aNt zdhX=M4$z%zTq=q)s@}w7QTf2%)bUu?x02l4rsizN>C&!6qw1IHWVS=I9D7$!rFcf@ z!{*%ax9?`XIaH>W#}%JbqO#T9^l+CFA1zlE+IUOG@mT2}VYqDUB(8lc&f|vONBa~! z1>lOp)nby$Od#W@70K-3H?e%qI~~rib#dZLhn7IQ7o|m}#v{$B+s$ygW~Fem2-Ut; z?OkPr7nc_yqx+!srs=2zCCtfgpf>kP2g);AI)%;ANRl=`FZXG6M4d|IN6U(}qTO4& z?3@Bmt#MV7JqSX_Rif(CYPN#XV}_58Ypc_mJ7Qy)u6kDj_GT%J){TIB3bAixsNYGA z#c|%aYEwHYGp^RO=ye!h%OOY{V!Z20)+f>DlGbbm&N;5)(s^wg%eXo1T!)J^StoIQ zZZY2iqA|Iok?dX(@h!9wh-EoOJQGXtCq#!*(Wbw&Y?P077Q7Qf)NcjSSUb`Xr)!q*Eyc1BzK5kptLm3_;cjODN(dWk=*Z)=wS+`t z3mYVu8T&gOl3OJr~LjmGM~ z;q7WYBFs!wlH3zgeY!1T^=62C%g$@25V6g2jlQ2ZhvfTGNtftA>02`28~aw0Oa}vu z)axCToZLP@?OD2otam^yn}iA4s!+LBM*jeUd}BGh8YZrR;&ZYw+ZFE`mX&V$Jd#5S zgxGPkdsoOJbEaLa%5f?lwe^33yh=44G8otf$O=VxnU)()Xr7J=R#rY0*K{k3-xbV+ zG0Dc(918YNhhOn7n&VAx`DcNK99O7(R`BMXp*r}2-aWEPM&sJNV?x($qq~yuubA?3 zHva$)E5%d1YU1+smL8G z*8D%AO>MU4?yqX+o9u5wmYSV^hrAo4L1wEq8cww?y$yww2GTWAxL|u!nmjiu?ISaPGrYn{Ww`0C(D4t`e=?30*nl=P6{HxA&#&|8!+UXAFeb5{{Zma&Yf#<0iHBy)G2I_YWh~j_e8s~S#9Br zs*jXnzEA$ex`NgL5yXlHbl_llMsQbC*y{%jR8ATe>UD1Uo?OU3K*3w%a+%w-wlEwidQl{&~j>n(8rDv2VhjA6+iX z%(zfyBfmjh2a9}1C!Ic%W}m!%GQBGk#6CRMKHT=YOn^nxAaPlio+{F;wjDw*I_0@` z_pM<`n9ioQ7eeqm!7ujKp!--H@Osy!-e?o+uL;QeFao%pQ^ZNAv=){CfcWS-X1ZNh zR=MzghLTG!?_2I3!llINq}7h_E>$ism(Ev-5JqV1IX-`KLtjABbkv{?7Mc#?6dZxyPj3BPGqm%E)=!Ung4) zXyTnDFJSQpRIbhf;SIIcCLG)HK~%=2n8v7hq4zj@Tg=XJj@9d*5478V5Nazd(0PAk zA%@{aYN@LsP^E2I?LG{%m&4u^ON+1;MnKr~#dwE`zA$Qcmr`h6X^l$|8F=Eo3&)-) zat4#7uu`kFfUlNyeHQNG@5;ejhHcsQt_4XwS=}18(H~CyHno|wcAs~cLXt`6BE2ia zxAMcOs0o1~Jx3f@mwYJHAhy!h%H(X?yzca`VV3tzWmxRxMv(Lat$DTDS{{`c_B}3d z62*59_H+XhZNqKpUzXnz;ah)?7Z1kO^0=?k-8)PE%CYljU*5_x8`~B6x$$ihKaIb< z{x*vk?^b|F9_m5qZsR35^B;|DS<{&bqzyxjo8933-4TZr)L`3jHR+Z0%@1kEYFJDUZr10z(ulDr;n4FPThM@y7iKFd` z)9Vf>%~QGJw|*L*$SpFK9e}BH@Ybld`xszgSFk1Br0Bd0acHixH6Y%WAV9A`Cu zS-8EHhn#3vBGOdz$@z{3YtnUyRkUlDUUMJiUR8A_{Y-g(!1%>_?2Ly*kg?D1@mB|V zA#$IbaQLHHPa0|(a>(9Ln1O@S71PP$J!&^FF+7vd_N;3=X#W7=J=QL9mKP1TjsUKv z2o)}5o^;5`y!deRbd&@VL$gtYMf`%q*pg4yj+YI=y4#Vx{+6k+q;t6A!H=G*Lj zKD{Y&kfd}T9fkh@v2HFd7~zzK1NcpOoLBm+cd}c-ERDSISeo=Cz56AZiroCJ4+EgC zSOeznQOb1uXyqR0IqiSd2V%- zxC?eNZ zD%;8O*!Cn*WN4&h>w1o-4DBZ3pl~*x)ni4MQr0b-?GAQCK2KVqt4-!zlulzKBDZ`! zc5LEc7v^pS8X74aRh!;iYi89YmvX)Wlk$rCYUVi;LyZfuke~&7bgv||v`DoRa*2j> zl6~vc9{N1E23r3J>3%Ic4o`SWn z)n&gEDuUqk#dJqcv$%y9XeEH%(xT94)-yR#@sr{W^@+H+3Xy}iE1sgQ!|`{;^5!=YP_vKZk7~w`f^L0Qr5Xa?@Q6U0nz-JZIc zI}bI;_%1t*LsIi@et3fL$CF*Pj++!V6GA@ZoH6WcpVEi+MDEtZG44Gpcye?{4Ov|0 zHU9v${{X^9Eo4v?2*CocLenkt!6{;naqU+%3y3bYKRe4H;8QMSD8rl+&2MCKXk#{? zsOk5ueWvXz&U0AzI<@`eo?QO`bz6~LY*Mh02^(r{=iacc?5*xEyvTl0k;knv(QeWS zjg;SM`=9d2j%;x)t@ehdS-vKVX@E6U5}W;b{HE+pr}p5$0qPHv~veJ%U@XD!xA&DLWSHH*169Y z1=DnO)Hao5Je+j;SF8P^ZMjj9z;>(+deSX(P5#W7eB9vn2iB*PxxE?kvvc-*{jC20 z;TXAxMb#!_Ya?ukzi;=wtM>2V$B(ox9cXb~+O$m|jDM>=zY6|bd{5wgM@+l8j?rC= ze7BeUL;ash_b-6IwNHw^4)3tkWR_S%;a9Jgqp_}9xK#B=(c!TQO2_meuIjh8I?t76 z%tp`QJU640E~RY2Ba`O9APV@~#?~(cQnX!(Yw1rMXmW@pwrE&jWLM2Aq{|kfvAE$*Fe_-YCX3SfGTW?Bj0NKZy<5}l;|aOG zgFS0P&rJvjPoL>oT8-egX%+rM8s$f&1_aaHt-hsaa#+RoX8Y;GSLpYF{w?Ye_&yZW z3e6%$s}naTZY$y61b7Bt7F)%4e4b#N4VB`)#qigFptjT3OI8cDd(q0SbJdzSeN)Ew zbL&G;wN>+#fx#FY9@W#$@k>%zgx3LgV~_qxnS_j;t%q^iKup>3f(#8%{mz zwDBK;?3+ireY;vXNl-ZExoRjHQ$J4s0Aqg z9~kL^dq-%;%)-7xC(`AQ-99<-cg+El9r0d6uLgJ)0ryv$_iq*Hvd06l918ILTM{Qd zGm7@GPh#;4Q^~c%D3%pr$UG5M=iEedcTwJ~Ys970XRtgPrzOHF4gUZ(eJkndGsUT+ zFWJgmZaoKD+Od*3<;-InYYHi1G3-y5js;lLCHp*tFvxGxyAjItJTu~=Bzoj*y?Odq znNCDH?W~016Jwvky=UVEvaRKM$v8z9-n+S-rF~0ljd(wey~p;D7BMIBG2>)s-*?c&OjOvWMFh()_%2 zuc@O;L*=T;DIR6wT?ShZ5KmzdGK-zpCQRp(+cor;!G9cD+2{+T-KHgrJBu%4?_8{! z9gOh?oQ8P7UEfaCLJc^>BMWZ4WGL(_quG(pkEf*Z?w=1y6;hpR@f%C?&>0tw_42*m zg?Dk842+|))^m7kP`CZ}+A*Gjqu9hb(cXU1HWt1kxQoP=6X(n-HtzJV3iw8&K=GpM z8mRvOMvcKB_pbi;OVmEV&2;T9)yj^-uyp%dYs*Psn-Sb50`{jGX)6lH*>_$iu>IZb zl*p*#a9s92)scVWdue>QUPS~qTKU%3L)Dhd6p^K2!hxPEChJG>15C>>ba0@IgGw}# z3m;SJ8vc=~Xtx@D!^H0@Vm-$=uZX76uSTPjOMh!)Z7!dB$d4Fi=fBdu)5D%IwT55;8yM{ytK@N~#}20u`M-En z4W#uxwXdw(c$-MOVk38iV5=u#Q78qEy>%^W#vKM*o7YB-fE#i#gI}Eg02MTt2E5Z~ zYOM^vHbCiJZlU5I5o#7O+V5bBp-A<`RMRY^)GZ{px>ByHTXTC=LL8*>o=u?IwZ5d6 z6NTLq20!fLzNL@EnsaH;qmh$lQz{TJrw@9O;H#E@cWCm3~lvrF0e+cXuBwM2B8Bo}(0NP}~c6pp!B< zCvXCkSr$GySoIjLOnyPY;{;c)d@9qW({(1hyNrC`uRXI~iK%#XB(w8liB?<;aZ93T z(?tN1Ve@Y7?M_uJ7CIeYL$r!jy3fkpt5G~ImzpfHc#bPgp?QS7ucyYL6J8J!*I~=cqw83|w#w3g^aiH39f@{${GPYJ8Ac{Ms zQwU$yu@NtHhPg_EPQuRp`uzJZlB+v`8yOO=l#4?rs{#M(Ev2c{ zRJ#ZB%wu!058(#o2Gld*i$O&tx*xj3p45X@l_BgM7&^{q+R{A>I>JhxM zr%4cCVzH{E_8p>nFN{7F_(%Q`El$}ZO~yVr8L!M6oi-gmQM=R9JgjmQUO2^l?Kh9+ zxU;<%Cvue-UiI^J{e`8*p(NrR{&SbW6?7#i?iPvTQCUEQ3!88YoxgN+ue5#}_;XCu zv>R)AZDaD`9AQOx&aL6-RU?u(xX2h4>b?-yWbnO;tg$nz3@9B%YdLdlPa*4r;opSc zEcVd^9rlX(m*O{vv^^(PEoW@LPfie5u-*8|ONkacWN{OWviHq%b4z8ZTx`FHvSXul zq7vm3f#dK)q04Tu#b&C7JjOJ%YFdxCcWT2DP_{2Z#EUn7>09Rh4F{> zcJM95kJ{5qw~p0t8)RS|)$zaV&-+N}-Vn5p!cuF}I2pSqC`)V>R6^{?UI z!7l*#r@%I?ZxAxKEchA89M|XC`~vZ9oyxLL5h_8*Q_{ZY_)Fqj-va58=-Sif7|wX& zyzFe|NoDU}W*ZVg`;X5?eG@tco33H#)zFV@>ZKIteW3`la#eS-MP4PYe`#=Q0 zm*U?Av^L}vF`dc$Sg+4J--mjPb2pVLvdzqD2PnRjuoJ1v@0r!NLk#Oyqa3JEF^(}^ z7KN@_-Q9~>a4wQyC#mU2 zwP12OXTsavZSkb}-g2G_bldn<9Z$e|wvVg5o~UF_0_CzR?Qhxc`rgj%;+|N9O0DxS z9Y;#(em?2G9@TW%H5gSI{{V3;>3}%t(xFw6ned?S70bn#E@dr@kDrR>Z#*-1X8u*& zt{fgPdsnT-`i`6vcg}~Rf!edDvD9yFKHBI?blHy8(5kTHJhnX!X)eCS_Q|(P#6&s9 zYrKDgJ}I@*U&Ie7l1N5l%VgrOOQ75~$?aifXd7_I?_W~rcdx5>Bka--^n{BHxbKP; zW-dm23;lt0E14o@GpWPm^fiC`KVci^ee2K4+;Lq7rKb3f$5OmsvB;>-K>2tz$^QVt zHR6ZQ?q8Bf!0lTqs5u#S80Be;y~8s0+}$eXkzsYLUNy8+wlH|z#b!5$HOokoeXOou zt_5p+JU9Aph5_7YgFpj z(Foy3n74LcUN%1E&7Kn%lR$rG18lFtE4iL_V1ivam5_y z4u$+p;#;en++kFnLh*{LcdYA{qs%0gA8_;dRcJL;mH=k}Txaie2D*(x;t6~%UKT?- zv}9xWa79l#iJ~Hk&*K&SsMNIGGDfw?8;UnIm3@8jYfp5NT_$44LBho38vcbpVtWk- z;%~q>?zJm>X=b&UL%2q{`BuJ%li?qP4$~!#yJI76#s2^bpRV$nsq&x80(?gJq%wc8 zCda4QpZqF2pNJn3?xHcig*FJs7SI0x#Mkvc{{RQP6h`wDuX}5vo{t*Ll`d9T1 zegpV2LHo-KeW#3hYyK63seaA>01WN`3#P%m^}>(vsg__bY=1IQc<%5@T1`Iq4EBM# zepRIx#7z?FQv|WNbQ#2n)AO(CLrndcz8b93EZSU5ts5Z$NAV1LSM&S(bbJ%jJ_~$c zy0-A|?rdb($roL%-~RyBTG7NQXhrUE_Fg#CdTbc&#w$sDU!{zcR9{>HUnq@s^zkca z=~FJZEBkX$(N5TGj0Sf%5`-2tTwB885PqNPpN#=di8jRP#@q9*DfeRCYcr~e~{7i-m zg}5swSJct$qQ&f4`VnVk;LWHu3`fV^>x$^?^#1@4-QB}Bo&w1c-OmEPKk(PZO%~!$ z^vN-m&Np|h@$rJnE47DDZHXDn^PGy~twKi7g^$xe9e4*#);=EDYVM8p$Rbk@mN;zs z*U{e(H1xdiO`0Tlk`;&^27XarF8mbu=i%QQcy>Jo@@V91WD2Np#~thIuZ22=vkA25 z-E!_(6aAX;D#B;0LVn@tG1>jEO*{Vp)#Dfy^1q7gj*+X%VFf{M_4SkjOD#w2#eZ~r zSC)KA(Gq)+KEQxfQ=ciPA?N-Wo@o>o;GTopy+#YE{z%g}9jk=UY&@(0Gbixl(!GyE z(ZLGxa_6;Sip1FJqfEVH9o5H{sltx6*jj1xV{DxB#b{}|S&S;G^{-6Qw0Mezku&MX zO5mqgnnlehqm;7n;h6^H`F*P7z7=4V|RpN}s;g>(0|(d4YEH&@bHmxL~Dw_GAGln14F=D%ZW=K&GVKQQ#HeZAGh@TbrE z=9T-x%fQW2n$Ff+Pb}jgSGek47E7B3mId4Z=Dc%I@ZIX~@{f$#vZ} z1YOI6TusHiXuHs0*Q?xkcK+eaWlt5#>bg+3Lj#OBuTF(S8nmo=O~fWC#J$aV?}-67 z;fGrG0c2X|V{!#~--+yuTBhPYQHu2`v(Bj-9(Qt$f=K4ASw)*Ca=kNJH*IcWbU4py zgHK)Xya(=_*K7_(a2JseE?;cd(0U39{vE`uIz%hME}|Rm6VXk51K^Nu{2BITA9f*H z81+0pXe5oF%jl+?0`CQ-HM4Ry++4$sjB7F0Xw^>6382{>Hiz@UHa#(1DTfyq8@M~k z#d;2eH=zhHYnQ%Nj`m@BuazA_gtHvgXCCAHk+wB#;X$*+t^izw2e&{ z3kwgzj&hNo7%`IW1v(?=5rNXQMvth-!Cn*jRnef|z&=P@@~q`BNX4FK3$=IxwzRid zBHI^QdT4j#kkB>{`!zM5iK$yL^5bEjYQl3jJC6&Mh2AIo@@F5FcxQ{On$ujGHW=Ql zN8?`K;f*&_H{i^KC?}u7yyN0sw3faoM0McBn%fS&;~AaL?BhGdJ^hQG7A)iIU2lo3 zqW;;q2-|lxaUZi{8GLoDTFAg4g*dLu;#H)UJ|dPi&K=I&eJXJ<)s;n<{{Uuat))}X z%72x1e-7r|;OVTmI9WLSYtA(LyO|NvageG&uJ_@ZtnpsiCsmD!A6n+6OuCOlfVc@9 z^G4&N8s|>sc4X;YKDiK0T5Dw;8o9X@qYSI-RN^G`85*`u^TFv^SFy6U%U4Uj-lK|z zq(@(w4n=PWncT~Y8BRt9Dwf&9nD*z=v|4hUD)CM8sk^)wgDOu(y~^@UHHvtK^T{7ZzBM9 zr##WJ`KmA}E}}UDBju%*7`&0Yk?lYcTHVLzgd?~Dm&AY}fa8-?qe#-~BNt~JR_3=C zoA!5M#xiN581D~CVb?5hGrMMexv$f05;8QnLU0ijkFG283&V>n-Ym1WglFy_!!`Q9 zq1wX^lL|^O;TMm>tj(aGQ-|z}3!mOF=i0KD5no%}XKIE~n%9>`O-eZ)$+o&xS?nYl zaf)spHU~dSeF#V1o(y8{s5N!=Ar| zL{6xmIKra}6N=Kb&zpcUD>BUlk>EGZwW+7>SK7lqwUa3tu283z2R^mGW}&p{V#gT% zRfqzx!f{)AbAcI%j1yTVS?hlT{77syXspboGcd>poLB4Lg>POvXs3q_3o6&)SBGc* z!SO^oq?r+yR34T4De$9RgH-U8z6E&Kh30)H zQN;fMc47cE>;-UvR7?Tsn%r?Z z-Bqj)I(U!|6>?vxVq-)PPcsDJZ7El918dW{t`^{uF=# zr=Bp&#wY`D$>NX$_h-J3_mJVQpe0E3OWHy48{1Vko6tO=}rl^-!zLR4jYPg^^A&=tOb6~ zdHJ(a95xDyB-=2`bRB7mrAAhPk3x3mr2vo0g*l*(;=Nyh!fyXppgSd3>K+*E=w zE~NJqDz<6ZLgWLsoH0yNz3E3Bw@O9aa8cThLB=T#HwuzQ+Bl$MZQJ#w0F|I}p^YlA zUOQAU8oPkOIQFM>rjR#psW4b>qyP^+F-wz?=|cYic8qgDR?vCi{b=n?=}sK==|FF= z5CH=e;hvP;-qg4tX0s|g4hzrn6h6dZ&*4eElaM&4MI3vJN!0eBdkgPNll(N+1Q0)m zwK(ljikWrp+lW1aVBpetwwgQ)1H>b1CFf;P*d;J9?4}P*`U)3fh8_ zK2{XFK{!1rH*)M?m6s^!!NL&smW!pq}+&w9~vina; z5Ujcm#wh?f;NujTH2#2Mr*t=TIZox;;({@R>?tv~59v#s@G1sL)8$c01b@V7fD{Dh zBvLAe`G+2~ixe?zs&FX*AmbUSM%)m*QXmRF>0Fyx3)2jGQ#Jy39x1^_?C0>NsL0wn z)QvK3yz~^>ZZdY~7@qf)bJzDM|uI+X!fP)NsJs*z&&bMq6n+snnFHo4wTW?Z>>v=aZ)Fy!9WGRQTS3L z9s6J%rjsGEu;N#o1AyTI&p{FmeYLSk|$_)c(IW-wM z>C%^PK~mU>bDr3vsVdwK#+8m1fPs{Az^NDoDy4f-2_uYPQuSb~(v*EAq-?=9Ez0lj2@K1ox~25028Gv4e7A(F-u4~Qq&Jlf`d+` zQ?uzwqM|M_(wuj8;*+H(wLwGI8?brwrw^3m_M{l&)KEcVK@E~)A4);;l6`3a?Vglm zbTun-hJa5_Dn$xDw44f1JJMs1V9t6{13>verS2&Ps9a=m#V7|E130DQtvjbm3Kg=$ zcdai#7aeI1TY{gMi*Z98#kd{o8OU0VB0P3y}S4 zA7B)Kc%U)JLqWhl%9k6L-jF0N!H<`UKIq7%uH11?&Qyw>i?Zkd=LVgcVsnpbaNGA! z2BE!5NKxDxZV3CmY52t`AoQhVG(RFW+f7r?JkS7Nz0E0A!6LJ=LmqhODEuj_kUnnI z<$MlBElNmrCqcyk2H;Vhzb#Lo{DY-CspgP;!!*3-7^NX0=W6mP-zh$4Oi&eex;X}4o zlQ`heTLzfyfevuE#b{U}$#AQlhN!0v(zSG@M!ZrEFl!o{8bJAT_JP%_IsWf9`#trxWhu|S+mn_>{3f3 zJIBT|n&9BHL2$-Cho`lD6|Y)Y>6$7;a8z-c@c1NxeNW1W02#0`UKJ;O&s&no8PZ+N zW0fpP>0NGvcc@1n+C06<-#vvSo*s@{p*)T9r(E>nsA^s;hf9##S%vb{V4BmHn25`e z^cj}c`VTfdZpMChI-}5SoVj#Pf-SFo5aC?ADPm zleWdVd~>Q!zh_`Z(T(1fy`$UOYLNc`rhzn!dYY2o!q%FU33}tpE;EI#jWAK7dIN9><{u=rE`@))DgRaFAK)ytWkSpxSWYV8Q z`+7$XULZpZdRK_}uT9f+D?vDLvVcxU82VS{wPh$x#QOS5Gl}3nHSkx4hx%;Lq-DP8 z9`yYS!#2@)eeQ`8DvTn1D{I6twyf}4TVcd16zAHyYg+>bjF!kT&Rg1tU8D+vJXX%p zt}gfN^1$a6>{d1xw^s4T8l9sR3_4DmAJ328dsm@pmh;03?OZ7zO3HPw8ym)&Mjh3v zSli)GY>{4Dseh%&%B_X3R@bCLk|#%1uOVr9ZKLk?qKuw{sI)v&#P-(kUj*5YR<3o? z?_DB?u>*?eym^(lMd$aOPo-%1cEv4VNf-iO7_XwCHOhE3DPBgNm!!t9t4MOnE0NW; z*==sjMYtRa@9t)f);5!zW1z1cyoqnGC6!J9C#`6tjOR|p_tZbMCqz};=L0owQnYwt zLFJNLy>hy8PP&>cx6Z`vGT>Zp#LJD)hehwn8|mhBsC z;=T94S|*3#=>GuHV_o4v&!ttdn!%7q5`b|`yO66Ci=6SrM5-pVI_bjO9;<7wE~k0+ zYeoIkf5lXMO%2}*X_Bq?v0TrDCzDTkWRP)+_8lledjs5U-lTLjjm_V6 z;bvJfCXE6IVm76s@7_9}IpR+G$#B9$JP-#zFq|LE}wAc&>$nDTwoe zqoym`G&uhNva}0(dAN}ioxZi>UM7+|Z9(p4!!IP)%llVSrO#fRV+dTUW2Rc#NgT+- zKPy+z`c0y0dR$VwebJsP;Xe@kMz_+MNu+E>qXQiQ73?1gel6STR&YeqD~ZSfLCtkk z!A-}QDPv*JW9itz)1rBlZdk@metLX<_=R<@Ycj*5OvqE@bY7cB2ENMp!{f+2C*g#O z00ftjhU4!KYWP3H9vZ#zZS?nEPV+2`OJhGRYk;Dm?=viYUVnBc5%8nK_Zr`b0uoF) z9%rzxvzx=77t*5h*%C1j{{UHv;q81rJO>KPVQvhwb-=GA_=)13VsN&~{#b9k5xB2i zNmM+KW$g7k4R6MpW0@`NNR($EFRf(Q_`GPgvNg0hxRi6pO2_zr;A@>g{{U#}94YNx z4~xICtr%KFs-_Hij5s7$L|}|6XmM88m$OYitvMvKWCL4v8#N2nx|j|4#%rFn)hzWV zHo9;ndRMG?H^R>?!n>&;@G>~AY)tt!G@(xVn>s#{_XtwecCjBZ^%dw|5b%=2tVMNm z@}y1oYpb#Fz1^f?0wSpx$m?Akve|fdPv0{sW?px7&3P4K=6dn85O~ML7TR^RP)34D z3#uymEq-VGX-V7TdzglNwT09U*%kG*#<@PX;w{eKDj$@43i&_cz3RWl*_DSrTmWO~ zUZ!0_$B~b$ncXwB$c^76lyh7Ly)uc7u>0ikU1WD+DP&nr(%*L#%;}mH{->xstcT0p z!D{vSlur?^W<{ph8QEl%6So*O>RL^ih;LQHagTb}(|jWxowCe6X*((DNiLu*B>w

okH)<(#QKwJ7P83OLV|V= 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%0DWNiuP#s?RQ^|H@b~pyv>%}D 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 CwFMXe literal 0 HcmV?d00001 diff --git a/week2/community-contributions/enhanced_profile_picture/my_profile.pdf b/week2/community-contributions/enhanced_profile_picture/my_profile.pdf new file mode 100644 index 0000000000000000000000000000000000000000..750ccfcdf6c30a91e5ee13a785136271cd892814 GIT binary patch literal 122320 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 DYQJZc literal 0 HcmV?d00001 diff --git a/week2/community-contributions/enhanced_profile_picture/profile_with_company_logos.ipynb b/week2/community-contributions/enhanced_profile_picture/profile_with_company_logos.ipynb new file mode 100644 index 0000000..e6e434f --- /dev/null +++ b/week2/community-contributions/enhanced_profile_picture/profile_with_company_logos.ipynb @@ -0,0 +1,189 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from google import genai\n", + "from google.genai import types\n", + "from PIL import Image\n", + "from io import BytesIO\n", + "import base64\n", + "from PyPDF2 import PdfReader" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "Jd_mMczWPcf-" + }, + "outputs": [], + "source": [ + "# prompt: get gemini api key and create a client connection to gemini\n", + "\n", + "# imports\n", + "\n", + "load_dotenv(override=True)\n", + "google_api_key = os.getenv('GOOGLE_API_KEY')\n", + "\n", + "google = genai.Client(api_key=google_api_key)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "STKn3tGIVxOA" + }, + "outputs": [], + "source": [ + "def modifyImage(image, prompt):\n", + " response = google.models.generate_content(\n", + " model=\"gemini-2.0-flash-preview-image-generation\",\n", + " contents=[prompt, image],\n", + " config=types.GenerateContentConfig(\n", + " response_modalities=['TEXT', 'IMAGE'],\n", + " temperature=0.1\n", + " )\n", + " )\n", + "\n", + " for part in response.candidates[0].content.parts:\n", + " if part.text is not None:\n", + " print(part.text)\n", + " elif part.inline_data is not None:\n", + " image = Image.open(BytesIO(part.inline_data.data))\n", + " #image.show()\n", + " return image" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "06h-zRWtWL2J", + "outputId": "e12b3b9a-4586-4cac-b3b9-1b5d6f27f708" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I will transform the photograph into a vibrant Ghibli-style illustration. The scene will depict a man in a blue striped shirt and light blue shorts standing on a balcony with a glass railing. Behind him, the iconic Hollywood sign will be visible on a sun-drenched, grassy hillside under a clear blue sky, rendered with the characteristic soft lines and lush colors of Studio Ghibli animation.\n", + "\n", + "\n" + ] + } + ], + "source": [ + "styled_image = modifyImage(Image.open('my_picture.jpg'), 'convert the attached images to a Ghibli art work.')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "mR8MoSimZ14L" + }, + "outputs": [], + "source": [ + "def read_pdf(file_name):\n", + " file = open(file_name, \"rb\")\n", + " bin = file.read()\n", + " reader = PdfReader(BytesIO(bin))\n", + "\n", + " text = \"\"\n", + " for page in reader.pages:\n", + " text += page.extract_text()\n", + " return text\n", + " \n", + "def find_companies(text):\n", + " response = google.models.generate_content(\n", + " model=\"gemini-2.0-flash\",\n", + " config=types.GenerateContentConfig(\n", + " system_instruction=\"You are a career assistant.\"),\n", + " contents=('From the following text, please identity the company names I worked at or served as client. Please only return the company names, with each company name on a new line, no other text: \\n' + text)\n", + " )\n", + " return response.candidates[0].content.parts[0].text" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "id": "uZopM8pObBIB" + }, + "outputs": [], + "source": [ + "pdf_text = read_pdf('my_profile.pdf')\n", + "company_response = find_companies(pdf_text)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "kKoneJrjegUu", + "outputId": "96f601f5-dec5-424f-b8ad-34c019091395" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I will add the specified company logos as subtle elements in the background of the image, ensuring each logo appears only once and does not distract from the main subject.\n", + "\n", + "\n" + ] + } + ], + "source": [ + "final_image = modifyImage(styled_image, 'Please add the following company logos to the background, make sure only add each logo once:\\n' + company_response)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "final_image.save('ai_profile_picture.png')" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "llms", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}

TGx|tX=eWb>eP(qrGB>fFIJL&58Cp$i4-Uv zmFLPQay`dd((LtXSt7bX%OrT*de_hQ-weD23Aehif?cHj<@K+jbU8lVXcmXK5?zpAvlb8>5O+Ghd`%0yM)7@Smz+kHWt{z7$wB&a-oT z>%o&Cn*B-mNuec{nfAsf%q_?JwdZ1`?$vnb+l7 zXtV#&_Uw>-smBCxdeay8r=QB6c81z`75$96AJ1X{0L43~`Dq9rg&VeTw7_um#Un5P zD)prYaoRY=FB$30Es!Eo06-VDFi5z-A2l3(-hzRJBWS6%gAJ{Wp0xh}m3TCS^T#wW zJYs^7=+1sZFeqT4{GBKRXy=+tb`*oiP&vpMr{w+a^tswNpa2(fIH+RkB&0|IJx6L$ zlDWnJq#r2GGfJa9KPn0V^KiYX!#zDItCP@R3SOBjKn|y1{{Rg%1}6k#igIHdcC5fn zrG9hEcBw{KZau0d1dwymo{WC&14wc=1Y(+UFv67fP;pL>Uqx%6C>$?J zLZsucq>v;#jOKtS9Cf7Uw-m`lohhRnXMsSaP#FCD3XKXB@_tdp6yn4knB%n{g&+aP z6q{G28RHbIgYwV|u;HA6{4}mO9+a3Jsl%SVC>RCc5P0;Zq`(~oFSTY2T;i1vr8HBc z+Mu>Lpatt+YFnD8k^ z1tSybkZKA^4h%6!Fk1{M*b9y^NzuOw3WkI7RFxwlf;NnbPMv9Ux2;M;Zo`)fv}3(9 z7(UeH9rMKucj!EEMI|rX9?Y{fUiSHm9a0#MpvMwsO{R4A_vQkwISoBW?EVa&k9Eruf7qO{^xN>Nh1QB ztoR|>au7O64xhaoTtkqn?z+`J*It6o_+E$`|TMxJUPSr+k>t@fu(od8BWf z1X2*;#wkWHDV&2(BRyyy!nAvVaB=NY043T;;dsRefkytm)QWMEJJ1b|WF(AKr)mH| zrYju!Q;#Q}o|Oe(O#r%;!Tl;gp;HY};Yh$7)3L@4A*Z1r`MB&U1_7j1>yFf!9cd2a zn8&p^bjYMc-nk~18#t&eHvG91>OsKGIQrtDjBe~6260mGa78ijxY^&WJB5z}r6C5; zzc}Wcc>wxR4&b<@C*=$4K~~go$660u(rqJ-n5Fy2j?@LU9p590F_z|$a!%vYoI2E4 zp$0=0Jt^ally;ONW*=Q}9^WXijjlg$dfhiYyNUrv;xIOC-u$3gp- zw`zLidsJuzOPtgf7pRgD!{zN#g-$$b zqJ$w^oQ3U18zPqkjAIn+?dei6#e-l|SPbz-1~W!E$mu}P^$U%-rQ6OLlNdOs^%$UI zl<~HdXQf6H<^rVJSE;PVhXeA`if>+=QYxOgsBc1&9nj!(r5@BN1P~|#0;La>c+M&b&2?=tte#ISu)uNDSDlZd+$?qBB%=V!Ks3K3d_}Ko^6U2(DR&Eb zw&bRIbgnMK@_Q!{uif2Vx8mQ2y03*b8A}G9-r@Ior{1`YP8G4X2_?8mGuxtD4p|3t1<^$QN&V^Sj>`+$1LiqWTK+o9`0b&PrsB-3@io z!rbJYdmmD0nx>T`(V&%gjC8Kc#rLtxrNEZV7?Lwz8+cCUg&t#e1Eq1dn%d8&G_2Xr@X~my<|$=1ip8CJ*9L87 zLUKrq*P(@sPD=9B(}w#|5n>YCeFZGKmBqAPW8|MoZIr@4-2=zcv-SBxC(3c_UV^6+ zkDF7|z8`qD4Nad+)QCdFh232qyQi*|D&IhH^KoA-7CfJIy*bBzd^!@UJC%`@`ZtFq|0JfuBnB)1VP9ZJ%a) z4%L@=;YW^jy!*!)&3TtrvFIo^YU-X8xA9Cdfa?^%0$B7l$4zf>;MbDTNqFTOeqQ*l z%S@K`CNetVBN^wW7OGstd}SM9#)4lzcx#igvi82e48Rir@A&qG_k47JM} zJt}Cfr&ygGy7k3zUMrONXTt)`B;O-00Qy&iL9fipe3W>(S=&BJ09WVjc#3c zR%2@8?CM4c>5BB93rB5nro|L}RXNACeAD4p)HSF3HMk}=<2CemhwYz2v{aFS0CIgR zgBMSeM0DZjbaR@W(#=jf9I@Wr`b40BqTe2J;0IzfSUE>WtKMOokBF#96 z!m)wsxUXJ|;cQ+r@PM(q8>f*#^BeCer+82HY`gGv{8!5%xq(2+o|&$ER%DmDj;uW$ zOP{k3g0(FG>U#dD3PF0VvBG#NN#eVo8QI!FdM=^PTP4M8>$IBJh#l7p%yj*;Xi51&u z8To#d=2urxe`d(`+{i%$dRKKMk>X;cc!!H)m+hE{%bVy>gj2RsUc<)kM z_;_ksYg|gWU^sJJtXkaKJ@Ac5aT)UQ+P%s%=7o{t$#*oCBc>F4==QmAH&?OSYEWt# zT19RD04&EQxQ`n{4xyq!acsb_Ad)JV!{a^l?`#~RE&-)CVxc3eg5~T)vM0^k=~S(? zcKcZSKrQSmq`uRjgfK(6X9U+b6`T-Uva{|dpQS>XqapD_Fp?YVJO*A#6-UF7Uh0~p zcXH)|XFiy%{{XNH*?!5Nmw-idwpJh6k(e#x$6!TeQbx4mZ^hz^b(w7$G6oktgs&IZbY8`McS5+kkvxOADC#;_ zLE%?}NQrcO=1E^AjXu`-7SKwkBX2d0rKFSUDL+so2k0vbwJigtioB1lv~3FR%S}tW zaps9XyV|%98R_O#W|6YPsIPeNe8ycG5;5iAboy5X;|(=udHjUV^Z8eW8rPZc#+SHw zc9CZ-t+Pr21#)U_C&W*Ec5F|43|CUNF9n3k+;DlXDAA)DcZs4&7=a{;2j^a;I*Fcr zN^KVYB5Z&QlL6;Z8)LW*+K^Sj>$_{F!(pIm$z)e}(CB0w->P_^yzrPNqp9M0Pk?n#6-?7CZRPI$E9id> zX*NC*(?n1v!h;OoO7GxX9WzW%up-2vc_Y1f{qCa$?UdH%?{aC*e9p+mtv*=X^Uo6a z>OZzg1-aaFfGZn8wbS*xhHHX1Gjc0{xv@{}$y!2J=J|=~fn9fn_D6Lj(0$cz4{GUz zY>$`4&AA?-uIP3*8e*f{d8ru~0CUB0mzOqndU1(eV^tq2bU#Y0KeD$wG zEV_@EgYvf{u&#)g5B(<9gnB`A;=YAgOes;XMdycw@@;^jT$EA7w=9i-DF{Y*E?w1)j z?rNsDug|GOBSE!D8_4KIa~9WgEBP@wL>L(zDi*{^T<$cF3(I+V5rWvPY6eeg`S;=# zwdSAkh=g2^-DH8r0I#<`9qKV^6T@VKAwUd!8t@;CmbUQxYP^ai0R%B^1Ez6NN!@~0 zDa~agT<1AoYUI30d2^*lx)sBAuSK<*H+_cysOGru7egfRmf4V_itmBW%wGs<`i`%8 zbamEs7*K2Id2P+ps5}*-p`;I={6VQ*!FeQczuhE$ z6}{k{8f{)^?#a)V+1p)($Au!)u4IrzG6`R;biNy~i^95b2L?b%C)?7Y%S#(Z29Jof z53~YDf0zOW3gV;N#*?FuVq<3l~zwO zQME_i>re7reaZ!7Y+FdPTX{@2n!~$^75;D1v|@1-d!MMRJDG#ZPI}N5M9{jH*u4cU z&zcA^jw$e4n3T%h#ZMf7zWKPEWJi3ZW`Yu)}G_-5xs(XI7(50`jTf8$;?r0RNGO22D?KXdc_F<(>Z zUL(*W@cp&p%&QdZ#y^J@ib9(AP9Ng@w5~|s| z6TukArE|CQiKJ!Zgg6x^M#cRORWp@l&1>qivM?v^V!2%;?YPSI&2?I$$nY}bjkV7? z8$k0LxrCRDIwf&lBt=c6^amok-BdJW3}U%0c_ot3WO3gDu9SjBT|V8lX+A_C4)xS5 zA7enMGqc zq%!%5+;d+|c+$+z0dd;CXYmSd4H*6qe@gkBJnYf+@mHpg2k{eZnnJw@ubw<#2)W$L z{59`hD{~t<`(nHcUzcLCcR8=Az@A<#@)DvZY;^{vEKh7>r9SNja-#<|YHM|p*gE=G z(8Tbk5&C=rSKLUhiV@|vOjkXmME+>=I9l&*;fI2LV^l{ej8XJAyX5~9Z52qFC`agy= zj}6%+gU1kP#|)|zarCc5@sEo1tsc@{RLHUbI8R#nH^sjc4cR|sA~p3KZQuD;pdHZBw(Xr%Lp7@_c&~*^f&E>MlI#xgS%1-Yf!5-qPU+X$`ygOTK zOV}D_Gd_Rur@<{Qa`#$fdmXvYYWeS2@IJMsJAw?6N6;wZzS)z+kI$T-FQMsPcdcsr zW30wpbJ20dbU~O{`3f5g*L{K)P&-oja$BN>WX*NmZrLmXq)y!P%_zPiLL zWssZzJu9Qy2x)DJypP7S-eW9+I9GEXfLEgUcj1SK_4ioj4+Ll1rF~K0kJ-}J0~C@k zoaBAx6`bps^B)*#9ue^dvp9weXN))Tk;QvghW-e%JZq?@n%V8rze4mch1v#{r}=Lh zEZFO}n&tHsveWMx-US28{w@V_N~>h^9!=rDh1zY2Nc@FX9T?ZN>3$y5G|1KGj0XpT zI#yJAjMB)llnS`uir;zKNY*Kb%A>6pGUjH)mr$vUs)qjnbZ{%qHS3S~nBoD!>*-xg z7ZHqcj@8WT!ZC1;qaFHE3o{n=pUYMpax2qx8=cy0K#qdE#^u^rK*j(y-RKNWqQNl)NeiIjrQ)gmsr;%*?~6?Od+89_te)a5`5*J@UmofQ*t(D=K_T zV<>UX4G~~@?X-K53sV(#VqBq1h1>n%S^?{@Mjp{Vf}I3ts_I5_ zPqW)5oTYz+3XTPli!taZ1IYDA_Uf)Z7}Vskk8tf$Ytb05%lB%Q**wTRzv9Iv$%)_i zVVYe(9DUmB;CPh;O^lITPlT5UZJ6NjF4#sy8s6mr_FtWX`QGJ58&T1yDD z3O@L)eP%mkx8teev9ybL(Y}85EgPVNY?mtAYqgr^%83LVoL4b-G#YDw%lG=jugsqih~s-{zvr14A5K4|eaHJa z>;C}S7Hbq^0x$utJZvu#;jy9dVm7wa3b^5oe7WM;3{mYI6OmtE{Cu|%+ednzdm_Fy z@eq5M3= z^#_@{yNyBuWNh}XGU$@zVzdJaWfF7TR3_L=n>&G4Welv>c3;OTa5I5fa~O*kVe?b1ZlQujmv$Xa0?-HBo(v?|B!ul7M>XX>GQA_j4gt)2 zxiv3@JWncVO=!O`+rjj%OI)1!rs_|by5QF*A(-2?P{GFvYZ~N$a=j`+aI@_!a0nbz zU# z_CT(UH1Q$_HOX7X%_@cAf#$spN7=0e$D9f*2Rm~Ex+oj-Q2O;cz^UR5A@w&>p81V4p3J8f1n$japZi<@Bkq0_+@e zI#%(zRsy``U3WhOS684&zh~R+Tw9#m{M~D*@bdJ+;P+0bGzdt_J@5%D$Ek-@+AfkygO{M9^f9P|+;!q2xSSz@-Z3E!w%?g*RS*gKe8RZz*s+ zv0Y3#@?;*3S0gZsmf%(O9-V3%b?z%g0PWVZkQH{)I)*}@-W6%a&N0@jHsHqttq}vB z@dbo;-XFNJlaa8mYKt>g10Xe8t?JbgueRQ!3<4w3N^ zW@YlhRwMJRfb#DtV1x(clTyM#$XtW?(gZnXBLRjp?Lq*LV`Gk2y(xXI(~4C={{SqTb|~4kfjs+GfHi;; zZt0G3Rs@3K9|LIYX$mWHMJ$66>>PVg1y)v$JcFLqR8HYG4l`EvykG)zPB5bls<>=W z1UBkO0Z!5?acRBISZ=6NGOe`dBc)jpxc%WgiU41*1?EqiJ%vuu`4RbJ?$k>19Jflg zh-8Zn)BzrwB=%AkAL^X)zO`oVNoTqYqY>k!F=8=}xyMSHEXmik24qbr4X|_-nIp5y zk ziVMM*zFnTQ`&n8LVPVf|Ebzkvj8(VTpEEB?0U#1#zH!YzDYzPqKYF4@rp6S{obbJ< z6GfwJj(%!TU;|>~im!J&77@cx#~6QXP&SLD;Ei^~GrOfk<~bA5hiX-cQMV421;Vc2 z%fa-Z5*(~#7#te2vmBgpO+ckLC;;M`vB*f>#REuskulrT6+0Y_tI$*rAC#MuwL;G( zGC1|1b}ZyD*_vhuK1n@lgp5GkoNlJ#Yz7A=f_Y0D6=cC~G18)3i3@hB1jw>{^=eo1 z2k!XCS_-i%x$i)ChZ=W=Q z(z5liK->*z3)o{NQ~ctyuVIq^04|?&3JH6dH}?MkYSURyTvwmzhD&?Rr2MLJiuD_4 zB{4iNUT3PtY&Ag3_cP5}2eIAS$+*{bV+wg8fW>*9opL7%W3Nur9C<3Q*A)Q5_?1nO zisp7PCwCRoYEEKYsIGoRY0 z?WZi;7bJoYLFrY}C)_j0sU%cZ2ON4+020dlAG&%{w0TT7K~-L2eo!&nk8koSYjz|Q zkn=zoZ?Pu;9;UqK;su0wj`B1mkXNE##v_-3ReV8Z9QrHB+?87BffGCh8d)F&j)tD( zGU0f|Z9@uNDKUJi4mhf_#IZ;~P-~#)wT#4%%#l`339Is1$dR3gI3231W>)!lBc)h3 zj~e4{-Z4!Rdl&*>Bp{8ZmF6eqUPVWFm5{hxgH2e-k8t9(h$K%5-SUIarC(Vkicn)X zBD3w3yXU1@C{&Oe=Aocy?0(fNY3xYLW36&FTAZ-m6=Az3uj!YPZIU-R0CcQK91TUA zr#&k)g%)==#SC#>dyLnrcxl$=&@z49wdO!aabjUVcyz9-!FQWu`yp&%x#~L|a7O*L zq_-N%#R_r19D7&kH^H9T*FK_4bE=g_YrDMe_ z%_(<%#Cp}OxKP>TSF1`EI3**!_&wr}_(QyL46?S^W|RK_)nB#R4!aJq;k$SH=0sAg zJ9}5)HTy|!V$>tyq9bqTU#ow!caOifJS%UdPT8G6ARqQeO5w*+y5>h_9#==d-r8)r z1e~${5m~yHml}-9zj$=1F6W(fL^lHr4Rv?1eXh@c8QaBh(=s>?gXI?%$k#H032@T4?;t)hw4u*5|OeUD$7w*Hxz7?Li6- zdSa*X)|IHPy(H^uTP@bJbnPQpl5Ob;9V^b2Rdcd1H>0+@GI_9$ovUgIBybX8h8?R{ zM$>f&A2*4F^{s244Nr3@o&$s0v7JSS1(;!)O)yukg2Aj%!%7sqlm^ z%1wT4{50?mvv1-HePE%I-543O*jL?pWzt#OJhngyF_a^)uRdFyaX!AX@g#a=UPMd? zU*%a>{vd1V$?BuEd_m#gih7m5iJCoa$cc`{TKc0)m9;x#a|av8%T-7kH#Iy>Xk;A) zdEfSl(_N+=GhJ|bVu|3CYCFs`B9Iha8Id= zIXs-_6=p3-ZcbC2S5AbLWQOxny^bOXRB*)o4RW6tyh$mvhd{EBB7?M#T-TvVaJp@b zx`f0i3U>bhyi}L;z@{htl4L$y&YL2;zFg}&`>`hHb#B9+e9|+_^NZx6SE{(`H{TEPBufKXr5+$YH>& z7L|O$LU3zlQi4LRpo3WRM)1DqhC!zy&;QZ(;1K=Z)MW9V)PMlEUew{h&r@I6?b!Z% z7oI&SKpps`B=@ApwHtu`cTzLwg`s%jln>w(ynuEG6uqeibM&RnNDF|Yo~NY<-Kouu zppLW#lb&cCbfl#j9Ex5*FKkkU1mJd|ag2e@0kcqOIf&c0u%#H;O~-nEJvvYp z8laqGfl?3w8)^lNx#OUzmxG0*>;fKo@JC88Tx4)*vJIpT^(oo_6qo{^lnQ<^%^k9| z&`vq2A3=HTPaP?uo!^dvfb|haCo~-N6#oE}nnZ5QC;%MLIH%-oAaPAho&_%?794Pg zigx}nQK(bTOjCg7p_Swa*cheyQuJI=9tU3Z>@i}&ZKt(J{{VPn98`EJ*c?;XD`Rg_ z){umwk-(;s1MLEyew@%T#9&e=CXiU=C;> zFE8GbmXH9*qrOEi98dty6)lg@eI00|6s%UZ9lC;X$e;|IQ@U_!EnPj1f|W+P^8uq{p^{n5iR-Vu9^R z`csqurM)T#ey9fii_)Egj%qb>1^}hp#-hWM9gqe^DxhDOQZkk*qrEBKrw5>3;gDecyhKp`BDN^w%aQV=oprwjp~T3|7GIP|CIA4)eaFez{47LhT?UNh@S(>uCSp~(dB zC>bW)3?8&E0~8rB-qd3p=QIk!PD< zj&n>D@le1+k%Uk%Y5TMHds7MmFgw$bU|{1XibbI9N)0#el7gHD03MYLW3mSVmVrs0 zw3`9Lnlaj%3F4pisAF0Sj>46G>89iiRD%o2qygI$pcNUU`FCQ6je_pZX*5zC8`Gs2 zUZ?P;paFig;etYu#TyJ1T^8J4<~y zug>2d+-h29i)GVpRP9#CAaS>~eu>z~22}DedRN9j8EtP@R(YnfkzySsD}a9*@Ui%Q zr?rBurH)@t)pYx7Rh0a!daZNO_>K!*OwAcMEz{b#+qSrPQRB!0vz7wD$()+wp@xi+ z*;cDZ)+sfvzoVZo1Ttgjab8^?f-iLU7lnXG$!7XiCxLuVHLU*tVV6EvrFzc0bdu?N zP~b{1eXD|{8B?8(+BFp5WG{%sD;R)`rUAuvcG}F>un8d`@q=GCNcR?#v}oTZc&@X; zTAk~@#3yd*&ZRD<)GOLtr>b0=$8#V#Ur$Q&?N`N*_JL~;@EjWTTR2VBNL%G6sICLV zUJ6FKY3#-roSauYW}?oDv2RlirT)@SEisZRajQ+B+lV9iNFOk&Hc(4%c$TQA%ni@d zyA4x7hgF44gKH1HT@Gr;GDn=l;yGuzWVj~}_ekkUd21Z6=Bo|8E9e~u;f96w7^Im) zGp`=i=DM$gE_Cb3ppPa!#ILny3btkP9&dZ6+Y52P%~i4Rs$8Hbo3K4APFs7{zDr3E zu-%RaO7^WMNQTDAQ9uk=oYzOzoODJCk2BQyatLJ8wT-U3LcRbTSJT>JCZTH=n4@;l zfmyen7|<`|+%RVcIUS8M=j}QkWehf`UIu%NZU>sui8G3^&)WEINiN49y6eSQ)wHNBt|MXt zCrlo~x;4HQ(HNsYGK%4^uJ3McAAi&e^dTmW2TfePsdzpuRs^}T+Pg>??_KSVkEwWn zONpWY^shbBHEX+jq!SV&+y*P?NbfB!?Bn^D1ObZT#W^#t3ZjZu8o;@UA#avKFimuj z7I3g0efw7-KA5vUZFt8_R?dku@!SY*_zExyuQE*Zuh`+fB6yBXGS&3!QMO_-Nc640 zg;!4&k@lw?%)D1M@gG6FzPJ~5W6q5HnO@bm;Tv1cCr5%CleHt{*3sp0p0VCWZ`UxPe68e%@uSA*|YEIuJM!ui(&a{E`6_^LTCB};WA#-w0YGCjqLED69Q z3{}*_rmkmBr!I%liQ@}f{6Nv=&)pd9PP)@9r!lp}d@s@SHdGK9%Z*8v`S?#BZoIj(C>wSvO! zpbR!k!h>Hwd@1nmsjb|9ZQtB6fd2r?Fi1RB{{V};S$X0A01?L=A&gNs$i9`y95*bD zql)Lz6}~ZeYFlU?^2l;)!Td1{FnPCEI6Q4CdRN`r=9_EcUkgPvWHFi`?T*YxO88sE z`h5B>r}hyOe2tPvLMyV4_Bb(g#ntbbkz%$$k;pNDz^^3nRgJxyq@$TgQgQ8GxfGD! z!I@JH7u^-)o-|8|-*O??xn3*N!^+I^>a7i9ty@W>v=%djtbnAPFo-{aeax06!)7sA_ zaoYfj=`@+%<1%OF4fs~RtsT6vD3}a_D}heObYOYTke4>k_M)VL$<2Cgh0V0l35d&j zRx?Kow!T`9ykJvw*d#_U1UT$#3CPl%4NY59wX$u*<9NVP(!BfZDRp+&a&Z~Kto?dh zgRLc`>Qv_eYjvz|Jfw}3s;Cvp%aS6JMAKA=33ZdPucp2T_&Y(pv3*|ci%++%7H-WTL5}s|CuwMX3x4V4){(r$p`8dFI&o27 zcrL;a+QNWYdE=m}dY_1AOxwa#DLDGqq4-ME?Ycp?xNNBzVP1qTjz5U=D+^e)d$jX% zQF`%S{r#mbnWse(5+hUqeJeXp&~&Xcb6che{Hla^sd;qpT>@7-LW-$I<;Dpfd#`wo z?sjozj8DuN@zS}AZBF1W`-cQCUTfOCL1AU4cz#q!KzS5_$2`}7#o>KQc!RP!D`%fd z&M6L8Js04QjBRfGSuTmmnVrgU#sz)hr0*ALK5$MHiu~93DW=?6d`nA&8`?6-o|XDu zzFcb*gYV&U?OqmX6z8GqU}X76{6LHC7Dxam1B&u3M%r0)$FTr;#Xet7mF^eO&8S(O z>>Wtsit@c?+B;cBe(VmWPX7B+NB}Z?X9der$BEGD#uR<}sDalis`Q z3y5zgkVo@io<(`)y98%iDIBZDGPT(Vo^~RB>4D;n64K_+?KoK6f_Sb!Nl2l9!3bba zB;(S%uM-)b-Y6qdLF0~g13sXgc;uHG9sBR(Ls~=b6iHd z7OitL7X+Z}g1w#{4$28W*%W{Q+}38Oro!XRwgO0)bOSurx3Sp+%dOyt`zk-Rl8??t zaZd|kESe}>64=I1HJjrJe4x)J6dsB=r0_?8ue?odHm7YaJdTKZnx`dWXh8HohMppW zM%Grvn|q!>9jk-*rFHhdi+9sW{{TE9BNbo3`hE3}j$6-(gCQtE9`%Ru5>!7J?_p=c z`4HeATDmE8BCKpa&sd7a?oG$#KX_MTECW!}{?QoAF!@3BuM^ay@--=!jAp&l!P<;E zjigW_Vbwz5*KO=^a+#hO(?zt+<}TMAz^EX?wVlZEL^sa(lCpfc@1coiHt^AjSN7ZN`uN$E%=BP3Mw z;H5xQDhS|E0VmCFUAtBkAzI*X=~~xswgSG@jSfo&9@G%dhEM_o9XnQGaIMW=a9S)a zWDrDxf%2A}n2g8Tsa+2+Ztf~_NJ7JbRa|dT&J6_EtDUR~>N;0LXFrv-y=yKTe=v;o z6|S%ixE*O!E+<0?N!T25jMYs-#NlQOfGWj>w1w6j?E@V8itMJ2(kn+vyAGAhbE4WF zM|_!0@#An6nQJt$$`?EyqPiQfvP#jwyA;-Bc8wjtR$A$dv^k{>O-7O^fZQ+-70zC$ zGj1Pu(zh>N0%NIO)r5BK-h-3Z+O9Dnp~Geg?gvW4d1Q%;FG|<9OiR3;)Y&bge6?#5 z3_0$nF@=7ORMk;akH)oRu_xsx+*WvmBjeE4z%vgbh~xQ3^rs|8n277ruDnW9(EC-p z2$jYU@X#cP8sB7NZ(6krH}P;WPQ8r8zGC#KVP7`{o+=p1iWBX5=qpzK;3R3V^I3AI zkuh`kPfDjNNhj|+El3>}obF}+07&3tw|bWESGc>KTTAFWgXgsx}j(v5>>EiO%MbB;rrEpgEFRT3EvsLdvsG<`C)i{Mr(J4Oc^t7h2uq*Ok_EnM7#5WMcak_UTSL*hjb84#G;YEH= z#*{yO%ze&T{4{f3Cj;ygXRzYFWY(fUtuXDH`j=mW&b5_&tLE<%K(_Xhs1@-zb?>9> zaPRkM`A^3=GP8lkE9ZT1hg|(@=${#l%H!I;bk>(*5%sUGz%36u7b~`}X%I05 zJu9BL?!69cq0?2`CGU#*NPH)V%{Z-+JRY8v(po^lGAjuVTWC1NbasO=^`>Vdh4JN* zj|f~v0Pe>X@IS&Y5kG|fIcVC1d5k6U61_Xu=%EwMo;-#(A3<&O2 z=kc#=DxIWr)n4iS5o;e5=fBhKX1$P@W{)bM*Nf{OE4i6jcvz229&3b;P<=C5*JqoxYXy5j-hq%Nnk+H0_0Ks61!2ayMFuicj7-_2R5uGT^$Ny{nYD zxKdkr01ow{h^F*5bsrYV6_=E!j-K`7`sTduz%k&SbLmp*n!U5gUn2-HgT;8>x#A$w zNZw`w^jZ`M=DFy)j;(10vVEA~_r-bcr{Z{nZ+r$`nXfCo< z<=I5@6UWI~D3I)rOxL`0>AMff;Cfe@-D`TrvntzJ#?D)hlpI&3_($O8y{_!wl?mkkzV)VKZLe^9f@I@ zB$TUXa{-$A?X){h2Tpr^IaHI*M{4pp?oXcR{E~XqHgd|NXJ6r6BG3#&1YoaDIIm8% zYnv!bTqJ6Lge7^;gyos$Hu)PxdMxtnO@M$qio~5sBfOQQV{!LN@m?9?M$V}w4mY}t>EfWzg*c`u9*e`$iF7&ICf={xOpk`d4_Y9xy=Q3eX8H zp%)0Mc-vg(iJ@qi5ztp}q`)LX#A2}gRcsd7+tPqIM4NrM4eMRUhFq8k1E9ru*jEta z-n%~x+!bRP_MoQv9X_Nv|}urFu4b`{Rpk>Rm| zfwueAod)5e)ew5ph|FyvJvplSa)YTx>+4EP+o9cEMVo_>$6AS^FKodF0ZnM#9)lfL zn`$GFAW#Q9$~?@!IjqJ&ZonM{YN;E^f8ps=9BiA-UT6c^d?zqnJz_!g_pLt= z+itSnoyIGh@MXs62>u`|sMTd-W+TRaTFIjpa2Cn2clvQiB$2@?dQ?p@h_pwcrXsX! zmFQ`dj)!Y4$zxli@V2sMnf z1LQ^##d)!*ZglMKYziiG~OQn%E9nSzalOL}V$) z;ay#X!(j6N0M(I#E0eo&#lrXKYiGmKZimT}sH=z=I`AS;Q;Zs_^D`_+-ketNiLHFN z_*b9mQM=qohvgYHm>JRpag^wL zRWTEX#yWJV))`ao_NgtFR+Hwf49)EVV+F?t9V)Mii2F)3d~WMSvjn|QOo3N?QEJ6f zQIC{RXme>K{#L=yr7gNSxIvr{M*^xtbt6U>7{?i{dvJ>?$fI)#0Nt4+QXHHRII52| z$iV}*Q(C~r;2A$Ek7t`1PJ)0j9_ny%^&4EtFbmJg)K#mU$`1xGeh1$qk7nN~H&Ls_#0bsJ~_vF9bbH>F0~ zjGJRUJ!*9dsuhUERtQ5A7e4i%7Gr-k@cb0#ihrD}PDdX~Y7hsdF{V_&Uzdx!8jl0dQ!J!k^;nr%D1Drsg{K40+nsSedZ2SZflO@sv$38KSD>ME)Tb(H#rO!Se;NRk ze(o#-$f{#}&y#=$6sLQ{G18rEcA*D~2;7x`kAysmj!U-+2lA%zyXWIHf#Fuc?b3kQ zV)>)z&Ih5U$up)g$nR8jtw1U)QJ%h)Hk?ehzc=3LnhH!Mx$_FDbQFc0bf?D^!2sll{|>d}UDY6F=)5;(mo@$KC z1UujZ&{WYo;Kt&kjE#T+%~)m-fxD7u0VJc$7jf2JduW8ap_se&hiM&G6?UYc;Q#a6-Fod z3pf}ZtE0PDmfv7pZSP#F+q=!Qo;%j5i7OVDDHoX^@l=9>+!a_^jW#VU^}ywT1(3eG}1+er82eMj`8PFw3OMEQ6i zo-02{xVUx(RV)4#?LGqVHm%~%5LsI3wo={+WC6UT&MV5qPTHOH70<9gW-o`Dh4iCV zjutwLI{7=-_gg*d^_NYB^xH^bomFK3D=cH>tADe%!Z6!Z6@g#svj6WZcuf^}$*GiVd#WGz&gheYeZUc(_ zbn#`<$7q)zfx)kVe`=i$ZBN2K+A%@D37yI-*uxw(&&~@hvWW*wVzgPxpagN+xy>$i zCDnSVAlFF(v&1vhSHB&PG+VG_vhtJ+_RqC@{{Zai<44jpc=YvRB;B8ESAsSrOk?I+ z*!Xj)e`a{9J^uhMdz$0K#^~0Jtt%h2mbZ3y&?WqtIbJJF-g)-wsg(d%mwZ0GI);%F zGj7W9UXLarjbZ}?3h|cbq>nq-kv`M&bgo-a(zeEzcHH8+oq3B(unzS>T*GQrtDynR zHnA_35V0FLBRp0@9aqQK(D+A0g`~M>R%Zh!5qk4fd`CQSTgs91Jj88KEA%(^X83iW z_;11g0Na-~g)i<1VDHy!4%N?!s-qhl(x!M9jJ_9mTf)8rS!c5nUNUWFWXau*abFUo zw$|*>M{0`c_cEjWEA{u{?w4h$XzynTQ4#{fKDGH-;~g$dJ5sm?A|c&`Zh+U2rE}3r z$sA40BJ2|)1tXpXMHH(57#y#)ZNPl+v9Q3!SrA%83rL&u#}%1&CenOSaEP}1wkhL^ z`g6ki?S<}}6cIn~Hti(W%kb&3Gpvabz^?N~S?uLcvqt>$#b)F)u<>Vyq_@Ky+h&;hgyG%=2n5$(&rm@ zHw&8Sql(mtBjh`nJpIi4K0aEG%I#rBXTb9R0Hu3>iarK-t3yPPH`^jS{_TG4cuuY0 zuM|l)XUCR)Pibt0Cx5c`ixqJPaY;Z$u0eWJ+Bfx$HzjcOE4(#On*8c#5 zJ{G}kC-#QB7VD6HQPUW&u)GD~AGFAqB|Ny4e7tqVVOFy>oNSKE;g5z_M$*Lcpbp@6 z>0YJ+pTE#^P{jmxiR8pSRRWSi%fg24LeJ%3CoSAn#2YbC$r7$*6adt> zd46+K+(oi8nw|y)K^~Or%m_v+R7XREyiKHnu*=TWaR+&KnTCPR+1V2()SIj zO*3hX5QpI=HM%ACL9 zNRhJ7z4}t<1f&iqBh$4Z>p=c>ATK8ZpMV83r9T5^M_LNH8=Q2f<+$RQqXXvaN-`+0 zxkrQPN_OLlXQepsaaoV3xa~{OVvrDecBSb-O5Fv7?I)hptM{|T0Xxz!e$)U<)D!fn zA7;>d)J1myM{X)@=!eV3Pimb&YLkw%;ffTKm2rYSDSCA2Qa*x@dT_^TXc-)JrBD=M zr~y=CG`S~=O{e&2-*$jPQ-Q+cr6BCvVI$d)8KAWR`^9 zX5`!keW{7Gw;wGz1{Wjl(qT3auN0)Muv+_z%N@O`Sp32@jLqm&nz5>5*Cr!(-jA8!C7`soq!a^4&!RSTXohv5u7xY=NGY zBIJ%J1cg4Mns7eVA6CUkK@^7_M*&N?{n1V1prB@xL3?gLr6}vxnmPO_dSewM7r#y@ z$ZiK7l(ZEC80|;_6a&Gh0mn)J4eV$f5)Df!TEg%tM4>Z?rN?h@ZZ+*2bSkQ8z#!08=1Bz}R80;wFh6id$2PY?* zeg<>t+K>Z|J5VVA{{WG?_oY=T-#6VIDV$=I1Ggfjv7|jzoc0vBrm=7ZICKJ$OHtn~ zC?b#!Y1s#*X5EG@6j6-Q+y{SJ2*|}C!1~hX9cU}$Dw3l#;qEC1Pnw1V4Ae4*jwu(G zz@c~pGzmm2Nmgx zcy834=pYe}^bKvG1;rWKc6!q>Cr?Uv$?J+X6C63DXTj-B1DsNylCvzi3v3{%_pW>5 zABN-cPlx1y;5sHp9qVc~<7nWXm3rPn=gOOvZYz$xE@+)}DsssD<+gu(|*lzft^MMYq#)jpLwUNttY7j*XJIB zoi%h0Hap!9#Qy;3;c@^213iU1Rn%d*Qs|(Zb*~7x)Gn>vV?tDPtt~rNmNS`{lsr|c zI+?nbAiMEJt){EA!V9Ym4_fQBuMnzeqT&z|Sr@nP*NXVAIPLW|xs3J4PStNq)rI$$ zr`?U*6E`d?l?j>V8=p*p72vo3H7gZ_&%fGD+hV;Wrw5+BC-U#rk*t zmF+(c^{KUc5pSvEjDe2T#acGi9keHOc%_x3(P{?4fesEcirl%(;LP zF1EVM-9~|xj|9~%b3nM&6hsCh?_AKt*xAsz;xm;q2?54CdsQ3AC1(>`srjqueKXBaaG>0$2O_#7i#fikc;jf-%Wd|_<2V>2ikHLs)y3WTw0SnJ zLgN+mygGH9wrL!Zf{d8yUNx;~I(CJqHOwS}PCyl{I^NSpLxQKV)LrYgz8WzLkKS&p z*1j$9{-i<~7C8v%UQ==<@hq{y7tbc_3iMqQ;eCSI?zxec;{!PDSYjg-bWv_cUoVks zXn7k3TLaR($5Zhm-8b1FU9t28SER?`*=?cnS&POv1lKP=g(FMhakmH$PSu4sV^ii8y%Y0!NR<5BNMIy{N+@Sdk_ zsOYf>3gr|GeicUVPlYuGnb-}hoL7W+3&qJ{FW6^dGt(99_7)nZvvV}blL%aj@bPfu zmCsubK4oLc{wM0@7zFmsfe`6lA9a2&;!C@><7m!n(*7w$bLCxIA`+;6Y*(7t>E`o7 zlG%UOf#0op%4$qiZnQGBABq}>hi$@W(-=^26)U^=X)dqhtCzjjBQq;w5;yH}MN|$#pgEx@4+6F9g#4?Yvi)Yjzj+TI?`S7tFFJ(-rO- zmxT40^hhotj}RjCUX|H8w=t(m#g7Y?n%Ufpb6U6VvcA*709TxNf5f+XJ=fVT(0LBn zKDFQKk{RJvv0Rn_{uRp3g`u~m#tbf8wso z!_B4KOh*0E9&l@(siiZnz3|qFszxtmfqdB4K5x>z&r;MNmP2iAh7tb&O6)bO*0P0? zHy{y#j+NmTy2RGk#v_H^agkX>sVf_@%MF~LYr2R$W3jKKz7TldL%t%;ML`i8LiWvk ztFBvL4Kz+ZZR?TEW_&%>Cek%LO3a9UZ1&HkDwLF?VbHJ3GxX0_veV%aOK%t)gOTZ8 zKjQsarjzXPK2RKErE~fRkB!TPyqsj<08eV@4x1LCszoo}SLcqE;ZBFMmZ#9u#3{zd zoa&k$qXn?kA0{G3E7kk~t=oN=TRUO#f(>;ZG4S;FIvS)179{}uwew@$YFbUyk=u=> z0ncug*G@`W1NTp@_J-V3klcaVxNB`z&c{|Jc+`MRXLwh|_QysIs>madE-+1VX3Fqba;s^ z27_%K({7lLylU2stV0t=Z0Z0b1%+pLlKRs|xSk8Im`C>k=qpd*mWTfU2}JW*%wtB=(50|~MxEk}lH^KK7S0d6l2$Y^qJ6F~6N2h5&xSl?GZpUiC zytuRbL(K}HAPoBArWHt*3dhX8D1*eBe4^GV9U~n;t6mzp)`RTS5WHb{Enf1L+E%f8 zv5~#cT-PD-Cg(=*ospToN7=LhIL&oI+>d2r=bsxo>UxB5TS@Z+&{x}k3A_&vhx{pP za@dwj*ta<2TcZ`!LNaSCW1aW-ABkFV*IP=p8|YAn_2NU+4YbNh)Sz3TnhQu;~Ine zLP>EE0twOuUe$CX%FODsgz-3$b$KIS;yhQf_!?+*sNuW1{_ZhcMzyESCx|47#t05J zn)aOwNw94_SdGPS2tAE;&tnM0>MgaaJJ||t2X_M%w`ZnpoIczs{VR#m?8o-NiUE`d zu&+tH)NQo-OQduTOs6*D;4#m)AZ^7)yrV*Cb?_vZs}xemKcC~SCx39 zTAxsDwyt(9YeE`?*@NORb$hm*da>ktRs@AkmGiC?63>7JK&=b+mJlRW$>OrEWJa}lT;Z|Ox}svpE;VIsw(lG*1hD%Wo>Qbrzwicq>73;T`Jn@^57Z9 z6%KjytzA+mZR9Ty6|1KCVRD^2{VJXKS!0nDa(Y%OMy@9jZFs`?v!9dFy#D}IU_4+L zbY@!hEjvpeZQFI}#d*fNZ5i>0mN>&MD$_G@Jw`yn1j1!8=}=tF3)^{F+DA-Rq@{#6 z9vMiaP^_u zA(|0~DUV9elkXpD(6EW61cREXEDaRIH%bR_vIO#RP{9(oIpY;0rXwi7#Z|(x5WPKd zK_$YwaAP&8rz6iWO37WSYjZ^aTvl@}Y+rk|SwV#GoPJfaHQLn(R ztD@tcK<`bvxK)gmAAEGKbZS9nkX^{Y5EvhnR;A6nO&0y5ath>h$pF0bGqsf93hHOs z94#{+yfABcp*@ZY{y_Hy6!kS-P@=N>)r*j&@V!B%jO_sSu7q>ktqf%6wkmm}SYq=% zsy>bY^{U#8q$x$|intI{GnPhW{3^1>HuRS}iun)0 z9M@yv-7b5bOL_p{o0NijbyuEOKfsK-2XqGpgdvl0778;)xJwwcmO zAni(HUpsW1bHzJaX8z4_?U7hO+DD$~vNJ&FKJOr6puL(xb_0#PeQ40gHqDMI8`V3u zrVeYmEaoz0A|~@D8TP07qm$7ON^Q$TfI{59Dvo4)sTc{*6|y0nC9xA(%!~XYvV0oE zYSKc!rnWSd4QSTld~VXYmrA&(xVf;{g|~QZ}BAAlZA63uh<y(8p57+~)~*A?@gv{*S(J!|Pd7sLC;b>jlQe%9jL z+kmgBz&~{yc(cgwKr#}ep{@NapDYfQm3bS-J7jQ8Ua)Z+7@xS}z4*&R#b-wZ3?x?j zz}G;jwlX5>D=SJMD~`UEs|=x}#yV5yGBLbPHu!#CIl=x_`G@1oTlk_Wqx-^OYxN(* zXZ|Gfha7D<{HyZ=;!TvpTl16dhtKO?o(ip|V^MpD>34!Pb(7)#npp1JY%^G2+Qp)k zl>D2HE6qL`YtB3$Zv?IPA_^4LH=5v%IR^cpIr>-D(>{8(jO;G;<%u!7n&Ne@6I&z& z8Ne;+UQgm59YGf5iTNB?g=+pZy}fpZ&o0E{0=kq)dmf$QzZt`Cx)>M|eGPbJ?zgFG z*FR>kR+2(`3hewb@W;fSD!E&YNEq$d=ie3er-eQe={haAF~E*g46}}FHzS%=tbCcF z{3h0QPb&LX-4YxfovZ0T3H&?KG@%nm0>*L6fnM8tr0M!~luZ}}W0C1x$eum^Tz`c} zF_fm+>fRgEG`KC&H44r-#w)Cw&Qu8mo?rVSxc>kT5haR&!}`}qvPTBp-!Z9YI*A>~ zk?q)YY+}4NYj%%PVJ?36;a@@`L}7UgagLSYI;Q2+BTHudN`PNS{48pbr{Z2vMI}>2zrnTr%ew0=eJ=JC;PNOrnDn##J1DiAADB{Yhx|- z$Dh$j;cvW8-xLubOK%@gtTQ8Xl}MQhXiM7fbQ7NhtX|!VNjE zbmz6t)xBEWUHDa(saXF2rG9q!r6so2WQ-21K^6KhrOGdKET=KNdHpNkZ;7xNyjw7c zVKN3Qn+v^)<+0>ih>1xU>(;p|lvV~mTI%nH`H1wcM(pglF^+&{y#b?&)T4Ekll!8$ z`{|?{e-C=}d*w+Lq$8e{!0M^B4#7cZFfg)i>}xLNytj33nBuh#3kCM9+tIt0`cMW# z#923b)h3Ssky?w)Y>CMoD>*-i9<%}4_(D>QSJZT_{^d`Vx7xg`LzYOUjic$i73y;_ z05bO+)HGtxI-F+Z*U;3q@01{p1v2Ry?Gkp$H6^mJi=Ne1DHm)T5|B7NSJ_?**6ktE zE!JPYs4L?OG8R(ju0?$n;dy-hH5hPL12xN33Lh13Bh)ptk}-gxYt7x_+W!Db?0jt* zXA_RR3gBHob;nw8*bJFmHe<#QYT5AM%!NBvVi?AA$>~@8I?A^UbKbOw7yL^b8%?M) zTy3EJ+M{&>y*potPMeT0ab9C?K7M;u0WGqDAcGs55Jg3@g(lnV~T`|?V1>(H&_-5dzy#P~`Dvjc(w74Ov{NOBGd)9dJ-ZPHW z8J>~h3%@otfkzzHRl_-V;BRaGAkhq1(SxYf;_lKk^!L5vneADo&`7U9SZO&kC@LJ zZ{rmVQ+eHZQO6VkX6cJJy<4(vfCs998JCKjVK^OeKpmIBeN+1@;z0~>uQPr;SLu|K zd9lWa_<&(wkeUtr+9!=IH5K_+ck{2-jUG{RqS@X3?eRu`@!9~nvh?v+L< z51Ka)wWx(~M`{elnD-2?YHs0yQinub8migHJZGfHXfBq6rhu2ZT z_oB;x-y*$IfAvT5tj$stxbUt0s}H{%oPHH+V?*&q+Gb0mXCUPyVfxn6?uuf{bGNls z*Q|fDd}n!Q*;u#hOB(|;fOS($3k<$;l1>`3mNzf3eJfDO&T)^WGD1}EP%~NqRp0@B zW60X#U~+L#x$+y!jO0);*F43S z>)Nw|mr{$?wsF2OkyVyRL+xAwC<3et8m=6C)da`W_;?<_uK0-S2Q3!B$54w1u4IMft z**?%dU^vBSNoupfw2U6rhi5dFu3`h^>sNoZmCibLpa|A6Y<#C~odsu0G4noNohsYP z%{bkSzO>?y@7wD@tzwAYSS$1CQW%i73Bf(7(zYeoyn#-c2^kzv7CD_>)#7DrWou_k zJMBXt=~o?MmLRio1xFi46709=C>aZ@%ba$o9LTZlZYpsjtK<%}$sc&+WRBDU2voo0!;>o<|s{ zpLMxkFXm?IDH_^Rcc&TTip&dE^2ZE$J!vjvXSXkmU~yIE03cCLyK^0e2Q&f3ul#=o z_pb0jvc$3)=B(`lN+y5Gx;W%{K3;)(PzF|~98fag;F`+2RFcirYgX|E-!H*Rp=zqn zKIyJ6Shp6so+B7s*I{ByzyS2BkRFi~&2b2I?m4bw zR9wz#-j8-d`7$4Bxh_*&NRS7ZM0xsE z8I+^*T|&mZdeqlZI)ul~S0}}}*%-xFnZrOyJdV@>1ZoG&!v=|&G79riC^D$W6#oD& zCE?CbwE#{wm`|t`jT5k!YYsgtT~PrZm78*&MB&%&n$Qn1_=#Y!l%0JAaJKD~+6HUd zJYQfhG^0K~=oRADMNl+n)QZ|H%1F|Q7{bALs$u|tdWYr}d0gA!LHSywczMJlh8eAh zE8R$54Ws2IxxcX8E9a(r*JTBmWFfxwWnRH?6AbVL5o9%E5=&zoS#n9Hz<|Zd)u|oW z{L~zx<}tyo*2K4B-H-+|9E0gu#Y)|6$I1;^w{~_Yc=V^8 zC|*A*`)Bq+*5}jwV{CliDNL)H`3Fa}it^1Dk;W_CJ`r9=;qMmM%eFZ1rGg{j19Yzy_=9ErweZU7+9VRT!GT_>@n$9a6M2}- z88zlQJm*#L?6#^$+{Ql&`x-L$PZJQ2#kpYZTHx*c1$VoLAIWZEGuUi|1G8>0g|`v-gTp3plM0 z`lz{5dz$;B?TsahT*dN+8O3;2Bg;0ARu1t-X02~4%FGj-@mQbPmkkf^p9j*q35j$v z1ClEMUbso7b{{CyDgrUlsgj_)itm+{a}(_)IrHYT z^;~*a79HMJHImgIobX&<>3WpbbLLMXO}~YAcJe~V9~_?5;`01QwT}8kyNr309ogGk zHoiQxBd$C2uDMeK-*h=3`%GeW8#B&p+_c%W1~J7FqPZB&d{GCFA$AH|1GX!$(!5U7 z-M}E9<~=@Y?E#?ym=#eD}JiEre`49mDhj4A0~FZ?Kbo7=S1E+kT+ zKp8%j_2rHAt;sncz5pJT=Ty;~Br8rVVMMY)9?${XU0PpT-A8K32gx8VYmwCAV7rr` zA28`u^x2N#2yd6trVmmikFKDe(^9k&L`0VEG4-z_@rQ+Bww-TagM4R`{>^nB1-Mx) z3<0sUa1D1iP)BhAhF}>;{42Jd&TnbT&yl3lq_~(T*|w=}8@+qKhU{NY)8n>p;2mn+ z-kEP}F3}QuaaQ9YS9So;715!$J<)f7rK*aPB)uxcN+j=7Bs)%VRCASPN7?omL5hzV!KZ!{3|vz3FhwV}DZ{2J8|YU-!-_%ovr9mvBq`+4l^tn1 zQ`8|`Hxv!ArSrfP@BreNn?`d$$>eku7Z~7JovX!3wLs5tOyH^8O(PvDS^?aiy{XwC zsqIX~NWf##n9zZ_&uVnLa6i3I+J!K@nqm-7%)G5l#yvv>C%K>jj8VIPJw2&vL;^xF z#V+DoEk{al#wZvLI(Mh21RVCJ(@#-Iq$>OV6(#_pOdJL6K*M$IOO%u-G||?UfJS;z z%2F4c(&QAz`6Ta%sYWlS|Tpg)gQlI`pF)aX~j8(UZ)N6vg84;oU%dtvP!JwHD?4{6lLH)32vf}p0;WGIQOW1E9V`Qz1Enr{3TD=BMLTH& znn?w$8T6-~Mh!6rcog%V;)kJYYXBaUymsqI2;4Gm+Al1GOL{r%KFv3ITpG(w~F|qY@3)cYs^K;Ubi4&(vQ_cl2eew?#B@Ah#gUOGBj+EfarzV?6 zmyxt{P#4&9gORh9JeqV{S$XYC83_qf!Stj;3gt!tti~IfM)|r_g%wCENU;()<21h_ zg1O5IC9c7+xH!k9F-KNCM@mSTu^?2Lz@@Mx3VQG3(w@97=K2a@UE~wmnYEp9*i?_m za{S+T)3MV%DMB5+I#S40RAh5VyXY?NDcQiqB65`B*0UuhhV9#eY1ClnJ*eZgJC4cj zJOPiFttP;OC#@wf%-A%FvksVUl_uN{JJWk&f~RQ3N?`AB+Bv5N!r*nLj%nl4h8D6O zSiS>uiXtEqq;;l_DclZ4NZYa`ayNA8OOm6tFjKh4Owb7{60ahdMjTT>JRX>!$&wB_ zRLC8!N~w-V98fTUMk(dKY%fY<43Ir4M*N98XB6z^X*tCMo&^Oa0|$=u^=xD{GL!%u zZ{Sj5j-$4Kc&A_yOa((>c@*!ZL43$~9R)WZH6M4AP8{~E%0koE9jUn6#V6CHRkRRo z2cV~8FV9MT@r}5}BPd?AB{9X7K2=|ny*qNZ+~eA!&KGWTL!rvLb)ZcXE;nPP832({ z;{!cvK;G4u1BwC3$mvPn08+3LovfcX7^u~W?ZBl) z1-7>$q~3*EG1`|YQ5%kav=+$6dTJAnM-?X=aZ19_aQT;>)P$C$2A4gl4#HEU(X@gb^HH*~IUI_RZpH}30kb452P3UB8EPf%sDgA4*mFQGEx#gVzLO9VpsADow*2Q~P^Vf)sP~ zsPT>|0d0`>Q{Ol-}Zd083)QhueUV|wX*QtZ zO1EalR~W22Xq(D1jth6Klh95UXQWyfmIc~Cz^f^%K&|C0gFWjPO@lUj8S+?Hn`;es zrRqm4LiViGbt{_4_8X;*QKa3R^sau+)+whZQ@CchiFMnlEddNb6;=-uO>RC>lU-4y zWb2-ZtoU}$@((&b3fGxS6GJDEr#LvPa(LcthBMQ>U()2V)rZ;#4m#G5rDGQEOQrY$ z{7A>nZKoLo^saMV@D2X}hpxd;Sw}`*n6E*T#IK}Ii5S|M89lLH$s88GCGhgdyJTlx zJ*$$nN{~7s2(#pQ?poqMvjf8Lezn{DI@CVNsS9~92c=~Am%|r&9psJ|C{A&Tz|ban z{6zqZAwvw{aZysLbi$N5W_^)75nL+Bzz<62^&7iLcH0scILWPfQQJ<4#@O1utHwNG zshdfXCg-8ACLa}#PEtxIqH6m5I(DD_iVKs*1$niln7X?+*HQ#BHbS>r$(O{j%u%pF zTyfgD-B(wWQMg~R{_o4_iu7sG_fAPwPDirp8jD%k<{}Qoz{Py|tLk&yJceVFpVGZQ zPLg}=Klj_OAN! z#t5w5(J|&VaY^C3$TM)=2TIzTNRC^h&GqHENTV^K+O5rVQ_m#!&YKFJFl*i<(OXf| zi-g9|O>*)0b|xY+2N^5G1H}kUyP%is>3%uASkRnl-@@^Z8fI z7MdNsz1$O^8BBEcucs~Untu&BR@wx7it)24b8L3u;bY?u8)^zC)NZbdtU-zAituj^ zY7^>uw1Z7t!G=@CdQZm-*cVT`juI4OkzPsgH&Tf&8ro*+NdmYj#?iSocRCT^n62-V zQQWb}SbVKsnRjs{nn|+3BW?*=(7Mt;wzXoZ@+^Gr?OB@sp=qSJfllU5zV(l^*2Oqk zT=1=INqI2R;d~O?e_HyJ!Ji0p2z($C`rW0um>teKVAsSxBk?%0@fVp8+BX)iyZ#!7 z#9AatV`&Rb6kud$t$I}O+{;5XJ0sP+ZFOPreA~91`B^`Jb+35v?~I}GSA^j=OZ%x& zTL-Rd^B2Y5G1t6tsy?l%v!pJ;qJ;EX`^(`>XnYq4Zh;ii#bNm)p{*%g$M}t;X?kQ4 zYS2a%-M|1>xp)%79e2TyLvn$PvE%3ke5>QFd9}@Tbn9t1K!gFu8LxftUyEeX^eA-U z56u$b^VYa3UdHs=M>VK?FN^y|V{r$|yZ3F6mZCa58Z>PoAh28k^sd8D__<|2{7Y`5 z2_`^XR}JIaxxUUXVP7sHqorqdnj&&X%|1TVW&YDwg|-six>ut7ATw$@x-*jG3|EBf z*OKa&>?0f@{OjnCgO+DP5$ZB@J#*T+YA3Z6}tq=*@J+WMiv9(xedF`B1Pou+cG7#vTlU#1D z%VhxoZLa&o{xZ=mu3pl`N6K(9UNx*=UTSie5&VaNT{I!&dG%(Nh{mzkbs=}>ET?R3 zz^}7@5qS33RCp|J$P+FAX0MIYM!AVeSoV?HuUYE%dR`jUyopf#>a0!~hYqAQj;d}*`Qj%enrde4q^3GZ)Cooue3XFG7b177j)>UrBmODncG z01>;4SBc&^)U|&;B-(S&y?c*_H0zmcHm7cXDpj;v9e8)G&rGsuqfPGQk+b7+cRU4gsyL6Hs@OJBW@$b{(mnIfu=KCXPNa&(^+S zN7=L1=DIw-;=!(L+FhHnF^@|5i^P`GY5Jd$ZiS4^j0*bd&T(aA%PNnUSB>i0Y%^>2 z_rGx>lQrvLt683QA{ROD5BPFj4%}bg$OA}ns(9Kf+VuB{?AATtp&YlMt_xGVwbW%6 zfQG>9^sfW>f#R)yM`m3v<)e*P1~K0i>c$-MRy>;3IU`}86ttDQ@iVQofW^2B4)yKd z4(&AW4QRsRR#=y4EKdTyE3xsN{;xb~dP+*IkbP^^HC=yK)HHFUS_3I@gM(eOqhxuJ zo#cD#_@3LwTA>95mKZ%q zs4i}kP`Z~@`?lY}J#kq=2y&5L!%?>Ig1)nTE=UB0{43;diN6u`FBja)zarmpRT%Bs zy({7p>zdIorbNvIVC6-8^JAsoYP!GJ9Z31`-q^23gi+_$n<`l7W*Y;lG?>|!Ty^5Q zUxR))@m96t#PH>-{i4oSDs7mfq&tB1~}{$t`=g-NaJX)SpASb9zo#wue^1x z?PEC-#lQFmrFGP)YIa98IBI<%p!_F&BU=8@jSO?hjQMWDz7hDfJD0S7D4At2N?B5=P%K^s8Dnn=RJn=$XzdvStu8G^?|1apy!bN$P8? z8dvs_`$XWKHR62i-bWgJ^QjoiNtQ8(&+>3r8(xQ(>lt#*^J!|J% znAKhI-1HdfUZLZU5UuU6+4Px1#K-0Wvph55bh?H)u9tRCO5Q2K7|vYB9ijMQ^H4In zsflsHH9hBt?rdAj*|~AfE9lKXPq(s-qIiM~4YkhdwrPIm3t%H*-l`Rt{gu)4W!;Ro zC8LHskT|R>j|Sg7LF7`!x`EohnbQ0omVnPbI{n&{P_VPfF>O{og=_8ElcJ9k@Wp_& zVP=bi-nX@La^Yu)hCr^loC6iYRT6%g#hrKhuYEe*BpwD z{@xgFnjCbl^TRq)>GMwK8%pt9M~Q9jpuTH>KXy(@r3#k`LdfSXog$EO1^}-s)k?|Y zq;t+>UX|BgUNpB@&KIW@%UvLg#1KDX!~Kk+McCXa(LB41E)yBAAM#m+#Ev); z9DOUe)b2c;C1XSPz#vyOG@f0N-`sSmWW^kD+V>})rFCm&rqNmYW18ZkP4^qr4}XpRNxfVXh&hYBzSRcT~ngzP#}&n$%o zYQ>k9a&hxwlLDeiCUGFZ?MZ^|f;i49?am~?0}LxqO3`lbz}TCV9=?@~rjXQo6m2XI z+EPEg$ownl4~O~&`_^&t`FKBC;H)%6f^}Crr5NJ9zrc|cym-jK7~;7nP~I`^>NCe$ z=2G3ft>EYVn(VAFbfBk$=~FV`b8l_uox}KRD_niHk01LV(zl)|A(MASHOcF)e1=8q zf@&aKju${9%6xUA>P3jNk;?R?@cYDNnQ6L;{_vuV*KAH>69MxyzlB93f1^K?amQa; zhV4vj12z}Zsm@uO?2!Ke`l`f^lf!opENu*2$d3{ILFqqlhEy7;CfW(V~=o= za&hvHde+nQtG7`ksD5v{Ju8+`J$f|xP|t=@Pi^rU(qahz0Bh=N_JhMGb(ABqh< z`t3FIR-yZw=Tp%1udB=F?ik`vG1ZgIcMHZ1SFms1Vfu>E))j=#q;);38WeLb7v-;Z z61n5d^es3-sg+@t?OKq)(M}i2bbUQ6O{h_@HBv{sVmuL7X))|szMeH!V=&Xam{73x0>zh^CDQoFak)X=w@ z19@ksHTF1KzTx0v?Fk+)q4-m5#=;k_G85vfHI1s^Y^U$}c{ctMayK~P>Y znZ?(9Z33W00SI;Z+kk5%aLL@q*WzJl9CXJ@^L2fa?#Ej6eOt{oZxjCj2*r8yN}hHf zwNT)C=Z5}U0RG0d%XynmwR64`Z#u=hV>PxM465)&1xVF{KWAk%qqCqw*fboo9=*sLmbgxF#);;IexGxue_f1pjL_qQ_tn7?9uTRi-Nn^9pywOL> zGsY{>JSB2k+@R*RGdeX^jRxw2Qs+mRM|#pRZAeqw1|aHrS+*^xMd-`w2c~pB!u{TvnHV z{)UJ~+<}Vhbm?Q=LO7C=38xl_0p`)Fg{{X}+ z`L_A#it~Gv0?4nauSxOwS1|U#uQ!Sy*jS>}+ytz-(ov6&OTiT)+VM~P=I*Kn`0J{VrbapCCEc|Jh?Rq|iO7&myXQU^vE70HKw`$m#J zeAGT$i3qL|@xOf19@XgDwW#|;`qZTWxv9 zq9=07yk?oAIcd0)a-Kz2xn0nf%}I3xkVqB#iluWW?(jMa1ZP_wPp3+*QB1y>t0<#x zM;WFCB5s)&pbcF$Hc1+x=+)_pC)R}`vDXT=uJ_T2{ zEXjk~we^%a&woniXuC%-|Jm3 zglAJ3g!QUECy+xpP`EV=hH>u`7b^T#L5aa-PL-h3JelI4Pcd_mnzG6C`99BVM1Siu zNqo{YO0)8FoYi>GlQ4G}2eoKwF^9DboQ|{^m7|U)5ruwhskaExgVmH`xM(6ThEsyI zd|%4~`D)$yqA>$P@+OQkc03yNzYa+h+6j#Z`n9hxGrh_-{uC{GUxAc0go&O2tZF+N zBhKzqZS(pT=~tBs0iU~yn(o#!sY+S4ki-F5w^B`SfKSSJs(=z~QNBm}m6HU%T#bS9 zXQfLsyC~YsefY&$X(I(eJWyywtztha`#htj zJ%(%bE8&i>4yoXqDI+`fA`iq0{I2m6DAL<2xqegmSKq&~?yhy80|sQ+Bb2BgK|miv zY~OIrj+o-CjF?TRH}2NVHeu-JA4;C82pcb%9x6vZ!| zI#Hh^5_KoF1QW>O5C%A^(r%H4(fL)t-f9CN;L=9v5|O*`prpqnJ0k(PH4n{`$4W@% z4K7&VcBe_XIR_y1pdXOjDCEY+6snP18r16ndGGIip!@V;Ov+JF{4%6zGLT9l^K$4ZX{r3+KPByH+D zPyz$92hyGdas%s8vW>tKib94yXacDWAA!KBRk+>hPH&Ys=Bo)uKswL`%&{B}wGfqU z&Pd6m-z;3W;3`G(+-{L*0fOWQDp<< z6x|5sCR5Uw9VN7C^Qi}+u7cI9%h>a& zh}WPswWyCTP29%}qO!CB=aVilXaRL-w%p_nF<4H;+W>K0HmKvx*!*BtI;4A!21Ni< z3b?5eRk-SEa~grW910>#HuM~NQ@IV1#~CfR9V(^p`GWdZs=oY%U92j-*!{;N=Jl$$ zjGK#bHH4AKcMYb#ce#v3s60qEfNSW;S^T$;*w>9~)(Z{eoxHKFj2Q>mBe;cHHsk?P z$8Pq^$<0G;BiP4+H)f}Vyu`@o<@Bvtkn~Aa1c*Yny;9X&GzhLie0Hlc%4EP%!kUsx zXlAx8x8|!wNaEu$@7VoM|Qz;lkZ zp`3({-Z3JKVS(vV-Py*=n8pY-PB|H;-zQPUYRU6NO0{D$;&uKMd_rO9K(6OXnc>wf z1)~DLqCj z^hd-nCEkW}^KDG=>?`p5_9F38o255ueA{OcrcbD^+zU1rdMj-^{Kzr~p(4I-9S&NG zN3%`dH$D*fi{ZHL>~5u-=Z(P|M^Rrj_;S=~lU!Pc`Eo!V@n3b`X%XFA-)YweYwf`Y zwS0HtJr%T%5X~H4GApvPSI}Up^FbbVE}fbA!TVJBVP(|UQ$@n$4n6DV%_m4_wSc3I zpx}!A2K}S_HkaBExCwxmKaj7_n-sg=64;z>$R*B=v8l7MEY#CTk zj?>!}J)6mrn{eyEHKVe1Q|1m0Xyi{Rz3_(b>{_ze%G+a&fff31p-3)tsGX07n!^r>FvASOJXGwoil@w>ya>DQ89`FJw?%k(wk z8Z7Si;x_qtuG*0^jL!Br7Tkj#O?EnC8*eUE$u-N{L`AZxY~r?Tgf_xsSKL z5qO3>n4?|WamVFfZ1{gtSyC2^=V=)})%iW}%f$Zx*xHiY+_%ciG5FW$*Ml`rv|B?Y zTrL4M;4wh z&8_q?k%f?jA4>O3@9Fnz=L=R(u*Y$3-!wdm_pJ(ZK9z3na?FD@*Fsm&<*gBQJ8<}X zax0aVR`a}->0R`w8BZMsD~G&?%DOGnn&~DR7wxhzr>$znxomaCV?!dBQPX#N+;{R+ z6&z428QP9|amPx`RV;JdRmo-&T(21ij8w8(sLLmA)WX34#bN3g67$-(6XafNo79fx z;(-`$1k+_W2AMQSPSV`fumFUS!K~p9@0)dMgn$3k_SIaC`Ny?8C8-#y46ijJZ4112 zuk3^Q>7h6y+)>Rme|nuBS-GR2{DtYpIHwPnnnq_0z~E7x!lK|iBdOw@)0$@l0YS(+ zdr@E{qMA4#%AH7i1wUwNWjm3;sAGtuXGY?Mz~N~RG@u4wS@D+kwC=?0nbBC`|a&U z+>x40VEnzSFk|UJ{HeV$nsDw%Y634OIG_gx&stp5 zae+!YaX>xCQAHJ)Ob&mCwLCE=28BMfn@b#nKng=IK}v+(Y@CM^jHK zxW{@0WppNU#V#>POYK0m4n<0=Heq_ySnfJf^r>YntR^$fJL^mbILP9jag47@Wm#-E zVw^bQqBslBT6pAO)HsO>fSHExN|PVH!0G8sM)~pDq#y>}>sjm?u|8%v6(mTC4(_zp z0|7@?rn+rVeJWe*7hYtukA85|<~pN@xmKe|lWhq%|QybvUbf!M!VYiX(Qaf?AdeR-NAR`4k zEjdaz$x9y4HupVgAN^vSbg4s-@O^qx^*nT=j9^l(6mv*#U>#}Sr6)=#DIvp(aQVj8 z?M&jF8y|%xg{pQO6&Iy1L7Y2f4)zs5&lG^3^c;*j(vzM| z0~BVQJ*ZU$b3+gA^c9%N073PpF5~p40s!6ZNFQLp6zm%z$Brp>_oT^j>56jubfgPl zAg~*FrvRz~(|e3kvF4Fi7pV59e6-Pmew3sJ!CsXX97p{qr1qhKpluFZ5190){W?(j zDhC*#;4fMM_8h+d0EH>}MIiatj?~pqPt944Sq>P_wJRuW5ymNaCys)FiceyPfCB!M zB9X^xO`z0+Xk1hjApI#ue+maqIHg~kibZTKFBFu}NjpVASb1OKr-B_ucr?_mZL~fz`&*Z-6<(Yr9+QV>^PD+ zAC)S;;6qWKDR3y*cDSkYaZAYRDTP%ASBiKi9Ml5r9R_Jb1tT;C4Z$60q<}(!f+`y* zlK_0*r5IwMtu^`Pg?8b4QXa&swLVtwPXy z&q|1$od*;YDqxM>DWvWrcW+8>PTW-SsMtrXOom2*W(2YOwJz^5HZL1GR57m7SG7AE z22-_U%3Be5#LnIgyjYj!FyL*k&-+bA3)%W+?%HtikFzuBb5)&vpSzAN~@ z;5+R%TK?D56a5^YnN(NL=5%kV>fmK&k;ut&aSUS7Uv_#LlSjUm&ryvg&fL~*osG<_ zjj@2^Iqh9HkrZ>rBmj_W=bV+SeH3ZE4@1?Xj^j!)1>uExiCLsW3|wvLiu8ZA+sUSw zn2rW9T&RL8f4hQnnsm+O3mnCcvwdTJmiGq=P6(~P7Fw;~ZSI3F*`|Lo88NgI!iwkhc+urq6Oe14xR5mQ!vG^38pfm)qpBS#N-{mmSMg4b ztGgw@!2=ba;jJT1P4ihGkTu@(_OBki6cOpt z)a`BWF2#V3?Lw7Ye6{CZAhKKOHnL}q4SN8yissa;ZjHQluQ=3v`#YbrI()r}^shQC zDV@@zcpp4!>v3YPig8ZxX6yUkv&q*r)p*mx^2&Vsare4nxlawpHiN5MOL~W6x6SQd z)Mk_qE7`R(=*=$D(iJdpPAkhib>S(To4a_1-nkX(mVyn!`UAOGewDW>!FOQF;1oTp z%vD@wcY8H7e4%c$J*l?~oxC+?BokUm=3AYtJ6E%6o)-~`rLn^9uQ9?P73(?;g^ZR7 z_NUs%j4{P3v58U8ZN99(+U7|Zl+OUys#}OpM`az;Jn_(s!gZJ_Z$BJgcFL0 zOH!p1gtNYu(@^rRp8;#vyg%ZbOUp?#)SPZBj8}sAss@VtZc6disQ61U>hW%7!C{DLz;+0smGW0;?t98@0+einU;Rb55dgds@BO8TG0`WByXvFeW&^AFts zb6oF-?QcBBo<;ItP+JF%E6S6$h5IY&Qk>Y@UA3jZ3>TALH{zWwr@VQH`U;=L{v%6$ zdP$&flK>A&=CuzRNNmHV49Yk?sw0Q$VN!h$6!CVC1a~4wi#g!emtE;eZg&`icLu%w z`tA*Bvp7|362x?`HICEmdh+RZ%4A)`f$3hQ8tMwiJB`KodEue0YRl%ux;R*F3_e^} z(^K4kXIcG+Oqa@yMh??}G20bW!}>M0ke_3-P?Jl5-l}n2HoIee2BOeRNiM@1Ym*UQ znnv-DDj>G8x&GEmgiXLm2{qhb_=sq?Nhec`?d@9{MW5I$k!32*dXg%ih`cdtsK@rF zZG;ZJtC`6*RjhfYrKsD^v+9yDNsHwMI2G9VPsA5qBhjU{)IM;k!G8+#e-W>jY&6IU zv2WrY)!Y0t((kNoUKvJJf#)8zbt1GTF>LdJr^Ozk_JS}QcPAC}ABW;wO*$J$!t%W4 zogaZ>lJD)U8Oc3JuFUv!T3W5i>Z6QSQ}>c*hY_l^iYI#2~fFQ0{pcu4d=N zw*agPqm~^zS5cMj!KVo&&zMIQ$XV(s zG|lG#clN2RXBx$x$&`;MWE#e|@@TDYPVuc4Ky>9cDWiD{>!xOM}9z|DPQ z@ZaHsczZ^9Jg{ygkCI0<$9yr9O|rdPJFyuK+qXAiUsCvsTGF%|1b7?~C<+SwE6S}? zQ_{lIRy@Z|(TX zYpbMJ&bv$PY<+8vr0kD#4z6}-elBekS?A~Jiso87+iQYu!9aP(OxL&gW5O0T3bMwh zOK zR>2#OO8Qp$5v?|nzvbv_=9IY8d_Qv>I#Xeo;EMV?NSx|=RC4DH<>J0W6AyUzDKo|O z>xm1P;T!|dcCIH`vbks?xriKfHQ(zt;>zMp$2-XtX3{HJwDAPvZye^8CCbXF1If2q zTi7-0jixbR~T~3DF7i{sxdgq2>sdCl{1X(dL9Zh6d>37oE1a@Ra8QWOeef7?@ zsf!4h2x7zF{{XXIthXyXg56MjxDB?al;@P0%V}x$OeBa3o}l_yE30UFeU-ys>GtcE zJBbUnws){lXAfcExaa z{xH_GE&5iL$L#Bc*_;k5=#4%hcV=Ei{qufR;a)iKxYMr9+d7jmoG2$Dswq_X4KfT(%Q}~@cQU1}Fq>sNG7_WW!N8-I&d2RFyRNHJo+}PtIiuvE; zG!JF_N6BvAFbQnIhrMA+-1;3&=z83RP03z9TI~EkBchaHf!eqWxf(mbz+o4uu9^*Q zIU)iKe7=?6$#b6PFXR1uB#mny-|1c~vRuyPB5V=Xy$i)LrQGsdH(_3F2qnmmBbwR~ zQ6f?jd(A=?5k$?;u~1qX8uyD<1X)uU0|vbDJa+;aCbweJXT5RS{;0PHGB#JR6~e=K5t={Y zW5znxu%xUnZDZGm#A|~iHN$OOU;$j)c(VThRlf3~Bq={GD};*PN#tc*;PM4}2ZSsl zMQJCGYxd1rf+O1=t>NuX!r24rO_>y9n(OSmL#Jv^W3*yZr#+2){{XFAquqsvBOaCN zUkvp0xsiiNFj7E4$Y3iaOh%$0E3mazC=( zLvVOf!J%woB1QsA_LBfzG_ zk!xXxffCAWjYG(yg5F}QY-=`_3cd&CN|RD<8LMa3xSjP zRVf|knT^&LXFPjXbv=cgTc?FfN=`VgO7_wyrgU?L^q>lnOBmZ zSIB00UC3m?90Sl)miIBnzFe!rR_?7~xcq~sOjkJI;75){5s6PyeUi+xM3{8PZ&LGNW6PUJ!>VD z7tVUt$dbVTebbODO5SCX9Ff4{vcjVD=xY2A5&hbX3a}|$xf6mq8lfYVn>~kWn(|Py zZ3Cr4v`O=3fk>H)O1qB>Q(FG-=Im)Bia?uJr6eI*Rga)26`X=SjeBczJAi{btK9S* z9N1~=mB#UtUVEVFqCcOnBW-(369lqAakp*_a7~?*p<|zx&IOcDAKp90Qd{#T}xD7nEk~) zhidkVgtvhf+;Yq5#w$&ZiWCf_32zv*w^dL$&2C!Sq;RQa4#&TxM`>Z_eesZbSEKlU z!zS>q;qrno4PhtEvFcNgDl#-p3R}s8%A60oUtN4J_(gZG%M-o7%f{S}FqXycBb zO7neZ?7DA_<%-opZ$-*41D^HWc*n>3AA>Af?@*Zz2mk^zlU@a9;-&FVh|aAD&zJyH z{5Tye;yAvaH7yTkA%ywdqvuK`Bocy)(9={3uTzgj;HTA!WE%PMbO8LWGv|(_+FUyl( zO@W%_HN-{r!c-?)6PVSaOm_=&oB zZNAWdb{io2*OO^(sj1>FnfY;E!{d}PX?g4i`Nep)hB0!Dp8o)idJyd9oI>hJDfO?X^ytIsv9RubZ6fx?OEZGw9YrLt18n8{&}Mji z;KzLJ*!HMnW*2~`YSY$HQuB{m%~=4t1xH#Xv7$bM@Z5<#j7;YxK&{Ac+AHAp{NlXt zL6OxX*nU>+T~(CcP3O<|aa?m&G&s+Qj4QlHrIXnvVJtYiS{_mxEkA)-*$wj8|}zJE>Lr3iC~Ga^HoQ?^jF_oY>o|r?{D!c~$9Jng!gjUJf`t zDz&w&20i59cdPdMBDh2zynQQ1j1NM$XY!kWPSwb~zh>1Ef9|lZxnpKU$KAzoJ|H5> zRh0DHzs{-Y8wnq*9|P{=xX>ah+1(f)rFj1U#oH5W;<-*Ru0|`R_yu&yqgw!eQlS2o zbK||LnPIy@h6g{Td6e|1&6)CUw2`ciYk|JYFxg&*t3$p6A@5#sDP@_5VP2O(Ba_t= z0rOsQsJpKsy(dvCETw&Gjn%E=Uy_+<^LwXbCh2*s+sPvGaJ_44{vEH#!t|^=$aBPF zgFqA^C1NKa`cg$H-GFK90EmSrtxx1agXHT#1XBL}52IJBX+$!vdy4Wk0y$G0^Ip55 zpppe_bQGD4k&&z@Nr)Vp<>cV)JR0jYbsNin6?5$rZUl|@g)%NxOrqhxD($>2CfR@| zj@81E^X~1M={!8%RoKr)=~H9@whjmI4-?xGaP6^Ba7mZgm;<+WO0YVQ47x4S z1nw%|iz0k^>^gL;Jql43@}l?YU1y2L`+j`|Lm{49xs(B0EUC^I;3v&|YE-zwHbbK#mY zG6CS$?fbJk#h#pEvY@vGjyc6#K-7hUMYQ+rUYX#fc;a;IYs(`hDRz-v*N1f(ZEltk z{;p2-jYygz9}(MqpHyAFUoBWVn*zwEw>7uo*^_)aa8X4ArqW-tpKVFLxd;VnEQqS?N`O5Nc&uM=~1*>WWdD$L8_>i zO%bu<0=~ojlCO$sa%rmHD0W~ggH8%8@0l^)}{8Ajh)f0kn7x$Q`Nxf^4Q6`%??h&TTL zy;8$&A&)KBwka;yWl?#>3p=WXB7iO;B#IA1O3frJ0O!({DI=Q-c*RELmQS0vN&u73 zTw-xhxCypszbcYeQlT;U(h$+@+se=Z=6$1s^3`y=7>DWUQmaH{{n$CAk~w$fhG+qc z60Cp&!J(seVyZDp5t>oAw@T34$Ibds22wHIw>YV8_)(6PGr=1VkdCzj2Re+pv3Dr9x^qm(X42odG6%{4?|a0e8NYUew+0;GZlbt*VCa)rv` zPc`sGW*_`yK_R7i*D^+d8Z_|pL>;w#8RdNfN z8Kpe9@O#k(u14m?TAth}-<~PaqWOFpIRl*)-rsd2Sp|!F)yPO)z?{(Kk`~?gQOG-x zTUo|{mSN36mRlz$svh*Vpq#dI?N|0NU&Eywg62dLD*>@j0;|X#F_z#OzZgAnQBD-6 z@460{s^uNZ*%JV{!5u3pgvL`F9N^W|I6mE}mn5Ty0*eL1QP1{!Mi)61!)de01g0a$ zJu9|L(on`%HNo7slc*NP25AiRyATLTM_gA#6iNZkE0@tGE`a|44mwu!j^O_5iU5mQ z$+B(SaaleZm10to9AxoQYLmX!tZEn+g9fujmN+j_5%k#4U-9=|bquoc9VsY)# zv?5GHXyuMi%j;9a_Y7c@lTycRJZrEV`&QnUr6Zlw9jtl^&Pcej){z8~CL;k@SEJ}| z%RDhp_X)#SGijs;lx%&Qde?bjVGxW1&IeIkRUma!k@T5$BrDdp|Q(0W(%7vQ_8bZ-<`-xu=IGCpkMjN-q4{s(xv+fvc(zp|wm z5H9X`+!vbg^BOmW&tDBI#>Y$Jt9H};Q+IO*0l?k(SIC|)Lw9{SPNj*>eU0N~d6HYp zj0SQ1tL97nBwfuQ1Cn?((SY}2V~g1EA022(;vWdyqbBB6ZZYU9@`C=-PY?KtYY?O< ze15h2UUb=EY2cMdlE}jq`8)CQ(%(k${Lw_ALO3Ie_Tg8d=C~YPsS?P;7}{%LSVW&V z&u(j#w!d~JSeL2Eu7WF(BqX*ndsgaKFlxqa@lUnF$E#u`?!q>qX zgep;S_q$@gnD_;$H};Gc&g66jYljiJ*GHlDcD=R>Bm?F$5Ucpt)1L;sI&=>SeYWl; z6HS~E)C&31eLCk=)+}somp?RaPizBUY21|3^y_;Vijb%?kEM86$@E9Lgs0T=?-say zj>9DWl_k9J*lDrGfqdy%S3ZHNrmo*wR<~PP^%sk9;5+Z z3hO(yF)Z>f*L;&+)&iZQbHKz)TOT$2XwYpnEd%WxSri4Y&-IP$E}8}(b-H_3=}(BX z$+b;BdmQD4N{^tggZxva3p@E_lx%(5Ygvi~Jv#bXcPQyv(9bk^Zq>`_&*ezK^cB*= zR^lQ&wxHK8s3T+Y?l!Hu?!E=xFn8~Yr>o7f3TDCo-5h>CwVLq&8J)(ZEQ#M7397ewfh^j z)12|g;a#1j{{Wk*#c+pa)6Gp6YKB!K?w;M$S0}2)nOoDfbXKzoqE_~-y;3Zy;=Nvn zEIrm_T1G+;!#6SKB9E)v%HQ7!rPUn{^qE zMl2*zS}rSLen} z6uky}QMe1en+gZi)4i!zpK5RPqd*pv5-1p?#(1e~u=E}1X;6k9^acJJMNqHBAk=jL z(8mXg7n%n29gwUz97~PI>Pf#~w7!=dM+Gt$k6(w7+ zp;Zsf+od~zH$Nk_MYnry2Q@JuradSDQ!KvJZ990Tpu*#&JcEo-I|v6D9jF7IO)CA| zdQ#M}4PptwH7b=OVCUYV_F;ibfKSW76(hGne8(Ip;8VjB!Qz#0rjgtRz#LLcLgN(h zF+p9RdQxX2<>wR?u>4^2P2{&ClpOWzP6G!u79GVuD(0G?=RK*4rJFC(rDMQ6BwsPN0YbGp^ITWz2}}iDqpz3Vv%xjN!7k{ z)1@M<)OjAgDLY_Nlem1}g(ln#&=(w}0g6To#(Gmg{Hep94IrbX+FItlgw2}8|KEbe|1~7Ou@scr|R4Tym-92hgxaZ0!&4N^i#T!D;pnqHLk5vcl8 za=WrBO4~tK^rkZII8jet56wx9&4I-M=sW;}+MKJnWK(3wIPFS4NB;n1^q{Ma2e(R) zU1Klh&TUr2|5R3_g^Lv=5k5sQ{p%K`IIl;-$vX$fW=`9VtVpJ6oqp z1z|@_ZKND=j%nKp9y(I-*0Ogr-3y9ZKxt}q81_71{uBgnUzVdI(ws?U^3MmhDl9Qc z8RCuVIt(9L7YXv3mA3hK$2A2m!uf#D$Av<>XYE?kWIC zr{;l*MJ`kfH5`$VP2(bhkgWT-=}JLh0PRotPc)l$@;X*vCfo{gh3emxFeyCtrJ!k+ zp~sqmItt`ID{B_IH-)Cu%mQ;3)hYGhS62zx;QCfai99cB;%i5>x^@t^BrSQk+AdMh z?ZZ^%l0Hkf*X?ziWs=elvmMzhT_R~wHL1RrkfT49bDH0V=kRW-_A;(v!6@HemDhL< z^lEo<=~tg~0Y!X0cuJI+_83~6(MDyZv^RNi@`2K>{{UmC<&J9iiF_}pcy{<)T4kVP z_kAhR6LW4Ij?y~TP@894S{`w(>G+OD`@Mx==^9Iv-27Kf;zIW_BzC88Q_d@%x4)ZD zaUH-rf0cTaZDY@>j7@0G4BH{?RARrFF3A_Ac3y6ssIw{$-eS2+%`WaKOoRZLuG(!g zi&C;%%Xuc|I9k!Rvz`e;gOTk~NiUTOEPNjIcSxKWzkGUn*G`EU-I{mS&jqM)-?ekr z@G?lZ6AT`rv~_Joo>L5GJ5;qSLyT?l-=$a?x$u3Fzg;r){Gfbdm%SD%W*^BvSGSnsqe*=??t)=sE@ zI_mZ7NT-c%T?PQ@T+W|!WvoP(c0_rDt}C&)b-1zeSMMtGUprPDvefn|K4f_9JC@-Nh8@Rq>AEwdS(W!g0Gf9}Kkd+M9Q5=b`kk zLxwT-Rfng&anE9H__xTe!$NW8ZMz^a>6#=E(9N4hktIpiP8X8C)rWtl*<8pOq8YD2 zypev*FP6Nh;(7WZTF+`&WOb z-lg4`lkSi(aZy{|*s4;nED%WKbk9Lr3jt+VyMe`V*IL49*CfBM6}jQIOU2Yt1Sf zduapV*+&3(u9sBMu5?)$)D|4z*9UQ^-OF)@TqiOgPTbjs<%!g#0(8 z=~^|mrXxj}&@`AH)xzqYESBExXsw5t7UTE23i5rUa5+qp|8?DXSi7 z3Hvsj^2&FZ*NWid@hq1Uy{zYKY}|TRu=twB9Y0Sfi}%MkuLZeSL zr$w$uJ)ALHSdT6_Fb*q{yR%Cjw-QT(UW1|T)ijc~!z`oaHRe~EUH+}9n*bZjM!+>Z z)*>|B&qC0y8tEdM(>qd270P%6LD0N4ZyIVZnOhhb&3p0F zEbjDk_CJ+z*mkcjyZ4V{46PI8--n(My733ZyC;yCE#Z@&Ltm`AZiQ-=5F|u?SDu7#jtgqXO{S4A>t!;FOXSjSe)$d+jG3lZ2VG*kpv{2hJ;|Fi@s@isx z`h-%BqN=X3Yjn*Gqvh0cE41*@5!=g>tLAp}ubQuQq3qL%^LLKy6HT<3@x4js9jnJa z9O~h9`;vcjUNV8J=s$_lDZg82)G%+nJ6D8j7Fth*btKi}lViT!(Vx02uMZ~U%1uvn z^`-E|%Cwq`-2BVUd*8wxQe8&g=E~vslwud~uNUz5h%Ed?r4+Sr=WjUeUc>OGOR#zik0H^NqD*eO|ByZ|~U{|Af+ea~Nxl!_-b6!<(Jd((f zuUFvLEGBiR-CX&1_K3K1p@fOQct9aQ=Dh3S29YMOwqGR0B8(TurF|jsBSW^5*iCs5 zbr=NWwPcI^3&NfqI-Cf$@gn~K2;`hszk;ZoY<$)}kG*zyuf*onbbIwSZel3eEIaXB zzLBcxz94|datwk#1fG?bta#c_9cw^b{_4q}Y;3(wE8M(2;k!7jqlVFNtN|=Kn(oma z9ZmExJR{+6D)Y}kcSttp9M{l#KY^^_Q1ZCkz-Nk!!}dCEn}KrMPCN06mtXjWq3F=b z1+(tB$9|dirDpagZO=RSfgYBO)|d+G@~^#lEw6>dvn$IWVbm>E@fNSB>({S*{{Xv1 zZh_6ag0ZfwVUC;56^vhmj}wv2C8a0)yAP8*`dnBhb6s5eFgBI z%F_2tmE>L(csQ)9%a$gTqjp@EPE997^H=4-z%}9;hPiNLk||^^PXfN5@i&L%zS9l0 zuPciAgTy`()vd8QMhRB!=~&^aCe3QnvBF-Z#Di(-e@f2Ntt6KIIGFdrtvib?Rqlv& zDmeTrR>McTvY9T}WqQ}Bxz`OSuwBe)W6Tf+S05N+1~viuvx^e*%6#>*nc|n{{R?5ZOM5)QT!`ZZ#;J19k+}}iJw2k zUQ@03pIPw@>74Ny=m$YqQK4f>wG4eqHn_f0oQ#atKaXve8!L8R#<~kQXGh&Pb5wpH zN1ZAr9f_|_3daP=d^@PO_Ecl|RY0uGMo~1p9=)q0NS;`BHjiomy>mQBao@E?ZF4XNJm)>CywQxSxvA~KgXZ*6K+&rb z5DPnP&1YPINYBhOS03Ui;5h0lE(Xk;pO&ei9*d*+k-UY0lZe-7q`bUan9HcZt|4Z4 zWW;?9UXJC&WhCHLL`Qj8X7)J5o?_O-6Q4Pexy@$Z+puhQJu2HXG3FS-H8QgK zSR))$F45vDy?Rr8(S;c4PzGB|`|-4N;;*D~JYPC+I#aBnjpt&+sjXSQQULqDlr}|- zv_>az;EvQx%1+1Q(zIPsl(68fV0q$Oo_kQD78@)i{G*D^3L}>Xn&>4!esFtqs!_%p zCl#s@UjuK=z&$D`PS(KfQ%)L8Mx%jHyaE*x1M_-SfnHS}cIi4ASt7t5UrLJNMv!tb zij^HgD&~MBY1%al+zPX1k&>?56WXXthG0iQTN+)fUQUM{4+62M^facAN6@zz@ZCBJ z^yp<+ZPi$05IWZ{q-o<~?iktzc&?x;$eUCtRUlWBDOm50h0`-?2O9ppTnBzH4Btn#UCx+xhuP&Yi_|$T-IjCp35;y`T6;qqJMh5L%{wC`&`Ma zYKf4zF~)mUF9!HK`&#|=JJtQzAg*iZ%WG&X?N%tUz~Z(@(v>TjsEGoAR4D`H9hRk! zPxD=6am!V!TPbd)z7uk-!5KGtq@UQlE$XF!!@Z5-H~$x>wr&015sL z{jH+9yo>j1f&mqw@O$Ab*CIRn_;DG*Opev|Qb(rvUr*XG7*WMekua-PUkWGFblX1< z*{UE^3b@UAC&b^1wtgSet6|Y@8V3CY(%mb zW}}+op@(nYk*V=d;%)Y>ulDH-@NXYN+3R0ae$L@7sXhJ@q|o2zAJhU-X-iW!I_P}#D!NljpS_C z+j`i;uc2X&rF~yh>P88c#1ygdTVlw(hFs ze}wd{3?wp5jkz3P*O^`UpKoqx(DBDvCWbBgM` zLl8^MisYovo;|2WhqCAjKFE@1l>)Ucbp(pxRCAGB?uQ`z5)gZGDU9weH+3M^azqsT zV67B>Vg4?a=W#aW8SE?3JXa&#SjI8;YtEMiKpkq(;&mPke9ZCVxvyq~s-hPd#w)}; zB;qT~6OK)Lg|bI=5{=lbY8phT;!qz(oPpZBZUeq2ZM-SPdzQIvogP@T&f4)!K0heS z487j6Hi1gta$TgJtzNpRzQQL5rFneuEE1~@#=SDYiL}(`s@7(OlXDDq`$J{+k+!@_ z{{Tdh^@*pQwvsc7^_@NilTirYbPl!3__hVM)bPBV4E-nr1~}OxSi$?X=w2Lbz{0qj zc2Acgx}64HlDZCurD*^^x*LQikd|>bmaeBON_er0+r<&=B z%^|^9K(0M1?Y`!kH~gzA30aFmyo%Y5Sl}qF_kk5;9*Y{vur5vj0=XX+L>|X~QVRb7 zI_qp4Tv)T`I2F!#f<5|q?au%A z9BKS5kIKG=_|aqbj|wEQbG2LfR}HOD>1V{3@8;NySD)QNM40xkO>0mrQ~l9gE~uMk z7_OrugSfQ)_VRIDrnj_8K3I8YY1B&7`kG-1E4ii^JXif!j>V8EX^Icx7S~#=o z#w(d9p#aAwfHJPbDGgI#EMsxxjMeF2R#gOas@EF=bHN-60M0G@#Q<_mdiRH%{fiyc zSCT}@<^p>3uTSvgqsbuk#U>ITs{qlnk6PuKu$dhVc6Y&k%_e-N@N#i_K2J*<*$DeAFD6Zjkb>%x| zfI7WRfsH2n&5FTN(hbe{R`vQ9vRCMFjw_tEXBdd{%_OW;Nun~L&N!yqs!etPwm zZI5d6k4mL(3cm0ugDu`Xap5!1r9@gaP~kx)pnHQW{_zLattRG96Xg^M3lZ}bwv1p_ z{{X@*OI6Z-B1ILw$CMuck?3n0-7-mE%9Fx3t6}5&N!Sgn@uxpp3qM%rkj)fwBXv+o z_2R1@6kyeuR7s~oz)zx9Y-~9%_uPA2NVH3QG_Z<&$VB0tfyxcma_)o2Q_LL z;|F7X>Hy6u@U}CLdR>67b6Rsor=Fs-{>d)VQ>Uc_q%|Zb2nIdsew@{Hf@NQyuWEnK z{9Iy!hPLH!#-zBrSdd_6bqYyR4?dI&Jpf+Zs>YwjcrRPaNAz3RvDVxC8AP$IiC z$?~AWk4hEDK3nu2)bzExn=5RD{VPh>!W!J8&7F29)~PVDN6v*Xh-$!yGWoG(zY4Sc zhihvgY32L8W9d}x{6VJas8SppdsOp}*^L(S&BCb$oVs<=0_%}nHP??`7cCMDeJd@# zCfr5yGI8{yn6G5dP=s8s45x~aiA!`MyuuHP*0LNr1^g>!KZq7GE=gLoAoeWo3XY7q z^sM)`pC@u*dsiPX#BDwX?0?`jEPoSpi3iTu{3!O84`R-(qMOUw%aQb_rM}g`eHK(;R_7WU2Cfke*)rq5w z+pugF#Z75_V|SAg3_$H!^J*4S9AvLNS$S<1b#dc3*-SIzbPS(-$CtD zGg?i?;0LuSn${?B69Q{XlHx^uA0q;*DFFI=RfN5?ljU}%$@WeeBpLLoO%UQ9Ul}}# zb<(W%Z4NscXt;~}!}F*4kgz*gXX{!fgy4A%-JHoY#-GA^3VbUtPn=^NtE1Fng{~RV zuye^3MSOws=XPslBw*lUxtxQwaaC9CBcCrm_1q=BwgR~rsX(-Vae^yjEQSi_S;q7&eezB$e=k67TzgdP09+9T@gi&C1y|FR-Af#B}2q&%r@!f zeE$G39jY28F|k_8<))EiE3}Ta*Fkl03k5;)5m>R?sGH1G_UT<5Q3hPFAc4hX;&djL zLd2S&a-07Efq^U2J8Sg^_HO;5yaS+kcG@joXmq&|_8sS{^v!-$%$`^~)MNQq3*y^b z)r4MH-Abb%Y*WClO4Oq$*zCjNIv>;Bm&Q+qUN=K!qw1E|?SL|ep{#93NBchM>_?ic zbCK9r^8w*+8FKR_H>kZ-KVC)zqbe6=lYF73$M|>B%~0s6`rGsUUpG+Pa^H zo+272iz13sv7P=(^GzF9wRyyAC(qL!wGO=3miqpid3 z^*RpK;y)041EhGHLzhvU{hZszPE)=GDHjK0;CpsKZ5LW*xaSqh-CL!l z!z2Wh2WZc=Z|Tg@#y0_m{VNuAC1a|A(c{Hwcz)z*`t7aAIP&BNK9zxIBA?wayY;Rx5Kz>ktx>v$Kv;P2!Rdlqs zkpBRx3YZo3rk{G3SFyYC_dQ0TT zx6-``JEM}Sw2nq&EtHwZ%GGWO#HS;QX0alOi363cdd~6EL7LSeomBf90f$d&#JB|* zh3V;A4A_j$afKPL1ibOP!{RxurF9X8z~;JR0EIqd)+I$L^NuSnXH<_d)s(qQ>ot)Z zs2Ig$-M5hu4bix&u@P2gSh#5}JigU`nAimCSz2jUn+;tO!W886s6`+D*7o)xI212D zV-&w2ZbwRSDt)nE*$4C3(Gh&MKmwku4;bl8UVdJSPIgcNsKBHHfufV?PEpS^v;im} zmHBDTaA*S{72&8_0E*x)*5J~QY6;xfZq(pcIrOOkISroGD;_qlLs4g*X~Wur)}gVN zr8$04lSWvKX9ARC6&KKA@JBsp>DHT$;*^f`tQXL7@OYyeMn@)&e*sPhy#Oj>qf@Dv z=Zbkfs2GEeDaWlC?Lq;bYcRf+8XGwcPaO25+B1_#1`a7P5>SMO+W5z6UfXFfDAcWo zmv&&isYwxxieMP#ofrlFV?iQ;zvk&rIW#sqQ*vqwLRy%)9Ez8Y{V4^8E@Ze<@!>2o`aeT2L|f zXfJWWSy!AX$9EKb0ma#Eep~F#_;2OOZ@do_kY(+Igr5COCoGkYzX=lSXMr zBw~WeG8A)7&orf%icXaq6R6;srC&fgQk;e3twfx+CXrVqBPRl!A}z%yIpURHZ30?` zT%Jb*ig3ydb)*baq2SO56q*}ag7R{EQjS|_6r-o6X;ZF6KnQr?RO)_QmZe>6E+_-$6yk?DpqiVDpmlFgN|Scqz1E{V;*|5wIHXwcyk)-%MmSQUkGoG=B2o5PH)0-cE-Jq1X-{M`ts`%~A_pi%5b3wfaQs}f_O6vZFj=N&1`Gln#a z0GRrEQi3?zI26u7&uW-5ZS=(r*aqNk80k+tbAeHSGg1PzHyiT+0*rN~AgG{zRNz~Y zNPdBk!xUpbEgd<Y1MmeO%IjI1w-(vOy zk}=wx5N*h%kGRLZM81QyNY?ic2oMN7=gYcLskGBeiZEd zz=}_$1Jbj08z0{^i_HU%!k@-B4wQjdKBJ0o+qVLvUCs}s3PBjn16_w?uN{R155kU6 z{Qc@c2GY&IpkicW9VvTK0t(|4{BeU>j8x@uNwS{1ew2lBJt!T90uLSP?X<-kVI69d ze(iEcG^or5{?!tV(Q#*&{8Z3vMY`W@K5lyUuORUJt)^Z@s6^^zW*dO(iuccote^0S z{kfY88=u0yRnccltldUn_c$2HsRnny1>XP!=<*;k*s{A)()Z?&M=)4f-? zw7b-&`$9%nJ*ig8`qb@}FtyW8qKV4j%sITE#Tg ztYoq0(!1%@O&qQ)h2mhuN%wuKn@%lA5hm_C)tk$L7(_a^7^y$A?=0Y1t|P)f-OXs_ zU`Xlw7pdH%GRTS*j&enIy0ylgEL&NDC$(|9P8!JZgY8hwX3ZOo{{S~?!MmC*4NnXB zjAVuifS)iNLBljMC3%y-P2Z&&%yr<+qWf1^CBY_N#9I`zxsaCBUn(ob*OlhWu$2 z@0(|ELNsFlwOrISOGcSx|U&`ED=Fc*>`xbY2y{k5aHr?S@swMX%~GXnWpe&PNrDmn^JqrnyWR zw78^H*y*-yn>N>r}nloNBkd zW30cCuI_|qk)KNRuL^1Q);OLZe9EN04`R!B8{|0KT`iTomS+qx#}&m=cUCq%vxo$Ng>7;t$6K*qojDMS)jO;T(BxZ z^rcRfmB_1B+8+*hJH)z(Fv3<%vi8JsrqbJ z4`{8oZU@M5#d4k~klESGxb7@7n)A8Ww9r$Xk>?t=p$wOxmK&Ia3M(q>OuYMPNY$`$ zhFZ?hv<*XDxffD7i6VX3J@H*`x8qA41$>hh=3YLv(*|+si_v(B*G;*#)7v6&F`s(+ zC&PC4k0NU_Nc&2Gj@>KaIdv&@O>*A-Ib4IY(u5v}47d0ySPuU7F*ytcO6lzfTlUP*Ipb9o{(X_20_>(G_r zbK6tj{4u8`=7N_hpgucQ2h!5ccDz*#!;%GD@Kxxx(uJMFY+x`exA3l?YkR6PT;QW0 z!my~cXJsm9A>k_$pzi2 zjCLQ&yc1fC!>O3tj(S%tG&R_r`Ry@4I9MRDEBTn$F!dM}MVs<#tHeA@1GK2Yx%aAa>UVR?B-tsj=i36P>GwBYAf8bp?FujnuBuQ+ojUyv3>q zr5OIsRtSUT-O{{n^Hz@1X8F9s&poTvJb9*G-O8GMfIeaQS%~yd;D2;=Xe5wuCSBn9QFtp$r9mi>GN;_BJT- zrVcq3$BLIjw+RlVd#ypOG})y_zzu_*!n_w)@obBD(n84aX9aOx=a2P9gH4j&*Z9vS zyb1K#Rt35sx)$c63k0<^#64_uw|d5!;9U7x-`4`GUdQKKESAS;VUP`TQrqu4qZm)_ z*I5mt$7Zw2+y&rQdXm`UaUs%tI=9MaU`7pfiyT(gzhja=U}^ppxMl|4LGu$`W}#=b z1Y$kM*176cvC~eG<`C$SMRsm>6V66ER_*4Z%WwOh3XYZA>6&ngHkROgwdcMpo(ma2 z(bInB#sw7RaGK>j(^I*c>T~9DNv@YnvJzU1bpx$(H^HO2V%#Y_8t(KI-(-2f725=? zaY@{jY>d(2IxqCDcgC@v*3PAP+HJeQhv#mFvF5zDlf&#Ue|Xqz3bIZE!-^!a z5#WuYw^rP%c`*-{sWl#xEKx=Gc7i@y+_3WYx|5TfiVO^UXy5H>4`a<~>g)mny%bcq zSmxb<)~Vmgv*as~)CkChUgHuEln%9dq)m)F^c4VzqGf(sf>RQLU9rUgFcy5SdQ^`t z*mkcNs<1X3G5if%nl^REuX+Z8)tk#84l$ajF1Eis3hAvamOE^=4tTC=cnP}^fxxXI zBVO9zN-I}ro;{1ntQetqp9(Qs0IUcc9CkHL0gn>-SAJX6l9suj0DP&%Pd}E<@+js{ zx@pl5vY=dKu&FaSsgLhA$;LmGF^Yf!j04cstJz~|i@M{rXS9m=Rp`Ac(gJIF3Qe4J z;;zZ_5EGo$8$15lCtfK8s2iskttfQXknhhF=e0*00KgsU(=$20v?EMF^+sU5|&MjV@!14oeEiwN;uN4lpZ!!?7RjD3d)HS0zo2X`ag(LlkD)1U>*KwN$dZ zTWwMeFgR~GjQulG>TH&ZC79uH&3N(FTF+ct#cwmqkQMe&YmeDn?3DCBTzng2rD#4I zg>7Qm@*_nE(aY2Fl56QAiQzEY<3drdsIsX>Vjgpd&u!vw_)8nHpKcr$VU`1ps4;(6X_fVUF+9+Mz>nuFp$#F4T~D_J-k4r}5cA9%;j4zf%04|<)#jSsaVkBod?*K#|_FAJV4=RI#% z6Zw)M=AEtTl3izOWsPvH9R6lze6OW5c5=Qd)NgHc=ax3$oLB27>;-sd_&W@;ILVS= zKRW!J@ti;LC3fRzBEL&N;GUX{SAP#9(v<%Is*+NFI{E%0r~b^(R{^>DXJqB$-C6p; zCKdp8ttf|*0*a}sWnv@RzY@hm_l)=OzU@=xKNDKYC6fz~bDH_v#rkN4{N132>?`YE z5(bOR-n?^PIryeM%jS0Gj3oJ8kD#o*)8-EpX@)q=#PQfylU<#Yb-@+yJ|~6dg~mE` zuM5@TadFD>E9$V7E_k)=aj4TsfE;4F3u$DAC5SI>wU1>1c$CRqG*IqE1B_R(4UalP zi3=*bb;ua6m%b{Yi^Wjq7sHf`;gYtX{o)?S1ED#z@wJu0 zjAg6uOYpN=TC(*qC42=e{{Uvx?Jn1Xq*vU_BhRGRPKV_%$Dhi+rv`k+X`{JE#4)+k z=T7A-=d->sFKvWZ(E7t>%3$Akp|6~$1&r&ScL83NGs!(p!~HK!jK53)ik+095GcU) zrs#^TrlCHA`Bc-gsoHrbirC4Nt^twNPu(5s&$WaxU1dj6UXmjUfe$3t39rYx=j1$v z#wac&j|}{dKiW0xFh?HoUOVB}X1hp7sIQ>3?JvwR?yTf#%1s<9E%T1`=l(bfV?w>F z)$brkqw?2`SCn|QH%8w|ARMQc2Qneq&~>kQ@Rp}5Xuo4$yT?yz@S8ZcEQPvPt#~qY z7R3SJ^r?{1dirTZ-9BEKtlT5++uxwA>!^aeZaEdtMoZlVh+rwABuMgmr7>#qliiIa zjJUoC2YR)wrZr|^*qW;mNTy4J#(1rO^)xK26OPqtS<`M0R;V=0Tw5rAPAZ++6=HiY z6cW+Kc%YFc;ptprF_Uz?fUcj!vzAat(z%F~{gua{p%i*Qgr!-aAoE*NK>N&#(zx#h zNXSfQrFRk^-jI3=0RJXe;^fi788W9F{+ zOv2l^Q`)#outn?V*0MUFL3(gEHZUuq@csCj+{Sndz^->vw4Q5UGBw;iMQmsuL)nB@ z3hUHXW`|*F&_zDred~6E1z4mk|iDMYe;V{aMjTOncZIbaNCJT9jlxwvs=j{@^M%1Wj94)U%D`ALu0c~ zcj?7-MCNBBYMUkFp{?nyRlp~%IIewj8-dcar@WA12W1ARgVHoOOjZRL@>a9;#m%12 zK}Uz~_uB&gm8E-XE>}6@6cCSh{hKugw?AZv@=j~+4;$OP--Be0xy(mC+*juh!2LRQsp`*PZGsxaa9!qp#w{ zt}LYGgAw_0UT3L%j6J~qRn<($;k7Um1XmNNp##h{-fEjsK~wIn`I%i6R9&vk9A zFlz}T3^FmrbgrK}wBsv`3g=@$S<|A50I9i5*gdMf{87l8z~oca7td(NOw^OdggpGT z0nCxMWFwA6dUu9DjJI)KWiTITP&;D155sbP^KB=v<+0J+N1J&=cdtE?LxKlf;=M}w zRc+Y%it?Gi*D`kopv1jwo51IltJauHmC3C87-T!JYUh>Zw+Hc{)b^bo?lp)m-~d|Y zd`|l|%%>ab{{VrKE4eXrH=y8B{6W*c%!qNdKZH~;Jj{c?J&jmM!!HM#gybqH^rcxg z4c?VtZRl)8$y&GKD94s~=CX8o!PEfmaa~5gY+eH1f}t6lWuvk~uyaw|BO`AM)|nCV zaHrH(h3hehZL2gf-~K)$k$A^i^}P=5F0H(k?6u@&3gDXbPY5yqQyk)7JF3a;t@qahlli5;ykK6ZcJK>JaXYBwmYDwkd2i)lv~D9l5O!4#tw)vk}yBR3GQG z*gdOX!?F1i{M{*um3&A%xwd1kdgo+Mv%%*@*1As=A!(79kzD1&ZG&O&K_-5kb1c_; zACc)@sZ#r6JS}oMbZH#m_pY{8VxD3if`B%jSd!R8ypTAqQW?xs7bBlTTGo4B2iwGz zj#1ub^FC}2)D;s(3AVdQg4_CvU$mr+|@QSF25-J>zR*qLwg*W-Gfq%;4$<#prDQnPF^$ny!7u}hM_68@lAt8mHqrj z^{%2Dfw;Pyu*Vh6c#cS>yR^Me-O7@te+mHobMTa_KZNY&C-^^*t#^o&PfS;yd?>yC z)cAQ}IDDOlHR%HaD8@6!Dh$MpnSN1L#NQ^<)~VnrksmcO( zXA}V$iG1*&XBA%R6Xt?VX{3=xr)~-Ltm&YboyU-RPy|LjqvO{rF{PY2;#jHNceSmdOp*sA1WR)4+g!hd@G^&I@~k}k2vbs zuQTx)#xYoP+T7epzUo5R z^{AxNt*zI3pQR(JFh>ul%YAbz24X9kHZe0Y%G}piev^HmvVGd+bsKx7%#jL-n{uMF z*;>c)72GQ_>rS^@bSo3S`DNt{T4;7hiaCW}nMS4Wi zTejpQ^sXxUSYe!nAEjE5Sb`ZX#Ns=JAU^`M?le11%2XYscCK>enqVau`A-$zXfB$S ziy=5@#w$9ru+lQ%(X1u6Xq27ZtCwgb(r&OrZOwGDJJ{a@C*{pg;*CD$;@vLo$nt>a zio!JtQ92De-q%*syxU*($T=07l0BQ1bj}VqsQwwx{{Ry+Zte2O*ypAz(7aQiOJ^_I zAWhLZ`@^Ma?MU`#7H*7$JbVvI+VZ~JWt(G(6SYu}NOe-m+@95cPqnL}lO zk<$E}lg&a~UH&9$hE~^Aaw2S1`(b+$cmB~&dPRd$bDZL<#c``+ER9!_Qq+)R$~673 zdlAcLsuDRg`Rp~pYSJW_BcP=I)YS(fH>DcZqK&AI@NsbpKZ z^4mWD0Mfm8#Qqa^wHlU+!b^DuNlumG-X@CXQRlk(YU2O_(30LxO|lzUHfJ%Qy`_IJgKBVeyw*F&dSGm{<9Dn>FoS5f1=4(G#~yGsHQ1DuiD z6~wlyBm^vfbn}W{)PBVny5^0j>GKm4;uFyNR$AC=GOkul%6eeeq;}iCnR7R z<0rnj(Lsa*vOX5ARU_D=A5enz?V@8k74IQU{J}Fa8s&zsozakE*kvZ5LE-Mg~2qHPSVNIT$~MU=NAmNgi3^qHl^P z_+ubZ^?`j=of|={Kr%QB?Ogo&?f#!BXCM!8RVDbGlOc_hlhD@@t@xd9m!)a-gEfX| z^msgfJU={}aJ@LL(?j@+r{Cf`rc~{U`CeT|%!tM~^ff{`W>1(o-R(!VG*nUgRif!0 z5!bB*)7&I$jzMf@wIuK-faQ$F*DJFb!H{*Y&G@`!uh|p}bj1*0CTm5$BWvt7%W&h{ zJWc0#A9^JN5rDxCM zO=@M@vp7DYld-f<)bH8*Sy{e!-yYNG4P5xs`)dCH!fWBh@cx?4 zw=xDv**H?I>5BZ4xYso+p|;}TqzCY>k3rNd-xk+DyPu$Q+|s86Guf}Tr<%_)$PWIz z^O~s&w6^=1hC5d){gZa&Fq3d@eXDOzk(GtC$6+14tGR4)Nt!k{e`dH@x)e3sY1)X_ zd}X2}gat`&7m$PNm|zdvzIx-SHqjE2sFYtsOqatSuM}3}AW+x8U7AZ7WE* z@g3T4GJwnPUpjn9@hsYtPc^s8wXjE~Xv0vvk2@Drq2#xd{{U)gjk-Xnt&$CE*_f^6 z#9R#bt^-VR`ns9(^EWl>8ik}Vsys0gJJ+$bk>;-EUcYLWHZIs3v0g8$4c-~Mv|-DK zTvyN^WkNFh@UPBY7WwRTD6S%HsgcsY z-}rChJ8RqcE+3q#$C~5BK1{+VMdVE(Avk4a*^{)xiCq;rkEyD$` zS+kcmvB)|QE6k}*%I3>^9gdQ*uBIdy1d8>j$I3hOuMv(-n=TY|uU*mZR_etj9mXqs z9ZS0$_@!eXT!R@a{8h)oK5(b8uSwMHyy(Flg?agerO6G_y(k>T{bG3_(Jq2<`=iZ% zYk1b@Q-@z`{X2V1l5nHFev#`xHiLGn+9O{Z=$a&Y&x%C776~~XwbZA}1GfpYJ-^}A z_1E?dxYT%-L{=d7$ga-$ywt(yE6%lzLG;aD*3}Lo*q|TjUWVzLWO9D+AIi9>)^cq! zD#p)3ot>6lWRInE@YKPgFWLFrnqISuzkZ)24I*Y^Rn`RPapW5pO09-m77 z$UmOPe7L}*#%T~1$>=HB&j*ZBunrgi3OU`HXzx!P0aFp^13gVBTq$ANjM5Fq7xZmPSq_4H>o%jq+{t(g1?nKb5aC@-im6|`T>dthGb)km`08_ z1A-|C-aRowt``9HphL2~7MCKMuw#laIH)T21D?I97^$ZP8Q6MKIs|Mj07>QLaCkHg zqvh+0jY}`%PZWyKBp6?6k@kp#f!B&=(945Dk_VQ03IK9o4AYJeN@)t9lg24gGBRs0 zis(3JIix<+0x8Rr_oxM7ybeVn^&M(VEg4h1x1bfw563_4U7Z4mNRzU>Njj(SoC7}_b{=M(~BwiQA3rzj;dJ5w-Oa5@Tp z?<@sg{b>t*gi@sQPi0p5b4Z87UjW6+9rMK&>q`cxGqWpqfnBc3UK zRX7xkOCEnpO}L;h+;>it?gcPYfW;x9zydg=C$~yy$m6w0036iqpwmnSeR@)_`4nyW zOAeHqa0Y0&M0(+l)4=wpVPnenrei<-YH-?kdPC6wjGlT5mNhIgO-4xD<%$bPj3Z7~ zlSX8yHj;bOjt4Z1I%1SAcxq2XR=c4_806EN92#pV7&*l_kTJAyYDafu0A&2s{`k!s za=ocn3_0Vq1D`-1f|T*X@k__>(=g=wP*WTMUJ0j+P*h`Srh`((n%H;;2Nd)mj8q}9 z!ql0;$fziD0HZXqVCNLwiu{^#g-^TElL6-+N_c&!c<3q>ITZca6(C0+nUL(q2Bq8y zIH0#;IG}|*j)H&@bDo%`894T!b570=0)oZddJ1xe9cjpl4*vd>fr&ZAM<^>GAe?Qd z#CHrH)RD0Swki21pyH6kz@-W?#VX_Qq!{NF7Z~huKp3SRDQOh-*ioL;xFCbtkOBA# zK+l{C3D|jHdUT}}+yU~6b}6!~DI8{%Mn}?+DQ}>sAC!P9Mzk6|>S)vx*QGOxQJnEm zS1YiN?jJbDDqs3)oP$VM5%Z5~K=}D%A1y;EAw~^6d((F9r&1|Cf{J%eYAp8^CU8D( zrn3uJcWx*r6pDLM_eBCjm!~wK6VOs2+&WV3#RZ2`ww%LY;BiPtr92Ug8USeIQs)AI zxZrf980k{L6kukZ+uDuPw4TMQi|tMvaZD|a1t{mOL)dGu?t`T`5&2LLYCr(%S+q4^ z>%r;Tl!8$9#T~e(iBxb!O@Sd}$d3z6D8vZ|QQDDC+=cH>R%M{Hmr?oily)MOLHm+) zrji2!l(HO7Z~4k>Zm^rmDFl9YN@U^{-^gEZkHmE3;;O-5bVG|kA*y9aMU z^`HmB!Q1zoVx&epjClEJk`2IiBBUg3369-sBKb+Bvar=GpHIJmW{U^pBZ~Py$6gKp z0E9zQ{?M}G)^_3{!jHnfv$0LL893X(#dtTyvpcG+P)j04bCelTUM6J^boH{?^2qaz z3MeO(T+9Je$Q3V&?8c_4YZ3?a2c=f= z?jSNMDc$K_MdEEHD;bH4h0g-4ct6JCSw*G6APzaJ{yVppMO(WrQyDm|>C==XbJUt> z<+KY;I$MqRfD#V^yA6KY8@qVXKI)EwywVw#Pu{}Zk4oz8b#E@%EyvAWvP|Sj8G4h8 z2$V(gfGeAQWDh2&tIL=P40 zdVY|Xnk+NhZFgP2rFjfG8(y-qe2Od8z8~9MTWSkrUvxg7O611WQi;`pi%j>g3u)I= z=|&5@?PMWEU=0@b&h?C72+;HIUWMWPX4>9G)2>t$=nti8YuahH{{Ty~0o8_aUoR>0 zv*@Cwg;6q=e2Y#a2bSAjAECydlaFe;-3*bK8X_D zTdqhSHF)GQw$6HvF<$=w@gD81?3OSwyRCft5Q*EK25Z~FUB<_Yi(IVq?*waMZ$+2g zAOl{Lujx?hiWYX;uw-Jsc(k5fGX5*8bH?Bg(!KWE#C8`pLS&Ic6~WC-Y7XXfD`{iK z{9&TLk#DjbvJun@^Y0H#Y&C?qBN^bFSJ8L6=7)7^*7r_~*vB}pJcmirF0NRH3Zs!$ zxs-GjmCvNSHFs&K>5-V29Ir#z)?TYSTDt-F6kwY3-4^U=&LOvxDm@PsbH&~%w6W8I zNZiOdt_V<*ozFs@bfaU0@kRRTP|T71z+_i~=@xgkdbB1L*v~J`k4pC|VQ+P(Jo|

e{zDpGPn)^Rz%9TU%T*9aC8R7mn)Bel}IL3QdhR3F9(`xHA#!S10(b~SC z@r9aB9X9Sb;=Xc=PLz0tBy)^7igliR0YI+SP!)s2MZv^E6;Tcd97qIzZ<%JD_Bem>Z0)MiE5R5zP05wpVEKC0onuWZ9w>(=r6!MTbn9Y| z^D*X|Xt<%pr_?)upZ5HKvjFfH1&fo3)0LM->z@ zS_u*W8#PByv@1C?@=bI;8QXOPuH!j4=BQt^nrx1aydS#N%_t(&(lIWs99*<$K2_;f zVYim@BO`G|mM(Y5!zaCLSnL48yaQQSXPoL0mzR^sJ^iX!Vw3C+j=XK)*FoYYk%t1R z6#dd?KX~%Q(Uwg}1j!j01GRQOO_htUnt_1FCZM!+u+>;ha2$@m!&kgdXd|}%(6>Lk z0B7EzQ#6duhT<`MVf%~~9S739t6TyA!H3Q}SE_t9f9)#=687DS^RJ0EuV;57jt3np zI3SN7oHG2_KP_OW zHeBUn<_SjYk12)-;}v#GdyFXC@{dZ@@lA)>^=5Fp8Bb1?+G%#S_xfUOTu22T$Xw^1 zCZBLuabA?@EbeAwu|UUTU4Hhr-4GdYaqU~Wew1!tH!A2H{{RgNlMZvvjfDB<0FO$o za}q+iX8G&2io#j-Cbt8nX84yxFtV`i+NI&-37njAF&l?LPWw|1aZiRd`?%zGt*HDv zb9jp+Yk^T|8d%C!B}ACbF2o~uZsNO3O%~qDEw^jQtQ}6yD{^E;#Ame=OlDT#sf0Xw zRd2M)ydHw4RouB#$7-t~;{|YD$;J39PKr&hF%^? zVjO&w$BxH4RCDyEOZI`a3FFrlD+7Q=4Ml`gxU{g4Z7a{xsGT2AbGI0+h1d>A=9oer z+|s#MM=>vjwDxWA=Xa$EX11WDYH~dVbqlmM1v?7d?5EFQvNO$W-3S9C|2;a3OMb5cWXrMWq?hXehATT|PW;~W~J7>!(p+5oJr z5rSzN9D^-q5c(jhS6&G4#-?#BK~J)Z=wpj|@II8tSIc9QhOFmC5(}PJto#Jh^#v`a z%42iWBmrJYseBdjPLm@GR}z8SITiJz&2)nq{VDP4ml2Ja{VS4q7#c>rk?~*rA)Ya` zVr8}jkM60cJTc+@YJVK*%Xe_JAgA;{{Uwr zU#&CMYAG#bk$?3_6^GKSCy2DGxpoJ~*QP7QE^H^BMRYuYRF>Lc3|m=S7!B!H z{hbcRKHZ+Tu6#hyygK4JBn6wMFhzL3#a%^yC3tD9ZLo|=V?1yx%)C$GU20o{B<$BJ zIbE3;trR!5nsiBwZBQ}XVzi@yhhX-M=lnhJzekEhwbe3Tsp)}UiT?l!tHH$r1jzOR zxydyd8sEbauf}!xH zq;9Q`$mb)qeMn@vjpJlu8Bbo-$ox(4`PZ~lc_+-!uR&ZG%sS-J8qlcuwLVp|-8md~ z&03rHXDidN6qYVxw`gP=8Cv2l`dWl@)R6N*p1^-^zd*Ev073>?%;RMC#6dQR!02Awx#}!2GAoImaSyXe>RA}TMo25tz5h=|pNX&4j1XGl%Wxab+ zBF8kGaXO!9{UpXEXKX|f`p-Jt{4fFgwhzb*3)l)_{ZZBtOf#v6ul#1@$w>xUgjj{H0qxV@Jr>y`end2dsrD$$Ti1#m56-#1Bdi=QQ zN{!`bZvucA`_2P)rz37%tUi@IT%l(f2c;>DNT+8TXaWg%MbCPQ+7QxUj00AnPdkV0 zQ%XdCDi5UqU2CW;qx&p;mKm&qOpWsMRZLSz{{1Uz+Ak?^eJBGwAY89{h^Wuc+NGN- zA!-{E5IRr=pDHPap^i8Lc)_^f3W%8t7QN?gJutKxG z^N*OC?=>y34Y=qrTn)$iJcdT^TB9>i#>{uZdR6s>9zMS{XIP}uC}rVIZ9#0xaw!27 zqOp@<=~v`cgn++|GTtvHRxCc1BZg-ihZF&EWW-^HFe&MH0&Q-!nsE`^)mybn_&7M? zgawhCjICH$79`qFG}tz$-5qIVLarpwN(O=A$Oo<~mDa5d%m=k~DRNFr4l!BREF?zs zJ*lA{Qx&vvG2g=uDl69;Hs-8qa;i@1ykOR5&ov8rRgq#_bVgbN^}9Eat8}m^)&LvanG%0EUs|5&05%lq=kmuuLin3 zB1z<6oiSXMq^JM~k}I##WD9V<^%FFKo#Gf9%@;WT0FQs4@~_$d0N5wuMaPJI8k%yi z?(L8d{{UTnKzM{9wRGS!Dd*C@-u-}lXEa*8-W{?&R8TUBn2ZTC>0Ef2UYY1pdRYB! z@z#{L6D{(nP@=s3p^YX3Bd1FC-xfjVXd-180RgWCR`Uz8o<>Dumb=BHDu*NS7TPPV zG2&DYxpACyuZ`l43mNB50an|J`?6?K=FWJW1|@6auN-M#+4{7;UjVTty>xO(9%HO& z(MdZ>6nx&5gXFAB<&lBwT{YB%l3SiTS1omL(#z%Jj+|GufO;Nfa=Rp|gs2;PR1v<| zi%2np#c4*%jf8~@#tmm&O&hP0i}=^G1CH7iR;E1z)e@UqAlSz8p!c+V0g@DuUfO>0aWIl(-U1Z~@}0d|lI*TJS8g zCW%oE2dea`hY5m9H>{{XY@qb{GU{hYScmG^pA>aT?! zSQ0RQ)nE{N*WwR?yiIkac!JJC`%qxx@vqr$hu$TNTGFi~EH>>y`d67*S)EH`={+Lt zasV7RO75@hCZ9xY+~j0enrX8qnGV77*S5Q=Xt*5ZY9S*Tqw`PWu7?%A>8;1loSOND z!%Iupx0CaX*W5o9^!e`ZE`;zml2Gm9zBRIi?6p~7D}@IDSG|Ishm(qrQwg-Yn_17F zpZ0Omsl~ZuVV->}z11ZB-q1!pJJ$t|nC(3FHS|;^q2>~_jN=X3tI4;Ghw!O_vwh)# zP|S*{xNt>u0FsGzig=D(Z6}Ikaxq_OT*!A3Kozd7QKH`)9m(33DK3lvmLqBUQDrKu zj<3#7N{OXmD=Tomm7I+WEpVeG% zt%!uGN%=^x$iMg}8#>FVtV4{)y1!j@u^*NOdsofX_?hohDs5Ys)+kTi=+)z&67-v! zXM*P$POQScQ%bmoEz!B-wP*OwA*uL!lj`E*P)L|Xl3dM+AGqn z?;^U0lsiwQe6gWwQt8CTe(*bX*U&y2SC+y%hWq6Hm4Y2)bVlh`GQGuTJ<$oYedat? zpV-aIn8DgVol6#v0`n&%RU~Jimdq{T2419bR$#gFM2jfl2N|sUrV&W6{{RT@QaXoE zl<<1utb!RlmYjJ<3*MrZQy9i_Jt{D<5@Q1gwL?0HzHhuwYF7f2v%Hu*1Jb5jSfl4W z)R98YH@9xp1d+SG+;iwCnq0?l2(N`8G7TE*lH3hT7DgEyRbgdch;fQ%y;-4^B%!$PE zZI|RL#TO95JM`pMP3^#W0EgwKq>~&w@)xyFIFBs&l6ZuVek-r=Vq-=OcsoT=@n46o zb&oD+kIFN}b($uX_I)XB!*Ud6g89uz**+#t7&tC_=BwY8mJIGXDU3J^d=;Qbd<5vH}lk#!FSYkStjk z;M5OyH<%V5X}2nn7;Psjuzr&rbB9eAqM#KvBg51GOs^98!H~5bWZc$s;tqCT2?n3IIO&{IHi}js-QuOI2EaH!&Ynl5HwqIp;mG_dIut7N z#W**ZJg_j!(weLKQ$Wl5RJ0lrc|#f9N}~&kOl`ngaqXTc4xkA9sj9?u;8U%)!(F;@rX>rTgf{uF`=+JG5vm+p!b_su;x;+KqKkoIFq=PODnMg=7nLt2A# z(xhHTJ*hK+?MeX7Jt|m(ztWb5OdPLDQAmD6mm`W_m$zDIJ54CY;(H3s#A@gm?Hp6V z%4elAoLjN!L0&`9XO7hUoaA<* z7wJpwNsMtzKs|*R9jSK!D8_nIm6tnlQo$=LfXgN+V*!UfdQ)8Uu_@myXO6WZ&`_Is zR-+3qBaBjH^c^X{V}zts_DDqxIPFq&;}qIfB}ctTtUi>sFjRgN(a>g|06dCAzd~%I z;{z1AMORb7?NKgCxTX!p zo_c1JRwdkAVC3|t1JBFSfy(64gfE@EVv%aw$G+!85E$!T^=DFH^hqZCjXj-?zzZ1o&Y3k2qzay}a3ccamOV@=L zPP*F2a#wZ-9ff*6v2i1KWzL|UbHum+@>0C&v9dO#wMSKdtyp-j#tlwM#A&rr;~f>6 zycgnblXIX*nx&d{01nlc3#N>$)7?9@O&A6p`kRLmy1n zBGC4!LzN?-_(}0D(&oq;rdc*)Du05$*wK73pnOTOid_OlN#j*l2s)bldlwg;0P!@| zrzX_C7=e+2U#>s1&x^b*Z>3pDX)!kws<8|2^sX$zot5HyxC=L9y|;aHz*q2ie%j&N zYbywPDa|{@G5k}yzn5EzIc@FX!@}XXj~&H*CF1`84p?edX{jP0n8c-D7;cro+3GiI zq)no0C5o~IMqYULuLV_aMtwrTt0s#+2Jyd+bn7@Z7@&LW-MHMxlkZ-)qkKd7pLKjL zuPx=eLNWGsY$~5>rSNcR!bY~2YwgHF-h;J!NY=FLDVP|MK+hq1Vz{eTQP}q|*lzJW z?_Kd%kM;7F_V$gZyj^xTTEkhqOKZo7w@9tgoc-GL+udT>_gz|r0Da?LU9EVzbr5V@ z42Pi=;@7Bp)F>$QEh%?(T<%QdSGMT4@mT1pvg76*E5h`tKXf8IDw>bre9+eies9P)sCOvUH$dYboqk_@K^|U zKgv9Y1M;t|%Te%LMEW0{uFoXRD|IHfGcAg;cbY3a5j7zp4%eTKFXLRAYaiV$##cQT=iq_#uj<3XS-tpw zV;PW4%@^LzbHJ`VRVd3-=qOlkxzSCj(aK~sX+luG>b^A*A zbHy4z*k#k9ww^)*5zaH#zRLKO;Y%G#+DLA#(YPakG7Wxa{6+XoH0${<^rS5l91z3$ zSI*Q@jE~Y~U)s>-iaeiP*CSi$7f+PSWBe`Ib6VOT!o5SrF%3^XUNB?EK6S2keF#~v z+2tQ0AIiF)4EXO^@Ptna;o%1nf_g1)N$h;RdS>;HUXytM-UgxK3_WuCe&3|t)oz0vEuUXagTgY@~y+$Fn^#;2m zEe|@h56|xt=y#qPxH^8PAD1BFz7zP9V6ynK7}$TTbBg^E@x(fxinS+cl$ArB{xYPJKseQd$t%x#xwI z3?~_@Hx5=oBJ!50QrUerha-%#A3gkcU}Ur%IYRINIZb(zBv=Io;D7Rf52P!>abJBNS&T4t?^! zC*>7jvh3QYr9l`t+I|FwhdBpt zps%LOa{hmL?0C4`YJ##g;vN$CZK5ZNwZRnHjFI_~BlQ{WUnYD;@u!XcG2XdDBwBKi zBD7QT{Jk+*ek<{2tK*Buyq%aMljOud)rIr|wSE`)hCL(23E}-=QZ#&RKJ0o5`f6~| zMmrxTUc994c{2PZ_`L$W`fZ%43k)b$01;fY9w_lQgsx`N_2p)5*l_;m!ivmfo~%uk@Z|xL-4o5<4@8hveemp#gVc2S5K~M zHXa!fnBzq=oMa02=t0IOC0TP%LMlH%#fn;$3xIIkx0pTrxV7D@n(JfH%o#xsiPrBmMITe7L)XD#+Ur(5`+ zraq4)wUnV`Dn}gsE5KmC)wP?kW2GT$na>-0=BMz7fILOx3*WNo&^QZ?%^=#pg?&+B z;I9n)Fw>#9M)UP|0I-wh3f=Kvqwv=T;xUo-l_O+wV)G0>5ppeA(|j`U4yE8<4J3M) zZ$5dJZhLO8W$~5VR~iz%aIwgyY9DeW#B%s__+ zsa)6BaODM+=6_eWWO?}4^^7mIT@GVUM3&9tf4aYRx3p+h>efqAa)37#n{N~mt3eZT zzbO@WNO5U(<EI_Ukg6(7Z0uF*GHY%F&dn)D`f)_ zis@SDS-flqQ-(g(1=fcxj-xXu!g+_EZq+69a5P3oVdwy_=(ScgX{X&En985Cou5Jt zcFsI5r*64PKKZLwmoH@2%A7?if@<6`4NJq)+o{{-t_5LPzuHzibDYJ6{HyRDIl+Ht z<}k%m(&y;e9wX}*S4KlTd!hNxvsxzOw>hsqwzNfu%aH!?3>5UQpfAJUX+}tt9g0Wg zUP%_1W@eE_3s>zNJ&uki2^n9aJ|{Au;ZeY+XMH3ru?*}S5<6DjroZZMl{Y3p&#f}k zPPfyXyu>pe-K$GbcD&HoM;;0iKo#Zjo?8q?21%~xW=V*2aWP#1r-?6ZXSRqct7fz{UQS;*CIYS^r>OJvkfXEWhNUo_7%?9 z>lU*U5z5QmduF1B<ne`K>jM^{7o=hJ6ovE8WqJ^@Po!RD77n}kv47Iee3ymGQvwN&#xU5Yx6%* z!bxIs{#V$a#WtcF*7C;(zolW@qs)bKfIHV|;%u2fK)YnZf@_nri0ST4*H7W}uj$OL zva3Qf@;@uYQFQBDp=(dL7J7t6W;}eL`&Q42idtRAe`^>!f`%iwtU2zWTZKD8gmr9m zu8wqzQPWJI<~Y}nUMu9hK*0TDERu@U_jr2~?C~o55NS7J(&js$zw6Cj@rIuB#FrvG zt0rrc7@omAhT72%mFoJ-gW;<;LK&773_Iq(IPkwQbnD9rE{D^8?E8wEd7%G?9T5ilk*NM`PapK zsZ*;AO*DR!!kE5zx@_*_llyl!#9J=n2g}i)rl|d6 z0dFHuP>Mvpk~@Q#`1w!0V~HR}kw?iH?ewoe*KEXEhuWkAV=C}^SD)V5!k4?|Bg=EZ zTK=HRYpU32Pstya;v>mX#C?c1^ZD?cr}V9_5)_k4x4pL*bU%1|R$KXDqga7dz#i49 ztUA7kVT5ENvEsa5H^9RYmCw3Iqmov1>cr=y^WNSKP?GH*IW^wu5~aqE6~mkjgDcxL z!|9P3v`5Ql0AyErYNt@}tH%HsMhnke3j8<2JbZBY`C;YNpJ&9hJ*FNrN1Vwc-Q@?} z9S31mf~Z!26ZNY)gmT(^kdK!f)Ry*2_DwE-d5ZpowDcRn_P?`B%V2@|R8p?pTq2I7bg#wySHoWq87}AAaGihNa+_Wm+}9IX z2{x&~6@`CgC6t$6#QtZ?_*C|COrA8ggnX*<0mnmH9xW0@smRO53uDr&!tBG^VciGP z#PMbt)p^my+@b_okaz7`UPzkD&)u91*F3`N5ZN4ajMny;{{ZnOZ~@#FziXH9&xW&7 zCDvo}bTqn7OhH8?Hz9O?I1J=t6!?ly;rp1$EruL=RvdC%4JDz3e4DHJZ^YUTo?@ry zey_t7Z$p&zEfl5Cg>9LK&+~p2=Jyt*wFf)!GHbffq-gv#5+LLQ{Hu$&a@QGAgOi&5 zmw+q(0K#NF502srAMFgM1Pq0YqrV5*tl3DBYN+aP7>pW>Gx?yf_Qgpm`8P30KpR+B z*kb+aQigOcOVK+9!Z0xPrHJds6>Oyf?xM*`Adj! z{{U0Y^zM( zOF`EiYx++luNs(GG=6K3hb=~jBoTQp3UEIDDxZgUPkkU&#?g<;tQeoqS3~lJ#aq&l zTV6XzyF)J+u8hHRQE~Dz!#-KW^9$a5VKg9P_mwU3n@wsWIQcPwQ|qupYvPz^IUaLl zns%MV-V!a<*%SJJzQcSiGKCeBs+{SRul4XavQW(Ne5gO0+O zWfpor+LUgPj=q(ZqUt_f#@m2!{R#D|%on)QGls92!q-Du_<#}r04-asVc(&PTY^!^ zKgzmK8V@e&#$nx!b2`L_FkMB}a4Y#sI->BIt^CpYMq4jwg}0IFSMMCQYOUD;uRpny zJPt8k`$fM*N!OFKe=757*>K*q`<7RURdCUf@$si>(uq4vi4xS2Kay5O?^$L&(HGAm zo|3-7kxLaT#iOIy?PHbka0#f3h3Mpdm4P@UM<#RaT_=l|bTCQK*D}Rg1oarN=Zx+i z&maAFKGy^9VUEg3v!^Np&}O-DAp;w+T_wAP(|5N#WAv_7un!`>zX>bSMF^}RKqy4s$aus{)7JjX=z?Ri7LoX@4TQm;~1}y@6u?zQ6cJl&OVj*U+qe^ z=4}Q*sw4&i?gu1n74aUwxBe0|l?MgKPfGmuG@}({azpqdzB2>=01EnfSmO{M{RY1f zd?6&7my4#Ax~#|aYW=MJqi+*R_*pFOalHT^ir3>G!s}4_&DGO=((Fg)UlX6yb@kgjdcCOw`P8?UGN~K&Cu2`{#?B)%H}IKXN~1DI=fa7PQPVQ_22S`YmM#*{8S%{#vy9@ zjan^ERE}bM0bi-E@+P3sgq;-EgKP1{ZLh~N9i%wT zeHpDXn|w9{179xq%I@F$N>wfMiuG`6^wrEGt2(a|T|+LALh@X3UpZV^$oC&F_xe|$ z{{U+=ka-d}0e)Jk1)-6=^uR2$Wq0W?yTKQ#jRBWzWO_g3Y+^4AYtqBmr30E0v%v44~-RO%$VIlcsu=wyWmdc`43M zTDx&^1ZZK1e(;{P<(btSu0ioYWT<*se(t`tj`S7ip=#0#{ENn%xRq}>9e=4_cb1YylUV2v>VSJ-i zLeKlIYqp2%@=xZ#a=6ARripqTJ(cNfES!2*Po&3f=b2lH0pM4aNj$Jz=G#<;8)-9A_BsT>ZW5jcd7%6jsKR>SPQ$R8;p>%P!s8Hqqw| z#B{D7#CE&dId<^1>vt-?Qt{TfylNj=lYV$c92ft)~u`m+(0A0G5wgxM>uTpHMTrF>050?Ig$UbgqxZ$NnW!L_dgeSw0$wCF42ZdRJBA2-aI;fxr}^ z#@Xin4o3<;PvyH58i$dQk9+lOZqgkTK4amr*(JdT)m84A^ zhA>Z--OVne5Yy)U({4DgTD#NG*!lM9v}3h+z3tI!!vPs>)hHpkyQaWyY)jAc5_(rB z;!AO9YF08i9V@%jE#why#upq4;5=RChz|Y$%|wmh^)2{6FAvOmaa8s9F>0P*;PHxY zfE=)O>N8gSP!L>)10+(_};vZ)jWk$XG`!ZKkXZ7RlZOpVNm>c(_qsr1OEVfI6k#=_H6y+vcmn{ z&2}HOe}`Iq5iS>nx62QD=bK*9K%Q$%@IQf(LegDK!zEZ^zM9a8pH^s(O{a?agWyjv z->~GXjw|Xv3PRt#y^(MRN1?0PSl1G)(>!b9)tpf3o@6Kx7UcU?4+T7O<`rOj3hF*5 z!yU{rPlJ#SE5<$^>T-W=rM7>I70)eAA+00PJVm42>GvLRUK^a#yghjspUQUHNUv(Y z(&E)LtVlj!GArkuWlooOl^aBD)O%LkyooetMqLj}O)>u2=UYd(zj0WXwxUf-%G5aE zji$W|;e7FH$WL8>S3U6xGo^TfFv-CjVygNQrSI7BFA>|Wo2l)De4KQzMA2snV+-RW z0=a(?Sk0-gn-cMkD|<(U?Q}4+{HzpWu(8o8X=AI@^vHEP4>m3v99NaW5=h4UisCM1k}1j#g1h)8ytP%ckvIbtgMVWbGnRg>QLtX; zH*E6GOmPgiVO=G!hIMPD2Wbpy3p-VYb)5j@@rw3cDpa?(7ZPwb)4483l+WSY-8nOI zyK1~5DA(t~Zo;~M6ZnQ3xjeORyVKIRd6``nUEn$NqQIG~WQ9&Yi_ld`E>rH2uvU0| zry%6jS?(jwNzELl#ox7~0EA@cq4cjx@IS*(?dE+(qaOzNd?nf4JD@Tz@Pq9{AaYi(%c4GV@rILWp-e5U(;c&3a1aOFN7B6; z$9kC5E~auYLvSn4^vKQIi1X0&s+pxPgqO)_7jfYB6;aeO^TQ6+)m><}DixzR#bL{6 z;BO-sJetPRHbxc#ljZ?eEiTd#jl2r6BE&`*4ApOyJ9Oz1VAYgh|HG895#7intQYkwa*4J>{2)wdb zk(c&0dT4}=xVGF6&XU^DMH@0I9Oh2pEOTQ`(37RSbI_n>tfphA4>Cq z9mB5WC)%4Bon*l$-nlsqPeZz%+2aA2D5?#2AIhjf#c>l0sUHf*V5CUyv4DD2f!sjI zB`m~q^rVs0$Q5yn*8}HXDcT?PsSNw3mWPtPyxj!iUDa#klyB#aemsP&be=3*zQuBeD zJ(2^_QvV*cWq&coVO8>nl5$00>`CJ@R{Ja9pcooDQ zM(=pmL#%}U?}hJNVrp~3xa&{;+MjM0siTk%{@Da$o@zIY zD~Sm^O>wYmaz>k6PwB*d9L zDisQYc6qL4b%K8P0+4F4gUO?i4#Fpdrse}QhzNFN>0H3ot@d(oeJSwj=hjZcsO3xGSp$l&(hsxvrXRQ5kTpn&+>zh;5)^{c7U?HtbRbK#9N=Wc;9&>0WuK zc#0_`Icx#ay6b!RrW^Bxr^p26MlM*?fXMrC(x8&|*FPy3rCa-T;aFmhKqvb&tl1T# z92-*(D=k`M~}I-mSE-eb~?5sjwFj za=Ssv=}&t`jsV1d6(*l7Q4CxWp44CJHv4ub=|zcKo=xH_P?tNCfO^(MEBm5zfIHV~ z;!$iZgO&iA^H}d9DA5+hj8rqZnnAd6*wrMO#~*tJr(4T><8Z*O z6j_O1P)*SJdwCt}78_yI4%O06aS4k#2D!%6?PHXnJc_PX1d*;7j`gVo(p$Q)CnB(( z^3|~D!!@CAc?6gRhG^vubFjXZ?k&#lM%-lf;=MQaWbt07;GZ7EAS6L^DhDHumF5<= zwr_9cvG%I}0NVcm*m|9Yqop?6i+A0F!kWTS(#L%lvHe15x`+1fgYBPo^E3g6Dxxc$~eI_;-43^r=7*biPWMg}ecme?@No}Kw`5N1E+W-e1-K*tld$kXw zr|&?##xwvgQ`V!DNK*)Sq>eP|OpGc9vbfYQtt}4;c-jhFJG)+s)w}v(3oM6|{`X+Dm z^n<8X!TO5%FTu?7+eGqwyD_%Dp72%b!oFGi%yaoy6gM4xk2mOK8)T$tUSw zoE|2#O*>h*R~RUGHTviA1R>KVc)%>f8L!O0iM}3{ZX~>9JBu7+y?U4_+1T^y(&mBV zEB=sK$;hroXpA=uy#{hCtbqAURE!_))*aZ5oU2#UVWfEyg|s0?3`e5WcQFTH^KnbJ zW_D9#;dfV~(8$kQl}Su&FtoExkUW#X>rq6T zEWJ%Ea)^}&uUd816$cy|nHGu=H)W@ z`Fq!$Q0+ci)NNYV#S=oq3+9q5=>Gr-IFi|87y(ke!^L_(+4a=DE0mCK{cEk#u3pkq z`#Jeo0Bet_to`Vt(JvA};h{LsYN!39JZ-W?!4$`mNdkz^CbeO+h(I9}qnO|)O@5OOOv+Ts`@2o6cDAG85%N)MaTfMylt z#@T$N;MEqjxnser*Dy%K%`4WW4fcC=X$d6sphi?`ZL+c)=B&gK+sf#stw(Pi$==8C zttfQJljrp5KolcIitA=DD@I4!a7VDBSz_CUTt8}kx`s^1c^xPNCQ|VO#yF}L*KD(e z2RZFpdWmHO4s*p*wbGc|{izSkC<9(sErHUr?u^PdfzzdF+CtN!tb?U#Ot9O;9#9Az z3VeuM=OqxGyL`i?UNKEL1;#ekg{1LKa6nKnIIVL5U{_S4V=Pzu}jigpVf-xW&;MU@KaYQgU zH1A+BVP87?JqN9I(0OVwI;BNrWe6LS89t(&Dww4>2aiEj5_BJ*F}_2{;+-r>G(K8j zu%gmX9D=+zwMw8{$Ykm|RR+Bb&$5I?j%C2A@xdsRq$4BxR`t59(|L?OfYtkm076h; z~Zs%reT5UE*aOgQaeiTfw+enIfuUZ4pU$8{# z2S6%0U}#(w>DsoE1bFg?nu=>_OiBpJ&uRdo(-534O;Eg-?64EN=Wal)IU)-hj^>hk zSei954&CXYAOF_&@xZ|1lmW-JGL$UJ9|<9KYJ9p$4Y7rH&H-H4stP094-fXZ%TIB0U<gN`E0n;nI?kRv)x&P~E8)YMc+kmk0Q}QYbY$0N{tNd86e$2O@=JQB44r%J3>c zmGQHInra>0dI|^p^IrYw`540VrELluypjxDWG6d@j$u_M|_ao1xiV8!kQN}?`%*tAw-)`%rj3OUfzE3rUf3E zK9r;kdJ)=!hLYVgN&zD@pDjFN99Cjr2@AG>Fgc)skxn4UFtiThXKCV;FM10C1VC~r zKr2Av#|)9T(vvvgj(bw@I#Pxmdx`{=_7e=Wc5NcM2rgIo1dj8-W+f#PU$cQYHE&3o-x*t)95^H z>}cSRN{E7f=;Ef^#svVh6l14KDLR2iLB&Hu9qf8if!nnq!*IQ56oaVsAH&*=G9Q>2IpPF{NODEd-R7w9PB zlnk11kxF#ur2y^fD={WGF3*_r=}M%YO*bbT&;~%o1d?YRDWh;X6rhaYaZb)U_Nlo| zXdEv+>7#i$J*ac@1|y1>emZyUMT>(PIqgpv?b4c~C+kihE>CKZzN5j%wFG{Y(S{j4 zx>TSm06#iHu$f`bIHh7+2A{O56$d`li;ywWf$gyGn*(J^gFkzWQ$t|w#V$rU6(F?~ z01Z8J!ConVXPT3~MJMEFniLb>o;ag}?M(+KZ9zns{_jeD1~{P?85yBMf>w|Uped)3 zk@D1d+rg*CyN?tA!4U^J;-&BHM%?5M)X;Kvp4BgKBnkk)J!z;mhNBpz%|H?WSO9we z07~fed(D%A%sms&@~97vJSA_;{{yh!&e9tyEiF~%#~ z{3WI6o;tt#Xv8iQ4i4U*O5r{$Xs-qE)JMu2kEpIc!0V}L7wdCne8~)-C_&iQl~+Zf z?BS=*k~;5-zYZo7Ts6I;6oZ$L4j#PA!G1LHufq*y+WSqnne_C*k#V2Ozd?K{ES@OR zWYG1yK&>)_isiqLHOT9p2E5Q`Yi&bJ66s(SGT>skU0#wtlLbw4CVh$UJL7(j@wdUo z5O!)7$;y-Se50jwx`+0~u9LOSy(Ib$byeo-=PHzp_oh}p-vo`Z5*R_1yu{S-sPeo(4 z({*c$i)k#SxJTSNRR^;+@~gky9mR7NF*?kT8QOErb}evjqx%vK#Mdn6%z8A@&{(!` z@vsA?O=`-YCz@Y{IuR)yW}i6^=C4OMuT#_Q+G|fV4%x3Y&~4OQ zEE4mKSG-zTtU6&-7&zj+Trua?JRjm!ovgYm#eW%leZb&)iuj}AzrdvNx5FKC#QF@0 zXZ@RLEzE)Yq+_Lhv++jtM~5c2Zdgf*_+#Tg#5=zS{2sp3(&WN*IHk6A9o73+)@8Eg zvOXU;<#*;kAwC|!lij}m0GKJwZTPAQW7Sg~qc|0p@cq8aa>8Gi%s(Y>c$(ndYJre_ z$jX}fBjT;O;@2+CGiIyuyw;AR7nO9tRWH1>9!+nE^$&)3*DHVaCT!cjNe9-wuG#SB zK)Z3D$X9`Q9{w9^orQmT$B(6Z;n@*JX4;GZ_RU%7(PsU_d6p_bKQ((F!wKfI(r&!G zfETafUO0@iBv#OT+qeK%u}5zwg*+!E+{b44^N+%?pS_{jj|=!IdNmJ?ms6s) zXh3g@?NUdXU*5h}@otF?&zr{_iu#LRxf3&IuS)UlR?;PngN)bDRQIHQk%0aJN5Xz7 z@PvMADlSUo@H$tJ-1vEh^WAvCud#evr7U6YU>`iZ5Ia}T7x1)KjT4M_=CV<-#fhSL zKnG8)!AJr`>N*qa$x|O*Ug|9wjG*?es_Tgg#gU9Wheb zS_?^5bZq-qv`=kqsY|ly20dz(*N3c;c0hxQ)0~SOa?dk1_*CF}3bG&1<8IPA=Cqd9 zOADmM228ySCG1^3Au+`>;Dz*vzK{vmB%S*5b6{w-$?+ z`Gax=WLY!294_Tfp4HGnINEopXXrhu8WJRl7E&%7-Py5sIa_X^rf9p$ULq`dUd==&$JKS`qSkjn7Fbd4XfI%!WX#6sN;ql z5To&{AjX(6^0lmBWhoCJ{qB`uVSfr?Dxea0G&FxN2D&1M8S;a_rDscWckDeoVzh%s zSLQt`iSjoV@7lCcGjb`-kamMmx%qZAMoDv;QaB*jLWzW?WlY{&p_jEXV~`nonp>sM zN<`v6-hLIdAagf!M%pnfKm*9@RJ=o}e`8o1miymvKJ?qzrfT3T#*c-%^aYb|U{!(^wFb#Z> z@eATUqw!b9pJ;vSqT5OSiwNT*r#P=g_|@?X{t~MlKf-z?#%-ndn*r z+shkU$FelW&^XO~br`B}2V4#fdGCYoKeD$L8;rTh^xa)_`C^rhSzBa% z3*irmIwk&*4Zp-lKG7wZ{ofl&HDkvA02w0G^z`um0E8`G+BO(0MpnEdTh_ccZys(o z8JD8_it{Z~;tRyd@5XB-2Qx;w33Q%?-YCEP>EcNEV#J?qYV zLE_uJYGxBQV_&!jYUO9XztyHP>N2#=jAe~J&dA+dM{gJ3bA=xD^jHiuu@-S!7wln4 zIZL4wX*KM=PzF~16kfIT{{X@-fgjs)N3M9B1+-p8vkkHn*w?LmH262+{SU**;tgUn zy1S7#s<6h>>0L7TjqFLt@?uxmm_0o!+QCw#g2uzzBg@6&omwqX*yuHVR>Q%%aJSRp zSR+w{1an_AUSD7M!^H8bllS@b725dL{(VArTZu_u;2xD@;m?P5PH&}AxHdt@TK=TT zXG*3SdnIiT&M{ojm$a7qA47PZRu2c-!Vk=mDEyYZ+rba#8iMiI^twK`D4(~%N*+d@uVyUnmEhr@oK;uzW0pIIKQ|T9 z>ac}q<&fmQNcOIJd`dSTx}z2QHU|)@;p01Kd`2ptEk_dPiUDhFKJG4}QMmgGpG}ZH zxoIy|^`!DYv~-2FC+19%S^7beIayopTXA26c!`8~e8L!nv_9*HYWqwxq|TGY7hXi{ zpTOD4{#C@cl{LQjRD>BMn)EyCOKaOdw7X=eA1!cqv%?xR5RRRz_8u3-#}$N(pnPU$ zhxT=vk#|eFXf1q**Kn9%pGuDvoHdB$uAp|BBP{aGX3dZgkUq7-Ulz5!dvZ3ec*SjK@}w66?G8(* zQfk(>rlsLanBNRJBi6j%409OI4=OWzGp~rSiZv9G!JBuIUBv$YkzKZj6J0LCpbTRM zxz=doVH>BG-2OGI;p>TIzWG1Zui;;)<`ntpx@{jTPF%GVmqV7EwWhyyWZx)mFgkNx zcZQ&01>L9cJLl_)&ekkY_@U=-;~;)t{cKh6Ue8m7Ezip*HT=I?QNVEx*4O-x(%`6MtGbm(ij`h&%4jaQU$_LDn zEvI#>DC^p?bX7o? zFonY-ILFezoV-t>>EmNrc^{_mywvc{2cg4h{i)$tbs0W+W02*Cpsr5wWx0h+XMiz} zO6t56(zc5&tH167w%@ICSAtu4CXEjRy?(9X{yEjlA$`w|�(kUA7^&M|Ba)$i;QO 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

NB?G=#jfKD}4gn>7x$XyxTgN86(%Hcr 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%0AH7qIN))L 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 BGwuKY literal 200543 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 z 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Ő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 diff --git a/community-contributions/dungeon_extraction_game/images/first_input.jpg b/community-contributions/dungeon_extraction_game/images/first_input.jpg index a4a319e00d49c2c5ba5a06622bd84547c33a37c6..c71a447ecc62b836f2a476c17e1d901623123ec0 100644 GIT binary patch literal 10971 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 literal 16849 zcmeHu2UJr}x9_2M1*BJzARr)8Ei?fE5fDMC0V2{tM0zI_5r`B;0i_61MM@}v(4%ze zy^1uE-di9fx$%|num82){ocLnt@YjYE+=Q!nn~uIz4y%Czu9|c2S0|N0qF0jYpMf8 zL`1+t!Uw=l0;&KBG4ZdPaFG&jGDTB}62IXGqDY$jGRe=xFGe{=*mkGr&LzxRIKZ5M2O> z8Hh+2i15t-F8~mc5xD)u@c+7qhzUHBQ&3V-(-1mT&;!IoBqYS7B)_;O^bREa4v;dC zG4e?$lb_SGq`2V9BpLGR10}yo=@(}G{wrlOShQ)}yd=J$FGegpx_+ z)rZnARQyu>q;tCD#N%OF~4LJQ4;#2{@VC z+B}Kou)_wb;eijZHIcZ#wGB$hnD_dIF3Y5opjjr>wqu^hZ2c6wzzI3GtX0tD%$M2| zG-NUMa;JSYG@3bz<_p(i=^&0h;Og-H*XSCTXKQfhN5dD(W7`a`8j`mviJF>!XHaBX z7<<^BQXVfUag&$BAZ`r#^>c?jM5CIZ)O%PxM9L=35)YTN zdaq%sLN~7Sg+VOaM9a&fCUyA{(ayBVnlt+-hdCDtGe_0-ArJEMift}8b0XPSu-0-wqnD!wDc;sunVgW!XJH}Pg!$#B>BeaRv{}N z_IJ?cm)fK|(QSkTx6aVHADexr>r=ewvokVgvSjMn`z)uz-xu!OC23x+`V*us7xm@| zUu5*1uDaMEqTN8|{q8*_^5T81sq4}%l#{015WPYD9kILSbN!;)eP$w@G1XGDBs2M# z48xYgrrz*l)~KS#C%Rc^$gM%cRc&0a=diJvd3NG^o9T%+Jpl;X2cez3AS=0Q0NtVG zYXuXw5WKzcHD>(w*|4y%Y4R+1-t6|(;EK2i*&8Dt@_f8>)Z0`Wl6#xHIig#?f1k(P zq?|Vn*qT8=Wc$?D5?kp6*F_u7RH6fI@_aZZo33)GJumfvyW4$?D$dxIPl{HjZ7x&l zp`!jw*~U+Cp7%<>8WW)R-?Usk@wb4E7UF?p;ey`PK2DqhTxoR#ie(yJ+#*7Z;o>VkumX9tlOus)Oo;OrM z)h=mfcHQ=DE!elCHEhk*VDl~)y#jO!M_gyr>b(QDyOOv4(R=92+Vv{fvP&y zz6W(L%N{??;L#*?y~$pL2Y5!)_g9s0Fvs2FJ#st{=hS<=pNhK)gcp z(j;vQr*%zpnFj#+q}j`C)eJ4av^3!y=4e_U@!V>l(9VT^B`HRF3!CkjBW@r@~A*F`>bYf(e;S(xmuzsRkJgx8!F;t;NX5ik)@}hejn(f@z|3lDrObt$M4@YR-t$2 z3#RFpC#FVfp6qig6h}*%fmK%2I_1pxKj@V4zvE(ls(ywLcYkt#vU;wwHYZnBSe=P+ zzMTK~@kZfmH3a5dQ#G6TcpXaQd8{nO6Yuk&)YLaeMZ6BX$X=JG?VU2O+R7;Gbyqn4EM=hvWe2?v$-kL-GHH-sq7X67ozq4t}+7Aps)c?T5;)`O%HM=hC# z6lZq-Dl7W|UkTnGjCqJy>h{a05)%3qxwy>-ct8XW5u^Q-*OexgaJZKMKg`8S57p0$ zk0YDkQ=*-m<~f&VWp~sZazg#BG|xDY|vB-TFds zPVGw827Ou$hH8eR942crvFL{$)D)_$>)i8NKC{mS`z_0~eAlOSXzW1Zl@B%ZGHky9IR|qhLkS>)uT@&r^633LP&}@+W`Cjd0qV zUwkKEa+!}#REvp`vBPYOqRT0KNKwgW_rW$&kTwg`YQIGYobUKOscu}>UMv)+k^b` zVXsY!ogDWEH!+YcMSu3zuMI9rqe-|kct9$z9}n1=-*2&CZ`h`Y2+*)BS{7b>A@^3) z<<(_V%3I|k{@lROvSiDy;3 zH~)E&(n_UN<4}vZnd65iZ|wVv!_xlim;3{P`@yTX8=Tc#9_^QVlQ&)3 z?2ae1giSjz(-49oB+dE5!wCaav88hW&-Xdr=vdVrl&<}1jffY)SYxa;*{N?wnc7FZ z)qO|vu#6$qb9VaR?$F&5QT}bO;7w<5*SwVh;VOn@?|Tzk9{ugw&>L%^di7UnKk&Sp z^MuCnNQ@+}fM3)rh>JhYDQRdx4mcA46sA*qvYdE+M}iV1aee;!SJ3z{9YA<=~7#omW;m zXLe_bYzOZn>k%cahhRGc2tr{T<6y!hslqZIMr+NywTcmHr-0(Gh-Ip z9ewHOOAl);-%t=mPIasKZg;jIrys>@rJO}hOw=bGBrh9g9@tw<6~VNWl78NnPZHi` z^y94~I(wAvU$M{-*XdkT3l{L!bldrqoLz`HhNBe{Yij+pmC9n?4w(Pk?n!nLhfCWd zO!$!1JH>NDjQ2Tjyj51w4zP~)b*ZAw^_@~WaH>tweXTbXpqpcVY%PmCbe}TI?&8c*Z6cq zP0$7^sTRG02MU&|J@j`_xG6jU>=mSs%j)IEzF^|%6?z0 zja5FCbxcF;^(A&aiv?Szfy;HQTMeVFtP}ewGM`I@^8_kBiyeG4wGX}1&hN&rZzjT> z{V;X@x)&ZmP{b8^(ugcotRoGLE^JUKwmtE>BgWV#D__U^O+6~CjUCgRyrw7+;NK_j zzJ=1=n)3;=9TIaEbr#F51qaqV43*a8pwgF+e(&|=6~Cnhz(p*buzs<&^?RBN_OYF= zeg1*>{xTZ+3YG z%d!R7%ti%h%+-U?a)ziuzOve=%V8^xOH`zK87~5K7M_!3Q!^zjzL(#;hs_G`&o@@J zJuWKL1Nn1*7!=dj>>US{Pm6{s3|t*w@HvzaB<0EA2#Uho2~h46TYHEcUblrc${DZ4 zA8H}0!K#mQ9>(*5v{}>)ZFVWTlz*hsnoT#PDI~z5ZF|U`L#byrYXd2V6{uxAK(TdW zUFkq+TfH>ffg{@}vGVE4;G{2oFImsn`o`tN31M0s)C^Xkf|YegY24%VR?mQi^j z$&wGf%y1;;~JzCX?t+wpbu`uIp) zi6iE5z13kL9L-}M<%Nh}TVD-SG@S0OM&be5iBgk`)#9lvL@uW18auEUcB~mkW(}+}5DCUV&3bL- z5)pLWr>*IR8HY^~w(!`D1!@`FiU)KmYr;Ct)i*8(#Dqz9i`0}8e@?aIy00i3a2xs} zo!)j^ds7;TOb$w6{!!li3Xybg>`3t!_^a^<|lS>^>%omU&jKf|GDpP2Mf`CKeYm#bQ9I7ILy?$+A@ejF4m&fR*Odl zO7Y-Vb+n&?!=`U#oDw-5u2b#$hYpa=J2}IufUT*Qp2jzrF8Mhx@-o=#Wq}tvmQcKd=DQm2&TjV5p|Nf$m?y zOxEvF5pnIGq1>4bD$z9;!X9=;+}cj@GSf$aSHWC|AlPn4B9WS=i;KWi^F5XDg;${$ zVsoNC^QQU5z(4zDBh{-$7}+B`HMpyvp3U{9#XSIh|LkkPyb9U+ptK@~2jZdFvN-g; z^nF6&%vUAcxNbt^j;Y89YE}h0*#DV-4H1&B_HffbS^9(6bz>eaHNVk6 zc>0}K$LG@lIMskt6F9|yQxN9=@C**Rt5GY zW5}_>>|N)d4=`2)=SqxtGX!k=K+ER=+@{H8U6i!uqs!ZXo=yIF*R$gdC+Lk^| zw}OcU9cg^*NqS;dYHr=IuEdIVv|~xTs&6XB`~K7B#^B z6fX=L>FL~=`z|Fac{B4H+3R zM}LAHK%*@{TiB#$L7dA$+=D05>(~gpz)$8Trpf|?7Qr3cz30gy0G8-^&_c*u{qb@G zaiNss(>NOGS0Aq<&S=zwHYYbt| z29Az+1)zFUb!ut531)5AzAJbA!)YY9tsdFwy;00&l+1X zbo0GG*{*Cq**7!SP&pt2Cm;9W)kh9^(h+ye%{RX1sHuHE;B#U3vSpojjVKX&f{}v_ z277JUf&p`P3cSM0b7JRh=jr0_;Of7q>gpuf$rah2P2X`_p4UR?O{(LL$03S596G}T`&P#*zv#~*r-b; zMyEp^{_KbG$^9(3mmiTO@ogELErH4q0V6%9ZMo(HuVq@lf;Y+`Kh-$XyWhM<4@6hr zJeGwWP2*TlFw~MTA;8*(ZZkm}N4JfzWJ)_0;7E+%F6u-K$_(whj|T+i@W9-!U<*D6KcvlDAQrPWH01$oNDFr=?_x1LeH@%d;}C|0!@p zf8Z&m*CgBoj#k(iN8VH+FzXKodpV*nx^NWdpj+Task(vMGRat3d zahXE!G{Oq{2Z;X3u+XBi)e=l(5&Ab2{TmQp?=wEW@b51Nu^ud^Orc??BQHUQYmeJ#|ZgMxP2M;I)l+= diff --git a/community-contributions/dungeon_extraction_game/images/start_adventure.jpg b/community-contributions/dungeon_extraction_game/images/start_adventure.jpg index 80686a7a08b8e351636c375dfe9f13a1d5cee3b0..4d280a22604fc732a2a97348404b131dda2b3ada 100644 GIT binary patch literal 165993 zcmd43Wk4HWw?3Kz#ig{kwz#*rdvQsz0Kp0Fkm6Qape;p;JHcIw1h?WAC|=y%-Qni< zzUMvnod2hL@25MN`7o2c*F4YKD|@fCW=)>{J}m=YD9bC!1D-v51~5f_08euOSpX^u z%0D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�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 z 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 z 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≀ROkQ6v$N>j{=*eh6a!=hx$@{kes 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 z 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

VPjS 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⪙Ppa7g>y#&>U_^b&IsG{Z5=>!=gns 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 z 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¥?{r-hE> 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