diff --git a/week1/community-contributions/day-1-Stock-data-analysis.ipynb b/week1/community-contributions/day-1-Stock-data-analysis.ipynb index 1c3a39f..e9e4b4b 100644 --- a/week1/community-contributions/day-1-Stock-data-analysis.ipynb +++ b/week1/community-contributions/day-1-Stock-data-analysis.ipynb @@ -218,7 +218,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.12" } }, "nbformat": 4, diff --git a/week1/community-contributions/day1-research-paper-summarization.ipynb b/week1/community-contributions/day1-research-paper-summarization.ipynb index 9de589b..5f8a0aa 100644 --- a/week1/community-contributions/day1-research-paper-summarization.ipynb +++ b/week1/community-contributions/day1-research-paper-summarization.ipynb @@ -225,7 +225,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.12" } }, "nbformat": 4, diff --git a/week1/community-contributions/day1-research_paper_summarizer_by_name.ipynb b/week1/community-contributions/day1-research_paper_summarizer_by_name.ipynb index aa704ed..f4075e6 100644 --- a/week1/community-contributions/day1-research_paper_summarizer_by_name.ipynb +++ b/week1/community-contributions/day1-research_paper_summarizer_by_name.ipynb @@ -17,7 +17,13 @@ { "cell_type": "markdown", "id": "a50f02ea-0f04-4f68-ae66-d1369780065e", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "### Imports" ] diff --git a/week1/day1.ipynb b/week1/day1.ipynb index 27684fe..10d7410 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -88,9 +88,17 @@ "" ] }, + { + "cell_type": "markdown", + "id": "0498de68-abeb-418b-865a-7c1877251ac6", + "metadata": {}, + "source": [ + "## Browser Summary" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -102,9 +110,7 @@ "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!" + "from openai import OpenAI" ] }, { @@ -129,10 +135,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "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", @@ -153,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", "metadata": {}, "outputs": [], @@ -174,10 +188,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello! It’s great to hear from 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", "\n", @@ -196,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "c5e793b2-6775-426a-a139-4848291d0463", "metadata": {}, "outputs": [], @@ -226,16 +248,150 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Opening up the Design System for Everyone — The Federated Model | by Anirudh Ramamohan | Bootcamp | Medium\n", + "Open in app\n", + "Sign up\n", + "Sign in\n", + "Write\n", + "Sign up\n", + "Sign in\n", + "Bootcamp\n", + "·\n", + "From idea to product, one lesson at a time. To submit your story:\n", + "https://tinyurl.com/bootspub1\n", + "Opening up the Design System for Everyone — The Federated Model\n", + "Anirudh Ramamohan\n", + "·\n", + "Follow\n", + "Published in\n", + "Bootcamp\n", + "·\n", + "6 min read\n", + "·\n", + "Mar 21, 2023\n", + "--\n", + "Listen\n", + "Share\n", + "A dossier of how a federated design system worked at a super large tech company\n", + "Image credits: Evan Shoemaker\n", + "H\n", + "ere’s the deal - you can have a kick-ass design system that’s got all the bells and whistles, like a bunch of well-structured components, solid documentation, killer guidelines, and a well-thought-out design language. But, if a user can’t actually do what they need to do with it, the whole thing is gonna be useless. So, let’s make sure that our design system is not just pretty to look at but it’s also functional and user-friendly.\n", + "Wait! Before that, I said “federated” in the description of this article! Yes, I am going to talk about the process of opening up the design system for every designer in your organization!\n", + "PS: To know more about Federated teams,\n", + "read Nathan Curtis’s article on team modals\n", + ".\n", + "So, you might be wondering, how can we get everyone involved in the design system?\n", + "Here’s the thing: the people who are actually using the system are creators too! If we introduce a model of governance and co-creation, we can make sure that everyone’s needs, concerns, and desires are taken into account from the get-go. That way, we can make a design system that works for everyone, and we can all be proud of what we create together!\n", + "Embracing an open design system culture\n", + "Some folks worry that a design system might limit their creative freedom, but it doesn’t have to be that way.\n", + "We can have both consistency and flexibility if we open up the design system for feedback, input, and exploration.\n", + "When everyone gets a say, it leads to better components and a real sense of ownership.\n", + "The only thing is, making changes to the design system can cause issues like discrepancies between files, outdated documentation, and extra work for developers. Plus, we need to make sure that any changes we make are actually beneficial for the teams we’re serving.\n", + "So, how do we avoid creating discrepancies while still giving designers and developers the power to make decisions on their own? It’s a tricky question, but one that we can figure out together!\n", + "Everyone can be an initiator of change.\n", + "Alright, let’s start by talking about the role of the design system team! One of our main jobs is to allow and orchestrate change, which is where governance comes in. We need to create a process that we can use over and over again, and we need the right tools to make decisions and move the design system forward.\n", + "The key is to make sure that everyone is playing by the same rules.\n", + "So, the first step is to agree on the defined components and patterns that are part of the design system and make sure that the Figma library matches the Git Repository to avoid any discrepancies. We used Figma as the Definition of Ready document for development to keep things on track.\n", + "Now, if someone encounters an issue where the components aren’t solving a new use case, they can challenge the status quo.\n", + "It doesn’t matter if they’re a designer, developer, or content designer — we encourage everyone to question whether something is working or not. Then, we work with the initiator to figure out if the new proposal applies to other use cases involving the same component. That way, we can make sure that everyone’s needs are met and we can keep moving forward!\n", + "If you're looking for governance guidelines on Design Systems, then I have detailed them in a different article here.\n", + "The consolidation process\n", + "A weekly session for designers to collaborate better\n", + "If you were a designer in my company working on focused product segments, then I would advise you to present in one of the ‘UX Friday’ sessions, or you could just use the following steps to collaborate with the design system team to co-create.\n", + "3 Simple steps to make this happen:\n", + "One of the main goals of the design system team is for every designer to feel empowered to take the initiative and suggest enhancements\n", + "to existing components or propose new ones that will solve issues that the design system doesn’t currently address. Don’t be afraid to speak up!\n", + "1. Prepare a component case:\n", + "Prepare your case in the Figma playground file. It’s a template that contains all sorts of helpful tools to share your proposal with the team. The playground file will ideally include :\n", + "A checklist to help you document your solution:\n", + "This will help you explain how your proposed improvement solves the issue. If you’re improving an existing component, can you explain how it’s still usable for its initial use cases?\n", + "A checklist to help you ensure you’re applying the design system’s foundation and guidelines correctly:\n", + "You want to make sure that your proposed change won’t negatively affect anything else in the system.\n", + "A space to provide the full context of the issue:\n", + "This will help the team understand the problem better and see if other participants have experienced similar issues.\n", + "A space to show research results:\n", + "If you have user research or examples of other design systems that handle similar issues well, this is the place to share them.\n", + "I\n", + "have written a detailed article around “Vetting components for design system” which can provide more insights on this topic.\n", + "2. Present on a\n", + "consolidation call\n", + ":\n", + "Next, present your\n", + "component case\n", + "with the Figma playground file in an open forum setting that occurs weekly or biweekly.\n", + "Anyone can join and participate, regardless of their discipline.\n", + "During the consolidation call, we’ll critique the proposal from multiple angles to strengthen the applicability of the component.\n", + "We’ll gather examples of how we currently use the component and play around with the new proposal within our use cases.\n", + "The consolidation call includes multiple participants, including at least one developer, and we may even invite participants from other disciplines, like a copywriter.\n", + "By identifying every application of the component in these use cases, we can redefine the components’ usage in the Figma playground file.\n", + "Once the consolidation has proven successful, you can implement the change by renewing the components page in Figma.\n", + "3. The Final Step:\n", + "The final step is to get assistance from a designer on the design system team or hand the component entirely over to the DS team to add a few more details to the Figma playground file, including the naming of the component, a user story, types, states, and options defined, tokens or variables defined, breakpoint behavior, and more.\n", + "In short, the consolidation process is all about empowering everyone to suggest changes, gather feedback, and arrive at a solution that works for everyone.\n", + "Don’t forget to push your PMs\n", + "When a changed component is encountered, the PM in charge of that area and will include it in your sprint planning. Usually, the feature team of the person who initiated the change will be the one to work on it. Finally, we make sure to communicate these changes to the business and update any relevant documents.\n", + "Conclusion\n", + "By establishing a clear and easy-to-follow process for proposing and implementing changes to the design system, everyone has an opportunity to share their ideas and contribute to its evolution. The “Figma playground file” is a valuable tool that enables team members to articulate their proposals in a clear and structured way, making it easier for the design system team to assess the impact of proposed changes and ensure they align with the design system’s core values and principles.\n", + "One of the most enjoyable aspects of this process is the collaboration between designers from different disciplines during the consolidation process. This creates a greater understanding and appreciation of each other’s roles and expertise, which helps to build trust and foster a culture of collaboration.\n", + "Ultimately, this process aligns with the core values of the design system, which are collaboration, clarity, and trust. By embracing these values and working together, we can create a design system that is both functional and sustainable and that meets the needs of all stakeholders.\n", + "Let me know your thoughts…\n", + "— — —\n", + "Thanks for reading! If you found it helpful, please share it with your friends and colleagues. If you enjoyed this post, consider\n", + "following me\n", + ", and this will inspire me to write more!\n", + "You can also\n", + "subscribe here\n", + "to get new articles delivered right to your inbox! Or, if you would like to pick my brain on any design topic,\n", + "block a slot with me!\n", + "Design Systems\n", + "Leadership\n", + "UX\n", + "--\n", + "--\n", + "Published in\n", + "Bootcamp\n", + "79K Followers\n", + "·\n", + "Last published\n", + "6 hours ago\n", + "From idea to product, one lesson at a time. To submit your story:\n", + "https://tinyurl.com/bootspub1\n", + "Follow\n", + "Written by\n", + "Anirudh Ramamohan\n", + "106 Followers\n", + "·\n", + "38 Following\n", + "Based in Barcelona, I either turn messy ideas into beautiful products or post blogs on them!\n", + "Follow\n", + "No responses yet\n", + "Help\n", + "Status\n", + "About\n", + "Careers\n", + "Press\n", + "Blog\n", + "Privacy\n", + "Rules\n", + "Terms\n", + "Text to speech\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)" + "omar = Website(\"https://medium.com/design-bootcamp/opening-up-the-design-system-for-everyone-11b9b92f3f75\")\n", + "print(omar.title)\n", + "print(omar.text)" ] }, { @@ -258,7 +414,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", "metadata": {}, "outputs": [], @@ -272,7 +428,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", "metadata": {}, "outputs": [], @@ -290,10 +446,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "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", + "April 21, 2025\n", + "The Complete Agentic AI Engineering Course\n", + "January 23, 2025\n", + "LLM Workshop – Hands-on with Agents – resources\n", + "December 21, 2024\n", + "Welcome, SuperDataScientists!\n", + "November 13, 2024\n", + "Mastering AI and LLM Engineering – 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))" ] @@ -319,7 +532,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", "metadata": {}, "outputs": [], @@ -332,10 +545,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Oh, let me grab my calculator for this one—just kidding! It’s 4. Did you need something more challenging?\n" + ] + } + ], "source": [ "# To give you a preview -- calling OpenAI with system and user messages:\n", "\n", @@ -353,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", "metadata": {}, "outputs": [], @@ -369,14 +590,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "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 Opening up the Design System for Everyone — The Federated Model | by Anirudh Ramamohan | Bootcamp | Medium\\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\\nOpen in app\\nSign up\\nSign in\\nWrite\\nSign up\\nSign in\\nBootcamp\\n·\\nFrom idea to product, one lesson at a time. To submit your story:\\nhttps://tinyurl.com/bootspub1\\nOpening up the Design System for Everyone — The Federated Model\\nAnirudh Ramamohan\\n·\\nFollow\\nPublished in\\nBootcamp\\n·\\n6 min read\\n·\\nMar 21, 2023\\n--\\nListen\\nShare\\nA dossier of how a federated design system worked at a super large tech company\\nImage credits: Evan Shoemaker\\nH\\nere’s the deal - you can have a kick-ass design system that’s got all the bells and whistles, like a bunch of well-structured components, solid documentation, killer guidelines, and a well-thought-out design language. But, if a user can’t actually do what they need to do with it, the whole thing is gonna be useless. So, let’s make sure that our design system is not just pretty to look at but it’s also functional and user-friendly.\\nWait! Before that, I said “federated” in the description of this article! Yes, I am going to talk about the process of opening up the design system for every designer in your organization!\\nPS: To know more about Federated teams,\\nread Nathan Curtis’s article on team modals\\n.\\nSo, you might be wondering, how can we get everyone involved in the design system?\\nHere’s the thing: the people who are actually using the system are creators too! If we introduce a model of governance and co-creation, we can make sure that everyone’s needs, concerns, and desires are taken into account from the get-go. That way, we can make a design system that works for everyone, and we can all be proud of what we create together!\\nEmbracing an open design system culture\\nSome folks worry that a design system might limit their creative freedom, but it doesn’t have to be that way.\\nWe can have both consistency and flexibility if we open up the design system for feedback, input, and exploration.\\nWhen everyone gets a say, it leads to better components and a real sense of ownership.\\nThe only thing is, making changes to the design system can cause issues like discrepancies between files, outdated documentation, and extra work for developers. Plus, we need to make sure that any changes we make are actually beneficial for the teams we’re serving.\\nSo, how do we avoid creating discrepancies while still giving designers and developers the power to make decisions on their own? It’s a tricky question, but one that we can figure out together!\\nEveryone can be an initiator of change.\\nAlright, let’s start by talking about the role of the design system team! One of our main jobs is to allow and orchestrate change, which is where governance comes in. We need to create a process that we can use over and over again, and we need the right tools to make decisions and move the design system forward.\\nThe key is to make sure that everyone is playing by the same rules.\\nSo, the first step is to agree on the defined components and patterns that are part of the design system and make sure that the Figma library matches the Git Repository to avoid any discrepancies. We used Figma as the Definition of Ready document for development to keep things on track.\\nNow, if someone encounters an issue where the components aren’t solving a new use case, they can challenge the status quo.\\nIt doesn’t matter if they’re a designer, developer, or content designer — we encourage everyone to question whether something is working or not. Then, we work with the initiator to figure out if the new proposal applies to other use cases involving the same component. That way, we can make sure that everyone’s needs are met and we can keep moving forward!\\nIf you're looking for governance guidelines on Design Systems, then I have detailed them in a different article here.\\nThe consolidation process\\nA weekly session for designers to collaborate better\\nIf you were a designer in my company working on focused product segments, then I would advise you to present in one of the ‘UX Friday’ sessions, or you could just use the following steps to collaborate with the design system team to co-create.\\n3 Simple steps to make this happen:\\nOne of the main goals of the design system team is for every designer to feel empowered to take the initiative and suggest enhancements\\nto existing components or propose new ones that will solve issues that the design system doesn’t currently address. Don’t be afraid to speak up!\\n1. Prepare a component case:\\nPrepare your case in the Figma playground file. It’s a template that contains all sorts of helpful tools to share your proposal with the team. The playground file will ideally include :\\nA checklist to help you document your solution:\\nThis will help you explain how your proposed improvement solves the issue. If you’re improving an existing component, can you explain how it’s still usable for its initial use cases?\\nA checklist to help you ensure you’re applying the design system’s foundation and guidelines correctly:\\nYou want to make sure that your proposed change won’t negatively affect anything else in the system.\\nA space to provide the full context of the issue:\\nThis will help the team understand the problem better and see if other participants have experienced similar issues.\\nA space to show research results:\\nIf you have user research or examples of other design systems that handle similar issues well, this is the place to share them.\\nI\\nhave written a detailed article around “Vetting components for design system” which can provide more insights on this topic.\\n2. Present on a\\nconsolidation call\\n:\\nNext, present your\\ncomponent case\\nwith the Figma playground file in an open forum setting that occurs weekly or biweekly.\\nAnyone can join and participate, regardless of their discipline.\\nDuring the consolidation call, we’ll critique the proposal from multiple angles to strengthen the applicability of the component.\\nWe’ll gather examples of how we currently use the component and play around with the new proposal within our use cases.\\nThe consolidation call includes multiple participants, including at least one developer, and we may even invite participants from other disciplines, like a copywriter.\\nBy identifying every application of the component in these use cases, we can redefine the components’ usage in the Figma playground file.\\nOnce the consolidation has proven successful, you can implement the change by renewing the components page in Figma.\\n3. The Final Step:\\nThe final step is to get assistance from a designer on the design system team or hand the component entirely over to the DS team to add a few more details to the Figma playground file, including the naming of the component, a user story, types, states, and options defined, tokens or variables defined, breakpoint behavior, and more.\\nIn short, the consolidation process is all about empowering everyone to suggest changes, gather feedback, and arrive at a solution that works for everyone.\\nDon’t forget to push your PMs\\nWhen a changed component is encountered, the PM in charge of that area and will include it in your sprint planning. Usually, the feature team of the person who initiated the change will be the one to work on it. Finally, we make sure to communicate these changes to the business and update any relevant documents.\\nConclusion\\nBy establishing a clear and easy-to-follow process for proposing and implementing changes to the design system, everyone has an opportunity to share their ideas and contribute to its evolution. The “Figma playground file” is a valuable tool that enables team members to articulate their proposals in a clear and structured way, making it easier for the design system team to assess the impact of proposed changes and ensure they align with the design system’s core values and principles.\\nOne of the most enjoyable aspects of this process is the collaboration between designers from different disciplines during the consolidation process. This creates a greater understanding and appreciation of each other’s roles and expertise, which helps to build trust and foster a culture of collaboration.\\nUltimately, this process aligns with the core values of the design system, which are collaboration, clarity, and trust. By embracing these values and working together, we can create a design system that is both functional and sustainable and that meets the needs of all stakeholders.\\nLet me know your thoughts…\\n— — —\\nThanks for reading! If you found it helpful, please share it with your friends and colleagues. If you enjoyed this post, consider\\nfollowing me\\n, and this will inspire me to write more!\\nYou can also\\nsubscribe here\\nto get new articles delivered right to your inbox! Or, if you would like to pick my brain on any design topic,\\nblock a slot with me!\\nDesign Systems\\nLeadership\\nUX\\n--\\n--\\nPublished in\\nBootcamp\\n79K Followers\\n·\\nLast published\\n6 hours ago\\nFrom idea to product, one lesson at a time. To submit your story:\\nhttps://tinyurl.com/bootspub1\\nFollow\\nWritten by\\nAnirudh Ramamohan\\n106 Followers\\n·\\n38 Following\\nBased in Barcelona, I either turn messy ideas into beautiful products or post blogs on them!\\nFollow\\nNo responses yet\\nHelp\\nStatus\\nAbout\\nCareers\\nPress\\nBlog\\nPrivacy\\nRules\\nTerms\\nText to speech\"}]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Try this out, and then try for a few more websites\n", "\n", - "messages_for(ed)" + "messages_for(omar)" ] }, { @@ -389,7 +624,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", "metadata": {}, "outputs": [], @@ -407,17 +642,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'# Summary of \"Opening up the Design System for Everyone — The Federated Model\"\\n\\nIn this article published by Anirudh Ramamohan on Medium, the author explores the concept of a federated design system within a large tech company. The key focus is on the importance of involving all users—designers, developers, and content creators—in the design system to enhance its functionality and user-friendliness.\\n\\n## Main Points:\\n- **Federated Model**: Emphasizes collaborative governance and co-creation, allowing stakeholders to voice their needs to build a design system that serves everyone.\\n- **Empowerment**: Encouragement for designers to actively suggest enhancements or new components, fostering a culture of ownership and responsibility.\\n- **Collaboration Process**:\\n 1. **Component Case Preparation**: Designers should document their proposals using a designated Figma playground file which includes checklists for compliance with existing guidelines and context for the proposed changes.\\n 2. **Consolidation Calls**: Weekly discussions where proposals are critiqued and refined by multi-disciplinary teams, including developers and content designers.\\n 3. **Implementation**: Finalizing changes with help from the design system team and ensuring proper communication and documentation.\\n\\n## Conclusion:\\nThe article wraps up by highlighting the significance of a clear process for suggesting and implementing changes, which fosters collaboration, clarity, and trust among team members. This approach aims to create a dynamic and effective design system that meets the diverse needs of its users. \\n\\nOverall, the article serves as a practical guide for companies looking to implement a federated model for their design systems, promoting a collaborative and inclusive culture.'" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "summarize(\"https://edwarddonner.com\")" + "summarize(\"https://medium.com/design-bootcamp/opening-up-the-design-system-for-everyone-11b9b92f3f75\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "3d926d59-450e-4609-92ba-2d6f244f1342", "metadata": {}, "outputs": [], @@ -431,12 +677,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "3018853a-445f-41ff-9560-d925d1774b2f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of \"Opening up the Design System for Everyone — The Federated Model\"\n", + "\n", + "In this article, Anirudh Ramamohan explores the concept of a federated design system within a large tech company. The key focus is on the necessity for design systems to be user-friendly and functional, rather than merely aesthetically pleasing. \n", + "\n", + "### Key Points:\n", + "- **User Involvement**: The article emphasizes the importance of including all users—designers, developers, and content creators—in the design system’s development through governance and co-creation models.\n", + "- **Open Feedback Culture**: To facilitate flexibility and creativity, the design system should welcome feedback and allow users to suggest enhancements. This leads to better components and a sense of ownership.\n", + "- **Collaboration Process**: The author outlines a structured process for designers to propose changes:\n", + " 1. **Prepare a Component Case**: Use a template in the Figma playground to document solutions, ensuring adherence to design principles.\n", + " 2. **Present on a Consolidation Call**: Regularly scheduled open forums allow for collaborative critiques and refinements of proposals.\n", + " 3. **Final Implementation**: Collaborate with design system team members to finalize and implement changes in the design system.\n", + "\n", + "### Conclusion\n", + "The integration of collaboration, clarity, and trust into the design system’s evolution is crucial for developing a system that meets the diverse needs of its users. By establishing clear processes, users can freely propose ideas that contribute to the system's growth.\n", + "\n", + "This article serves as a comprehensive guide for organizations aiming to democratize their design systems while maintaining quality and fostering a collaborative culture." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "display_summary(\"https://edwarddonner.com\")" + "display_summary(\"https://medium.com/design-bootcamp/opening-up-the-design-system-for-everyone-11b9b92f3f75\")" ] }, { @@ -457,20 +731,64 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "45d83403-a24c-44b5-84ac-961449b4008f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# CNN Website Summary\n", + "\n", + "CNN is a prominent news website that provides the latest news, features, and videos across various categories, including US news, world events, politics, business, health, entertainment, and science.\n", + "\n", + "## Current Key Events\n", + "- **Pope Francis' Death**: The site features extensive coverage of the death of Pope Francis at the age of 88. Highlights include:\n", + " - Reactions from world leaders such as Barack Obama, Joe Biden, and Hillary Clinton.\n", + " - Details surrounding his final days and the significance of his papacy.\n", + " - Anticipated proceedings regarding his funeral and the selection of a new pope.\n", + "\n", + "## Additional News\n", + "- Coverage of global conflicts, including the ongoing Ukraine-Russia war and the Israel-Hamas situation.\n", + "- Updates on significant global incidents, such as DHL suspending shipments and new developments in trade relations involving the US and China.\n", + "\n", + "The website emphasizes real-time updates and in-depth analysis of pressing global matters while allowing users to access live broadcasts, articles, and video content." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display_summary(\"https://cnn.com\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "75e9fd40-b354-4341-991e-863ef2e59db7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of \"Just a moment...\"\n", + "\n", + "The website displays a message indicating that users need to enable JavaScript and cookies in their web browsers to continue accessing content. There are no specific news or announcements provided. \n", + "\n", + "The site appears to be experiencing a temporary loading issue or is in the process of verifying user settings before granting access to additional content." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display_summary(\"https://anthropic.com\")" ] @@ -509,30 +827,159 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", - "metadata": {}, - "outputs": [], + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Research Paper Summary\n", + "\n", + "**Title:** [A Comprehensive Study of Few-Shot Learning Based Mini-Max Optimization for Reinforcement Learning](https://arxiv.org/pdf/2407.10671)\n", + "\n", + "## Key Points\n", + "\n", + "1. **Introduction to Few-Shot Learning in RL**:\n", + " - The paper addresses the challenge of effective learning in environments where data is scarce. \n", + " - It integrates few-shot learning (FSL) techniques into reinforcement learning (RL) frameworks to enhance adaptability and performance in new tasks with limited examples.\n", + "\n", + "2. **Mini-Max Optimization Approach**:\n", + " - Utilizes a mini-max optimization strategy that leverages the benefits of game-theoretical principles to improve learning efficiency.\n", + " - Proposes a unique optimizer that minimizes the learning error while considering the worst-case scenarios presented in few-shot environments.\n", + "\n", + "3. **Methodology**:\n", + " - Introduces a model architecture designed to facilitate few-shot learning within RL.\n", + " - Explains the implementation details and the training process adapted to incorporate few-shot scenarios.\n", + "\n", + "4. **Experimental Setup**:\n", + " - The paper conducts experiments on benchmark RL environments along with simulation tasks to evaluate the proposed algorithm's effectiveness.\n", + " - Compares performance against traditional RL methods and standard few-shot learning frameworks.\n", + "\n", + "5. **Results and Analysis**:\n", + " - Empirical results indicate significant improvements in learning speed and adaptability in novel tasks with limited data.\n", + " - Provides statistical analysis validating the superiority of the proposed method over existing methodologies in similar contexts.\n", + "\n", + "6. **Conclusion and Future Work**:\n", + " - The authors suggest that integrating few-shot learning into RL effectively addresses data limitations and enhances performance.\n", + " - They propose future research directions including the exploration of deeper integration techniques and broader applicability across various RL problems.\n", + "\n", + "## Impact on the Research Community\n", + "\n", + "- The paper contributes to ongoing discussions about improving the efficiency of learning models in environments with limited data.\n", + "- It opens avenues for further exploration of combining game theory with machine learning principles, providing a rich field for cross-disciplinary research.\n", + "\n", + "## Evaluation\n", + "\n", + "This paper is worth attention due to its innovative approach to a pressing issue in the field of reinforcement learning. The integration of few-shot learning with mini-max optimization is a valuable intersection that can serve both as a basis for future research and practical applications in scenarios where data acquisition is expensive or impractical.\n", + "\n", + "## Ideas for Further Research\n", + "\n", + "Following the themes of the original paper, you could explore:\n", + "\n", + "1. **Transfer Learning Techniques in Few-Shot RL**:\n", + " - Investigate how transfer learning can be optimized alongside the mini-max approach to further improve learning efficiency in fewer trials.\n", + "\n", + "2. **Multi-Agent RL with Few-Shot Learning**:\n", + " - Analyze how few-shot learning can be applied in a multi-agent setting, focusing on cooperation and competition dynamics among agents with limited interaction experiences.\n", + "\n", + "3. **Real-World Application Scenarios**:\n", + " - Propose a study that examines specific real-world applications where few-shot learning in RL could be utilized, such as robotics in dynamic environments or personalized learning systems.\n", + "\n", + "4. **Hybrid Models Incorporating Uncertainty**:\n", + " - Explore the integration of uncertainty quantification methods in few-shot learning for RL to enhance robustness and adaptability to unforeseen variations.\n", + "\n", + "By pursuing these ideas, you can establish a unique contribution to the methodologies surrounding few-shot learning in reinforcement learning, providing fresh perspectives to the research community.\n", + "# Research Paper Summary\n", + "\n", + "**Title:** [A Comprehensive Study of Few-Shot Learning Based Mini-Max Optimization for Reinforcement Learning](https://arxiv.org/pdf/2407.10671)\n", + "\n", + "## Key Points\n", + "\n", + "1. **Introduction to Few-Shot Learning in RL**:\n", + " - The paper addresses the challenge of effective learning in environments where data is scarce. \n", + " - It integrates few-shot learning (FSL) techniques into reinforcement learning (RL) frameworks to enhance adaptability and performance in new tasks with limited examples.\n", + "\n", + "2. **Mini-Max Optimization Approach**:\n", + " - Utilizes a mini-max optimization strategy that leverages the benefits of game-theoretical principles to improve learning efficiency.\n", + " - Proposes a unique optimizer that minimizes the learning error while considering the worst-case scenarios presented in few-shot environments.\n", + "\n", + "3. **Methodology**:\n", + " - Introduces a model architecture designed to facilitate few-shot learning within RL.\n", + " - Explains the implementation details and the training process adapted to incorporate few-shot scenarios.\n", + "\n", + "4. **Experimental Setup**:\n", + " - The paper conducts experiments on benchmark RL environments along with simulation tasks to evaluate the proposed algorithm's effectiveness.\n", + " - Compares performance against traditional RL methods and standard few-shot learning frameworks.\n", + "\n", + "5. **Results and Analysis**:\n", + " - Empirical results indicate significant improvements in learning speed and adaptability in novel tasks with limited data.\n", + " - Provides statistical analysis validating the superiority of the proposed method over existing methodologies in similar contexts.\n", + "\n", + "6. **Conclusion and Future Work**:\n", + " - The authors suggest that integrating few-shot learning into RL effectively addresses data limitations and enhances performance.\n", + " - They propose future research directions including the exploration of deeper integration techniques and broader applicability across various RL problems.\n", + "\n", + "## Impact on the Research Community\n", + "\n", + "- The paper contributes to ongoing discussions about improving the efficiency of learning models in environments with limited data.\n", + "- It opens avenues for further exploration of combining game theory with machine learning principles, providing a rich field for cross-disciplinary research.\n", + "\n", + "## Evaluation\n", + "\n", + "This paper is worth attention due to its innovative approach to a pressing issue in the field of reinforcement learning. The integration of few-shot learning with mini-max optimization is a valuable intersection that can serve both as a basis for future research and practical applications in scenarios where data acquisition is expensive or impractical.\n", + "\n", + "## Ideas for Further Research\n", + "\n", + "Following the themes of the original paper, you could explore:\n", + "\n", + "1. **Transfer Learning Techniques in Few-Shot RL**:\n", + " - Investigate how transfer learning can be optimized alongside the mini-max approach to further improve learning efficiency in fewer trials.\n", + "\n", + "2. **Multi-Agent RL with Few-Shot Learning**:\n", + " - Analyze how few-shot learning can be applied in a multi-agent setting, focusing on cooperation and competition dynamics among agents with limited interaction experiences.\n", + "\n", + "3. **Real-World Application Scenarios**:\n", + " - Propose a study that examines specific real-world applications where few-shot learning in RL could be utilized, such as robotics in dynamic environments or personalized learning systems.\n", + "\n", + "4. **Hybrid Models Incorporating Uncertainty**:\n", + " - Explore the integration of uncertainty quantification methods in few-shot learning for RL to enhance robustness and adaptability to unforeseen variations.\n", + "\n", + "By pursuing these ideas, you can establish a unique contribution to the methodologies surrounding few-shot learning in reinforcement learning, providing fresh perspectives to the research community.\n" + ] + } + ], "source": [ "# Step 1: Create your prompts\n", "\n", - "system_prompt = \"something here\"\n", + "system_prompt = \"You are a reasearcher expert assistant, I will provide you a research paper url in domains like machine learning, AI or data science \\\n", + "and you summarize the key points in that paper and its impact on the research community and after summarization come up with an evaluation if it is worth it \\\n", + "and come up with ideas of another research paper that I can come up with start writing relative to this paper but the paper does not cover even if it is minor.\\\n", + "response in markdowns.\"\n", "user_prompt = \"\"\"\n", - " Lots of text\n", - " Can be pasted here\n", + " Summarize for me this research paper website https://arxiv.org/pdf/2407.10671\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", + "]\n", "\n", "# Step 3: Call OpenAI\n", - "\n", - "response =\n", + "response = openai.chat.completions.create(model=\"gpt-4o-mini\", messages=messages)\n", + "print(response.choices[0].message.content)\n", "\n", "# Step 4: print the result\n", - "\n", - "print(" + "print(response.choices[0].message.content)" ] }, { @@ -548,7 +995,13 @@ { "cell_type": "markdown", "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# Sharing your code\n", "\n", @@ -585,7 +1038,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.12" } }, "nbformat": 4, diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index 2c079f1..0750387 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": [], @@ -136,10 +136,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "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 generate high-quality content such as articles, social media posts, product descriptions, and more.\n", + "2. **Virtual Assistants**: Generative AI-powered virtual assistants can help businesses automate customer service, provide personalized recommendations, and offer expert advice.\n", + "3. **Product Design**: Generative AI can aid in the design of new products by generating 2D and 3D models, prototypes, and even entire product lines.\n", + "4. **Marketing and Advertising**: Generative AI can create personalized marketing campaigns, generate ad copy, and optimize advertising content for better engagement.\n", + "5. **Data Analysis**: Generative AI can help analyze large datasets, identify patterns, and provide insights to inform business decisions.\n", + "6. **Predictive Maintenance**: Generative AI-powered predictive maintenance can help businesses predict equipment failures, reduce downtime, and improve overall efficiency.\n", + "7. **Personalized Recommendations**: Generative AI can be used to generate personalized product recommendations for customers based on their behavior, preferences, and demographics.\n", + "8. **Language Translation**: Generative AI-powered language translation tools can help businesses communicate with customers in multiple languages, improving global reach and customer engagement.\n", + "9. **Chatbots and Conversational Interfaces**: Generative AI can create conversational interfaces that are more human-like and personalized, providing better customer experiences.\n", + "10. **Innovation and R&D**: Generative AI can aid in the discovery of new products, materials, and processes by generating ideas and exploring different design spaces.\n", + "\n", + "Some specific business applications include:\n", + "\n", + "* **Automated content generation for blogs and websites**\n", + "* **Personalized product recommendations for e-commerce platforms**\n", + "* **Predictive maintenance for industrial equipment**\n", + "* **Chatbots and conversational interfaces for customer service**\n", + "* **Language translation for global marketing campaigns**\n", + "* **AI-powered design tools for product development**\n", + "* **Data analysis and insights for business decision-making**\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 uses across various industries.\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 +194,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "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 Generation**: Generative AI can create high-quality content, such as articles, social media posts, product descriptions, and more. This can help businesses streamline their content creation process, reduce costs, and increase productivity.\n", + "2. **Image and Video Generation**: Generative AI can generate images and videos that are indistinguishable from those created by humans. This has applications in fields like advertising, marketing, and entertainment, where visual content is crucial.\n", + "3. **Chatbots and Virtual Assistants**: Generative AI can power chatbots and virtual assistants, enabling businesses to provide 24/7 customer support, answer frequently asked questions, and route complex inquiries to human representatives.\n", + "4. **Predictive Analytics and Forecasting**: Generative AI can analyze large datasets and generate predictions about future trends and patterns. This helps businesses make informed decisions, optimize operations, and predict market demands.\n", + "5. **Sales and Marketing Automation**: Generative AI can automate sales and marketing processes, such as lead generation, personalized email campaigns, and customized product recommendations.\n", + "6. **Customer Service and Support**: Generative AI-powered chatbots can help businesses provide personalized customer support, resolve issues quickly, and reduce response times.\n", + "7. **Product Design and Engineering**: Generative AI can aid in the design and development of new products by generating 3D models, prototypes, and simulations.\n", + "8. **Financial Analysis and Risk Assessment**: Generative AI can analyze financial data to identify trends, predict market fluctuations, and assess risk levels for businesses and investors.\n", + "9. **Supply Chain Optimization**: Generative AI can optimize supply chain operations, such as demand forecasting, inventory management, and logistics planning.\n", + "10. **Research and Development**: Generative AI can assist researchers in generating new ideas, simulating experiments, and analyzing large datasets to discover patterns and insights.\n", + "\n", + "Some specific industries that are leveraging Generative AI include:\n", + "\n", + "1. **E-commerce**: Using generative AI to create product descriptions, images, and videos for online stores.\n", + "2. **Marketing**: Leveraging generative AI to generate personalized content, ads, and social media posts.\n", + "3. **Finance**: Applying generative AI to analyze financial data, predict market trends, and optimize investment portfolios.\n", + "4. **Healthcare**: Using generative AI to analyze medical images, develop personalized treatment plans, and create synthetic patient data.\n", + "5. **Education**: Leveraging generative AI to create customized learning materials, adaptive assessments, and virtual teaching assistants.\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 uses in various industries.\n" + ] + } + ], "source": [ "import ollama\n", "\n", @@ -184,10 +244,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "23057e00-b6fc-4678-93a9-6b31cb704bff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generative AI has numerous business applications across various industries, including:\n", + "\n", + "1. **Content Creation**: Generate high-quality content such as articles, social media posts, product descriptions, and even entire books. This can save time and resources for content teams.\n", + "2. **Marketing Automation**: Use generative AI to create personalized marketing campaigns, emails, and advertisements tailored to individual customers' preferences.\n", + "3. **Product Development**: Employ generative AI to design new products, optimize existing designs, and create prototypes. This can streamline the product development process and reduce costs.\n", + "4. **Customer Service Chatbots**: Develop chatbots that use generative AI to provide 24/7 customer support, respond to frequently asked questions, and offer personalized recommendations.\n", + "5. **Image and Video Generation**: Use generative AI to create high-quality visual content, such as product images, marketing materials, and promotional videos.\n", + "6. **Predictive Analytics**: Employ generative AI algorithms to analyze large datasets and make predictions about future trends, customer behavior, or market conditions.\n", + "7. **Sales Enablement**: Generate personalized sales materials, such as emails, presentations, and proposals, that help sales teams connect with customers more effectively.\n", + "8. **Financial Services**: Use generative AI to generate financial reports, forecasts, and analyses; provide credit risk assessments; and automate tasks for accountants and analysts.\n", + "9. **Healthcare**: Develop generative AI models to analyze medical images, diagnose diseases, and optimize treatment plans.\n", + "10. **Virtual Assistants**: Create virtual assistants that use generative AI to schedule appointments, manage workflows, and perform administrative tasks.\n", + "\n", + "Some specific examples of business applications include:\n", + "\n", + "* IBM's AI-powered content generation platform, which can create articles and social media posts in minutes.\n", + "* Microsoft's Generative Model, which can generate high-quality images, videos, and text based on user inputs.\n", + "* Google's AutoML (Automated Machine Learning) tool, which uses generative AI to help users build machine learning models without extensive expertise.\n", + "* Amazon's Generative AI model, which can create personalized customer recommendations and product descriptions.\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 across various industries.\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 +336,770 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "cf9eb44e-fe5b-47aa-b719-0bb63669ab3d", - "metadata": {}, - "outputs": [], + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "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\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 0 B/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 0% ▕ ▏ 93 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% ▕ ▏ 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% ▕ ▏ 3.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.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... 1% ▕ ▏ 12 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% ▕ ▏ 14 MB/1.1 GB 7.4 MB/s 2m29s\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 7.4 MB/s 2m29s\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 7.4 MB/s 2m29s\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 7.4 MB/s 2m28s\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 7.4 MB/s 2m28s\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 7.4 MB/s 2m28s\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 7.4 MB/s 2m28s\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 7.4 MB/s 2m27s\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 7.4 MB/s 2m27s\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 7.4 MB/s 2m27s\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 11 MB/s 1m38s\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 11 MB/s 1m38s\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 11 MB/s 1m38s\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 11 MB/s 1m38s\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 11 MB/s 1m37s\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 11 MB/s 1m37s\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 11 MB/s 1m37s\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 11 MB/s 1m36s\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 11 MB/s 1m36s\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 11 MB/s 1m36s\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 17 MB/s 1m1s\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 17 MB/s 1m1s\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 17 MB/s 1m0s\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 17 MB/s 1m0s\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 17 MB/s 1m0s\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 17 MB/s 1m0s\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 17 MB/s 59s\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 17 MB/s 59s\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 17 MB/s 59s\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 17 MB/s 59s\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 17 MB/s 59s\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 22 MB/s 45s\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 22 MB/s 45s\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 22 MB/s 45s\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 22 MB/s 45s\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 22 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 12% ▕█ ▏ 130 MB/1.1 GB 22 MB/s 44s\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 22 MB/s 44s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 12% ▕█ ▏ 136 MB/1.1 GB 22 MB/s 44s\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 22 MB/s 44s\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 22 MB/s 44s\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 24 MB/s 39s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 13% ▕██ ▏ 150 MB/1.1 GB 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 39s\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 24 MB/s 38s\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 24 MB/s 38s\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 25 MB/s 37s\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 25 MB/s 36s\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 25 MB/s 36s\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 25 MB/s 36s\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 25 MB/s 36s\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 25 MB/s 36s\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 25 MB/s 36s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 19% ▕██ ▏ 206 MB/1.1 GB 25 MB/s 35s\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 25 MB/s 35s\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 25 MB/s 35s\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 26 MB/s 33s\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 26 MB/s 33s\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 26 MB/s 33s\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 26 MB/s 33s\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 26 MB/s 32s\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 26 MB/s 32s\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 26 MB/s 32s\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 26 MB/s 32s\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 26 MB/s 32s\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 26 MB/s 32s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 30s\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 28 MB/s 29s\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 28 MB/s 29s\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 28 MB/s 29s\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 28 MB/s 29s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 25s\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 31 MB/s 24s\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 34 MB/s 23s\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 34 MB/s 23s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 30% ▕████ ▏ 330 MB/1.1 GB 34 MB/s 22s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 30% ▕████ ▏ 330 MB/1.1 GB 34 MB/s 22s\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 34 MB/s 22s\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 34 MB/s 22s\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 34 MB/s 22s\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 34 MB/s 22s\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 34 MB/s 22s\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 34 MB/s 22s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 21s\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 35 MB/s 20s\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 35 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 34% ▕█████ ▏ 379 MB/1.1 GB 35 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 34 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 20s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 40% ▕██████ ▏ 448 MB/1.1 GB 33 MB/s 20s\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 33 MB/s 20s\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 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 19s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 43% ▕██████ ▏ 474 MB/1.1 GB 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 19s\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 33 MB/s 18s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 44% ▕███████ ▏ 493 MB/1.1 GB 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 18s\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 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 17s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 48% ▕███████ ▏ 537 MB/1.1 GB 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 17s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 16s\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 33 MB/s 15s\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 33 MB/s 15s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 53% ▕████████ ▏ 591 MB/1.1 GB 33 MB/s 15s\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 33 MB/s 15s\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 33 MB/s 15s\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 33 MB/s 15s\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 33 MB/s 15s\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 33 MB/s 15s\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 33 MB/s 14s\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 33 MB/s 14s\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 33 MB/s 14s\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 33 MB/s 14s\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 33 MB/s 14s\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 33 MB/s 14s\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 33 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 57% ▕█████████ ▏ 638 MB/1.1 GB 33 MB/s 14s\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 33 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 58% ▕█████████ ▏ 647 MB/1.1 GB 33 MB/s 13s\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 33 MB/s 13s\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 33 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 58% ▕█████████ ▏ 652 MB/1.1 GB 33 MB/s 13s\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 33 MB/s 13s\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 34 MB/s 13s\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 34 MB/s 13s\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 34 MB/s 13s\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 34 MB/s 13s\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 34 MB/s 13s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 62% ▕█████████ ▏ 687 MB/1.1 GB 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 12s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 65% ▕██████████ ▏ 720 MB/1.1 GB 34 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 65% ▕██████████ ▏ 723 MB/1.1 GB 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 34 MB/s 11s\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 33 MB/s 11s\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 33 MB/s 11s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\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 33 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 70% ▕███████████ ▏ 782 MB/1.1 GB 33 MB/s 10s\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 33 MB/s 9s\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 33 MB/s 9s\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 33 MB/s 9s\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 33 MB/s 9s\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 33 MB/s 9s\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 33 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 72% ▕███████████ ▏ 804 MB/1.1 GB 33 MB/s 9s\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 32 MB/s 9s\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 32 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 73% ▕███████████ ▏ 814 MB/1.1 GB 32 MB/s 9s\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 32 MB/s 9s\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 32 MB/s 9s\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 32 MB/s 9s\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 32 MB/s 8s\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 32 MB/s 8s\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 32 MB/s 8s\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 32 MB/s 8s\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 31 MB/s 8s\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 31 MB/s 8s\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 31 MB/s 8s\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 31 MB/s 8s\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 31 MB/s 8s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 7s\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 31 MB/s 6s\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 31 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 81% ▕████████████ ▏ 903 MB/1.1 GB 31 MB/s 6s\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 31 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n", + "pulling aabd4debf0c8... 81% ▕█████████████ ▏ 908 MB/1.1 GB 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 6s\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 31 MB/s 5s\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 31 MB/s 5s\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 31 MB/s 5s\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 31 MB/s 5s\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 31 MB/s 5s\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 31 MB/s 5s\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 31 MB/s 4s\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 31 MB/s 4s\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 31 MB/s 4s\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 31 MB/s 4s\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 31 MB/s 4s\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 31 MB/s 4s\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 31 MB/s 4s\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 32 MB/s 3s\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 32 MB/s 3s\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 32 MB/s 3s\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 32 MB/s 3s\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 32 MB/s 3s\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 32 MB/s 3s\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 32 MB/s 2s\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 32 MB/s 2s\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 32 MB/s 2s\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 32 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 34 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 33 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 29 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 26 MB/s 2s\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 22 MB/s 3s\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 22 MB/s 3s\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 22 MB/s 3s\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 22 MB/s 3s\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 22 MB/s 3s\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 22 MB/s 3s\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 22 MB/s 2s\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 22 MB/s 2s\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 22 MB/s 2s\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 22 MB/s 2s\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 20 MB/s 2s\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 20 MB/s 2s\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 20 MB/s 2s\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 20 MB/s 2s\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 20 MB/s 1s\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 20 MB/s 1s\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 20 MB/s 1s\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 20 MB/s 1s\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 20 MB/s 1s\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 20 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 21 MB/s 0s\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 21 MB/s 0s\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 21 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 21 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\n", + "pulling 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 0% ▕ ▏ 0 B/ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 0% ▕ ▏ 0 B/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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 B \u001b[K\n", + "pulling 6e4c38e1172f... 100% ▕████████████████▏ 1.1 KB \u001b[K\n", + "pulling f4d24e9138dd... 100% ▕████████████████▏ 148 B \u001b[K\n", + "pulling a85fe2a2e58e... 0% ▕ ▏ 0 B/ 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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 369ca498f347... 100% ▕████████████████▏ 387 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": 9, "id": "1d3d554b-e00d-4c08-9300-45e073950a76", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Okay, so I need to understand what LLMs are based on. From what I've heard before, they're these models that can answer questions and generate text, right? But I'm not exactly sure how they work under the hood. The user asked me to define a few core concepts: neural networks, attention, and transformers. Let me think through each of these.\n", + "\n", + "Starting with neural networks. From what I remember, neural networks are inspired by how the human brain works. They have layers of interconnected nodes, or neurons. Each neuron receives input, processes it, applies an activation function to produce an output, and then passes that output on to the next layer. The key aspect here is deep learning, which involves feeding data through multiple levels of these networks to make predictions. So for LLMs, which are similar, they probably use something akin to a deep neural network, structured into layers with shared weights to capture patterns across different data points.\n", + "\n", + "Next up is attention. I think attention is about the model focusing on specific parts of the input rather than processing everything linearly. Something called \"attention mechanism\" in RNNs has led researchers back to traditional sequence modeling. So maybe LLMs use some form where each part of the input interacts with others, depending on its relevance or position. I'm not entirely sure how this fits into a neural network framework though.\n", + "\n", + "The other key term is transformers. From what I've studied, transformers are models that process sequential data by using attention mechanisms internally. They don't have fixed layers like image networks; they use self-attention to model long-range dependencies in sequences. The attention weights determine which parts of the input affect each other and output a new context vector, allowing the model to focus on important features without being constrained by fixed layer structures.\n", + "\n", + "Thinking about how these might combine into an LLM: If the core is a neural network (which I imagine has multiple layers and parameters), the attention mechanism could be implemented as part of it, potentially separating parameters for different interactions. Maybe with attention, each position in the input can attend to others, enabling complex dependencies. The transformer itself would handle learning these representations through its self-Attention layer.\n", + "\n", + "But wait, how does a transformer-based model work exactly? In one resource I saw, it mentioned that transformers don't have explicit hidden or text layers but instead compute both the representation of each token and their attention. The self-attention mechanism processes each token to produce key-value pairs, then combines these with other tokens' outputs. This allows for context-dependent interactions without fixed layers. \n", + "\n", + "So putting this together, the neural network layer likely provides forward pass through a series of layers, while the attention mechanism adds inter-task interaction based on relevance, perhaps in each position. The decoder part might use self-attention within its own processing.\n", + "\n", + "Overall, I think LLMs build upon these components by integrating a deep structure (neural network) with attention and transformers, enabling them to process sequences comprehensively and focus on relevant parts. But where do all these pieces fit together exactly? Maybe the decoder in a transformer uses the encoding's contextual representations through attention. Each step processes sequences in a way that leverages self-attention across different positions.\n", + "\n", + "I should also consider if there are specific models within LLMs, like BERT or ChatGPT. For example, WordPiece is often used to handle sparse tokens, and decoder-only models might not use traditional hidden layers but instead learn representations through the transformer's attention. In contrast, decoder networks process tokens sequentially, using attention on previous steps.\n", + "\n", + "I should also think about computational requirements. Neural networks are computationally intensive, especially with large models. Transformers have their own efficient architectures, like sparse subword embeddings to speed things up. But both approaches seem foundational for LLMs.\n", + "\n", + "Are there potential limitations or areas of research? Maybe comparing the advantages and shortcomings between attention and transformer-based approaches in LLMs could be an interesting topic. Or how attention mechanisms affect computational efficiency could also be a point of study.\n", + "\n", + "I think I have a better grasp now. A neural net has layers with parameters, attention allows looking at data interactively based on relevance, and transformers use self-attention to model dependencies without fixed layers. They combine to enable processing sequences effectively.\n", + "\n", + "\n", + "A Large Language Model (LLM) is built upon several key concepts integrated within its computational framework:\n", + "\n", + "1. **Neural Network Core**: \n", + " - Neural networks are composed of interconnected nodes (neurons) with layers that process inputs through transformations. Each neuron applies an activation function, enabling complex feature learning and prediction. An LLM's neural network likely processes input data through multiple layers, capturing sequential patterns.\n", + "\n", + "2. **Attention Mechanism**:\n", + " - Attention, as formalized in RNNs, involves each node interacting dynamically with others based on their relevance or position, allowing focused context-aware processing. This mechanism is integrated into a deep structure, enhancing the model's ability to attend to important information without fixed layers.\n", + "\n", + "3. **Transformers Core**:\n", + " - Transformers use self-attention internally, processing sequences without predefined hidden layers. Each token computes representations through key-value pairs from others, enabling contextual dependencies and long-range interactions. This self-attention mechanism allows for flexible, dynamic processing of sequential data.\n", + "\n", + "The integration of these components in an LLM combines the deep structure (neural network) with attention to focus on relevant parts, using transformers to model hidden dependencies efficiently. Each part works together in a forward pass within the decoder or via subsequent layers and attention mechanisms, enabling comprehensive sequence modeling.\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", @@ -285,10 +1123,221 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "6de38216-6d1c-48c4-877b-86d403f4e0f8", "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": 11, + "id": "0c2029fd-acfd-406f-b12c-5fc9b458c273", + "metadata": {}, + "outputs": [], + "source": [ + "# 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", + "# Constants\n", + "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "MODEL = \"llama3.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "57c33a88-a908-40a6-9d04-f74a7811f66d", + "metadata": {}, + "outputs": [], + "source": [ + "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": 14, + "id": "85e9922e-ef60-4595-a49e-80d86e502572", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Opening up the Design System for Everyone — The Federated Model | by Anirudh Ramamohan | Bootcamp | Medium\n" + ] + } + ], + "source": [ + "medium = Website(\"https://medium.com/design-bootcamp/opening-up-the-design-system-for-everyone-11b9b92f3f75\")\n", + "print(medium.title)\n", + "# print(medium.text)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "29a84eeb-0a21-4991-9b63-69cb4c76d2d2", + "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": 16, + "id": "3fef5c9e-7e3f-41f6-b0a2-29ef56d0e851", + "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": "d1fbbc02-eacb-4e5d-a353-e4088abf9285", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(user_prompt_for(medium))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "34ba1f4d-c0bb-4eb5-8ad0-9675bab07133", + "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": 26, + "id": "f787b71d-8637-4e73-9ec5-09bc99c696d2", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize(url):\n", + " website = Website(url)\n", + " response = ollama.chat(\n", + " model = MODEL,\n", + " messages = messages_for(website),\n", + " )\n", + " return response['message']['content']" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "33515ef3-5465-484c-9986-b8f2adc32fd3", + "metadata": {}, + "outputs": [], + "source": [ + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "aa878178-7a14-4614-8e5f-aa48b1e60030", + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "**Summary of the Website**\n", + "==========================\n", + "\n", + "### Introduction\n", + "\n", + "The article discusses how to open up a design system for everyone in an organization. The author, Anirudh Ramamohan, shares his experience with creating a process for proposing and implementing changes to the design system.\n", + "\n", + "### Key Points\n", + "\n", + "* Establishing a clear and easy-to-follow process for proposing and implementing changes\n", + "* Empowering team members to suggest changes and gather feedback\n", + "* Collaboration between designers from different disciplines during the consolidation process\n", + "* Alignment with core values of collaboration, clarity, and trust\n", + "\n", + "### Process Overview\n", + "\n", + "1. Prepare a component case using a Figma playground file template\n", + "2. Present on a consolidation call to critique and strengthen the proposal\n", + "3. Implement changes by renewing the components page in Figma\n", + "4. Communicate changes to the business and update relevant documents\n", + "\n", + "### Conclusion\n", + "\n", + "By following this process, everyone has an opportunity to contribute to the design system's evolution while aligning with its core values.\n", + "\n", + "**Author Information**\n", + "--------------------\n", + "\n", + "* Name: Anirudh Ramamohan\n", + "* Location: Barcelona\n", + "* Bio: Turning messy ideas into beautiful products or posting blogs on them!" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://medium.com/design-bootcamp/opening-up-the-design-system-for-everyone-11b9b92f3f75\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16ec41bb-fd61-4ba8-b491-e75c6137be81", + "metadata": {}, + "outputs": [], "source": [] } ], @@ -308,7 +1357,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.11" + "version": "3.11.12" } }, "nbformat": 4,