{"slug":"ietf-weighs-chartering-a-working-group-for-agent-to-agent-protocols","citations":[{"url":"https://www.ietf.org/blog/ietf126-bofs/","committed_hash":"sha256:809ece538cd3b8b93d316deab7eae9ae9046294791a2362b31ff9f7ad123a6b2","committed_hash_short":"sha256:809ece53…d123a6b2","mime_type":"text/html","committed_at":"2026-07-26T08:00:24.958331+00:00","content_snapshot":"\n\n <!doctype html><!--[if lt IE 7]>      <html lang=\"en\" class=\"no-js lt-ie9 lt-ie8 lt-ie7\"> <![endif]--><!--[if IE 7]>         <html lang=\"en\" class=\"no-js lt-ie9 lt-ie8\"> <![endif]--><!--[if IE 8]>         <html lang=\"en\" class=\"no-js lt-ie9\"> <![endif]--><!--[if gt IE 8]><!--><html lang=\"en\" class=\"no-js\"><!--<![endif]--><head> <meta charset=\"utf-8\"/><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/><title>IETF  | Birds of a Feather at IETF 126</title><meta name=\"description\" content=\"The IETF 126 Vienna meeting takes place 18–24 July 2026. As at every IETF meeting, alongside the established Working Groups there will be a handful of Birds-of-a-Feather (BoF) sessions—and these are often the most interesting place to watch where Internet standards work is heading next.\"/><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"/><meta name=\"twitter:card\" content=\"summary\"/><meta name=\"twitter:title\" content=\"Birds of a Feather at IETF 126\"/><meta name=\"twitter:description\" content=\"The IETF 126 Vienna meeting takes place 18–24 July 2026. As at every IETF meeting, alongside the established Working Groups there will be a handful of Birds-of-a-Feather (BoF) sessions—and these are often the most interesting place to watch where Internet standards work is heading next.\"><meta name=\"twitter:image\" content=\"/media/images/IETF126-Social-Alt.original.png\"><meta property=\"fb:app_id\" content=\"\"/><meta property=\"og:type\" content=\"website\"/><meta property=\"og:url\" content=\"/blog/ietf126-bofs/\"/><meta property=\"og:title\" content=\"Birds of a Feather at IETF 126\"/><meta property=\"og:image\" content=\"/media/images/IETF126-Social-Alt.original.png\"/><meta property=\"og:description\" content=\"The IETF 126 Vienna meeting takes place 18–24 July 2026. As at every IETF meeting, alongside the established Working Groups there will be a handful of Birds-of-a-Feather (BoF) sessions—and these are often the most interesting place to watch where Internet standards work is heading next.\"/><meta property=\"og:site_name\" content=\"IETF\"/>\n    <link rel=\"alternate\" type=\"application/atom+xml\" title=\"IETF Blog\" href=\"/blog/feed/\">\n <link href=\"https://static.ietf.org/fonts/inter/import.css\" rel=\"stylesheet\"/> <script defer=\"defer\" src=\"/static/dist/main.93c085ebaafe.js\"></script><link href=\"/static/dist/main.433f4b9c3ff4.css\" rel=\"stylesheet\"></head><body class=\"template-blog-page\">  \n\n<header class=\"header\">\n    <a href=\"#content\" class=\"visually-hidden visually-hidden-focusable\">Skip to main content</a>\n    <nav\n        class=\"navbar navbar-expand-lg\"\n        aria-label=\"Main\"\n    >\n        <div class=\"container position-relative\">\n            <button\n                class=\"navbar-toggler navbar-toggler-light\"\n                type=\"button\"\n                data-bs-toggle=\"collapse\"\n                data-bs-target=\"#navbarSupportedContent\"\n                aria-controls=\"navbarSupportedContent\"\n                aria-expanded=\"false\"\n                aria-label=\"Toggle navigation\"\n            >\n                <span class=\"navbar-toggler-icon text-dark\"></span>\n            </button>\n            <!-- Mobile search -->\n            <button\n                class=\"btn btn-link nav-link text-dark ms-3 me-auto d-lg-none\"\n                type=\"button\"\n                data-bs-toggle=\"collapse\"\n                data-bs-target=\"#navbarSearch\"\n                aria-controls=\"navbarSearch\"\n                aria-expanded=\"false\"\n                aria-label=\"Toggle search bar\"\n            >\n                <i class=\"bi bi-search\"></i>\n                Search\n            </button>\n\n            <div class=\"navbar-brand header__logo-container\">\n                <a class=\"text-light\" href=\"/\">\n                    <img\n                        class=\"header__logo\"\n                        src=\"https://static.ietf.org/logos/ietf.svg\"\n                        alt=\"IETF logo\"\n                    />\n                </a>\n            </div>\n            <div\n                class=\"collapse navbar-collapse flex-wrap-reverse\"\n                id=\"navbarSupportedContent\"\n            >\n                \n\n<ul class=\"navbar-nav col-12 col-xl-auto justify-content-xl-center flex-grow\">\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-1\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            About\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p></p>\n\n                            \n                            \n                            <img src=\"/media/images/ietf-logo.width-600.jpg\" class=\"w-100 object-fit-cover\" />\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/about/\">\n                                About\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/introduction/\">\n                                    Introduction to the IETF\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Introduction to the IETF</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/introduction/\">\n                                    Introduction to the IETF\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/about/introduction/#participants\">\n                                    Participants\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/about/introduction/#mission\">\n                                    Mission\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/about/introduction/#principles\">\n                                    Principles\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/about/introduction/#work\">\n                                    The work\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Structure of the IETF</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/iesg/\">\n                                    Internet Engineering Steering Group\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/iab/\">\n                                    Internet Architecture Board\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/irtf/\">\n                                    Internet Research Task Force\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/liaisons/\">\n                                    Liaison relationships\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/nomcom/\">\n                                    Nominating Committee\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/trust/\">\n                                    IETF Trust\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/about/rfc-editor/\">\n                                    RFC Editor\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/authors/rfc-independent-submissions/\">\n                                    Independent Submissions Editor\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Legal requests</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/legal-request-procedures/\">\n                                    Legal request procedures\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/legal-requests/\">\n                                    Legal requests\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Administration</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/overview/\">\n                                    IETF Administration LLC\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/announcements/\">\n                                    Administrative announcements\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/reports/\">\n                                    Administrative reports\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/llc-board/\">\n                                    IETF Administration LLC Board\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/llc-staff/\">\n                                    IETF Administration LLC Staff\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/financial-statements/\">\n                                    Financial statements\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/rfps-and-contracts/\">\n                                    RFPs and contracts\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/administration/policies-procedures/\">\n                                    Administrative policies and procedures\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/transparency/\">\n                                    IETF LLC transparency report\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-2\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            Technologies\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p>The IETF works on a broad range of networking technologies that provide the foundation for the Internet&#x27;s growth and evolution.</p>\n\n                            \n                            \n                            <img src=\"/media/images/things.width-600.jpg\" class=\"w-100 object-fit-cover\" />\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/technologies/\">\n                                Technologies\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/netmgmt/\">\n                                    Automated network management\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/iot/\">\n                                    The Internet of Things\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/transport/\">\n                                    New transport technology\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/security/\">\n                                    Security &amp; privacy\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">IETF technologies in action</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/dns/\">\n                                    Domain Name System\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">IETF technology groups</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/areas/\">\n                                    IETF Areas\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/technologies/keywords/\">\n                                    Working Group keywords\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Recent posts about IETF technologies</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/blog/agentic-ai-standards/\">\n                                    Agentic AI communications: Identifying the standards we need\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/blog/ai-pref-update/\">\n                                    Enabling Publishers to Express Preferences for AI Crawlers: An Update on the AIPREF Working Group\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/blog/sidrops-and-avoidable-route-hijacks/\">\n                                    Preventing Internet Route Hijack with SIDRops Technology\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/blog/rcs-adopts-mls/\">\n                                    End-to-end encryption based on the IETF-developed Messaging Layer Security set be used on 100s of millions of mobile devices\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/blog/green-wg/\">\n                                    The new GREEN working group gets ready for an energy efficient Internet\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-5\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            Meetings\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p>While most IETF work takes place online, meetings and other events such as Hackathons provide in-person opportunities to advance work within the IETF.</p>\n\n                            \n                            \n                            <img src=\"/media/images/_MG_4832.width-600.jpg\" class=\"w-100 object-fit-cover\" />\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/meeting/\">\n                                Meetings\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/126/\">\n                                    IETF 126 Vienna\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/127/\">\n                                    IETF 127 San Francisco\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/upcoming/\">\n                                    Upcoming meetings\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/past/\">\n                                    Past meetings\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/interim/\">\n                                    Interim meetings\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/hackathons/\">\n                                    IETF Hackathons\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/code-sprint/\">\n                                    Code Sprint\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/128/\">\n                                    IETF 128 Kuala Lumpur\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Participation information</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/preparation/\">\n                                    Preparing for an IETF Meeting\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/guide-ietf-meetings/\">\n                                    Guide to IETF Meetings\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/terms-and-conditions/\">\n                                    IETF meeting terms and conditions\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/new-participants/\">\n                                    New Participants\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/guides/\">\n                                    IETF Guides program\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/technology/\">\n                                    Meeting network and technology\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/technology/meetecho-guide-participant/\">\n                                    Meetecho guide for participants\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/visas/\">\n                                    Visas and Letters of Invitation\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/registration-fee-waivers/\">\n                                    Meeting Registration Fee Waivers\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/childcare/\">\n                                    Onsite Childcare\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Organizing meetings</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/planning/\">\n                                    Meeting planning\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/sponsorship/\">\n                                    Meeting sponsorship\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/side-meetings/\">\n                                    Side meetings and private meetings\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-4\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            Process\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p>The IETF is the premier Internet standards organization. It follows open and well-documented processes for setting these standards. Once published, those standards are made freely available.</p>\n\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/process/\">\n                                Process\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/process/\">\n                                    Guide to the IETF standards process\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/informal/\">\n                                    Informal guide to IETF process documents\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/new-work/\">\n                                    Bringing new work to the IETF\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/ipr/\">\n                                    Intellectual property rights (IPR)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/wgs/\">\n                                    Guide to IETF Working Groups\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/bofs/\">\n                                    Birds of a Feather (BOF)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/iana/\">\n                                    Protocol registries (IANA)\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">RFCs</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/rfcs/\">\n                                    About RFCs\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/groups/rfc-editor/\">\n                                    RFC Editor\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/process/rfcs/#availability-and-use\">\n                                    Availability and use\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/process/rfcs/#formats\">\n                                    Publication formats\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/process/rfcs/#statuses\">\n                                    Statuses\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/process/rfcs/#streams\">\n                                    Publication streams\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.ietf.org/process/rfcs/#errata\">\n                                    Corrections and errata\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/rfcs/vulnerabilities/\">\n                                    Reporting protocol vulnerabilities to the IETF\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-3\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            Participate\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p>The global IETF community works together in many different ways to produce high quality, relevant technical documents that influence the way people design, use, and manage the Internet.</p>\n\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/participate/\">\n                                Participate\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/get-started/\">\n                                    Getting started in the IETF\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/ids/\">\n                                    Internet-Drafts\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/ietf-systers/\">\n                                    IETF Systers\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Tools and services</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://datatracker.ietf.org\">\n                                    Datatracker\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/lists/\">\n                                    Mailing lists\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/tools/\">\n                                    Tools and services\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/open-records/\">\n                                    Open records\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://chairs.ietf.org\">\n                                    Chairs resources\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://authors.ietf.org\">\n                                    I-D authors resources\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://draftforge.ietf.org\">\n                                    DraftForge\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Participation guides</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/meeting/guide-ietf-meetings/\">\n                                    Guide to IETF Meetings\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/process/wgs/\">\n                                    Guide to IETF Working Groups\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/participate/roles/\">\n                                    Roles in the IETF\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Key policies</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/about/note-well/\">\n                                    Note Well - A reminder of IETF policies\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://datatracker.ietf.org/doc/statement-iesg-ietf-anti-harassment-policy-20131103/\">\n                                    Anti-harassment policy\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/info/bcp9\">\n                                    Internet Standards process (BCP 9)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/info/bcp25\">\n                                    Working Group processes (BCP 25)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/rfc/rfc7154.html\">\n                                    Guidelines for conduct (BCP 54)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/rfc/rfc5378.html\">\n                                    Copyright (BCP 78)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"https://www.rfc-editor.org/rfc/rfc8179.html\">\n                                    Patents, Participation (BCP 79)\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/privacy-statement/\">\n                                    IETF/IRTF/IAB Privacy Statement\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n    <li class=\"nav-item dropdown position-static\">\n        <button\n            class=\"\n                nav-link btn megamenu__toggle\n                text-dark fw-semibold text-uppercase\n                dropdown-toggle pe-1\n            \"\n            \n                id=\"megamenu-toggle-6\"\n                role=\"button\"\n                data-bs-toggle=\"dropdown\"\n                data-bs-auto-close=\"outside\"\n                aria-expanded=\"false\"\n            \n        >\n            Support us\n        </button>\n\n        \n        <div\n            class=\"dropdown-menu megamenu__menu w-100 px-2\"\n            aria-labelledby=\"megamenu-toggle-\"\n        >\n            <div class=\"container py-3\">\n                <div class=\"row gx-5\">\n                    <div class=\"col-lg-4 d-none d-lg-block\">\n                        <div class=\"\">\n                            <p>By supporting the IETF today, you are ensuring a free and open Internet exists tomorrow.</p>\n\n                            \n                            \n                            <img src=\"/media/images/IMG_15.width-600.jpg\" class=\"w-100 object-fit-cover\" />\n                            \n                        </div>\n                    </div>\n                    <div class=\"col-lg-8\">\n                        <h5 class=\"border-bottom mb-1 pb-1\">\n                            \n                            <a class=\"dropdown-item\" href=\"/support-us/\">\n                                Support us\n                                <i class=\"bi bi-chevron-right\"></i>\n                            </a>\n                            \n                        </h5>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/why-support/\">\n                                    Why we need your support\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/donors/\">\n                                    IETF financial supporters\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/donate-ietf/\">\n                                    Donate to the IETF\n                                </a>\n                            </li>\n                            \n                        </ul>\n\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Ways to give</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/endowment/\">\n                                    IETF Endowment\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/sponsorship/\">\n                                    Meeting sponsorship\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/donate/\">\n                                    Other ways to give\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/support-us/technical-foundations/\">\n                                    Technical foundations for business\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                        <h6 class=\"mt-3 mb-1 pb-1 border-bottom\">Supporting values</h6>\n\n                        <ul class=\"megamenu__linklist\">\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/runningcode/\">\n                                    Running Code\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/sustainability/\">\n                                    Sustainability\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/diversity/\">\n                                    Diversity and Inclusion\n                                </a>\n                            </li>\n                            \n                            <li>\n                                <a class=\"dropdown-item\" href=\"/open-internet/\">\n                                    Open Internet\n                                </a>\n                            </li>\n                            \n                        </ul>\n                        \n                    </div>\n                </div>\n            </div>\n        </div>\n        \n    </li>\n    \n</ul>\n\n\n\n\n                <ul class=\"navbar-nav col-xl-auto\">\n                    \n\n                    <li\n                        class=\"\n                            nav-item\n                            \n                        \"\n                    >\n                        <a\n                            class=\"\n                                nav-link btn text-dark\n                                \n                            \"\n                            href=\"/blog/\"\n                        >News &amp; blog</a>\n\n                        \n\n                    </li>\n                    \n                    <li class=\"nav-item d-none d-lg-inline-block\">\n                        <a\n                            href=\"/search\"\n                            class=\"btn text-dark nav-link\"\n                            role=\"button\"\n                            data-bs-toggle=\"collapse\"\n                            data-bs-target=\"#navbarSearch\"\n                            aria-controls=\"navbarSearch\"\n                            aria-expanded=\"false\"\n                            aria-label=\"Toggle search bar\"\n                        >\n                            <i class=\"bi bi-search\"></i>\n                            Search\n                        </a>\n                    </li>\n                </ul>\n            </div>\n        </div>\n    </nav>\n    <div class=\"collapse\" id=\"navbarSearch\">\n        <div class=\"container\">\n            <div class=\"row justify-content-center\">\n                <form\n                    class=\"input-group mt-3 mb-3 col-md-8 col-lg-6\"\n                    action=\"/search/\"\n                    method=\"get\"\n                    name=\"search\"\n                >\n                    <input\n                        id=\"search\"\n                        type=\"search\"\n                        class=\"form-control\"\n                        placeholder=\"Search\"\n                        aria-label=\"Search\"\n                        name=\"query\"\n                        required\n                    />\n                    <button type=\"submit\" class=\"btn btn-primary\" aria-label=\"Submit website search\">Go</button>\n                </form>\n            </div>\n        </div>\n    </div>\n</header>\n \n<div class=\"bg-white\">\n    <div id=\"content\">\n        <div class=\"container\">\n            <div class=\"row align-items-start g-0\">\n                <aside class=\"col-12 col-lg-4 d-flex flex-column bg-light d-lg-none\" aria-label=\"Blog listing\">\n                    <div class=\"d-none d-lg-block\">\n                        \n\n<ul class=\"list-unstyled mb-0\">\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-community-survey-2025/\">IETF Community Survey 2025</a></h2>\n                <p class=\"card-text\">Each year the IETF Community Survey provides a comprehensive assessment of community demographics, engagement patterns, and perceptions of organizational effectiveness. The full report from the 2025 edition is now available.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/jay-daley/\">\n                    Jay Daley\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Executive Director</span>\n            \n        </li>\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/akanksha-gohil/\">\n                    Akanksha Gohil\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF LLC Research and Insights Analyst</span>\n            \n        </li>\n    \n    \n</ul>\n\n                14 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/academic-journey/\">From Lab to RFC: A PhD Student&#x27;s Journey through the IETF</a></h2>\n                <p class=\"card-text\">Martine Sophie Lenders has been regularly participating in the IETF for over a decade, starting with the IETF 93 meeting in Prague in 2015. She has authored several Internet-Drafts—two of which recently were published as RFCs—and at the same time works on a PhD at FU Berlin and as a research associate at TU Dresden. We asked a few questions about what her experience in the IETF has been like while pursuing an academic journey.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                1 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf126-new-topics/\">Suggested IETF 126 Sessions for Getting Familiar with New Topics</a></h2>\n                <p class=\"card-text\">These IETF 126 meeting sessions are likely to include discussions and proposals that are accessible to a broad range of Internet technologists whether they are new to the IETF or long-time participants.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                29 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/llc-board-retreat-2026/\">IETF LLC Board Retreat 2026</a></h2>\n                <p class=\"card-text\">The IETF Administration LLC Board of Directors held its annual retreat 29-30 April 2026 in Amsterdam. In addition to all Board members, the IETF Executive Director, the Director of Finance, and the Board Secretary were present. Here is a short summary of the main points we discussed.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                4 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-llc-2025-annual-financial-audit/\">IETF Administration LLC 2025 Annual Financial Audit</a></h2>\n                <p class=\"card-text\">IETF Administration LLC Board of Directors received from external auditors the report of a clean result for its 2025 annual financial statement.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                26 May 2026\n            </div>\n        </li>\n    \n    <li class=\"card bg-light\">\n        <div class=\"card-body\">\n            <a class=\"stretched-link\" href=\"/blog/all/\">\n                Show all\n            </a>\n        </div>\n    </li>\n</ul>\n\n                    </div>\n                </aside>\n                <main class=\"col-12 col-lg-8\">\n                    <div class=\"px-3 px-xl-5 mb-5\">\n\n                        \n\n\n<nav aria-label=\"breadcrumbs\">\n    <ol class=\"breadcrumb bg-transparent pt-3 mb-3 \">\n        <li class=\"breadcrumb-item\"><a class=\"text-dark\" aria-label=\"Home\" href=\"/\"><i class=\"bi bi-house-door-fill\"></i></a></li>\n        \n            \n        \n            \n        \n            \n                <li class=\"breadcrumb-item \"><a class=\"text-dark\" href=\"/blog/\">IETF News</a></li>\n            \n        \n    </ol>\n</nav>\n\n\n\n                        <button\n                            class=\"btn btn-outline-primary w-100 mb-3 d-lg-none collapsed\"\n                            type=\"button\"\n                            data-bs-toggle=\"collapse\"\n                            data-bs-target=\"#blog_sidebar\"\n                            aria-expanded=\"false\"\n                            aria-controls=\"collapseExample\"\n                        >\n                            Blog listing\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </button>\n                        <div id=\"blog_sidebar\" class=\"mb-3 collapse\">\n                            \n\n<ul class=\"list-unstyled mb-0\">\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-community-survey-2025/\">IETF Community Survey 2025</a></h2>\n                <p class=\"card-text\">Each year the IETF Community Survey provides a comprehensive assessment of community demographics, engagement patterns, and perceptions of organizational effectiveness. The full report from the 2025 edition is now available.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/jay-daley/\">\n                    Jay Daley\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Executive Director</span>\n            \n        </li>\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/akanksha-gohil/\">\n                    Akanksha Gohil\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF LLC Research and Insights Analyst</span>\n            \n        </li>\n    \n    \n</ul>\n\n                14 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/academic-journey/\">From Lab to RFC: A PhD Student&#x27;s Journey through the IETF</a></h2>\n                <p class=\"card-text\">Martine Sophie Lenders has been regularly participating in the IETF for over a decade, starting with the IETF 93 meeting in Prague in 2015. She has authored several Internet-Drafts—two of which recently were published as RFCs—and at the same time works on a PhD at FU Berlin and as a research associate at TU Dresden. We asked a few questions about what her experience in the IETF has been like while pursuing an academic journey.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                1 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf126-new-topics/\">Suggested IETF 126 Sessions for Getting Familiar with New Topics</a></h2>\n                <p class=\"card-text\">These IETF 126 meeting sessions are likely to include discussions and proposals that are accessible to a broad range of Internet technologists whether they are new to the IETF or long-time participants.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                29 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/llc-board-retreat-2026/\">IETF LLC Board Retreat 2026</a></h2>\n                <p class=\"card-text\">The IETF Administration LLC Board of Directors held its annual retreat 29-30 April 2026 in Amsterdam. In addition to all Board members, the IETF Executive Director, the Director of Finance, and the Board Secretary were present. Here is a short summary of the main points we discussed.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                4 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-llc-2025-annual-financial-audit/\">IETF Administration LLC 2025 Annual Financial Audit</a></h2>\n                <p class=\"card-text\">IETF Administration LLC Board of Directors received from external auditors the report of a clean result for its 2025 annual financial statement.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                26 May 2026\n            </div>\n        </li>\n    \n    <li class=\"card bg-light\">\n        <div class=\"card-body\">\n            <a class=\"stretched-link\" href=\"/blog/all/\">\n                Show all\n            </a>\n        </div>\n    </li>\n</ul>\n\n                        </div>\n\n                        \n<button\n    class=\"btn btn-outline-primary d-md-none w-100 mb-4\"\n    type=\"button\"\n    data-bs-toggle=\"collapse\"\n    data-bs-target=\"#filters-mobile\"\n    aria-expanded=\"false\"\n    aria-controls=\"collapseExample\"\n>\n    Show filters\n    <i class=\"bi bi-chevron-down\"></i>\n</button>\n<form method=\"GET\" action=\"/blog/\" id=\"filters-mobile\" class=\"form-row mx-0 mb-4 d-md-none collapse\">\n    <h2 class=\"h6\">Filter by topic and date</h2>\n    <div class=\"col-12 form-group p-0 flex-shrink-1\">\n        <label class=\"form-label\" for=\"topic-input\">Topic</label>\n        <select aria-label=\"Topic\" class=\"form-control bg-light\" name=\"topic\" id=\"topic-input\">\n            <option value=\"\">All</option>\n            \n                <option\n                    value=\"6\"\n                    \n                >\n                    General Area\n                </option>\n            \n                <option\n                    value=\"12\"\n                    \n                >\n                    Transport Area (tsv)\n                </option>\n            \n                <option\n                    value=\"4\"\n                    \n                >\n                    Operations and Management Area\n                </option>\n            \n                <option\n                    value=\"26\"\n                    \n                >\n                    Internet Architecture Board\n                </option>\n            \n                <option\n                    value=\"25\"\n                    \n                >\n                    News\n                </option>\n            \n                <option\n                    value=\"8\"\n                    \n                >\n                    Internet of Things\n                </option>\n            \n                <option\n                    value=\"14\"\n                    \n                >\n                    Security &amp; Privacy\n                </option>\n            \n                <option\n                    value=\"27\"\n                    \n                >\n                    IRTF\n                </option>\n            \n                <option\n                    value=\"5\"\n                    \n                >\n                    Applications and Real-Time Area\n                </option>\n            \n                <option\n                    value=\"24\"\n                    \n                >\n                    IETF-LLC\n                </option>\n            \n                <option\n                    value=\"3\"\n                    \n                >\n                    Security Area (sec)\n                </option>\n            \n        </select>\n    </div>\n\n    <div class=\"col-6 form-group flex-shrink-1 p-0 pe-1\">\n        <label class=\"form-label\" for=\"date_from-input\" id=\"date_from-label\">Date from</label>\n        <div class=\"input-group\">\n            <input\n                class=\"form-control\"\n                placeholder=\"dd/mm/yyyy\"\n                name=\"date_from\"\n                id=\"date_from-input\"\n                type=\"text\"\n                autocomplete=\"off\"\n                aria-autocomplete=\"none\"\n                \n            />\n        </div>\n    </div>\n    <div class=\"col-6 form-group flex-shrink-1 p-0\">\n        <label class=\"form-label\" for=\"date_to-input\" id=\"date_to-label\">Date to</label>\n        <div class=\"input-group me-md-\">\n            <input\n                class=\"form-control\"\n                placeholder=\"dd/mm/yyyy\"\n                name=\"date_to\"\n                id=\"date_to-input\"\n                type=\"text\"\n                autocomplete=\"off\"\n                aria-autocomplete=\"none\"\n                \n            />\n        </div>\n    </div>\n    <button class=\"col-12 btn btn-outline-primary d-md-none\" type=\"submit\">Filter</button>\n</form>\n\n<h2 class=\"h6 d-none d-md-block\">Filter by topic and date</h2>\n<form method=\"GET\" action=\"/blog/\" class=\"form-row mx-0 mb-5 flex-md-nowrap d-none d-md-flex\">\n    <div class=\"col-auto form-group p-0 flex-shrink-1\">\n        <label class=\"form-label\" for=\"topic-desktop-input\">Topic</label>\n        <select aria-label=\"Topic\" class=\"form-control bg-light\" name=\"topic\" id=\"topic-desktop-input\">\n            <option value=\"\">All</option>\n            \n                <option\n                    value=\"6\"\n                    \n                >\n                    General Area\n                </option>\n            \n                <option\n                    value=\"12\"\n                    \n                >\n                    Transport Area (tsv)\n                </option>\n            \n                <option\n                    value=\"4\"\n                    \n                >\n                    Operations and Management Area\n                </option>\n            \n                <option\n                    value=\"26\"\n                    \n                >\n                    Internet Architecture Board\n                </option>\n            \n                <option\n                    value=\"25\"\n                    \n                >\n                    News\n                </option>\n            \n                <option\n                    value=\"8\"\n                    \n                >\n                    Internet of Things\n                </option>\n            \n                <option\n                    value=\"14\"\n                    \n                >\n                    Security &amp; Privacy\n                </option>\n            \n                <option\n                    value=\"27\"\n                    \n                >\n                    IRTF\n                </option>\n            \n                <option\n                    value=\"5\"\n                    \n                >\n                    Applications and Real-Time Area\n                </option>\n            \n                <option\n                    value=\"24\"\n                    \n                >\n                    IETF-LLC\n                </option>\n            \n                <option\n                    value=\"3\"\n                    \n                >\n                    Security Area (sec)\n                </option>\n            \n        </select>\n    </div>\n\n    <div class=\"col-auto form-group flex-shrink-1 p-0 px-1\">\n        <label class=\"form-label\" for=\"date_from-desktop-input\" id=\"date_from-desktop-label\">Date from</label>\n        <div class=\"input-group\">\n            <input\n                class=\"form-control\"\n                placeholder=\"dd/mm/yyyy\"\n                name=\"date_from\"\n                id=\"date_from-desktop-input\"\n                type=\"text\"\n                autocomplete=\"off\"\n                aria-autocomplete=\"none\"\n                \n            />\n        </div>\n    </div>\n    <div class=\"col-auto form-group flex-shrink-1 p-0\">\n        <label class=\"form-label\" for=\"date_to-desktop-input\" id=\"date_to-desktop-label\">Date to</label>\n        <div class=\"d-flex\">\n            <div class=\"input-group me-md-1\">\n                <input\n                    class=\"form-control\"\n                    placeholder=\"dd/mm/yyyy\"\n                    name=\"date_to\"\n                    id=\"date_to-desktop-input\"\n                    type=\"text\"\n                    autocomplete=\"off\"\n                    aria-autocomplete=\"none\"\n                    \n                />\n            </div>\n            <div class=\"d-none d-md-block\">\n                <button class=\"btn btn-outline-primary\" type=\"submit\">Filter</button>\n            </div>\n        </div>\n    </div>\n</form>\n\n                        \n                        <h1>Birds of a Feather at IETF 126</h1>\n                        <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                        <p>2 Jul 2026</p>\n                        <p class=\"lead\">The IETF 126 Vienna meeting takes place 18–24 July 2026. As at every IETF meeting, alongside the established Working Groups there will be a handful of Birds-of-a-Feather (BoF) sessions—and these are often the most interesting place to watch where Internet standards work is heading next.</p>\n\n                        <div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>What is a BoF, and why does it matter?</b></h2><p data-block-key=\"1ine6\">A <a href=\"https://www.ietf.org/process/bofs/\">Birds-of-a-Feather session</a> is an initial, community-wide discussion about a topic that may be ripe for new work in the IETF. Some BoFs are working-group-forming: their goal is to confirm that there is enough consensus, energy, and a tight enough scope to charter a new Working Group, often with a draft charter already on the table. Others are non-working-group-forming: they exist to take the temperature of the community, refine a problem statement, and identify gaps before anyone commits to chartering anything.</p><p data-block-key=\"2l6i1\">Five BoFs are scheduled for <a href=\"https://www.ietf.org/meeting/126/\">IETF 126</a>, all of them meeting in <a href=\"https://datatracker.ietf.org/meeting/126/floor-plan?room=grand-park-hall-3\">Grand Park Hall 3</a> with <a href=\"https://www.ietf.org/meeting/technology/\">online remote participation</a> also available. Details for every BoF session are available through the <a href=\"https://datatracker.ietf.org/meeting/126/agenda\">IETF 126 meeting agenda</a> webpage. Some of the BoFs already have active email list discussions underway (though note that names of the email lists and BoFs may not match).</p></div>\n<div class=\"w-block-image block-image\"><img alt=\"IETF 126 BoFs\" height=\"873\" src=\"/media/images/ietf126-bofs-tits.original.jpg\" width=\"1200\"/>\n</div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Protocol for Transposed Transactions over HTTP (ptth)</b></h2><p data-block-key=\"20k70\"><b>When:</b> Monday, 20 July 2026, 16:30–18:00 CEST</p><p data-block-key=\"5ple\">Following a first BoF at <a href=\"https://datatracker.ietf.org/meeting/123/proceedings\">IETF 123</a>, <a href=\"https://datatracker.ietf.org/group/ptth/about/\">PTTH</a> proponents return with a <a href=\"https://github.com/ietf-wg-ptth/charter/blob/main/charter.md\">proposed charter</a> for a new Working Group. The goal is a uniform and secure method for swapping HTTP server and client roles in an interoperable manner. This would be used, for example, when a server is only intended to be accessed directly by a small number of clients, the server knows how to reach these approved clients, and the server is not widely accessible by arbitrary clients due to security or routing constraints. Currently, there are multiple proprietary or vendor-specific deployed solutions for each of these use cases. The <a href=\"https://mailman3.ietf.org/mailman3/lists/ptth.ietf.org/\">PTTH mailing list</a>, set up ahead of IETF 123, has <a href=\"https://mailarchive.ietf.org/arch/browse/ptth/\">an archive</a> with discussions since that time.</p></div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Discovery of Agents, Workloads, and Named entities (dawn)</b></h2><p data-block-key=\"6kaom\"><b>When:</b> Tuesday, 21 July 2026, 14:00–16:00 CEST</p><p data-block-key=\"c7frk\"><a href=\"https://datatracker.ietf.org/group/dawn/about/\">DAWN</a> seeks to build consensus around establishing a Working Group to develop requirements notably including but not limited to AI agent to agent, and protocol solutions for an automated, decentralised and interoperable discovery mechanism to meet—at scale—the requirements of distributed processing environments which depend on the interaction between components that do not have this pre-configured capability. An active discussion is already underway on the <a href=\"https://mailman3.ietf.org/mailman3/lists/dawn.ietf.org/\">DAWN mailing list</a>, and available through the <a href=\"https://mailarchive.ietf.org/arch/browse/dawn/\">email list archive</a>.</p></div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Continuous Updating and Ratcheting for Rekeying Encrypted Network Transport (current)</b></h2><p data-block-key=\"8k2jo\"><b>When:</b> Tuesday, 21 July 2026, 16:30–18:00 CEST</p><p data-block-key=\"c6q5o\"><a href=\"https://datatracker.ietf.org/wg/current/about/\">CURRENT</a> aims to build consensus for establishing a Working Group to define a two-party security protocol that uses Messaging Layer Security (MLS) for the key management. MLS key management provides asynchronous key updates, forward secrecy (FS), and post-compromise security (PCS). In addition, MLS supports asynchronous communication and both traditional cryptography and Post-Quantum Cryptography (PQC). Further, the formal analysis conducted on the MLS protocol provides confidence in the design. The <a href=\"https://mailman3.ietf.org/mailman3/lists/km-fs-pcs.ietf.org/\">mailing list</a> discussions, captured in the <a href=\"https://mailarchive.ietf.org/arch/browse/km-fs-pcs/\">mailing list archive</a>, are already in progress.</p></div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Dynamic Multi-agent Secured Collaboration (DMSC)</b></h2><p data-block-key=\"ft460\"><b>When:</b> Wednesday, 22 July 2026, 09:00–11:00 CEST</p><p data-block-key=\"8co46\"><a href=\"https://datatracker.ietf.org/wg/dmsc/about/\">DMSC</a>—a non-Working Group-forming BoF—will explore interoperable protocols and mechanisms for AI Agent Gateway-mediated collaboration, including agent capability exposure, request forwarding, coordination, synchronization, policy control, observability, and secure communication. DMSC will profile existing and evolving mechanisms that are defined elsewhere, identifying any gaps and the potential benefits of a formal definition of an AI agent gateway model to enable dynamic collaboration among AI agents. An active discussion is already underway on the <a href=\"https://mailman3.ietf.org/mailman3/lists/dmsc.ietf.org/\">DMSC mailing list</a>, and available through the <a href=\"https://mailarchive.ietf.org/arch/browse/dmsc/\">email list archive</a>.</p></div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Agent Communication Protocols (agentproto)</b></h2><p data-block-key=\"7niju\"><b>When:</b> Thursday, 23 July 2026, 09:00–11:00 CEST</p><p data-block-key=\"4fhhp\">The past year has seen a rush of competing, overlapping protocols for connecting AI agents to one another and to the tools they use—Model Context Protocol (MCP), Agent2Agent (A2A), the Agent Communication Protocol (ACP), the Agent Network Protocol (ANP), and more—alongside a growing number of related Internet-Drafts. The <a href=\"https://datatracker.ietf.org/wg/agentproto/about/\">agentproto BoF</a> brings that conversation into the IETF. Building on a well-attended IETF 124 side meeting and the framework, use-cases, and requirements work led by Jonathan Rosenberg and Cullen Jennings, the session aims to identify which building blocks of agent-to-agent and agent-to-tool communication genuinely need to be standardized, with a view toward chartering a Working Group to take that work forward. The <a href=\"https://mailman3.ietf.org/mailman3/lists/agent2agent@ietf.org/\">mailing list</a> and <a href=\"https://mailarchive.ietf.org/arch/browse/agent2agent/\">archives</a> are a good place to catch up on discussions in advance of the BoF.</p></div>\n<div class=\"w-block-paragraph block-paragraph\"><h2 data-block-key=\"b6c5p\"><b>Take part in IETF 126</b></h2><p data-block-key=\"bktkp\">BoFs are a great entry point for anyone who wants to help shape what the IETF works on next—whether you are a long-time participant or attending your first meeting. To join the discussions in Vienna, or to participate remotely, <a href=\"https://www.ietf.org/meeting/register/\">register for IETF 126</a>. Agendas and session materials are posted close to each session, so check the <a href=\"https://datatracker.ietf.org/meeting/126/agenda\">IETF Datatracker</a> for the latest details.</p></div>\n\n                        \n                        <hr>\n                    </div>\n\n                    <div class=\"px-3 px-xl-5 mt-5 mb-5\">\n                        \n\n\n\n\n    \n    <h2 class=\"h4\">Share this page</h2>\n\n    <a\n        class=\"me-2 h2\"\n        title=\"Share on LinkedIn\"\n        href=\"https://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A//www.ietf.org/blog/ietf126-bofs/&amp;title=Birds%20of%20a%20Feather%20at%20IETF%20126&amp;summary=The%20IETF%20126%20Vienna%20meeting%20takes%20place%2018%E2%80%9324%20July%202026.%20As%20at%20every%20IETF%20meeting%2C%20alongside%20the%20established%20Working%20Groups%20there%20will%20be%20a%20handful%20of%20Birds-of-a-Feather%20%28BoF%29%20sessions%E2%80%94and%20these%20are%20often%20the%20most%20interesting%20place%20to%20watch%20where%20Internet%20standards%20work%20is%20heading%20next.&amp;source=IETF\"\n    ><i class=\"bi bi-linkedin\"></i></a><a\n        class=\"me-2 h2\"\n        aria-label=\"Share on Facebook\"\n        title=\"Share on Facebook\"\n        href=\"https://www.facebook.com/sharer/sharer.php?u=http%3A//www.ietf.org/blog/ietf126-bofs/\"\n    ><i class=\"bi bi-facebook\"></i></a><a\n        class=\"me-2 h2\"\n        title=\"Share on Bluesky\"\n        href=\"https://bsky.app/intent/compose?text=Birds%20of%20a%20Feather%20at%20IETF%20126%20http%3A//www.ietf.org/blog/ietf126-bofs/\"\n    ><i class=\"bi bi-bluesky\"></i></a>\n\n\n                    </div>\n                    <nav aria-label=\"blog\" class=\"row g-0 d-none d-lg-flex\">\n                        <div class=\"col-6 bg-primary p-4 ps-5 d-flex align-items-center\">\n                            <a class=\"text-white\" href=\"/blog/academic-journey/\">\n                                <p class=\"sub\">\n                                    <div class=\"h6 text-uppercase\">Previous</div>From Lab to RFC: A PhD Student&#x27;s Journey through the IETF\n                                </p>\n                            </a>\n                        </div>\n                        <div class=\"col-6 bg-secondary p-4 pe-5 d-flex align-items-center\">\n                            <a class=\"text-white\" href=\"/blog/ietf-community-survey-2025/\">\n                                <p class=\"sub\">\n                                    <div class=\"h6 text-uppercase\">Next</div>IETF Community Survey 2025\n                                </p>\n                            </a>\n                        </div>\n                    </nav>\n                </main>\n                <aside class=\"col-12 col-lg-4 flex-column bg-light d-none d-lg-flex\">\n                    \n\n<ul class=\"list-unstyled mb-0\">\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-community-survey-2025/\">IETF Community Survey 2025</a></h2>\n                <p class=\"card-text\">Each year the IETF Community Survey provides a comprehensive assessment of community demographics, engagement patterns, and perceptions of organizational effectiveness. The full report from the 2025 edition is now available.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/jay-daley/\">\n                    Jay Daley\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Executive Director</span>\n            \n        </li>\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/akanksha-gohil/\">\n                    Akanksha Gohil\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF LLC Research and Insights Analyst</span>\n            \n        </li>\n    \n    \n</ul>\n\n                14 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/academic-journey/\">From Lab to RFC: A PhD Student&#x27;s Journey through the IETF</a></h2>\n                <p class=\"card-text\">Martine Sophie Lenders has been regularly participating in the IETF for over a decade, starting with the IETF 93 meeting in Prague in 2015. She has authored several Internet-Drafts—two of which recently were published as RFCs—and at the same time works on a PhD at FU Berlin and as a research associate at TU Dresden. We asked a few questions about what her experience in the IETF has been like while pursuing an academic journey.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                1 Jul 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf126-new-topics/\">Suggested IETF 126 Sessions for Getting Familiar with New Topics</a></h2>\n                <p class=\"card-text\">These IETF 126 meeting sessions are likely to include discussions and proposals that are accessible to a broad range of Internet technologists whether they are new to the IETF or long-time participants.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n    \n</ul>\n\n                29 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/llc-board-retreat-2026/\">IETF LLC Board Retreat 2026</a></h2>\n                <p class=\"card-text\">The IETF Administration LLC Board of Directors held its annual retreat 29-30 April 2026 in Amsterdam. In addition to all Board members, the IETF Executive Director, the Director of Finance, and the Board Secretary were present. Here is a short summary of the main points we discussed.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                4 Jun 2026\n            </div>\n        </li>\n    \n        <li class=\"card border-bottom-0 bg-light\">\n            <div class=\"card-body\">\n                <h2 class=\"h4\"><a class=\"stretched-link\" href=\"/blog/ietf-llc-2025-annual-financial-audit/\">IETF Administration LLC 2025 Annual Financial Audit</a></h2>\n                <p class=\"card-text\">IETF Administration LLC Board of Directors received from external auditors the report of a clean result for its 2025 annual financial statement.</p>\n                <ul class=\"list-unstyled\" aria-label=\"Authors\">\n    \n        <li class=\"mb-3\">\n            <span class=\"d-inline-block\">\n                <a href=\"/blog/author/mirjam-kuehne/\">\n                    Mirjam Kühne\n                </a>\n            </span>\n            \n                <span class=\"ms-3 ps-3 d-inline-block border-start\">IETF Administration LLC Board Chair</span>\n            \n        </li>\n    \n    \n</ul>\n\n                26 May 2026\n            </div>\n        </li>\n    \n    <li class=\"card bg-light\">\n        <div class=\"card-body\">\n            <a class=\"stretched-link\" href=\"/blog/all/\">\n                Show all\n            </a>\n        </div>\n    </li>\n</ul>\n\n                </aside>\n            </div>\n        </div>\n    </div>\n    <nav aria-label=\"blog\" class=\"row g-0 d-lg-none\">\n        <div class=\"col-12 bg-primary p-4\">\n            <a class=\"text-white\" href=\"/blog/academic-journey/\">\n                <p>\n                    <div class=\"h6 text-uppercase\">Previous</div>From Lab to RFC: A PhD Student&#x27;s Journey through the IETF\n                </p>\n            </a>\n        </div>\n        <div class=\"col-12 bg-secondary p-4\">\n            <a class=\"text-white\" href=\"/blog/ietf-community-survey-2025/\">\n                <p>\n                    <div class=\"h6 text-uppercase\">Next</div>IETF Community Survey 2025\n                </p>\n            </a>\n        </div>\n    </nav>\n</div>\n\n <footer class=\"bg-dark text-light py-1\">\n    <div class=\"container my-5\">\n        <div class=\"row\">\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            About\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/about/introduction/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Introduction to the IETF\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/about/groups/iesg/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Internet Engineering Steering Group\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/administration/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Administration\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/policies/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Privacy and policies\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/contact/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Contact us\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"https://status.ietf.org\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            System status\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            Technologies\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/technologies/netmgmt/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Automated network management\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/technologies/iot/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            The Internet of Things\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/technologies/transport/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            New transport technology\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/technologies/security/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Security &amp; privacy\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/technologies/areas/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            IETF Areas\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            Meetings\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/upcoming/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Upcoming meetings\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/past/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Past meetings\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/hackathons/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            IETF Hackathons\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/preparation/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Preparing for an IETF Meeting\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/guide-ietf-meetings/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Guide to IETF Meetings\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            Process\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/process/process/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Guide to the IETF standards process\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/process/rfcs/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            About RFCs\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/process/new-work/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Bringing new work to the IETF\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            Participate\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/participate/get-started/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Getting started in the IETF\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/meeting/guide-ietf-meetings/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Guide to IETF Meetings\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/process/wgs/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Guide to IETF Working Groups\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/participate/lists/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Mailing lists\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n                <section class=\"col-lg\">\n                    <div class=\"border-bottom u-border-lg-bottom-0 border-light border-opacity-50\">\n                        <h4 class=\"my-0 py-4 fs-6\" role=\"button\" aria-expanded=\"false\">\n                            Support us\n                            <i class=\"bi bi-chevron-down\"></i>\n                        </h4>\n                        <ul class=\"list-unstyled opacity-75 d-grid gap-2\">\n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/support-us/why-support/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Why we need your support\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/support-us/sponsorship/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Meeting sponsorship\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/support-us/donate/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            Other ways to give\n                                        </a>\n                                    </li>\n                                \n                            \n                                \n                                    <li class=\"nav-item\">\n                                        <a\n                                            href=\"/support-us/donors/\"\n                                            class=\"link-underline-opacity-0 link-light fw-semibold lh-base\"\n                                        >\n                                            IETF financial supporters\n                                        </a>\n                                    </li>\n                                \n                            \n                        </ul>\n                    </div>\n                </section>\n            \n        </div>\n    </div>\n    <div class=\"container my-5\">\n        <div class=\"d-lg-flex justify-content-between align-items-start lh-1\">\n            <div class=\"d-flex fs-4 my-5 my-lg-0 ms-n2 my-5 me-3\">\n                \n                    <a class=\"d-block text-light px-2\" href=\"https://www.linkedin.com/company/internet-engineering-task-force/\" rel=\"me\" title=\"LinkedIn\">\n                        <i class=\"bi bi-linkedin\"></i>\n                    </a>\n                \n                    <a class=\"d-block text-light px-2\" href=\"https://www.facebook.com/ietf\" rel=\"me\" title=\"Facebook\">\n                        <i class=\"bi bi-facebook\"></i>\n                    </a>\n                \n                    <a class=\"d-block text-light px-2\" href=\"https://bsky.app/profile/ietf.org\" rel=\"me\" title=\"Bluesky\">\n                        <i class=\"bi bi-bluesky\"></i>\n                    </a>\n                \n                    <a class=\"d-block text-light px-2\" href=\"https://www.youtube.com/ietf\" rel=\"me\" title=\"YouTube\">\n                        <i class=\"bi bi-youtube\"></i>\n                    </a>\n                \n                    <a class=\"d-block text-light px-2\" href=\"https://github.com/ietf/\" rel=\"me\" title=\"GitHub\">\n                        <i class=\"bi bi-github\"></i>\n                    </a>\n                \n            </div>\n            <ul class=\"\n                row gx-0 column-gap-5 row-gap-3 justify-content-lg-end\n                my-5 my-lg-0\n                nav opacity-75\n            \">\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"/administration/overview/\" class=\"nav-link text-light fs-10 p-0\">\n                            IETF LLC\n                        </a>\n                    </li>\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"https://www.rfc-editor.org\" class=\"nav-link text-light fs-10 p-0\">\n                            RFC Editor\n                        </a>\n                    </li>\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"https://www.iana.org\" class=\"nav-link text-light fs-10 p-0\">\n                            IANA\n                        </a>\n                    </li>\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"https://www.iab.org\" class=\"nav-link text-light fs-10 p-0\">\n                            IAB\n                        </a>\n                    </li>\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"https://www.irtf.org\" class=\"nav-link text-light fs-10 p-0\">\n                            IRTF\n                        </a>\n                    </li>\n                \n                    <li class=\"nav-item col-auto py-0\">\n                        <a href=\"https://trustee.ietf.org\" class=\"nav-link text-light fs-10 p-0\">\n                            IETF Trust\n                        </a>\n                    </li>\n                \n            </ul>\n        </div>\n    </div>\n</footer>\n\n<script>\n[... document.querySelectorAll(\"footer section\")].forEach((section) => {\n    const heading = section.querySelector(\"h4\");\n    heading.addEventListener(\"click\", () => {\n        const expanded = section.classList.toggle(\"expanded\");\n        heading.setAttribute(\"aria-expanded\", expanded);\n    });\n});\n</script>\n<script>window.staticRoot = \"/static/dist/\";</script> \n<script>\n  var _paq = window._paq || [];\n  \n  _paq.push(['disableCookies']);\n  _paq.push(['trackPageView']);\n  _paq.push(['enableLinkTracking']);\n  (function() {\n    var u=\"//analytics.ietf.org/\";\n    _paq.push(['setTrackerUrl', u+'matomo.php']);\n    _paq.push(['setSiteId', 1]);\n    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);\n  })();\n</script>\n<noscript><p><img src=\"//analytics.ietf.org/matomo.php?idsite=1\" style=\"border:0;\" alt=\"\" /></p></noscript>\n<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML=\"window.__CF$cv$params={r:'a211dedb5b98938c',t:'MTc4NTA1MjgyNA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);\";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>","snapshot_chars":110940,"live_check":"changed"},{"url":"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto","committed_hash":"sha256:13474fa9cefa73091f0074d443ff54b62054c17b8b0d378f2d625bcc226294cb","committed_hash_short":"sha256:13474fa9…226294cb","mime_type":"text/html","committed_at":"2026-07-26T08:00:25.910498+00:00","content_snapshot":"<!DOCTYPE html><html lang=\"en\" dir=\"ltr\" class=\"__variable_bbcc58 __variable_948ce5 __variable_9ded40 __variable_3f4575 __variable_16cd69\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\"/><link rel=\"preload\" as=\"image\" href=\"https://www.facebook.com/tr?id=1937494190493436&amp;ev=PageView&amp;noscript=1\"/><link rel=\"stylesheet\" href=\"/_next/static/css/a78fa145c089ec40.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/838b9eb00883d6da.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/d7a984aa9a9fcc2c.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-7162da525ac05067.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\"/><script src=\"/_next/static/chunks/fd9d1056-3473d42f2c06b95a.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/2117-37ca1fb636a38c95.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-be3d940aef6bd3eb.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/5878-43bbacc376acddee.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/2957-135fdf77983e5820.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/7363-1b3fd7d0da0ebc28.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/4182-e96c5784a81e1858.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/8041-f3df4595b34e4e85.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/482-e3c47234496c384c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/app/%5Blang%5D/%5Bslug%5D/page-e0c122d0071f8e69.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/app/layout-4e6ae73d356025e1.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script src=\"/_next/static/chunks/app/not-found-a3276cd1dbc10332.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script><script async=\"\" src=\"https://www.googletagmanager.com/gtag/js?id=G-7LWRNQMJYQ\"></script><title>IETF Weighs an AI Agent Protocol Standard in 2026 | Nerd Level Tech</title><meta name=\"description\" content=\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\"/><link rel=\"canonical\" href=\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\"/><link rel=\"alternate\" hrefLang=\"en-US\" href=\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\"/><link rel=\"alternate\" hrefLang=\"ar-EG\" href=\"https://nerdleveltech.com/ar/ietf-ai-agent-protocol-standard-agentproto\"/><meta property=\"og:title\" content=\"IETF Weighs an AI Agent Protocol Standard in 2026\"/><meta property=\"og:description\" content=\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\"/><meta property=\"og:url\" content=\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\"/><meta property=\"og:image\" content=\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\"/><meta property=\"og:image:width\" content=\"1200\"/><meta property=\"og:image:height\" content=\"630\"/><meta property=\"og:image:alt\" content=\"IETF Weighs an AI Agent Protocol Standard in 2026\"/><meta property=\"og:type\" content=\"article\"/><meta property=\"article:published_time\" content=\"2026-07-24T00:00:00.000Z\"/><meta name=\"twitter:card\" content=\"summary_large_image\"/><meta name=\"twitter:title\" content=\"IETF Weighs an AI Agent Protocol Standard in 2026\"/><meta name=\"twitter:description\" content=\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\"/><meta name=\"twitter:image\" content=\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\"/><meta name=\"twitter:image:width\" content=\"1200\"/><meta name=\"twitter:image:height\" content=\"630\"/><meta name=\"twitter:image:alt\" content=\"IETF Weighs an AI Agent Protocol Standard in 2026\"/><link rel=\"icon\" href=\"/favicon.svg\" type=\"image/svg+xml\"/><link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\"/><meta name=\"next-size-adjust\"/><meta name=\"msvalidate.01\" content=\"63B94FDFC56A65B5E9E316E474AB9D0D\"/><link rel=\"alternate\" type=\"application/rss+xml\" title=\"NerdLevelTech — Articles\" href=\"/rss.xml\"/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"NerdLevelTech — Articles\" href=\"/atom.xml\"/><link rel=\"alternate\" type=\"application/rss+xml\" title=\"NerdLevelTech — Podcast\" href=\"/podcast.xml\"/><link rel=\"alternate\" type=\"application/rss+xml\" title=\"NerdLevelTech — Courses\" href=\"/courses-rss.xml\"/><link rel=\"alternate\" type=\"application/rss+xml\" title=\"NerdLevelTech — Remote Tech Jobs\" href=\"/jobs-rss.xml\"/><script>(() => {\n var t = localStorage.getItem('theme');\n var d = document.documentElement;\n if (t === 'dark' || (!t || t === 'system') && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n d.classList.add('dark');\n } else {\n d.classList.remove('dark');\n }\n try {\n var consent = localStorage.getItem('nlt-cookie-consent');\n if (consent) d.setAttribute('data-nlt-consent', consent);\n } catch (e) {}\n})();</script><script>(function(){\n  window.clarity = window.clarity || function(){ (window.clarity.q = window.clarity.q || []).push(arguments); };\n  var loaded = false;\n  function loadClarity() {\n    if (loaded) return;\n    loaded = true;\n    var s = document.createElement('script');\n    s.async = true;\n    s.src = 'https://www.clarity.ms/tag/uiskr3p74z';\n    document.head.appendChild(s);\n    ['scroll','click','mousemove','touchstart'].forEach(function(e){\n      document.removeEventListener(e, loadClarity);\n    });\n  }\n  if (document.readyState === 'complete') {\n    setTimeout(loadClarity, 3000);\n  } else {\n    window.addEventListener('load', function() { setTimeout(loadClarity, 3000); });\n  }\n  ['scroll','click','mousemove','touchstart'].forEach(function(e){\n    document.addEventListener(e, loadClarity, { once: true, passive: true });\n  });\n})();</script><script>\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n\n // Default consent to 'denied' for GDPR compliance (EU/EEA users)\n gtag('consent', 'default', {\n 'ad_storage': 'denied',\n 'ad_user_data': 'denied',\n 'ad_personalization': 'denied',\n 'analytics_storage': 'denied'\n });\n\n gtag('js', new Date());\n // Skip the initial config + pageview for admin routes. SPA navigations\n // away from /admin still work — AnalyticsListeners fires page_view on\n // route change for any non-admin path it sees next.\n if (!/^\\/admin(\\/|$)/.test(window.location.pathname)) {\n gtag('config', 'G-7LWRNQMJYQ');\n }\n\n // Check if user already consented and update consent accordingly\n try {\n var consent = localStorage.getItem('nlt-cookie-consent');\n if (consent === 'accepted') {\n gtag('consent', 'update', {\n 'ad_storage': 'granted',\n 'ad_user_data': 'granted',\n 'ad_personalization': 'granted',\n 'analytics_storage': 'granted'\n });\n }\n } catch(e) {}\n</script><script>(function(){\n var loaded = false;\n function loadBrevo() {\n if (loaded) return;\n loaded = true;\n var s = document.createElement('script');\n s.src = 'https://cdn.brevo.com/js/sdk-loader.js';\n s.async = true;\n s.onload = function() {\n window.Brevo = window.Brevo || [];\n Brevo.push([\"init\", { client_key:\"07ps0c5debu6rk7jhbq1fkyj\" }]);\n };\n document.head.appendChild(s);\n ['scroll','click','mousemove','touchstart'].forEach(function(e){\n document.removeEventListener(e, loadBrevo);\n });\n }\n if (document.readyState === 'complete') {\n setTimeout(loadBrevo, 3000);\n } else {\n window.addEventListener('load', function() { setTimeout(loadBrevo, 3000); });\n }\n ['scroll','click','mousemove','touchstart'].forEach(function(e){\n document.addEventListener(e, loadBrevo, { once: true, passive: true });\n });\n})();</script><script>(function(){\n  if (window.fbq) return;\n  var n = window.fbq = function(){ n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); };\n  if (!window._fbq) window._fbq = n;\n  n.push = n; n.loaded = true; n.version = '2.0'; n.queue = [];\n  fbq('init', '1937494190493436');\n  fbq('track', 'PageView');\n  var loaded = false;\n  function loadPixel() {\n    if (loaded) return;\n    loaded = true;\n    var s = document.createElement('script');\n    s.async = true;\n    s.src = 'https://connect.facebook.net/en_US/fbevents.js';\n    document.head.appendChild(s);\n    ['scroll','click','mousemove','touchstart'].forEach(function(e){\n      document.removeEventListener(e, loadPixel);\n    });\n  }\n  if (document.readyState === 'complete') {\n    setTimeout(loadPixel, 3000);\n  } else {\n    window.addEventListener('load', function() { setTimeout(loadPixel, 3000); });\n  }\n  ['scroll','click','mousemove','touchstart'].forEach(function(e){\n    document.addEventListener(e, loadPixel, { once: true, passive: true });\n  });\n})();</script><noscript><img height=\"1\" width=\"1\" style=\"display:none\" src=\"https://www.facebook.com/tr?id=1937494190493436&amp;ev=PageView&amp;noscript=1\" alt=\"\"/></noscript><script src=\"/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" noModule=\"\"></script><style id=\"__jsx-69e97639d407de6e\">.nlt-nav-link{padding:8px 14px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;font-size:16px;color:var(--txt-1);font-weight:500;text-decoration:none;-webkit-transition:color.2s ease,background.2s ease;-moz-transition:color.2s ease,background.2s ease;-o-transition:color.2s ease,background.2s ease;transition:color.2s ease,background.2s ease}.nlt-nav-link:hover{color:var(--txt-0);background:rgba(10,14,22,.04)}.dark .nlt-nav-link:hover{background:rgba(255,255,255,.04)}.nlt-icon-btn{width:38px;height:38px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;background:transparent;border:1px solid var(--line);color:var(--txt-1);-webkit-transition:all.2s ease;-moz-transition:all.2s ease;-o-transition:all.2s ease;transition:all.2s ease;text-decoration:none;cursor:pointer}.nlt-icon-btn:hover{color:var(--brand-300);border-color:var(--line-strong)}.nlt-avatar-btn{width:34px;height:34px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;background:-webkit-linear-gradient(315deg,var(--brand-500),var(--brand-700));background:-moz-linear-gradient(315deg,var(--brand-500),var(--brand-700));background:-o-linear-gradient(315deg,var(--brand-500),var(--brand-700));background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#001520;font-weight:700;font-size:13px;border:1px solid rgba(56,182,240,.4);cursor:pointer}.nlt-avatar-btn:hover{-webkit-box-shadow:0 0 0 4px rgba(56,182,240,.12);-moz-box-shadow:0 0 0 4px rgba(56,182,240,.12);box-shadow:0 0 0 4px rgba(56,182,240,.12)}.nlt-user-wrap{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.nlt-user-menu{position:absolute;top:46px;inset-inline-end:0;min-width:220px;padding:8px;background:var(--ink-2);border:1px solid var(--line-strong);-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;-webkit-box-shadow:0 30px 60px -20px rgba(0,0,0,.5);-moz-box-shadow:0 30px 60px -20px rgba(0,0,0,.5);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);z-index:60}.nlt-user-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.nlt-user-menu-item{display:block;width:100%;padding:8px 10px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;font-size:13px;color:var(--txt-1);background:transparent;border:0;font-family:inherit;text-align:start;cursor:pointer;text-decoration:none}.nlt-user-menu-item:hover{color:var(--txt-0);background:rgba(10,14,22,.04)}.dark .nlt-user-menu-item:hover{background:rgba(255,255,255,.04)}.nlt-user-menu-danger{color:#f87171}.nlt-user-menu-danger:hover{color:#fca5a5!important}.nlt-mobile-only.jsx-69e97639d407de6e{position:relative;display:none}.nlt-mobile-drawer{position:absolute;top:46px;inset-inline-end:0;min-width:240px;padding:8px;background:var(--ink-2);border:1px solid var(--line-strong);-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;-webkit-box-shadow:0 30px 60px -20px rgba(0,0,0,.5);-moz-box-shadow:0 30px 60px -20px rgba(0,0,0,.5);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);z-index:60}.nlt-mobile-nav{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.nlt-mobile-link{padding:10px 12px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;font-size:14px;color:var(--txt-1);background:transparent;border:0;font-family:inherit;text-align:start;cursor:pointer;text-decoration:none}.nlt-mobile-link:hover{color:var(--txt-0);background:rgba(10,14,22,.04)}.dark .nlt-mobile-link:hover{background:rgba(255,255,255,.04)}@media(max-width:980px){.nlt-nav-desk{display:none!important}.nlt-mobile-only.jsx-69e97639d407de6e{display:block}.nlt-signin-btn{display:none}}@media(max-width:540px){.nlt-topbar-root .nlt-btn-primary{padding:8px 12px!important;font-size:12.5px!important}}</style><style id=\"__jsx-6d81f11809c7f54d\">.nlt-foot.jsx-6d81f11809c7f54d{padding:64px 0 36px;border-top:1px solid var(--line);margin-top:40px}.nlt-foot-top.jsx-6d81f11809c7f54d{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:32px;padding-bottom:56px}@media(max-width:1080px){.nlt-foot-top.jsx-6d81f11809c7f54d{grid-template-columns:1fr 1fr 1fr}}@media(max-width:600px){.nlt-foot-top.jsx-6d81f11809c7f54d{grid-template-columns:1fr 1fr}}.nlt-foot-col ul{list-style:none;padding:0;margin:14px 0 0;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.nlt-foot-col a{color:var(--txt-1);font-size:13.5px;-webkit-transition:color.15s ease;-moz-transition:color.15s ease;-o-transition:color.15s ease;transition:color.15s ease;text-decoration:none}.nlt-foot-col a:hover{color:var(--brand-300)}.nlt-foot-bot.jsx-6d81f11809c7f54d{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid var(--line);-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.nlt-foot-socials.jsx-6d81f11809c7f54d{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:8px}.nlt-social{width:34px;height:34px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;background:var(--ink-2);border:1px solid var(--line);color:var(--txt-1);font-size:13px;font-weight:600;-webkit-transition:all.2s ease;-moz-transition:all.2s ease;-o-transition:all.2s ease;transition:all.2s ease;text-decoration:none}.nlt-social:hover{color:var(--brand-300);border-color:var(--brand-500)}.nlt-lang{padding:5px 10px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;background:transparent;border:1px solid var(--line);color:var(--txt-2);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;cursor:pointer}.nlt-lang.on{background:rgba(56,182,240,.12);color:var(--brand-300);border-color:rgba(56,182,240,.3)}.nlt-foot-pub.jsx-6d81f11809c7f54d{margin-top:22px;text-align:center}.nlt-foot-pub-link{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;color:var(--txt-3);text-decoration:none;-webkit-transition:color.15s ease;-moz-transition:color.15s ease;-o-transition:color.15s ease;transition:color.15s ease}.nlt-foot-pub-link:hover{color:var(--brand-300)}.nlt-foot-pub-brand{color:var(--txt-1);font-weight:600}.nlt-foot-pub-link:hover .nlt-foot-pub-brand{color:var(--brand-300)}</style></head><body class=\"nlt-newlook\"><script>(() => {\n var RTL_LANGS = ['ar', 'he', 'fa', 'ur'];\n var pathname = window.location.pathname;\n var langMatch = pathname.match(/^\\/([a-z]{2})(\\/|$)/);\n var lang = langMatch ? langMatch[1] : 'en';\n var isRTL = RTL_LANGS.indexOf(lang) !== -1;\n document.documentElement.dir = isRTL ? 'rtl' : 'ltr';\n document.documentElement.lang = lang;\n})();</script><div style=\"min-height:100vh;display:flex;flex-direction:column;background:var(--ink-1);color:var(--txt-0)\"><header style=\"position:sticky;top:0;z-index:50;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:all .25s ease\" class=\"jsx-69e97639d407de6e nlt-topbar-root\"><div style=\"display:flex;align-items:center;gap:16px;height:68px\" class=\"jsx-69e97639d407de6e nlt-shell\"><a style=\"display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit\" href=\"/\"><svg width=\"26\" height=\"26\" viewBox=\"0 0 80 80\" aria-hidden=\"true\"><defs><linearGradient id=\"nlt-bm\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#5ec8f7\"></stop><stop offset=\"100%\" stop-color=\"#1e96d4\"></stop></linearGradient></defs><circle cx=\"40\" cy=\"40\" r=\"30\" fill=\"url(#nlt-bm)\" opacity=\"0.18\"></circle><circle cx=\"40\" cy=\"40\" r=\"18\" fill=\"url(#nlt-bm)\"></circle><circle cx=\"46\" cy=\"34\" r=\"5\" fill=\"#fff\"></circle><path d=\"M8 14h12M60 14h12M8 66h12M60 66h12\" stroke=\"url(#nlt-bm)\" stroke-width=\"4\" stroke-linecap=\"round\"></path></svg><span style=\"font-weight:600;letter-spacing:-0.02em;font-size:16px;color:var(--txt-0)\">Nerd<em style=\"font-family:var(--f-display);font-style:italic;color:var(--accent-italic);margin:0 2px;font-weight:400\">Level</em>Tech</span></a><nav style=\"display:flex;gap:4px;margin-inline-start:16px\" class=\"jsx-69e97639d407de6e nlt-nav-desk\"><a class=\"nlt-nav-link\" href=\"/nerdo\">Nerdo</a><a class=\"nlt-nav-link\" href=\"/courses\">Courses</a><a class=\"nlt-nav-link\" href=\"/guides\">Guides</a><a class=\"nlt-nav-link\" href=\"/tools\">Tools</a><a class=\"nlt-nav-link\" href=\"/podcast\">Cast</a><a class=\"nlt-nav-link\" href=\"/jobs\">Jobs</a><a class=\"nlt-nav-link\" href=\"/posts\">Blog</a><a class=\"nlt-nav-link\" href=\"/trending\">Trending</a><a class=\"nlt-nav-link\" href=\"/posts?category=news\">News</a></nav><div style=\"flex:1\" class=\"jsx-69e97639d407de6e\"></div><button type=\"button\" aria-label=\"Search\" title=\"Search (⌘K)\" class=\"jsx-69e97639d407de6e nlt-icon-btn\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"jsx-69e97639d407de6e\"><circle cx=\"11\" cy=\"11\" r=\"7\" class=\"jsx-69e97639d407de6e\"></circle><path d=\"m20 20-3.5-3.5\" class=\"jsx-69e97639d407de6e\"></path></svg></button><button type=\"button\" aria-label=\"Switch to Arabic\" title=\"العربية\" style=\"font-weight:600;font-size:12px;letter-spacing:0.05em;font-family:system-ui, sans-serif\" class=\"jsx-69e97639d407de6e nlt-icon-btn\">ع</button><button aria-label=\"Toggle theme\" type=\"button\" class=\"jsx-69e97639d407de6e nlt-icon-btn\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"jsx-69e97639d407de6e\"><path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" class=\"jsx-69e97639d407de6e\"></path></svg></button><button type=\"button\" style=\"padding:8px 14px;font-size:13px\" class=\"jsx-69e97639d407de6e nlt-btn nlt-btn-ghost nlt-signin-btn\">Sign in</button><button type=\"button\" style=\"padding:10px 16px\" class=\"jsx-69e97639d407de6e nlt-btn nlt-btn-primary\">Start free<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" style=\"transform:none\" class=\"jsx-69e97639d407de6e\"><path d=\"M5 12h14M13 5l7 7-7 7\" class=\"jsx-69e97639d407de6e\"></path></svg></button><div class=\"jsx-69e97639d407de6e nlt-mobile-only\"><button type=\"button\" aria-label=\"Open menu\" aria-expanded=\"false\" class=\"jsx-69e97639d407de6e nlt-icon-btn\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"jsx-69e97639d407de6e\"><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" class=\"jsx-69e97639d407de6e\"></line><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" class=\"jsx-69e97639d407de6e\"></line><line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" class=\"jsx-69e97639d407de6e\"></line></svg></button></div></div></header><main class=\"nlt-shell nlt-main-shell\" style=\"flex:1;width:100%;min-width:0\"><div style=\"width:100%;min-width:0\"><script type=\"application/ld+json\">[{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"IETF Weighs an AI Agent Protocol Standard in 2026\",\"description\":\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\",\"image\":\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\",\"author\":{\"@type\":\"Person\",\"name\":\"Nerd Level Tech\",\"url\":\"https://nerdleveltech.com\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Nerd Level Tech\",\"url\":\"https://nerdleveltech.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://nerdleveltech.com/images/logo.png\",\"width\":512,\"height\":512}},\"datePublished\":\"2026-07-24T00:00:00.000Z\",\"dateModified\":\"2026-07-24T00:00:00.000Z\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\"},\"url\":\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\",\"keywords\":\"IETF, AI agent protocol, agentproto, MCP, A2A, agent interoperability, agentic ai\",\"articleSection\":\"ai-ml\"},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://nerdleveltech.com/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https://nerdleveltech.com/blog\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"IETF Weighs an AI Agent Protocol Standard in 2026\",\"item\":\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is the IETF standardizing AI agent protocols?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Not yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.1 A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.10 The authoritative outcome of the session is posted to the IETF Datatracker.\"}},{\"@type\":\"Question\",\"name\":\"What is the agentproto BoF at IETF 126?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Agentproto (Agent Communication Protocols) was a working-group-forming Birds-of-a-Feather session held Thursday, 23 July 2026, at IETF 126 in Vienna. It brought the fragmented landscape of agent protocols — MCP, A2A, ACP, ANP, and others — into the IETF to identify which building blocks genuinely need a standard, building on requirements work by Jonathan Rosenberg and Cullen Jennings.17\"}},{\"@type\":\"Question\",\"name\":\"How is MCP different from A2A?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"MCP is a client-server protocol connecting one agent to tools, data, and APIs; A2A is a peer-to-peer protocol letting agents discover each other's capabilities and delegate tasks.35 They are complementary rather than competing. What neither fully specifies is cross-domain identity federation and incident attribution when agents from different organizations interact without prior trust.7\"}},{\"@type\":\"Question\",\"name\":\"What would an IETF RFC add that MCP and A2A don't cover?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The framework behind agentproto argues that a standard is needed for cross-domain agent discovery and identity federation, lifecycle management of multi-hop delegation chains, human confirmation before irreversible actions, and protocol-level attribution for security incidents such as multi-agent prompt injection.7 These are inter-organizational guarantees that a single vendor's protocol is not positioned to define on its own.\"}},{\"@type\":\"Question\",\"name\":\"Why is prompt injection worse in multi-agent systems?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Because it can cascade. A user injects malicious input into Agent A that is aimed at Agent B; A relays it to B as normal operation, and B — trusting A — acts on it, bypassing A's defenses.7 OWASP already ranks prompt injection as the top risk for LLM applications; the multi-agent trust relationship adds a new path that application-level filters were not designed to catch.9 Footnotes\\n\\n\\n\\\"Birds of a Feather at IETF 126,\\\" IETF Blog, 2 July 2026 (BoF schedule, dates, and agentproto description). https://www.ietf.org/blog/ietf126-bofs/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7\\n\\n\\n\\\"Birds of a Feather (BOF),\\\" IETF process documentation, and \\\"Introduction to the IETF\\\" (rough consensus and running code). https://www.ietf.org/process/bofs/ ↩ ↩2 ↩3 ↩4\\n\\n\\n\\\"MCP joins the Agentic AI Foundation,\\\" Model Context Protocol Blog, 9 December 2025 (97 million monthly SDK downloads, 10,000 active servers, Linux Foundation donation). https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/ ↩ ↩2 ↩3\\n\\n\\n\\\"The 2026-07-28 MCP Specification Release Candidate,\\\" Model Context Protocol Blog. https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/ ↩\\n\\n\\n\\\"Google Cloud donates A2A to Linux Foundation,\\\" Google Developers Blog, 23 June 2025. https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/ ↩ ↩2\\n\\n\\n\\\"A year of open collaboration: Celebrating the anniversary of A2A,\\\" Google Open Source Blog, 16 April 2026 (\\\"over 100 technology companies now supporting the project\\\"; A2A announced 9 April 2025, donated 23 June 2025). https://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html ↩\\n\\n\\n\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-aiproto-framework-00, IETF (authors J. Rosenberg / Five9 and C. Jennings / Cisco; §3 requirements — Discovery, Lifecycle Management, Authentication and Authorization, User Confirmation; \\\"Prompt injection attacks are notoriously difficult to prevent\\\"). This individual Internet-Draft is expired and \\\"has no formal standing in the IETF standards process.\\\" Full text: https://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt — status: https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10\\n\\n\\n\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-agentproto-usecases (the current, active revision). https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/ ↩\\n\\n\\n\\\"OWASP Top 10 for LLM Applications 2025,\\\" LLM01: Prompt Injection. https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf ↩ ↩2\\n\\n\\n\\\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting,\\\" Tech Times, 18 July 2026 (BoF-to-RFC timeline framing and framework summary). https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm ↩ ↩2\"}}]}]</script><div class=\"lg:grid lg:grid-cols-[auto_minmax(0,1fr)_17.5rem] lg:gap-8\" dir=\"ltr\"><aside class=\"hidden lg:block w-14\"><div class=\"sticky top-32 flex flex-col items-center gap-4\"><div class=\"flex flex-col items-center gap-4 rounded-2xl border border-[var(--line)] bg-[color:var(--ink-2)] px-3 py-3 shadow-[0_20px_40px_-30px_rgba(15,23,42,0.45)] dark:border-[var(--line)] dark:bg-[color:var(--ink-1)]\"><button class=\"group flex items-center justify-center rounded-full bg-[color:var(--ink-2)] p-3 shadow-md backdrop-blur-sm transition-all duration-200 hover:bg-[color:var(--ink-2)] hover:shadow-lg hover:scale-110 dark:bg-[color:var(--ink-2)] dark:hover:bg-[color:var(--ink-4)]\" aria-label=\"Share this content\"><svg class=\"h-5 w-5 text-[color:var(--txt-2)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-3)]\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.367 2.684 3 3 0 00-5.367-2.684z\"></path></svg></button><span class=\"text-xs text-[color:var(--txt-2)]\">Share</span></div></div></aside><article class=\"prose dark:prose-invert max-w-none\"><div class=\"not-prose mb-3\"><span class=\"font-mono text-[11px] tracking-[0.18em] uppercase text-brand-300\">ai-ml</span></div><h1 class=\"nlt-h-display !mt-0 !mb-2\" style=\"font-size:clamp(32px, 4.6vw, 56px)\">IETF Weighs an AI Agent Protocol Standard in 2026</h1><div class=\"not-prose !mt-3 flex flex-wrap items-center gap-3\"><p class=\"font-mono text-[11px] tracking-[0.14em] uppercase text-[color:var(--txt-2)]\">July 24, 2026</p><div class=\"relative inline-flex \" dir=\"ltr\"><button type=\"button\" title=\"Bookmark\" aria-label=\"Bookmark this item\" aria-pressed=\"false\" class=\"inline-flex items-center gap-1 rounded-s-md border transition-colors disabled:opacity-50 h-7 px-2 border-[var(--line-strong)] bg-[color:var(--ink-2)] text-[color:var(--txt-2)] hover:border-brand-mid hover:text-brand-mid dark:border-[var(--line-strong)] dark:bg-[color:var(--ink-1)] dark:text-[color:var(--txt-3)]\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-bookmark h-3.5 w-3.5\" aria-hidden=\"true\"><path d=\"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z\"></path></svg><span class=\"text-xs\">Save</span></button><button type=\"button\" title=\"Choose collection\" aria-label=\"Choose collection\" class=\"inline-flex items-center justify-center rounded-e-md border border-s-0 transition-colors h-7 px-2 border-[var(--line-strong)] bg-[color:var(--ink-2)] text-[color:var(--txt-2)] hover:border-brand-mid hover:text-brand-mid dark:border-[var(--line-strong)] dark:bg-[color:var(--ink-1)] dark:text-[color:var(--txt-3)]\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-down h-3.5 w-3.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg></button></div></div><div class=\"not-prose mt-2 flex flex-wrap gap-2\"><a aria-label=\"Tag IETF\" href=\"/tags/ietf\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->IETF</span></a><a aria-label=\"Tag AI agent protocol\" href=\"/tags/ai-agent-protocol\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->AI agent protocol</span></a><a aria-label=\"Tag agentproto\" href=\"/tags/agentproto\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->agentproto</span></a><a aria-label=\"Tag MCP\" href=\"/tags/mcp\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->MCP</span></a><a aria-label=\"Tag A2A\" href=\"/tags/a2a\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->A2A</span></a><a aria-label=\"Tag agent interoperability\" href=\"/tags/agent-interoperability\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->agent interoperability</span></a><a aria-label=\"Tag agentic ai\" href=\"/tags/agentic-ai\"><span class=\"inline-flex items-center rounded-full px-3 py-1 font-mono text-[10.5px] uppercase tracking-[0.16em] text-brand-300 bg-brand-500/10 border border-brand-500/20 hover:bg-brand-500/16 transition-colors\">#<!-- -->agentic ai</span></a></div><div class=\"not-prose mt-7\"><div class=\"relative overflow-hidden rounded-2xl bg-[color:var(--ink-3)] border border-[var(--line)] pb-[56%]\"><img alt=\"IETF Weighs an AI Agent Protocol Standard in 2026\" loading=\"lazy\" decoding=\"async\" data-nimg=\"fill\" class=\"absolute inset-0 h-full w-full object-cover\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" src=\"/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\"/></div></div><div class=\"not-prose mt-6 lg:hidden\"><button class=\"group flex items-center justify-center rounded-full bg-[color:var(--ink-2)] p-2 shadow-md backdrop-blur-sm transition-all duration-200 hover:bg-[color:var(--ink-2)] hover:shadow-lg hover:scale-110 dark:bg-[color:var(--ink-2)] dark:hover:bg-[color:var(--ink-4)] justify-center rounded-full border border-[var(--line)] bg-[color:var(--ink-2)] px-4 py-2 shadow-sm dark:border-[var(--line)] dark:bg-[color:var(--ink-1)]\" aria-label=\"Share this content\"><svg class=\"h-4 w-4 text-[color:var(--txt-2)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-3)]\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.367 2.684 3 3 0 00-5.367-2.684z\"></path></svg></button></div><div class=\"lg:hidden\"><aside class=\"not-prose mb-8 rounded-lg border border-[var(--line)] bg-[color:var(--ink-2)] p-4\" dir=\"ltr\"><div class=\"text-sm font-semibold mb-2 brand-text\" style=\"text-align:left\">Table of contents</div><nav aria-label=\"Table of contents\"><ul class=\"space-y-0.5\"><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#what-youll-learn\">What you&#x27;ll learn</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#what-happened-at-the-agentproto-bof\">What happened at the agentproto BoF</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#why-it-is-rough-consensus-not-a-vote\">Why it is rough consensus, not a vote</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#mcp-vs-a2a-two-layers-one-missing-piece\">MCP vs A2A: two layers, one missing piece</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#the-problems-the-framework-says-still-need-a-standard\">The problems the framework says still need a standard</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#why-prompt-injection-is-the-security-test\">Why prompt injection is the security test</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#the-realistic-timeline--and-what-to-watch\">The realistic timeline — and what to watch</a></li></ul></nav></aside></div><div class=\"mt-6\"><html><head></head><body><p><strong>In one line:</strong> At IETF 126 in Vienna this week, a Birds-of-a-Feather session called agentproto asked whether the internet's standards body should define how AI agents talk to each other across organizations — the gap that today's dominant protocols, MCP and A2A, leave open.<sup><a href=\"#user-content-fn-1\" id=\"user-content-fnref-1\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">1</a></sup></p>\n<p><strong>TL;DR:</strong> For more than a year, vendors shipped competing AI agent protocols — Anthropic's MCP, Google's A2A, and several more — and none of them cleared the one bar that makes a protocol interoperable across organizational boundaries: an IETF RFC. On Thursday, July 23, the agentproto Birds-of-a-Feather (BoF) session at IETF 126 in Vienna brought that question into the Internet Engineering Task Force, with a view toward chartering a Working Group.<sup><a href=\"#user-content-fn-1\" id=\"user-content-fnref-1-2\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">1</a></sup> This is not a vote and not a product launch; the IETF works by rough consensus, and any resulting standard is years away.<sup><a href=\"#user-content-fn-2\" id=\"user-content-fnref-2\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">2</a></sup> What is genuinely new is that agent-to-agent communication is now being treated as an internet-infrastructure problem, not just a vendor feature.</p>\n<h2 id=\"what-youll-learn\"><a class=\"anchor\" href=\"#what-youll-learn\">What you'll learn</a></h2>\n<ul>\n<li>What happened at the agentproto BoF at IETF 126, and what a \"Birds-of-a-Feather\" session actually decides</li>\n<li>Why the IETF works by rough consensus rather than a vote — and why that framing matters here</li>\n<li>How MCP and A2A differ, and the interoperability gap neither one closes</li>\n<li>The specific problems the underlying framework draft says still need a standard</li>\n<li>Why prompt injection is the security test any agent protocol standard has to pass</li>\n<li>The realistic timeline from a BoF to a published RFC, and what to watch next</li>\n</ul>\n<h2 id=\"what-happened-at-the-agentproto-bof\"><a class=\"anchor\" href=\"#what-happened-at-the-agentproto-bof\">What happened at the agentproto BoF</a></h2>\n<p>The IETF 126 meeting ran 18–24 July 2026 in Vienna, and among the established Working Group sessions the organization scheduled five Birds-of-a-Feather sessions — early, community-wide discussions about work that might be ready for the IETF to take on.<sup><a href=\"#user-content-fn-1\" id=\"user-content-fnref-1-3\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">1</a></sup> Three of the five touched AI agents directly. The one with the highest stakes for anyone building multi-agent systems was <strong>agentproto</strong> (Agent Communication Protocols), held Thursday, 23 July, 09:00–11:00 CEST.<sup><a href=\"#user-content-fn-1\" id=\"user-content-fnref-1-4\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">1</a></sup></p>\n<p>The IETF's own framing is precise: the past year produced \"a rush of competing, overlapping protocols for connecting AI agents to one another and to the tools they use — Model Context Protocol (MCP), Agent2Agent (A2A), the Agent Communication Protocol (ACP), the Agent Network Protocol (ANP), and more.\" The agentproto session, it says, \"brings that conversation into the IETF,\" building on a well-attended IETF 124 side meeting and on framework and requirements work led by Jonathan Rosenberg and Cullen Jennings, \"with a view toward chartering a Working Group to take that work forward.\"<sup><a href=\"#user-content-fn-1\" id=\"user-content-fnref-1-5\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">1</a></sup></p>\n<p>That phrase — <em>chartering a Working Group</em> — is the actual object of the meeting. A BoF is not where a standard gets written. It is where the community decides whether there is enough consensus, energy, and a tight enough scope to justify starting the multi-year process that eventually produces one.<sup><a href=\"#user-content-fn-2\" id=\"user-content-fnref-2-2\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">2</a></sup></p>\n<h2 id=\"why-it-is-rough-consensus-not-a-vote\"><a class=\"anchor\" href=\"#why-it-is-rough-consensus-not-a-vote\">Why it is rough consensus, not a vote</a></h2>\n<p>It is tempting to describe Thursday's session as a vote on an IETF AI agent protocol standard. That is the wrong mental model, and the distinction is not pedantic. The IETF does not decide by counting ballots. It decides by \"rough consensus and running code\" — a working agreement in the room and on the mailing list, backed by implementations that actually run.<sup><a href=\"#user-content-fn-2\" id=\"user-content-fnref-2-3\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">2</a></sup> A BoF that is \"working-group-forming,\" as agentproto aims to be, succeeds when it demonstrates that a coherent problem and a willing community exist; it can just as easily send the work back to the mailing list if the discussion reveals too much disagreement about scope.<sup><a href=\"#user-content-fn-2\" id=\"user-content-fnref-2-4\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">2</a></sup></p>\n<p>This is why an IETF outcome carries weight that a vendor announcement does not. The RFCs that came out of this process define TLS, DNS, and the transport underneath modern web traffic, and they endure precisely because they were not imposed by one company. If the IETF eventually charters an agent-protocol Working Group, it is asserting that <strong>an IETF AI agent protocol standard</strong> belongs in the same category as those foundational specifications — an internet-layer concern rather than a product-layer one. As of this writing, the formal result of Thursday's session — whether a Working Group is chartered — follows that consensus process; session materials and minutes are posted to the IETF Datatracker as they are finalized, and that is the authoritative place to confirm the outcome rather than early press summaries.</p>\n<h2 id=\"mcp-vs-a2a-two-layers-one-missing-piece\"><a class=\"anchor\" href=\"#mcp-vs-a2a-two-layers-one-missing-piece\">MCP vs A2A: two layers, one missing piece</a></h2>\n<p>To see why the IETF is interested at all, you have to see what the existing protocols do and do not cover. They are not really competitors so much as neighbors solving different halves of the problem.</p>\n<p><strong>MCP (Model Context Protocol)</strong> is a client-server protocol: an agent reaches out to a tool, database, or API and requests data or an action. Anthropic donated MCP to the Agentic AI Foundation — a directed fund under the Linux Foundation — on 9 December 2025, and by that point the protocol reported \"over 97 million monthly SDK downloads, 10,000 active servers,\" with first-class client support across ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot, and Visual Studio Code.<sup><a href=\"#user-content-fn-3\" id=\"user-content-fnref-3\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">3</a></sup> Its next revision, the 2026-07-28 spec, is the largest since launch and, among other things, realigns authorization with OAuth 2.1; we covered that change in depth in our write-up of <a href=\"/mcp-stateless-protocol-enterprise-authorization\">MCP's stateless 2026-07-28 spec</a>.<sup><a href=\"#user-content-fn-9\" id=\"user-content-fnref-9\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">4</a></sup></p>\n<p><strong>A2A (Agent2Agent)</strong> is a peer-to-peer protocol: two agents discover each other's capabilities and delegate tasks. Google donated A2A to the Linux Foundation on 23 June 2025 at Open Source Summit North America, with Amazon Web Services, Cisco, Microsoft, Salesforce, SAP, and ServiceNow among the founding members; the coalition has since grown to over 100 technology companies.<sup><a href=\"#user-content-fn-4\" id=\"user-content-fnref-4\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">5</a></sup><sup><a href=\"#user-content-fn-5\" id=\"user-content-fnref-5\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">6</a></sup> If you want the hands-on version of how agents advertise capabilities and hand off work, our <a href=\"/a2a-protocol-python-tutorial\">A2A protocol tutorial</a> walks through it.</p>\n<div data-ad-placement=\"post-in-article-mid\" class=\"not-prose my-8\"></div>\n\n<p>Here is the gap. MCP standardizes the agent-to-tool link. A2A standardizes the agent-to-agent link within a broadly cooperating ecosystem. Neither one fully specifies what happens when an agent in <em>your</em> organization needs to prove to an agent in <em>someone else's</em> organization that it is authorized to act on a user's behalf — and to do so in a way both sides can verify without a prior bilateral integration. That cross-domain, no-prior-trust case is exactly the territory internet standards exist to cover.</p>\n<h2 id=\"the-problems-the-framework-says-still-need-a-standard\"><a class=\"anchor\" href=\"#the-problems-the-framework-says-still-need-a-standard\">The problems the framework says still need a standard</a></h2>\n<p>The intellectual basis for agentproto is a framework and requirements document authored by Jonathan Rosenberg, of Five9, and Cullen Jennings, of Cisco.<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup> Rosenberg's involvement is a signal in itself: he is a lead author of RFC 3261, the Session Initiation Protocol that governs much of the internet's real-time voice and video. One procedural caveat worth stating plainly: an Internet-Draft is a proposal, not a standard. The datatracker attaches an explicit disclaimer that such drafts are \"not endorsed by the IETF\" and have \"no formal standing in the IETF standards process,\" and the early framework draft has already been superseded — the current document is <code>draft-rosenberg-agentproto-usecases</code>.<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6-2\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup><sup><a href=\"#user-content-fn-7\" id=\"user-content-fnref-7\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">8</a></sup></p>\n<p>With that caveat, the framework's argument is that today's protocols leave a short list of hard problems unsolved, and that these are the ones worth standardizing. Its requirements sections map to them directly: discovery (how agents find each other, especially across domains), authentication and authorization (how identity and credentials are federated so one organization's agent can be trusted by another's), lifecycle management (how a chain of delegated agents is managed across the life of a task), and user confirmation (how a human stays in the loop before an action such as booking a flight is committed).<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6-3\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup> The draft frames agent communication as a new application-layer concern — occupying the same tier of the internet stack as HTTP, SIP, and RTP do today.<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6-4\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup></p>\n<h2 id=\"why-prompt-injection-is-the-security-test\"><a class=\"anchor\" href=\"#why-prompt-injection-is-the-security-test\">Why prompt injection is the security test</a></h2>\n<p>The most concrete technical argument for standardizing this at the protocol layer is a security one, and it centers on prompt injection.</p>\n<p>In a single-agent system, prompt injection means a user crafts input that overrides the agent's instructions. OWASP ranks it as <strong>LLM01 — the number-one risk</strong> in its Top 10 for LLM Applications.<sup><a href=\"#user-content-fn-8\" id=\"user-content-fnref-8\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">9</a></sup> The multi-agent version is structurally worse. A malicious user can craft input for Agent A that is really aimed at Agent B, the agent that A calls next. Because A relays user content to B as part of normal operation, and because B trusts A, the injected instruction can ride the trust relationship straight past A's defenses.<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6-5\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup> The framework's position is blunt: prompt injection is notoriously difficult to prevent, so the protocol-level answer is not prevention but attribution — mechanisms for logging, diagnosis, and reconstructing which agent did what when an incident happens.<sup><a href=\"#user-content-fn-6\" id=\"user-content-fnref-6-6\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">7</a></sup></p>\n<p>That is a requirement no purely application-level defense can satisfy, because the attack crosses a boundary between two independently operated systems. It is also the clearest illustration of why \"just use MCP and A2A\" is not a complete answer: neither was designed to carry incident attribution across an inter-domain agent cascade.</p>\n<h2 id=\"the-realistic-timeline--and-what-to-watch\"><a class=\"anchor\" href=\"#the-realistic-timeline--and-what-to-watch\">The realistic timeline — and what to watch</a></h2>\n<p>Set expectations accordingly. The IETF process is deliberately slow: a proposal typically moves from a BoF, to a chartered Working Group, through multiple Internet-Draft revisions and reviews, to a published RFC — a path that commonly takes on the order of two to four years.<sup><a href=\"#user-content-fn-10\" id=\"user-content-fnref-10\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">10</a></sup> Nothing shipped in Vienna this week. What the meeting could produce is a decision to <em>start</em>, and that decision then shapes what the RFC pipeline looks like in 2027 and 2028.</p>\n<p>The strategic question underneath is whether an open IETF AI agent protocol standard will define inter-domain agent communication, or whether the market-dominant protocols will harden into de facto standards by deployment momentum alone. MCP's 97-million-downloads-a-month adoption is a real gravitational field, and it is entirely possible that the practical baseline gets set by what is already deployed rather than by what the IETF eventually blesses.<sup><a href=\"#user-content-fn-3\" id=\"user-content-fnref-3-2\" data-footnote-ref=\"\" aria-describedby=\"footnote-label\">3</a></sup> The tension between those two outcomes is the story worth following. It is also the same interoperability-versus-lock-in tension that regulators are pressing from a different direction, as we covered in <a href=\"/eu-android-ai-agent-interoperability-dma\">the EU's push for AI agent interoperability under the DMA</a>.</p>\n<p>For now, the honest status is: the conversation has arrived at the IETF, the problem statement is well-formed, and the outcome of Thursday's session is a matter of public record on the IETF Datatracker rather than of speculation.</p>\n\n\n\n\n\n\n\n\n\n\n\n</div><div class=\"not-prose\"><section class=\"mt-12 pt-8 border-t border-[var(--line-strong)]\"><h2 id=\"faq\" class=\"text-2xl font-bold text-[color:var(--txt-0)] mb-6\">Frequently Asked Questions</h2><div class=\"bg-[color:var(--ink-2)] rounded-xl p-6\"><div class=\"border-b border-[var(--line-strong)] last:border-0\"><button class=\"w-full py-4 flex items-center justify-between text-left hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors\" aria-expanded=\"true\"><span class=\"font-medium text-[color:var(--txt-0)] pr-4\">Is the IETF standardizing AI agent protocols?</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-up w-5 h-5 flex-shrink-0 text-[color:var(--txt-2)]\" aria-hidden=\"true\"><path d=\"m18 15-6-6-6 6\"></path></svg></button><div class=\"pb-4 text-[color:var(--txt-2)] leading-relaxed\">Not yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.1 A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.10 The authoritative outcome of the session is posted to the IETF Datatracker.</div></div><div class=\"border-b border-[var(--line-strong)] last:border-0\"><button class=\"w-full py-4 flex items-center justify-between text-left hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors\" aria-expanded=\"false\"><span class=\"font-medium text-[color:var(--txt-0)] pr-4\">What is the agentproto BoF at IETF 126?</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-down w-5 h-5 flex-shrink-0 text-[color:var(--txt-2)]\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg></button></div><div class=\"border-b border-[var(--line-strong)] last:border-0\"><button class=\"w-full py-4 flex items-center justify-between text-left hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors\" aria-expanded=\"false\"><span class=\"font-medium text-[color:var(--txt-0)] pr-4\">How is MCP different from A2A?</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-down w-5 h-5 flex-shrink-0 text-[color:var(--txt-2)]\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg></button></div><div class=\"border-b border-[var(--line-strong)] last:border-0\"><button class=\"w-full py-4 flex items-center justify-between text-left hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors\" aria-expanded=\"false\"><span class=\"font-medium text-[color:var(--txt-0)] pr-4\">What would an IETF RFC add that MCP and A2A don&#x27;t cover?</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-down w-5 h-5 flex-shrink-0 text-[color:var(--txt-2)]\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg></button></div><div class=\"border-b border-[var(--line-strong)] last:border-0\"><button class=\"w-full py-4 flex items-center justify-between text-left hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors\" aria-expanded=\"false\"><span class=\"font-medium text-[color:var(--txt-0)] pr-4\">Why is prompt injection worse in multi-agent systems?</span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-chevron-down w-5 h-5 flex-shrink-0 text-[color:var(--txt-2)]\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"></path></svg></button></div></div></section></div><hr class=\"not-prose my-10 border-[var(--line)]\"/><nav class=\"not-prose flex justify-between text-sm text-[color:var(--txt-2)]\"><div><a class=\"hover:text-[color:var(--txt-0)] dark:hover:text-[color:var(--txt-1)] transition-colors\" href=\"/microsoft-agent-framework-go-google-adk\"><span class=\"\">←</span> <!-- -->Previous</a></div><div><a class=\"hover:text-[color:var(--txt-0)] dark:hover:text-[color:var(--txt-1)] transition-colors\" href=\"/pinecone-nexus-knowledge-engine-rag-agents\">Next<!-- --> <span class=\"\">→</span></a></div></nav></article><aside class=\"hidden lg:block\"><div class=\"sticky top-24 space-y-6\"><aside class=\"not-prose mb-8 rounded-lg border border-[var(--line)] bg-[color:var(--ink-2)] p-4\" dir=\"ltr\"><div class=\"text-sm font-semibold mb-2 brand-text\" style=\"text-align:left\">Table of contents</div><nav aria-label=\"Table of contents\"><ul class=\"space-y-0.5\"><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#what-youll-learn\">What you&#x27;ll learn</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#what-happened-at-the-agentproto-bof\">What happened at the agentproto BoF</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#why-it-is-rough-consensus-not-a-vote\">Why it is rough consensus, not a vote</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#mcp-vs-a2a-two-layers-one-missing-piece\">MCP vs A2A: two layers, one missing piece</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#the-problems-the-framework-says-still-need-a-standard\">The problems the framework says still need a standard</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#why-prompt-injection-is-the-security-test\">Why prompt injection is the security test</a></li><li><a class=\"flex min-h-[44px] items-center text-sm hover:underline text-[color:var(--txt-1)] rounded-md hover:bg-[color:var(--ink-3)] px-2 -mx-2 transition-colors pl-2\" href=\"#the-realistic-timeline--and-what-to-watch\">The realistic timeline — and what to watch</a></li></ul></nav></aside></div></aside></div><div class=\"mx-auto max-w-3xl px-4\"><section class=\"mt-16 border-t border-[var(--line)] pt-10 dark:border-[var(--line)]\" dir=\"ltr\"><div class=\"mb-6 flex items-center gap-3\"><div class=\"h-8 w-1 rounded-full bg-gradient-to-b from-brand-begin to-brand-end\"></div><div><p class=\"text-xs font-medium uppercase tracking-wider text-[color:var(--txt-2)]\">Continue Learning</p><h2 class=\"text-xl font-bold text-[color:var(--txt-0)]\">Related Posts</h2></div></div><div class=\"grid grid-cols-1 gap-4 sm:grid-cols-2\"><a class=\"group flex gap-4 rounded-xl border border-[var(--line)] bg-[color:var(--ink-2)] p-3 transition-all hover:border-brand-mid/50 hover:shadow-lg hover:shadow-brand-mid/10 dark:border-[var(--line)] dark:bg-[color:var(--ink-1)] dark:hover:border-brand-mid/40\" href=\"/claude-adobe-creativity-connector-50-creative-cloud-tools\"><div class=\"relative h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-[color:var(--ink-3)]\"><img alt=\"Adobe + Claude: 50+ Creative Tools From One Prompt\" loading=\"lazy\" decoding=\"async\" data-nimg=\"fill\" class=\"object-cover transition-transform group-hover:scale-105\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" src=\"/images/placeholders/cover-general.svg\"/></div><div class=\"flex flex-1 flex-col justify-center overflow-hidden\"><h3 class=\"line-clamp-2 text-sm font-semibold text-[color:var(--txt-0)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-0)]\">Adobe + Claude: 50+ Creative Tools From One Prompt</h3><div class=\"mt-1.5 flex flex-wrap gap-1\"><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">claude</span><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">adobe</span></div></div></a><a class=\"group flex gap-4 rounded-xl border border-[var(--line)] bg-[color:var(--ink-2)] p-3 transition-all hover:border-brand-mid/50 hover:shadow-lg hover:shadow-brand-mid/10 dark:border-[var(--line)] dark:bg-[color:var(--ink-1)] dark:hover:border-brand-mid/40\" href=\"/claude-managed-agents-deploy-ai-agents-faster\"><div class=\"relative h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-[color:var(--ink-3)]\"><img alt=\"Claude Managed Agents: Build Production AI Agents in Days\" loading=\"lazy\" decoding=\"async\" data-nimg=\"fill\" class=\"object-cover transition-transform group-hover:scale-105\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" src=\"/images/placeholders/cover-general.svg\"/></div><div class=\"flex flex-1 flex-col justify-center overflow-hidden\"><h3 class=\"line-clamp-2 text-sm font-semibold text-[color:var(--txt-0)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-0)]\">Claude Managed Agents: Build Production AI Agents in Days</h3><div class=\"mt-1.5 flex flex-wrap gap-1\"><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">anthropic</span><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">claude</span></div></div></a><a class=\"group flex gap-4 rounded-xl border border-[var(--line)] bg-[color:var(--ink-2)] p-3 transition-all hover:border-brand-mid/50 hover:shadow-lg hover:shadow-brand-mid/10 dark:border-[var(--line)] dark:bg-[color:var(--ink-1)] dark:hover:border-brand-mid/40\" href=\"/pinecone-nexus-knowledge-engine-rag-agents\"><div class=\"relative h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-[color:var(--ink-3)]\"><img alt=\"Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\" loading=\"lazy\" decoding=\"async\" data-nimg=\"fill\" class=\"object-cover transition-transform group-hover:scale-105\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" src=\"/images/covers/pinecone-nexus-knowledge-engine-rag-agents.jpg\"/></div><div class=\"flex flex-1 flex-col justify-center overflow-hidden\"><h3 class=\"line-clamp-2 text-sm font-semibold text-[color:var(--txt-0)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-0)]\">Pinecone Nexus: Is RAG Ending for AI Agents? (2026)</h3><div class=\"mt-1.5 flex flex-wrap gap-1\"><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">Pinecone Nexus</span><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">knowledge engine</span></div></div></a><a class=\"group flex gap-4 rounded-xl border border-[var(--line)] bg-[color:var(--ink-2)] p-3 transition-all hover:border-brand-mid/50 hover:shadow-lg hover:shadow-brand-mid/10 dark:border-[var(--line)] dark:bg-[color:var(--ink-1)] dark:hover:border-brand-mid/40\" href=\"/prompt-optimization-ai-agents-gepa\"><div class=\"relative h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-[color:var(--ink-3)]\"><img alt=\"Prompt Optimization for AI Agents: GEPA and DSPy (2026)\" loading=\"lazy\" decoding=\"async\" data-nimg=\"fill\" class=\"object-cover transition-transform group-hover:scale-105\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" src=\"/images/covers/prompt-optimization-ai-agents-gepa.jpg\"/></div><div class=\"flex flex-1 flex-col justify-center overflow-hidden\"><h3 class=\"line-clamp-2 text-sm font-semibold text-[color:var(--txt-0)] transition-colors group-hover:text-brand-mid dark:text-[color:var(--txt-0)]\">Prompt Optimization for AI Agents: GEPA and DSPy (2026)</h3><div class=\"mt-1.5 flex flex-wrap gap-1\"><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">prompt optimization</span><span class=\"rounded bg-[color:var(--ink-3)] px-1.5 py-0.5 text-xs text-[color:var(--txt-2)] dark:bg-[color:var(--ink-2)] dark:text-[color:var(--txt-3)]\">GEPA</span></div></div></a></div></section></div></div></main><div class=\"nlt-shell\" style=\"padding-bottom:24px\"></div><footer class=\"jsx-6d81f11809c7f54d nlt-foot\"><div class=\"jsx-6d81f11809c7f54d nlt-shell\"><div class=\"jsx-6d81f11809c7f54d nlt-foot-top\"><div class=\"jsx-6d81f11809c7f54d nlt-foot-brand\"><a style=\"display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit\" href=\"/\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 80 80\" aria-hidden=\"true\"><defs><linearGradient id=\"nlt-bm\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#5ec8f7\"></stop><stop offset=\"100%\" stop-color=\"#1e96d4\"></stop></linearGradient></defs><circle cx=\"40\" cy=\"40\" r=\"30\" fill=\"url(#nlt-bm)\" opacity=\"0.18\"></circle><circle cx=\"40\" cy=\"40\" r=\"18\" fill=\"url(#nlt-bm)\"></circle><circle cx=\"46\" cy=\"34\" r=\"5\" fill=\"#fff\"></circle><path d=\"M8 14h12M60 14h12M8 66h12M60 66h12\" stroke=\"url(#nlt-bm)\" stroke-width=\"4\" stroke-linecap=\"round\"></path></svg><span style=\"font-weight:600;letter-spacing:-0.02em;font-size:18px;color:var(--txt-0)\">Nerd<em style=\"font-family:var(--f-display);font-style:italic;color:var(--accent-italic);margin:0 2px;font-weight:400\">Level</em>Tech</span></a><p style=\"margin-top:14px;color:var(--txt-1);max-width:320px;font-size:13.5px;line-height:1.55\" class=\"jsx-6d81f11809c7f54d\">The AI tutor that levels up with you. Independent, multilingual, made by builders for builders.</p><div style=\"display:flex;gap:8px;margin-top:18px\" class=\"jsx-6d81f11809c7f54d\"><button type=\"button\" class=\"jsx-6d81f11809c7f54d nlt-lang on\">EN</button><button type=\"button\" class=\"jsx-6d81f11809c7f54d nlt-lang\">AR</button></div></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-col\"><div class=\"jsx-6d81f11809c7f54d nlt-eyebrow\">Learn</div><ul class=\"jsx-6d81f11809c7f54d\"><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/courses\">Courses</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/guides\">Guides</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tutorials\">Tutorials</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/courses/paths\">Roadmaps</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/certificates\">Certificates</a></li></ul></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-col\"><div class=\"jsx-6d81f11809c7f54d nlt-eyebrow\">Tools</div><ul class=\"jsx-6d81f11809c7f54d\"><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tools/resume-optimizer\">Resume Optimizer</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tools/regex-tester\">Regex Tester</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tools/api-response-mocker\">API Mocker</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tools/tech-pulse\">Tech Pulse</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tools\">All tools</a></li></ul></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-col\"><div class=\"jsx-6d81f11809c7f54d nlt-eyebrow\">Read</div><ul class=\"jsx-6d81f11809c7f54d\"><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/posts\">Blog</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/posts?category=news\">News</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/podcast\">AI Cast</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/subscribe\">Newsletter</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/trending\">Trending</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/tags\">Tags</a></li></ul></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-col\"><div class=\"jsx-6d81f11809c7f54d nlt-eyebrow\">Hire</div><ul class=\"jsx-6d81f11809c7f54d\"><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/jobs\">Jobs board</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/interview-prep\">Interview prep</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/for-agents\">For agents</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/jobs/post\">Post a job</a></li></ul></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-col\"><div class=\"jsx-6d81f11809c7f54d nlt-eyebrow\">Co.</div><ul class=\"jsx-6d81f11809c7f54d\"><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/about\">About</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/about\">Contact</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/privacy-policy\">Privacy</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/terms-of-service\">Terms</a></li><li class=\"jsx-6d81f11809c7f54d\"><a href=\"/rss.xml\">RSS</a></li></ul></div></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-bot\"><span style=\"color:var(--txt-3);font-size:11.5px\" class=\"jsx-6d81f11809c7f54d nlt-mono\">©<!-- --> <!-- -->2026<!-- --> <!-- -->NerdLevelTech · made with caffeine and curiosity</span><div class=\"jsx-6d81f11809c7f54d nlt-foot-socials\"><a href=\"https://www.instagram.com/nerdleveltech\" aria-label=\"Instagram\" title=\"Instagram\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"jsx-6d81f11809c7f54d nlt-social\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-instagram jsx-6d81f11809c7f54d\" aria-hidden=\"true\"><rect width=\"20\" height=\"20\" x=\"2\" y=\"2\" rx=\"5\" ry=\"5\"></rect><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"></path><line x1=\"17.5\" x2=\"17.51\" y1=\"6.5\" y2=\"6.5\"></line></svg></a><a href=\"https://www.linkedin.com/company/nerdleveltech\" aria-label=\"LinkedIn\" title=\"LinkedIn\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"jsx-6d81f11809c7f54d nlt-social\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-linkedin jsx-6d81f11809c7f54d\" aria-hidden=\"true\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"></path><rect width=\"4\" height=\"12\" x=\"2\" y=\"9\"></rect><circle cx=\"4\" cy=\"4\" r=\"2\"></circle></svg></a><a href=\"https://x.com/nerdleveltech\" aria-label=\"X\" title=\"X\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"jsx-6d81f11809c7f54d nlt-social\"><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\" class=\"jsx-6d81f11809c7f54d\" fill=\"currentColor\"><path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24h-6.66l-5.214-6.817L4.97 21.75H1.658l7.73-8.835L1.25 2.25h6.834l4.713 6.231L18.244 2.25Zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77Z\"></path></svg></a></div></div><div class=\"jsx-6d81f11809c7f54d nlt-foot-pub\"><a href=\"https://lumabyte.co\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"jsx-6d81f11809c7f54d nlt-foot-pub-link\">A <span class=\"jsx-6d81f11809c7f54d nlt-foot-pub-brand\">LumaByte</span> publication</a></div></div></footer><aside id=\"nlt-cookie-banner\" class=\"fixed inset-x-0 bottom-0 z-50 px-4 pb-6\" dir=\"ltr\"><div class=\"mx-auto max-w-4xl rounded-2xl border border-[var(--line-strong)] bg-[color:var(--ink-2)] p-5 shadow-2xl backdrop-blur\"><div class=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between \"><div class=\"text-sm text-[color:var(--txt-1)]\"><p class=\"font-medium text-[color:var(--txt-0)]\">Cookies help keep Nerd Level Tech running smoothly.</p><p class=\"mt-1 leading-relaxed text-xs sm:text-sm\">We use cookies for analytics (Google Analytics), to remember your theme preferences, and to improve our content. By accepting, you consent to analytics and personalized ads. You can decline or opt out at any time.</p></div><div class=\"flex flex-col gap-2 sm:flex-row sm:items-center \"><button type=\"button\" class=\"rounded-full bg-brand-500 px-4 py-2 text-xs font-semibold text-[#001520] shadow-[0_0_0_1px_rgba(255,255,255,0.06)_inset,0_18px_40px_-16px_var(--glow-strong)] transition-all hover:-translate-y-px hover:bg-brand-400\">Accept</button><button type=\"button\" class=\"rounded-full px-4 py-2 text-xs font-semibold text-[color:var(--txt-1)] transition hover:bg-[color:var(--ink-3)]\">Decline</button></div></div></div></aside><!--$--><!--/$--><!--$--><!--/$--></div><script src=\"/_next/static/chunks/webpack-7162da525ac05067.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\" async=\"\"></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,\"1:HL[\\\"/_next/static/media/9cc5b37ab1350db7.p.woff2\\\",\\\"font\\\",{\\\"crossOrigin\\\":\\\"\\\",\\\"type\\\":\\\"font/woff2\\\"}]\\n2:HL[\\\"/_next/static/media/e4af272ccee01ff0.p.woff2\\\",\\\"font\\\",{\\\"crossOrigin\\\":\\\"\\\",\\\"type\\\":\\\"font/woff2\\\"}]\\n3:HL[\\\"/_next/static/media/e6099e249fd938cc.p.woff2\\\",\\\"font\\\",{\\\"crossOrigin\\\":\\\"\\\",\\\"type\\\":\\\"font/woff2\\\"}]\\n4:HL[\\\"/_next/static/css/a78fa145c089ec40.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"style\\\"]\\n5:HL[\\\"/_next/static/css/838b9eb00883d6da.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"style\\\"]\\n6:HL[\\\"/_next/static/css/d7a984aa9a9fcc2c.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"style\\\"]\\n\"])</script><script>self.__next_f.push([1,\"7:I[12846,[],\\\"\\\"]\\na:I[4707,[],\\\"\\\"]\\nd:I[36423,[],\\\"\\\"]\\n11:I[61060,[],\\\"\\\"]\\nb:[\\\"lang\\\",\\\"en\\\",\\\"d\\\"]\\nc:[\\\"slug\\\",\\\"ietf-ai-agent-protocol-standard-agentproto\\\",\\\"d\\\"]\\n12:[]\\n0:[\\\"$\\\",\\\"$L7\\\",null,{\\\"buildId\\\":\\\"yyrJfn-asRlx7UUbdUkPd\\\",\\\"assetPrefix\\\":\\\"\\\",\\\"urlParts\\\":[\\\"\\\",\\\"ietf-ai-agent-protocol-standard-agentproto\\\"],\\\"initialTree\\\":[\\\"\\\",{\\\"children\\\":[[\\\"lang\\\",\\\"en\\\",\\\"d\\\"],{\\\"children\\\":[[\\\"slug\\\",\\\"ietf-ai-agent-protocol-standard-agentproto\\\",\\\"d\\\"],{\\\"children\\\":[\\\"__PAGE__\\\",{}]}]}]},\\\"$undefined\\\",\\\"$undefined\\\",true],\\\"initialSeedData\\\":[\\\"\\\",{\\\"children\\\":[[\\\"lang\\\",\\\"en\\\",\\\"d\\\"],{\\\"children\\\":[[\\\"slug\\\",\\\"ietf-ai-agent-protocol-standard-agentproto\\\",\\\"d\\\"],{\\\"children\\\":[\\\"__PAGE__\\\",{},[[\\\"$L8\\\",\\\"$L9\\\",null],null],null]},[null,[\\\"$\\\",\\\"$La\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\",\\\"$b\\\",\\\"children\\\",\\\"$c\\\",\\\"children\\\"],\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$Ld\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"notFoundStyles\\\":\\\"$undefined\\\"}]],null]},[[null,\\\"$Le\\\"],null],null]},[[[[\\\"$\\\",\\\"link\\\",\\\"0\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/a78fa145c089ec40.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"1\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/838b9eb00883d6da.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"2\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/d7a984aa9a9fcc2c.css?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\"}]],\\\"$Lf\\\"],null],null],\\\"couldBeIntercepted\\\":false,\\\"initialHead\\\":[null,\\\"$L10\\\"],\\\"globalErrorComponent\\\":\\\"$11\\\",\\\"missingSlots\\\":\\\"$W12\\\"}]\\n\"])</script><script>self.__next_f.push([1,\"13:I[34182,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"LanguageProvider\\\"]\\n14:I[44727,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"AuthModalProvider\\\"]\\n15:I[93583,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"ToastProvider\\\"]\\n16:I[56610,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n17:I[10425,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sB\"])</script><script>self.__next_f.push([1,\"r5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n18:I[11176,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n19:I[97526,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n1a:I[5274,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"FeedbackWidget\\\"]\\n1b:I[38156,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8G\"])</script><script>self.__next_f.push([1,\"YcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n1c:I[1880,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n1d:I[38599,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7337\\\",\\\"static/chunks/7337-e05acbb98bffc8ac.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"1084\\\",\\\"static/chunks/app/%5Blang%5D/layout-bbc061b9c503cf16.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n1f:I[74048,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"5878\\\",\\\"static/chunks/5878-43bbacc376acddee.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"2957\\\",\\\"static/chunks/2957-135fdf77983e5820.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7363\\\",\\\"static/chunks/7363-1b3fd7d0da0ebc28.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"4182\\\",\\\"static/chunks/4182-e96c5784a81e1858.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8041\\\",\\\"static/chunks/8041-f3df4595b34e4e85.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"482\\\",\\\"static/chunks/482-e3c47234496c384c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7621\\\",\\\"static/chunks/app/%5Blang%5D/%5Bslug%5D/page-e0c122d0071f8e69.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n24:I[86249,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"5878\\\",\\\"static/chunks/5878-43bbacc376acddee.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF\"])</script><script>self.__next_f.push([1,\"7DpTj\\\",\\\"2957\\\",\\\"static/chunks/2957-135fdf77983e5820.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7363\\\",\\\"static/chunks/7363-1b3fd7d0da0ebc28.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"4182\\\",\\\"static/chunks/4182-e96c5784a81e1858.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8041\\\",\\\"static/chunks/8041-f3df4595b34e4e85.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"482\\\",\\\"static/chunks/482-e3c47234496c384c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3242\\\",\\\"static/chunks/3242-1d20eeb23b8f6d1c.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"7621\\\",\\\"static/chunks/app/%5Blang%5D/%5Bslug%5D/page-e0c122d0071f8e69.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\ne:[\\\"$\\\",\\\"$L13\\\",null,{\\\"initialLang\\\":\\\"en\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$L15\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"$L16\\\",null,{\\\"headerTranslations\\\":{\\\"navBlog\\\":\\\"Blog\\\",\\\"navGuides\\\":\\\"Guides\\\",\\\"navAICast\\\":\\\"AI Cast\\\",\\\"navAINerdo\\\":\\\"Nerdo\\\",\\\"navCourses\\\":\\\"Courses\\\",\\\"navResources\\\":\\\"Resources\\\",\\\"navTools\\\":\\\"Tools\\\",\\\"searchPlaceholder\\\":\\\"Search articles, tools, or topics...\\\",\\\"searchButton\\\":\\\"Search\\\",\\\"ariaOpenSearch\\\":\\\"Open search\\\",\\\"ariaCloseSearch\\\":\\\"Close search\\\",\\\"ariaOpenMenu\\\":\\\"Open menu\\\",\\\"ariaCloseMenu\\\":\\\"Close menu\\\"},\\\"footerTranslations\\\":{\\\"privacyPolicy\\\":\\\"Privacy Policy\\\",\\\"termsOfService\\\":\\\"Service Terms\\\",\\\"about\\\":\\\"About\\\",\\\"copyright\\\":\\\"© 2026 Nerd Level Tech\\\"},\\\"children\\\":[\\\"$\\\",\\\"$La\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\",\\\"$b\\\",\\\"children\\\"],\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$Ld\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"notFoundStyles\\\":\\\"$undefined\\\"}]}],[\\\"$\\\",\\\"$L17\\\",null,{}],[\\\"$\\\",\\\"$L18\\\",null,{}],[\\\"$\\\",\\\"$L19\\\",null,{}],[\\\"$\\\",\\\"$L1a\\\",null,{}],[\\\"$\\\",\\\"$L1b\\\",null,{}],[\\\"$\\\",\\\"$L1c\\\",null,{}],[\\\"$\\\",\\\"$L1d\\\",null,{}]]}]}]}]\\n1e:T1afb,\"])</script><script>self.__next_f.push([1,\"[{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\",\\\"description\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\",\\\"image\\\":\\\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Nerd Level Tech\\\",\\\"url\\\":\\\"https://nerdleveltech.com\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Nerd Level Tech\\\",\\\"url\\\":\\\"https://nerdleveltech.com\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://nerdleveltech.com/images/logo.png\\\",\\\"width\\\":512,\\\"height\\\":512}},\\\"datePublished\\\":\\\"2026-07-24T00:00:00.000Z\\\",\\\"dateModified\\\":\\\"2026-07-24T00:00:00.000Z\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\"},\\\"url\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\",\\\"keywords\\\":\\\"IETF, AI agent protocol, agentproto, MCP, A2A, agent interoperability, agentic ai\\\",\\\"articleSection\\\":\\\"ai-ml\\\"},{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://nerdleveltech.com/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Blog\\\",\\\"item\\\":\\\"https://nerdleveltech.com/blog\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\",\\\"item\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\"}]},{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"FAQPage\\\",\\\"mainEntity\\\":[{\\\"@type\\\":\\\"Question\\\",\\\"name\\\":\\\"Is the IETF standardizing AI agent protocols?\\\",\\\"acceptedAnswer\\\":{\\\"@type\\\":\\\"Answer\\\",\\\"text\\\":\\\"Not yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.1 A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.10 The authoritative outcome of the session is posted to the IETF Datatracker.\\\"}},{\\\"@type\\\":\\\"Question\\\",\\\"name\\\":\\\"What is the agentproto BoF at IETF 126?\\\",\\\"acceptedAnswer\\\":{\\\"@type\\\":\\\"Answer\\\",\\\"text\\\":\\\"Agentproto (Agent Communication Protocols) was a working-group-forming Birds-of-a-Feather session held Thursday, 23 July 2026, at IETF 126 in Vienna. It brought the fragmented landscape of agent protocols — MCP, A2A, ACP, ANP, and others — into the IETF to identify which building blocks genuinely need a standard, building on requirements work by Jonathan Rosenberg and Cullen Jennings.17\\\"}},{\\\"@type\\\":\\\"Question\\\",\\\"name\\\":\\\"How is MCP different from A2A?\\\",\\\"acceptedAnswer\\\":{\\\"@type\\\":\\\"Answer\\\",\\\"text\\\":\\\"MCP is a client-server protocol connecting one agent to tools, data, and APIs; A2A is a peer-to-peer protocol letting agents discover each other's capabilities and delegate tasks.35 They are complementary rather than competing. What neither fully specifies is cross-domain identity federation and incident attribution when agents from different organizations interact without prior trust.7\\\"}},{\\\"@type\\\":\\\"Question\\\",\\\"name\\\":\\\"What would an IETF RFC add that MCP and A2A don't cover?\\\",\\\"acceptedAnswer\\\":{\\\"@type\\\":\\\"Answer\\\",\\\"text\\\":\\\"The framework behind agentproto argues that a standard is needed for cross-domain agent discovery and identity federation, lifecycle management of multi-hop delegation chains, human confirmation before irreversible actions, and protocol-level attribution for security incidents such as multi-agent prompt injection.7 These are inter-organizational guarantees that a single vendor's protocol is not positioned to define on its own.\\\"}},{\\\"@type\\\":\\\"Question\\\",\\\"name\\\":\\\"Why is prompt injection worse in multi-agent systems?\\\",\\\"acceptedAnswer\\\":{\\\"@type\\\":\\\"Answer\\\",\\\"text\\\":\\\"Because it can cascade. A user injects malicious input into Agent A that is aimed at Agent B; A relays it to B as normal operation, and B — trusting A — acts on it, bypassing A's defenses.7 OWASP already ranks prompt injection as the top risk for LLM applications; the multi-agent trust relationship adds a new path that application-level filters were not designed to catch.9 Footnotes\\\\n\\\\n\\\\n\\\\\\\"Birds of a Feather at IETF 126,\\\\\\\" IETF Blog, 2 July 2026 (BoF schedule, dates, and agentproto description). https://www.ietf.org/blog/ietf126-bofs/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7\\\\n\\\\n\\\\n\\\\\\\"Birds of a Feather (BOF),\\\\\\\" IETF process documentation, and \\\\\\\"Introduction to the IETF\\\\\\\" (rough consensus and running code). https://www.ietf.org/process/bofs/ ↩ ↩2 ↩3 ↩4\\\\n\\\\n\\\\n\\\\\\\"MCP joins the Agentic AI Foundation,\\\\\\\" Model Context Protocol Blog, 9 December 2025 (97 million monthly SDK downloads, 10,000 active servers, Linux Foundation donation). https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/ ↩ ↩2 ↩3\\\\n\\\\n\\\\n\\\\\\\"The 2026-07-28 MCP Specification Release Candidate,\\\\\\\" Model Context Protocol Blog. https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/ ↩\\\\n\\\\n\\\\n\\\\\\\"Google Cloud donates A2A to Linux Foundation,\\\\\\\" Google Developers Blog, 23 June 2025. https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/ ↩ ↩2\\\\n\\\\n\\\\n\\\\\\\"A year of open collaboration: Celebrating the anniversary of A2A,\\\\\\\" Google Open Source Blog, 16 April 2026 (\\\\\\\"over 100 technology companies now supporting the project\\\\\\\"; A2A announced 9 April 2025, donated 23 June 2025). https://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html ↩\\\\n\\\\n\\\\n\\\\\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\\\\\" draft-rosenberg-aiproto-framework-00, IETF (authors J. Rosenberg / Five9 and C. Jennings / Cisco; §3 requirements — Discovery, Lifecycle Management, Authentication and Authorization, User Confirmation; \\\\\\\"Prompt injection attacks are notoriously difficult to prevent\\\\\\\"). This individual Internet-Draft is expired and \\\\\\\"has no formal standing in the IETF standards process.\\\\\\\" Full text: https://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt — status: https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10\\\\n\\\\n\\\\n\\\\\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\\\\\" draft-rosenberg-agentproto-usecases (the current, active revision). https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/ ↩\\\\n\\\\n\\\\n\\\\\\\"OWASP Top 10 for LLM Applications 2025,\\\\\\\" LLM01: Prompt Injection. https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf ↩ ↩2\\\\n\\\\n\\\\n\\\\\\\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting,\\\\\\\" Tech Times, 18 July 2026 (BoF-to-RFC timeline framing and framework summary). https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm ↩ ↩2\\\"}}]}]\"])</script><script>self.__next_f.push([1,\"20:T3dfb,\"])</script><script>self.__next_f.push([1,\"\\n# IETF Weighs an AI Agent Protocol Standard in 2026\\n\\n**In one line:** At IETF 126 in Vienna this week, a Birds-of-a-Feather session called agentproto asked whether the internet's standards body should define how AI agents talk to each other across organizations — the gap that today's dominant protocols, MCP and A2A, leave open.[^1]\\n\\n**TL;DR:** For more than a year, vendors shipped competing AI agent protocols — Anthropic's MCP, Google's A2A, and several more — and none of them cleared the one bar that makes a protocol interoperable across organizational boundaries: an IETF RFC. On Thursday, July 23, the agentproto Birds-of-a-Feather (BoF) session at IETF 126 in Vienna brought that question into the Internet Engineering Task Force, with a view toward chartering a Working Group.[^1] This is not a vote and not a product launch; the IETF works by rough consensus, and any resulting standard is years away.[^2] What is genuinely new is that agent-to-agent communication is now being treated as an internet-infrastructure problem, not just a vendor feature.\\n\\n## What you'll learn\\n\\n- What happened at the agentproto BoF at IETF 126, and what a \\\"Birds-of-a-Feather\\\" session actually decides\\n- Why the IETF works by rough consensus rather than a vote — and why that framing matters here\\n- How MCP and A2A differ, and the interoperability gap neither one closes\\n- The specific problems the underlying framework draft says still need a standard\\n- Why prompt injection is the security test any agent protocol standard has to pass\\n- The realistic timeline from a BoF to a published RFC, and what to watch next\\n\\n## What happened at the agentproto BoF\\n\\nThe IETF 126 meeting ran 18–24 July 2026 in Vienna, and among the established Working Group sessions the organization scheduled five Birds-of-a-Feather sessions — early, community-wide discussions about work that might be ready for the IETF to take on.[^1] Three of the five touched AI agents directly. The one with the highest stakes for anyone building multi-agent systems was **agentproto** (Agent Communication Protocols), held Thursday, 23 July, 09:00–11:00 CEST.[^1]\\n\\nThe IETF's own framing is precise: the past year produced \\\"a rush of competing, overlapping protocols for connecting AI agents to one another and to the tools they use — Model Context Protocol (MCP), Agent2Agent (A2A), the Agent Communication Protocol (ACP), the Agent Network Protocol (ANP), and more.\\\" The agentproto session, it says, \\\"brings that conversation into the IETF,\\\" building on a well-attended IETF 124 side meeting and on framework and requirements work led by Jonathan Rosenberg and Cullen Jennings, \\\"with a view toward chartering a Working Group to take that work forward.\\\"[^1]\\n\\nThat phrase — *chartering a Working Group* — is the actual object of the meeting. A BoF is not where a standard gets written. It is where the community decides whether there is enough consensus, energy, and a tight enough scope to justify starting the multi-year process that eventually produces one.[^2]\\n\\n## Why it is rough consensus, not a vote\\n\\nIt is tempting to describe Thursday's session as a vote on an IETF AI agent protocol standard. That is the wrong mental model, and the distinction is not pedantic. The IETF does not decide by counting ballots. It decides by \\\"rough consensus and running code\\\" — a working agreement in the room and on the mailing list, backed by implementations that actually run.[^2] A BoF that is \\\"working-group-forming,\\\" as agentproto aims to be, succeeds when it demonstrates that a coherent problem and a willing community exist; it can just as easily send the work back to the mailing list if the discussion reveals too much disagreement about scope.[^2]\\n\\nThis is why an IETF outcome carries weight that a vendor announcement does not. The RFCs that came out of this process define TLS, DNS, and the transport underneath modern web traffic, and they endure precisely because they were not imposed by one company. If the IETF eventually charters an agent-protocol Working Group, it is asserting that **an IETF AI agent protocol standard** belongs in the same category as those foundational specifications — an internet-layer concern rather than a product-layer one. As of this writing, the formal result of Thursday's session — whether a Working Group is chartered — follows that consensus process; session materials and minutes are posted to the IETF Datatracker as they are finalized, and that is the authoritative place to confirm the outcome rather than early press summaries.\\n\\n## MCP vs A2A: two layers, one missing piece\\n\\nTo see why the IETF is interested at all, you have to see what the existing protocols do and do not cover. They are not really competitors so much as neighbors solving different halves of the problem.\\n\\n**MCP (Model Context Protocol)** is a client-server protocol: an agent reaches out to a tool, database, or API and requests data or an action. Anthropic donated MCP to the Agentic AI Foundation — a directed fund under the Linux Foundation — on 9 December 2025, and by that point the protocol reported \\\"over 97 million monthly SDK downloads, 10,000 active servers,\\\" with first-class client support across ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot, and Visual Studio Code.[^3] Its next revision, the 2026-07-28 spec, is the largest since launch and, among other things, realigns authorization with OAuth 2.1; we covered that change in depth in our write-up of [MCP's stateless 2026-07-28 spec](/mcp-stateless-protocol-enterprise-authorization).[^9]\\n\\n**A2A (Agent2Agent)** is a peer-to-peer protocol: two agents discover each other's capabilities and delegate tasks. Google donated A2A to the Linux Foundation on 23 June 2025 at Open Source Summit North America, with Amazon Web Services, Cisco, Microsoft, Salesforce, SAP, and ServiceNow among the founding members; the coalition has since grown to over 100 technology companies.[^4][^5] If you want the hands-on version of how agents advertise capabilities and hand off work, our [A2A protocol tutorial](/a2a-protocol-python-tutorial) walks through it.\\n\\nHere is the gap. MCP standardizes the agent-to-tool link. A2A standardizes the agent-to-agent link within a broadly cooperating ecosystem. Neither one fully specifies what happens when an agent in *your* organization needs to prove to an agent in *someone else's* organization that it is authorized to act on a user's behalf — and to do so in a way both sides can verify without a prior bilateral integration. That cross-domain, no-prior-trust case is exactly the territory internet standards exist to cover.\\n\\n## The problems the framework says still need a standard\\n\\nThe intellectual basis for agentproto is a framework and requirements document authored by Jonathan Rosenberg, of Five9, and Cullen Jennings, of Cisco.[^6] Rosenberg's involvement is a signal in itself: he is a lead author of RFC 3261, the Session Initiation Protocol that governs much of the internet's real-time voice and video. One procedural caveat worth stating plainly: an Internet-Draft is a proposal, not a standard. The datatracker attaches an explicit disclaimer that such drafts are \\\"not endorsed by the IETF\\\" and have \\\"no formal standing in the IETF standards process,\\\" and the early framework draft has already been superseded — the current document is `draft-rosenberg-agentproto-usecases`.[^6][^7]\\n\\nWith that caveat, the framework's argument is that today's protocols leave a short list of hard problems unsolved, and that these are the ones worth standardizing. Its requirements sections map to them directly: discovery (how agents find each other, especially across domains), authentication and authorization (how identity and credentials are federated so one organization's agent can be trusted by another's), lifecycle management (how a chain of delegated agents is managed across the life of a task), and user confirmation (how a human stays in the loop before an action such as booking a flight is committed).[^6] The draft frames agent communication as a new application-layer concern — occupying the same tier of the internet stack as HTTP, SIP, and RTP do today.[^6]\\n\\n## Why prompt injection is the security test\\n\\nThe most concrete technical argument for standardizing this at the protocol layer is a security one, and it centers on prompt injection.\\n\\nIn a single-agent system, prompt injection means a user crafts input that overrides the agent's instructions. OWASP ranks it as **LLM01 — the number-one risk** in its Top 10 for LLM Applications.[^8] The multi-agent version is structurally worse. A malicious user can craft input for Agent A that is really aimed at Agent B, the agent that A calls next. Because A relays user content to B as part of normal operation, and because B trusts A, the injected instruction can ride the trust relationship straight past A's defenses.[^6] The framework's position is blunt: prompt injection is notoriously difficult to prevent, so the protocol-level answer is not prevention but attribution — mechanisms for logging, diagnosis, and reconstructing which agent did what when an incident happens.[^6]\\n\\nThat is a requirement no purely application-level defense can satisfy, because the attack crosses a boundary between two independently operated systems. It is also the clearest illustration of why \\\"just use MCP and A2A\\\" is not a complete answer: neither was designed to carry incident attribution across an inter-domain agent cascade.\\n\\n## The realistic timeline — and what to watch\\n\\nSet expectations accordingly. The IETF process is deliberately slow: a proposal typically moves from a BoF, to a chartered Working Group, through multiple Internet-Draft revisions and reviews, to a published RFC — a path that commonly takes on the order of two to four years.[^10] Nothing shipped in Vienna this week. What the meeting could produce is a decision to *start*, and that decision then shapes what the RFC pipeline looks like in 2027 and 2028.\\n\\nThe strategic question underneath is whether an open IETF AI agent protocol standard will define inter-domain agent communication, or whether the market-dominant protocols will harden into de facto standards by deployment momentum alone. MCP's 97-million-downloads-a-month adoption is a real gravitational field, and it is entirely possible that the practical baseline gets set by what is already deployed rather than by what the IETF eventually blesses.[^3] The tension between those two outcomes is the story worth following. It is also the same interoperability-versus-lock-in tension that regulators are pressing from a different direction, as we covered in [the EU's push for AI agent interoperability under the DMA](/eu-android-ai-agent-interoperability-dma).\\n\\nFor now, the honest status is: the conversation has arrived at the IETF, the problem statement is well-formed, and the outcome of Thursday's session is a matter of public record on the IETF Datatracker rather than of speculation.\\n\\n## FAQ\\n\\n### Is the IETF standardizing AI agent protocols?\\n\\nNot yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.[^1] A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.[^10] The authoritative outcome of the session is posted to the IETF Datatracker.\\n\\n### What is the agentproto BoF at IETF 126?\\n\\nAgentproto (Agent Communication Protocols) was a working-group-forming Birds-of-a-Feather session held Thursday, 23 July 2026, at IETF 126 in Vienna. It brought the fragmented landscape of agent protocols — MCP, A2A, ACP, ANP, and others — into the IETF to identify which building blocks genuinely need a standard, building on requirements work by Jonathan Rosenberg and Cullen Jennings.[^1][^6]\\n\\n### How is MCP different from A2A?\\n\\nMCP is a client-server protocol connecting one agent to tools, data, and APIs; A2A is a peer-to-peer protocol letting agents discover each other's capabilities and delegate tasks.[^3][^4] They are complementary rather than competing. What neither fully specifies is cross-domain identity federation and incident attribution when agents from different organizations interact without prior trust.[^6]\\n\\n### What would an IETF RFC add that MCP and A2A don't cover?\\n\\nThe framework behind agentproto argues that a standard is needed for cross-domain agent discovery and identity federation, lifecycle management of multi-hop delegation chains, human confirmation before irreversible actions, and protocol-level attribution for security incidents such as multi-agent prompt injection.[^6] These are inter-organizational guarantees that a single vendor's protocol is not positioned to define on its own.\\n\\n### Why is prompt injection worse in multi-agent systems?\\n\\nBecause it can cascade. A user injects malicious input into Agent A that is aimed at Agent B; A relays it to B as normal operation, and B — trusting A — acts on it, bypassing A's defenses.[^6] OWASP already ranks prompt injection as the top risk for LLM applications; the multi-agent trust relationship adds a new path that application-level filters were not designed to catch.[^8]\\n\\n[^1]: \\\"Birds of a Feather at IETF 126,\\\" IETF Blog, 2 July 2026 (BoF schedule, dates, and agentproto description). https://www.ietf.org/blog/ietf126-bofs/\\n[^2]: \\\"Birds of a Feather (BOF),\\\" IETF process documentation, and \\\"Introduction to the IETF\\\" (rough consensus and running code). https://www.ietf.org/process/bofs/\\n[^3]: \\\"MCP joins the Agentic AI Foundation,\\\" Model Context Protocol Blog, 9 December 2025 (97 million monthly SDK downloads, 10,000 active servers, Linux Foundation donation). https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/\\n[^4]: \\\"Google Cloud donates A2A to Linux Foundation,\\\" Google Developers Blog, 23 June 2025. https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/\\n[^5]: \\\"A year of open collaboration: Celebrating the anniversary of A2A,\\\" Google Open Source Blog, 16 April 2026 (\\\"over 100 technology companies now supporting the project\\\"; A2A announced 9 April 2025, donated 23 June 2025). https://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html\\n[^6]: \\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-aiproto-framework-00, IETF (authors J. Rosenberg / Five9 and C. Jennings / Cisco; §3 requirements — Discovery, Lifecycle Management, Authentication and Authorization, User Confirmation; \\\"Prompt injection attacks are notoriously difficult to prevent\\\"). This individual Internet-Draft is expired and \\\"has no formal standing in the IETF standards process.\\\" Full text: https://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt — status: https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/\\n[^7]: \\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-agentproto-usecases (the current, active revision). https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/\\n[^8]: \\\"OWASP Top 10 for LLM Applications 2025,\\\" LLM01: Prompt Injection. https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf\\n[^9]: \\\"The 2026-07-28 MCP Specification Release Candidate,\\\" Model Context Protocol Blog. https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/\\n[^10]: \\\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting,\\\" Tech Times, 18 July 2026 (BoF-to-RFC timeline framing and framework summary). https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\\n\"])</script><script>self.__next_f.push([1,\"21:T6d06,\"])</script><script>self.__next_f.push([1,\"\\u003cp\\u003e\\u003cstrong\\u003eIn one line:\\u003c/strong\\u003e At IETF 126 in Vienna this week, a Birds-of-a-Feather session called agentproto asked whether the internet's standards body should define how AI agents talk to each other across organizations — the gap that today's dominant protocols, MCP and A2A, leave open.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eTL;DR:\\u003c/strong\\u003e For more than a year, vendors shipped competing AI agent protocols — Anthropic's MCP, Google's A2A, and several more — and none of them cleared the one bar that makes a protocol interoperable across organizational boundaries: an IETF RFC. On Thursday, July 23, the agentproto Birds-of-a-Feather (BoF) session at IETF 126 in Vienna brought that question into the Internet Engineering Task Force, with a view toward chartering a Working Group.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e This is not a vote and not a product launch; the IETF works by rough consensus, and any resulting standard is years away.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e What is genuinely new is that agent-to-agent communication is now being treated as an internet-infrastructure problem, not just a vendor feature.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"what-youll-learn\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-youll-learn\\\"\\u003eWhat you'll learn\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eWhat happened at the agentproto BoF at IETF 126, and what a \\\"Birds-of-a-Feather\\\" session actually decides\\u003c/li\\u003e\\n\\u003cli\\u003eWhy the IETF works by rough consensus rather than a vote — and why that framing matters here\\u003c/li\\u003e\\n\\u003cli\\u003eHow MCP and A2A differ, and the interoperability gap neither one closes\\u003c/li\\u003e\\n\\u003cli\\u003eThe specific problems the underlying framework draft says still need a standard\\u003c/li\\u003e\\n\\u003cli\\u003eWhy prompt injection is the security test any agent protocol standard has to pass\\u003c/li\\u003e\\n\\u003cli\\u003eThe realistic timeline from a BoF to a published RFC, and what to watch next\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2 id=\\\"what-happened-at-the-agentproto-bof\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-happened-at-the-agentproto-bof\\\"\\u003eWhat happened at the agentproto BoF\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe IETF 126 meeting ran 18–24 July 2026 in Vienna, and among the established Working Group sessions the organization scheduled five Birds-of-a-Feather sessions — early, community-wide discussions about work that might be ready for the IETF to take on.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e Three of the five touched AI agents directly. The one with the highest stakes for anyone building multi-agent systems was \\u003cstrong\\u003eagentproto\\u003c/strong\\u003e (Agent Communication Protocols), held Thursday, 23 July, 09:00–11:00 CEST.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThe IETF's own framing is precise: the past year produced \\\"a rush of competing, overlapping protocols for connecting AI agents to one another and to the tools they use — Model Context Protocol (MCP), Agent2Agent (A2A), the Agent Communication Protocol (ACP), the Agent Network Protocol (ANP), and more.\\\" The agentproto session, it says, \\\"brings that conversation into the IETF,\\\" building on a well-attended IETF 124 side meeting and on framework and requirements work led by Jonathan Rosenberg and Cullen Jennings, \\\"with a view toward chartering a Working Group to take that work forward.\\\"\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThat phrase — \\u003cem\\u003echartering a Working Group\\u003c/em\\u003e — is the actual object of the meeting. A BoF is not where a standard gets written. It is where the community decides whether there is enough consensus, energy, and a tight enough scope to justify starting the multi-year process that eventually produces one.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch2 id=\\\"why-it-is-rough-consensus-not-a-vote\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#why-it-is-rough-consensus-not-a-vote\\\"\\u003eWhy it is rough consensus, not a vote\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eIt is tempting to describe Thursday's session as a vote on an IETF AI agent protocol standard. That is the wrong mental model, and the distinction is not pedantic. The IETF does not decide by counting ballots. It decides by \\\"rough consensus and running code\\\" — a working agreement in the room and on the mailing list, backed by implementations that actually run.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e A BoF that is \\\"working-group-forming,\\\" as agentproto aims to be, succeeds when it demonstrates that a coherent problem and a willing community exist; it can just as easily send the work back to the mailing list if the discussion reveals too much disagreement about scope.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThis is why an IETF outcome carries weight that a vendor announcement does not. The RFCs that came out of this process define TLS, DNS, and the transport underneath modern web traffic, and they endure precisely because they were not imposed by one company. If the IETF eventually charters an agent-protocol Working Group, it is asserting that \\u003cstrong\\u003ean IETF AI agent protocol standard\\u003c/strong\\u003e belongs in the same category as those foundational specifications — an internet-layer concern rather than a product-layer one. As of this writing, the formal result of Thursday's session — whether a Working Group is chartered — follows that consensus process; session materials and minutes are posted to the IETF Datatracker as they are finalized, and that is the authoritative place to confirm the outcome rather than early press summaries.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"mcp-vs-a2a-two-layers-one-missing-piece\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#mcp-vs-a2a-two-layers-one-missing-piece\\\"\\u003eMCP vs A2A: two layers, one missing piece\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eTo see why the IETF is interested at all, you have to see what the existing protocols do and do not cover. They are not really competitors so much as neighbors solving different halves of the problem.\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eMCP (Model Context Protocol)\\u003c/strong\\u003e is a client-server protocol: an agent reaches out to a tool, database, or API and requests data or an action. Anthropic donated MCP to the Agentic AI Foundation — a directed fund under the Linux Foundation — on 9 December 2025, and by that point the protocol reported \\\"over 97 million monthly SDK downloads, 10,000 active servers,\\\" with first-class client support across ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot, and Visual Studio Code.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-3\\\" id=\\\"user-content-fnref-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e3\\u003c/a\\u003e\\u003c/sup\\u003e Its next revision, the 2026-07-28 spec, is the largest since launch and, among other things, realigns authorization with OAuth 2.1; we covered that change in depth in our write-up of \\u003ca href=\\\"/mcp-stateless-protocol-enterprise-authorization\\\"\\u003eMCP's stateless 2026-07-28 spec\\u003c/a\\u003e.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-9\\\" id=\\\"user-content-fnref-9\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e4\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eA2A (Agent2Agent)\\u003c/strong\\u003e is a peer-to-peer protocol: two agents discover each other's capabilities and delegate tasks. Google donated A2A to the Linux Foundation on 23 June 2025 at Open Source Summit North America, with Amazon Web Services, Cisco, Microsoft, Salesforce, SAP, and ServiceNow among the founding members; the coalition has since grown to over 100 technology companies.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-4\\\" id=\\\"user-content-fnref-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e5\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-5\\\" id=\\\"user-content-fnref-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e6\\u003c/a\\u003e\\u003c/sup\\u003e If you want the hands-on version of how agents advertise capabilities and hand off work, our \\u003ca href=\\\"/a2a-protocol-python-tutorial\\\"\\u003eA2A protocol tutorial\\u003c/a\\u003e walks through it.\\u003c/p\\u003e\\n\\u003cp\\u003eHere is the gap. MCP standardizes the agent-to-tool link. A2A standardizes the agent-to-agent link within a broadly cooperating ecosystem. Neither one fully specifies what happens when an agent in \\u003cem\\u003eyour\\u003c/em\\u003e organization needs to prove to an agent in \\u003cem\\u003esomeone else's\\u003c/em\\u003e organization that it is authorized to act on a user's behalf — and to do so in a way both sides can verify without a prior bilateral integration. That cross-domain, no-prior-trust case is exactly the territory internet standards exist to cover.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"the-problems-the-framework-says-still-need-a-standard\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#the-problems-the-framework-says-still-need-a-standard\\\"\\u003eThe problems the framework says still need a standard\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe intellectual basis for agentproto is a framework and requirements document authored by Jonathan Rosenberg, of Five9, and Cullen Jennings, of Cisco.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e Rosenberg's involvement is a signal in itself: he is a lead author of RFC 3261, the Session Initiation Protocol that governs much of the internet's real-time voice and video. One procedural caveat worth stating plainly: an Internet-Draft is a proposal, not a standard. The datatracker attaches an explicit disclaimer that such drafts are \\\"not endorsed by the IETF\\\" and have \\\"no formal standing in the IETF standards process,\\\" and the early framework draft has already been superseded — the current document is \\u003ccode\\u003edraft-rosenberg-agentproto-usecases\\u003c/code\\u003e.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-7\\\" id=\\\"user-content-fnref-7\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e8\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eWith that caveat, the framework's argument is that today's protocols leave a short list of hard problems unsolved, and that these are the ones worth standardizing. Its requirements sections map to them directly: discovery (how agents find each other, especially across domains), authentication and authorization (how identity and credentials are federated so one organization's agent can be trusted by another's), lifecycle management (how a chain of delegated agents is managed across the life of a task), and user confirmation (how a human stays in the loop before an action such as booking a flight is committed).\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e The draft frames agent communication as a new application-layer concern — occupying the same tier of the internet stack as HTTP, SIP, and RTP do today.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch2 id=\\\"why-prompt-injection-is-the-security-test\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#why-prompt-injection-is-the-security-test\\\"\\u003eWhy prompt injection is the security test\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe most concrete technical argument for standardizing this at the protocol layer is a security one, and it centers on prompt injection.\\u003c/p\\u003e\\n\\u003cp\\u003eIn a single-agent system, prompt injection means a user crafts input that overrides the agent's instructions. OWASP ranks it as \\u003cstrong\\u003eLLM01 — the number-one risk\\u003c/strong\\u003e in its Top 10 for LLM Applications.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-8\\\" id=\\\"user-content-fnref-8\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e9\\u003c/a\\u003e\\u003c/sup\\u003e The multi-agent version is structurally worse. A malicious user can craft input for Agent A that is really aimed at Agent B, the agent that A calls next. Because A relays user content to B as part of normal operation, and because B trusts A, the injected instruction can ride the trust relationship straight past A's defenses.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e The framework's position is blunt: prompt injection is notoriously difficult to prevent, so the protocol-level answer is not prevention but attribution — mechanisms for logging, diagnosis, and reconstructing which agent did what when an incident happens.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-6\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThat is a requirement no purely application-level defense can satisfy, because the attack crosses a boundary between two independently operated systems. It is also the clearest illustration of why \\\"just use MCP and A2A\\\" is not a complete answer: neither was designed to carry incident attribution across an inter-domain agent cascade.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"the-realistic-timeline--and-what-to-watch\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#the-realistic-timeline--and-what-to-watch\\\"\\u003eThe realistic timeline — and what to watch\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eSet expectations accordingly. The IETF process is deliberately slow: a proposal typically moves from a BoF, to a chartered Working Group, through multiple Internet-Draft revisions and reviews, to a published RFC — a path that commonly takes on the order of two to four years.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-10\\\" id=\\\"user-content-fnref-10\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e10\\u003c/a\\u003e\\u003c/sup\\u003e Nothing shipped in Vienna this week. What the meeting could produce is a decision to \\u003cem\\u003estart\\u003c/em\\u003e, and that decision then shapes what the RFC pipeline looks like in 2027 and 2028.\\u003c/p\\u003e\\n\\u003cp\\u003eThe strategic question underneath is whether an open IETF AI agent protocol standard will define inter-domain agent communication, or whether the market-dominant protocols will harden into de facto standards by deployment momentum alone. MCP's 97-million-downloads-a-month adoption is a real gravitational field, and it is entirely possible that the practical baseline gets set by what is already deployed rather than by what the IETF eventually blesses.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-3\\\" id=\\\"user-content-fnref-3-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e3\\u003c/a\\u003e\\u003c/sup\\u003e The tension between those two outcomes is the story worth following. It is also the same interoperability-versus-lock-in tension that regulators are pressing from a different direction, as we covered in \\u003ca href=\\\"/eu-android-ai-agent-interoperability-dma\\\"\\u003ethe EU's push for AI agent interoperability under the DMA\\u003c/a\\u003e.\\u003c/p\\u003e\\n\\u003cp\\u003eFor now, the honest status is: the conversation has arrived at the IETF, the problem statement is well-formed, and the outcome of Thursday's session is a matter of public record on the IETF Datatracker rather than of speculation.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"faq\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#faq\\\"\\u003eFAQ\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003ch3 id=\\\"is-the-ietf-standardizing-ai-agent-protocols\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#is-the-ietf-standardizing-ai-agent-protocols\\\"\\u003eIs the IETF standardizing AI agent protocols?\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\u003cp\\u003eNot yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-6\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-10\\\" id=\\\"user-content-fnref-10-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e10\\u003c/a\\u003e\\u003c/sup\\u003e The authoritative outcome of the session is posted to the IETF Datatracker.\\u003c/p\\u003e\\n\\u003ch3 id=\\\"what-is-the-agentproto-bof-at-ietf-126\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-is-the-agentproto-bof-at-ietf-126\\\"\\u003eWhat is the agentproto BoF at IETF 126?\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\u003cp\\u003eAgentproto (Agent Communication Protocols) was a working-group-forming Birds-of-a-Feather session held Thursday, 23 July 2026, at IETF 126 in Vienna. It brought the fragmented landscape of agent protocols — MCP, A2A, ACP, ANP, and others — into the IETF to identify which building blocks genuinely need a standard, building on requirements work by Jonathan Rosenberg and Cullen Jennings.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-7\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-7\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch3 id=\\\"how-is-mcp-different-from-a2a\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#how-is-mcp-different-from-a2a\\\"\\u003eHow is MCP different from A2A?\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\u003cp\\u003eMCP is a client-server protocol connecting one agent to tools, data, and APIs; A2A is a peer-to-peer protocol letting agents discover each other's capabilities and delegate tasks.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-3\\\" id=\\\"user-content-fnref-3-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e3\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-4\\\" id=\\\"user-content-fnref-4-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e5\\u003c/a\\u003e\\u003c/sup\\u003e They are complementary rather than competing. What neither fully specifies is cross-domain identity federation and incident attribution when agents from different organizations interact without prior trust.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-8\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch3 id=\\\"what-would-an-ietf-rfc-add-that-mcp-and-a2a-dont-cover\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-would-an-ietf-rfc-add-that-mcp-and-a2a-dont-cover\\\"\\u003eWhat would an IETF RFC add that MCP and A2A don't cover?\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\u003cp\\u003eThe framework behind agentproto argues that a standard is needed for cross-domain agent discovery and identity federation, lifecycle management of multi-hop delegation chains, human confirmation before irreversible actions, and protocol-level attribution for security incidents such as multi-agent prompt injection.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-9\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e These are inter-organizational guarantees that a single vendor's protocol is not positioned to define on its own.\\u003c/p\\u003e\\n\\u003ch3 id=\\\"why-is-prompt-injection-worse-in-multi-agent-systems\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#why-is-prompt-injection-worse-in-multi-agent-systems\\\"\\u003eWhy is prompt injection worse in multi-agent systems?\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\u003cp\\u003eBecause it can cascade. A user injects malicious input into Agent A that is aimed at Agent B; A relays it to B as normal operation, and B — trusting A — acts on it, bypassing A's defenses.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-10\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e OWASP already ranks prompt injection as the top risk for LLM applications; the multi-agent trust relationship adds a new path that application-level filters were not designed to catch.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-8\\\" id=\\\"user-content-fnref-8-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e9\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003csection data-footnotes=\\\"\\\" class=\\\"footnotes\\\"\\u003e\\u003ch2 class=\\\"sr-only\\\" id=\\\"footnote-label\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#footnote-label\\\"\\u003eFootnotes\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003col\\u003e\\n\\u003cli id=\\\"user-content-fn-1\\\"\\u003e\\n\\u003cp\\u003e\\\"Birds of a Feather at IETF 126,\\\" IETF Blog, 2 July 2026 (BoF schedule, dates, and agentproto description). \\u003ca href=\\\"https://www.ietf.org/blog/ietf126-bofs/\\\"\\u003ehttps://www.ietf.org/blog/ietf126-bofs/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-3\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-3\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e3\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-4\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-4\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e4\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-5\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-5\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e5\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-6\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-6\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e6\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-1-7\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 1-7\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e7\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-2\\\"\\u003e\\n\\u003cp\\u003e\\\"Birds of a Feather (BOF),\\\" IETF process documentation, and \\\"Introduction to the IETF\\\" (rough consensus and running code). \\u003ca href=\\\"https://www.ietf.org/process/bofs/\\\"\\u003ehttps://www.ietf.org/process/bofs/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-2-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 2-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-2-3\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 2-3\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e3\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-2-4\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 2-4\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e4\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-3\\\"\\u003e\\n\\u003cp\\u003e\\\"MCP joins the Agentic AI Foundation,\\\" Model Context Protocol Blog, 9 December 2025 (97 million monthly SDK downloads, 10,000 active servers, Linux Foundation donation). \\u003ca href=\\\"https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/\\\"\\u003ehttps://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-3\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 3\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-3-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 3-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-3-3\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 3-3\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e3\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-9\\\"\\u003e\\n\\u003cp\\u003e\\\"The 2026-07-28 MCP Specification Release Candidate,\\\" Model Context Protocol Blog. \\u003ca href=\\\"https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/\\\"\\u003ehttps://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-9\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 4\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-4\\\"\\u003e\\n\\u003cp\\u003e\\\"Google Cloud donates A2A to Linux Foundation,\\\" Google Developers Blog, 23 June 2025. \\u003ca href=\\\"https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/\\\"\\u003ehttps://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-4\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 5\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-4-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 5-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-5\\\"\\u003e\\n\\u003cp\\u003e\\\"A year of open collaboration: Celebrating the anniversary of A2A,\\\" Google Open Source Blog, 16 April 2026 (\\\"over 100 technology companies now supporting the project\\\"; A2A announced 9 April 2025, donated 23 June 2025). \\u003ca href=\\\"https://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html\\\"\\u003ehttps://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-5\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 6\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-6\\\"\\u003e\\n\\u003cp\\u003e\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-aiproto-framework-00, IETF (authors J. Rosenberg / Five9 and C. Jennings / Cisco; §3 requirements — Discovery, Lifecycle Management, Authentication and Authorization, User Confirmation; \\\"Prompt injection attacks are notoriously difficult to prevent\\\"). This individual Internet-Draft is expired and \\\"has no formal standing in the IETF standards process.\\\" Full text: \\u003ca href=\\\"https://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt\\\"\\u003ehttps://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt\\u003c/a\\u003e — status: \\u003ca href=\\\"https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/\\\"\\u003ehttps://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-3\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-3\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e3\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-4\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-4\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e4\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-5\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-5\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e5\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-6\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-6\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e6\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-7\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-7\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e7\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-8\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-8\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e8\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-9\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-9\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e9\\u003c/sup\\u003e\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-6-10\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 7-10\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e10\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-7\\\"\\u003e\\n\\u003cp\\u003e\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-agentproto-usecases (the current, active revision). \\u003ca href=\\\"https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/\\\"\\u003ehttps://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-7\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 8\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-8\\\"\\u003e\\n\\u003cp\\u003e\\\"OWASP Top 10 for LLM Applications 2025,\\\" LLM01: Prompt Injection. \\u003ca href=\\\"https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf\\\"\\u003ehttps://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-8\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 9\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-8-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 9-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli id=\\\"user-content-fn-10\\\"\\u003e\\n\\u003cp\\u003e\\\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting,\\\" Tech Times, 18 July 2026 (BoF-to-RFC timeline framing and framework summary). \\u003ca href=\\\"https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\\\"\\u003ehttps://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-10\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 10\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003c/a\\u003e \\u003ca href=\\\"#user-content-fnref-10-2\\\" data-footnote-backref=\\\"\\\" aria-label=\\\"Back to reference 10-2\\\" class=\\\"data-footnote-backref\\\"\\u003e↩\\u003csup\\u003e2\\u003c/sup\\u003e\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ol\\u003e\\n\\u003c/section\\u003e\"])</script><script>self.__next_f.push([1,\"22:T3adb,\"])</script><script>self.__next_f.push([1,\"\\u003chtml\\u003e\\u003chead\\u003e\\u003c/head\\u003e\\u003cbody\\u003e\\u003cp\\u003e\\u003cstrong\\u003eIn one line:\\u003c/strong\\u003e At IETF 126 in Vienna this week, a Birds-of-a-Feather session called agentproto asked whether the internet's standards body should define how AI agents talk to each other across organizations — the gap that today's dominant protocols, MCP and A2A, leave open.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eTL;DR:\\u003c/strong\\u003e For more than a year, vendors shipped competing AI agent protocols — Anthropic's MCP, Google's A2A, and several more — and none of them cleared the one bar that makes a protocol interoperable across organizational boundaries: an IETF RFC. On Thursday, July 23, the agentproto Birds-of-a-Feather (BoF) session at IETF 126 in Vienna brought that question into the Internet Engineering Task Force, with a view toward chartering a Working Group.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e This is not a vote and not a product launch; the IETF works by rough consensus, and any resulting standard is years away.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e What is genuinely new is that agent-to-agent communication is now being treated as an internet-infrastructure problem, not just a vendor feature.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"what-youll-learn\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-youll-learn\\\"\\u003eWhat you'll learn\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eWhat happened at the agentproto BoF at IETF 126, and what a \\\"Birds-of-a-Feather\\\" session actually decides\\u003c/li\\u003e\\n\\u003cli\\u003eWhy the IETF works by rough consensus rather than a vote — and why that framing matters here\\u003c/li\\u003e\\n\\u003cli\\u003eHow MCP and A2A differ, and the interoperability gap neither one closes\\u003c/li\\u003e\\n\\u003cli\\u003eThe specific problems the underlying framework draft says still need a standard\\u003c/li\\u003e\\n\\u003cli\\u003eWhy prompt injection is the security test any agent protocol standard has to pass\\u003c/li\\u003e\\n\\u003cli\\u003eThe realistic timeline from a BoF to a published RFC, and what to watch next\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2 id=\\\"what-happened-at-the-agentproto-bof\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#what-happened-at-the-agentproto-bof\\\"\\u003eWhat happened at the agentproto BoF\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe IETF 126 meeting ran 18–24 July 2026 in Vienna, and among the established Working Group sessions the organization scheduled five Birds-of-a-Feather sessions — early, community-wide discussions about work that might be ready for the IETF to take on.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e Three of the five touched AI agents directly. The one with the highest stakes for anyone building multi-agent systems was \\u003cstrong\\u003eagentproto\\u003c/strong\\u003e (Agent Communication Protocols), held Thursday, 23 July, 09:00–11:00 CEST.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThe IETF's own framing is precise: the past year produced \\\"a rush of competing, overlapping protocols for connecting AI agents to one another and to the tools they use — Model Context Protocol (MCP), Agent2Agent (A2A), the Agent Communication Protocol (ACP), the Agent Network Protocol (ANP), and more.\\\" The agentproto session, it says, \\\"brings that conversation into the IETF,\\\" building on a well-attended IETF 124 side meeting and on framework and requirements work led by Jonathan Rosenberg and Cullen Jennings, \\\"with a view toward chartering a Working Group to take that work forward.\\\"\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-1\\\" id=\\\"user-content-fnref-1-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e1\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThat phrase — \\u003cem\\u003echartering a Working Group\\u003c/em\\u003e — is the actual object of the meeting. A BoF is not where a standard gets written. It is where the community decides whether there is enough consensus, energy, and a tight enough scope to justify starting the multi-year process that eventually produces one.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch2 id=\\\"why-it-is-rough-consensus-not-a-vote\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#why-it-is-rough-consensus-not-a-vote\\\"\\u003eWhy it is rough consensus, not a vote\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eIt is tempting to describe Thursday's session as a vote on an IETF AI agent protocol standard. That is the wrong mental model, and the distinction is not pedantic. The IETF does not decide by counting ballots. It decides by \\\"rough consensus and running code\\\" — a working agreement in the room and on the mailing list, backed by implementations that actually run.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e A BoF that is \\\"working-group-forming,\\\" as agentproto aims to be, succeeds when it demonstrates that a coherent problem and a willing community exist; it can just as easily send the work back to the mailing list if the discussion reveals too much disagreement about scope.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-2\\\" id=\\\"user-content-fnref-2-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e2\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThis is why an IETF outcome carries weight that a vendor announcement does not. The RFCs that came out of this process define TLS, DNS, and the transport underneath modern web traffic, and they endure precisely because they were not imposed by one company. If the IETF eventually charters an agent-protocol Working Group, it is asserting that \\u003cstrong\\u003ean IETF AI agent protocol standard\\u003c/strong\\u003e belongs in the same category as those foundational specifications — an internet-layer concern rather than a product-layer one. As of this writing, the formal result of Thursday's session — whether a Working Group is chartered — follows that consensus process; session materials and minutes are posted to the IETF Datatracker as they are finalized, and that is the authoritative place to confirm the outcome rather than early press summaries.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"mcp-vs-a2a-two-layers-one-missing-piece\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#mcp-vs-a2a-two-layers-one-missing-piece\\\"\\u003eMCP vs A2A: two layers, one missing piece\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eTo see why the IETF is interested at all, you have to see what the existing protocols do and do not cover. They are not really competitors so much as neighbors solving different halves of the problem.\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eMCP (Model Context Protocol)\\u003c/strong\\u003e is a client-server protocol: an agent reaches out to a tool, database, or API and requests data or an action. Anthropic donated MCP to the Agentic AI Foundation — a directed fund under the Linux Foundation — on 9 December 2025, and by that point the protocol reported \\\"over 97 million monthly SDK downloads, 10,000 active servers,\\\" with first-class client support across ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot, and Visual Studio Code.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-3\\\" id=\\\"user-content-fnref-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e3\\u003c/a\\u003e\\u003c/sup\\u003e Its next revision, the 2026-07-28 spec, is the largest since launch and, among other things, realigns authorization with OAuth 2.1; we covered that change in depth in our write-up of \\u003ca href=\\\"/mcp-stateless-protocol-enterprise-authorization\\\"\\u003eMCP's stateless 2026-07-28 spec\\u003c/a\\u003e.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-9\\\" id=\\\"user-content-fnref-9\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e4\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003eA2A (Agent2Agent)\\u003c/strong\\u003e is a peer-to-peer protocol: two agents discover each other's capabilities and delegate tasks. Google donated A2A to the Linux Foundation on 23 June 2025 at Open Source Summit North America, with Amazon Web Services, Cisco, Microsoft, Salesforce, SAP, and ServiceNow among the founding members; the coalition has since grown to over 100 technology companies.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-4\\\" id=\\\"user-content-fnref-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e5\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-5\\\" id=\\\"user-content-fnref-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e6\\u003c/a\\u003e\\u003c/sup\\u003e If you want the hands-on version of how agents advertise capabilities and hand off work, our \\u003ca href=\\\"/a2a-protocol-python-tutorial\\\"\\u003eA2A protocol tutorial\\u003c/a\\u003e walks through it.\\u003c/p\\u003e\\n\\u003cdiv data-ad-placement=\\\"post-in-article-mid\\\" class=\\\"not-prose my-8\\\"\\u003e\\u003c/div\\u003e\\n\\n\\u003cp\\u003eHere is the gap. MCP standardizes the agent-to-tool link. A2A standardizes the agent-to-agent link within a broadly cooperating ecosystem. Neither one fully specifies what happens when an agent in \\u003cem\\u003eyour\\u003c/em\\u003e organization needs to prove to an agent in \\u003cem\\u003esomeone else's\\u003c/em\\u003e organization that it is authorized to act on a user's behalf — and to do so in a way both sides can verify without a prior bilateral integration. That cross-domain, no-prior-trust case is exactly the territory internet standards exist to cover.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"the-problems-the-framework-says-still-need-a-standard\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#the-problems-the-framework-says-still-need-a-standard\\\"\\u003eThe problems the framework says still need a standard\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe intellectual basis for agentproto is a framework and requirements document authored by Jonathan Rosenberg, of Five9, and Cullen Jennings, of Cisco.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e Rosenberg's involvement is a signal in itself: he is a lead author of RFC 3261, the Session Initiation Protocol that governs much of the internet's real-time voice and video. One procedural caveat worth stating plainly: an Internet-Draft is a proposal, not a standard. The datatracker attaches an explicit disclaimer that such drafts are \\\"not endorsed by the IETF\\\" and have \\\"no formal standing in the IETF standards process,\\\" and the early framework draft has already been superseded — the current document is \\u003ccode\\u003edraft-rosenberg-agentproto-usecases\\u003c/code\\u003e.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-7\\\" id=\\\"user-content-fnref-7\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e8\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eWith that caveat, the framework's argument is that today's protocols leave a short list of hard problems unsolved, and that these are the ones worth standardizing. Its requirements sections map to them directly: discovery (how agents find each other, especially across domains), authentication and authorization (how identity and credentials are federated so one organization's agent can be trusted by another's), lifecycle management (how a chain of delegated agents is managed across the life of a task), and user confirmation (how a human stays in the loop before an action such as booking a flight is committed).\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-3\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e The draft frames agent communication as a new application-layer concern — occupying the same tier of the internet stack as HTTP, SIP, and RTP do today.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-4\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003ch2 id=\\\"why-prompt-injection-is-the-security-test\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#why-prompt-injection-is-the-security-test\\\"\\u003eWhy prompt injection is the security test\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eThe most concrete technical argument for standardizing this at the protocol layer is a security one, and it centers on prompt injection.\\u003c/p\\u003e\\n\\u003cp\\u003eIn a single-agent system, prompt injection means a user crafts input that overrides the agent's instructions. OWASP ranks it as \\u003cstrong\\u003eLLM01 — the number-one risk\\u003c/strong\\u003e in its Top 10 for LLM Applications.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-8\\\" id=\\\"user-content-fnref-8\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e9\\u003c/a\\u003e\\u003c/sup\\u003e The multi-agent version is structurally worse. A malicious user can craft input for Agent A that is really aimed at Agent B, the agent that A calls next. Because A relays user content to B as part of normal operation, and because B trusts A, the injected instruction can ride the trust relationship straight past A's defenses.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-5\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e The framework's position is blunt: prompt injection is notoriously difficult to prevent, so the protocol-level answer is not prevention but attribution — mechanisms for logging, diagnosis, and reconstructing which agent did what when an incident happens.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-6\\\" id=\\\"user-content-fnref-6-6\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e7\\u003c/a\\u003e\\u003c/sup\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003eThat is a requirement no purely application-level defense can satisfy, because the attack crosses a boundary between two independently operated systems. It is also the clearest illustration of why \\\"just use MCP and A2A\\\" is not a complete answer: neither was designed to carry incident attribution across an inter-domain agent cascade.\\u003c/p\\u003e\\n\\u003ch2 id=\\\"the-realistic-timeline--and-what-to-watch\\\"\\u003e\\u003ca class=\\\"anchor\\\" href=\\\"#the-realistic-timeline--and-what-to-watch\\\"\\u003eThe realistic timeline — and what to watch\\u003c/a\\u003e\\u003c/h2\\u003e\\n\\u003cp\\u003eSet expectations accordingly. The IETF process is deliberately slow: a proposal typically moves from a BoF, to a chartered Working Group, through multiple Internet-Draft revisions and reviews, to a published RFC — a path that commonly takes on the order of two to four years.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-10\\\" id=\\\"user-content-fnref-10\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e10\\u003c/a\\u003e\\u003c/sup\\u003e Nothing shipped in Vienna this week. What the meeting could produce is a decision to \\u003cem\\u003estart\\u003c/em\\u003e, and that decision then shapes what the RFC pipeline looks like in 2027 and 2028.\\u003c/p\\u003e\\n\\u003cp\\u003eThe strategic question underneath is whether an open IETF AI agent protocol standard will define inter-domain agent communication, or whether the market-dominant protocols will harden into de facto standards by deployment momentum alone. MCP's 97-million-downloads-a-month adoption is a real gravitational field, and it is entirely possible that the practical baseline gets set by what is already deployed rather than by what the IETF eventually blesses.\\u003csup\\u003e\\u003ca href=\\\"#user-content-fn-3\\\" id=\\\"user-content-fnref-3-2\\\" data-footnote-ref=\\\"\\\" aria-describedby=\\\"footnote-label\\\"\\u003e3\\u003c/a\\u003e\\u003c/sup\\u003e The tension between those two outcomes is the story worth following. It is also the same interoperability-versus-lock-in tension that regulators are pressing from a different direction, as we covered in \\u003ca href=\\\"/eu-android-ai-agent-interoperability-dma\\\"\\u003ethe EU's push for AI agent interoperability under the DMA\\u003c/a\\u003e.\\u003c/p\\u003e\\n\\u003cp\\u003eFor now, the honest status is: the conversation has arrived at the IETF, the problem statement is well-formed, and the outcome of Thursday's session is a matter of public record on the IETF Datatracker rather than of speculation.\\u003c/p\\u003e\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\u003c/body\\u003e\\u003c/html\\u003e\"])</script><script>self.__next_f.push([1,\"23:Tbf3,\"])</script><script>self.__next_f.push([1,\"Because it can cascade. A user injects malicious input into Agent A that is aimed at Agent B; A relays it to B as normal operation, and B — trusting A — acts on it, bypassing A's defenses.7 OWASP already ranks prompt injection as the top risk for LLM applications; the multi-agent trust relationship adds a new path that application-level filters were not designed to catch.9 Footnotes\\n\\n\\n\\\"Birds of a Feather at IETF 126,\\\" IETF Blog, 2 July 2026 (BoF schedule, dates, and agentproto description). https://www.ietf.org/blog/ietf126-bofs/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7\\n\\n\\n\\\"Birds of a Feather (BOF),\\\" IETF process documentation, and \\\"Introduction to the IETF\\\" (rough consensus and running code). https://www.ietf.org/process/bofs/ ↩ ↩2 ↩3 ↩4\\n\\n\\n\\\"MCP joins the Agentic AI Foundation,\\\" Model Context Protocol Blog, 9 December 2025 (97 million monthly SDK downloads, 10,000 active servers, Linux Foundation donation). https://blog.modelcontextprotocol.io/posts/2025-12-09-mcp-joins-agentic-ai-foundation/ ↩ ↩2 ↩3\\n\\n\\n\\\"The 2026-07-28 MCP Specification Release Candidate,\\\" Model Context Protocol Blog. https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/ ↩\\n\\n\\n\\\"Google Cloud donates A2A to Linux Foundation,\\\" Google Developers Blog, 23 June 2025. https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/ ↩ ↩2\\n\\n\\n\\\"A year of open collaboration: Celebrating the anniversary of A2A,\\\" Google Open Source Blog, 16 April 2026 (\\\"over 100 technology companies now supporting the project\\\"; A2A announced 9 April 2025, donated 23 June 2025). https://opensource.googleblog.com/2026/04/a-year-of-open-collaboration-celebrating-the-anniversary-of-a2a.html ↩\\n\\n\\n\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-aiproto-framework-00, IETF (authors J. Rosenberg / Five9 and C. Jennings / Cisco; §3 requirements — Discovery, Lifecycle Management, Authentication and Authorization, User Confirmation; \\\"Prompt injection attacks are notoriously difficult to prevent\\\"). This individual Internet-Draft is expired and \\\"has no formal standing in the IETF standards process.\\\" Full text: https://www.ietf.org/archive/id/draft-rosenberg-aiproto-framework-00.txt — status: https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/00/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10\\n\\n\\n\\\"Framework, Use Cases and Requirements for AI Agent Protocols,\\\" draft-rosenberg-agentproto-usecases (the current, active revision). https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-usecases/ ↩\\n\\n\\n\\\"OWASP Top 10 for LLM Applications 2025,\\\" LLM01: Prompt Injection. https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf ↩ ↩2\\n\\n\\n\\\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting,\\\" Tech Times, 18 July 2026 (BoF-to-RFC timeline framing and framework summary). https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm ↩ ↩2\"])</script><script>self.__next_f.push([1,\"25:T520e,\"])</script><script>self.__next_f.push([1,\"\\n## TL;DR\\n\\nOn April 28, 2026 Anthropic launched **Claude for Creative Work** — a coordinated release of nine creative-tool connectors, with the **Adobe for creativity** connector as the marquee partnership.[^1][^2][^3] The Adobe connector exposes **50+ pro-grade tools** across Photoshop, Lightroom, Illustrator, Firefly, Premiere, Express, InDesign, and Adobe Stock to Claude through the Model Context Protocol (MCP), letting users describe a creative outcome in chat and have Claude orchestrate the multi-step workflow across Adobe apps.[^2][^4]\\n\\nThe other eight connectors that shipped the same day cover Blender, Ableton Live, Autodesk Fusion, Splice, SketchUp, Affinity by Canva, and Resolume's Arena and Wire — turning Claude into an orchestration layer over the 2D, 3D, audio, and live-visual stacks creative pros already pay for.[^1][^5] Anthropic also launched programs with **RISD, Ringling College of Art and Design, and Goldsmiths, University of London** to put the connectors in front of art-school students and faculty.[^1][^6]\\n\\nFor Adobe, the release lands the day after the Firefly AI Assistant entered public beta on April 27, 2026 — back-to-back agentic-AI launches from Adobe in two weeks. For Anthropic, it is the most coordinated push yet to put Claude inside the daily software of professional creatives rather than asking them to come to claude.ai.[^7]\\n\\n## What You'll Learn\\n\\nBy the end of this article you will understand:\\n\\n- What the Adobe for creativity connector actually does and how it works under MCP\\n- The full list of nine creative connectors that shipped together\\n- How the connector's free, Adobe-account, and Claude-plan tiers stack\\n- How Anthropic's strategy compares with Adobe's own Firefly AI Assistant\\n- Why \\\"Claude orchestrating Photoshop\\\" is a different bet from \\\"Claude generating images\\\"\\n- What Claude Design — Anthropic's same-day Canva-exporting design product — adds to the picture\\n- What this means for image-generation incumbents like OpenAI and Midjourney\\n\\n---\\n\\n## What Adobe and Anthropic Actually Shipped\\n\\nOn April 28, 2026, Adobe and Anthropic jointly launched the **Adobe for creativity** connector inside Claude. Adobe published the announcement on its corporate blog the same day; Anthropic packaged the partnership inside a broader \\\"Claude for Creative Work\\\" launch covering nine connectors and three educational programs.[^1][^2]\\n\\nThe mechanic is straightforward. A user signs into Claude on the web, desktop, or mobile, opens the Connectors panel under Customize, finds **Adobe for creativity** in the directory, and installs it. Once enabled in a conversation, Claude can call any of the connector's exposed tools — read a Photoshop layer, generate a Firefly image, trim a Premiere clip, render an InDesign page — by emitting an [MCP tool call](/mcp-servers-explained-claudes-new-ai-backbone-for-real-automation). The user types a goal; Claude decides which Adobe tools to call, in what order, and with what parameters.[^2][^3][^4]\\n\\nThe set of exposed tools spans **eight Creative Cloud surfaces**:[^2][^3]\\n\\n| Adobe surface | Sample capability through the connector |\\n|---|---|\\n| Photoshop | Open files, read and edit layers, apply masks, run automated retouching |\\n| Illustrator | Vector edits, asset generation, format conversion |\\n| Lightroom | Photo organisation, presets, batch adjustments |\\n| Premiere | Clip operations and video formatting |\\n| Firefly | Generative image creation with Adobe's licensed-content models |\\n| Express | Quick template-driven design |\\n| InDesign | Page layout operations |\\n| Adobe Stock | Asset search and licensing |\\n\\nTotal tool count published by both vendors: **50+ pro-grade tools** behind the connector.[^2][^4] It is the same tool surface Adobe will eventually expose through its own [Firefly AI Assistant](https://blog.adobe.com/en/publish/2026/04/27/firefly-ai-assistant-public-beta), but with Claude — not Adobe's first-party agent — as the controller.\\n\\n## The Nine Connectors That Shipped Together\\n\\nAdobe got the headline, but eight other creative tools went live on April 28, 2026 alongside it. The full list:[^1][^5][^8]\\n\\n| Connector | What Claude can do with it |\\n|---|---|\\n| **Adobe for creativity** | Orchestrate 50+ Creative Cloud tools across Photoshop, Lightroom, Illustrator, Firefly, Premiere, Express, InDesign, and Stock |\\n| **Blender** | Natural-language interface to Blender's Python API; analyse scenes, batch-edit objects, add custom tools to the Blender UI |\\n| **Autodesk Fusion** | Create and modify 3D CAD models through conversation (requires a Fusion subscription) |\\n| **Ableton Live** | Grounded Q\\u0026A against the official Live and Push documentation |\\n| **Splice** | Search Splice's royalty-free sample catalogue from inside Claude |\\n| **SketchUp** | Use a chat session as the starting point for a 3D model, then open it in SketchUp for refinement |\\n| **Affinity by Canva** | Automate batch image adjustments, layer renaming, and file export across Affinity's unified Pixel, Vector, and Layout studios |\\n| **Resolume Arena** | Real-time natural-language control of live visuals for performance and AV production |\\n| **Resolume Wire** | Real-time natural-language control of Wire's node-based patches and effects, alongside Arena and Avenue |\\n\\nThat covers raster graphics (Adobe, Affinity), vector design (Adobe, Affinity), photo editing (Adobe, Affinity), 3D modelling (Blender, SketchUp, Autodesk Fusion), motion design (Adobe Premiere), audio production (Ableton, Splice), and live performance visuals (Resolume's pair) — essentially the bulk of the modern creative pro's toolchain in a single coordinated release.\\n\\nAnthropic also made a financial contribution to support continued work on Blender's Python API, which is what makes the Blender connector possible.[^1] Anthropic's contribution was initially structured as Blender Development Fund patronage, but Blender elected to receive it as a one-time donation instead — Anthropic's own announcement was updated on May 1, 2026 to reflect that change.[^1] And because the Blender integration is built on the open MCP protocol rather than as a Claude-exclusive plugin, it works with any other LLM that speaks MCP — a deliberate signal that Anthropic is prioritising ecosystem compatibility over lock-in.[^1]\\n\\n## Claude Design: The Other Product That Launched the Same Day\\n\\nLess covered, but bundled into the same April 28 announcement, is **Claude Design** — a new product from Anthropic Labs aimed at exploring ideas for software experiences. Claude Design lets users visualise options, iterate on them based on feedback, and **export the results to other tools, starting with Canva.**[^1]\\n\\nClaude Design is not a connector — it is a first-party Anthropic surface, in the same family as the Claude Code CLI. Its launch alongside the nine creative connectors makes the broader strategy clearer: Anthropic is building both an *orchestrator* over creative software (the connectors) and a *destination* for early-stage creative ideation (Claude Design), with Canva as the first export target on the destination side. That is a different bet from purely \\\"be the agent that runs Photoshop.\\\"\\n\\n## How the Free vs. Paid Tiers Actually Work\\n\\nThis is the part most coverage gets slightly wrong, because there are **two stacked subscriptions** in play — your Claude plan and your Adobe plan — and they interact in a non-obvious way.[^4][^9][^10]\\n\\n| What you have | What you get from the Adobe connector |\\n|---|---|\\n| Free Claude plan, no Adobe account (\\\"guest mode\\\") | About 40 free tools and two pre-built skills (**Retouch Portraits**, **Batch Edit Photos**) directly in chat |\\n| Free Claude plan + free Adobe ID | All six published skills, higher usage limits, work that persists across sessions |\\n| Free Claude plan + paid Creative Cloud | Same as above plus Creative Cloud storage and access to your existing assets |\\n| Paid Claude plan (Pro / Max / Team / Enterprise) + any Adobe state | Same connector behaviour as above; the Claude plan unlocks plugins generally and lifts Claude's own usage limits |\\n\\nA few things follow from that structure:\\n\\n- **The connector is genuinely usable for free.** You do not need a Creative Cloud subscription to invoke ~40 of the connector's tools and run two end-to-end skills. The free tier is more useful than the typical \\\"demo mode\\\" framing suggests.\\n- **An Adobe ID — even a free one — unlocks more.** Six skills, higher limits, persistent work. This is Adobe's hook to get Claude users into its identity stack.\\n- **A paid Creative Cloud account isn't strictly required to use the connector**, but it is required to read or write the assets in your Creative Cloud library and to use any feature that calls a paid Adobe service (e.g., generating high-resolution Firefly outputs at scale).\\n- **A paid Claude plan isn't required for connectors specifically**, but is required for Claude Plugins generally (Pro, Max, Team, or Enterprise) — and the Adobe connector itself is invoked the same way as any other directory connector.\\n\\nThe friction graph for a brand-new user: **install in 30 seconds on a free Claude account → get ~40 free Adobe tools immediately**. That is dramatically less friction than installing Photoshop on a desktop.\\n\\n## How Each Specialised Connector Differs\\n\\nThe connectors are not all identical wrappers around a backend. Three different patterns showed up in the launch documentation:[^1][^5][^8]\\n\\n- **Tool wrappers** — Adobe for creativity, Affinity by Canva, Resolume Arena, Resolume Wire. Each tool the host app exposes becomes an MCP tool Claude can call. Claude does the orchestration; the host app does the work.\\n- **API bridges** — Blender's connector exposes Blender's Python API to Claude as a natural-language layer. Claude can write and run Python in your Blender session, which is much more open-ended than a fixed tool list.\\n- **Documentation-grounded chat** — Ableton Live's connector grounds Claude's answers in official Live and Push documentation rather than letting Claude actually drive the DAW. Useful for \\\"how do I sidechain compress in Live?\\\" not for \\\"produce me a track.\\\"\\n\\nThe split matters because it tells you what each tool's parent company was willing to expose. Blender (open source, owned by the Blender Foundation) gave Claude a Python API — the maximum surface. Adobe (publicly traded, with a large licensed-content liability) gave Claude a curated set of 50+ tools and a permission gate. Ableton (privately held, smaller engineering team) shipped a documentation grounder. The technical surface is partly a strategy signal.\\n\\n## Adobe + Claude vs. Adobe Firefly AI Assistant\\n\\nAdobe's own Firefly AI Assistant entered public beta on **April 27, 2026** — exactly one day before the Claude connector launched.[^7] The two products solve overlapping problems:\\n\\n| Capability | Firefly AI Assistant | Adobe for creativity (Claude) |\\n|---|---|---|\\n| Where you live | Adobe's Firefly app and Creative Cloud surfaces | Claude (web, desktop, mobile, Cowork) |\\n| Underlying agent | Adobe's first-party \\\"creative agent\\\" | Anthropic's Claude (any model the user has access to) |\\n| Integration depth | Native — built by Adobe | MCP connector — vended by Adobe, executed by Claude |\\n| Available outside Adobe stack | No | Yes — Claude can also call your other 50+ directory connectors in the same chat |\\n| Account needed | Adobe account required | Adobe account optional (~40 free tools without one) |\\n| Public beta / GA | Public beta, April 27, 2026 | Live globally, April 28, 2026 |\\n\\nIf you live inside Creative Cloud all day, Firefly AI Assistant is the more obvious entry point — it shares Adobe's UI conventions and your asset library is already there. If you live in Claude or you need Adobe to be one tool in a longer chain (e.g., pull a transcript from Granola, summarise it, generate a thumbnail in Firefly, post it through your Slack connector), the Claude-side connector is structurally better. The two products are not direct competitors so much as the same underlying capability fronted by two different agents.\\n\\nThe interesting framing: Adobe shipped both. The same week they launched their own creative agent, they also gave Anthropic the keys. That signals Adobe sees agentic AI as the new application surface and wants to be present on every meaningful agent — including the ones it does not own.\\n\\n## What This Says About Anthropic's Strategy\\n\\nAnthropic's framing at launch was deliberate. The Anthropic page is titled *Claude for Creative Work*, and the lede is a quote that explicitly disclaims replacement: \\\"Claude can't replace taste or imagination, but it can open up new ways of working.\\\"[^1][^11]\\n\\nThe strategic move under the marketing language is more pointed. Three things are happening at once:\\n\\n1. **MCP is becoming the application layer.** Nine partner connectors ship simultaneously, all using the same protocol. That makes \\\"MCP-native\\\" a real procurement category for Adobe, Autodesk, and Ableton — not a research project.\\n2. **Connectors compose.** The same Claude conversation that runs Photoshop can also call your Slack, Notion, Gmail, and Linear connectors — and even task-routing agents like [Claude Managed Agents](/claude-managed-agents-deploy-ai-agents-faster). Adobe's own Firefly AI Assistant is locked inside Adobe; Claude's Adobe connector is composable with the rest of the user's working stack.\\n3. **The educational beachhead is real.** Putting connectors in front of RISD, Ringling, and Goldsmiths students is how you train a generation of creatives whose default reach is \\\"ask Claude to do it in Photoshop\\\" rather than \\\"open Photoshop.\\\" Anthropic is buying the muscle memory of the next cohort.[^1][^6]\\n\\nThis is not a feature drop. It is Anthropic positioning Claude as the orchestration layer over the creative software industry, with Adobe — historically the most defensive incumbent in the category — willingly contributing the most strategically valuable surface area.\\n\\n## What It Means for Image-Generation Incumbents\\n\\nThe Claude + Adobe play sits oddly on top of the consumer image-generation market. OpenAI's GPT Image 2 (now [available in Adobe Firefly](https://news.adobe.com/news/2026/04/adobe-new-creative-agent) alongside Google's Nano Banana 2, Veo 3.1, Runway's Gen-4.5, and several others), Midjourney, and Stability all live in a different shape: they generate pixels from prompts.[^7]\\n\\nThe Adobe-for-Claude connector does not replace those models. It replaces the **manual labour** of running them inside Adobe's editors:\\n\\n- The connector reads a layered Photoshop document and asks Firefly (or whatever is configured) to fill in a missing element.\\n- The connector applies a Lightroom preset to 200 photos in batch via natural language instead of clicking.\\n- The connector pulls a stock image from Adobe Stock, places it in an InDesign layout at the right size, and exports a PDF.\\n\\nThese are workflows where the value-add is **knowing which tool to use at which step**, not which generative model produces the prettiest image. That is a different ceiling. Generative model leaderboards plateau quickly; orchestration leaderboards depend on integration depth, which is exactly what 50+ Adobe tools through MCP delivers.\\n\\n## FAQ\\n\\n**Q: Do I need a paid Adobe Creative Cloud account to use the connector?**\\nA: No. Guest mode gives you about 40 free tools and two skills (Retouch Portraits, Batch Edit Photos) without any Adobe account. Signing in with a free Adobe ID unlocks all six skills and higher limits. A paid Creative Cloud subscription adds storage and access to your existing assets.[^4][^9]\\n\\n**Q: Do I need a paid Claude plan?**\\nA: Not for the connector itself — directory connectors work on the free Claude plan. A paid plan (Pro, Max, Team, Enterprise) is required for Claude Plugins generally and for higher Claude usage limits.[^10]\\n\\n**Q: How does this differ from Adobe's own Firefly AI Assistant?**\\nA: Firefly AI Assistant is Adobe's first-party creative agent, launched in public beta on April 27, 2026, and it lives inside Adobe's surfaces. The Adobe for creativity connector is the same kind of orchestration surface but executed by Claude on Anthropic's side, which means it composes with all your other Claude connectors.[^7]\\n\\n**Q: Is this built on MCP?**\\nA: Yes. Adobe for creativity is implemented as a Model Context Protocol connector that Claude can install from its Connectors directory.[^4][^9]\\n\\n**Q: What other creative tools shipped Claude connectors the same day?**\\nA: Eight more, for a total of nine: Adobe Creative Cloud, Blender, Autodesk Fusion, Ableton Live, Splice, SketchUp, Affinity by Canva, Resolume Arena, and Resolume Wire.[^1][^5][^8]\\n\\n**Q: Can the connector use my existing Photoshop documents and Creative Cloud library?**\\nA: Yes, but only if you sign in with an Adobe account that has access to those assets. Without an Adobe account you are working inside a guest sandbox.[^4][^9]\\n\\n**Q: What's Anthropic's educational angle here?**\\nA: Three programs at launch: Art and Computation at RISD, Fundamentals of AI for Creatives at Ringling, and the MA/MFA Computational Arts program at Goldsmiths. Students and faculty get access to Claude and the new connectors and feed back into product direction.[^1][^6]\\n\\n## Bottom Line\\n\\nThe Adobe for creativity connector for Claude does not generate prettier images than the existing image-gen models. What it does is much more strategically loaded: it puts the entire Adobe Creative Cloud tool surface — 50+ pro-grade operations across eight applications — behind a single Claude prompt, on the same protocol that runs your Slack, Notion, and Linear connectors. The other eight connectors that shipped the same day do the same for Blender, Ableton, Autodesk Fusion, Splice, SketchUp, Affinity, and Resolume.\\n\\nFor working creatives, the most useful tier is the most surprising: a free Claude account plus a free Adobe ID gets you all six skills and persistent work, with no Creative Cloud subscription required. For Adobe, the bet is that being present on every meaningful agent — including the ones it does not own — is more valuable than locking customers into Firefly AI Assistant. For Anthropic, this is the clearest statement yet that Claude is meant to be the orchestration layer over the working software stack, not a destination of its own.\\n\\nThe most consequential line in the whole launch is not in any spec sheet. It is the educational programs at RISD, Ringling, and Goldsmiths. The students learning to ship creative work in 2026 will reach for \\\"ask Claude to do it\\\" as a first instinct. That is a long bet, but it is the kind of bet that has actually moved the centre of gravity of software in past decades — and in this round, it lands with Adobe quietly opening the door.\\n\\n---\\n\\n[^1]: [Claude for Creative Work — Anthropic (April 28, 2026)](https://www.anthropic.com/news/claude-for-creative-work)\\n\\n[^2]: [Adobe for creativity: a new way to create with Adobe, now in Claude — Adobe Blog (April 28, 2026)](https://blog.adobe.com/en/publish/2026/04/28/adobe-for-creativity-connector)\\n\\n[^3]: [Anthropic releases 9 Claude connectors for creative tools, including Blender and Adobe — 9to5Mac](https://9to5mac.com/2026/04/28/anthropic-releases-9-new-claude-connectors-for-creative-tools-including-blender-and-adobe/)\\n\\n[^4]: [Adobe for Creativity available in Claude — Adobe Developer documentation](https://developer.adobe.com/adobe-for-creativity/)\\n\\n[^5]: [Claude Connectors for Creative Tools: All 9 Explained (2026) — Build Fast With AI](https://www.buildfastwithai.com/blogs/claude-connectors-creative-tools-2026)\\n\\n[^6]: [Anthropic unveils \\\"Claude for Creative Work,\\\" expanding AI into professional creative tools — Neowin](https://www.neowin.net/news/anthropic-unveils-claude-for-creative-work-expanding-ai-into-professional-creative-tools/)\\n\\n[^7]: [Firefly AI Assistant now available in public beta — Adobe Blog (April 27, 2026)](https://blog.adobe.com/en/publish/2026/04/27/firefly-ai-assistant-public-beta)\\n\\n[^8]: [Anthropic Claude Now Connects With Affinity, Adobe, and Other Creator Solutions — Thurrott.com](https://www.thurrott.com/a-i/anthropic/335498/anthropic-claude-now-connects-with-affinity-adobe-and-other-creator-solutions)\\n\\n[^9]: [Adobe for Creativity — Getting started — Adobe Developer documentation](https://developer.adobe.com/adobe-for-creativity/getting-started/)\\n\\n[^10]: [Use connectors to extend Claude's capabilities — Claude Help Center](https://support.claude.com/en/articles/11176164-use-connectors-to-extend-claude-s-capabilities)\\n\\n[^11]: ['Claude can't replace taste or imagination, but it can open up new ways of working': Anthropic signs up Adobe, Blender and more — TechRadar](https://www.techradar.com/pro/claude-cant-replace-taste-or-imagination-but-it-can-open-up-new-ways-of-working-anthropic-signs-up-adobe-blender-and-more-to-push-claude-into-creative-work)\\n\"])</script><script>self.__next_f.push([1,\"26:T3c03,\"])</script><script>self.__next_f.push([1,\"\\n## TL;DR\\n\\nOn April 8, 2026, Anthropic launched **Claude Managed Agents** in public beta — a hosted platform that handles sandboxing, state management, tool execution, and error recovery so developers can ship autonomous AI agents in days instead of months. Pricing follows standard Claude API token rates plus **$0.08 per active session-hour**. Early adopters include Notion, Rakuten, Asana, Sentry, and Vibecode, with Allianz deploying custom agents across insurance operations. The architecture separates sessions, harnesses, and sandboxes into independent components — a design Anthropic says cut time-to-first-token by roughly 60% at P50.[^1][^2]\\n\\n---\\n\\n## What You'll Learn\\n\\n- What Claude Managed Agents is and the problem it solves\\n- How the session–harness–sandbox architecture works under the hood\\n- Pricing breakdown and what \\\"active session-hour\\\" means\\n- Which companies are already using it and for what\\n- How Managed Agents compares to OpenAI Agents SDK, Google ADK, and open-source frameworks\\n- What features are still in research preview and when to expect them\\n\\n---\\n\\n## The Problem: Agent Infrastructure Is Expensive to Build\\n\\nBuilding a production AI agent requires more than a good model. Developers need secure sandboxing, credential management, long-running session persistence, error recovery, tool orchestration, and tracing — infrastructure that typically takes months to build and maintain.[^1]\\n\\nIndustry analysis suggests that enterprises consistently underestimate the infrastructure investment required for production agent deployments — often by 40–60% relative to the agent development cost itself. Observability, identity management, and integration layers consume more resources than the agent implementation.[^3]\\n\\nClaude Managed Agents addresses this gap directly: it is a hosted service in the Claude Platform that runs long-horizon agents on your behalf through a small set of APIs.[^1]\\n\\n---\\n\\n## How Managed Agents Works\\n\\n### Core Concepts\\n\\nThe platform is built around four primitives:[^4]\\n\\n**Agent** — the model (currently Claude models only), system prompt, tools, MCP servers, and skills that define what the agent can do.\\n\\n**Environment** — a configured container template specifying pre-installed packages (Python, Node.js, Go, and others), network access rules, and mounted files.\\n\\n**Session** — a running agent instance performing a specific task within an environment, generating outputs that persist even through disconnections.\\n\\n**Events** — messages exchanged between your application and the agent, including user turns, tool results, and status updates. Events stream back via server-sent events (SSE).[^4]\\n\\n### The Brain-and-Hands Architecture\\n\\nUnder the hood, Anthropic's engineering team decoupled the agent into three independent components inspired by operating system design — what they call \\\"virtualizing the components of an agent.\\\"[^2]\\n\\n**Session (the state)** stores an append-only event log durably, independent of the harness or sandbox. If the harness crashes, no work is lost because the session persists outside it. Developers can query the event log with positional slices — picking up from the last read point, rewinding to see the lead-up to a decision, or re-reading context before taking action.[^2]\\n\\n**Harness (the brain)** is a stateless orchestration layer. It calls Claude, routes tool results, and manages context transformations. Because it is stateless, it can be replaced instantly: a crash is caught as a tool-call error, a new harness wakes with `wake(sessionId)`, and execution resumes from the last event.[^2]\\n\\n**Sandbox (the hands)** is the execution environment where code runs, files are edited, and tools are invoked. Sandboxes are provisioned on demand via a `provision({resources})` call and are treated as disposable — replaced rather than repaired. Each tool is exposed through a uniform `execute(name, input) → string` interface, whether it is a container, an MCP server, or a custom integration.[^2]\\n\\nThis separation matters for performance. In Anthropic's original coupled design, the session, harness, and sandbox lived inside a single container. When it failed, the session was lost. After decoupling, P50 time-to-first-token dropped roughly 60%, and P95 dropped over 90% — because inference no longer waits for container startup.[^2]\\n\\n### Security Boundaries\\n\\nCredentials never reach the code-execution sandbox. Git tokens are injected during initialization but remain unavailable to generated code. OAuth tokens sit in a secure vault, accessed only through an MCP proxy that maps the session token to the right credentials. Claude never sees raw authentication material.[^2]\\n\\n---\\n\\n## Built-In Tools and MCP Support\\n\\nManaged Agents gives Claude access to several built-in tool categories:[^4]\\n\\n**Bash** — shell commands run inside the container. **File operations** — read, write, edit, glob, and grep across the container's file system. **Web search and fetch** — search the web and retrieve content from URLs. **MCP servers** — connect to any external tool provider using the Model Context Protocol.\\n\\nMCP integration is handled through a dedicated proxy. The proxy fetches authentication from the vault, calls the MCP server, and returns results — all without the agent or sandbox ever seeing raw credentials.[^2]\\n\\nThis tool-use-first design means any custom tool, any MCP server, and any Anthropic-provided tool looks identical to the harness: a name and input go in, a string comes back.[^2]\\n\\n---\\n\\n## Pricing\\n\\nClaude Managed Agents follows a consumption model:[^1]\\n\\nStandard Claude Platform token rates apply (the same rates you pay for the Messages API). On top of that, there is a **$0.08 per session-hour** charge for active runtime. \\\"Active\\\" means the session is processing work — idle sessions do not accrue charges. When agents perform web searches through the platform, Anthropic charges **$10 per 1,000 searches** on top of model usage costs.[^5]\\n\\nFor context: an agent running Claude Sonnet 4.6 for one hour of active work would cost roughly $0.08 in session fees plus whatever token costs the task generates. This compares to the alternative of provisioning, securing, and maintaining your own container infrastructure — which Anthropic argues costs orders of magnitude more when accounting for engineering time.[^1]\\n\\n---\\n\\n## Who Is Already Using It\\n\\nSeveral high-profile companies are building on Managed Agents:[^1]\\n\\n**Notion** launched Custom Agents publicly in February 2026 and is now integrating Claude Managed Agents into the platform (currently in private alpha) for code shipping and content creation workflows. **Rakuten** deploys enterprise agents across product, sales, marketing, and finance teams via Slack and Microsoft Teams. **Asana** has integrated AI Teammates — collaborative agents that work within Asana projects. **Sentry** built a debugging agent that pairs with patch-writing and PR-opening capabilities. **Vibecode** reports that Managed Agents enables customers to deploy applications ten times faster.[^1]\\n\\nBeyond these, **Allianz** — the global insurance conglomerate — signed a partnership with Anthropic in January 2026 that includes building custom AI agents for multistep workflows with a human in the loop, deploying Claude Code for all technical teams, and implementing an AI logging system for regulatory transparency.[^6]\\n\\n---\\n\\n## Research Preview Features\\n\\nTwo capabilities launched in research preview, requiring a separate access request:[^1]\\n\\n**Multi-agent coordination** — an orchestrator agent can spawn and coordinate multiple sub-agents in parallel, with Managed Agents handling communication and state sharing between them.\\n\\n**Outcomes (self-evaluation)** — developers define success criteria for a task, and Claude self-evaluates and iterates until it meets them, adding a goal-directed quality-control loop to the agent pipeline. In Anthropic's internal testing on structured file generation, Outcomes improved task success by up to 10 points over a standard prompting loop, with the largest gains on the hardest problems.[^1]\\n\\nAnthropic has not announced a timeline for graduating these features to general availability. Persistent memory tooling was not part of the April 8 launch — Anthropic added it as a separate public-beta feature on April 23, 2026, roughly two weeks later.[^9]\\n\\n---\\n\\n## How It Compares to Alternatives\\n\\nThe [agentic AI landscape](/mastering-agent-orchestration-patterns-from-theory-to-production) in 2026 offers several paths to building production agents. Here is how they differ:[^7][^8]\\n\\n**Claude Managed Agents** is a fully hosted service. Developers define an agent, point it at an environment, and start sessions. The platform handles orchestration, sandboxing, and recovery. The trade-off is model lock-in: only Claude models run in the harness. If you later want to switch models, you rebuild the orchestration layer.[^7]\\n\\n**OpenAI Agents SDK** takes an open-source, code-first approach. Its core abstraction is the handoff — agents transfer control to each other explicitly, carrying conversation context through the transition. A working multi-agent system can be defined in under twenty lines of Python. The SDK supports non-OpenAI models through custom providers, though it is optimized for OpenAI's own models.[^8]\\n\\n**Google Agent Development Kit (ADK)** provides a hierarchical agent tree with deep integration into Google Cloud (Vertex AI Agent Engine) and Google's search infrastructure. Its differentiator is grounding — agents can search Google in real time and base responses on cited information, which addresses hallucination at the infrastructure level.[^8]\\n\\n**LangGraph** leads on production maturity among open-source frameworks, with built-in checkpointing, time-travel debugging, and LangSmith integration for observability. It supports any model but requires learning its graph abstraction — expect one to two weeks before a team is productive.[^7]\\n\\n**CrewAI** offers the lowest barrier to entry with a role-based DSL and processes over 12 million executions per day as of early 2026. It has raised $18 million in funding led by Insight Partners and reports 60% Fortune 500 adoption.[^7]\\n\\nThe key distinction is hosted versus self-managed. Managed Agents eliminates infrastructure work but binds you to Claude. The SDKs and frameworks give you flexibility but require you to build and maintain the operational layer yourself.\\n\\n---\\n\\n## What This Means for Developers\\n\\nClaude Managed Agents represents Anthropic's bet that most teams building [AI agents](/ai-agents-the-next-frontier-in-software-development) do not want to be in the infrastructure business. The platform absorbs the operational complexity — sandboxing, permissions, state management, error recovery — and exposes a clean API surface.\\n\\nFor teams already building on [Claude Code](/mastering-claude-code-a-complete-hands-on-tutorial-guide) or the Claude Agent SDK, Managed Agents provides a natural upgrade path to production deployment. For teams evaluating the [MCP ecosystem](/mcp-servers-explained-claudes-new-ai-backbone-for-real-automation), the platform's first-class MCP support means existing MCP servers plug in without modification.\\n\\nThe $0.08-per-session-hour pricing is aggressive enough that many teams will find it cheaper than maintaining their own agent infrastructure, especially when factoring in engineering time for security, recovery, and scaling.\\n\\nThe open question is whether model lock-in matters. In a landscape where the performance gap between frontier models narrows with each release, betting your agent infrastructure on a single provider is a real trade-off. Anthropic is clearly betting that Claude's capabilities — extended thinking, computer use, and deep MCP integration — are compelling enough to justify it.[^8]\\n\\n---\\n\\n## Getting Started\\n\\nClaude Managed Agents is available today in public beta. To start building, you need a Claude API key and the `managed-agents-2026-04-01` beta header on all requests (the SDK sets this automatically). The service is enabled by default for all API accounts — no waitlist required for the core platform.[^4]\\n\\nMulti-agent coordination, memory, and outcomes (self-evaluation) require a separate access request through Anthropic's form.[^4]\\n\\n---\\n\\n## Frequently Asked Questions\\n\\n**What models does Claude Managed Agents support?**\\nCurrently, only Claude models run in the Managed Agents harness. This includes Claude Sonnet 4.6, Claude Opus 4.6, and Claude Haiku 4.5.[^4]\\n\\n**Can I use my existing MCP servers?**\\nYes. MCP servers connect through the platform's proxy layer, which handles authentication via a secure vault. Existing MCP servers work without modification.[^2][^4]\\n\\n**What happens if a session crashes?**\\nSessions persist independently of the harness and sandbox. If either component fails, a new instance boots and resumes from the last event in the session log. No work is lost.[^2]\\n\\n**Is there a free tier?**\\nNo dedicated free tier has been announced. Standard Claude API pricing applies, plus the $0.08 per active session-hour. Anthropic provides usage credits for new API accounts, which can be used for Managed Agents.[^4]\\n\\n**How does this relate to Claude Code?**\\nClaude Code is a CLI tool for agentic coding on your local machine. Managed Agents is a cloud-hosted platform for deploying agents at scale. They share the same underlying model capabilities but serve different use cases — local development versus production deployment.[^1]\\n\\n---\\n\\n## Bottom Line\\n\\nClaude Managed Agents is Anthropic's infrastructure play for the agentic AI era. By handling sandboxing, state management, and tool execution as a managed service, it removes the primary barrier that keeps most agent prototypes from reaching production. The brain-and-hands architecture is technically sound, the early customer list is strong, and the $0.08-per-session-hour pricing undercuts the true cost of self-hosted alternatives. The trade-off is model lock-in — a bet that Claude's capabilities justify the commitment. For teams already in the Anthropic ecosystem, this is a straightforward upgrade. For everyone else, it is a compelling argument to evaluate one.\\n\\n---\\n\\n[^1]: Anthropic, \\\"Claude Managed Agents: get to production 10x faster,\\\" claude.com/blog/claude-managed-agents, April 8, 2026.\\n[^2]: Anthropic Engineering, \\\"Scaling Managed Agents: Decoupling the brain from the hands,\\\" anthropic.com/engineering/managed-agents, April 2026.\\n[^3]: Industry analysis from LangChain's \\\"State of Agent Engineering\\\" survey and related enterprise infrastructure reports, 2026.\\n[^4]: Anthropic, \\\"Claude Managed Agents overview,\\\" platform.claude.com/docs/en/managed-agents/overview, April 2026.\\n[^5]: Anthropic pricing documentation, platform.claude.com/docs/en/about-claude/pricing, accessed April 2026.\\n[^6]: Allianz, \\\"Allianz and Anthropic forge global partnership to advance responsible AI in insurance,\\\" allianz.com, January 9, 2026.\\n[^7]: Multiple sources including Composio, Gurusup, and MorphLLM framework comparisons, April 2026.\\n[^8]: Composio, \\\"Claude Agents SDK vs. OpenAI Agents SDK vs. Google ADK,\\\" composio.dev, April 2026.\\n[^9]: Anthropic, \\\"Built-in memory for Claude Managed Agents,\\\" claude.com/blog/claude-managed-agents-memory, April 23, 2026.\\n\"])</script><script>self.__next_f.push([1,\"27:T5134,\"])</script><script>self.__next_f.push([1,\"\\n# Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\\n\\n**In one line:** Pinecone Nexus is a \\\"knowledge engine\\\" for AI agents that compiles an enterprise's scattered data into structured, pre-built artifacts agents query in one step — moving reasoning and token spend out of the per-query retrieval loop that defines RAG and into a one-time curation stage.[^1][^3]\\n\\n**TL;DR:** On July 1, 2026, Pinecone — the vector-database company that, by its own account, \\\"defined RAG as a standard pattern\\\" — moved Pinecone Nexus into public preview, nearly two months after opening early access.[^1][^3] Nexus reframes the problem: rather than letting an agent search, retrieve, and reassemble context on every task, it compiles a company's knowledge into typed artifacts ahead of time and serves them through a declarative query language called KnowQL.[^1][^2] Benchmarks published by Pinecone and by customers evaluating it during early access show large accuracy and token-cost gains over agentic RAG on bounded document corpora.[^2][^3] The framing in the trade press — that \\\"the RAG era is ending\\\" — is louder than the evidence: Nexus targets bounded corpora, none of the numbers have been independently reproduced, and the more defensible reading is that retrieval is bifurcating, not dying.[^5][^6][^7]\\n\\n## What you'll learn\\n\\n- What Pinecone actually announced across May and July 2026, and what \\\"public preview\\\" does and does not mean\\n- What a \\\"knowledge engine\\\" is, and how it differs from RAG and from a vector database\\n- How Nexus is put together — Connectors, Workspaces, Contexts, Manifests, and KnowQL\\n- The specific numbers Pinecone is pointing to, including the ones it leads with, and why the \\\"vendor benchmark\\\" label matters\\n- Whether RAG is actually \\\"dead\\\" — the evenhanded version, with the counterarguments\\n- What this means if you are building agents right now\\n\\n## What Pinecone actually announced\\n\\nNexus arrived on May 4, 2026 in a pair of same-day posts: a company-level launch announcement from Ash Ashutosh and Edo Liberty introducing Nexus and its query language KnowQL, and an engineering deep dive from Jeff Zhu and Siva Ragavan bluntly titled \\\"Better Models Won't Save Your Agent.\\\"[^1][^2] At that point it was early access only, open to a limited set of design partners.[^2] On July 1, 2026, Pinecone opened Nexus to public preview, telling anyone with a business use case they could request access.[^3] Public preview is not general availability: access is still request-gated, and the production deployment path is a separate request.[^3]\\n\\nThe pitch behind the product is a diagnosis, and Pinecone states it aggressively. Frontier models, the company argues, are rarely the limiting factor; the reasoning step is usually fine. What breaks is everything before it. An agent gets a task, searches, retrieves, evaluates, decides it needs more, searches again, and loops — and by the time it can answer, most of the token and latency budget is gone.[^2] Pinecone puts a number on it, claiming that \\\"roughly 85% of an agent's effort is spent on knowledge retrieval,\\\" with task completion rates \\\"stuck at 50–60%,\\\" and it dismisses retrieval-at-inference as \\\"the 'ten blue links' era of agentic retrieval.\\\"[^1] That last line is the one the trade press seized on.[^5]\\n\\nThe discipline Pinecone is invoking has a name: *context engineering*, which it describes as shaping data into knowledge the model can use, instead of asking the agent to reassemble it from raw data at query time.[^2][^8] Nexus is Pinecone's bet on productizing it.\\n\\n## What a \\\"knowledge engine\\\" is\\n\\nIn Pinecone's framing, a knowledge engine \\\"compiles an enterprise's distributed knowledge into a structured layer agents can query directly, shifting token spend out of the per-query retrieval loop and into a one-time curation step.\\\"[^3] The contrast it is drawing is with retrieval-augmented generation. Classic RAG solves a specific problem well: give a language model access to external knowledge at inference time by retrieving relevant document chunks. That worked because early use cases were request-response — a user asks, the system retrieves, the model answers.[^2]\\n\\nAgent workloads break that assumption. A single agent task can touch dozens of documents across years and departments, and standard chunk-and-retrieve either misses facts that are not co-located or burns the budget looping to reassemble them.[^2][^3] A knowledge engine moves that assembly work upstream. Instead of handing the agent chunks and asking it to stitch an answer together, Nexus pre-shapes source data into *artifacts* — typed, governed pieces of information built for a specific task — so the agent reads a mostly-finished answer rather than reconstructing one.[^2]\\n\\nPinecone's own formulation is that Nexus is \\\"a knowledge engine, not a retrieval system,\\\" and the distinction it wants is with inference-time retrieval, not with vector search as such.[^1] It is not retiring its vector index: the company says plainly that \\\"the Pinecone vector database is the foundation; vector primitives and their management remain essential,\\\" and Nexus runs on the retrieval substrate Pinecone has spent years building.[^1][^2] The layer sits above search, aimed at a third kind of knowledge that neither model weights nor vector search captures well — business context, \\\"what a three-year employee knows without searching,\\\" scattered across contracts, wikis, HR docs, meeting notes, support tickets, and financial records.[^3]\\n\\nIs any of this new? Pinecone answers both ways in the same week. The engineering post concedes that \\\"knowledge graphs, entity catalogs, and semantic layers have existed for decades\\\" and that the hard part was never the concept but operationalizing it per domain — while its own section heading insists this is \\\"a new category, not a better pipeline,\\\" and the launch post claims a knowledge engine that moves reasoning from retrieval to curation \\\"did not exist until today.\\\"[^1][^2] The honest read is that the instinct is old and the packaging is new.\\n\\n## Inside Nexus: Manifests, Contexts, and KnowQL\\n\\nIn the public-preview build, the moving parts are organized like this.[^3] **Connectors** handle ingestion; local file upload, Box, and Microsoft OneLake are live, with Google Drive, Slack, GitHub, Notion, Confluence, and S3 described as close behind.[^3][^4] A **Workspace** is the top-level container, one per team or business unit that owns its own data sources and access controls. Inside a Workspace, data is organized into **Contexts** — one per dataset or knowledge domain.[^3]\\n\\nThe most interesting design choice is the **Manifest**. A Manifest is a blueprint that tells Nexus how to turn raw documents into structured knowledge artifacts tuned to a domain, and it is meant to be authored by a subject-matter expert rather than a retrieval engineer.[^3] The patent attorney who knows how patent standards are organized, or the M\\u0026A analyst who knows which document categories to cross-reference, designs the artifact types and relationships before any query runs. The agent then inherits that understanding instead of rediscovering the corpus structure on every call.[^3] This is a real shift in emphasis from May: the launch materials led with an autonomous \\\"context compiler\\\" — a coding agent that iterates on curation and query code against an eval set — whereas the public-preview messaging centers the human-in-the-loop Manifest, with re-curation as the answer to what Pinecone calls knowledge drift.[^1][^2][^3]\\n\\nWork runs as **Tasks** — import, curate, and search — inside isolated sandboxes, and everything is queried through **KnowQL** (Knowledge Query Language), the single interface agents talk to.[^2][^3] The declarative design is the point: like SQL, the agent states what answer it needs, in what shape, and with what constraints, and the engine decides which contexts to search and which artifacts to compose.[^1][^2] Pinecone's two May posts describe its surface slightly differently — the engineering post organizes a query into four categories (intent, filter, provenance, and a control budget), while the launch post advertises six core primitives, adding output shape and confidence.[^1][^2] Either way the ambition is explicit: Pinecone wants KnowQL to be a shared interface rather than a private one, and it has LangChain and Teradata publicly signed up to help advance it.[^1] That ambition has an obvious hurdle, as The New Stack put it: \\\"KnowQL has to clear the standardization bar SQL cleared, and standards do not get declared into existence by a single vendor.\\\"[^5]\\n\\nFor production, Pinecone points to a bring-your-own-cloud deployment where the cluster runs in the customer's own VPC and, the company says, documents never leave the customer's infrastructure. That deployment is request-gated, and as of the May launch Pinecone described BYOC support for Nexus specifically as coming \\\"very soon.\\\"[^1][^3]\\n\\n## The numbers Pinecone is pointing to\\n\\nPinecone leads with headline figures: task completion rates above 90%, \\\"30x faster time-to-completion,\\\" and up to 90% less token spend.[^1] The trade press repeated them, though not uncritically. Reviewing the completion-rate and token-spend claims, The New Stack wrote: \\\"Take this claim with a grain of salt until production teams confirm\\\" — while arguing that Pinecone's structural case \\\"does not need the numbers to hold.\\\"[^5] Everything below is either Pinecone's own benchmark or a customer evaluation conducted during early access. None of it has been independently reproduced.\\n\\nPinecone's named internal benchmark, KRAFTBench, pits Nexus against an agentic-RAG pipeline and a sandboxed coding agent on 493 free-form 10-K filings (about 245MB) from S\\u0026P 500 companies, asking 150 hard financial questions with a 120-second, one-million-token budget each.[^2] Pinecone reports Nexus completing every question at 22.7 seconds average latency and about 6,700 tokens per task, versus 37.9 seconds and roughly 49,000 tokens for agentic RAG, and 84.1 seconds and about 528,000 tokens for the coding agent, which finished only 63% of the questions.[^2] That is roughly 7× fewer tokens than RAG and about 80× fewer than the coding agent. The accuracy column is more sobering than the headline claims suggest: Nexus scores 0.680, against 0.413 for agentic RAG and 0.585 for the coding agent.[^2] Nexus wins the comparison clearly, but 68% on the vendor's own harness is not a solved problem.\\n\\nThe public-preview post adds three customer-facing evaluations, all on small question sets. Q2, a digital-banking infrastructure provider, ran its own benchmark without Pinecone in the loop and reported a 95% F1 score across a 20-question eval set; its chief data scientist, Jesse Barbour, said his team could \\\"easily stand up a vector database and run RAG\\\" over its corpus, and that \\\"the hard part is getting an agent to reliably and efficiently assemble the right knowledge for genuinely difficult questions.\\\"[^3] A second benchmark, which Pinecone says it ran with a legal-research AI company over 30,000 documents of EU case law and legislation, pitted Nexus against agentic RAG and a coding agent across 35 questions: Pinecone reports 100% completion at 87% accuracy for Nexus versus 66% completion at 45% accuracy for RAG and 6% completion at 4% accuracy for the coding agent, with token use roughly 9–15× lower.[^3][^4] A third, run with a data-protection vendor across 598 municipal-meeting documents, reports 90% accuracy against a 65% RAG baseline on a 100-question set, with a one-time curation cost of $2.31 to compile the corpus into twelve artifact types in 34 minutes.[^3]\\n\\nThe direction is consistent across all four: compile once, and the per-query cost collapses. The evidentiary weight is thinner than it first appears. Only the KRAFTBench and legal benchmarks report a full head-to-head against RAG on completion, accuracy, and tokens together; Q2 published no RAG baseline or token comparison beyond its executive's assertion, and the municipal benchmark reports cost per query rather than a token comparison. The corpora are large; the question sets are 20, 35, 100, and 150 items.\\n\\n## Is RAG actually \\\"dead\\\"?\\n\\nHeadlines raced ahead of the product back in May, when Nexus was still early access. VentureBeat framed it as \\\"the RAG era is ending for agentic AI\\\" on the day of the announcement, and The New Stack ran \\\"the company that made RAG mainstream is now betting against it\\\" two days later.[^5][^6] That is a good story, and an incomplete one.\\n\\nStart with scope. Pinecone says Nexus is \\\"built for bounded corpora where agents need to reason across documents,\\\" at its best where a single question touches dozens of files and standard retrieval starts falling apart.[^3] That is a real and common shape — financial filings, case law, support archives, government records — but it is a shape, not the whole space. A knowledge base that changes hourly, an open-ended web search, or a lookup that only ever needs one chunk are not obviously improved by paying an upfront compilation cost. Pinecone scopes Nexus to bounded corpora but does not extend that caution to the cases above; its launch materials illustrate Nexus working over fast-moving operational estates that include Slack, Gong, and Jira (as example data sources rather than shipped connectors), and it launched a marketplace of more than 90 knowledge applications spanning sales, HR, and support.[^1] Exactly where the limits fall is a reading of the evidence, not a line the vendor draws.\\n\\nThe counterargument that holds up best is that retrieval is not disappearing so much as being re-drawn. In January 2026 — months before Nexus existed publicly — Algolia published a rebuttal to a viral essay titled \\\"The RAG Obituary,\\\" arguing that the case against RAG is really a case against \\\"naive, slow, passive implementations,\\\" and that once hybrid keyword-and-vector retrieval is \\\"fast, structured, predictable, and directly callable by the model, the distinction of RAG vs agents becomes obsolete.\\\"[^7] Algolia sells retrieval, so read it with the same skepticism as Pinecone's benchmarks; but the continuum argument is the one that survives contact with real systems. Compiling knowledge upfront and retrieving it at query time are points on a spectrum, and where a given workload lands depends on how bounded and how stable its corpus is. Pinecone is also not alone in the compilation direction — InfoQ points to comparable efforts from Cognite, RelationalAI, and LlamaIndex, among others.[^4]\\n\\nWhere boosters and skeptics agree is the underlying insight, and it is worth taking seriously even if you never touch Nexus: for agents working a fixed corpus, making the model rediscover the same structure on every task is waste. That is the same lesson showing up in adjacent work on [agent memory systems](/microsoft-memora-huawei-jiuwenmemory-agent-memory) and on [how many tools an agent can realistically juggle](/how-many-tools-can-an-ai-agent-handle) — the bottleneck in 2026 is less often the model and more often the context you hand it.\\n\\n## Why it matters if you are building agents\\n\\nThe practical takeaway is not \\\"rip out your RAG pipeline.\\\" It is a question worth asking about any agent you are shipping: how much of its token bill and latency is spent re-deriving structure it could have been handed? If an agent repeatedly loops over the same bounded set of documents to answer variations of the same question, the compilation-first model is a genuinely different cost curve, because the reasoning-about-the-corpus work is amortized once instead of paid per query.[^2][^3]\\n\\nThere are trade-offs the benchmarks do not foreground. Compilation adds an upstream step — someone has to author the Manifest and re-curate when the corpus drifts — which shifts effort rather than erasing it, and it fits corpora stable enough to be worth compiling.[^3] It also concentrates a great deal in one vendor's curation layer and query surface; the LangChain and Teradata collaborations suggest Pinecone knows a single-vendor interface is a hard sell, and the bring-your-own-cloud option and field-level provenance are the answers it offers to the governance version of the same worry.[^1][^3] For teams already thinking in terms of [context engineering rather than prompt engineering](/claude-memory-tool-context-editing-typescript-tutorial), and for anyone weighing how much agent behavior should be pinned down at build time versus discovered at run time (the same tension underneath [agent tooling protocols like MCP](/mcp-stateless-protocol-enterprise-authorization)), Nexus is a clear, well-argued data point — provided you read its benchmarks as the vendor's case rather than a settled result.\\n\\n## FAQ\\n\\n**What is Pinecone Nexus?** It is a \\\"knowledge engine\\\" for AI agents, announced May 4, 2026 and in public preview since July 1, 2026. It compiles an enterprise's scattered documents into structured, task-specific artifacts ahead of time, so agents query a pre-built knowledge layer through the KnowQL query language instead of retrieving and reassembling raw chunks on every request.[^1][^3]\\n\\n**Is RAG dead in 2026?** No — but standard \\\"retrieve-then-generate\\\" RAG is being narrowed. For bounded, slow-changing corpora, compilation-first approaches can beat agentic RAG on accuracy and token cost; for fast-changing or open-ended data, retrieval remains the right tool. The realistic framing is a spectrum, not a death.[^5][^7]\\n\\n**How is a knowledge engine different from a vector database?** A vector database finds relevant chunks at query time. A knowledge engine sits above search and pre-compiles those sources into typed, governed artifacts, so the agent reads a mostly-finished answer instead of assembling one. Pinecone describes Nexus as \\\"a knowledge engine, not a retrieval system,\\\" and says its vector database remains the foundation underneath.[^1][^2]\\n\\n**What is KnowQL?** KnowQL — Knowledge Query Language — is Pinecone's declarative query language and the single interface agents use to talk to Nexus. Like SQL, the agent declares the answer it needs, the shape it wants, and its constraints, and the engine plans how to compose it, returning typed responses with field-level citations.[^2] LangChain and Teradata have said they are working with Pinecone to advance it.[^1]\\n\\n**Are the performance numbers independent?** No. They come from Pinecone's own KRAFTBench harness and from early customers evaluating on Pinecone's preview environment — one of whom, Q2, ran its evaluation without Pinecone involved, though still on Pinecone's platform. The eval sets range from 20 to 150 questions. Treat them as the vendor's case until third parties reproduce them.[^2][^3][^5]\\n\\n**Can I run it without sending Pinecone my data?** Pinecone points to a bring-your-own-cloud deployment where the cluster runs inside your own VPC, which the company says means your documents never leave your infrastructure. It is request-gated for production workloads, and Pinecone described BYOC coverage for Nexus as arriving \\\"very soon\\\" as of its May launch. The hosted preview playground is the lower-commitment way to try it.[^1][^3]\\n\\n[^1]: Pinecone, \\\"Pinecone Nexus: The Knowledge Engine for Agents\\\" (launch announcement; Ash Ashutosh and Edo Liberty, May 4, 2026). https://www.pinecone.io/blog/knowledge-infrastructure-for-agents/\\n[^2]: Pinecone, \\\"Better Models Won't Save Your Agent\\\" (engineering deep dive and KRAFTBench results; Jeff Zhu and Siva Ragavan, May 4, 2026). https://www.pinecone.io/blog/introducing-nexus-knowledge-engine/\\n[^3]: Pinecone, \\\"Pinecone Nexus Is Now in Public Preview\\\" (Jasmeet Singh Gujral and Lea Wang-Tomic, July 1, 2026). https://www.pinecone.io/blog/pinecone-nexus-public-preview/\\n[^4]: Sergio De Simone, \\\"Pinecone Introduces Nexus Engine for Compiling Business Context into Structured Data for AI Agents,\\\" InfoQ, July 18, 2026. https://www.infoq.com/news/2026/07/pinecon-nexus-knowledge-engine/\\n[^5]: Janakiram MSV, \\\"The company that made RAG mainstream is now betting against it,\\\" The New Stack, May 6, 2026. https://thenewstack.io/pinecone-nexus-rag-obsolete/\\n[^6]: \\\"The RAG era is ending for agentic AI — a new compilation-stage knowledge layer is what comes next,\\\" VentureBeat, May 4, 2026. https://venturebeat.com/data/the-rag-era-is-ending-for-agentic-ai-a-new-compilation-stage-knowledge-layer-is-what-comes-next\\n[^7]: Alex Webb, \\\"No, RAG is not dead,\\\" Algolia, January 15, 2026 — a response to the viral essay \\\"The RAG Obituary: Killed By Agents, Buried By Context Windows.\\\" https://www.algolia.com/blog/ai/rag-is-not-dead\\n[^8]: Pinecone, \\\"What is Context Engineering?\\\" https://www.pinecone.io/learn/context-engineering/\\n\"])</script><script>self.__next_f.push([1,\"28:T39f4,\"])</script><script>self.__next_f.push([1,\"\\n# Prompt Optimization for AI Agents: GEPA and DSPy (2026)\\n\\n**In one line:** Prompt optimization for AI agents is becoming automatic. GEPA — a Genetic-Pareto optimizer accepted as an ICLR 2026 Oral — rewrites an agent's prompts by reflecting on its own reasoning and tool-call traces, beating reinforcement learning across six tasks with up to 35x fewer runs.[^1]\\n\\n**TL;DR:** For two years the advice for making an agent reliable was \\\"write a better system prompt.\\\" In 2026 that job is being handed to an optimizer. GEPA (Genetic-Pareto) reads an agent's own execution traces — the reasoning, the tool calls, the tool outputs — diagnoses what went wrong in plain English, and evolves the prompt from there. It landed as an Oral at ICLR 2026, ships as a first-class DSPy optimizer (`dspy.GEPA`) and a standalone library with several thousand GitHub stars, and reports beating the reinforcement-learning method GRPO by up to 20% while using up to 35x fewer rollouts.[^1][^2][^3] The catch, published in June, is that the same technique gets unpredictable the moment you point it at a multi-agent system.[^4]\\n\\n## What you'll learn\\n\\n- What GEPA is and how \\\"reflective prompt evolution\\\" differs from hand-tuning a prompt\\n- The benchmark numbers that got it an ICLR 2026 Oral — and what they do and don't claim\\n- Why reading tool-call traces makes this specifically an *agent* technique, not just an LLM trick\\n- Where it already lives in your stack: `dspy.GEPA`, the standalone library, and the big-lab prompt tools\\n- The catch: what MAS-PromptBench found when the same optimizer met multi-agent systems\\n- What to actually do about it if you build agents\\n\\n## What GEPA actually is\\n\\nGEPA — short for **Genetic-Pareto** — is a prompt optimizer that \\\"thoroughly incorporates natural language reflection to learn high-level rules from trial and error.\\\"[^1] That definition, from the paper's own abstract, is the whole idea in one sentence. Instead of adjusting model weights or nudging a numeric reward, GEPA works in the medium the model already understands best: language.\\n\\nHere is the loop. You give GEPA an AI system that contains one or more prompts, plus a way to score its output. GEPA runs the system on a handful of training tasks and records the full trajectory — the model's reasoning, the tool calls it made, and the outputs those tools returned. A reflection step then reads those traces in natural language, diagnoses what failed, and writes a revised prompt. Crucially, it keeps a *Pareto frontier* of its best attempts rather than a single \\\"current best,\\\" so it can combine complementary lessons from prompts that each won on different examples.[^1] The result is a rewritten instruction that a human never typed.\\n\\nThe reason this matters is the medium. The paper's core argument is that \\\"the interpretable nature of language often provides a much richer learning medium for LLMs, compared to policy gradients derived from sparse, scalar rewards.\\\"[^1] A reinforcement-learning signal tells the model *that* it scored 0.3; a reflection tells it *why* — \\\"you called the search tool before you had the user's account ID.\\\" One of those is far more actionable, and it is the one GEPA uses.\\n\\n## The numbers that got it an ICLR 2026 Oral\\n\\nGEPA was accepted to ICLR 2026 as an Oral — the top tier of acceptance — after a v2 revision posted in February 2026.[^1] The author list is not a group of unknowns: it includes DSPy's creator Omar Khattab, Databricks co-founders Matei Zaharia and Ion Stoica, Stanford's Christopher Potts, and Berkeley's Dan Klein, among a dozen others.[^1] That pedigree is part of why the results traveled.\\n\\nThe headline comparison is against reinforcement learning. Across six tasks, GEPA \\\"outperforms GRPO by 6% on average and by up to 20%, while using up to 35x fewer rollouts.\\\"[^1] GRPO — Group Relative Policy Optimization — is a mainstream RL method that, per the same paper, \\\"often require[s] thousands of rollouts to learn new tasks.\\\"[^1] Read the claim carefully, because the framing matters: the *average* edge over GRPO is 6%, and 20% is the *best-case* gap, not the typical one. The efficiency number is the genuinely striking part. Turning \\\"thousands of rollouts\\\" into a job that can run with dramatically fewer is what makes prompt optimization cheap enough to reach for by default.\\n\\nGEPA also went after the prior state of the art in *prompt* optimization. It \\\"outperforms the leading prompt optimizer, MIPROv2, by over 10% (e.g., +12% accuracy on AIME-2025).\\\"[^1] MIPROv2 is the optimizer GEPA effectively supersedes inside DSPy, so this is the more direct apples-to-apples result for anyone already doing automated prompt search.\\n\\n| Comparison | GEPA's reported result | What the baseline is |\\n|---|---|---|\\n| vs. GRPO (reinforcement learning) | +6% average, up to +20%, with up to 35x fewer rollouts | An RL method needing thousands of rollouts[^1] |\\n| vs. MIPROv2 (prior prompt optimizer) | Over 10% better; +12% on AIME-2025 | The previous \\\"leading prompt optimizer\\\"[^1] |\\n\\n## Why this is an agent technique, not just an LLM trick\\n\\nPlenty of tools rewrite a prompt. What makes GEPA land squarely in agent territory is *what it reflects on*. The trajectories it samples explicitly include \\\"reasoning, tool calls, and tool outputs.\\\"[^1] That is the anatomy of an agent run, not a single completion. When an agent fails, the failure usually is not \\\"the wording was slightly off\\\" — it is that the agent called the wrong tool, called the right tool in the wrong order, or misread a tool's output and kept going. Those are exactly the events sitting in a trace, and they are exactly what a reflection step can name and correct.\\n\\nThis reframes what \\\"prompt engineering for agents\\\" even means. The old craft was a human staring at a system prompt, guessing at phrasings, and re-running a few examples by hand. The new shape is an optimization loop: define a metric, capture real traces, and let a reflector propose changes it can defend against those traces. Prompt engineering starts to look less like copywriting and more like the evaluation-and-iteration discipline this site has covered around [testing LLM prompts in CI](/promptfoo-test-llm-prompts-ci-tutorial) — with the human moving from author to reviewer.\\n\\nIt also connects to a problem agents are already drowning in: tool sprawl. We have written before about [how many tools an agent can handle before accuracy drops](/how-many-tools-can-an-ai-agent-handle), and a big part of the answer is how well the agent's instructions steer it through a crowded tool surface. A prompt that has been optimized against real tool-call traces is directly attacking that failure mode, rather than hoping a longer hand-written instruction happens to help.\\n\\n## It is already in your toolchain\\n\\nNone of this is a research artifact you have to reimplement. GEPA ships two ways.\\n\\nInside DSPy it is a built-in optimizer, documented as \\\"`dspy.GEPA`: Reflective Prompt Optimizer.\\\"[^3] You hand it a `GEPAFeedbackMetric` that returns both a score and a text `feedback` string — that textual feedback is the optimization signal, which is the whole point — and you pick a budget with an `auto` parameter set to `light`, `medium`, or `heavy`.[^3] The feedback-carrying metric is the part worth internalizing: GEPA is at its best when your metric can *say something*, not just emit a number.\\n\\nIt also exists as a standalone library, `gepa-ai/gepa`, that bills itself as a way to \\\"optimize prompts, code, and more\\\" through AI-powered reflective optimization.[^2] As of this writing the repository has several thousand stars and hundreds of forks — fast traction for an optimizer whose paper is a year old.[^2]\\n\\nAnd GEPA is not alone in mainstreaming this idea. The major labs now ship their own prompt-refinement tooling: Anthropic's Prompt Improver rewrites an existing prompt using prompt-engineering best practices,[^5] and OpenAI offers a dashboard Prompt Optimizer that does the same against current guidance.[^6] Those are lighter-weight refiners rather than trace-driven evolutionary loops, but the direction is unmistakable — hand-authored prompts are becoming a starting point, not a deliverable.\\n\\n## The catch: multi-agent systems break the clean story\\n\\nHere is the part most write-ups skip. GEPA's numbers are single-agent numbers. What happens when you extend the same reflective optimization to a *team* of agents was measured directly in **MAS-PromptBench**, a June 2026 benchmark whose title asks the operative question: \\\"When Does Prompt Optimization Improve Multi-Agent LLM Systems?\\\"[^4]\\n\\nThe answer is: sometimes, and sometimes it makes things much worse. The benchmark's own Figure 1 puts it plainly: \\\"While GEPA consistently improves single-agent performance across all five diverse tasks, its natural multi-agent extension yields highly variable effects across tasks and workflow topologies, ranging from large gains to severe performance drops.\\\"[^4] Quantified, \\\"improvements reach up to 24.0 percentage points,\\\" but \\\"performance can drop by as much as 16.0 percentage points for certain configurations.\\\"[^4]\\n\\n| Setting | What the optimizer does | Reported outcome |\\n|---|---|---|\\n| Single agent | Reflect on one agent's traces, rewrite its prompt | Consistent gains across all five tasks[^4] |\\n| Multi-agent (natural extension) | Apply the same reflection across the team | Anywhere from +24.0 to −16.0 percentage points[^4] |\\n\\nThe benchmark also points at *why*. Optimization worked best when an agent's local behavior was \\\"explicit, controllable, and verifiable,\\\" and when the team's communication protocol had explicit shared structure; larger teams introduced coordination overhead that made optimization harder.[^4] In other words, the more of your system lives in the murky space *between* agents — handoffs, implicit conventions, who-does-what — the less a single-agent-style prompt optimizer can help, and the more it can accidentally hurt. Automated prompt optimization is a real tool, not a magic wand, and the multi-agent case is where the difference shows.\\n\\n## What this means if you build agents\\n\\nA few practical takeaways fall out of the research.\\n\\nFirst, treat prompt engineering as an optimization problem with a metric, not a wording exercise. GEPA and every tool like it needs a way to score outputs; the quality of your optimized prompt is bounded by the quality of that metric. If you cannot measure it, you cannot optimize it.\\n\\nSecond, make your metric *talk*. The single biggest lever in GEPA's design is that its feedback is natural language, not a scalar.[^1][^3] A metric that returns \\\"failed: called `refund` before verifying the order status\\\" will produce a better prompt than one that returns `0.0`. Spend your effort there.\\n\\nThird, optimize against real traces, including tool calls. The whole reason this beats generic prompt-rewriting for agents is that it reflects on what the agent actually did. Feed it representative runs, not toy examples.\\n\\nFourth, do not assume single-agent wins transfer to your multi-agent setup. If you run an orchestrator with sub-agents, MAS-PromptBench is the caution to keep pinned to your monitor: measure before and after per topology, and be ready for the optimizer to make a configuration worse.[^4] This is one more reason the [production infrastructure being built around agent runtimes](/managed-agent-runtimes-aws-google-alibaba) increasingly bundles evaluation and tracing — you need both to know whether an \\\"optimized\\\" prompt actually helped.\\n\\n## FAQ\\n\\n**What is GEPA?**\\nGEPA (Genetic-Pareto) is a prompt optimizer that reflects on an AI system's own execution traces in natural language to diagnose failures and evolve better prompts, keeping a Pareto frontier of its best attempts rather than a single best prompt.[^1]\\n\\n**Is prompt engineering being automated?**\\nIncreasingly, yes. Optimizers like GEPA turn prompt tuning into a metric-driven loop, and the major platforms now ship built-in prompt refiners.[^1][^5][^6] Human judgment shifts toward defining good metrics and reviewing results rather than hand-wording every instruction.\\n\\n**Does GEPA really beat reinforcement learning?**\\nOn the paper's six tasks it beats the RL method GRPO by 6% on average and up to 20%, using up to 35x fewer rollouts.[^1] That is a strong, specific result — not a universal law that reflection always beats RL everywhere.\\n\\n**How is GEPA different from MIPROv2?**\\nBoth are automated prompt optimizers in the DSPy lineage. GEPA reports beating MIPROv2 by over 10% (for example, +12% on AIME-2025), largely by using rich natural-language feedback instead of numeric search signals.[^1][^3]\\n\\n**Can I use GEPA today?**\\nYes. It is available as the `dspy.GEPA` optimizer inside DSPy and as the standalone `gepa-ai/gepa` library.[^2][^3]\\n\\n**Does it work for multi-agent systems?**\\nUnreliably. MAS-PromptBench found that extending GEPA to multi-agent systems produced anywhere from +24.0 to −16.0 percentage points depending on the task and topology, with structured, verifiable setups faring best.[^4]\\n\\n## The bottom line\\n\\nPrompt optimization for AI agents crossed a line in 2026: the reflective, trace-driven approach that GEPA represents is now peer-reviewed, packaged, and sitting one import away in DSPy. For single agents, the case is strong — it beats reinforcement learning on the paper's tasks while spending a fraction of the compute, and it does it by reading the exact tool-call traces where agents actually fail.[^1] The honest asterisk is multi-agent systems, where the same idea swings from big wins to real regressions.[^4] The takeaway is not \\\"stop writing prompts.\\\" It is that the highest-leverage work is moving up a level — from wording instructions to defining the metrics, feedback, and traces that let an optimizer write them for you.\\n\\n[^1]: Agrawal et al., \\\"GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning,\\\" arXiv:2507.19457 (v1 25 Jul 2025; v2 14 Feb 2026; accepted to ICLR 2026, Oral). https://arxiv.org/abs/2507.19457\\n[^2]: gepa-ai/gepa — the standalone GEPA optimizer library, GitHub (tagline and star/fork counts as of 22 Jul 2026). https://github.com/gepa-ai/gepa\\n[^3]: \\\"dspy.GEPA: Reflective Prompt Optimizer,\\\" DSPy documentation (accessed 22 Jul 2026). https://dspy.ai/api/optimizers/GEPA/overview/\\n[^4]: \\\"MAS-PromptBench: When Does Prompt Optimization Improve Multi-Agent LLM Systems?\\\" arXiv:2606.23664 (June 2026). https://arxiv.org/abs/2606.23664\\n[^5]: \\\"Console prompting tools\\\" (Prompt improver), Claude Platform documentation (accessed 22 Jul 2026). https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-tools\\n[^6]: \\\"Prompt optimizer,\\\" OpenAI API documentation (accessed 22 Jul 2026). https://developers.openai.com/api/docs/guides/prompt-optimizer\\n\"])</script><script>self.__next_f.push([1,\"9:[[\\\"$\\\",\\\"script\\\",null,{\\\"type\\\":\\\"application/ld+json\\\",\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"$1e\\\"}}],[\\\"$\\\",\\\"$L1f\\\",null,{\\\"post\\\":{\\\"slug\\\":\\\"ietf-ai-agent-protocol-standard-agentproto\\\",\\\"content\\\":\\\"$20\\\",\\\"frontmatter\\\":{\\\"description\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\",\\\"title\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"keywords\\\":[\\\"IETF AI agent protocol standard\\\",\\\"agentproto BoF\\\",\\\"MCP vs A2A\\\",\\\"AI agent protocol interoperability\\\",\\\"IETF 126 Vienna AI agents\\\",\\\"will the IETF standardize AI agent protocols\\\",\\\"cross-domain agent identity federation\\\"],\\\"tags\\\":[\\\"IETF\\\",\\\"AI agent protocol\\\",\\\"agentproto\\\",\\\"MCP\\\",\\\"A2A\\\",\\\"agent interoperability\\\",\\\"agentic ai\\\"],\\\"featured\\\":true,\\\"coverImage\\\":\\\"/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\\\",\\\"date\\\":\\\"2026-07-24T00:00:00.000Z\\\"}},\\\"translatedContent\\\":{\\\"title\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\",\\\"description\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\",\\\"body\\\":\\\"$21\\\",\\\"prevTitle\\\":\\\"AI Agents in Go: Microsoft Joins Google's Bet in 2026\\\",\\\"nextTitle\\\":\\\"Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\\\",\\\"tocHeader\\\":\\\"Table of contents\\\",\\\"tocAriaLabel\\\":\\\"Table of contents\\\"},\\\"toc\\\":[{\\\"id\\\":\\\"what-youll-learn\\\",\\\"text\\\":\\\"What you'll learn\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"what-happened-at-the-agentproto-bof\\\",\\\"text\\\":\\\"What happened at the agentproto BoF\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"why-it-is-rough-consensus-not-a-vote\\\",\\\"text\\\":\\\"Why it is rough consensus, not a vote\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"mcp-vs-a2a-two-layers-one-missing-piece\\\",\\\"text\\\":\\\"MCP vs A2A: two layers, one missing piece\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"the-problems-the-framework-says-still-need-a-standard\\\",\\\"text\\\":\\\"The problems the framework says still need a standard\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"why-prompt-injection-is-the-security-test\\\",\\\"text\\\":\\\"Why prompt injection is the security test\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"the-realistic-timeline--and-what-to-watch\\\",\\\"text\\\":\\\"The realistic timeline — and what to watch\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"faq\\\",\\\"text\\\":\\\"FAQ\\\",\\\"depth\\\":2},{\\\"id\\\":\\\"is-the-ietf-standardizing-ai-agent-protocols\\\",\\\"text\\\":\\\"Is the IETF standardizing AI agent protocols?\\\",\\\"depth\\\":3},{\\\"id\\\":\\\"what-is-the-agentproto-bof-at-ietf-126\\\",\\\"text\\\":\\\"What is the agentproto BoF at IETF 126?\\\",\\\"depth\\\":3},{\\\"id\\\":\\\"how-is-mcp-different-from-a2a\\\",\\\"text\\\":\\\"How is MCP different from A2A?\\\",\\\"depth\\\":3},{\\\"id\\\":\\\"what-would-an-ietf-rfc-add-that-mcp-and-a2a-dont-cover\\\",\\\"text\\\":\\\"What would an IETF RFC add that MCP and A2A don't cover?\\\",\\\"depth\\\":3},{\\\"id\\\":\\\"why-is-prompt-injection-worse-in-multi-agent-systems\\\",\\\"text\\\":\\\"Why is prompt injection worse in multi-agent systems?\\\",\\\"depth\\\":3}],\\\"prevSlug\\\":\\\"microsoft-agent-framework-go-google-adk\\\",\\\"nextSlug\\\":\\\"pinecone-nexus-knowledge-engine-rag-agents\\\",\\\"prevTitle\\\":\\\"AI Agents in Go: Microsoft Joins Google's Bet in 2026\\\",\\\"nextTitle\\\":\\\"Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\\\",\\\"shareUrl\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\",\\\"prevHref\\\":\\\"/microsoft-agent-framework-go-google-adk\\\",\\\"nextHref\\\":\\\"/pinecone-nexus-knowledge-engine-rag-agents\\\",\\\"lang\\\":\\\"en\\\",\\\"tocHeader\\\":\\\"Table of contents\\\",\\\"tocAriaLabel\\\":\\\"Table of contents\\\",\\\"updatedLabel\\\":\\\"Updated\\\",\\\"bodyWithoutFAQ\\\":\\\"$22\\\",\\\"faqItems\\\":[{\\\"question\\\":\\\"Is the IETF standardizing AI agent protocols?\\\",\\\"answer\\\":\\\"Not yet. At IETF 126 in Vienna, the agentproto Birds-of-a-Feather session opened the question of whether the IETF should charter a Working Group to standardize agent-to-agent communication.1 A BoF is an exploratory step, not a standard; even if a Working Group is chartered, a published RFC is typically two to four years out.10 The authoritative outcome of the session is posted to the IETF Datatracker.\\\"},{\\\"question\\\":\\\"What is the agentproto BoF at IETF 126?\\\",\\\"answer\\\":\\\"Agentproto (Agent Communication Protocols) was a working-group-forming Birds-of-a-Feather session held Thursday, 23 July 2026, at IETF 126 in Vienna. It brought the fragmented landscape of agent protocols — MCP, A2A, ACP, ANP, and others — into the IETF to identify which building blocks genuinely need a standard, building on requirements work by Jonathan Rosenberg and Cullen Jennings.17\\\"},{\\\"question\\\":\\\"How is MCP different from A2A?\\\",\\\"answer\\\":\\\"MCP is a client-server protocol connecting one agent to tools, data, and APIs; A2A is a peer-to-peer protocol letting agents discover each other's capabilities and delegate tasks.35 They are complementary rather than competing. What neither fully specifies is cross-domain identity federation and incident attribution when agents from different organizations interact without prior trust.7\\\"},{\\\"question\\\":\\\"What would an IETF RFC add that MCP and A2A don't cover?\\\",\\\"answer\\\":\\\"The framework behind agentproto argues that a standard is needed for cross-domain agent discovery and identity federation, lifecycle management of multi-hop delegation chains, human confirmation before irreversible actions, and protocol-level attribution for security incidents such as multi-agent prompt injection.7 These are inter-organizational guarantees that a single vendor's protocol is not positioned to define on its own.\\\"},{\\\"question\\\":\\\"Why is prompt injection worse in multi-agent systems?\\\",\\\"answer\\\":\\\"$23\\\"}],\\\"faqHeadingId\\\":\\\"faq\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"mx-auto max-w-3xl px-4\\\",\\\"children\\\":[\\\"$\\\",\\\"$L24\\\",null,{\\\"posts\\\":[{\\\"slug\\\":\\\"claude-adobe-creativity-connector-50-creative-cloud-tools\\\",\\\"content\\\":\\\"$25\\\",\\\"frontmatter\\\":{\\\"description\\\":\\\"Adobe and Anthropic launched the Adobe for creativity connector for Claude on April 28, 2026, exposing 50+ Photoshop, Premiere, and Firefly tools via MCP.\\\",\\\"title\\\":\\\"Adobe + Claude: 50+ Creative Tools From One Prompt\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"tags\\\":[\\\"claude\\\",\\\"adobe\\\",\\\"adobe-creative-cloud\\\",\\\"mcp\\\",\\\"claude-connectors\\\",\\\"anthropic\\\",\\\"creative-ai\\\",\\\"agentic-ai\\\",\\\"photoshop\\\"],\\\"featured\\\":true,\\\"coverImage\\\":\\\"/images/placeholders/cover-general.svg\\\",\\\"date\\\":\\\"2026-05-01T00:00:00.000Z\\\"}},{\\\"slug\\\":\\\"claude-managed-agents-deploy-ai-agents-faster\\\",\\\"content\\\":\\\"$26\\\",\\\"frontmatter\\\":{\\\"description\\\":\\\"Claude Managed Agents (public beta, April 2026): hosted sandboxing, state, tool execution, and error recovery — production agents in days instead of weeks.\\\",\\\"title\\\":\\\"Claude Managed Agents: Build Production AI Agents in Days\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"tags\\\":[\\\"anthropic\\\",\\\"claude\\\",\\\"ai-agents\\\",\\\"managed-agents\\\",\\\"mcp\\\",\\\"enterprise-ai\\\",\\\"agentic-ai\\\"],\\\"featured\\\":true,\\\"coverImage\\\":\\\"/images/placeholders/cover-general.svg\\\",\\\"date\\\":\\\"2026-04-13T00:00:00.000Z\\\"}},{\\\"slug\\\":\\\"pinecone-nexus-knowledge-engine-rag-agents\\\",\\\"content\\\":\\\"$27\\\",\\\"frontmatter\\\":{\\\"description\\\":\\\"Pinecone Nexus, a knowledge engine for AI agents, compiles enterprise data upfront to cut the RAG retrieval loop. What changes in 2026 — and if RAG is dead.\\\",\\\"title\\\":\\\"Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"keywords\\\":[\\\"Pinecone Nexus\\\",\\\"knowledge engine for AI agents\\\",\\\"is RAG dead 2026\\\",\\\"knowledge compilation vs RAG\\\",\\\"context engineering for AI agents\\\",\\\"KnowQL declarative query language\\\",\\\"what is Pinecone Nexus\\\",\\\"reduce agent token cost retrieval\\\"],\\\"tags\\\":[\\\"Pinecone Nexus\\\",\\\"knowledge engine\\\",\\\"RAG\\\",\\\"context engineering\\\",\\\"KnowQL\\\",\\\"AI agents\\\",\\\"agentic ai\\\"],\\\"featured\\\":true,\\\"coverImage\\\":\\\"/images/covers/pinecone-nexus-knowledge-engine-rag-agents.jpg\\\",\\\"date\\\":\\\"2026-07-25T00:00:00.000Z\\\"}},{\\\"slug\\\":\\\"prompt-optimization-ai-agents-gepa\\\",\\\"content\\\":\\\"$28\\\",\\\"frontmatter\\\":{\\\"description\\\":\\\"Prompt engineering for AI agents is going automatic. GEPA, an ICLR 2026 Oral, rewrites agent prompts from their traces and beats RL with up to 35x fewer runs.\\\",\\\"title\\\":\\\"Prompt Optimization for AI Agents: GEPA and DSPy (2026)\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"keywords\\\":[\\\"prompt optimization for AI agents\\\",\\\"GEPA reflective prompt optimizer\\\",\\\"dspy.GEPA\\\",\\\"reflective prompt evolution\\\",\\\"automatic prompt engineering\\\",\\\"prompt optimization multi-agent systems\\\"],\\\"tags\\\":[\\\"prompt optimization\\\",\\\"GEPA\\\",\\\"DSPy\\\",\\\"prompt engineering\\\",\\\"AI agents\\\",\\\"reflective prompt evolution\\\",\\\"MAS-PromptBench\\\",\\\"agentic ai\\\"],\\\"featured\\\":true,\\\"coverImage\\\":\\\"/images/covers/prompt-optimization-ai-agents-gepa.jpg\\\",\\\"date\\\":\\\"2026-07-22T00:00:00.000Z\\\"}}],\\\"lang\\\":\\\"en\\\",\\\"translatedTitles\\\":\\\"$undefined\\\"}]}]]\\n\"])</script><script>self.__next_f.push([1,\"10:[[\\\"$\\\",\\\"meta\\\",\\\"0\\\",{\\\"name\\\":\\\"viewport\\\",\\\"content\\\":\\\"width=device-width, initial-scale=1, viewport-fit=cover\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"charSet\\\":\\\"utf-8\\\"}],[\\\"$\\\",\\\"title\\\",\\\"2\\\",{\\\"children\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026 | Nerd Level Tech\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"3\\\",{\\\"name\\\":\\\"description\\\",\\\"content\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\"}],[\\\"$\\\",\\\"link\\\",\\\"4\\\",{\\\"rel\\\":\\\"canonical\\\",\\\"href\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\"}],[\\\"$\\\",\\\"link\\\",\\\"5\\\",{\\\"rel\\\":\\\"alternate\\\",\\\"hrefLang\\\":\\\"en-US\\\",\\\"href\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\"}],[\\\"$\\\",\\\"link\\\",\\\"6\\\",{\\\"rel\\\":\\\"alternate\\\",\\\"hrefLang\\\":\\\"ar-EG\\\",\\\"href\\\":\\\"https://nerdleveltech.com/ar/ietf-ai-agent-protocol-standard-agentproto\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"7\\\",{\\\"property\\\":\\\"og:title\\\",\\\"content\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"8\\\",{\\\"property\\\":\\\"og:description\\\",\\\"content\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"9\\\",{\\\"property\\\":\\\"og:url\\\",\\\"content\\\":\\\"https://nerdleveltech.com/ietf-ai-agent-protocol-standard-agentproto\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"10\\\",{\\\"property\\\":\\\"og:image\\\",\\\"content\\\":\\\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"11\\\",{\\\"property\\\":\\\"og:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"12\\\",{\\\"property\\\":\\\"og:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"13\\\",{\\\"property\\\":\\\"og:image:alt\\\",\\\"content\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"14\\\",{\\\"property\\\":\\\"og:type\\\",\\\"content\\\":\\\"article\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"15\\\",{\\\"property\\\":\\\"article:published_time\\\",\\\"content\\\":\\\"2026-07-24T00:00:00.000Z\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"16\\\",{\\\"name\\\":\\\"twitter:card\\\",\\\"content\\\":\\\"summary_large_image\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"17\\\",{\\\"name\\\":\\\"twitter:title\\\",\\\"content\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"18\\\",{\\\"name\\\":\\\"twitter:description\\\",\\\"content\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"19\\\",{\\\"name\\\":\\\"twitter:image\\\",\\\"content\\\":\\\"https://nerdleveltech.com/images/covers/ietf-ai-agent-protocol-standard-agentproto.jpg\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"20\\\",{\\\"name\\\":\\\"twitter:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"21\\\",{\\\"name\\\":\\\"twitter:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"22\\\",{\\\"name\\\":\\\"twitter:image:alt\\\",\\\"content\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\"}],[\\\"$\\\",\\\"link\\\",\\\"23\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/favicon.svg\\\",\\\"type\\\":\\\"image/svg+xml\\\"}],[\\\"$\\\",\\\"link\\\",\\\"24\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/icon.svg\\\",\\\"type\\\":\\\"image/svg+xml\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"25\\\",{\\\"name\\\":\\\"next-size-adjust\\\"}]]\\n\"])</script><script>self.__next_f.push([1,\"8:null\\n\"])</script><script>self.__next_f.push([1,\"2a:I[81025,[\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3185\\\",\\\"static/chunks/app/layout-4e6ae73d356025e1.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n2b:I[68259,[\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"3185\\\",\\\"static/chunks/app/layout-4e6ae73d356025e1.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n29:T403,(function(){\\n  if (window.fbq) return;\\n  var n = window.fbq = function(){ n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); };\\n  if (!window._fbq) window._fbq = n;\\n  n.push = n; n.loaded = true; n.version = '2.0'; n.queue = [];\\n  fbq('init', '1937494190493436');\\n  fbq('track', 'PageView');\\n  var loaded = false;\\n  function loadPixel() {\\n    if (loaded) return;\\n    loaded = true;\\n    var s = document.createElement('script');\\n    s.async = true;\\n    s.src = 'https://connect.facebook.net/en_US/fbevents.js';\\n    document.head.appendChild(s);\\n    ['scroll','click','mousemove','touchstart'].forEach(function(e){\\n      document.removeEventListener(e, loadPixel);\\n    });\\n  }\\n  if (document.readyState === 'complete') {\\n    setTimeout(loadPixel, 3000);\\n  } else {\\n    window.addEventListener('load', function() { setTimeout(loadPixel, 3000); });\\n  }\\n  ['scroll','click','mousemove','touchstart'].forEach(function(e){\\n    document.addEventListener(e, loadPixel, { once: true, passive: true });\\n  });\\n})();\"])</script><script>self.__next_f.push([1,\"f:[\\\"$\\\",\\\"html\\\",null,{\\\"lang\\\":\\\"en\\\",\\\"dir\\\":\\\"ltr\\\",\\\"className\\\":\\\"__variable_bbcc58 __variable_948ce5 __variable_9ded40 __variable_3f4575 __variable_16cd69\\\",\\\"suppressHydrationWarning\\\":true,\\\"children\\\":[[\\\"$\\\",\\\"head\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"(() =\\u003e {\\\\n var t = localStorage.getItem('theme');\\\\n var d = document.documentElement;\\\\n if (t === 'dark' || (!t || t === 'system') \\u0026\\u0026 window.matchMedia('(prefers-color-scheme: dark)').matches) {\\\\n d.classList.add('dark');\\\\n } else {\\\\n d.classList.remove('dark');\\\\n }\\\\n try {\\\\n var consent = localStorage.getItem('nlt-cookie-consent');\\\\n if (consent) d.setAttribute('data-nlt-consent', consent);\\\\n } catch (e) {}\\\\n})();\\\"}}],[\\\"$\\\",\\\"meta\\\",null,{\\\"name\\\":\\\"msvalidate.01\\\",\\\"content\\\":\\\"63B94FDFC56A65B5E9E316E474AB9D0D\\\"}],[\\\"$\\\",\\\"link\\\",null,{\\\"rel\\\":\\\"alternate\\\",\\\"type\\\":\\\"application/rss+xml\\\",\\\"title\\\":\\\"NerdLevelTech — Articles\\\",\\\"href\\\":\\\"/rss.xml\\\"}],[\\\"$\\\",\\\"link\\\",null,{\\\"rel\\\":\\\"alternate\\\",\\\"type\\\":\\\"application/atom+xml\\\",\\\"title\\\":\\\"NerdLevelTech — Articles\\\",\\\"href\\\":\\\"/atom.xml\\\"}],[\\\"$\\\",\\\"link\\\",null,{\\\"rel\\\":\\\"alternate\\\",\\\"type\\\":\\\"application/rss+xml\\\",\\\"title\\\":\\\"NerdLevelTech — Podcast\\\",\\\"href\\\":\\\"/podcast.xml\\\"}],[\\\"$\\\",\\\"link\\\",null,{\\\"rel\\\":\\\"alternate\\\",\\\"type\\\":\\\"application/rss+xml\\\",\\\"title\\\":\\\"NerdLevelTech — Courses\\\",\\\"href\\\":\\\"/courses-rss.xml\\\"}],[\\\"$\\\",\\\"link\\\",null,{\\\"rel\\\":\\\"alternate\\\",\\\"type\\\":\\\"application/rss+xml\\\",\\\"title\\\":\\\"NerdLevelTech — Remote Tech Jobs\\\",\\\"href\\\":\\\"/jobs-rss.xml\\\"}],[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"(function(){\\\\n  window.clarity = window.clarity || function(){ (window.clarity.q = window.clarity.q || []).push(arguments); };\\\\n  var loaded = false;\\\\n  function loadClarity() {\\\\n    if (loaded) return;\\\\n    loaded = true;\\\\n    var s = document.createElement('script');\\\\n    s.async = true;\\\\n    s.src = 'https://www.clarity.ms/tag/uiskr3p74z';\\\\n    document.head.appendChild(s);\\\\n    ['scroll','click','mousemove','touchstart'].forEach(function(e){\\\\n      document.removeEventListener(e, loadClarity);\\\\n    });\\\\n  }\\\\n  if (document.readyState === 'complete') {\\\\n    setTimeout(loadClarity, 3000);\\\\n  } else {\\\\n    window.addEventListener('load', function() { setTimeout(loadClarity, 3000); });\\\\n  }\\\\n  ['scroll','click','mousemove','touchstart'].forEach(function(e){\\\\n    document.addEventListener(e, loadClarity, { once: true, passive: true });\\\\n  });\\\\n})();\\\"}}],[\\\"$\\\",\\\"script\\\",null,{\\\"async\\\":true,\\\"src\\\":\\\"https://www.googletagmanager.com/gtag/js?id=G-7LWRNQMJYQ\\\"}],[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"\\\\n window.dataLayer = window.dataLayer || [];\\\\n function gtag(){dataLayer.push(arguments);}\\\\n\\\\n // Default consent to 'denied' for GDPR compliance (EU/EEA users)\\\\n gtag('consent', 'default', {\\\\n 'ad_storage': 'denied',\\\\n 'ad_user_data': 'denied',\\\\n 'ad_personalization': 'denied',\\\\n 'analytics_storage': 'denied'\\\\n });\\\\n\\\\n gtag('js', new Date());\\\\n // Skip the initial config + pageview for admin routes. SPA navigations\\\\n // away from /admin still work — AnalyticsListeners fires page_view on\\\\n // route change for any non-admin path it sees next.\\\\n if (!/^\\\\\\\\/admin(\\\\\\\\/|$)/.test(window.location.pathname)) {\\\\n gtag('config', 'G-7LWRNQMJYQ');\\\\n }\\\\n\\\\n // Check if user already consented and update consent accordingly\\\\n try {\\\\n var consent = localStorage.getItem('nlt-cookie-consent');\\\\n if (consent === 'accepted') {\\\\n gtag('consent', 'update', {\\\\n 'ad_storage': 'granted',\\\\n 'ad_user_data': 'granted',\\\\n 'ad_personalization': 'granted',\\\\n 'analytics_storage': 'granted'\\\\n });\\\\n }\\\\n } catch(e) {}\\\\n\\\"}}],[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"(function(){\\\\n var loaded = false;\\\\n function loadBrevo() {\\\\n if (loaded) return;\\\\n loaded = true;\\\\n var s = document.createElement('script');\\\\n s.src = 'https://cdn.brevo.com/js/sdk-loader.js';\\\\n s.async = true;\\\\n s.onload = function() {\\\\n window.Brevo = window.Brevo || [];\\\\n Brevo.push([\\\\\\\"init\\\\\\\", { client_key:\\\\\\\"07ps0c5debu6rk7jhbq1fkyj\\\\\\\" }]);\\\\n };\\\\n document.head.appendChild(s);\\\\n ['scroll','click','mousemove','touchstart'].forEach(function(e){\\\\n document.removeEventListener(e, loadBrevo);\\\\n });\\\\n }\\\\n if (document.readyState === 'complete') {\\\\n setTimeout(loadBrevo, 3000);\\\\n } else {\\\\n window.addEventListener('load', function() { setTimeout(loadBrevo, 3000); });\\\\n }\\\\n ['scroll','click','mousemove','touchstart'].forEach(function(e){\\\\n document.addEventListener(e, loadBrevo, { once: true, passive: true });\\\\n });\\\\n})();\\\"}}],[[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"$29\\\"}}],[\\\"$\\\",\\\"noscript\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"img\\\",null,{\\\"height\\\":\\\"1\\\",\\\"width\\\":\\\"1\\\",\\\"style\\\":{\\\"display\\\":\\\"none\\\"},\\\"src\\\":\\\"https://www.facebook.com/tr?id=1937494190493436\\u0026ev=PageView\\u0026noscript=1\\\",\\\"alt\\\":\\\"\\\"}]}]]]}],[\\\"$\\\",\\\"body\\\",null,{\\\"className\\\":\\\"nlt-newlook\\\",\\\"children\\\":[[\\\"$\\\",\\\"script\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"(() =\\u003e {\\\\n var RTL_LANGS = ['ar', 'he', 'fa', 'ur'];\\\\n var pathname = window.location.pathname;\\\\n var langMatch = pathname.match(/^\\\\\\\\/([a-z]{2})(\\\\\\\\/|$)/);\\\\n var lang = langMatch ? langMatch[1] : 'en';\\\\n var isRTL = RTL_LANGS.indexOf(lang) !== -1;\\\\n document.documentElement.dir = isRTL ? 'rtl' : 'ltr';\\\\n document.documentElement.lang = lang;\\\\n})();\\\"}}],[\\\"$\\\",\\\"$L2a\\\",null,{}],[\\\"$\\\",\\\"$L2b\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$La\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\"],\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$Ld\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$L2c\\\",\\\"notFoundStyles\\\":[]}]}]]}]]}]\\n\"])</script><script>self.__next_f.push([1,\"2d:I[86654,[\\\"2972\\\",\\\"static/chunks/2972-dd97b5f59023ad3e.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"8975\\\",\\\"static/chunks/8975-adfc9b974456bd76.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\",\\\"9160\\\",\\\"static/chunks/app/not-found-a3276cd1dbc10332.js?dpl=dpl_5cPb7sBr5qSNi8GYcmBX7sF7DpTj\\\"],\\\"default\\\"]\\n\"])</script><script>self.__next_f.push([1,\"2c:[\\\"$\\\",\\\"$L2d\\\",null,{\\\"lang\\\":\\\"en\\\",\\\"recentPosts\\\":[{\\\"slug\\\":\\\"pinecone-nexus-knowledge-engine-rag-agents\\\",\\\"title\\\":\\\"Pinecone Nexus: Is RAG Ending for AI Agents? (2026)\\\",\\\"description\\\":\\\"Pinecone Nexus, a knowledge engine for AI agents, compiles enterprise data upfront to cut the RAG retrieval loop. What changes in 2026 — and if RAG is dead.\\\",\\\"date\\\":\\\"2026-07-25T00:00:00.000Z\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"tags\\\":[\\\"Pinecone Nexus\\\",\\\"knowledge engine\\\"]},{\\\"slug\\\":\\\"ietf-ai-agent-protocol-standard-agentproto\\\",\\\"title\\\":\\\"IETF Weighs an AI Agent Protocol Standard in 2026\\\",\\\"description\\\":\\\"At IETF 126 in Vienna, the agentproto BoF put AI agent protocols like MCP and A2A under standards-body scrutiny. Here is what an IETF RFC would actually change.\\\",\\\"date\\\":\\\"2026-07-24T00:00:00.000Z\\\",\\\"category\\\":\\\"ai-ml\\\",\\\"tags\\\":[\\\"IETF\\\",\\\"AI agent protocol\\\"]},{\\\"slug\\\":\\\"microsoft-agent-framework-go-google-adk\\\",\\\"title\\\":\\\"AI Agents in Go: Microsoft Joins Google's Bet in 2026\\\",\\\"description\\\":\\\"Microsoft Agent Framework for Go entered public preview in July 2026, joining Google's ADK for Go — while OpenAI and Anthropic stay Python and TypeScript only.\\\",\\\"date\\\":\\\"2026-07-24T00:00:00.000Z\\\",\\\"category\\\":\\\"news\\\",\\\"tags\\\":[\\\"Go\\\",\\\"AI agents\\\"]}],\\\"guides\\\":[{\\\"slug\\\":\\\"n8n-rag-chat-webpage\\\",\\\"title\\\":{\\\"en\\\":\\\"Build a RAG Chatbot That Answers From Any Webpage in n8n (7 Nodes)\\\",\\\"ar\\\":\\\"ابنِ روبوت RAG يُجيب من أي صفحة ويب في n8n (7 عقد)\\\"},\\\"description\\\":{\\\"en\\\":\\\"Wire a chat trigger to an AI agent with windowed memory and retrieval from a live URL. The workflow fetches the page on every question, chunks it, ranks chunks by query relevance, and grounds gpt-5-mini's answer with source citations — no vector DB, no embeddings bill.\\\",\\\"ar\\\":\\\"وصل مُشغِّل دردشة بوكيل AI مع ذاكرة نافذة واسترجاع من رابط مباشر. السير يجلب الصفحة مع كل سؤال، يُقسمها إلى chunks، يُرتبها بالصلة بالاستعلام، ويُؤصل إجابة gpt-5-mini بمراجع مصدر — بدون قاعدة بيانات متجهية، بدون فاتورة embeddings.\\\"},\\\"category\\\":\\\"tooling\\\",\\\"estimatedReadingMinutes\\\":17,\\\"isFeatured\\\":true},{\\\"slug\\\":\\\"n8n-ai-workflows\\\",\\\"title\\\":{\\\"en\\\":\\\"Build an AI Research Digest with n8n — No Code, Real Output in 6 Steps\\\",\\\"ar\\\":\\\"بناء ملخص بحثي بالذكاء الاصطناعي مع n8n — بلا كود، نتائج حقيقية في 6 خطوات\\\"},\\\"description\\\":{\\\"en\\\":\\\"Build a fully automated AI newsletter that fetches the top 10 Hacker News stories daily, summarizes each with GPT, and formats a polished digest email — all in n8n's visual canvas. Every node was wired and executed live on n8n cloud. No code required beyond one simple JavaScript snippet.\\\",\\\"ar\\\":\\\"ابنِ نشرة إخبارية AI مؤتمتة بالكامل تجلب أهم 10 قصص من Hacker News يومياً وتلخصها بـ GPT وتُنسّق بريداً إلكترونياً أنيقاً — كل ذلك في لوحة n8n البصرية. كل عقدة وُصِّلت ونُفِّذت مباشرةً على n8n cloud. لا حاجة لكود سوى مقطع JavaScript بسيط.\\\"},\\\"category\\\":\\\"tooling\\\",\\\"estimatedReadingMinutes\\\":25,\\\"isFeatured\\\":true},{\\\"slug\\\":\\\"dify-rag-chatbot\\\",\\\"title\\\":{\\\"en\\\":\\\"Build a RAG Chatbot with Dify — No Code, Real Output in 5 Steps\\\",\\\"ar\\\":\\\"بناء شات بوت RAG مع Dify — بلا كود، نتائج حقيقية في 5 خطوات\\\"},\\\"description\\\":{\\\"en\\\":\\\"Build a fully working RAG chatbot in Dify's visual builder — no code required. Every step was executed live on cloud.dify.ai and produces real output. Covers model setup, Knowledge Base creation with hybrid search, Chatflow wiring, live testing, and API integration.\\\",\\\"ar\\\":\\\"ابنِ شات بوت RAG كامل الوظائف في Dify — بدون كود. كل خطوة نُفِّذت مباشرةً على cloud.dify.ai وتنتج نتائج حقيقية. يغطي إعداد النماذج وقاعدة المعرفة والبحث الهجين واختبار التطبيق الحي وتكامل API.\\\"},\\\"category\\\":\\\"llm-integration\\\",\\\"estimatedReadingMinutes\\\":20,\\\"isFeatured\\\":true}],\\\"recentCourses\\\":[{\\\"slug\\\":\\\"prompt-engineering-path-code\\\",\\\"title\\\":{\\\"en\\\":\\\"Prompts for Code \\u0026 Engineering — The Prompt Engineering Path\\\",\\\"ar\\\":\\\"أوامر للكود والهندسة — مسار هندسة الأوامر\\\"},\\\"description\\\":{\\\"en\\\":\\\"The expansion course for engineers. Master code-generation prompts, debugging prompts, refactor locks, structured code-review prompts, and the prompt patterns that make Cursor, Claude Code, Aider, and Copilot productive. Every example is a real, verified Claude output you can re-run.\\\",\\\"ar\\\":\\\"دورة التوسع للمهندسين. أتقن أوامر توليد الكود، أوامر تصحيح الأخطاء، أقفال إعادة الهيكلة، أوامر مراجعة الكود المنظمة، وأنماط الأوامر التي تجعل Cursor و Claude Code و Aider و Copilot منتجة. كل مثال هو مخرج حقيقي موثق من Claude يمكنك إعادة تشغيله.\\\"},\\\"difficultyLevel\\\":\\\"intermediate\\\",\\\"category\\\":\\\"ai\\\",\\\"lessonCount\\\":26},{\\\"slug\\\":\\\"prompt-engineering-path-cross-model\\\",\\\"title\\\":{\\\"en\\\":\\\"Cross-Model Mastery — The Prompt Engineering Path\\\",\\\"ar\\\":\\\"إتقان النماذج المتعددة — مسار هندسة الأوامر\\\"},\\\"description\\\":{\\\"en\\\":\\\"The same prompt sent to Claude, GPT, and Gemini lands three different responses. Learn the dialects: tone, instruction-following, structured output, refusal shape, system-prompt loyalty. Every comparison in this course was captured live from the three frontier APIs — not from training data, not from screenshots.\\\",\\\"ar\\\":\\\"نفس الأمر المُرسَل إلى Claude و GPT و Gemini يحصل على ثلاث ردود مختلفة. تعلم اللهجات: النبرة، اتباع التعليمات، المخرج المنظم، شكل الرفض، الولاء لأمر النظام. كل مقارنة في هذه الدورة تم التقاطها مباشرةً من الـAPIs الثلاثة الرائدة — ليست من بيانات التدريب، ولا من لقطات الشاشة.\\\"},\\\"difficultyLevel\\\":\\\"intermediate\\\",\\\"category\\\":\\\"ai\\\",\\\"lessonCount\\\":24},{\\\"slug\\\":\\\"prompt-engineering-path-foundations\\\",\\\"title\\\":{\\\"en\\\":\\\"The Prompt Engineering Path — Foundations\\\",\\\"ar\\\":\\\"مسار هندسة الأوامر — الأساسيات\\\"},\\\"description\\\":{\\\"en\\\":\\\"Learn the craft of prompting — from your first ChatGPT message to a tight production-grade system prompt. Real, verified outputs from Claude, GPT, and Gemini. Day-to-day scenarios, no fluff. The gateway to the full Prompt Engineering learning path.\\\",\\\"ar\\\":\\\"تعلم حرفة كتابة الأوامر — من أول رسالة في ChatGPT إلى أمر نظام محكم بمستوى الإنتاج. أمثلة حقيقية موثقة من Claude و GPT و Gemini. سيناريوهات يومية بدون حشو. البوابة لكامل مسار هندسة الأوامر.\\\"},\\\"difficultyLevel\\\":\\\"beginner\\\",\\\"category\\\":\\\"ai\\\",\\\"lessonCount\\\":42}],\\\"tools\\\":[{\\\"name\\\":\\\"API Response Mocker\\\",\\\"nameAr\\\":\\\"محاكي استجابة API\\\",\\\"description\\\":\\\"Generate realistic mock API responses with dynamic data using Faker.js. 18 pre-built templates for testing and development.\\\",\\\"descriptionAr\\\":\\\"أنشئ استجابات API وهمية واقعية مع بيانات ديناميكية باستخدام Faker.js. 18 قالباً جاهزاً للاختبار والتطوير.\\\",\\\"href\\\":\\\"/tools/api-response-mocker\\\"},{\\\"name\\\":\\\"Tech Pulse\\\",\\\"nameAr\\\":\\\"نبض التقنية\\\",\\\"description\\\":\\\"AI-curated tech news feed for developers. Get the latest AI, Cloud, DevOps, and Security updates in one place.\\\",\\\"descriptionAr\\\":\\\"موجز أخبار تقنية منتقى بالذكاء الاصطناعي للمطورين. احصل على آخر تحديثات الذكاء الاصطناعي والسحابة وDevOps والأمان في مكان واحد.\\\",\\\"href\\\":\\\"/tools/tech-pulse\\\"},{\\\"name\\\":\\\"Resume Optimizer\\\",\\\"nameAr\\\":\\\"محسّن السيرة الذاتية\\\",\\\"description\\\":\\\"Transform your resume for ATS compliance with AI-powered optimization. Upload and download improved DOCX/PDF versions.\\\",\\\"descriptionAr\\\":\\\"حوّل سيرتك الذاتية لتتوافق مع أنظمة ATS بتحسين مدعوم بالذكاء الاصطناعي. ارفع وحمّل نسخ DOCX/PDF محسّنة.\\\",\\\"href\\\":\\\"/tools/resume-optimizer\\\"},{\\\"name\\\":\\\"IP Checker + Browser Info\\\",\\\"nameAr\\\":\\\"فاحص IP + معلومات المتصفح\\\",\\\"description\\\":\\\"Discover your IP address, location, ISP details, and comprehensive browser information.\\\",\\\"descriptionAr\\\":\\\"اكتشف عنوان IP الخاص بك وموقعك وتفاصيل مزود الخدمة ومعلومات المتصفح الشاملة.\\\",\\\"href\\\":\\\"/tools/ip-checker\\\"}],\\\"nerdoModes\\\":[{\\\"id\\\":\\\"fast\\\",\\\"name\\\":\\\"nerdo.modes.fast.name\\\",\\\"description\\\":\\\"nerdo.modes.fast.description\\\",\\\"icon\\\":\\\"zap\\\"},{\\\"id\\\":\\\"learning\\\",\\\"name\\\":\\\"nerdo.modes.learning.name\\\",\\\"description\\\":\\\"nerdo.modes.learning.description\\\",\\\"icon\\\":\\\"graduation-cap\\\"},{\\\"id\\\":\\\"create-content\\\",\\\"name\\\":\\\"nerdo.modes.createContent.name\\\",\\\"description\\\":\\\"nerdo.modes.createContent.description\\\",\\\"icon\\\":\\\"pen-tool\\\"}],\\\"categories\\\":[{\\\"slug\\\":\\\"ai-ml\\\",\\\"name\\\":\\\"AI \\u0026 Machine Learning\\\",\\\"color\\\":\\\"text-purple-500 dark:text-purple-400\\\"},{\\\"slug\\\":\\\"llm-integration\\\",\\\"name\\\":\\\"LLM \\u0026 Integration\\\",\\\"color\\\":\\\"text-indigo-500 dark:text-indigo-400\\\"},{\\\"slug\\\":\\\"cloud-devops\\\",\\\"name\\\":\\\"Cloud \\u0026 DevOps\\\",\\\"color\\\":\\\"text-sky-500 dark:text-sky-400\\\"},{\\\"slug\\\":\\\"frontend\\\",\\\"name\\\":\\\"Frontend Development\\\",\\\"color\\\":\\\"text-blue-500 dark:text-blue-400\\\"},{\\\"slug\\\":\\\"backend\\\",\\\"name\\\":\\\"Backend Development\\\",\\\"color\\\":\\\"text-green-500 dark:text-green-400\\\"},{\\\"slug\\\":\\\"tooling\\\",\\\"name\\\":\\\"Tooling \\u0026 Productivity\\\",\\\"color\\\":\\\"text-orange-500 dark:text-orange-400\\\"},{\\\"slug\\\":\\\"architecture\\\",\\\"name\\\":\\\"Architecture \\u0026 Design\\\",\\\"color\\\":\\\"text-pink-500 dark:text-pink-400\\\"},{\\\"slug\\\":\\\"performance\\\",\\\"name\\\":\\\"Performance \\u0026 Optimization\\\",\\\"color\\\":\\\"text-yellow-500 dark:text-yellow-400\\\"},{\\\"slug\\\":\\\"security\\\",\\\"name\\\":\\\"Security \\u0026 Privacy\\\",\\\"color\\\":\\\"text-red-500 dark:text-red-400\\\"},{\\\"slug\\\":\\\"news\\\",\\\"name\\\":\\\"News\\\",\\\"color\\\":\\\"text-gray-500 dark:text-gray-400\\\"},{\\\"slug\\\":\\\"career\\\",\\\"name\\\":\\\"Career \\u0026 Growth\\\",\\\"color\\\":\\\"text-purple-500 dark:text-purple-400\\\"}]}]\\n\"])</script></body></html>","snapshot_chars":265335,"live_check":"changed"},{"url":"https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm","committed_hash":"sha256:938706d079f2f72d70b11f51d4b3d57f78abbcf8a7c5a20ceeb49d63d76eac1e","committed_hash_short":"sha256:938706d0…d76eac1e","mime_type":"text/html","committed_at":"2026-07-26T08:00:26.228021+00:00","content_snapshot":"<!DOCTYPE html><html lang=\"en-US\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:fb=\"http://www.facebook.com/2008/fbml\" xmlns:og=\"http://opengraphprotocol.org/schema/\"><head profile=\"http://www.w3.org/1999/xhtml/vocab\" prefix=\"og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#\"><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><meta http-equiv=\"x-dns-prefetch-control\" content=\"on\" /><link rel=\"preconnect\" href=\"https://g.techtimes.com\" /><link rel=\"dns-prefetch\" href=\"https://g.techtimes.com\" /><link rel=\"preload\" href=\"https://g.techtimes.com/www/fonts/JosefinSans/JosefinSans-Bold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin><link rel=\"preload\" href=\"https://g.techtimes.com/www/fonts/DMSans/DMSans-Regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin><link rel=\"preconnect\" href=\"https://d.techtimes.com\" /><link rel=\"dns-prefetch\" href=\"https://d.techtimes.com\" /> <script>var CEN_DOMAIN='techtimes.com';var current_timestamp=new Date().getTime(),mobile_device=(/android|webos|phone|ipad|ipod|blackberry|mobi|opera mini/i.test(navigator.userAgent)),bot_engine=/bot|http|python|grabber|crawl|search|fetch|feed|proxy|spider|curl|wget|okhttp|slurp|inspector|synthetic|mediapartners|yahooysmcm|aolbuild|bingpreview|facebookext|facebookcat|accoona|htdig|ia_archive|larbin|-perl|stackrambler|webcapture|downloader|WebCopier|xenu|validator|Snoopy|cohere-ai/i.test(navigator.userAgent),dfpSlots={},dfpEx=[],fqtag={cmd:[],scmd:[],fcmd:[],fscmd:[]},oa=oa||{},doFir=doFir||[],doReady=doReady||[],dataLayer=dataLayer||[],brW=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||[],brH=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||[],_LJ=function(d,g,e,f){var a,c;a=document.createElement(\"script\");a.type=\"text/javascript\";a.src=d;if(g)a.async=!0;if(e)a.onload=e;if(f)a.onerror=f;c=document.getElementById(\"loading_position\");c.parentNode.insertBefore(a,c)},LJ=function(d,e,f){_LJ(d,1,e,f)},LC=function(d,e,f){var a,c;a=document.createElement(\"link\");a.rel=\"stylesheet\";a.href=d;if(e)a.onload=e;if(f)a.onerror=f;c=document.getElementById(\"loading_position\");c.parentNode.insertBefore(a,c)},setCookieHours=function(name,value,h,domain){var date,expires=host='';if(h){date=new Date();date.setTime(date.getTime()+(h*60*60*1000));expires=\"; expires=\"+date.toUTCString();if(domain)host=\";domain=\"+domain};document.cookie=name+\"=\"+value+expires+host+\"; path=/\"},setCookie=function(name,value,days,domain){if(days)days*=24;setCookieHours(name,value,days,domain)},deleteCookie=function(name){setCookie(name,\"\",-1)},getCookie=function(c){c+=\"=\";for(var d=document.cookie.split(\";\"),b=0;b<d.length;b++){for(var a=d[b];\" \"==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(c))return a.substring(c.length,a.length)}return null},getCookieString=function(t){return getCookie(t)||\"\"},getUrlParameters=function(t){var n,r={},s=/=/.test(t);return(s?t:location.search.substring(1)).split(\"&\").forEach(function(t){\"\"!=t&&(r[(n=t.split(\"=\"))[0]]=n[1])}),!t||s?r:r[t]},loadJS=function(arr,c){LJ(arr[0],function(){if(arr.length>1){arr.shift();loadJS(arr,c)}else c()})},appendCSS=function(d){var o=document.createElement(\"style\");o.innerHTML=typeof d=='object'?d.data:d;document.getElementsByTagName('head')[0].appendChild(o)},GCSS=function(u){var x=new XMLHttpRequest();x.open('GET',u);x.send(null);x.onreadystatechange=function(){if(x.readyState===4&&x.status===200)appendCSS(x.responseText);}},execFunc=function(o){if(typeof o=='object'){while(exe=o.shift())exe();o.push=function(f){f()}}},hb_debug=getCookie('ibt_debug')?1:0,ibt_log=function(){if(hb_debug){var a=[].slice.call(arguments);a.unshift('|IBT|');console.log.apply(console,a)}},ibt_error=function(){if(hb_debug){var a=[].slice.call(arguments);a.unshift('|IBT|');console.error.apply(console,a)}},SITE_DOMAIN=DOMAIN=document.domain;if(SITE_DOMAIN==location.host){var str='',a=SITE_DOMAIN.split('.');for(var i=1;i<a.length;i++){str+=\".\"+a[i]};SITE_DOMAIN=DOMAIN=str.substr(1)};JSON.split=function(c,d){var a=c.split(d||\"|\"),b={};for(i=0;i<a.length;i+=2)b[a[i]]=a[i+1];return b};oa.geo=JSON.split(getCookieString('X-UA-Info')||'country|OTHER|state||city||ip|');(function(){var u=navigator.userAgent,o=/Android/.test(u)?['Android',(u.match(/Android ([\\d]+)/)||[,0])[1]]:/Nintendo/.test(u)?['Nintendo',(u.match(/(?:Nintendo ([\\w]+))/i)||[,0])[1]]:/iPhone|iPod|iPad/.test(u)?['iOS',(u.match(/(?:iPhone|iPod|iPad).+OS ([\\d]+)/i)||[,0])[1]]:/Maci/.test(u)?['Mac OS',(u.match(/Mac OS X ([\\d]+)/)||[,0])[1]]:/Win/.test(u)?['Windows',(u.match(/Windows NT ([\\d]+\\.[\\d]+)/)||[,3])[1]]:/CrOS/.test(u)?['Chrome OS',(u.match(/(?:hrome\\/([\\d]+))/i)||[,0])[1]]:/Tizen/.test(u)?['Tizen',(u.match(/(?:Tizen ([\\d]+))/i)||[,0])[1]]:/PlayStation/.test(u)?['PlayStation',(u.match(/(?:PlayStation ([\\d]+|Vita))/i)||[,0])[1]]:/WebOS/.test(u)?['WebOS',(u.match(/(?:WEBOS([\\d]+))/i)||[,0])[1]]:/Fuchsia/.test(u)?['Fuchsia',1]:/Linux/.test(u)?['Linux',(u.match(/(?:Linux ([\\w]+))/i)||[,0])[1]]:/OS\\/2/.test(u)?['OS/2',(u.match(/(?:OS\\/2;? ((?!OS)[\\w]+))/i)||[,0])[1]]:/Unix|OpenBSD|FreeBSD|X11/.test(u)?['Unix',1]:/Apple\\s?TV/.test(u)?['Apple tvOS',(u.match(/(?:OS ([\\d]+))/i)||[,0])[1]]:bot_engine?['Bots',1]:['Unknown',0],b=bot_engine?['Bots',1]:/ndroid.+; wv/.test(u)?['Android Webview',1]:/(iPhone|iPod|iPad)(?!.+Safari)/i.test(u)?['iOS Webview',1]:/edg/i.test(u)?['Edge',(u.match(/(?:edg(?:e|a|ios)?\\/)([\\d]+)/i)||[,0])[1]]:/firefox|fxios/i.test(u)?['Firefox',(u.match(/(?:(?:fox|xios)\\/([\\d]+))/i)||[,0])[1]]:/opr/i.test(u)?['Opera',(u.match(/(?:opr\\/([\\d]+))/i)||[,0])[1]]:/opera/i.test(u)?['Opera',u.indexOf(\"ersion\")!=-1?(u.match(/(?:sion\\/([\\d]+))/)||[,0])[1]:(u.match(/(?:era(?:\\/|\\s)([\\d]+))/)||[,0])[1]]:/msie|trident/i.test(u)?['MSIE',(u.match(/(?:(?:ie|rv)(?:\\:|\\s)([\\d]+))/i)||[,0])[1]]:/[\\w\\s]+browser\\//i.test(u)?[u.match(/([\\w]+browser)\\/[\\d]+/i)[1],(u.match(/(?:ser\\/([\\d]+))/)||[,0])[1]]:/PlayStation/i.test(u)?['PlayStation',(u.match(/(?:tation ([\\d]+))/i)||[,0])[1]]:/silk/i.test(u)?['Amazon Silk',(u.match(/(?:silk\\/([\\d]+))/i)||[,0])[1]]:/palemoon/i.test(u)?['PaleMoon',(u.match(/(?:moon\\/([\\d]+))/i)||[,0])[1]]:/puffin/i.test(u)?['Puffin',(u.match(/(?:ffin\\/([\\d]+))/i)||[,0])[1]]:/safari/i.test(u)&&/version/i.test(u)&&!/chrome/i.test(u)?['Safari',(u.match(/(?:sion\\/([\\d]+))/)||[,0])[1]]:/chrome/i.test(u)?['Chrome',(u.match(/(?:ome\\/([\\d]+))/i)||[,0])[1]]:/crios/i.test(u)?['Chrome',(u.match(/(?:crios\\/([\\d]+))/i)||[,0])[1]]:/seamonkey/i.test(u)?['SeaMonkey',(u.match(/(?:Monkey\\/([\\d]+))/i)||[,0])[1]]:/android/i.test(u)?['Android Browser',(u.match(/Android ([\\d]+)/)||[,0])[1]]:['Unknown',0];oa.os={name:o[0],version:o[1]};oa.browser={name:b[0],version:b[1]};if(o[0]==\"Windows\"&&o[1]<10&&(b[0]=='Edge'||(b[0]=='Chrome'&&b[1]>109)||(b[0]=='Firefox'&&b[1]>115)))window.bot_engine=!0})();window.addEventListener('message',function(e){if(e.data=='GetFQ'&&e.origin.indexOf(location.host.replace(/www1?\\./,''))>-1){e.source.postMessage('NoPassFQ='+NoPassFQ,e.origin)}});var openLogin=function(u){if(typeof u=='object')u=u.url;jQuery(\"body\").css(\"overflow\",\"hidden\");jQuery(\"#SIGNIN\").remove();jQuery(\"<div />\",{\"id\":\"SIGNIN\"}).html('<div class=\"nw-login\"><span class=\"zephr-modal-close\">×</span><div class=\"login-popup\"><iframe frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" id=\"Oframe\" allowtransparency=\"true\" src=\"'+u+'\" style=\"min-height:350px;\"></iframe></div></div>').appendTo(\"body\");jQuery(\"#SIGNIN\").on('click',function(e){closeLogin()})},closeLogin=function(){jQuery(\"#SIGNIN\").remove();jQuery(\"body\").css(\"overflow\",\"inherit\")},adjustLoginHeight=function(h){jQuery(\"#Oframe\").height(h)},login_success=function(sess){jQuery(\".sign-up\").html(\"LOGOUT\").on('click',function(){location.href=\"https://signin.\"+CEN_DOMAIN+\"/oauth/logout\"});closeLogin()},LANG='en',commentHeight=function(data){jQuery(\"#block-ibt-comment iframe\").height(data.height)};var login_success=function(sess){closeLogin();jQuery(\"article\").removeClass(\"wall\");jQuery(\".login-btn .sign-up2\").hide();jQuery(\".login-btn .myaccount\").show();jQuery(\".only-before-login\").hide();if(typeof sess=='object'){sess=sess.sess};jQuery(\"<div />\",{\"id\":\"TEMPE\"}).html('<iframe frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\"  allowtransparency=\"true\" src=\"https://comment.'+DOMAIN+'/comment/oauth?sess='+sess+'\" style=\"position:absolute;visibility:hidden;width:1px;height:1px;\"></iframe>').appendTo(\"body\");jQuery(\"#TEMPE iframe\").on(\"load\",function(){jQuery(\"#TEMPE\").remove();if(jQuery(\"iframe.comment\").length){jQuery(\"iframe.comment\").get(0).contentWindow.postMessage({'action':'success',},'*')}});afterLogin()};function afterLogin(){};doFir.push(function(){jQuery(document).ready(function(){jQuery(\".sign-up2\").on('click',function(e){e.preventDefault();e.stopPropagation();openLogin('https://signin.'+DOMAIN.replace(/ibtimes\\.[\\.a-z]+/,'ibtimes.com')+'/oauth?l='+jQuery(this).attr('data-lang'))})})})</script> <title>Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting</title><meta name=\"news_keywords\" content=\"Artificial Intelligence,agentproto BoF,IETF 126 Vienna,Model Context Protocol MCP,AI agents,IETF,internet standards,prompt injection,post-quantum cryptography\" /><meta name=\"description\" content=\"AI agent protocols IETF standard review begins at IETF 126 Vienna this week, where the agentproto Birds-of-a-Feather session Thursday could charter a working group to produce the first formal RFC for\" /><link rel=\"canonical\" href=\"https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\" /><meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" /><meta property=\"fb:app_id\" content=\"263851690471857\" /><meta property=\"fb:pages\" content=\"128026713884051\"/><meta property=\"og:type\" content=\"article\"/><meta property=\"og:site_name\" content=\"Tech Times\"/><meta property=\"og:url\" content=\"https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\"/><meta property=\"og:title\" content=\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting\" /><meta property=\"og:description\" content=\"AI agent protocols IETF standard review begins at IETF 126 Vienna this week, where the agentproto Birds-of-a-Feather session Thursday could charter a working group to produce the first formal RFC for agent-to-agent communication, covering gaps in cross-domain identity and prompt injection\" /><meta property=\"og:image\" content=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png\"/><meta property=\"og:image:alt\" content=\"Screenshot 2026-07-18 120043\" /><meta property=\"og:image:width\" content=\"1200\" /><meta property=\"og:image:height\" content=\"831\" /><meta property=\"article:publisher\" content=\"https://www.facebook.com/techtimes/\"/><meta property=\"article:section\" content=\"Artificial Intelligence\" /><meta property=\"article:tag\" content=\"agentproto BoF\" /><meta property=\"article:tag\" content=\"IETF 126 Vienna\" /><meta property=\"article:tag\" content=\"Model Context Protocol MCP\" /><meta property=\"article:tag\" content=\"AI Agents\" /><meta property=\"article:tag\" content=\"IETF\" /><meta property=\"article:tag\" content=\"internet standards\" /><meta property=\"article:tag\" content=\"prompt injection\" /><meta property=\"article:tag\" content=\"post-quantum cryptography\" /><meta property=\"article:published_time\" content=\"2026-07-18T12:24:02-04:00\"/><meta property=\"article:modified_time\" content=\"2026-07-18T12:24:02-04:00\"/><meta name=\"twitter:site\" content=\"techtimes\"/><meta name=\"twitter:card\" content=\"summary_large_image\"/><meta name=\"twitter:title\" content=\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting\"><meta name=\"twitter:url\"  content=\"https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\"/><meta name=\"twitter:description\" content=\"AI agent protocols IETF standard review begins at IETF 126 Vienna this week, where the agentproto Birds-of-a-Feather session Thursday could charter a working group to produce the first formal RFC for agent-to-agent communication, covering gaps in cross-domain identity and prompt injection\"/><meta name=\"twitter:image\" content=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png\"/><link rel=\"preload\" href=\"https://g.techtimes.com/www/fonts/Newsreader/woff2/Newsreader16pt-SemiBold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin><link rel=\"preload\" href=\"https://g.techtimes.com/www/fonts/Genericons.woff2\" as=\"font\" type=\"font/woff2\" crossorigin><style data-id=\"main\">/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media(min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media(min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media(min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media(min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0088'%3e%3cpathfill='%2328a745'd='M2.36.73L.64.53c-.4-1.04.46-1.41.1-.8l1.11.43.4-3.8c.6-.631.6-.271.2.7l-44.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem)*3/4 + 1.75rem);background:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0045'%3e%3cpathfill='%23343a40'd='M20L02h4zm05L03h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0088'%3e%3cpathfill='%2328a745'd='M2.36.73L.64.53c-.4-1.04.46-1.41.1-.8l1.11.43.4-3.8c.6-.631.6-.271.2.7l-44.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'fill='%23dc3545'viewBox='-2-277'%3e%3cpathstroke='%23dc3545'd='M00l33m0-3L03'/%3e%3ccircler='.5'/%3e%3ccirclecx='3'r='.5'/%3e%3ccirclecy='3'r='.5'/%3e%3ccirclecx='3'cy='3'r='.5'/%3e%3c/svg%3E\");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem)*3/4 + 1.75rem);background:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0045'%3e%3cpathfill='%23343a40'd='M20L02h4zm05L03h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'fill='%23dc3545'viewBox='-2-277'%3e%3cpathstroke='%23dc3545'd='M00l33m0-3L03'/%3e%3ccircler='.5'/%3e%3ccirclecx='3'r='.5'/%3e%3ccirclecy='3'r='.5'/%3e%3ccirclecx='3'cy='3'r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media(min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0088'%3e%3cpathfill='%23fff'd='M6.564.75l-3.593.612-1.538-1.55L04.262.9747.2582.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0044'%3e%3cpathstroke='%23fff'd='M02h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='-4-488'%3e%3ccircler='3'fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media(prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0045'%3e%3cpathfill='%23343a40'd='M20L02h4zm05L03h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media(prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media(prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat center center;background-size:100% 100%}@media(max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvgviewBox='003030'xmlns='http://www.w3.org/2000/svg'%3e%3cpathstroke='rgba(0,0,0,0.5)'stroke-width='2'stroke-linecap='round'stroke-miterlimit='10'd='M47h22M415h22M423h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvgviewBox='003030'xmlns='http://www.w3.org/2000/svg'%3e%3cpathstroke='rgba(255,255,255,0.5)'stroke-width='2'stroke-linecap='round'stroke-miterlimit='10'd='M47h22M415h22M423h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media(min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0;flex:1 0 0;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media(min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0;flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media(min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media(min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media(prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media(min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media(min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media(min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media(min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px)*-1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px)*-1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px)*-1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px)*-1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'fill='%23fff'viewBox='0088'%3e%3cpathd='M5.250l-44441.5-1.5-2.5-2.52.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'fill='%23fff'viewBox='0088'%3e%3cpathd='M2.750l-1.51.52.52.5-2.52.51.51.54-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#007bff !important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#007bff !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:-ms-flexbox !important;display:flex !important}.d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width:576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:-ms-flexbox !important;display:flex !important}.d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width:768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:-ms-flexbox !important;display:flex !important}.d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width:992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:-ms-flexbox !important;display:flex !important}.d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width:1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:-ms-flexbox !important;display:flex !important}.d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:-ms-flexbox !important;display:flex !important}.d-print-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-row-reverse{-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-column-reverse{-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-fill{-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-grow-0{-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-start{-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-ms-flex-pack:center !important;justify-content:center !important}.justify-content-between{-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-start{-ms-flex-align:start !important;align-items:flex-start !important}.align-items-end{-ms-flex-align:end !important;align-items:flex-end !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.align-items-baseline{-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-stretch{-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}@media(min-width:576px){.flex-sm-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-sm-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-sm-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-sm-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-sm-fill{-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-sm-grow-0{-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-sm-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-sm-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-sm-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-sm-start{-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-sm-end{-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-sm-center{-ms-flex-pack:center !important;justify-content:center !important}.justify-content-sm-between{-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-sm-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-sm-start{-ms-flex-align:start !important;align-items:flex-start !important}.align-items-sm-end{-ms-flex-align:end !important;align-items:flex-end !important}.align-items-sm-center{-ms-flex-align:center !important;align-items:center !important}.align-items-sm-baseline{-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-sm-stretch{-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-sm-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-sm-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-sm-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-sm-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-sm-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-sm-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-sm-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-sm-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-sm-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-sm-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-sm-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-sm-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media(min-width:768px){.flex-md-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-md-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-md-row-reverse{-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-md-column-reverse{-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-md-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-md-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-md-fill{-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-md-grow-0{-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-md-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-md-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-md-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-md-start{-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-md-end{-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-md-center{-ms-flex-pack:center !important;justify-content:center !important}.justify-content-md-between{-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-md-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-md-start{-ms-flex-align:start !important;align-items:flex-start !important}.align-items-md-end{-ms-flex-align:end !important;align-items:flex-end !important}.align-items-md-center{-ms-flex-align:center !important;align-items:center !important}.align-items-md-baseline{-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-md-stretch{-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-md-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-md-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-md-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-md-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-md-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-md-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-md-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-md-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-md-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-md-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-md-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-md-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media(min-width:992px){.flex-lg-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-lg-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-lg-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-lg-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-lg-fill{-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-lg-grow-0{-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-lg-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-lg-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-lg-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-lg-start{-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-lg-end{-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-lg-center{-ms-flex-pack:center !important;justify-content:center !important}.justify-content-lg-between{-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-lg-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-lg-start{-ms-flex-align:start !important;align-items:flex-start !important}.align-items-lg-end{-ms-flex-align:end !important;align-items:flex-end !important}.align-items-lg-center{-ms-flex-align:center !important;align-items:center !important}.align-items-lg-baseline{-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-lg-stretch{-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-lg-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-lg-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-lg-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-lg-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-lg-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-lg-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-lg-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-lg-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-lg-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-lg-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-lg-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-lg-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media(min-width:1200px){.flex-xl-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-xl-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-xl-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-xl-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-xl-fill{-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-xl-grow-0{-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-xl-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-xl-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-xl-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-xl-start{-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-xl-end{-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-xl-center{-ms-flex-pack:center !important;justify-content:center !important}.justify-content-xl-between{-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-xl-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-xl-start{-ms-flex-align:start !important;align-items:flex-start !important}.align-items-xl-end{-ms-flex-align:end !important;align-items:flex-end !important}.align-items-xl-center{-ms-flex-align:center !important;align-items:center !important}.align-items-xl-baseline{-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-xl-stretch{-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-xl-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-xl-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-xl-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-xl-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-xl-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-xl-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-xl-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-xl-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-xl-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-xl-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-xl-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-xl-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width:576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width:768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width:992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width:1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports((position:-webkit-sticky) or(position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width:576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width:768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width:992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width:1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width:576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width:768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width:992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width:1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#007bff !important}a.text-primary:focus,a.text-primary:hover{color:#0056b3 !important}.text-secondary{color:#6c757d !important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:focus,a.text-success:hover{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:focus,a.text-info:hover{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:focus,a.text-light:hover{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:focus,a.text-dark:hover{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,::after,::before{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap !important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6 !important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.v_text{clear:both;display:block;color:#222;word-wrap:break-word;display:block;box-sizing:border-box}.v_text .credit{font-size:12px;color:#777}.v_text .credit:before{content:'(Photo: '}.v_text .credit:after{content:')'}.v_text .cap{margin:0 15px 0 0}.v_text .captionBox{position:relative;margin:0;padding:2px 3px 4px 3px;font-size:12px;color:#222;text-align:left}.v_text .caption{margin:0;padding:2px 3px 4px 3px;font-size:13px;color:#444;line-height:18px;text-align:left}.v_text .imgPhoto{vertical-align:bottom}.v_text .featured_video .embed-feed{position:relative}.v_text ul,.v_text ol{padding:0;margin:20px 0 20px 20px}.v_text ul li{line-height:1.5em}.v_text ol li{line-height:1.5em}.rate01{display:inline-block;background:url(https://g.techtimes.com/www/img/hope/img_rate1.gif) no-repeat left top;width:78px;height:13px;text-indent:-5000px}.rate02{display:inline-block;background:url(https://g.techtimes.com/www/img/hope/img_rate2.gif) no-repeat left top;width:78px;height:13px;text-indent:-5000px}.rate03{display:inline-block;background:url(https://g.techtimes.com/www/img/hope/img_rate3.gif) no-repeat left top;width:78px;height:13px;text-indent:-5000px}.rate04{display:inline-block;background:url(https://g.techtimes.com/www/img/hope/img_rate4.gif) no-repeat left top;width:78px;height:13px;text-indent:-5000px}.rate05{display:inline-block;background:url(https://g.techtimes.com/www/img/hope/img_rate5.gif) no-repeat left top;width:78px;height:13px;text-indent:-5000px}.v_text .max-full{width:100%}.galleryLeft{clear:both;float:left;margin:3px 20px 5px 0;position:relative;color:#333;font-size:8pt;overflow:hidden;max-width:60%;height:auto}.galleryLeft .span{position:absolute;top:60px;left:70px;font-size:25pt;font-weight:bold;color:#f90}.galleryRight{clear:both;float:right;margin:3px 0 5px 20px;position:relative;color:#333;font-size:8pt;overflow:hidden;max-width:60%;height:auto}.galleryRight .span{position:absolute;top:60px;left:70px;font-size:25pt;font-weight:bold;color:#f90}.galleryLeft .prev,.galleryRight .prev,.galleryLeft .next,.galleryRight .next{width:40px;height:56px}.galleryVt{clear:both;margin:0 auto;display:block;font-weight:normal;font-style:normal;position:relative;padding:0;max-width:100%;height:auto}.galleryVt>figure{clear:both;margin:5px auto;display:block;font-weight:normal;font-style:normal;text-align:center;position:relative;max-width:100%;height:auto}.galleryVtNone{clear:both;margin:0;display:block;font-weight:normal;font-style:normal;text-align:center;position:relative;padding:0;max-width:100%;height:auto}.galleryVtNone>figure{clear:both;margin:5px auto;display:block;font-weight:normal;font-style:normal;text-align:center;max-width:100%;height:auto}.galleryVtRight{clear:both;float:right;margin:3px 0 5px 20px;position:relative;padding:0;max-width:60%;height:auto}.galleryVtRight>figure{margin:5px auto;display:block;font-weight:normal;font-style:normal;max-width:100%;height:auto}.galleryVtLeft{clear:both;float:left;margin:3px 20px 5px 0;position:relative;padding:0;max-width:60%;height:auto}.galleryVtLeft>figure{margin:5px auto;display:block;font-weight:normal;font-style:normal;max-width:100%;height:auto}.galleryFull{clear:both;margin:5px auto;display:block;font-weight:normal;font-style:normal;text-align:center;position:relative;overflow:hidden;max-width:100%;height:auto}.galleryNone{clear:both;margin:5px 0;display:block;font-weight:normal;font-style:normal;position:relative;overflow:hidden;max-width:100%;height:auto}.gallery{margin:auto}.quoteFull{clear:both;margin:10px 20px 5px 0;padding:10px 10px 7px}.quoteFull .quote{color:#000;line-height:1.7em;font-style:italic;position:relative}.v_text .quote:before,.v_text .quote:after{font-size:3em;position:relative;line-height:0;font-family:georgia,'times new roman',serif}.v_text .quote:before{top:.4em;left:-.1em}.v_text .quote:after{top:.4em;left:-.1em}.quoteFull .small{font-size:.8em;font-weight:bold;color:#000;margin-top:10px}.quoteLeft{clear:both;float:left;margin:10px 20px 5px 0;padding:10px 10px 7px;width:40%}.quoteLeft .quote{color:#000;line-height:1.7em;font-style:italic}.quoteLeft .small{font-size:.8em;text-align:right;color:#000}.quoteRight{clear:both;float:right;margin:10px 0 5px 20px;padding:10px 10px 7px;width:40%}.quoteRight .quote{color:#000;line-height:1.7em;font-style:italic}.quoteRight .small{font-size:.8em;text-align:right;color:#000}.quoteLeft,.quoteRight{padding:10px 15px 10px}.quoteLeft .small,.quoteRight .small{text-align:right;font-size:.8em;margin-top:10px}.fullPoll,.leftPoll,.rightPoll{margin:10px auto}.leftPoll{clear:both;float:left;margin:10px 20px 5px 0;max-width:60%}.rightPoll{clear:both;float:right;margin:10px 0 5px 20px;max-width:60%}.poll_label{background:#c00;color:#fff;font-size:18px;margin:0;padding:10px 10px 10px 20px}.poll{padding:15px 20px 10px;border:1px solid #eee;border-top:0}.poll .po_title{font-size:15px;font-weight:bold}.poll .poll_message{font-size:12px;color:#c00}.poll ul.poll_ul,.poll ul.ul_result{list-style:none;margin:0;padding:10px 10px}.poll li{list-style:none !important;font-size:14px;border-bottom:1px solid #eee;line-height:36px;margin:0;padding:10px 0 !important}.poll li:before{content:\"\" !important}.poll li input{height:15px;margin-right:5px;width:15px}.poll .poll_submit,.poll .return_poll{text-align:center}.poll .return_poll,.poll .ul_result,.poll .poll_message{display:none}.poll .poll_submit input{background-color:#e1451d;border:0;color:#fff;font-size:18px;height:41px;margin-top:10px;margin-left:6px;width:231px}.poll .poll_submit a,.poll .return_poll a{font-size:12px}.poll .other{width:80px;margin-left:20px}.relatedCode{position:relative;clear:both;float:left;margin:3px 20px 5px 0;overflow:hidden}.fullCode{clear:both;margin:10px auto 20px;overflow:hidden;max-width:100%;height:auto;padding-top:5px;padding-bottom:5px}.fullCode .innerBox{margin:0 auto}.fullCode iframe{width:100%}.fullCode img{max-width:100%;height:auto;display:block}.noneCode{clear:both;margin:10px 0;overflow:hidden}.rightCode{position:relative;clear:both;float:right;margin:3px 0 5px 20px;overflow:hidden}.v_text .instagram-media{margin-left:auto !important;margin-right:auto !important;max-width:500px;width:96%}.v_text .twitter-tweet,.v_text .twitter-video{margin:auto !important}.v_text .tiktok-embed{border-left:0;padding-left:0}.jsbox,#jsbox{overflow:hidden;padding:0;margin:0}.v_text .code{margin:0;padding:0}.v_text iframe{margin:0;padding:0;border:0;max-width:100%}.fullCoding{padding:20px;border:1px dashed #333;background:#eee;margin:20px 0;font-size:.75em}.block3{margin:20px 0 20px 20px;padding-left:30px;padding-right:15px;position:relative}.block3:before{content:'“';font-size:50px;position:absolute;left:7px;top:7px}.block3>*:last-child:after{content:'”';font-size:50px;line-height:0;position:relative;top:21px;left:5px}.block1{clear:both;border:1px solid #777;padding:5px 20px 5px;margin:20px 0;background:#eff3f5}.block2{clear:both;border:1px solid #777;padding:5px 20px 5px;margin:20px 0;background:#f8f2e4}.block4{padding:15px 0;border:0 solid #ccc;border-width:6px 0;font-size:22px;max-width:80%;margin:0 auto;margin-bottom:50px;margin-top:50px}.block5{position:relative;clear:both;padding:0;border:0;margin:20px 0;background:none}@media screen and (max-width:768px){.block4{max-width:90%}}.block1Left{clear:both;float:left;margin:6px 20px 10px 0;border:1px solid #ccc;padding:0 15px 15px;background:#eff3f5;font-size:.9em}.block1Right{clear:both;float:right;margin:6px 0 10px 20px;border:1px solid #ccc;padding:0 15px 15px;background:#eff3f5;font-size:.9em}.block2Left{clear:both;float:left;margin:6px 20px 10px 0;border:1px solid #ccc;padding:0 15px 15px;background:#f8f2e4;font-size:.9em}.block2Right{clear:both;float:right;margin:6px 0 10px 20px;border:1px solid #ccc;padding:0 15px 15px;background:#f8f2e4;font-size:.9em}.block5Left{position:relative;clear:both;float:left;margin:6px 25px 10px 0;padding:0 0 5px 0;border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:none;font-size:.9em}.block5Right{position:relative;clear:both;float:right;margin:6px 0 10px 25px;padding:0 0 5px 0;border-top:1px solid #bbb;border-bottom:1px solid #bbb;background:none;font-size:.9em}.block2Right p,.block1Right p,.block2Leftt p,.block1Left p,.block5Left p,.block5Right p,.block2Right h3,.block1Right h3,.block2Leftt h3,.block1Left h3,.block5Left h3,.block5Right h3,.block2Right h4,.block1Right h4,.block2Leftt h4,.block1Left h4,.block5Left h4,.block5Right h4{margin:12px 0}.block1Leftt ul,.block1Right ul,.block2Left ul,.block2Right ul,.block5Left ul,.block5Right ul{margin:0;padding:0 0 0 18px}.block1Leftt ol,.block1Right ol,.block2Left ol,.block2Right ol,.block5Left ol,.block5Right ol{margin:0;padding:0 0 0 25px}.block1Leftt hr,.block1Right hr,.block2Left hr,.block2Right hr,.block5Left hr,.block5Right hr{margin:10px 0}.block1:after,.block2:after,.block5:after{display:table;content:\" \";clear:both}.fullItem{margin:20px 0;clear:both;border:2px solid purple;padding:20px}.fullItem .top-item{font-size:20px;font-weight:bold;border-bottom:1px solid #ddd;padding:0 0 20px;position:relative}.fullItem .top-item:after{content:\" \";display:block;clear:both}.imageLeft{clear:both;float:left;margin:20px 20px 5px 0;position:relative}.imageRight{clear:both;float:right;margin:20px 0 5px 20px;position:relative}.imageBox{clear:both;margin:10px auto;font-style:normal;position:relative;max-width:100%;height:auto}.innerBox{margin:auto;max-width:100%}.imageNone{clear:both;font-size:11px;color:#111;margin:10px 0;display:block;font-weight:normal;font-style:normal;position:relative}.fullArticle{clear:both;font-size:15px;margin:10px 0;padding:0 0 5px;background:url(https://g.techtimes.com/www/img/feb2014/bg_dot_line.gif) repeat-x left bottom}.v_last .fullArticle{background:none !important}.fullArticle ul{padding:0;margin:10px 0 0}.fullArticle ul li{list-style:none;margin-left:0;padding-left:18px;margin-bottom:9px}.fullArticle ul li a{border:0;color:#0e0e0e;display:block}.relatedArticle{clear:both;float:left;font-size:15px;border-top:#8adb2b 3px solid;margin:10px 20px 0 0;padding:10px 0 10px}.relatedArticle .label{font-size:15px;font-weight:700}.relatedArticle ul{padding:0;margin:10px 0 0}.relatedArticle ul li{list-style:none;margin-left:0;padding-left:18px;margin-bottom:9px}.relatedArticle ul li a,.rightArticle ul li a{border:0;color:#333;display:block}.rightArticle{clear:both;float:right;font-size:15px;border-top:#8adb2b 3px solid;margin:10px 0 0 20px;padding:10px 0 10px}.rightArticle .label{font-size:15px;font-weight:700}.rightArticle ul{padding:0;margin:10px 0 0}.rightArticle ul li{list-style:none;margin-left:0;padding-left:18px;margin-bottom:9px}.relatedNews{clear:both;width:300px;float:left;border-top:#8adb2b 3px solid;font-weight:700;font-size:15px;line-height:25px;margin:10px 20px 0 0;position:relative;max-width:50%;background:#eee}.relatedNews .rnews{border:1px solid #ccc;border-top:0;padding:12px 8px 12px 10px}.relatedNews .label{font-size:14px;position:absolute;top:153px;right:0;background:#8adb2b;color:#fff;padding:3px 6px;display:block;text-align:left;text-transform:uppercase}.relatedNews .background{display:block;width:100%;height:180px;background-repeat:no-repeat;background-position:center}.relatedNews a{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;border:0;display:block}.relatedNews a:hover{text-decoration:underline}.relatedVideo{position:relative;clear:both;float:left;margin:3px 20px 5px 0}.rightVideo{position:relative;clear:both;float:right;margin:3px 0 5px 20px}.fullVideo{position:relative;clear:both;margin:10px auto 0;max-width:100%;height:auto}.noneVideo{position:relative;clear:both;margin:10px 0 0;max-width:100%;height:auto}.header1{color:#0d53a3;font-size:18px;font-weight:bold}.header2{color:#052260;line-height:24px;font-size:12pt;font-weight:bold}.header3{color:#051f58;line-height:24px;font-size:11pt;font-weight:bold}.header4{color:#222;line-height:24px;font-size:10pt;font-weight:bold}.videoWrapper{position:relative;padding-bottom:56.25%;height:0;clear:both}.videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.comparative{clear:both;margin:10px auto;max-width:100%}.comparative .relative{position:relative;overflow:hidden}.comparative .cover-box{position:absolute;left:0;top:0;z-index:1;width:50%;height:100%;background-color:#000;opacity:.6}.comparative .cover-box2{position:absolute;left:50%;top:0;z-index:1;width:50%;height:100%;background-color:#000;opacity:.2}.comparative .cover-box3{position:absolute;left:0;top:50%;margin-top:-112px;z-index:3;width:100%;color:#fff;font-size:33px;text-align:center}.comparative .cover-box3 div{margin:16px 0}.comparative .stick{position:absolute;left:50%;top:0;z-index:2;width:4px;background-color:#fff;height:28%}.comparative .stick2{position:absolute;left:50%;bottom:0;z-index:2;width:4px;background-color:#fff;height:28%}.parallax .image{clear:both;height:400px;background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover}.scurrent{position:absolute;right:0;z-index:99;padding:4px 6px;opacity:.5;background-color:#000;color:#fff;width:85px;text-align:center}.dnext{position:absolute;right:0;z-index:99;height:100%;width:50%;cursor:pointer}.dprev{position:absolute;left:0;z-index:99;height:100%;width:50%;cursor:pointer}.dnext .next,.dprev .prev{cursor:pointer;display:block;position:absolute;top:47%;width:45px;height:80px;margin-top:-48px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);background-color:#000;background-repeat:no-repeat;background-position:center;opacity:.4;z-index:99}.dnext .next{background-image:url(https://g.techtimes.com/www/img/hope/btn_next.webp);right:5px;transition:all .3s ease 0s}.dprev .prev{background-image:url(https://g.techtimes.com/www/img/hope/btn_prev.webp);left:5px;transition:all .3s ease 0s}.dnext:hover .next{opacity:1}.dprev:hover .prev{opacity:1}.sliding img{max-width:100%;height:auto;width:auto}.v_text .table-block{margin:20px 0;overflow-x:auto}.v_text table{padding:0;border-spacing:0;border-collapse:collapse;width:100%}.v_text tr,.v_text tbody{padding:0}.v_text th{padding:5px 10px;background-color:#f3f3f3;color:#333;border:1px solid #aaa;font-size:.8em}.v_text td{padding:5px 10px;font-size:.8em;border:1px solid #aaa;min-width:50px}hr{margin:20px 0;border-top:1px solid #777;display:block}hr.dashed{border-top:1px dashed #777;clear:both;visibility:hidden;margin:0;height:0;overflow:hidden}hr.spacer{padding:8px 0;border:0;visibility:hidden;width:100%}.imageLeft,.imageRight,.galleryVtLeft,.galleryVtRight,.quoteLeft,.quoteRight,.relatedArticle,.rightArticle,.relatedVideo,.rightVideo{max-width:60%;height:auto}.relatedArticle{width:300px !important}.block2Left,.block1Left,.block5Left,.block2Right,.block1Right,.block5Right{max-width:50%;height:auto}.v_text>.imageLeft:first-child,.v_text>.imageRight:first-child{margin-top:25px !important}.imgPhoto{width:100%;height:auto}#tvplayer_main{position:absolute;z-index:20;width:100%;height:100%}.v_text .thumb-movie img{width:100%;height:auto;display:block}img.sensitive{visibility:hidden}.sensitive-content{color:#fff;font-size:20px;line-height:26px;text-align:center;width:300px;position:absolute;left:50%;top:50%;margin:-100px 0 0 -150px}.c-display{color:#fff;font-size:28px;padding:20px 20px;background:#db4b19;border-radius:5px;cursor:pointer;position:absolute;left:50%;top:50%;margin:-10px 0 0 -120px}.v_text video{max-width:100%}.v_text h1 a,.v_text h2 a,.v_text h3 a,.v_text h4 a,aside a{display:initial;border:0}.v_text h1 a:hover,.v_text h2 a:hover,.v_text h3 a:hover,.v_text h4 a:hover,.v_text strong a:hover,aside a:hover,.relatedArticle a:hover,.fullArticle a:hover,.rightArticle a:hover{text-decoration:underline}.v_text .precode{white-space:pre-wrap;padding:20px 10px 20px 20px;border:1px solid #777;background:#eff3f5;font-size:.9em}#social-btns{margin:20px 0 20px}.share-container{width:383px;margin:auto;float:right}.social-wrap{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:10px 0;color:#fff;margin-top:10px}.social-wrap .icon-text{display:table-cell;vertical-align:top;width:440px;padding-right:20px}.social-wrap .icon-more{display:table-cell;vertical-align:top;width:61px;min-width:61px}.social-wrap i{font-size:40px}.social-wrap .social-icon{left:10px;position:absolute;top:10px}.byline .ico-twitter-left:before{width:16px;height:17px;content:' ';display:inline-block;background:url(https://g.techtimes.com/www/img/social/twitter-x-black.svg) left 10%/80% no-repeat;vertical-align:middle}.social-share .icon{cursor:pointer;width:36px;height:36px;display:block}.social-share .twitter-x-black{background:url(https://g.techtimes.com/www/img/social/twitter-x-black.svg) center 55%/53% no-repeat}.social-share .whatsapp-black{background:url(https://g.techtimes.com/www/img/social/whatsapp-black.svg) center 90%/90% no-repeat}.social-share .pocket{background:url(https://g.techtimes.com/www/img/social/pocket.svg) 50% 60%/60% no-repeat}blockquote.embed-twitter,blockquote.twitter-tweet{border:1px solid #ddd;border-radius:15px;max-width:550px;padding:30px;margin:auto;font-size:.85em;position:relative}blockquote.embed-twitter a,blockquote.twitter-tweet a{border-bottom:0;color:#1b95e0}blockquote.embed-twitter:before,blockquote.twitter-tweet:before{background-repeat:no-repeat;content:'';display:block;height:1.3125rem;right:17px;position:absolute;top:16px;width:1.5rem;background-image:url(https://g.techtimes.com/www/img/social/twitter-x-black.svg);background-size:20px 20px}.comment-wrap .top-tainer{margin-top:0}textarea.comment-text{color:#333;padding:15px;border:2px solid #ccc;height:183px}#article-add>figure,#article-add>aside{display:block;width:100% !important;float:none !important;max-width:100% !important;margin:10px auto !important}#article-add .imgPhoto{display:block;margin:auto}.v_first>figure,.v_first>aside{margin:10px auto 0 !important}.v_text .ad-mpu{border:0}.odds--container{clear:both;background:#f5f5f5;float:left;font:700 16px/24px 'Source Sans Pro',lucida sans,arial,sans-serif;margin:0 15px 10px 0;text-align:center;width:300px}.odds--header{background:#ffb80c;padding:15px 0}.v_text div .odds--header a{color:#0e0e0e}.v_text .odds--header div{margin:0}.odds-match{padding:1em}.odds-match .h4{font-weight:700}.odds-option{background:#fff}.v_text .odds-option div{margin:0;padding:1em 0}.odds-option p:nth-child(2){border-bottom:1px solid #e5e5e5;border-top:1px solid #e5e5e5}.v_text .odds--container div a{color:#0e0e0e;border:0}.odds-cta{color:#ffb80c}.odds-terms{color:#999;font-size:.8em}audio{width:90%;margin:auto;display:block}@media screen and (max-width:510px){.odds--container{float:none;margin:10px auto 0;max-width:100%}.v_text .embed-feed a{display:none}}.galleryHz{clear:both;margin:5px auto;display:block;max-width:100%;margin:20px auto;justify-content:space-between}.galleryHz .innerBox{display:flex;flex-flow:row nowrap}.gallerySquare{clear:both;margin:5px auto;display:block;max-width:100%;margin:20px auto;overflow:hidden}.gallerySquare .innerBox{display:flex;flex-flow:row wrap;justify-content:space-between}.gallerySquare .imgPhoto{display:block}.gallerySquare .caption{height:100%}.gallerySquare .circle img{border-radius:50%}.gallerySquare .square-item{overflow:hidden}.galleryHz .square-item{flex:1 1 auto}.galleryHz .square-item img{height:100%}#v_article .afterClear::after,#v_article .beforeClear::before{clear:both;display:table;content:\" \"}.fullLayout{clear:both;position:relative;margin:0 auto}.fullLayout .layout-row{display:flex;flex-flow:row wrap;justify-content:space-between;margin:0 -14px}.fullLayout .layout-item{padding:0 14px;background:#fff}.fullLayout .column2 .layout-item{width:calc(50% - 28px)}.fullLayout .column3 .layout-item{width:calc(33.333333333% - 28px)}.fullLayout .column4 .layout-item{width:calc(25% - 28px)}.fullLayout.valign1 td{vertical-align:middle;border:0}.fullLayout.valign2 td{vertical-align:bottom}.valign1 .layout-row,.valign2 .layout-row{display:table !important}.valign1 .layout-item{display:table-cell;vertical-align:middle;width:50% !important}.valign2 .layout-item{display:table-cell;vertical-align:bottom;width:50% !important}.v_text .fb-post{width:500px;margin:auto;display:block}.twitter-tweet,.twitter-video{margin:auto}.v_text .tiktok-embed{min-height:480px}@media screen and (max-width:510px){#v_article .imageLeft,#v_article .imageRight,#v_article .quoteLeft,#v_article .quoteRight,#v_article .relatedArticle,#v_article .rightArticle,#v_article .relatedVideo,#v_article .rightVideo,#v_article .block2Left,#v_article .block1Left,#v_article .block5Left,#v_article .block2Right,#v_article .block1Right,#v_article .block5Right,#v_article .leftPoll,#v_article .rightPoll{float:none;margin:20px auto;max-width:100%;width:auto !important}#v_article .imageLeft .imgPhoto,#v_article .imageRight .imgPhoto,#v_article .galleryLeft .imgPhoto,#v_article .galleryRight .imgPhoto,#v_article .galleryVtLeft,#v_article .galleryVtLeft>div,#v_article .galleryVtLeft .imgPhoto,#v_article .galleryVtRight,#v_article .galleryVtRight>div,#v_article .galleryVtRight .imgPhoto,#v_article .galleryLeft,#v_article .galleryRight,#v_article .inside-left-mpu{float:none;margin:10px auto 0;max-width:100%}#v_article .imageLeft .imgPhoto,#v_article .imageRight .imgPhoto{margin:0}#v_article .relatedNews{float:none;margin:10px auto 0;width:100%;max-width:100%}#v_article .relatedNews .background{background-size:100% auto}.valign1 .layout-item{display:block}.fullLayout .column2 .layout-item{width:100% !important}.fullLayout .column3 .layout-item{width:100%}.fullLayout .column4 .layout-item{width:100%}.gallerySquare.each-item .square-item{flex:1 100% !important}}pre{line-height:1.1em;white-space:pre-wrap}p.clicknow{text-align:left;font:bold 17px/17px Arial,Helvetica,sans-serif;margin:20px 0}p.clicknow a{display:inline-block;background-color:#1c9bef;color:#FFF !important;padding:15px 20px;border-bottom:0;text-decoration:none !important;text-transform:uppercase;min-width:300px;text-align:center}@media screen and (max-width:510px){p.clicknow{text-align:center}p.clicknow a{min-width:330px;padding:19px 20px}}#big-shots-overlay .flex-wrap{display:flex}.v_text .imageBox{text-align:center}.v_text .imageBox .inBox{display:inline-block}#SIGNIN{position:fixed;z-index:10001 !important;top:0 !important;left:0 !important;background-color:rgba(0,0,0,0.7) !important;-webkit-backdrop-filter:blur(2px) !important;backdrop-filter:blur(2px) !important;font:14px/20px \"Helvetica\",sans-serif !important;color:#333 !important;height:100vh;width:100vw;overflow-y:scroll;padding-bottom:20px}#SIGNIN .nw-login{position:relative;margin:auto;max-width:525px;width:96%;z-index:99999999}.login-popup{margin-top:30px;border-radius:7px;padding:10px;background:#fff}.login-popup iframe{width:100%}.proscons .fullLayout .layout-item{background:#f3f3ff;padding:20px 30px}.proscons .layout-row{width:100%}.proscons ul{margin:0}.proscons ul li{margin:5px 0;padding-bottom:0}.proscons .pros,.proscons .cons{font-weight:bold;font-size:1.2em;margin-bottom:13px}.proscons .pros::before{content:'✔ ';color:green;font-size:1.2em}.proscons .cons::before{content:'✖ ';color:red;font-size:1.2em}.proscons td{background:inherit}.divTable{display:table;width:auto;border-spacing:2px;width:100%}.divRow{display:table-row;width:auto}.divCell{float:left;display:table-column;width:50%;border-top:2px solid #777}.divRow:nth-child(1) .divCell{border:0}.divCell:nth-child(2){color:#33c;text-align:right}.v_text .creditcard .caption{background:#eef;margin-top:5px}.creditcard{border:1px solid #eee;box-shadow:rgba(200,200,200,.3) -5px 5px;padding:16px}p.btnnow{text-align:left;font:bold 17px/17px Arial,Helvetica,sans-serif;margin:20px auto;width:200px}p.btnnow a{display:inline-block;background-color:#1c1bbb;color:#FFF !important;padding:15px 20px;border-bottom:0;text-decoration:none !important;text-transform:uppercase;min-width:200px;text-align:center;border-radius:10%}.boxtypeB ul li{line-height:1em}#SIGNIN .poster-comments{position:relative;margin:auto;max-width:1000px;width:96%;height:90vh;z-index:99999999;margin-top:50px}#SIGNIN iframe{display:block;height:100%;width:100%;border-radius:5px}.reference{scroll-margin-top:50px}.footnote-box{clear:both;margin-top:70px;border-top:1px solid #666;font-size:.75em}.footnote-box ol{margin-top:12px}.footnote-box li{scroll-margin-top:50px;line-height:1em !important}.footnote-box li a{margin-right:6px}.v_text .cap{margin:0 20px 0 0}.v_text .captionBox{position:relative;padding:10px 15px 15px;text-align:left}.v_text .caption{margin:0;text-align:left;padding:10px 15px 15px;color:#666}.v_text .credit{margin-top:5px;text-transform:uppercase}.relatedNews,.relatedArticle{border-top:#000 3px solid;font-weight:normal}.relatedNews .label{background:#000}.relatedNews a{border-bottom:0 !important}.block3{border-left:0 !important}.vjs-box{position:relative}.vjs-box:before{display:block;content:\"\";width:100%;padding-top:56.25%}.imgPhoto{cursor:pointer}.v_text .imageBox{text-align:center}.v_text .imageBox .inBox{display:inline-block}.v_first .imgPhoto{width:100%}.imageLeft,.imageRight,.galleryVtLeft,.galleryVtRight,.quoteLeft,.quoteRight,.relatedArticle,.rightArticle,.relatedVideo,.rightVideo{max-width:50%;height:auto}.slide .fullLayout{margin:0 auto}.promo-box{margin:20px 0}@media screen and (min-width:768px){.article-body .related.ir{float:right;width:200px;margin-left:30px;margin-bottom:0;margin-top:10px}}@media screen and (max-width:768px){#v_article>figure.imageBox,.article-body>figure.imageBox,.article-body>figure.imageLeft,.article-body>figure.imageRight,.article-body>figure.galleryFull,.article-body>figure.galleryHz,.article-body>figure.comparative{margin:0 calc(50% - 50vw) 20px;max-width:inherit !important}}.article-body h2{margin-top:24px;margin-bottom:24px}.article-body h3{margin-top:20px;margin-bottom:20px}.imageBox .link,.imageLeft .link,.imageRight .link{position:absolute;top:0;bottom:0;left:0;right:0;opacity:0}.fact-check{text-align:center;margin:20px auto;position:relative}.product-item{text-align:left;margin:20px auto;position:relative;font-size:26px;font-weight:bold}.fact-check:after,.product-item:after{display:block;content:\"\";border-top:3px solid #ccc;transform:translateY(-1rem);position:absolute;top:30px;left:0;width:100%;z-index:1}.product-item:after{border-top:2px solid #1c9bef;top:35px}.fact-check span.fc,.product-item span.fc{background:red;color:white;padding:0 20px;display:inline-block;z-index:2;position:relative}.product-item span.fc{background:#1c9bef;padding:0 5px 0 8px;font-size:.7em;font-family:Arial,Helvetica,sans-serif;width:50px;text-align:center}div.n-forum{background-color:#f41e12;padding:30px;border-radius:8px;color:#ffff;margin:20px 0}.n-forum a.link{color:#ffe400;font-weight:bold}.n-forum a.link2{color:#ffe400;text-decoration:underline}.fullItem .star{margin-left:10px;color:#666}.art19-web-player.awp-medium{min-height:198px}.big-shots{position:relative}.big-shots .n-title{margin-bottom:18px;display:none}.big-shots .n-title .icon-n{position:relative}.big-shots .n-title .icon-n::before{content:\"\";display:block;width:26px;height:25px;border-right:3px solid #f72210;border-bottom:3px solid #f72210;position:absolute;bottom:-4px;right:-4px}.big-shots h2{text-transform:uppercase}.big-shots .description{padding-bottom:20px}.big-shots .image{position:relative}.big-shots .cover.mask{position:absolute;top:0;right:0}.big-shots .cover.mask::before{-moz-transition:all .4s ease;-o-transition:all .4s ease;-webkit-transition:all .4s ease;transition:all .4s ease;display:block;content:\"\";width:82px;height:83px;background:url(https://g.techtimes.com/images/icon-arrow-dia-down.svg) center/37px no-repeat rgba(18,18,18,.8);position:absolute;top:0;right:0}.big-shots .cover.mask:hover{top:1px;right:1px;left:1px;bottom:1px}.big-shots .cover.mask:hover::before{width:100%;height:100%;background-image:none;background-color:rgba(18,18,18,.1)}.big-shots .info{padding:15px 30px 30px;text-align:center;border:1px solid #d9d9d9;border-top:0;position:relative}@media screen and (max-width:767px){.big-shots{margin-left:-15px;margin-right:-15px}}.front .big-shots .cover.mask{bottom:0;left:0;z-index:1}.v_text .big-shots .container-fluid{padding-left:0;padding-right:0}.story main .big-shots .container-fluid{margin-top:0}.affiliate .imageBox figcaption{background:#000;color:#fff;position:absolute;bottom:0;right:0;padding:5px 10px}.affiliate .imageBox .credit{color:#ccc}.affiliate .v_text p a,.affiliate .v_text h3 a{color:#1c9bef;text-decoration:underline}.article-header .byline{width:calc(100% - 280px);min-width:250px}.social-share{width:270px;height:36px justify-content:flex-end;-webkit-justify-content:flex-end;-webkit-align-items:center;align-items:center;display:flex}.element-invisible{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px}.jc-sb{-webkit-justify-content:space-between;justify-content:space-between}.ai-c{-webkit-align-items:center;align-items:center}.flex-wrap{-webkit-flex-wrap:wrap;flex-wrap:wrap}.flex-xs{display:-webkit-flex;display:flex}.byline-social{border-top:1px solid #e9e9e9;padding:13px 0}.social-share .icon{cursor:pointer;width:22px;height:24px;display:block}.social-share .twitter-x-black{background-size:75%}.social-share{padding-bottom:30px;width:270px;height:36px}.social-share .genericon{font-size:22px}.social-share li{padding-left:12px;padding-right:12px}.byline-social .byline time{min-width:290px;display:block;line-height:25px;font-weight:400;font-size:13px}.byline-social .social-share{margin-top:8px}.social-share .genericon.genericon-flipboard{background-color:#f52828}.genericon-flipboard{background:url(https://g.ibtimes.com/www/images/flipboard.png) no-repeat 50% 50% #f52828}.social-share .genericon{width:36px;height:36px;margin-left:3px;font-size:16px;line-height:36px;color:#738a8d;font-size:24px}.social-share .genericon:hover{text-decoration:none}.social-share .genericon-facebook-alt{font-size:22px;color:#3b5998;margin-left:0}.social-share .genericon-twitter{color:#1da1f2}.social-share .genericon-tumblr{color:#35465c}.social-share .genericon-linkedin{color:#0077b5}.social-share .genericon-pinterest{color:#bd081c}.social-share .genericon-reddit{color:#ff4500}.social-share .genericon.genericon-flipboard{background-color:transparent !important}.on-sticky{padding-bottom:50px}.small-related{padding:10px 0}.small-related .title{font-weight:bold}.small-related .t{margin:7px 0}@media(min-width:1025px){.col-md-8{width:calc(100% - 430px)}.page-sidebar{width:430px;min-width:430px;padding:0 15px}}@media(max-width:1024px){.col-md-4,.col-md-8{width:100%;max-width:100%;flex:none}}.dfp-tag-wrapper{background:#f5f5f5 url(https://g.techtimes.com/www/images/ad.gif) no-repeat center center;height:251px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:sans-serif}.dfp-tag-wrapper iframe{margin:auto;max-width:inherit}#dfp-ad-top-wrapper{border-bottom:1px solid #ccc}#ad-right3-wrapper .dfp-tag-wrapper{height:600px}#ad-bottom-wrapper .dfp-tag-wrapper{height:90px}#ad-sticky-wrapper{display:none}#ad-sticky-wrapper.block-sticky{position:fixed;width:100%;left:0;bottom:0;top:initial;margin:0}#ad-sticky-wrapper .dfp-tag-wrapper{height:50px}.block-sticky{position:sticky;top:0;z-index:2}.page-top-mobile-video{display:none}.ad_wrapper_video{background-image:url(https://g.techtimes.com/video/images/ibt_player_bg2.jpg);background-image:image-set(url(https://g.techtimes.com/video/images/ibt_player_bg2.webp),url(https://g.techtimes.com/video/images/ibt_player_bg2.jpg));background-position:left top;background-size:contain;background-repeat:no-repeat;width:100%;height:200px;position:relative}@media(max-width:1024px){.page-top-ad{display:none}.page-top-mobile-video{display:block;margin-top:25px;width:100%;min-height:calc(100vw/1.66)}.dfp-tag-wrapper,#ad-bottom-wrapper .dfp-tag-wrapper{height:calc(100vw/1.20);max-height:300px;display:flex;align-items:center;justify-content:center}.ad_wrapper_video{background-size:cover}}.btn_mobile_play{position:absolute;width:135px;height:63px;line-height:1em;left:50%;top:100px;margin:-33px 0 0 -67.5px;color:white;background:none;cursor:pointer}.btn_mobile_play:before{font-family:VideoJS;content:\"\\f102\";font-size:3em;vertical-align:middle}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #fff;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.play_icon_wrapper{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}#_icon{width:50px;height:50px;cursor:pointer;margin:0 auto}.play_icon{background:url(https://g.techtimes.com/www/images/play_icon.svg) no-repeat}.editors-pick-news-container a img{width:100%;height:auto}.footer-subscribe-form input[type=\"email\"]{color:#fff;text-transform:none}.article-author a,.hero-author a{color:#000;text-decoration:none}.article-text ul{margin-left:30px;margin-bottom:40px}.article-text ul li p,.article-text li p:first-child{margin:0 0 0 20px}.article-content a{color:#0a58b8}.see_now{margin-left:50px}.copyright{margin-bottom:30px}.top-stories-image img,.editors-pick-left-news img,.top-5-travel-stories-container img,.leisure-travel-culture-travel-tips img{width:100%;height:auto}.editors-pick-latest-news-item:last-child{border-bottom:0}.section-hero-img{width:100%}.page-numbers .tabActive a{font-weight:bold;background-color:#ccc}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{text-decoration:none;color:#000}.spotlight-3rd-column-news img{display:block;max-height:325px;width:293px;margin:0 auto}div.join-comment{margin:2rem 0;border-top:5px solid #cb2b1d;text-align:center;padding:1rem 0;position:relative}.join-comment:before{content:\"\";position:absolute;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #cb2b1d;top:0;left:50%}.join-comment>span{font-family:'Roboto',sans-serif;font-weight:300;text-transform:uppercase;font-size:2rem}.news-item-left{min-width:255px;padding-bottom:30px}.article-text h4,.article-text h5,.article-text h6{margin:0 50px 40px}.at_tags{margin:30px 5px 15px 0}.at_tags .tags{background:#0072bc;color:#fff;float:left;padding:3px 8px;margin-right:15px}.at_tags .t1{padding-top:4px}.at_tags .t1 a{color:#777}.at_tags dd{margin-inline-start:50px}.search-form{display:flex;width:100%;justify-content:space-around}.search-bar input{color:#fff}@media(max-width:1280px){.spotlight-3rd-column-news img{width:100%;max-height:fit-content}.see_now{margin:0 0 40px 0}.at_tags dd{margin-left:0;margin-inline-start:0}}.no-bullet{margin:0;padding:0;list-style:none}.list-divider li{display:flow-root}.list-divider li:not(:last-child){margin-bottom:.9375rem;padding-bottom:.9375rem;border-bottom:1px solid #d4d4d4}.no-bullet li{margin:0}.media-left .media{float:left;margin-right:3.3333333%}a.por{display:block}.media{max-width:35%}.por{position:relative}.media-body{overflow:hidden}.stories-list{font-family:\"Poppins\",sans-serif;font-size:11px;color:#222;text-transform:uppercase}.stories-list-title{margin:0}.stories-list-title a{color:#333;text-decoration:none;font-size:22px;line-height:26px;font-weight:bold}.section-page-title{width:95%}.right-column{padding-top:25px}.byline-social .byline{width:calc(100% - 280px);min-width:250px}.writer-info .image,.writer-sponsored .image{-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;float:left;margin-right:15px;padding:0;overflow:hidden}.writer-info .image img,.writer-sponsored .image img{transform:translate(0%,0%);width:auto;max-width:inherit;height:60px}.byline .author-name{margin-right:10px}.article-header .byline time{display:block;margin-top:10px;font-weight:400}.article-header .byline a:hover{text-decoration:underline}.article-header .byline{margin-bottom:0}.article-header .byline .author-extra{display:inline-block;font-style:normal}.byline .ico-twitter-left:before{width:16px;height:17px;content:' ';display:inline-block;background:url(https://g.techtimes.com/www/images/social/twitter-x-black.svg) left 10%/80% no-repeat;vertical-align:middle}.article-header .byline .genericon{font-size:inherit;line-height:inherit;font-family:inherit}.article-header .byline .genericon::before{font:normal normal 16px Genericons;display:inline-block;vertical-align:middle}.genericon{font-size:20px;vertical-align:top;text-align:center;display:block;font-family:\"Genericons\";cursor:pointer}.article-header .byline .genericon-twitter::before{color:#1da1f2}.article-header .byline .genericon-linkedin::before{margin-right:3px;color:#0077b5}.byline-social{border-top:1px solid #e9e9e9;padding:13px 0}.genericon-flipboard{background-image:url(https://g.techtimes.com/www/images/social/flipboard.png) !important}.social-share{width:270px;height:36px}.jc-fe{-webkit-justify-content:flex-end;justify-content:flex-end}.ai-c{-webkit-align-items:center;align-items:center}.flex-xs{display:-webkit-flex;display:flex}.social-share .twitter-x-black{background:url(https://g.techtimes.com/www/images/social/twitter-x-black.svg) center 55%/53% no-repeat}.social-share .genericon.genericon-flipboard{background-color:transparent !important}.genericon-flipboard{background:url(https://g.techtimes.com/www/images/social/flipboard_srrw.webp) no-repeat 50% 50% #f52828}.social-share .pocket{background:url(https://g.techtimes.com/www/images/social/pocket.svg) 50% 60%/60% no-repeat}.social-share .icon{cursor:pointer;width:36px;height:36px;display:block}.element-invisible{position:absolute;overflow:hidden;height:1px}.social-share .genericon{width:36px;height:36px;margin-left:3px;font-size:16px;line-height:36px;color:#738a8d;font-size:24px}.social-share .genericon:hover{text-decoration:none}.social-share .genericon-facebook-alt{font-size:22px;color:#3b5998;margin-left:0}.social-share .genericon-twitter{color:#1da1f2}.social-share .genericon-tumblr{color:#35465c}.social-share .genericon-linkedin{color:#0077b5}.social-share .genericon-pinterest{color:#bd081c}.social-share .genericon-reddit{color:#ff4500}.social-share .genericon.genericon-flipboard{background-color:transparent !important}.genericon-chat:before{content:\"\\f108\"}.genericon-collapse:before{content:\"\\f432\"}.genericon-comment:before{content:\"\\f300\"}.genericon-expand:before{content:\"\\f431\"}.genericon-downarrow:before{content:\"\\f502\"}.genericon-facebook:before{content:\"\\f203\"}.genericon-facebook-alt:before{content:\"\\f204\"}.genericon-feed:before{content:\"\\f413\"}.genericon-flag:before{content:\"\\f468\"}.genericon-googleplus:before{content:\"\\f218\"}.genericon-googleplus-alt:before{content:\"\\f218\"}.genericon-home:before{content:\"\\f409\"}.genericon-info:before{content:\"\\f455\"}.genericon-instagram:before{content:\"\\f215\"}.genericon-linkedin-alt:before{content:\"\\f208\"}.genericon-linkedin:before{content:\"\\f207\"}.genericon-tiktok path{fill:#fff}.genericon-youtube:before{content:\"\\f213\"}.genericon-mail:before{content:\"\\f410\"}.genericon-menu:before{content:\"\\f419\"}.genericon-next:before{content:\"\\f429\"}.genericon-pinterest-alt:before{content:\"\\f210\"}.genericon-pinterest:before{content:\"\\f209\"}.genericon-previous:before{content:\"\\f430\"}.genericon-reddit:before{content:\"\\f222\"}.genericon-search:before{content:\"\\f400\"}.genericon-subscribe:before{content:\"\\f463\"}.genericon-tumblr:before{content:\"\\f214\"}.genericon-twitter:before{content:\"\\f202\"}.genericon-uparrow:before{content:\"\\f500\"}.genericon-warning:before{content:\"\\f414\"}.genericon-close:before{content:\"\\f405\"}.genericon-close-alt:before{content:\"\\f406\"}@font-face{font-family:'Genericons';src:url(https://g.techtimes.com/www/fonts/Genericons.woff) format(\"woff2\"),url(https://g.techtimes.com/www/fonts/Genericons.woff) format(\"woff\");font-weight:400;font-style:normal;font-display:swap}a{color:inherit;text-decoration:none}a:hover{color:#17aabc;text-decoration:none}button:focus,:focus{outline:0}img{max-width:100%;vertical-align:middle;height:auto}ol,ul{margin-bottom:0;padding-left:0}summary,ul li{list-style:none}figure{margin-bottom:0}figure img{width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:'Lato',sans-serif}h2{font-size:26.5px;line-height:33.5px}h3{font-size:24px;line-height:29.5px}h4{font-size:19.5px;line-height:25.5px}h5{font-size:17.5px;line-height:24.5px}h6{font-size:17px;line-height:21.5px}h6 span{font-weight:400}.container-fluid{max-width:1300px}body{color:#02061a;font:13.5px/21.5px Helvetica,sans-serif;position:relative}.current,.brand{color:#fff;background-color:#1baabc}.ph{background-color:#fff;border-bottom:1px solid #7f7f7f;transition:.3s}.logo a{width:200px;height:50px;display:block;background:url(https://g.techtimes.com/www/images/logo-tt.svg) center / contain no-repeat}.ph .socials{text-align:right;padding-top:3px;padding-bottom:5px}.icon,.social{display:inline-block;vertical-align:middle;width:30px;height:30px;background-position:center;background-size:20px;background-repeat:no-repeat;cursor:pointer}.icon-menu{background-image:url(https://g.techtimes.com/www/images/icon_menu.svg);background-size:30px}.icon-search{background-image:url(https://g.techtimes.com/www/images/icon_search.svg)}.showSearch .icon-search,.showMenu .icon-menu{background-image:url(https://g.techtimes.com/www/images/icon_close.svg);background-size:30px}.ph .social-facebook{background-image:url(https://g.techtimes.com/www/images/social_facebook_black.svg)}.ph .social-facebook:hover{background-image:url(https://g.techtimes.com/www/images/social_facebook_white.svg);background-color:#3b5998}.ph .social-twitter{background-image:url(https://g.techtimes.com/www/images/social_x.svg)}.ph .social-twitter:hover{background-image:url(https://g.techtimes.com/www/images/social_x2.svg);background-color:black}.ph .social-youtube{background-image:url(https://g.techtimes.com/www/images/social_youtube.svg)}.ph .social-youtube:hover{background-image:url(https://g.techtimes.com/www/images/social_youtube2.svg)}.pn{font:bold 20px Lato,sans-serif;text-transform:uppercase}.searchform input{margin:0;border:0;border-radius:0;height:30px}.searchform input[type=\"text\"]{background-color:#f5f5f5;color:#000;font-size:16px;text-indent:8px;width:100%}.searchform input[type=\"submit\"]{background:url(https://g.techtimes.com/www/images/icon_search2.svg) center /20px no-repeat #1baabc;width:30px}@media(min-width:768px){.icon-menu{display:none}.searchform{position:absolute;width:0;overflow:hidden;transition:.3s}.showSearch .searchform{width:290px}.ph{padding-top:27px;padding-bottom:12px}.ph .logo{padding-bottom:9px}.ph .logo a{width:230px;height:30px}.pn ul{width:100%;display:flex}.pn li{flex-grow:1;text-align:center}.pn .brand a:hover{color:#4eddef}.scrollHeader .ph{position:fixed;top:0;left:0;right:0;z-index:1000;padding-top:0;padding-bottom:0}.scrollHeader .ph .container-fluid{height:60px}.scrollHeader .ph .logo{padding-bottom:0}.scrollHeader .ph .logo a{width:84px;height:50px}.scrollHeader .ph .socials{display:none}}@media(min-width:950px){.pn ul{display:block;text-align:right}.pn li{display:inline-block;padding-left:15px;padding-right:15px}}@media(max-width:767px){.icon-search{display:none}body{padding-top:60px}.ph{position:fixed;top:0;left:0;right:0;z-index:1000}.ph .container-fluid{height:60px}.pn{position:fixed;background-color:#17aabc;color:#fff;top:60px;right:0;width:290px;height:calc(100vh - 60px);transform:translate(100%);transition:.3s}.pn .brand{color:#9affff}.showMenu .pn{transform:translateX(0)}.searchform,.pn a{display:block;padding:15px}.pn a:hover{background-color:#0c0c0c;color:#fff}}.icon-menu{background-color:transparent;border:0;cursor:pointer;width:44px;height:44px;background-size:30px;background-repeat:no-repeat;background-position:center;margin-left:auto;flex-shrink:0}.icon-menu span{display:block;width:100%;height:2px;background-color:#333;border-radius:2px;transition:all .3s ease}@media(max-width:767px){nav.pn{overflow:hidden}body{overflow-x:hidden}.ph{overflow:hidden}}.icon-menu.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.icon-menu.open span:nth-child(2){opacity:0}.icon-menu.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}div.category{font-weight:700;font-family:'Lato',sans-serif;color:#1baabc;text-transform:uppercase;letter-spacing:.5px}.section-top{padding-top:35px}article figure{margin-bottom:9px}article .category{margin-bottom:6px}.section-top article.lg figure{margin-bottom:16px}article.lg .category{margin-bottom:10px;font-size:16.5px}article.lg summary{padding-top:3px;padding-bottom:12px}article.video figure{background-color:#000}article.video figure a{display:block;position:relative}article.video figure a::before{content:\"\";display:block;width:26px;height:26px;background:url(https://g.techtimes.com/www/images/icon_play.svg) center / contain no-repeat;z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}article.video figure img,article.video figure a::before{opacity:.9;transition:.3s}article.video figure a:hover img,article.video figure a:hover::before{opacity:1}article.video.lg figure a::before{width:58px;height:58px}.block-title{color:#1baabc;font:bold 27.5px/27.5px Lato,sans-serif;border-top-width:3px;border-top-style:solid;text-transform:uppercase;padding-top:15px;padding-bottom:25px}.block-title .more{font-size:15px}.list figure.float-left{width:35%;max-width:190px;margin-right:16px}.list li{border-top:1px solid #e5e5e5;padding-top:14px;padding-bottom:5px}.list li:first-child{border-top:0;padding-top:0}.list article .category{margin-top:2px;margin-bottom:3px}.list .byline{margin-bottom:6px}.mb{margin-bottom:35px}.block figure{margin-bottom:12px}.block article{margin-bottom:14px}ol.list{counter-reset:countup}ol.list article .category{margin-top:0}ol.list li{list-style:none;counter-increment:countup;display:flex}ol.list li::before{content:counter(countup)\".\";font:bold 22px/22px sans-serif;color:rgba(0,0,0,.5);margin-right:10px}ol.list .d-flex figure{flex:0 0 32%;margin-right:16px}.archive ol.list .d-flex figure{flex:0 0 44%;margin-right:16px}@media(min-width:576px){.block .col-sm-6:nth-of-type(even){border-left:1px solid #e5e5e5}}@media(min-width:576px) and (max-width:767px){.section-top .col-sm-6:nth-of-type(even),.section-middle .col-sm-6:nth-of-type(even),.videos .col-sm-4:nth-of-type(n+2){border-left:1px solid #e5e5e5}}@media(min-width:768px){.section-top .col-sm-6,.section-middle .col-sm-6:nth-of-type(n+2),.b-md-l{border-left:1px solid #e5e5e5}.section-top.s1{border-bottom:1px solid #e5e5e5;padding-bottom:15px;margin-bottom:15px}.section-top article:first-of-type,.section-middle .col-sm-6{margin-bottom:35px}.section-middle.s2 .block-title{padding-bottom:15px}}@media(min-width:768px) and (max-width:991px){.videos .col-md-12 article::after{content:\"\";display:table;clear:both}.videos .col-md-12 figure{width:35%;max-width:190px;float:left;margin-right:16px}.videos .col-md-12 article{border-top:1px solid #e5e5e5;padding-top:14px;padding-bottom:6px}}@media(min-width:992px){article.video.lg{border-bottom:1px solid #e5e5e5;padding-bottom:8px;margin-bottom:16px}.videos .col-lg-4:nth-of-type(n+2){border-left:1px solid #e5e5e5}}@media(max-width:767px){.section-top article,.section-middle article{padding-bottom:35px}.block article,article.video.lg{margin-bottom:35px}}.page-middle{background-color:#f5f5f5;padding-top:30px;padding-bottom:30px}.breadcrumbs{font:bold 10px/10px Lato,sans-serif;color:#1baabc;text-transform:uppercase;padding-top:25px;padding-bottom:0}.breadcrumbs a{font-weight:400;color:#515254}.breadcrumbs li::before{font-weight:400;color:#515254;content:\">\";margin-left:7px;margin-right:4px}.breadcrumbs li:first-child::before{content:none}.archive-header{font:bold 18px/34px Lato,sans-serif;text-transform:uppercase;padding-top:10px}.archive-header h1{font-size:34px;padding-right:15px}.archive-header li{display:inline-block}.archive-header li a{display:block;margin-right:30px}.archive{padding-top:20px}.archive .lg{border-bottom:1px solid #e5e5e5;padding-bottom:26px;margin-bottom:35px}.loadmore{text-align:center;border-top:1px solid #e5e5e5;padding-top:45px;padding-bottom:25px}.loadmore span{display:inline-block;cursor:pointer;font:bold 16px/31px Lato,sans-serif;text-transform:uppercase;color:#fff;background-color:#1baabc;padding-left:20px;padding-right:20px}.loadmore span:hover{background-color:#000}.pager{font:bold 16px/26px Lato,sans-serif;padding-bottom:75px;padding-top:40px;text-align:center}.pager li{display:inline-block;margin-left:7px;margin-right:7px}.pager a,.pager span{display:inline-block;padding-left:9px;padding-right:9px;border-width:1px;border-style:solid}.pager a{color:#1baabc}.pager .current span,.pager a:hover{background-color:#1baabc;color:#fff;border-color:transparent}.pager span{color:#666;border-color:#ccc}.pager .ellipses{color:#1baabc;border-width:0}.ph .logo-buzz a{display:inline-block;vertical-align:middle}.ph .logo-buzz .text{background-image:none;width:auto;height:auto;background-color:#1baabc;color:#fff;font:bold 24px/32px Lato,sans-serif;text-transform:uppercase;padding:16px 7px 2px}.buzz{background-color:#1baabc;margin-bottom:35px}.buzz .container-fluid{background:url(https://g.techtimes.com/www/images/buzz.jpg) right center / 565px no-repeat}.buzz .description{color:#fff;text-transform:uppercase;font:28px/34px Lato,sans-serif;padding-top:33px;height:105px}.buzz-header{font:bold 20px/34px Lato,sans-serif;text-transform:uppercase}.buzz-header h1{font-size:34px;margin-bottom:15px}.buzz-header li{padding-top:10px}.buzz-header li a{display:block;padding-bottom:0}.buzz-header .current{background-color:#fff;color:inherit}.buzz-header a:hover{color:#fff}.buzz-header .current a:hover{color:inherit}.buzz-cards h3{padding:15px}@media(min-width:400px){.ph .logo-buzz .text{margin-left:10px;font-size:32px}}@media(min-width:768px){.ph .logo-buzz .text{padding-top:28px;margin-top:3px}.buzz-header h1{margin-right:35px}.buzz-header li a{padding-left:18px;padding-right:18px}.scrollHeader .ph .logo-buzz .text{padding-top:16px;margin-top:0;width:auto;font-size:24px}}@media(max-width:767px){.buzz li:first-child{width:100%}.buzz-header{margin-left:-15px;margin-right:-15px;flex-wrap:wrap}.buzz-header li{flex-grow:1;text-align:center}.buzz-header li:first-child{text-align:left;padding-left:15px;width:100%}}.sidebar{position:static}@media(max-width:767px){.sticky{position:static !important}}.article-header{padding-top:10px;padding-bottom:15px}.article-header h1{font:bold 36.5px/46.5px Lato,sans-serif}.article-header h4{font:20.5px/28.5px Lato,sans-serif;font-style:italic}.article-body{font-size:19px;line-height:30px;color:#000}.article-body p,.article-body ul,.article-body ol{margin-bottom:30px}.article-body h3{margin-bottom:.7em}.article-body h2{margin-bottom:.8em}.article-body h4,.article-body h5{margin-bottom:.6em}.article-body .byline{color:#02061a}.author{color:#1baabc;font-weight:700}.article-body .byline time{color:#3c3a3a;font-weight:300;font-size:15px}.article-body a{font-weight:700;color:#1baabc}.article-body a:hover{text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#1baabc;text-decoration-thickness:3px}.article-body figure{padding-top:10px;margin-bottom:25px}.article-body figcaption{font-size:15px;line-height:21.5px;color:#3b3939;padding-top:8px;padding-bottom:8px}.article-body figcaption .credit{color:#868788}.article-body ol,.article-body ul{margin-left:30px}.article-body ul li{list-style:disc}.article-body blockquote{border-left:6px solid #e5e5e5;padding-left:30px;font-style:italic;margin-left:30px}.article-copyright{font-style:italic;font-size:16.5px;color:#363535;margin-bottom:30px}.tags{font:20.5px/30px Lato,sans-serif;color:#444747;padding-top:10px;margin-bottom:20px}.tags strong{display:inline-block;margin-right:10px}.tags a{display:inline-block;padding-left:10px;padding-right:10px}.tags a:hover{text-decoration:none;background-color:#1baabc;color:#fff}.related{font-family:\"Lato\",sans-serif;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding-top:22px}.article-body .related figure{width:167px;padding-top:0;margin-bottom:0;margin-right:18px}.article-body .related a{color:#000}.related h3{font-size:22px;line-height:22px;padding-bottom:10px}.related h4{font-size:20.5px;line-height:30px}.related article{padding-bottom:10px}.discussion{display:none}.subscribe-block{background-color:#6ac1d1;padding:20px 25px;margin-top:35px;margin-bottom:35px}.subscribe-block h3{color:#fff;font-size:22px;line-height:25.5px;margin-bottom:5px}.subscribe-block p{font:11px/14px Helvetica,sans-serif;color:rgba(22,21,21,.79);margin-bottom:15px}.subscribe-block input{border-radius:0;border:0;height:33px;padding:0}.subscribe-block input[type=\"text\"]{color:#5f5c5c;font:10px/10px Helvetica,sans-serif;background-color:#fff;text-indent:15px;flex:1}.subscribe-block input[type=\"submit\"]{background-color:#000;color:#fff;font:bold 14px/33px Helvetica,sans-serif;width:118px;text-align:center;cursor:pointer;margin-left:5px}.at-sns-v{opacity:.9}.at-sns-h{width:100%;overflow:hidden;height:40px;margin-bottom:15px}.at-sns-v .plus,.at-sns-v .close{background:#1baabc;border-radius:100%;width:30px;height:30px;display:inline-block;vertical-align:middle;cursor:pointer;position:relative}.at-sns-v .plus .icon-plus,.at-sns-v .close .icon-cancel{display:block;width:16px;height:16px;background-repeat:no-repeat;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.at-sns-v .plus .icon-plus{background-image:url(https://g.techtimes.com/www/images/icon-split.png);background-position:-255px -32px}.at-sns-v .close .icon-cancel{background-image:url(https://g.techtimes.com/www/images/icon-split.png);background-position:-279px -32px}.at-sns-v .close{float:none;opacity:inherit}.bts_social .ico{background:url(https://g.techtimes.com/www/images/social_desktop.gif) no-repeat 0 0 #000;width:40px;border-radius:100%;height:40px;display:inline-block;text-indent:-9999px}.bts_social .ico:hover{opacity:.8}.bts_social .fb{background-position:0 0}.bts_social .tw{background-position:-40px 0}.bts_social .g{background-position:-80px 0}.bts_social .in{background-position:-120px 0}.bts_social .rd{background-position:-160px 0}.bts_social .email{background-position:-200px 0}.bts_social .whats{background-position:-240px 0}.bts_social .stu{background-position:-280px 0}.bts_social .digg{background-position:-320px 0}.bts_social .comt{background-position:-360px 0}.at-sns-v .plus,.at-sns-v .close{margin-top:3px;margin-bottom:3px}.bts_social li{padding-top:3px;padding-bottom:3px}@media(min-width:768px){.article-body figure{max-width:90%;margin-left:auto;margin-right:auto}}@media(min-width:1280px){.at-sns-v{position:fixed;top:50%;transform:translateY(-50%);left:0;text-align:center}.at-sns-v .plus,.at-sns-v .close{margin-left:3px;margin-right:3px}.bts_social li{padding-left:3px;padding-right:3px}.sidebar-spacing{padding:0 50px}}@media(min-width:1460px){.at-sns-v{left:25px}}@media(max-width:1279px){.at-sns-v{margin-bottom:35px}.social_more,.bts_social li{display:inline-block;vertical-align:middle}}.pf{background-color:#828282;color:#fff;font-family:\"Lato\",sans-serif;padding-top:35px;padding-bottom:35px}.pf a:hover,.pf button:hover{color:#4eddef}.pf .social-facebook:hover{background-image:url(https://g.techtimes.com/www/images/social_facebook_black.svg)}.pf .social-facebook{background-image:url(https://g.techtimes.com/www/images/social_facebook_white.svg)}.pf .social-twitter:hover{background-image:url(https://g.techtimes.com/www/images/social_x.svg)}.pf .social-twitter{background-image:url(https://g.techtimes.com/www/images/social_x2.svg)}.pf .logo a{background-image:url(https://g.techtimes.com/www/images/logo-tt-btm2.svg);width:190px;height:27px}.pf ul,.pf .list2 button{font-weight:700;text-transform:uppercase}.pf li{display:inline-block}.pf .list1{font-size:20px}.pf .list2,.pf .list2 button{color:rgba(255,255,255,.7);font-size:15px}.pf .list2 button{border:0;background:none}.pf .copyright{color:rgba(255,255,255,0.5);font-size:15.5px;padding-top:2px}@media(min-width:992px){.pf ul{text-align:center}.pf li{padding-left:15px;padding-right:15px;padding-bottom:8px}.pf .socials{text-align:right}.pf .copyright{padding-bottom:19px}}@media(max-width:991px){.pf .logo,.pf ul{padding-bottom:10px}.pf li{padding-top:10px;padding-bottom:10px;padding-right:30px}}.article-body .imageLeft{float:left;padding-right:15px;margin-bottom:15px}.article-body .imageLeft .caption{margin-bottom:2px;font-size:15px;line-height:21.5px;color:#3b3939}.article-body .imageNone .caption{font-size:15px;line-height:21.5px;color:#3b3939}.aff-button{text-align:center;margin-bottom:15px}.aff-button a{display:inline-block;padding:15px 30px;border-radius:3px;background-color:#ed2939;border-bottom:2px solid #b31724;color:#fff;font:bold 20px/20px Helvetica,Arial,sans-serif;text-decoration:none}.aff-button.yellow a{background-color:#ffc700;border-bottom:2px solid #dca300;color:#fff}.aff-button.left{text-align:left}.aff-button.right{text-align:right}.aff-button a:hover{text-decoration:none}.imagePrice{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.article-body .imagePrice figure{width:50%}.imagePrice figure img{width:auto}@media(max-width:768px){.imagePrice{display:block}.imagePrice figure{margin-left:auto;margin-right:auto}}table.GeneratedTable{width:100%;background-color:#FFF;border-collapse:collapse;border-width:2px;border-color:#fc0;border-style:solid;color:#000}table.GeneratedTable td,table.GeneratedTable th{border-width:2px;border-color:#fc0;border-style:solid;padding:3px;text-align:center}table.GeneratedTable td{text-align:center}table.GeneratedTable thead{background-color:#fc0}.GeneratedTable img{max-height:250px;margin:0 auto}.breadcrumbs li:last-child a{color:#1baabc}.jobslist h3,.about-right h3{border-bottom:1px solid #CCC;padding-bottom:20px;margin-bottom:20px}.jobslist ul li{border-bottom:1px solid #CCC;padding:15px;font-size:18px}.jobslist ul{margin-bottom:20px}.about-right p,.about-right b{font-size:1rem}.byline-social .byline{width:calc(100% - 280px);min-width:250px}.writer-info .image{-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;float:left;margin-right:15px;padding:0;overflow:hidden}.writer-info .image img{transform:translate(0%,0%);width:auto;max-width:inherit;height:60px}.byline .author-name{margin-right:10px}.article-header .byline time{display:block;margin-top:10px;font-weight:400}.article-header .byline a:hover{text-decoration:underline}.article-header .byline{margin-bottom:0}.article-header .byline .author-extra{display:inline-block;font-style:normal}.byline .ico-twitter-left:before{width:16px;height:17px;content:' ';display:inline-block;background:url(https://g.techtimes.com/www/images/social/twitter-x-black.svg) left 10%/80% no-repeat;vertical-align:middle}.article-header .byline .genericon{font-size:inherit;line-height:inherit;font-family:inherit}.article-header .byline .genericon::before{font:normal normal 16px Genericons;display:inline-block;vertical-align:middle}.genericon{font-size:20px;vertical-align:top;text-align:center;display:block;font-family:\"Genericons\";cursor:pointer}.article-header .byline .genericon-twitter::before{color:#1da1f2}.article-header .byline .genericon-linkedin::before{margin-right:3px;color:#0077b5}.byline-social{border-top:1px solid #e9e9e9;padding:13px 0}.genericon-flipboard{background-image:url(https://g.techtimes.com/www/images/social/flipboard.png) !important}.social-share{width:270px;height:36px}.jc-fe{-webkit-justify-content:flex-end;justify-content:flex-end}.ai-c{-webkit-align-items:center;align-items:center}.flex-xs{display:-webkit-flex;display:flex}.social-share .twitter-x-black{background:url(https://g.techtimes.com/www/images/social/twitter-x-black.svg) center 55%/53% no-repeat}.social-share .genericon.genericon-flipboard{background-color:transparent !important}.genericon-flipboard{background:url(https://g.techtimes.com/www/images/social/flipboard_srrw.webp) no-repeat 50% 50% #f52828}.social-share .pocket{background:url(https://g.techtimes.com/www/images/social/pocket.svg) 50% 60%/60% no-repeat}.social-share .icon{cursor:pointer;width:36px;height:36px;display:block}.element-invisible{position:absolute;overflow:hidden;height:1px}.social-share .genericon{width:36px;height:36px;margin-left:3px;font-size:16px;line-height:36px;color:#738a8d;font-size:24px}.social-share .genericon:hover{text-decoration:none}.social-share .genericon-facebook-alt{font-size:22px;color:#3b5998;margin-left:0}.social-share .genericon-twitter{color:#1da1f2}.social-share .genericon-tumblr{color:#35465c}.social-share .genericon-linkedin{color:#0077b5}.social-share .genericon-pinterest{color:#bd081c}.social-share .genericon-reddit{color:#ff4500}.social-share .genericon.genericon-flipboard{background-color:transparent !important}.genericon-chat:before{content:\"\\f108\"}.genericon-collapse:before{content:\"\\f432\"}.genericon-comment:before{content:\"\\f300\"}.genericon-expand:before{content:\"\\f431\"}.genericon-downarrow:before{content:\"\\f502\"}.genericon-facebook:before{content:\"\\f203\"}.genericon-facebook-alt:before{content:\"\\f204\"}.genericon-feed:before{content:\"\\f413\"}.genericon-flag:before{content:\"\\f468\"}.genericon-googleplus:before{content:\"\\f218\"}.genericon-googleplus-alt:before{content:\"\\f218\"}.genericon-home:before{content:\"\\f409\"}.genericon-info:before{content:\"\\f455\"}.genericon-instagram:before{content:\"\\f215\"}.genericon-linkedin-alt:before{content:\"\\f208\"}.genericon-linkedin:before{content:\"\\f207\"}.genericon-tiktok path{fill:#fff}.genericon-youtube:before{content:\"\\f213\"}.genericon-mail:before{content:\"\\f410\"}.genericon-menu:before{content:\"\\f419\"}.genericon-next:before{content:\"\\f429\"}.genericon-pinterest-alt:before{content:\"\\f210\"}.genericon-pinterest:before{content:\"\\f209\"}.genericon-previous:before{content:\"\\f430\"}.genericon-reddit:before{content:\"\\f222\"}.genericon-search:before{content:\"\\f400\"}.genericon-subscribe:before{content:\"\\f463\"}.genericon-tumblr:before{content:\"\\f214\"}.genericon-twitter:before{content:\"\\f202\"}.genericon-uparrow:before{content:\"\\f500\"}.genericon-warning:before{content:\"\\f414\"}.genericon-close:before{content:\"\\f405\"}.genericon-close-alt:before{content:\"\\f406\"}.ad_sidebar_float{margin-bottom:25px}.float-left{float:left !important}.block-fusion-ads{margin-bottom:20px}.headline-bg.ces{background:#c3b6fe;background:linear-gradient(45deg,rgba(255,93,134,1) 0,rgba(195,182,254,1) 47%,rgba(30,159,224,1) 100%)}.ces .special_logo{color:white;font:bold 27.5px/27.5px Lato,sans-serif;padding-bottom:20px}.ces .category a{color:white}.ces .section-top.s1{border-bottom:0}.logo{position:relative}.logo .edition{position:absolute;top:0;right:-8px;font-size:1em}</style><link rel=\"preload\" href=\"https://g.techtimes.com/sys/css/video-initial.css?v=1784965296\" as=\"style\" onload=\"this.onload=null;this.rel='stylesheet'\"><noscript><link rel=\"stylesheet\" href=\"https://g.techtimes.com/sys/css/video-initial.css?v=1784965296\"></noscript> <script>var relList=document.createElement('link').relList;if(!!(relList&&relList.supports&&relList.supports('preload'))){}else{GCSS('https://d.techtimes.com/widget/graphic?path=sys/css/video-initial.css&v=1784965296&mime=text/css')}</script> <link rel=\"preload\" as=\"script\" href=\"https://g.techtimes.com/sys/js/674872aef7c2f13a2bd6b8cac49741d2.js?v=1784965296\" /> <script id=\"loading_position\">oa.pageinfo={\"articleId\":\"320919\",\"articleTitle\":\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting\",\"writerId\":\"1562\",\"writer\":\"Henry Baker\",\"accountId\":\"3171198\",\"contributor\":0,\"editorialTeam\":\"\",\"section\":\"Tech\",\"sectionId\":\"1\",\"language\":\"en\",\"publishedTime\":1784391842,\"publishedDate\":\"20260718\",\"published\":\"1\",\"content_channel\":\"Technology & Computing > Information and Network Security\",\"content_channel_iab\":\"IAB19-25\",\"content_channel_iabs\":[\"IAB19-25\",\"IAB19\"],\"categories\":\"personaltech\",\"source\":\"TechTimes\",\"video\":\"N\",\"video_type\":\"n\\/a\",\"video_ap\":\"N\",\"layout\":\"standard\",\"paragraphs\":39,\"page_type\":\"article\",\"wordcount\":\"2671\",\"related_count\":2,\"classification\":\"\",\"tier\":\"\",\"article_value\":0,\"story_location\":\"Austria\",\"topics\":\"AI Agents\",\"keywords\":\"agentproto BoF,IETF 126 Vienna,Model Context Protocol MCP,AI agents,IETF,internet standards,prompt injection,post-quantum cryptography\"};if(/Alchemiq/i.test(oa.pageinfo.keywords))oa.pageinfo.content_src=\"Alchemiq\";else if(oa.pageinfo.source)oa.pageinfo.content_src=oa.pageinfo.source;else oa.pageinfo.content_src=\"NoContent\";var setCookieSecure=function(name,value,days,domain){var date,expires,host='';if(days){date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();if(domain)host=\";domain=\"+domain}else{expires=\"; expires=0\"}document.cookie=name+\"=\"+value+expires+host+\"; path=/; secure; samesite=lax;\"},LJS=function(b,c,d){var a=document.createElement(\"script\");a.src=b;d?a.async=!0:a.defer=!0;c&&(a.id=c);b=document.getElementsByTagName(\"head\")[0];b.insertBefore(a,b.firstChild)},LJSA=function(src,id){LJS(src,id,1)},site_name=\"Tech Times\",site_id=\"tt\",site_domain=\"techtimes.com\",is_gdpr=/EU|AT|BE|BG|HR|CY|CZ|DK|EE|FI|FR|DE|GR|HU|IE|IT|LT|LV|LU|MT|NL|PL|PT|RO|SK|SI|ES|SE|GB|IS|LI|NO/i.test(oa.geo.country),gdpr_applies=ccpa_applies=usp_applies=gpp_applies=!1,uspString='1---',consentPrebid={},dataLayer=dataLayer||[],referrer='',timerStart=Date.now();ibt_log(\"Country\",oa.geo.country,0);if(oa.pageinfo.layout=='corporate'){}else{if(oa.geo.country=='US'&&/CA|CO|CT|UT|VA|OR|MT|TX|IA|IN|TN|FL/i.test(oa.geo.state)){usp_applies=!0;consentPrebid.usp={cmpApi:'iab',timeout:700}}else if(is_gdpr){gdpr_applies=!0;consentPrebid.gdpr={cmpApi:'iab',timeout:700,defaultGdprScope:!0}}else if(oa.geo.country=='BR'){gpp_applies=!0}\nif(usp_applies||gdpr_applies||gpp_applies){var sirdata=\"acSM1\";_LJ(\"https://cache.consentframework.com/js/pa/41059/c/\"+sirdata+\"/stub\");LJ(\"https://choices.consentframework.com/js/pa/41059/c/\"+sirdata+\"/cmp\",function(){ibt_log('CMP Sirdata loaded')});var LJ_CMP=function(f){var s=document.createElement('script');s.setAttribute('data-cmp-src',f);var h=document.head||document.getElementsByTagName(\"head\")[0];h.appendChild(s)}}}</script> <link rel=\"dns-prefetch\" href=\"https://stats.myibtimes.com\" /><link rel=\"dns-prefetch\" href=\"https://securepubads.g.doubleclick.net\" /> <script>var utm_result2=getUrlParameters();if(document.referrer=='')referrer='direct';else if(document.referrer.indexOf(location.protocol+\"//\"+location.host)===0||document.referrer.search('(.*)www-techtimes-com.cdn.ampproject.org([^/?]*)')===0)referrer='internal';else referrer='external';function TrafficSource(r,u){if(/^https?:\\/\\/([\\w\\.]+\\.)?facebook\\./.test(r)||/FBAN|FB_IAB/.test(u))return'Facebook';if(/^https?:\\/\\/([\\w\\.]+\\.)?newsbreak(app)?\\./.test(r)||/NewsBreak/i.test(u))return'NewsBreak';if(/^https?:\\/\\/([\\w\\.]+\\.)?toutiao\\.com/.test(r)||/TopBuzz/.test(u))return'TopBuzz';if(/^https?:\\/\\/([\\w\\.]+\\.)?flipboard\\.com/.test(r)||/Flipboard/.test(u))return'Flipboard';if(r=='')return'Direct';if(utm_result2.utm_medium=='email')return'fromNewsletter';if(r=='https://www.techtimes.com/'||r.indexOf('https://www.techtimes.com/?')!=-1)return'fromHomepage';if(/^https?:\\/\\/www\\.google\\.com\\/amp\\/s\\/www\\.techtimes\\.com/.test(r))return'AmpGoogle';if(/^https?:\\/\\/([\\w\\.]+\\.)?google(apis)?\\./.test(r)||/com\\.google\\.android\\.googlequicksearchbox/.test(r))return'Google';if(/^https?:\\/\\/([\\w\\.]+\\.)?(bing|msn)\\./.test(r))return'Microsoft';if(/^https?:\\/\\/([\\w\\.]+\\.)?yahoo\\./.test(r))return'Yahoo';if(/^https?:\\/\\/([\\w\\.]+\\.)?newsnow\\./.test(r))return'NewsNow';if(/^https?:\\/\\/([\\w\\.]+\\.)?smartnews\\./.test(r))return'SmartNews';if(/^https?:\\/\\/([\\w\\.]+\\.)?reddit\\./.test(r))return'Reddit';if(/^https?:\\/\\/t.co\\//.test(r))return'X';if(/axelspringer\\.yana\\.zeropage/.test(r)||r.search('upday')===0)return'upday';if(/^https?:\\/\\/www-techtimes-com\\.cdn\\.ampproject\\.org/.test(r))return'AmpCdn';if(referrer=='internal')return'Internal';return'Other'};var trsource=TrafficSource(document.referrer,navigator.userAgent),brtype='web',highval=!1,emlhs=getCookieString('emlhs'),frhp=getCookieString('frhp'),connection=navigator.connection||navigator.mozConnection||navigator.webkitConnection,con_type=(connection===undefined)?\"no_info\":connection.effectiveType;ibt_log(\"con_type\",con_type);if(oa.browser.name.indexOf('Webview')>-1)brtype=oa.browser.name=='Android Webview'?'wv_android':'wv_ios';if(trsource=='fromNewsletter'||trsource=='fromHomepage'||emlhs||frhp)highval=!0;var highval_str=(highval)?\"1\":\"0\"</script> <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"https://g.techtimes.com/themes/favicons/apple-touch-icon.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://g.techtimes.com/themes/favicons/favicon-32x32.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://g.techtimes.com/themes/favicons/favicon-16x16.png\"><link rel=\"shortcut icon\" href=\"https://g.techtimes.com/favicon.ico\"> <script>var pbjs=pbjs||{},googletag=googletag||{};googletag.cmd=googletag.cmd||[];pbjs.que=pbjs.que||[];(function(){var v=document.createElement('video'),p;v.src=\"data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=\";if((p=v.play())!=undefined)p.then(function(){ibt_log(\"[AUTOPLAY]Allow\");dfpSlots.autoplay=1},function(){v.volume=0;v.muted=!0;v.play().then(function(){ibt_log(\"[AUTOPLAY]MutedOnly\");dfpSlots.autoplay=2},function(){ibt_log(\"[AUTOPLAY]Blocked\");dfpSlots.autoplay=2})})})()</script> <script>LJ('https://g.techtimes.com/sys/js/674872aef7c2f13a2bd6b8cac49741d2.js?v=1784965296',function(){doAfterLoad()})</script> <script>function extractHostname(t){return(t.indexOf(\"//\")>-1?t.split(\"/\")[2]:t.split(\"/\")[0]).split(\":\")[0].split(\"?\")[0]};dfpSlots.pginfo={\"refresh_time\":\"30\",\"max_refresh\":\"100\",\"desktop\":\"right1|1|1|0,right2|1|0|1,right3|1|1|1,right4|1|0|1,bottom|1|0|1,oop1|0|0|0,oop2|0|0|0,oop3|0|0|0,RevUpDigital-header-code|0|0|0,mgid-2025|0|0|0\",\"tablet\":\"top|1|0|1,right1|1|0|1,right2|1|0|1,right3|1|0|1,right4|1|0|1,bottom|1|0|1,sticky|1|1|1,oop1|0|0|0,oop2|0|0|0,oop3|0|0|0,RevUpDigital-header-code|0|0|0,mgid-2025|0|0|0\",\"mobile\":\"top|1|0|1,right1|1|0|1,right2|1|0|1,right3|1|0|1,right4|1|0|1,bottom|1|0|1,sticky|1|1|1,oop1|0|0|0,oop2|0|0|0,oop3|0|0|0,RevUpDigital-header-code|0|0|0,mgid-2025|0|0|0\",\"desktop_num\":5,\"tablet_num\":7,\"mobile_num\":7};dfpSlots.pbjs=0;dfpSlots.aps=0;dfpSlots.rdm=0;dfpSlots.limit={'s':4,'m':30,'d':90};dfpSlots.cap={'s':0,'m':parseInt(getCookie('cap_m')||0),'d':parseInt(getCookie('cap_d')||0)};var site_random=Math.random(),ibtmedia_device=mobile_device?(screen.width<768||screen.height<768?'mobile':'tablet'):\"desktop\",group_cat=excl_label=amzn_video_bid=prebid_video_bid=prebid_cust_param=fbprom=fbpromoc=otherpromoc=keyExC=\"\",keyEx=[],NoPassFQ=DVPreFilter=\"N\",adBlock=\"U\",adblockedcmd=[],site_ads=1,pageFocus=site_ads_text='Y',dfp_cat=\"n/a\",fq_ref=extractHostname(document.referrer)||'Direct',pageRefreshed=\"N\",w1200=(brW>=1200)?\"Y\":\"N\",fqs_loaded=fqs_load_timeout=pbjs_loaded=amznads2_loaded=is_bot=!1;if(ibtmedia_device=='desktop'&&screen.width<=1024&&oa.os.name=='Mac OS'){ibtmedia_device='tablet';mobile_device=!0}\nif(!oa.geo.device)oa.geo.device=ibtmedia_device;if(dfpSlots.pginfo.desktop_num+dfpSlots.pginfo.mobile_num+dfpSlots.pginfo.tablet_num==0){site_ads=0;site_ads_text='N'}\nif(getCookie('nwcmsmode')){site_ads=0;site_ads_text='N_CMS'}if(getCookie('ibtfreead')=='1'){site_ads=0;site_ads_text='N_SUBSCRIBER'}\nif(window.bot_engine){site_ads=0;site_ads_text='N_BOT'}else if(site_id=='ibtus'&&(oa.os.name=='Linux'||(oa.os.name=='Windows'&&parseInt(oa.os.version)<10)||(oa.os.name=='Android'&&parseInt(oa.os.version)<=5)||(ibtmedia_device=='desktop'&&(/HK|ZA|MY|ID|VN|IN|TR|PH|NO/i.test(oa.geo.country)||(oa.os=='Windows'&&/IN|ID|VN/i.test(oa.geo.country))||(oa.os=='Mac OS'&&/CH|PK/i.test(oa.geo.country))||(oa.browser.name=='Chrome'&&(oa.browser.version==\"8\"||oa.browser.version==\"11\"))||(oa.browser.name=='Firefox'&&oa.browser.version==\"11\"))))){site_ads=0;site_ads_text='N_BLOCKED_COUNTIRES'}else if(/CN|VN/i.test(oa.geo.country)&&['p1','md','mduk','lt','ibtuk','ftuk','ft'].indexOf(site_id)<0){site_ads=0;site_ads_text='N_BLOCKED_COUNTIRES'}\nif(oa.geo.country=='US'&&ibtmedia_device=='desktop')dfpSlots.limit={'s':2,'m':10,'d':30};if(site_id=='ibtus'&&!/pb=0/.test(location.href)&&(dfpSlots.limit.m<=dfpSlots.cap.m||dfpSlots.limit.d<=dfpSlots.cap.d)){site_ads=0;site_ads_text='N_ADS_CAPPING'} var ts='nonpromoted',utm_result=getUrlParameters();dfpSlots.onvideoplay=[];if(utm_result.utm_campaign=='promoted'&&utm_result.utm_source=='facebook.com'&&utm_result.utm_term){ts=\"fbpromo\";fbpromoc=utm_result.utm_term;setCookieHours(\"fbpromo\",fbpromoc,1);fbprom=\"&fbpromo=\"+fbpromoc}else if(getCookieString('fbpromo')!=''){ts=\"fbpromo\";fbpromoc=getCookieString('fbpromo');fbprom=\"&fbpromo=\"+fbpromoc}else if(utm_result.utm_source&&\"outbrain googlead axnative mgid\".indexOf(utm_result.utm_campaign)>-1){ts=utm_result.utm_campaign;otherpromoc=utm_result.utm_term;setCookieHours(\"otherpromoc\",otherpromoc,1);setCookieHours(\"otherpromo\",ts,1);fbprom=\"&\"+ts+\"promo=\"+otherpromoc}else if(utm_result.utm_source=='AppleNews2'&&utm_result.utm_term){ts=\"applepromo\";otherpromoc=utm_result.utm_term;setCookieHours(\"otherpromoc\",otherpromoc,1);setCookieHours(\"otherpromo\",ts,1);fbprom=\"&\"+ts+\"=\"+otherpromoc}else if(utm_result.utm_campaign=='keywee'){ts='kwfbpromo';otherpromoc=utm_result.utm_term;setCookieHours(\"otherpromoc\",otherpromoc,1);setCookieHours(\"otherpromo\",ts,1);fbprom=\"&\"+ts+\"=\"+otherpromoc}else if(utm_result.utm_source=='mobileposse'){ts='mobileposse';setCookieHours(\"otherpromo\",ts,1)}else if(document.referrer.indexOf(\"nativeapp.toutiao.com\")>-1){ts='toutiao';setCookieHours(\"otherpromo\",ts,1)}else if(getCookieString('otherpromo')){ts=getCookieString('otherpromo');if(getCookieString('otherpromoc')){otherpromoc=getCookieString('otherpromoc');fbprom=\"&\"+ts+\"promo=\"+otherpromoc}};if(utm_result.utm_source=='Facebook'&&utm_result.utm_term=='boosted')ts=\"fbboost\";var utm_source=utm_result.utm_source||\"\",fq_source=utm_source?encodeURIComponent(utm_source+\"|\"+utm_result.utm_medium+\"|\"+utm_result.utm_campaign):fq_ref;ibt_log(\"ts:\",ts,\", device:\",ibtmedia_device,\", mobile:\",mobile_device,screen.width+\"x\"+screen.height,brW+\"x\"+brH);dfpSlots.network_id=\"21697271410\";dfpSlots.adunit=\"techtimes\";dfpSlots.vid_adunit=\"video.techtimes\";if(/vs_adtest=/.test(location.href)){dfpSlots.adunit='test.'+dfpSlots.adunit;dfpSlots.vid_adunit='test.'+dfpSlots.vid_adunit;dfpSlots.test=location.hash.match(/vs_adtest=([\\w]+)/)};dfpSlots.headercmd=[],dfpSlots.sizes={},dfpSlots.slots=[],dfpSlots.slotobjs={},dfpSlots.lazyslots=[],dfpSlots.lazyslotpos=[],dfpSlots.totallazy=0,dfpSlots.dsp_adunit='/'+dfpSlots.network_id+'/'+dfpSlots.adunit+'/';LJ(\"https://g.techtimes.com/www/js/adblock_prebid.js\",function(){adBlock='N'},function(){adBlock='Y';ibt_log('ADS Ad Blocker Detected');execFunc(adblockedcmd)});var FAILSAFE_TIMEOUT=2000,PREBID_TIMEOUT=1000;(function(w,info){var d=document;d.addEventListener(\"visibilitychange\",()=>{pageFocus=(d.visibilityState==\"visible\")?\"Y\":\"N\";ibt_log(\"pageFocus: \",pageFocus)});d.dispatchEvent(new Event(\"visibilitychange\"));if(info){info.advertisement=site_ads_text;w.wo_section=info.categories||\"ndef\";w.wo_pagetype=info.page_type||\"ndef\";w.pb_videos=info.video||\"N\";if(info.categories)dfp_cat=site_id+'-'+(wo_section.replace(\"-\",\"_\"));if(wo_pagetype!=\"article\"&&wo_pagetype!=\"slideshow\"){setCookieSecure(\"frhp\",1,1,\".\"+site_domain)}}else w.wo_section=w.wo_pagetype=\"ndef\",w.pb_videos=\"N\"})(window,oa.pageinfo);keyEx=[];var verification_callback=function(){ibt_log(\"ADS vcallback\",\"fq_loaded:\",fqs_loaded,\"fq:\",NoPassFQ,\"a9:\",amznads2_loaded,\"pb:\",pbjs_loaded,'ad:',site_ads,Date.now()-timerStart);if(fqs_loaded&&pbjs_loaded&&amznads2_loaded&&site_ads){clearTimeout(hb_timeout_var);initAdserver()}};var fq_callback=function(ivt){if(!fqtag.loadedfq){fqtag.loadedfq=!0;fqtag.score=ivt.score;fqtag.result=ivt.msg;if(fqtag.score>=0.65&&!/pb=0/.test(location.href)){keyEx.push('|ibt| IVTFilter');NoPassFQ=\"Y\";appendCSS('.dfp-ad-lazy {display: none !important;}')}else{if(ivt.msg=='Timeout')NoPassFQ=\"T\";else if(ivt.msg=='ByPass'&&/pb=0/.test(location.href))NoPassFQ=\"P\";else if(ivt.msg=='NoDetection')NoPassFQ=\"D\"}\nif(ivt.ip){oa.geo.ip=ivt.ip;oa.geo.country=ivt.country}\nibt_log('ADS ivtcheck_callback',ivt.msg,ivt.score,' IVT :',NoPassFQ,Date.now()-timerStart)}\nivt_common()},ivt_common=function(){if(!fqs_loaded){fqs_loaded=!0;if(keyEx&&keyEx.length){keyExC=\"&kwgroup=\"+keyEx.join().toLowerCase().replace(/\\|(ibt|ple)\\| /g,'').replace(/\\s/g,'_')+\"&excl_cat=\"+keyEx.join()}\ngoogletag.cmd.push(function(){var myConfig={targeting:{rsk:NoPassFQ}};if(oa.geo.ip)myConfig.targeting.ip=oa.geo.ip;ibt_log(\"ADS excl_label:\",keyEx);if(window.keyEx&&keyEx.length){myConfig.targeting.kwgroup=keyEx.join().toLowerCase().replace(/\\|(ibt|ple)\\| /g,'').replace(/\\s/g,'_').split(\",\");myConfig.categoryExclusion=keyEx};googletag.setConfig(myConfig)});doFir.push(function(){if(NoPassFQ!='Y'&&DVPreFilter!='Y')execFunc(fqtag.cmd);execFunc(fqtag.fcmd);jQuery(window).on('scroll.fqscmd',function(){jQuery(window).off('scroll.fqscmd');if(NoPassFQ!='Y'&&DVPreFilter!='Y')execFunc(fqtag.scmd);execFunc(fqtag.fscmd)})})}\nverification_callback()};var ivttimeout=setTimeout(fq_callback,2000,{'score':0,'msg':'Timeout'});LJ(\"https://stats.myibtimes.com/tool/ivtcheck?callback=fq_callback&ref=\"+document.referrer+\"&cb=\"+Date.now(),function(){clearTimeout(ivttimeout)});var loadAdTags=function(){ibt_log('ADS start to load ads tag.');dfpSlots.rdm=1;dfpSlots.rdm_slots=[];LJ(\"//micro.rubiconproject.com/prebid/dynamic/19988.js\",function(){ibt_log('ADS RDM loaded',Date.now()-timerStart)});LJ(\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\",function(){ibt_log('ADS gpt.js loaded',Date.now()-timerStart)})};var adsTagLoad={'set':(mobile_device)?'onscroll':'asap',cmd:[]};if(adsTagLoad.set=='asap'){if(window.sirdata)LJ_CMP('loadAdTags');else loadAdTags()}else adsTagLoad.cmd.push(loadAdTags);var abt_rand=Math.floor(site_random*2)+1,abt=abt_rand.toString(),abt100=Math.floor(site_random*100),videoAdUnit=[],pbSlots=[],amzSlots=[],pbSlotsLazy={},amzSlotsLazy={};switch(ibtmedia_device){case \"mobile\":break;case \"tablet\":break;default:}\nif(site_ads){if(amzSlots.length){adsTagLoad.cmd.push(function(){ibt_log('ADS APS requestBids',Date.now()-timerStart);apstag.fetchBids({slots:amzSlots,timeout:PREBID_TIMEOUT},function(bids){ibt_log(\"ADS APS returned:\",bids,Date.now()-timerStart);googletag.cmd.push(function(){amznVideoAPS(bids);apstag.setDisplayBids();amznads2_loaded=!0;verification_callback()})})})}else{ibt_log(\"ADS APS no initial slots\");amznads2_loaded=!0;verification_callback()}}else{ibt_log('ADS Disabled ads request.');appendCSS('.dfp-tag-wrapper, #dfp-ad-top-wrapper {display: none !important;}')}\nvar amznVideoAPS=function(bids){amzn_video_bid=bids.filter(function(bid){return bid.mediaType==='video'}).map(function(bid){return bid.encodedQsParams||bid.helpers.encodedQsParams()}).join('')},amznVideoAPS_refresh=function(){apstag.fetchBids({slots:[{slotID:'',mediaType:'video'}]},function(bids){ibt_log('ADS apstag_vidbid_refresh:',bids,Date.now()-timerStart);amznVideoAPS(bids)})};var adexl_fpd=keyEx.join().toLowerCase().replace(/\\|ibt\\| /g,'').replace(/\\s/g,'_').split(\",\");const displayPricingGranularity={\"buckets\":[{\"precision\":2,\"max\":3,\"increment\":0.01},{\"precision\":2,\"max\":8,\"increment\":0.05},{\"precision\":2,\"max\":20,\"increment\":0.25},{\"precision\":2,\"max\":50,\"increment\":0.5}]};const videoPricingGranularity={\"buckets\":[{\"precision\":2,\"min\":0.25,\"max\":20,\"increment\":0.25},{\"precision\":2,\"max\":30,\"increment\":0.5},{\"precision\":2,\"max\":60,\"increment\":1}]};if(site_ads){googletag.cmd.push(function(){ibt_log('ADS GPT initial defineSlots',dfpSlots.slots,Date.now()-timerStart);var ads=dfpSlots.pginfo[ibtmedia_device].split(\",\"),ad=[];switch(ibtmedia_device){case 'mobile':dfpSlots.sizes.top=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right1=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right2=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right3=[[300,600],[160,600],[120,600],[336,280],[300,250],[250,250],[320,100]];dfpSlots.sizes.right4=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.bottom=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.sticky=[[320,50],[300,50]];break;case 'tablet':dfpSlots.sizes.top=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right1=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right2=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.right3=[[300,600],[160,600],[120,600],[336,280],[300,250],[250,250],[320,100]];dfpSlots.sizes.right4=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.bottom=[[300,250],[336,280],[250,250],[300,100],[320,100],[180,150]];dfpSlots.sizes.sticky=[[320,50],[300,50]];break;default:dfpSlots.sizes.right1=[[300,250]];dfpSlots.sizes.right2=[[300,250],[728,90],[250,250],[468,60]];dfpSlots.sizes.right3=[[300,600],[300,250],[160,600],[120,600],[250,250]];dfpSlots.sizes.right4=[[300,250],[728,90],[250,250],[468,60]];dfpSlots.sizes.bottom=[[728,90]]};for(o in ads){ad=ads[o].split(\"|\");if(dfpSlots.sizes[ad[0]]||ad[0].indexOf(\"oop\")>-1){if(ad[3]==\"1\"){dfpSlots.lazyslots.push(ad[0])}else dfpSlots.slots.push(ad[0])}};for(var i=0;i<dfpSlots.slots.length;i++){if(highval&&!dfpSlots.test&&(dfpSlots.slots[i]=='oop1'||dfpSlots.slots[i]=='oop2'||dfpSlots.slots[i]=='oop3')){continue}\nif(dfpSlots.sizes[dfpSlots.slots[i]]){ibt_log('ADS GPT definedSlot',dfpSlots.slots[i],Date.now()-timerStart);dfpSlots.slotobjs[dfpSlots.slots[i]]=googletag.defineSlot(dfpSlots.dsp_adunit+dfpSlots.slots[i],dfpSlots.sizes[dfpSlots.slots[i]],\"dfp-ad-\"+dfpSlots.slots[i]).addService(googletag.pubads()).setConfig({targeting:{pos:dfpSlots.slots[i],refresh:\"N\"}});if(dfpSlots.rdm)dfpSlots.rdm_slots.push(dfpSlots.slotobjs[dfpSlots.slots[i]]);}else{ibt_log('ADS GPT defineOutOfPageSlot',dfpSlots.slots[i],Date.now()-timerStart);dfpSlots.slotobjs[dfpSlots.slots[i]]=googletag.defineOutOfPageSlot(dfpSlots.dsp_adunit+dfpSlots.slots[i],\"dfp-ad-\"+dfpSlots.slots[i]).addService(googletag.pubads()).setConfig({targeting:{pos:dfpSlots.slots[i],refresh:\"N\"}})}}\ndoFir.push(function(){for(o in dfpSlots.lazyslots)jQuery(\"#ad-\"+dfpSlots.lazyslots[o]+\"-wrapper\").addClass('dfp-ad-lazy');})});pbjs.que.push(function(){var pbjsCfg={enableSendAllBids:!0};if(ccpa_applies||gdpr_applies)pbjsCfg.consentManagement=consentPrebid;if(site_id=='ibtuk'||site_id=='ftuk'){pbjsCfg.contxtful={\"version\":\"v1\",\"customer\":\"IBTP251027\"};pbjsCfg.realTimeData={\"dataProviders\":[{\"name\":\"contxtful\",\"waitForIt\":!0,\"params\":{\"version\":\"v1\",\"customer\":\"IBTP251027\",\"bidders\":[\"contxtful\"],\"adServerTargeting\":!0}}]}}\npbjs.setConfig(pbjsCfg);if(site_id=='ibtuk')if(pbjs.bidderSettings)pbjs.bidderSettings.contxtful={storageAllowed:!0};else pbjs.bidderSettings={contxtful:{storageAllowed:!0}};googletag.cmd.push(function(){if(dfpSlots.rdm_slots.length){ibt_log('ADS RDM prebid_requestBids',Date.now()-timerStart);pbjs.rp.requestBids({callback:function(bids){pbjs_loaded=!0;var tmp='';for(i=0;i<bids.length;i++)tmp+=bids[i].getSlotElementId()+' ';ibt_log('ADS RDM prebid_bids_back',Date.now()-timerStart,tmp);verification_callback()},gptSlotObjects:dfpSlots.rdm_slots.splice(0,dfpSlots.rdm_slots.length)})}else{ibt_log(\"ADS RDM prebid no initial slots\");pbjs_loaded=!0;verification_callback()}})})} var checkReqCap=function(n,p='',d=''){if(site_id!='ibtus')return 0;var t=Date.now(),g=dfpSlots.latestRequest?t-dfpSlots.latestRequest:0;if(g>1e3){dfpSlots.cap.s=0;if(g>6e4){dfpSlots.cap.m=0;if(g>864e5)dfpSlots.cap.d=0}}\nif(dfpSlots.cap.s>=dfpSlots.limit.s)return 1e3;if(dfpSlots.cap.m>=dfpSlots.limit.m)return 6e4-g;if(dfpSlots.cap.d>=dfpSlots.limit.d)return 864e5-g;dfpSlots.cap.s+=n;dfpSlots.cap.m+=n;dfpSlots.cap.d+=n;ibt_log('ADS Request Cap passed',dfpSlots.cap,p,d);setCookieHours('cap_m',dfpSlots.cap.m,0.017);setCookieHours('cap_d',dfpSlots.cap.d,24);dfpSlots.latestRequest=t;return 0},gptRefresh=function(pos,div){ibt_log('ADS GPT fetching req.',pos,div);googletag.pubads().refresh([dfpSlots.slotobjs[div]])},defineDFPSlot=function(pos){if(!site_ads)return;var div=arguments.length>1&&arguments[1]?arguments[1]:pos,pb=0,amz=0;ibt_log('ADS lazy slot loading',pos,'dfp-ad-'+div);if(!dfpSlots.slotobjs[div]){ibt_log('ADS GPT lazy definedSlot',pos,Date.now()-timerStart);dfpSlots.slotobjs[div]=googletag.defineSlot(dfpSlots.dsp_adunit+pos,dfpSlots.sizes[pos],\"dfp-ad-\"+div).addService(googletag.pubads()).setConfig({targeting:{pos:pos,refresh:\"L\"}});googletag.display(\"dfp-ad-\"+div)};if(dfpSlots.aps){var cfg=0;for(var i=0;i<amzSlots.length;i++){if(amzSlots[i].slotID==\"dfp-ad-\"+pos){if(pos==div)cfg=amzSlots[i];else{cfg=Object.assign({},amzSlots[i]);cfg.slotID=\"dfp-ad-\"+div}\nbreak}};if(cfg==0){ibt_error('define slot',amzSlots,pos,div);return};ibt_log('ADS lazy APS request',pos,'dfp-ad-'+div);apstag.fetchBids({slots:[cfg]},function(bids){ibt_log('ADS lazy ',pos,div,'aps bid back:',bids);apstag.setDisplayBids();amz=1;if(pb)gptRefresh(pos,div);})}else amz=2;if(dfpSlots.pbjs){pbjs.que.push(function(){ibt_log('ADS lazy prebid request',pos,'dfp-ad-'+div);pbjs.requestBids({timeout:PREBID_TIMEOUT,adUnitCodes:['dfp-ad-'+div],bidsBackHandler:function(bids){ibt_log('ADS lazy ',pos,div,'prebid bid back:',bids);pbjs.setTargetingForGPTAsync(['dfp-ad-'+div]);pb=1;if(amz)gptRefresh(pos,div);}})})}else if(dfpSlots.rdm){pbjs.que.push(function(){ibt_log('ADS lazy RDM request',pos,'dfp-ad-'+div,dfpSlots.slotobjs[div]);setTimeout(function(){if(pb==0){ibt_log('ADS lazy ',pos,div,'RDM timeout');pb=1;if(amz)gptRefresh(pos,div);}},PREBID_TIMEOUT);pbjs.rp.requestBids({callback:function(bids){ibt_log('ADS lazy ',pos,div,'RDM prebid bid back:',bids);if(pb==0){pb=1;if(amz)gptRefresh(pos,div);}},gptSlotObjects:[dfpSlots.slotobjs[div]]})})}else pb=2;if(amz==2&&pb==2)gptRefresh(pos,div);},getAdWrapperHtml=function(div){return'<div id=\"ad-'+div+'-wrapper\" class=\"block block-fusion-ads block-ad-lazy\"><div id=\"dfp-ad-'+div+'-wrapper\" class=\"dfp-tag-wrapper dfp-ad-lazy\"><div id=\"dfp-ad-'+div+'\"></div></div></div>'},insertLazySlots=function($,pos,div,w){var h=getAdWrapperHtml(div);if(w)$.after('<'+w+'>'+h+'</'+w+'>');else $.after(h);dfpSlots.lazyslotpos[div]=pos;dfpSlots.lazyslots.push(div)},removeLazySlots=function($,div){$(\"#ad-\"+div+\"-wrapper\").remove();delete dfpSlots.lazyslotpos[div];if(i=dfpSlots.lazyslots.indexOf(div)>-1)dfpSlots.lazyslots.splice(i,1);},defineAdSlot=function(pos,div){dfpSlots.slots.push(div);if(div==pos){if(pbSlotsLazy[pos]){if(dfpSlots.pbjs)pbjs.addAdUnits(pbSlotsLazy[pos]);pbSlots.push(pbSlotsLazy[pos]);delete pbSlotsLazy[pos]};if(amzSlotsLazy[pos]){amzSlots.push(amzSlotsLazy[pos]);delete amzSlotsLazy[pos]}}else{var chk_loadedslot=1;for(o in pbSlots){if(pbSlots[o].code=='dfp-ad-'+pos){pbSlots.push(JSON.parse(JSON.stringify(pbSlots[o])));pbSlots[pbSlots.length-1].code='dfp-ad-'+div;if(dfpSlots.pbjs)pbjs.addAdUnits(pbSlots[pbSlots.length-1]);chk_loadedslot=0;break}};if(chk_loadedslot){if(pbSlotsLazy[pos]){pbSlots.push(JSON.parse(JSON.stringify(pbSlotsLazy[pos])));pbSlots[pbSlots.length-1].code='dfp-ad-'+div;if(dfpSlots.pbjs)pbjs.addAdUnits(pbSlots[pbSlots.length-1]);};if(amzSlotsLazy[pos]){amzSlots.push(JSON.parse(JSON.stringify(amzSlotsLazy[pos])))}}else{for(o in amzSlots){if(amzSlots[o].slotID=='dfp-ad-'+pos){amzSlots.push(JSON.parse(JSON.stringify(amzSlots[o])));break}}}};defineDFPSlot(pos,div)},loadLazyAdUnits=function(){var nl=dfpSlots.lazyslots.length,pos='',div='',h_load=0;if(dfpSlots.slots.length||nl){if(nl&&NoPassFQ!='Y'){for(var i=0;i<nl;i++){if(div=dfpSlots.lazyslots.shift()){pos=dfpSlots.lazyslotpos[div]?dfpSlots.lazyslotpos[div]:div;if(oa.pageinfo.page_type=='homepage'&&pos=='sticky2')continue;var ad=jQuery('#dfp-ad-'+div+'-wrapper').offset();if(ad){if(pos=='sticky'||pos=='sticky2'){ad.top=1000;h_load=300}else h_load=mobile_device?brH*2:brH*1.5;if(ad.top&&jQuery(window).scrollTop()>=(ad.top-h_load)&&!checkReqCap(1,pos,div)){defineAdSlot(pos,div)}else dfpSlots.lazyslots.push(div)}}}}else{jQuery(this).off(\"scroll.lazyads\")}}},prebidVideoAd_refresh=function(){};fqtag.cmd.push(function(){dfpSlots.lazytmp=[];googletag.cmd.push(function(){jQuery(window).on('scroll.lazyads',loadLazyAdUnits)});doFir.push(function(){if(jQuery(window).scrollTop()>100)googletag.cmd.push(function(){jQuery(window).trigger('scroll.lazyads')})})});var initAdserver=function(){if(pbjs.initAdserverSet)return;pbjs.initAdserverSet=!0;googletag.cmd.push(function(){var n_slots=0;for(o in dfpSlots.slotobjs)n_slots++;checkReqCap(n_slots);if(dfpSlots.pbjs){ibt_log(\"ADS prebid_attempt_init_adserver\",Date.now()-timerStart);pbjs.que.push(function(){pbjs.setTargetingForGPTAsync();ibt_log(\"ADS prebid_set_key_values\",pbjs.getAdserverTargeting());if(n_slots){ibt_log(\"ADS GPT fetching req. with prebid pbjs.\",Date.now()-timerStart);googletag.pubads().refresh()}})}else if(n_slots){ibt_log(\"ADS GPT fetching req.\",Date.now()-timerStart);googletag.pubads().refresh()};if(dfpSlots.headercmd){while(exe=dfpSlots.headercmd.shift())exe();delete dfpSlots.headercmd}})},adsTimeout=function(){if(adsTagLoad.set=='asap'&&dfpSlots.pbjs==0&&dfpSlots.aps==0&&dfpSlots.rdm==0)FAILSAFE_TIMEOUT=100;window.hb_timeout_var=setTimeout(function(){fqs_load_timeout=!0;amznads2_loaded=!0;pbjs_loaded=!0;ibt_log(\"ADS Failsafe_timeout\",Date.now()-timerStart);ivt_common('Timeout')},FAILSAFE_TIMEOUT)};if(adsTagLoad.set=='asap'){function executeAdsTagLoad(){execFunc(adsTagLoad.cmd);adsTimeout()}\nif(window.sirdata)LJ_CMP('executeAdsTagLoad');else executeAdsTagLoad()}else doFir.push(function(){jQuery(window).on('scroll.adtagload',function(){if(jQuery(window).scrollTop()>5){jQuery(window).off('scroll.adtagload');FAILSAFE_TIMEOUT+=1000;execFunc(adsTagLoad.cmd);adsTimeout()}})});googletag.cmd.push(function(){ibt_log('ADS GPT disabledInitialLoad',Date.now()-timerStart);var myConfig={disableInitialLoad:!0,centering:!0,targeting:{cat:dfp_cat,video:\"N\",}};googletag.pubads().setPrivacySettings({trafficSource:(ts=='nonpromoted')?googletag.enums.TrafficSource.ORGANIC:googletag.enums.TrafficSource.PURCHASED});if(oa.pageinfo){if(oa.pageinfo.articleId)myConfig.targeting.article_id=oa.pageinfo.articleId;if(oa.pageinfo.topics)myConfig.targeting.topics=oa.pageinfo.topics.split(', ');if(oa.pageinfo.content_channel_iabs)myConfig.targeting.content=oa.pageinfo.content_channel_iabs;if(oa.pageinfo.layout)myConfig.targeting.layout=oa.pageinfo.layout;if(oa.pageinfo.paragraphs)myConfig.targeting.paragraphs=oa.pageinfo.paragraphs.toString();if(oa.pageinfo.page_type)myConfig.targeting.page_type=oa.pageinfo.page_type;if(oa.pageinfo.keywords)myConfig.targeting.keywords=oa.pageinfo.keywords.split(',');if(oa.pageinfo.content_src)myConfig.targeting.contentsrc=oa.pageinfo.content_src;if(oa.pageinfo.contributor&&oa.pageinfo.accountId)myConfig.targeting.ctb=site_id+oa.pageinfo.accountId};if(window.pageFocus)myConfig.targeting.focus=pageFocus;if(window.w1200)myConfig.targeting.w1200=w1200;if(window.referrer)myConfig.targeting.referrer=referrer;if(window.ts){myConfig.targeting.ts=ts;if(fbpromoc)myConfig.targeting[ts]=fbpromoc;else if(otherpromoc)myConfig.targeting[ts+\"promo\"]=otherpromoc};if(window.trsource)myConfig.targeting.trsource=trsource;if(window.brtype)myConfig.targeting.brtype=brtype;if(window.abt)myConfig.targeting.abt=abt;if(dfpSlots.test)myConfig.targeting.test=dfpSlots.test[1];googletag.setConfig(myConfig);googletag.pubads().addEventListener('slotRequested',function(event){ibt_log('ADS',event.slot.getSlotElementId(),' fetched',Date.now()-timerStart)});googletag.enableServices();ibt_log('ADS GPT enableServices',Date.now()-timerStart)})</script> <script>doFir.push(function(){jQuery(document).ready(function(){jQuery(\".pelcro-login-button\").on('click',function(){if(getCookie('nwsubl')){if(jQuery(\"#pelcro-app\").length){jQuery(\"#pelcro-app\").show()}else{login_success()}}else{openLogin('https://myaccount.'+DOMAIN+'/oauth')}})})})</script> <script type=\"application/ld+json\">{\"@context\":\"https:\\/\\/schema.org\",\"@type\":\"NewsArticle\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https:\\/\\/www.techtimes.com\\/articles\\/320919\\/20260718\\/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\"},\"url\":\"https:\\/\\/www.techtimes.com\\/articles\\/320919\\/20260718\\/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\",\"headline\":\"Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting\",\"datePublished\":\"2026-07-18T12:24:02-04:00\",\"dateModified\":\"2026-07-18T12:24:02-04:00\",\"publisher\":{\"@type\":\"NewsMediaOrganization\",\"name\":\"Tech Times\",\"url\":\"https:\\/\\/www.techtimes.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\/\\/g.techtimes.com\\/themes\\/favicons\\/apple-touch-icon.png\",\"width\":180,\"height\":180},\"sameAs\":[\"https:\\/\\/www.facebook.com\\/techtimes\\/\",\"https:\\/\\/instagram.com\\/techtimes\"]},\"description\":\"AI agent protocols IETF standard review begins at IETF 126 Vienna this week, where the agentproto Birds-of-a-Feather session Thursday could charter a working group to produce the first formal RFC for...\",\"articleBody\":\"\\n\\nThe 126th meeting of the Internet Engineering Task Force &mdash; the volunteer-driven body whose output shapes every protocol the modern internet runs on &mdash; opened Saturday in Vienna and runs through July 24. The Hackathon and Code Sprint are underway this weekend. Full working group sessions begin Monday and continue through Friday afternoon. For engineers who architect multi-agent systems, the most consequential two hours of the week happen Thursday morning.\\nThat is when a Birds-of-a-Feather session called agentproto convenes to address a problem that has been building for the past eighteen months: five competing AI agent protocols &mdash; Anthropic's Model Context Protocol, Google's Agent2Agent, the Agent Communication Protocol, the Agent Network Protocol, and Cisco's Agntcy Framework &mdash; have each staked out overlapping territory without any of them clearing the one bar that makes a protocol truly interoperable across organizational boundaries. That bar is an IETF RFC.\\nThe agentproto session is not a product announcement or a panel discussion. It is the formal mechanism by which the IETF decides whether to charter a Working Group. If it does, the resulting standard &mdash; likely an RFC two to three years out &mdash; would establish the protocol baseline that every vendor shipping inter-domain AI agent infrastructure would eventually need to implement. If the session reveals too much disagreement to proceed, the community returns to the mailing list and the current landscape of competing proprietary-ish standards continues. The IETF has published a full overview of the five scheduled BoFs.\\nThis is the decision the Vint Cerf warning pointed toward. Six days before IETF 126 opened, TechTimes published Cerf's retirement argument: that AI agent systems running at machine speed cannot tolerate the semantic ambiguity of natural-language inter-agent communication, and that the industry will be forced &mdash; as it was in 1974 &mdash; toward formal, unambiguous protocols.\\n\\nWhat the IETF Is, and Why Its Output Lasts\\nThe IETF has been producing open internet standards since 1986. It operates without formal membership requirements &mdash; any engineer can participate &mdash; and it makes decisions through \\\"rough consensus and running code,\\\" not by vote. Its output, published as Request for Comments (RFC) documents, is freely available and forms the basis for TLS (which secures browser connections), DNS (which translates domain names into addresses), QUIC (the transport layer underlying most of HTTP\\/3), and BGP (the routing protocol connecting the global network of autonomous systems).\\nThe IETF process is slow by commercial standards, intentionally. A proposal typically moves from a Birds-of-a-Feather session to a Working Group charter, through multiple Internet-Draft revisions, through IETF-wide last call and Area Director review, to publication as an RFC. The typical timeline from a BoF to a published Internet Standard runs two to four years. That deliberateness is also what makes an IETF RFC uniquely durable: once a protocol is an RFC, it becomes the baseline every implementation must match for genuine interoperability.\\nThe meeting in Vienna is hosted at the Hilton Vienna Park. Approximately 1,000 engineers are in attendance in person, with additional remote participation available for all sessions. A plenary is scheduled for Wednesday, July 22. Session recordings will be posted to the IETF's YouTube channel; agendas, drafts, and materials are available on the IETF Datatracker.\\nFive BoFs: Why Three Are About AI\\nOf the five Birds-of-a-Feather sessions scheduled at IETF 126, three concern AI agent communication &mdash; an unusual concentration that reflects how rapidly the problem has moved from a vendor concern to an internet-infrastructure concern.\\nPTTH &mdash; Reversing the HTTP Client-Server Model (Monday, July 20)\\nThe first BoF of the week revisits a concept that received its inaugural hearing at IETF 123. PTTH proponents return with a proposed Working Group charter. The goal is a standardized, secure method for swapping the HTTP server and client roles &mdash; useful when a server is intended to be accessed by only a small number of pre-approved clients that the server can reach directly, and is not publicly accessible. Currently, several proprietary and vendor-specific solutions handle this use case separately; PTTH would replace them with a single interoperable standard.\\nDAWN &mdash; Decentralized Agent and Workload Discovery (Tuesday, July 21)\\nDAWN is seeking Working Group status to define requirements and protocol solutions for an automated, decentralized, interoperable discovery mechanism &mdash; one that can operate at the scale of distributed processing environments where components arrive without pre-configured knowledge of each other. AI agent-to-agent communication is an explicit part of DAWN's scope.\\nThe discovery gap DAWN targets is the same one that produced DNS-AID, an open standard the Linux Foundation accepted in May 2026. DNS-AID lets AI agents publish their endpoints and capabilities as standard DNS records, enabling discovery without a centralized registry. DAWN would define the broader requirements framework; DNS-AID represents one candidate solution within that space.\\n\\nCURRENT &mdash; Post-Quantum Key Management for Network Transport (Tuesday, July 21)\\nCURRENT aims to charter a Working Group to define a two-party security protocol using Messaging Layer Security (MLS) for key management. MLS, already an IETF standard (RFC 9420), provides forward secrecy, post-compromise security, and asynchronous key ratcheting &mdash; and it already supports post-quantum cryptography alongside traditional algorithms. CURRENT would bring MLS's key-management capabilities down into the network transport layer, where they can protect protocols that rely on classical public-key cryptography (RSA, elliptic-curve) against the eventual arrival of quantum computing capable of breaking those schemes. The formal verification work that was applied to MLS's design gives CURRENT a stronger starting point than most new protocol proposals.\\nDMSC &mdash; AI Agent Gateway Model (Wednesday, July 22)\\nDMSC is explicitly non-Working-Group-forming &mdash; it is a diagnostic session. The goal is to map the terrain for AI agent gateway-mediated collaboration: capability exposure, request forwarding, coordination, synchronization, policy control, observability, and secure inter-agent communication. DMSC will profile existing and evolving mechanisms defined elsewhere, identify what is missing, and determine whether a formal gateway model definition would provide material benefit. Its output will likely feed into agentproto's Working Group charter discussions.\\nAgentproto: What Is Actually Being Decided Thursday\\nThe agentproto BoF, scheduled for Thursday July 23 at 09:00 Central European Summer Time (03:00 ET), is where the structural question becomes explicit.\\nThe past eighteen months produced a rush of competing, overlapping protocols for connecting AI agents to tools and to each other: Anthropic's Model Context Protocol, Google's Agent2Agent, the Agent Communication Protocol, the Agent Network Protocol, and Cisco's Agntcy Framework, among others. Each addresses different layers of the problem. MCP &mdash; donated by Anthropic to the Linux Foundation's Agentic AI Foundation in December 2025 &mdash; had reached 97 million monthly SDK downloads by early 2026, and was adopted by every major AI provider. A2A, donated by Google to the Linux Foundation in June 2025, had 150 organizational supporters by April 2026, including AWS, Cisco, IBM, Microsoft, Salesforce, SAP, and ServiceNow.\\nNone of that market momentum resolves the inter-domain interoperability problem. MCP standardizes how a single agent connects to external tools and data &mdash; the client-server layer. A2A standardizes how agents discover each other's capabilities and delegate tasks &mdash; the peer-to-peer layer. What neither protocol currently addresses is the full set of requirements the Rosenberg-Jennings framework identifies for agent communication at internet scale: cross-domain identity federation, multi-hop lifecycle management, user confirmation before irreversible API actions, and protocol-level attribution for security incidents.\\nThe agentproto BoF builds on a well-attended IETF 124 side meeting and on that framework document, authored by Jonathan Rosenberg of Five9 and Cullen Jennings of Cisco. Rosenberg is also the lead author of RFC 3261, the Session Initiation Protocol &mdash; the standard that governs real-time communications across the internet today. His involvement signals that the agentproto work is being approached with the same scope and seriousness as the protocols that underpin voice and video communication.\\nThe Rosenberg-Jennings Internet-Draft explicitly frames AI agent protocols as a potential new layer sitting above HTTP, SIP, and RTP in the internet stack &mdash; the same position in the architecture that those application-layer protocols occupy above IP, TCP, UDP, and QUIC. If the IETF charters a Working Group on that basis, it is asserting that AI agent communication is an internet-layer problem &mdash; not a product-layer problem &mdash; and the resulting RFC would carry the same implementation authority as any other foundational internet standard.\\nWhy Prompt Injection Is the Security Test Agentproto Must Pass\\nThe security implications of an unresolved protocol landscape are among the most concrete technical arguments for standardization. The Rosenberg-Jennings framework dedicates a section to prompt injection attacks in the multi-agent context, and the problem it describes is structurally different from single-agent prompt injection.\\nIn a multi-agent system, a malicious user interacting with Agent A can craft input specifically designed to propagate through Agent A to Agent Z &mdash; a second agent that Agent A invokes. Because Agent A relays content from the user to Agent Z as part of normal operation, the injection can bypass the defenses of the first agent entirely and exploit the trust relationship between agents. The Rosenberg-Jennings document describes this as introducing a \\\"new threat vector\\\" distinct from direct injection, and explicitly states that prompt injection attacks are \\\"notoriously difficult to prevent\\\". The protocol-level response is not prevention but attribution: the standard must introduce mechanisms for diagnosis, logging, and traceability so that when an incident occurs, security teams can reconstruct what happened and which agent was responsible.\\nOWASP has ranked prompt injection as the top security risk among its Top 10 threats for LLM-based applications. Documented real-world incidents include injections through public Slack channels leaking private channel content, injections through GitHub issues extracting developer credentials, and injections via web pages redirecting user data to attacker-controlled servers. None of these incidents involved inter-domain agent cascades; the agentproto work is addressing a threat vector that current defenses were not designed for.\\nWhether Thursday's session produces a Working Group charter &mdash; or surfaces disagreements sufficient to send the work back to the mailing list &mdash; will be visible in real time. The mailing list archive (agent2agent list at mailarchive.ietf.org) has been active for months. The session materials will be posted to the IETF Datatracker before the session.\\nRest of the Week: BGP Security, DNS, and PQC\\nBeyond the BoFs, the established Working Groups advancing existing standards work span the full IETF agenda.\\nRouting Security (SIDROPS\\/RPKI). The SIDR Operations Working Group develops guidance for deploying Secure Inter-Domain Routing technology &mdash; the Resource Public Key Infrastructure (RPKI), BGP origin validation, and BGPsec &mdash; while maintaining routing stability during the transition to fully RPKI-aware networks. One active draft addresses a subtle but consequential problem: annotating BGP routes with RPKI-derived validation states in transitive path attributes causes global flooding of BGP UPDATE messages whenever Route Origin Authorizations are issued or revoked. The recommendation is to avoid carrying those validation states in transitive attributes &mdash; a change to standard routing practice with potential stability implications for operators who have already implemented such tagging.\\nDNS Operations (DNSOP). The DNS Operations Working Group develops guidelines for DNS software operation, service administration, and zone management. Active items this cycle include post-quantum algorithm selection for DNSSEC, where engineers are weighing signature-size tradeoffs against security conservatism in a post-NIST-standardization environment. NIST finalized its first post-quantum cryptography standards in August 2024.\\nSecurity Area Advisory Group (SAAG). The Security Area open meeting is a cross-cutting forum for security and privacy concerns across all IETF working areas. SAAG sessions typically surface issues that do not fit neatly into any single working group's charter; given the volume of AI-adjacent security work in progress, this year's session is expected to be particularly active.\\nWhat the Vienna Meeting Actually Decides\\nIETF meetings produce documents, not products. The working group sessions in Vienna will advance drafts, close issues, and identify gaps. The BoFs will reveal whether there is community consensus and organizational energy sufficient to charter new working groups. What gets chartered in Vienna &mdash; and what does not &mdash; shapes what the RFC pipeline looks like in 2027 and 2028.\\nThe velocity of AI agent deployment has outrun the standards community's ability to produce RFCs on the same schedule. The agentproto BoF is the formal acknowledgment of that gap. Companies building multi-agent platforms, API providers, and enterprise software vendors will read Thursday's session outcome as a signal: either the IETF will standardize agent-to-agent communication in a way that overrides vendor choices, or the market-dominant protocols (MCP, A2A) will establish their current architectures as the baseline by default.\\nVint Cerf's argument &mdash; that TCP\\/IP succeeded not because it was technically superior to its competitors, but because it was open, free, and required running implementations &mdash; applies directly here. The IETF was designed to be the body that makes that call. Whether it does so for AI agent protocols, or defers to protocols already deployed at 97 million downloads per month, is the question Vienna is answering this week.\\nSession materials and recordings from IETF 126 will be posted to the IETF Datatracker and the IETF YouTube channel as sessions conclude. IETF 127 is scheduled for November 14&ndash;20, 2026, in San Francisco, hosted at the Hilton Union Square.\\n\\nFrequently Asked Questions\\nWhat is a Birds-of-a-Feather session at an IETF meeting, and what does \\\"working-group-forming\\\" mean?\\nA Birds-of-a-Feather session is an initial, community-wide discussion about a topic that may be ready for new IETF work. Some BoFs are working-group-forming: they arrive with a draft charter and aim to confirm that there is sufficient consensus and scope to spin up a new Working Group. Others are non-working-group-forming &mdash; designed to map a problem space and identify gaps before committing to a charter. For agentproto and DAWN, the goal is to form working groups. For DMSC, the goal is diagnostic. When a Working Group is chartered, it produces Internet-Drafts that eventually become RFCs &mdash; the binding technical specifications that every implementation of a given protocol must satisfy.\\nHow does prompt injection change when AI agents communicate with each other, and why does it matter for the agentproto standard?\\nIn a single-agent system, prompt injection means a user crafts malicious input to override that agent's instructions. In a multi-agent system, the attack can cascade: a user injects into Agent A, which relays the content to Agent B as part of normal operation, and Agent B &mdash; which trusts Agent A &mdash; executes the malicious instruction. The injected command travels through the trust relationship between agents, bypassing the first agent's defenses entirely. OWASP lists prompt injection as the top threat to LLM-based applications, and documented real-world incidents already show injection via public channels, documents, and web pages. The agentproto work addresses this at the protocol layer by requiring that any agent-to-agent communication standard include mechanisms for logging, attribution, and incident reconstruction &mdash; not just application-level detection, which is insufficient for cross-domain attacks.\\nWhat is the technical difference between MCP and A2A, and what would an IETF standard add that they do not cover?\\nMCP (Model Context Protocol) is a client-server protocol: an AI agent reaches out to a tool, database, or API and requests data or actions. A2A (Agent2Agent Protocol) is a peer-to-peer protocol: two agents discover each other's capabilities via Agent Cards (JSON documents at well-known URLs), then coordinate tasks using HTTP, Server-Sent Events, and JSON-RPC. MCP had 97 million monthly SDK downloads by early 2026; A2A had 150 organizational supporters. What neither currently specifies is: cross-domain identity federation (how one organization's agent proves to another's that it is authorized to act on a user's behalf), multi-hop lifecycle management (what happens to an agent chain when one node in the chain fails), user confirmation requirements before irreversible API calls, and protocol-level security attribution for prompt injection incidents. These are the gaps the Rosenberg-Jennings framework document identified as requiring IETF-level standardization.\\nWhat is post-quantum cryptography and why is the CURRENT BoF addressing it at the network transport layer?\\nPost-quantum cryptography refers to encryption and signature algorithms designed to remain secure against attacks from quantum computers. Current internet security &mdash; TLS, HTTPS, QUIC, DNS-over-TLS &mdash; relies heavily on RSA and elliptic-curve schemes that would be vulnerable to Shor's algorithm on a sufficiently powerful quantum computer. NIST finalized its first post-quantum standards in August 2024. The CURRENT BoF targets network transport specifically because the threat is not purely future-dated: \\\"harvest now, decrypt later\\\" attacks allow an adversary to intercept encrypted traffic today and decrypt it once quantum computing matures. CURRENT would use Messaging Layer Security (RFC 9420) &mdash; which already supports post-quantum algorithms alongside classical ones, and has been formally verified &mdash; to define a rekeying mechanism robust against both classical and quantum adversaries at the transport layer, below the application protocols that depend on it.\\n\\n\",\"thumbnailUrl\":\"https:\\/\\/d.techtimes.com\\/en\\/full\\/469166\\/screenshot-2026-07-18-120043.png\",\"image\":[{\"@type\":\"ImageObject\",\"url\":\"https:\\/\\/d.techtimes.com\\/en\\/full\\/469166\\/screenshot-2026-07-18-120043.png?w=1600&h=900&l=50&t=49&q=88&f=757be797e2059d3783b0d005c666bab2\",\"width\":1600,\"height\":900,\"caption\":\"IETF 126 Hackathon on July 18, 2026.\"},{\"@type\":\"ImageObject\",\"url\":\"https:\\/\\/d.techtimes.com\\/en\\/full\\/469166\\/screenshot-2026-07-18-120043.png?w=1600&h=1200&l=50&t=49&q=88&f=b934ffa0f42725ca0d3579c7b832674b\",\"width\":1600,\"height\":1200,\"caption\":\"IETF 126 Hackathon on July 18, 2026.\"},{\"@type\":\"ImageObject\",\"url\":\"https:\\/\\/d.techtimes.com\\/en\\/full\\/469166\\/screenshot-2026-07-18-120043.png?w=1600&h=1600&l=50&t=49&q=88&f=9a963edccbb53a663928594b396ae8a9\",\"width\":1600,\"height\":1600,\"caption\":\"IETF 126 Hackathon on July 18, 2026.\"}],\"articleSection\":\"Artificial Intelligence\",\"author\":[{\"@type\":\"Person\",\"name\":\"Henry Baker\",\"url\":\"https:\\/\\/www.techtimes.com\\/reporters\\/henry-baker\"}],\"keywords\":[\"agentproto BoF\",\"IETF 126 Vienna\",\"Model Context Protocol MCP\",\"AI Agents\",\"IETF\",\"internet standards\",\"prompt injection\",\"post-quantum cryptography\"],\"speakable\":{\"@type\":\"SpeakableSpecification\",\"xPath\":[\"\\/html\\/head\\/title\",\"\\/html\\/head\\/meta[@name='description']\\/@content\"]},\"isAccessibleForFree\":\"true\"}</script> <script type=\"application/ld+json\">{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Artificial Intelligence\",\"item\":\"https:\\/\\/www.techtimes.com\\/artificial-intelligence\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Agents\",\"item\":\"https:\\/\\/www.techtimes.com\\/tags\\/ai-agents\"}]}</script> <script>var ple_video_called=!1;var _video_player_id='ple_video';function _loadVideoPlayer(playerObj){ple_video_called=!0;_showLoadingIcon();var playerObj=playerObj||document.getElementById(_video_player_id);const _script=document.createElement('script');_script.src='https://live.primis.tech/live/liveView.php?s=117604';ibt_log('_video player : call player');ibt_log('_video player : src '+_script.src);ibt_log('_video player : playerObj '+playerObj);playerObj.appendChild(_script);_script.onload=()=>{_removeIconInPlayer()}}\nfunction _showLoadingIcon(){const _icon=document.getElementById('_icon');if(_icon){_icon.setAttribute('class','loading-spinner');ibt_log('_video player : show loading icon')}}\nfunction _removeIconInPlayer(){const _icon_wrapper=document.getElementsByClassName('play_icon_wrapper')[0]||document.getElementsByClassName('video_inline_wrapper')[0];if(_icon_wrapper)_icon_wrapper.remove();}\nwindow.addEventListener('scroll',function(){const playerObj=document.getElementById(_video_player_id);var vstart=mobile_device?50:500;if(playerObj&&window.scrollY>vstart){window.removeEventListener('scroll',this);if(ple_video_called==!1)_loadVideoPlayer(playerObj);}})</script> </head><body> <script>var nextMloaded=!1;var vuukleloaded=!0;function loadNextM(){if(!nextMloaded){var nextM=document.createElement('script');nextM.src='https://powerad.ai/235795651407450/script.js';nextM.async=!0;document.head.appendChild(nextM);nextMloaded=!0}}\nfunction handleUserScroll4Ad(){}\nwindow.onscroll=handleUserScroll4Ad</script> <header class=\"ph\"><div class=\"container-fluid d-flex align-items-center\"><div class=\"logo\">\n<a href=\"https://www.techtimes.com/\"></a>\n<span class=\"edition\"></span></div><div class=\"flex-fill\">\n<nav class=\"pn d-md-flex align-items-center justify-content-end\"><ul><li><a href=\"https://www.techtimes.com/personaltech\">Tech</a></li><li><a href=\"https://www.techtimes.com/science\">Science</a></li><li><a href=\"https://www.techtimes.com/biztech\">Business</a></li><li><a href=\"https://www.techtimes.com/health\">Health</a></li><li><a href=\"https://www.techtimes.com/t-lounge\">Culture</a></li><li><a href=\"https://www.techtimes.com/reviews\">Deals & Reviews</a></li></ul><form action=\"https://www.techtimes.com/search\" class=\"searchform d-flex\"><input type=\"text\" name=\"q\" id=\"q\" required><input type=\"submit\" value=\"\" id=\"search-button\"></form>\n<span class=\"icon icon-search\"></span>\n<span class=\"signin-action\" role=\"button\" tabindex=\"0\" aria-label=\"Sign in\" title=\"Sign in\" onclick=\"if(typeof openLogin=='function'){openLogin('https://signin.techtimes.com/oauth')}else{location.href='https://signin.techtimes.com/oauth'}\">\n<svg class=\"signin-ico\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2.5c-4.2 0-7.5 2.1-7.5 4.7V21h15v-1.8c0-2.6-3.3-4.7-7.5-4.7Z\"/></svg>\n<span class=\"signin-txt\">Sign In</span>\n</span>\n<span class=\"account-menu\" style=\"display:none\">\n<span class=\"account-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Account\" title=\"Account\">\n<svg class=\"signin-ico account-ico\" width=\"26\" height=\"26\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 4.2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 14.3a7.8 7.8 0 0 1-5.6-2.4c.5-1.6 3.2-2.4 5.6-2.4s5.1.8 5.6 2.4A7.8 7.8 0 0 1 12 20.5Z\"/></svg>\n<span class=\"signin-txt account-label\">Account</span>\n</span><ul class=\"account-dropdown\"><li><a href=\"https://myaccount.techtimes.com/manage\">Manage Account</a></li><li><a href=\"https://signin.techtimes.com/oauth/logout\">Logout</a></li></ul>\n</span>\n</nav></div>\n<button class=\"icon-menu\" aria-label=\"Open menu\"></button></div>\n</header><style>.signin-action{cursor:pointer;color:inherit;vertical-align:middle}.signin-ico{vertical-align:middle}.account-menu{position:relative;display:inline-block;vertical-align:middle}.account-toggle{cursor:pointer;display:inline-block;vertical-align:middle}.account-menu .account-dropdown{list-style:none;margin:0;padding:0}.account-menu .account-dropdown li{display:block}@media(min-width:768px){.signin-action{display:inline-block;margin-left:14px;line-height:30px}.account-menu{margin-left:14px;line-height:30px}.signin-txt{display:none}.account-menu .account-dropdown{display:none;position:absolute;top:100%;right:0;min-width:180px;background:#fff;border:1px solid #ccc;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:9999}.account-menu:hover .account-dropdown{display:block}.account-menu .account-dropdown li a{display:block;padding:11px 16px;color:#02061a;font:14px/1.2 Lato,sans-serif;text-transform:none;white-space:nowrap}.account-menu .account-dropdown li a:hover{background:#f5f5f5;color:#1baabc}}@media(max-width:767px){.signin-ico{display:none}.signin-action{display:block;font:bold 20px Lato,sans-serif;text-transform:uppercase;color:#fff;padding:13px 20px;border-top:1px solid rgba(255,255,255,.2)}.account-menu{display:block}.account-toggle{display:none}.account-menu .account-dropdown li a{display:block;font:bold 20px Lato,sans-serif;text-transform:uppercase;color:#fff;padding:13px 20px;border-top:1px solid rgba(255,255,255,.2)}}</style> <script>(function(){function gc(n){n+='=';var p=document.cookie.split(';');for(var i=0;i<p.length;i++){var s=p[i].replace(/^\\s+/,'');if(s.indexOf(n)===0)return s.substring(n.length);}return''} function loggedIn(){return gc('nwusermode')=='2'||gc('nwsubl')} function run(){if(loggedIn()){var a=document.querySelector('.signin-action'),b=document.querySelector('.account-menu');if(a)a.style.display='none';if(b)b.style.display=''}} if(document.readyState!='loading')run();else document.addEventListener('DOMContentLoaded',run);function watch(){var n=0,t=setInterval(function(){n++;if(loggedIn()){clearInterval(t);location.reload()}else if(n>80){clearInterval(t)}},1500)}\nvar sa=document.querySelector('.signin-action');if(sa)sa.addEventListener('click',watch);window.addEventListener('message',function(e){if(typeof e.data=='string'&&e.data.indexOf('loginSuccess')===0&&String(e.origin).indexOf('techtimes.com')>-1){location.reload()}})})()</script> <div class=\"page-top-mobile-video\"></div><div class=\"container-fluid\"><ul class=\"breadcrumbs d-flex\"><li><a href=\"/\">Home</a></li><li><a href=\"/personaltech\">Tech</a></li><li><a href=\"/artificial-intelligence\">Artificial Intelligence</a></li></ul><ul class=\"archive-header\"></ul><div class=\"article-page\"><div class=\"article-header\"><h1>Competing AI Agent Protocols Face IETF Standards Scrutiny at Vienna Meeting</h1><h4 class=\"m-title\">The agentproto BoF on Thursday will decide if the internet gets a formal AI agent standard</h4></div><div class=\"row\"><div class=\"col-md-8 main_column\"><div class=\"article-body\"><div class=\"byline-social flex-xs flex-wrap jc-sb ai-c\"><div class=\"byline\">\n<span class=\"by\">By</span>\n<span class=\"author\">\n<a href=\"https://www.techtimes.com/reporters/henry-baker\" class=\"author-name\" rel=\"author\"> Henry Baker </a>\n</span>\n<br>\n<time><time itemprop=\"datePublished\" datetime=\"2026-07-18T16:24:02+00:00\">Published: Jul 18 2026, 12:24 PM EDT</time></time></div><div class=\"social-share flex-xs ai-c jc-fe\">\n<a href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\" class=\"genericon genericon-facebook-alt\" rel=\"noopener\" target=\"_blank\"><span class=\"element-invisible\">Share on Facebook</span></a>\n<a href=\"https://x.com/intent/tweet?text=Competing+AI+Agent+Protocols+Face+IETF+Standards+Scrutiny+at+Vienna+Meeting+https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\" class=\"icon twitter-x-black\" rel=\"noopener\" target=\"_blank\"><span class=\"element-invisible\">Share on Twitter</span></a>\n<a href=\"https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.techtimes.com%2Farticles%2F320919%2F20260718%2Fcompeting-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm&title=Competing+AI+Agent+Protocols+Face+IETF+Standards+Scrutiny+at+Vienna+Meeting\" class=\"genericon genericon-linkedin\" rel=\"noopener\" target=\"_blank\"><span class=\"element-invisible\">Share on LinkedIn</span></a>\n<a href=\"http://reddit.com/submit?url=https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm&title=Competing+AI+Agent+Protocols+Face+IETF+Standards+Scrutiny+at+Vienna+Meeting\" class=\"genericon genericon-reddit\" rel=\"noopener\" target=\"_blank\"><span class=\"element-invisible\">Share on Reddit</span></a>\n<a class=\"genericon genericon-flipboard\" data-flip-widget=\"shareflip\" href=\"https://flipboard.com\" rel=\"nofollow noopener\"><span class=\"element-invisible\">Share on Flipboard</span></a> <script>doFir.push(function(){var flipboard=1;jQuery(\".genericon-flipboard\").on('click',function(e){e.preventDefault();e.stopPropagation();if(flipboard){flipboard=0;LJ('https://cdn.flipboard.com/web/buttons/js/flbuttons.min.js',function(){jQuery(\".genericon-flipboard\").trigger('click')})}})})</script> <a href=\"https://getpocket.com/edit?url=https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\" class=\"icon pocket\" target=\"_blank\"><span class=\"element-invisible\">Share on Pocket</span></a><a href=\"mailto:?&subject=Competing+AI+Agent+Protocols+Face+IETF+Standards+Scrutiny+at+Vienna+Meeting&body=https://www.techtimes.com/articles/320919/20260718/competing-ai-agent-protocols-face-ietf-standards-scrutiny-vienna-meeting.htm\" class=\"genericon genericon-mail\" target=\"_blank\" aria-label=\"Email\"></a>\n<a href=\"#discussion\" class=\"genericon genericon-comment scroll\" aria-label=\"Move to comment\"></a></div></div><div class=\"article-text v_text\" id=\"v_article\"><div class=\"tnc\"></div><div class=\"content article-body\">\n<figure class=\"imageNone\" style=\"\"><div class=\"inBox\"><div class=\"innerBox\" style=\"height:0;padding-bottom:69.25%\">\n<picture class=\"mapping-embed\" width=\"836\" height=\"579\"><source type=\"image/webp\" media=\"(min-width: 1024px)\" sizes=\"836px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.webp?w=836&amp;f=2a45bece53b25bdcdd39493f0e38a3c6 836w\"><source type=\"image/png\" media=\"(min-width: 1024px)\" sizes=\"836px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png?w=836&amp;f=2a45bece53b25bdcdd39493f0e38a3c6 836w\"><source type=\"image/webp\" media=\"(min-width: 768px)\" sizes=\"577px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.webp?w=577&amp;f=6499c353d53e7c87447064ae919477c9 577w\"><source type=\"image/png\" media=\"(min-width: 768px)\" sizes=\"577px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png?w=577&amp;f=6499c353d53e7c87447064ae919477c9 577w\"><source type=\"image/webp\" media=\"(min-width: 480px)\" sizes=\"768px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.webp?w=768&amp;f=12357df25ac2110bbb3ca3c1b2210c35 768w\"><source type=\"image/png\" media=\"(min-width: 480px)\" sizes=\"768px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png?w=768&amp;f=12357df25ac2110bbb3ca3c1b2210c35 768w\"><source type=\"image/webp\" media=\"(min-width: 0px)\" sizes=\"480px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.webp?w=480&amp;f=9d9ed99fd16b0ef2322352231d134538 480w\"><source type=\"image/png\" media=\"(min-width: 0px)\" sizes=\"480px\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png?w=480&amp;f=9d9ed99fd16b0ef2322352231d134538 480w\"><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.webp?w=836&amp;f=2a45bece53b25bdcdd39493f0e38a3c6\"><img class=\"mapping-embed imgPhoto\" id=\"i469166\"  src=\"https://d.techtimes.com/en/full/469166/screenshot-2026-07-18-120043.png?w=836&amp;f=2a45bece53b25bdcdd39493f0e38a3c6\" alt=\"Screenshot 2026-07-18 120043\" width=\"836\" height=\"579\" height=\"579\" /></picture></div>\n<figcaption class=\"caption\" style=\"max-width:1200px;\">\n<span class=\"cap\">IETF 126 Hackathon on July 18, 2026.</span>\n<span class=\"credit\">Ietf.org</span>\n</figcaption></div>\n</figure><div><div><p>The <a rel=\"nofollow\" href=\"https://www.ietf.org/meeting/126/\">126th meeting of the Internet Engineering Task Force</a> &mdash; the volunteer-driven body whose output shapes every protocol the modern internet runs on &mdash; opened Saturday in Vienna and runs through July 24. The Hackathon and Code Sprint are underway this weekend. Full working group sessions begin Monday and continue through Friday afternoon. For engineers who architect multi-agent systems, the most consequential two hours of the week happen Thursday morning.</p><p>That is when a Birds-of-a-Feather session called agentproto convenes to address a problem that has been building for the past eighteen months: five competing AI agent protocols &mdash; Anthropic's Model Context Protocol, Google's Agent2Agent, the Agent Communication Protocol, the Agent Network Protocol, and Cisco's Agntcy Framework &mdash; have each staked out overlapping territory without any of them clearing the one bar that makes a protocol truly interoperable across organizational boundaries. That bar is an IETF RFC.</p><p>The agentproto session is not a product announcement or a panel discussion. It is the formal mechanism by which the IETF decides whether to charter a Working Group. If it does, the resulting standard &mdash; likely an RFC two to three years out &mdash; would establish the protocol baseline that every vendor shipping inter-domain AI agent infrastructure would eventually need to implement. If the session reveals too much disagreement to proceed, the community returns to the mailing list and the current landscape of competing proprietary-ish standards continues. The <a rel=\"nofollow\" href=\"https://www.ietf.org/blog/ietf126-bofs/\">IETF has published a full overview of the five scheduled BoFs</a>.</p><p>This is the decision the Vint Cerf warning pointed toward. Six days before IETF 126 opened, TechTimes published Cerf's retirement argument: that AI agent systems running at machine speed cannot tolerate the semantic ambiguity of natural-language inter-agent communication, and that the industry will be forced &mdash; as it was in 1974 &mdash; toward formal, unambiguous protocols.</p><div><p><strong>Read more:</strong>\n<a href=\"/articles/320264/20260712/vint-cerf-retires-google-warning-ai-agents-need-real-protocols.htm\"><strong>Vint Cerf Retires From Google With a Warning: AI Agents Need Real Protocols</strong></a></p></div><h3>What the IETF Is, and Why Its Output Lasts</h3><p><a rel=\"nofollow\" href=\"https://www.ietf.org/about/introduction/\">The IETF has been producing open internet standards since 1986</a>. It operates without formal membership requirements &mdash; any engineer can participate &mdash; and it makes decisions through \"rough consensus and running code,\" not by vote. Its output, published as Request for Comments (RFC) documents, is freely available and forms the basis for TLS (which secures browser connections), DNS (which translates domain names into addresses), QUIC (the transport layer underlying most of HTTP/3), and BGP (the routing protocol connecting the global network of autonomous systems).</p><p>The IETF process is slow by commercial standards, intentionally. A proposal typically moves from a Birds-of-a-Feather session to a Working Group charter, through multiple Internet-Draft revisions, through IETF-wide last call and Area Director review, to publication as an RFC. The typical timeline from a BoF to a published Internet Standard runs two to four years. That deliberateness is also what makes an IETF RFC uniquely durable: once a protocol is an RFC, it becomes the baseline every implementation must match for genuine interoperability.</p><p>The meeting in Vienna is hosted at the <a rel=\"nofollow\" href=\"https://www.ietf.org/meeting/126/\">Hilton Vienna Park</a>. Approximately 1,000 engineers are in attendance in person, with additional remote participation available for all sessions. A plenary is scheduled for Wednesday, July 22. Session recordings will be posted to the IETF's YouTube channel; agendas, drafts, and materials are available on the IETF Datatracker.</p><h3>Five BoFs: Why Three Are About AI</h3><p>Of the <a rel=\"nofollow\" href=\"https://labs.ripe.net/author/greg-wood/birds-of-a-feather-at-ietf-126-vienna/\">five Birds-of-a-Feather sessions scheduled at IETF 126</a>, three concern AI agent communication &mdash; an unusual concentration that reflects how rapidly the problem has moved from a vendor concern to an internet-infrastructure concern.</p><p><strong>PTTH &mdash; Reversing the HTTP Client-Server Model (Monday, July 20)</strong></p><p>The first BoF of the week revisits a concept that received its inaugural hearing at IETF 123. PTTH proponents return with a proposed Working Group charter. The goal is a <a rel=\"nofollow\" href=\"https://labs.ripe.net/author/greg-wood/birds-of-a-feather-at-ietf-126-vienna/\">standardized, secure method for swapping the HTTP server and client roles</a> &mdash; useful when a server is intended to be accessed by only a small number of pre-approved clients that the server can reach directly, and is not publicly accessible. Currently, several proprietary and vendor-specific solutions handle this use case separately; PTTH would replace them with a single interoperable standard.</p><p><strong>DAWN &mdash; Decentralized Agent and Workload Discovery (Tuesday, July 21)</strong></p><p>DAWN is seeking Working Group status to define requirements and protocol solutions for <a rel=\"nofollow\" href=\"https://labs.ripe.net/author/greg-wood/birds-of-a-feather-at-ietf-126-vienna/\">an automated, decentralized, interoperable discovery mechanism</a> &mdash; one that can operate at the scale of distributed processing environments where components arrive without pre-configured knowledge of each other. AI agent-to-agent communication is an explicit part of DAWN's scope.</p><p>The discovery gap DAWN targets is the same one that produced DNS-AID, an open standard the Linux Foundation accepted in May 2026. DNS-AID lets <a rel=\"nofollow\" href=\"https://www.techtimes.com/articles/317904/20260606/ai-agent-discovery-gets-open-dns-standard-dns-aid-launches-under-linux-foundation.htm\">AI agents publish their endpoints and capabilities as standard DNS records</a>, enabling discovery without a centralized registry. DAWN would define the broader requirements framework; DNS-AID represents one candidate solution within that space.</p><div><p><strong>Read more:</strong>\n<a href=\"/articles/317904/20260606/ai-agent-discovery-gets-open-dns-standard-dns-aid-launches-under-linux-foundation.htm\"><strong>AI Agent Discovery Gets Open DNS Standard: DNS-AID Launches Under Linux Foundation</strong></a></p></div><p><strong>CURRENT &mdash; Post-Quantum Key Management for Network Transport (Tuesday, July 21)</strong></p><p>CURRENT aims to charter a Working Group to define a <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/wg/current/about/\">two-party security protocol using Messaging Layer Security (MLS) for key management</a>. MLS, already an IETF standard (RFC 9420), provides forward secrecy, post-compromise security, and asynchronous key ratcheting &mdash; and it already supports post-quantum cryptography alongside traditional algorithms. CURRENT would bring MLS's key-management capabilities down into the network transport layer, where they can protect protocols that rely on classical public-key cryptography (RSA, elliptic-curve) against the eventual arrival of quantum computing capable of breaking those schemes. The formal verification work that was applied to MLS's design gives CURRENT a stronger starting point than most new protocol proposals.</p><p><strong>DMSC &mdash; AI Agent Gateway Model (Wednesday, July 22)</strong></p><p>DMSC is explicitly non-Working-Group-forming &mdash; it is a diagnostic session. The goal is to map the terrain for <a rel=\"nofollow\" href=\"https://labs.ripe.net/author/greg-wood/birds-of-a-feather-at-ietf-126-vienna/\">AI agent gateway-mediated collaboration: capability exposure, request forwarding, coordination, synchronization, policy control, observability, and secure inter-agent communication</a>. DMSC will profile existing and evolving mechanisms defined elsewhere, identify what is missing, and determine whether a formal gateway model definition would provide material benefit. Its output will likely feed into agentproto's Working Group charter discussions.</p><h3>Agentproto: What Is Actually Being Decided Thursday</h3><p>The agentproto BoF, <a rel=\"nofollow\" href=\"https://labs.ripe.net/author/greg-wood/birds-of-a-feather-at-ietf-126-vienna/\">scheduled for Thursday July 23 at 09:00 Central European Summer Time (03:00 ET)</a>, is where the structural question becomes explicit.</p><p>The past eighteen months produced a rush of competing, overlapping protocols for connecting AI agents to tools and to each other: Anthropic's Model Context Protocol, Google's Agent2Agent, the Agent Communication Protocol, the Agent Network Protocol, and Cisco's Agntcy Framework, among others. Each addresses different layers of the problem. MCP &mdash; donated by Anthropic to the Linux Foundation's Agentic AI Foundation in December 2025 &mdash; <a rel=\"nofollow\" href=\"https://www.ietf.org/blog/ietf126-bofs/\">had reached 97 million monthly SDK downloads by early 2026</a>, and was adopted by every major AI provider. A2A, donated by Google to the Linux Foundation in June 2025, had 150 organizational supporters by April 2026, including AWS, Cisco, IBM, Microsoft, Salesforce, SAP, and ServiceNow.</p><p>None of that market momentum resolves the inter-domain interoperability problem. MCP standardizes how a single agent connects to external tools and data &mdash; the client-server layer. A2A standardizes how agents discover each other's capabilities and delegate tasks &mdash; the peer-to-peer layer. What neither protocol currently addresses is the full set of requirements the Rosenberg-Jennings framework identifies for agent communication at internet scale: cross-domain identity federation, multi-hop lifecycle management, user confirmation before irreversible API actions, and <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/\">protocol-level attribution for security incidents</a>.</p><p>The agentproto BoF builds on a well-attended IETF 124 side meeting and on that framework document, authored by Jonathan Rosenberg of Five9 and Cullen Jennings of Cisco. Rosenberg is also <a rel=\"nofollow\" href=\"https://www.ietf.org/blog/ietf126-bofs/\">the lead author of RFC 3261</a>, the Session Initiation Protocol &mdash; the standard that governs real-time communications across the internet today. His involvement signals that the agentproto work is being approached with the same scope and seriousness as the protocols that underpin voice and video communication.</p><p>The Rosenberg-Jennings Internet-Draft explicitly frames AI agent protocols as a <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/\">potential new layer sitting above HTTP, SIP, and RTP in the internet stack</a> &mdash; the same position in the architecture that those application-layer protocols occupy above IP, TCP, UDP, and QUIC. If the IETF charters a Working Group on that basis, it is asserting that AI agent communication is an internet-layer problem &mdash; not a product-layer problem &mdash; and the resulting RFC would carry the same implementation authority as any other foundational internet standard.</p><h3>Why Prompt Injection Is the Security Test Agentproto Must Pass</h3><p>The security implications of an unresolved protocol landscape are among the most concrete technical arguments for standardization. The Rosenberg-Jennings framework dedicates a section to prompt injection attacks in the multi-agent context, and <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/\">the problem it describes is structurally different from single-agent prompt injection</a>.</p><p>In a multi-agent system, a malicious user interacting with Agent A can craft input specifically designed to propagate through Agent A to Agent Z &mdash; a second agent that Agent A invokes. Because Agent A relays content from the user to Agent Z as part of normal operation, the injection can bypass the defenses of the first agent entirely and exploit the trust relationship between agents. The Rosenberg-Jennings document describes this as introducing a \"new threat vector\" distinct from direct injection, and explicitly states that <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/\">prompt injection attacks are \"notoriously difficult to prevent\"</a>. The protocol-level response is not prevention but attribution: the standard must introduce mechanisms for diagnosis, logging, and traceability so that when an incident occurs, security teams can reconstruct what happened and which agent was responsible.</p><p><a rel=\"nofollow\" href=\"https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/\">OWASP has ranked prompt injection as the top security risk</a> among its Top 10 threats for LLM-based applications. Documented real-world incidents include injections through public Slack channels leaking private channel content, injections through GitHub issues extracting developer credentials, and injections via web pages redirecting user data to attacker-controlled servers. None of these incidents involved inter-domain agent cascades; the agentproto work is addressing a threat vector that current defenses were not designed for.</p><p>Whether Thursday's session produces a Working Group charter &mdash; or surfaces disagreements sufficient to send the work back to the mailing list &mdash; will be visible in real time. The mailing list archive (agent2agent list at mailarchive.ietf.org) has been active for months. The session materials will be posted to the IETF Datatracker before the session.</p><h3>Rest of the Week: BGP Security, DNS, and PQC</h3><p>Beyond the BoFs, the established Working Groups advancing existing standards work span the full IETF agenda.</p><p><strong>Routing Security (SIDROPS/RPKI).</strong> The <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/wg/sidrops/about/\">SIDR Operations Working Group</a> develops guidance for deploying Secure Inter-Domain Routing technology &mdash; the Resource Public Key Infrastructure (RPKI), BGP origin validation, and BGPsec &mdash; while maintaining routing stability during the transition to fully RPKI-aware networks. One active draft addresses a subtle but consequential problem: <a rel=\"nofollow\" href=\"https://datatracker.ietf.org/doc/draft-ietf-sidrops-avoid-rpki-state-in-bgp/\">annotating BGP routes with RPKI-derived validation states in transitive path attributes</a> causes global flooding of BGP UPDATE messages whenever Route Origin Authorizations are issued or revoked. The recommendation is to avoid carrying those validation states in transitive attributes &mdash; a change to standard routing practice with potential stability implications for operators who have already implemented such tagging.</p><p><strong>DNS Operations (DNSOP).</strong> The DNS Operations Working Group develops guidelines for DNS software operation, service administration, and zone management. Active items this cycle include post-quantum algorithm selection for DNSSEC, where engineers are weighing signature-size tradeoffs against security conservatism in a post-NIST-standardization environment. <a rel=\"nofollow\" href=\"https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards\">NIST finalized its first post-quantum cryptography standards in August 2024</a>.</p><p><strong>Security Area Advisory Group (SAAG).</strong> The Security Area open meeting is a cross-cutting forum for security and privacy concerns across all IETF working areas. SAAG sessions typically surface issues that do not fit neatly into any single working group's charter; given the volume of AI-adjacent security work in progress, this year's session is expected to be particularly active.</p><h3>What the Vienna Meeting Actually Decides</h3><p>IETF meetings produce documents, not products. The working group sessions in Vienna will advance drafts, close issues, and identify gaps. The BoFs will reveal whether there is community consensus and organizational energy sufficient to charter new working groups. What gets chartered in Vienna &mdash; and what does not &mdash; shapes what the RFC pipeline looks like in 2027 and 2028.</p><p>The velocity of AI agent deployment has outrun the standards community's ability to produce RFCs on the same schedule. The agentproto BoF is the formal acknowledgment of that gap. Companies building multi-agent platforms, API providers, and enterprise software vendors will read Thursday's session outcome as a signal: either the IETF will standardize agent-to-agent communication in a way that overrides vendor choices, or the market-dominant protocols (MCP, A2A) will establish their current architectures as the baseline by default.</p><p>Vint Cerf's argument &mdash; that TCP/IP succeeded not because it was technically superior to its competitors, but because it was open, free, and required running implementations &mdash; applies directly here. The IETF was designed to be the body that makes that call. Whether it does so for AI agent protocols, or defers to protocols already deployed at 97 million downloads per month, is the question Vienna is answering this week.</p><p>Session materials and recordings from IETF 126 will be posted to the IETF Datatracker and the IETF YouTube channel as sessions conclude. <a rel=\"nofollow\" href=\"https://www.ietf.org/meeting/upcoming/\">IETF 127 is scheduled for November 14&ndash;20, 2026, in San Francisco</a>, hosted at the Hilton Union Square.</p><hr><h2>Frequently Asked Questions</h2><h3>What is a Birds-of-a-Feather session at an IETF meeting, and what does \"working-group-forming\" mean?</h3><p>A Birds-of-a-Feather session is an initial, community-wide discussion about a topic that may be ready for new IETF work. Some BoFs are working-group-forming: they arrive with a draft charter and aim to confirm that there is sufficient consensus and scope to spin up a new Working Group. Others are non-working-group-forming &mdash; designed to map a problem space and identify gaps before committing to a charter. For agentproto and DAWN, the goal is to form working groups. For DMSC, the goal is diagnostic. When a Working Group is chartered, it produces Internet-Drafts that eventually become RFCs &mdash; the binding technical specifications that every implementation of a given protocol must satisfy.</p><h3>How does prompt injection change when AI agents communicate with each other, and why does it matter for the agentproto standard?</h3><p>In a single-agent system, prompt injection means a user crafts malicious input to override that agent's instructions. In a multi-agent system, the attack can cascade: a user injects into Agent A, which relays the content to Agent B as part of normal operation, and Agent B &mdash; which trusts Agent A &mdash; executes the malicious instruction. The injected command travels through the trust relationship between agents, bypassing the first agent's defenses entirely. OWASP lists prompt injection as the top threat to LLM-based applications, and documented real-world incidents already show injection via public channels, documents, and web pages. The agentproto work addresses this at the protocol layer by requiring that any agent-to-agent communication standard include mechanisms for logging, attribution, and incident reconstruction &mdash; not just application-level detection, which is insufficient for cross-domain attacks.</p><h3>What is the technical difference between MCP and A2A, and what would an IETF standard add that they do not cover?</h3><p>MCP (Model Context Protocol) is a client-server protocol: an AI agent reaches out to a tool, database, or API and requests data or actions. A2A (Agent2Agent Protocol) is a peer-to-peer protocol: two agents discover each other's capabilities via Agent Cards (JSON documents at well-known URLs), then coordinate tasks using HTTP, Server-Sent Events, and JSON-RPC. MCP had 97 million monthly SDK downloads by early 2026; A2A had 150 organizational supporters. What neither currently specifies is: cross-domain identity federation (how one organization's agent proves to another's that it is authorized to act on a user's behalf), multi-hop lifecycle management (what happens to an agent chain when one node in the chain fails), user confirmation requirements before irreversible API calls, and protocol-level security attribution for prompt injection incidents. These are the gaps the Rosenberg-Jennings framework document identified as requiring IETF-level standardization.</p><h3>What is post-quantum cryptography and why is the CURRENT BoF addressing it at the network transport layer?</h3><p>Post-quantum cryptography refers to encryption and signature algorithms designed to remain secure against attacks from quantum computers. Current internet security &mdash; TLS, HTTPS, QUIC, DNS-over-TLS &mdash; relies heavily on RSA and elliptic-curve schemes that would be vulnerable to Shor's algorithm on a sufficiently powerful quantum computer. NIST finalized its first post-quantum standards in August 2024. The CURRENT BoF targets network transport specifically because the threat is not purely future-dated: \"harvest now, decrypt later\" attacks allow an adversary to intercept encrypted traffic today and decrypt it once quantum computing matures. CURRENT would use Messaging Layer Security (RFC 9420) &mdash; which already supports post-quantum algorithms alongside classical ones, and has been formally verified &mdash; to define a rekeying mechanism robust against both classical and quantum adversaries at the transport layer, below the application protocols that depend on it.</p></div></div><div class=\"tnc\"></div></div></div> <script>doFir.push(function(){if(!slide_started)check_slide();jQuery(\"#v_article .embTI\").remove();work_editor()})</script> <div class=\"article-copyright\"><p>ⓒ 2026 TECHTIMES.com All rights reserved. Do not reproduce without permission.</p></div><div class=\"tags\">\n<strong>Tags:</strong><a href=\"/tags/ai-agents\">AI Agents</a></div><div align=\"center\"> <script async src=\"https://subscribe-forms.beehiiv.com/embed.js\"></script><iframe src=\"https://subscribe-forms.beehiiv.com/7de73430-5d41-449a-b0d3-cccae9de00ff\" class=\"beehiiv-embed\" data-test-id=\"beehiiv-embed\" frameborder=\"0\" scrolling=\"no\" style=\"width: 320px; height: 200px; margin: 0; border-radius: 0px 0px 0px 0px !important; background-color: transparent; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); max-width: 100%;\"></iframe></div><div><div id=\"discussion\" class=\"discussion\"><div class=\"block-title\">Join the Discussion</div><div id='vuukle-comments'></div></div> <script>var VUUKLE_CONFIG={apiKey:'6bd54cd3-71bd-475a-b1fd-25ba5a6cdcd2',articleId:'320919',};fqtag.fscmd.push(function(){LJ('//cdn.vuukle.com/platform.js')})</script> </div></div></div><div class=\"col-md-4 sidebar\"><div class=\"sidebar-spacing\"><div id=\"ad-right1-wrapper\" class=\"block block-fusion-ads\"><div id=\"dfp-ad-right1-wrapper\" class=\"dfp-tag-wrapper\"><div id=\"dfp-ad-right1\"></div></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"right1\"]){ ibt_log(\"ADS GPT register ad slot right1\", Date.now()-timerStart); googletag.display(\"dfp-ad-right1\"); } });if(/right1\\|[0-1]\\|1/.test(dfpSlots.pginfo[ibtmedia_device])) document.getElementById(\"ad-right1-wrapper\").className+=\" block-sticky\"</script> <div class=\"block-title\">Most Popular</div><ol class=\"list\"><li>\n<article class=\"d-flex\">\n<figure>\n<a href=\"/articles/321583/20260725/houthi-strike-burns-jizan-aramco-refinery-yanbu-attack-seals-saudi-arabias-oil-trap.htm\"><picture><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469885/photograph-taken-january-12-2024-shows-oil.webp?w=184&amp;h=103&amp;f=d28df6c9481c2cae287b92c0d12bb258\"><img src=\"https://d.techtimes.com/en/full/469885/photograph-taken-january-12-2024-shows-oil.jpg?w=184&amp;h=103&amp;f=d28df6c9481c2cae287b92c0d12bb258\" alt=\"photograph taken January 12 2024 shows oil\" width=\"184\" height=\"103\" loading=\"lazy\" /></picture></a>\n</figure><div class=\"info\"><h6><a href=\"/articles/321583/20260725/houthi-strike-burns-jizan-aramco-refinery-yanbu-attack-seals-saudi-arabias-oil-trap.htm\">Houthi Strike Burns Jizan Aramco Refinery; Yanbu Attack Seals Saudi Arabia's Oil Trap</a></h6></div>\n</article></li><li>\n<article class=\"d-flex\">\n<figure>\n<a href=\"/articles/321335/20260723/iranian-hackers-infiltrate-siemens-schneider-plcs-blinding-operators-fake-readings.htm\"><picture><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469533/department-justice-employee-put-poster-seven.webp?w=184&amp;h=103&amp;f=10616a891481b1deba076739b1ca787d\"><img src=\"https://d.techtimes.com/en/full/469533/department-justice-employee-put-poster-seven.jpg?w=184&amp;h=103&amp;f=10616a891481b1deba076739b1ca787d\" alt=\"Department Justice employee put up poster seven\" width=\"184\" height=\"103\" loading=\"lazy\" /></picture></a>\n</figure><div class=\"info\"><h6><a href=\"/articles/321335/20260723/iranian-hackers-infiltrate-siemens-schneider-plcs-blinding-operators-fake-readings.htm\">Iranian Hackers Infiltrate Siemens and Schneider PLCs, Blinding Operators With Fake Readings</a></h6></div>\n</article></li><li>\n<article class=\"d-flex\">\n<figure>\n<a href=\"/articles/321431/20260723/chatgpt-health-goes-nationwide-your-medical-records-lose-hipaa-protection.htm\"><picture><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469693/chatgpt-health-goes-nationwide-your-medical-records-lose-hipaa-protection.webp?w=184&amp;h=103&amp;f=4b8eaa5b4258becdd88178885fa84707\"><img src=\"https://d.techtimes.com/en/full/469693/chatgpt-health-goes-nationwide-your-medical-records-lose-hipaa-protection.jpg?w=184&amp;h=103&amp;f=4b8eaa5b4258becdd88178885fa84707\" alt=\"ChatGPT Health Goes Nationwide: Your Medical Records Lose HIPAA Protection\" width=\"184\" height=\"103\" loading=\"lazy\" /></picture></a>\n</figure><div class=\"info\"><h6><a href=\"/articles/321431/20260723/chatgpt-health-goes-nationwide-your-medical-records-lose-hipaa-protection.htm\">ChatGPT Health Goes Nationwide: Your Medical Records Lose HIPAA Protection</a></h6></div>\n</article></li><li>\n<article class=\"d-flex\">\n<figure>\n<a href=\"/articles/321591/20260725/marvel-returns-hall-h-saturday-apple-tv-star-trek-make-sdcc-2026-history.htm\"><picture><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469871/robert-downy-jr-sdcc-2026.webp?w=184&amp;h=103&amp;l=49&amp;t=51&amp;f=a20f11565b302e778970f664ced2697f\"><img src=\"https://d.techtimes.com/en/full/469871/robert-downy-jr-sdcc-2026.png?w=184&amp;h=103&amp;l=49&amp;t=51&amp;f=a20f11565b302e778970f664ced2697f\" alt=\"Robert Downy Jr. at SDCC 2026\" width=\"184\" height=\"103\" loading=\"lazy\" /></picture></a>\n</figure><div class=\"info\"><h6><a href=\"/articles/321591/20260725/marvel-returns-hall-h-saturday-apple-tv-star-trek-make-sdcc-2026-history.htm\">Marvel Returns to Hall H Saturday as Apple TV+ and Star Trek Make SDCC 2026 History</a></h6></div>\n</article></li><li>\n<article class=\"d-flex\">\n<figure>\n<a href=\"/articles/321413/20260723/intel-foundry-breaks-customer-silence-fortinet-deal-q2-earnings-approach.htm\"><picture><source type=\"image/webp\" srcset=\"https://d.techtimes.com/en/full/469673/intel.webp?w=184&amp;h=103&amp;f=1bf5cb4871a465a469c117025d7d2dda\"><img src=\"https://d.techtimes.com/en/full/469673/intel.jpg?w=184&amp;h=103&amp;f=1bf5cb4871a465a469c117025d7d2dda\" alt=\"Intel\" width=\"184\" height=\"103\" loading=\"lazy\" /></picture></a>\n</figure><div class=\"info\"><h6><a href=\"/articles/321413/20260723/intel-foundry-breaks-customer-silence-fortinet-deal-q2-earnings-approach.htm\">Intel Foundry Breaks Customer Silence With Fortinet Deal as Q2 Earnings Approach</a></h6></div>\n</article></li></ol> <script async src=\"https://subscribe-forms.beehiiv.com/embed.js\"></script> <div style=\"text-align: center;\"><iframe src=\"https://subscribe-forms.beehiiv.com/ab0ff16d-d291-4f6f-bc84-22e59e1e83c5\" class=\"beehiiv-embed\" data-test-id=\"beehiiv-embed\" frameborder=\"0\" scrolling=\"no\" style=\"width: 400px; height: 300px; margin: 0; border-radius: 0px 0px 0px 0px !important; background-color: transparent; box-shadow: 0 0 #0000;\"></iframe></div></div><div class=\"block-sticky\"><div id=\"ple_video\" class=\"ad_wrapper_video\"><div class=\"play_icon_wrapper\"><div id=\"_icon\" class=\"play_icon\" onclick=\"_loadVideoPlayer();\"></div></div></div><div id=\"ad-right3-wrapper\" class=\"block block-fusion-ads\"><div id=\"dfp-ad-right3-wrapper\" class=\"dfp-tag-wrapper\"><div id=\"dfp-ad-right3\"></div></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"right3\"]){ ibt_log(\"ADS GPT register ad slot right3\", Date.now()-timerStart); googletag.display(\"dfp-ad-right3\"); } });if(/right3\\|[0-1]\\|1/.test(dfpSlots.pginfo[ibtmedia_device])) document.getElementById(\"ad-right3-wrapper\").className+=\" block-sticky\"</script><div id=\"ad-right2-wrapper\" class=\"block block-fusion-ads\"><div id=\"dfp-ad-right2-wrapper\" class=\"dfp-tag-wrapper\"><div id=\"dfp-ad-right2\"></div></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"right2\"]){ ibt_log(\"ADS GPT register ad slot right2\", Date.now()-timerStart); googletag.display(\"dfp-ad-right2\"); } });if(/right2\\|[0-1]\\|1/.test(dfpSlots.pginfo[ibtmedia_device])) document.getElementById(\"ad-right2-wrapper\").className+=\" block-sticky\"</script><div id=\"ad-right4-wrapper\" class=\"block block-fusion-ads\"><div id=\"dfp-ad-right4-wrapper\" class=\"dfp-tag-wrapper\"><div id=\"dfp-ad-right4\"></div></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"right4\"]){ ibt_log(\"ADS GPT register ad slot right4\", Date.now()-timerStart); googletag.display(\"dfp-ad-right4\"); } });if(/right4\\|[0-1]\\|1/.test(dfpSlots.pginfo[ibtmedia_device])) document.getElementById(\"ad-right4-wrapper\").className+=\" block-sticky\"</script><div id=\"ad-sticky-wrapper\" class=\"block block-fusion-ads\"><div id=\"dfp-ad-sticky-wrapper\" class=\"dfp-tag-wrapper\"><div id=\"dfp-ad-sticky\"></div></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"sticky\"]){ ibt_log(\"ADS GPT register ad slot sticky\", Date.now()-timerStart); googletag.display(\"dfp-ad-sticky\"); } });if(/sticky\\|[0-1]\\|1/.test(dfpSlots.pginfo[ibtmedia_device])) document.getElementById(\"ad-sticky-wrapper\").className+=\" block-sticky\"</script> </div></div></div></div></div> <script>var mobile_view=(brW<=1024)?1:0;if(mobile_view){(function(){var d=document,v=d.getElementById('ple_video'),t=d.getElementsByClassName('page-top-mobile-video');if(v&&t.length)t[0].appendChild(v);})()}\nvar ad_loaded=0;doFir.push(function(){(function($){var adspace=$(\".adspace\"),ad_seq,pos;if(adspace.length){if(mobile_view){ad_seq=['top','right1','right2','right3','right4','bottom']}else{ad_loaded=8;ad_seq=[\"right2\",\"right4\"]};for(i=0;i<adspace.length;i++){pos=ad_seq.shift();ad_loaded++;if(pos){$(adspace[i]).append($(\"#ad-\"+pos+\"-wrapper\"))}else insertLazySlots($(adspace[i]),'right'+(mobile_view?((ad_loaded%2)*3+1):(4-(ad_loaded%2)*2)),'lazyads'+ad_loaded)}}else{var p=str_len=0,aside=-1,ad_tl=400,ad_p=8,l=$(\".article-body> div > div\").children(),lp=$(\".article-paywall-contents\").children(),newsletter=$(\".newsletter-in-article\").length,mid_message=$(\".mid-message\").length,nl_pos;if($(\"body\").hasClass(\"sponsored\")){newsletter=0}\nif(l.length<=3){l=$(\".article-body> div\").children();if(l.length<=3){l=$(\".article-body\").children();if(l.length<=3)l=$(\".article-text .content\").children();}}else if(lp.length>1)l=lp;var total_str_len=0;for(var i=0;i<l.length;i++){if(l[i].tagName==\"P\"||l[i].tagName==\"FIGURE\"||l[i].tagName==\"DIV\"){if(l[i].tagName==\"P\"&&l[i].textContent==\"\")continue;total_str_len+=$(l[i]).text().length}}\nvar max_ads=(total_str_len<2200)?2:(total_str_len<3500)?3:4;var inserted_ads=0;if(mobile_view){var ad_seq=['right1','right2','right3','right4','bottom'],pos,end_p=l.length-1;var first_ad_idx=-1;for(var i=0;i<l.length;i++){if(l[i].tagName==\"P\"||l[i].tagName==\"FIGURE\"||(l[i].tagName==\"DIV\"&&(l[i].className=='videoc'||l[i].className=='key-points'||$(l[i]).hasClass('live-item')))){if(l[i].tagName==\"P\"&&l[i].textContent==\"\")continue;if(!$(\".article-text\").prev().is('figure'))i++;$(l[i]).after($(\"#ad-top-wrapper\"));if(l[i].tagName==\"DIV\")i++;i++;inserted_ads=1;first_ad_idx=i;break}};nl_pos=Math.floor(l.length*0.7)-1;var loop_start=(first_ad_idx!==-1)?first_ad_idx:0;for(var i=loop_start;i<l.length;i++){if(newsletter&&i>nl_pos){$('.newsletter-in-article').insertAfter(l[i]);newsletter=0;if(mid_message){$(l[7]).after($(\".mid-message\"))}};if((l[i].nodeName==\"DIV\"&&!$(l[i]).hasClass('live-item'))||l[i].nodeName==\"SCRIPT\")continue;if(l[i].nodeName==\"P\")p++;if(i<end_p&&p>=3){p=0;ad_loaded++;pos=ad_seq.shift();if(pos)$(\"#ad-\"+pos+\"-wrapper\").insertAfter(l[i]);else insertLazySlots($(l[i]),'right'+((ad_loaded%2)*3+1),'lazyads'+ad_loaded);inserted_ads++}};if(inserted_ads<max_ads){if($('#latest-news').length)$(\"#ad-right4-wrapper\").insertBefore('#latest-news');else $(\"#ad-right4-wrapper\").insertBefore('.most-popular');inserted_ads++}}else{ad_loaded=8;ad_p=8;p=3;nl_pos=Math.floor(l.length*0.7);ad_seq=[\"right2\",\"right4\"];if($(\".article-paywall-contents\").prev().is('figure')){pos=ad_seq.shift();ad_loaded++;$(\".article-paywall-contents\").before($(\"#ad-\"+pos+\"-wrapper\"));inserted_ads++};var remaining_ads=max_ads-inserted_ads;ad_tl=(remaining_ads>0)?Math.max(500,Math.floor(total_str_len/(remaining_ads+1))):700;for(var i=0;i<l.length;i++){if(l[i].tagName==\"P\"||l[i].tagName==\"FIGURE\"||(l[i].tagName==\"DIV\"&&(l[i].className=='key-points'||$(l[i]).hasClass('live-item')||$(l[i]).attr('data-gtm-action')=='Related_Stories'))){str_len+=$(l[i]).text().length;p++;if(l[i].tagName==\"FIGURE\")p+=2;if(str_len>ad_tl||p>ad_p){if(i-aside>=2){if(inserted_ads<max_ads){str_len=p=aside=0;ad_loaded++;pos=ad_seq.shift();if(pos)$(l[i]).after($(\"#ad-\"+pos+\"-wrapper\"));else insertLazySlots($(l[i]),'right'+(4-(ad_loaded%2)*2),'lazyads'+ad_loaded);inserted_ads++} if(inserted_ads>=max_ads)break}}}else if(l[i].tagName==\"ASIDE\"||l[i].className=='imageLeft'||l[i].className=='imageRight')aside=i;if(newsletter&&i>nl_pos&&p>0){if(mid_message){$(l[7]).after($(\".mid-message\"))}}};if(ad_loaded==4){removeLazySlots($,'right4')}}}})(jQuery)})</script> <div id=\"dfp-ad-oop1-wrapper\"><div id=\"dfp-ad-oop1\"></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"oop1\"]){ ibt_log(\"ADS GPT register ad slot oop1\", Date.now()-timerStart); googletag.display(\"dfp-ad-oop1\"); } });</script><div id=\"dfp-ad-oop2-wrapper\"><div id=\"dfp-ad-oop2\"></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"oop2\"]){ ibt_log(\"ADS GPT register ad slot oop2\", Date.now()-timerStart); googletag.display(\"dfp-ad-oop2\"); } });</script><div id=\"dfp-ad-oop3-wrapper\"><div id=\"dfp-ad-oop3\"></div></div><script>googletag.cmd.push(function () { if(dfpSlots.slotobjs[\"oop3\"]){ ibt_log(\"ADS GPT register ad slot oop3\", Date.now()-timerStart); googletag.display(\"dfp-ad-oop3\"); } });</script> <footer class=\"pf\"><div class=\"container-fluid\"><div class=\"d-lg-flex\"><div class=\"logo\">\n<a href=\"https://www.techtimes.com/\"></a></div>\n<nav class=\"flex-fill\"><ul class=\"list1\"><li><a href=\"https://www.techtimes.com/personaltech\">Tech</a></li><li><a href=\"https://www.techtimes.com/science\">Science</a></li><li><a href=\"https://www.techtimes.com/biztech\">Business</a></li><li><a href=\"https://www.techtimes.com/health\">Health</a></li><li><a href=\"https://www.techtimes.com/t-lounge\">Culture</a></li><li><a href=\"https://www.techtimes.com/feature\">Features</a></li><li><a href=\"https://www.techtimes.com/techbuzz\">Buzz</a></li></ul><ul class=\"list2 footer-about-us\"><li><a href=\"https://www.techtimes.com/about-us\">About Us</a></li><li><a href=\"https://www.techtimes.com/contact-us\">Contact Us</a></li><li><a href=\"https://www.techtimes.com/termsofservice\">Terms & Conditions</a></li><li><a href=\"https://www.techtimes.com/privacypolicy\">Privacy Policy</a></li></ul>\n</nav> <script>(function(){var d=document,g='getElementsByClassName',a=d[g]('footer-about-us')[0],l=d.createElement('li');if(window.sirdata){l.innerHTML='<button class=\"cmp-display-button\" onclick=\"Sddan.cmp.displayUI()\">Privacy Settings</button>',a.appendChild(l)}})()</script> <div class=\"socials\">\n<a href=\"https://www.facebook.com/TechTimesNews\" target=\"_blank\" class=\"social social-facebook\"></a>\n<a href=\"https://twitter.com/TechTimes_News\" target=\"_blank\" class=\"social social-twitter\"></a></div></div><div class=\"copyright text-center\">\n©\n2026 Tech Times Media Inc. All rights reserved.</div></div>\n</footer> <script>doFir.push(function(){(function($){$(document).on('scroll.lazy',lazyLoad);$(window).on('resize.lazy',lazyLoad).on('orientationchange.lazy',lazyLoad).on(\"load\",lazyLoad);lazyLoad()})(jQuery)})</script> <script type=\"text/javascript\" src=\"https://g.techtimes.com/sys/js/0bfab88c4b8be1c17fcc10a9540a6a57.js?v=1784965296\" defer=\"defer\"></script> <script>if(!getCookie('nwcmsmode')){var ibt_cter={};ibt_cter.what='article';ibt_cter.from='web';ibt_cter.site_id='402';ibt_cter.a_id=oa.pageinfo.articleId||0;ibt_cter.r_id=oa.pageinfo.writerId||0;ibt_cter.c_id=oa.pageinfo.sectionId||0;ibt_cter.a_editor='1';ibt_cter.c_country=oa.geo.country||'OTHERS';ibt_cter.device=oa.geo.device;ibt_cter.ts=window.ts?window.ts:'nonpromoted';ibt_cter.promo=ibt_cter.ts=='nonpromoted'?'':(ibt_cter.ts=='fbpromo'?window.fbpromoc:window.otherpromoc);ibt_cter.statsurl='https://stats.techtimes.com';ibt_cter.oaurl='https://stats.myibtimes.com';(function(){var s=document.createElement('script');s.async=!0;s.type='text/javascript';s.src=\"https://g.techtimes.com/front/js/counter.js?a=45\";var n=document.getElementsByTagName('script')[0];n.parentNode.insertBefore(s,n)})()}</script> <script>var saf13=(oa.os.name=='Mac OS'&&oa.browser.name=='Safari'&&oa.browser.version=='13')?!0:!1,ivtPostcount=0,ivtPostbid=function(lineitemid){if(ivtPostcount==0){ivtPostcount=1;var d=document,s=d.createElement(\"script\"),p=NoPassFQ+\"_\"+lineitemid+\"_\"+oa.geo.ip;s.src=\"//stats.myibtimes.com/tool/ivt-postbid?prebid=\"+p+\"&cb=\"+Date.now()+\"&s_url=\"+encodeURIComponent(location.href);d.head.appendChild(s)}},refreshInViewSlot=function(pos,div){$=jQuery;var s=$(document).scrollTop(),d=$('#dfp-ad-'+div),h=d.height(),t=d.offset().top,smin=t-brH+h*0.6,smax=t+h*0.2-50,pb=0,amz=0;if(window.pageFocus==\"N\"||s<smin||s>smax){setTimeout(refreshInViewSlot,2e4,pos,div);return};if(s=checkReqCap(1,pos,div)){setTimeout(refreshInViewSlot,s,pos,div);return}\nibt_log('ADS InView refresh',pos,'dfp-ad-'+div,dfpSlots.latestRequest-timerStart);if(dfpSlots.aps){var cfg=0;for(var i=0;i<amzSlots.length;i++){if(amzSlots[i].slotID==\"dfp-ad-\"+pos){if(pos==div)cfg=amzSlots[i];else{cfg=Object.assign({},amzSlots[i]);cfg.slotID=\"dfp-ad-\"+div} break}};apstag.fetchBids({slots:[cfg]},function(bids){apstag.setDisplayBids();if(pb)gptRefresh(pos,div);else amz=1})}else amz=2;if(dfpSlots.pbjs){pbjs.que.push(function(){pbjs.requestBids({timeout:PREBID_TIMEOUT,adUnitCodes:['dfp-ad-'+pos],bidsBackHandler:function(){pbjs.setTargetingForGPTAsync(['dfp-ad-'+pos]);if(amz)gptRefresh(pos,div);else pb=1}})})}else if(dfpSlots.rdm){pbjs.que.push(function(){pbjs.rp.requestBids({callback:function(){if(amz)gptRefresh(pos,div);else pb=1},gptSlotObjects:[dfpSlots.slotobjs[div]]})})}else pb=2;if(amz==2&&pb==2)gptRefresh(pos,div);};googletag.cmd.push(function(){googletag.pubads().addEventListener('slotRenderEnded',function(event){if(event.slot.getAdUnitPath().indexOf('/'+dfpSlots.network_id+'/')>-1){var div=event.slot.getSlotElementId().split(\"-\")[2];ibt_log('ADS',div,'rendered, empty:',event.isEmpty,event.sourceAgnosticLineItemId,event.size,Date.now()-timerStart);if(!event.isEmpty){if(div=='sticky'){if(jQuery('#ad-sticky-wrapper').css('display')=='none'){jQuery('#ad-sticky-wrapper').show();jQuery(document.body).addClass('on-sticky');if(jQuery('.wall-guide').length)jQuery('.wall-guide').addClass('on-sticky-ad');}}else if(div=='sticky2'){if(jQuery('#ad-sticky2-wrapper').css('display')=='none'){jQuery('#ad-sticky2-wrapper').prepend('<div class=\"btn-close\"></div>').show();jQuery('#ad-sticky2-wrapper .btn-close').on(\"click\",function(){jQuery('#ad-sticky2-wrapper').hide()})}}\nivtPostbid(event.slot.getAdUnitPath()+'_'+event.campaignId+'_'+event.sourceAgnosticLineItemId)}}});googletag.pubads().addEventListener('impressionViewable',function(event){var div=event.slot.getSlotElementId().split(\"-\")[2],pos=dfpSlots.lazyslotpos[div]?dfpSlots.lazyslotpos[div]:div;if(NoPassFQ=='Y'||dfpSlots.slots.indexOf(div)==-1)return;ibt_log('Viewable impression',event.slot.getAdUnitPath(),pos,div,Date.now()-timerStart);if(!saf13&&((ibtmedia_device==\"desktop\"&&\"right1,right2,right3,right4,bottom\".indexOf(pos)>-1)||(ibtmedia_device==\"mobile\"&&\"top,right1,right2,right3,right4,bottom,sticky\".indexOf(pos)>-1)||(ibtmedia_device==\"tablet\"&&\"top,right1,right2,right3,right4,bottom,sticky\".indexOf(pos)>-1))){event.slot.setConfig({targeting:{refresh:\"Y\"}});var adrf=setTimeout(refreshInViewSlot,30000,pos,div)}})});if(site_ads){fqtag.fscmd.push(function(){if(window.matchMedia(\"(max-width: 768px)\").matches){var _revup_ads_s=document.createElement(\"script\");_revup_ads_s.async=!0;_revup_ads_s.src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8869236030709278\";_revup_ads_s.crossOrigin=\"anonymous\";document.head.appendChild(_revup_ads_s)}})}\nswitch(ibtmedia_device){case \"mobile\":if(site_ads){fqtag.fscmd.push(function(){var d=document,o=d.getElementById('discussion'),i,s;if(o){i=d.createElement('div');s=d.createElement('script');s.src='//jsc.mgid.com/site/703692.js';i.appendChild(s);o.parentNode.insertBefore(i,o)}\nconst widgetDiv=document.createElement('div');widgetDiv.setAttribute('data-type','_mgwidget');widgetDiv.setAttribute('data-widget-id','1605480');o.parentNode.insertBefore(widgetDiv,o);(function(w,q){w[q]=w[q]||[];w[q].push([\"_mgc.load\"])})(window,\"_mgq\")})}\nbreak;case \"tablet\":if(site_ads){fqtag.fscmd.push(function(){var d=document,o=d.getElementById('discussion'),i,s;if(o){i=d.createElement('div');s=d.createElement('script');s.src='//jsc.mgid.com/site/703692.js';i.appendChild(s);o.parentNode.insertBefore(i,o)}\nconst widgetDiv=document.createElement('div');widgetDiv.setAttribute('data-type','_mgwidget');widgetDiv.setAttribute('data-widget-id','1676512');o.parentNode.insertBefore(widgetDiv,o);(function(w,q){w[q]=w[q]||[];w[q].push([\"_mgc.load\"])})(window,\"_mgq\")})}\nbreak;default:if(site_ads){fqtag.fscmd.push(function(){var d=document,o=d.getElementById('discussion'),i,s;if(o){i=d.createElement('div');s=d.createElement('script');s.src='//jsc.mgid.com/site/703692.js';i.appendChild(s);o.parentNode.insertBefore(i,o)}\nconst widgetDiv=document.createElement('div');widgetDiv.setAttribute('data-type','_mgwidget');widgetDiv.setAttribute('data-widget-id','1676512');o.parentNode.insertBefore(widgetDiv,o);(function(w,q){w[q]=w[q]||[];w[q].push([\"_mgc.load\"])})(window,\"_mgq\")})}}</script>  <script>function loadGA4(){LJ(\"https://www.googletagmanager.com/gtag/js?id=G-5CL8P7BCPM\")}\nif(window.sirdata)LJ_CMP('loadGA4');else loadGA4();var gtag=function(){dataLayer.push(arguments)},getPvP=function(oo){var obj={ad_blocker:adBlock,page_type:oo.page_type||'',ads:oo.advertisement||\"U\",ivt_fq:NoPassFQ};if(oo.section)obj.section=oo.section;if(oo.writer)obj.author=oo.writer;if(oo.searchTerms)obj.search_terms=oo.searchTerms;if(oo.articleId)obj.article_id=oo.articleId;if(oo.topics)obj.topics=oo.topics;if(oo.video)obj.video=oo.video;if(oo.video_type)obj.video_type=oo.video_type;if(oo.VideoABTest)obj.video_abtest=oo.VideoABTest;if(oo.content_channel)obj.content_channel=oo.content_channel;if(oo.hot_keywords)obj.hot_keywords=oo.hot_keywords;if(oo.source)obj.article_source=oo.source;if(oo.paragraphs)obj.paragraphs=oo.paragraphs;if(oo.content_src)obj.content_src;if(oo.contributor&&oo.accountId)obj.contributor=oo.accountId;if(window.nextcta_layout)obj.ab_test=window.nextcta_layout;return obj};gtag('js',new Date());gtag('config','G-5CL8P7BCPM',getPvP(oa.pageinfo))</script> <div style=\"display:none;\">\n<img alt=\"Real Time Analytics\" src=\"//static.getclicky.com/media/links/badge.gif\" border=\"0\" /> <script type=\"text/javascript\">var clicky_custom={href:location.href,title:oa.pageinfo.articleTitle||''};clicky_custom.outbound_disable=1;clicky_custom.video_disable=1</script> <script src=\"//static.getclicky.com/js\" type=\"text/javascript\"></script> <script type=\"text/javascript\">try{ stat_track=true;if(typeof cfvbt!='undefined' && cfvbt){stat_track=false;console.log('cfvbt ck:'+cfvbt);}if(stat_track){clicky.init(100661543);} }catch(e){}</script> <noscript><p><img alt=\"Clicky\" width=\"1\" height=\"1\" src=\"//in.getclicky.com/100661543ns.gif\" /></p></noscript></div> <script>var _comscore=_comscore||[];_comscore.push({c1:\"2\",c2:\"19747886\"});(function(){var s=document.createElement(\"script\"),el=document.getElementsByTagName(\"script\")[0];s.async=!0;s.src=(document.location.protocol==\"https:\"?\"https://sb\":\"http://b\")+\".scorecardresearch.com/beacon.js\";el.parentNode.insertBefore(s,el)})()</script> <noscript><img alt=\"pixel\" src=\"//b.scorecardresearch.com/p?c1=2&c2=19747886&cv=2.0&cj=1\" /></noscript> <script>var stat_track=!0;window._qevents=window._qevents||[];(function(){var elem=document.createElement('script');elem.src=(document.location.protocol==\"https:\"?\"https://secure\":\"http://edge\")+\".quantserve.com/quant.js\";elem.async=!0;elem.type=\"text/javascript\";var scpt=document.getElementsByTagName('script')[0];scpt.parentNode.insertBefore(elem,scpt)})();window._qevents.push({qacct:\"p-LfaarYPdxYFdP\",uid:\"webmaster@techtimes.com\"})</script> <noscript><div style=\"display:none;\"><img src=\"//pixel.quantserve.com/pixel/p-LfaarYPdxYFdP.gif\" border=\"0\" height=\"1\" width=\"1\" alt=\"Quantcast\"/></div></noscript> <script src=\"https://cdn.usefathom.com/script.js\" data-site=\"JFJDSEIJ\" defer></script> </body></html>","snapshot_chars":343828,"live_check":"changed"}]}