{"owner":"ampproject","repo":"amphtml","hasSkills":true,"totalSkillsCount":518,"totalTokensCount":174959,"categories":["anthropic-skill","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["extensions/amp-3q-player/amp-3q-player.md","extensions/README.md","extensions/amp-a4a/rtc-documentation.md","extensions/amp-3d-gltf/amp-3d-gltf.md","extensions/amp-a4a/refresh.md","extensions/amp-a4a/rtc-publisher-implementation-guide.md","extensions/amp-access-fewcents/amp-access-fewcents.md","extensions/amp-access-scroll/amp-access-scroll.md","extensions/amp-access-laterpay/amp-access-laterpay.md","extensions/amp-access-poool/amp-access-poool.md","extensions/amp-access/amp-access-analytics.md","extensions/amp-access/amp-access.md","extensions/amp-accordion/amp-accordion.md","extensions/amp-action-macro/amp-action-macro.md","extensions/amp-ad-exit/amp-ad-exit.md","extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md","extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md","extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md","extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md","extensions/amp-ad-network-doubleclick-impl/amp-consent.md","extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md","extensions/amp-ad-network-doubleclick-impl/fluid.md","extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md","extensions/amp-ad-network-doubleclick-impl/multi-size.md","extensions/amp-ad-network-doubleclick-impl/refresh.md","extensions/amp-ad-network-doubleclick-impl/render-on-idle.md","extensions/amp-ad-network-doubleclick-impl/safeframe.md","extensions/amp-ad-network-doubleclick-impl/single-page-ad.md","extensions/amp-ad-network-doubleclick-impl/sra.md","extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md","extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md","extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md","extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md","extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md","extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md","extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md","extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md","extensions/amp-ad/amp-ad.md","extensions/amp-addthis/amp-addthis.md","extensions/amp-analytics/amp-analytics.md","extensions/amp-analytics/amp-components-analytics.md","extensions/amp-analytics/amp-video-analytics.md","extensions/amp-analytics/analytics-vars.md","extensions/amp-analytics/analytics-vendors-list.md","extensions/amp-analytics/integrating-analytics.md","extensions/amp-analytics/linker-id-forwarding.md","extensions/amp-analytics/linker-id-receiving.md","extensions/amp-analytics/why-not-iframe.md","extensions/amp-anim/amp-anim.md","extensions/amp-animation/amp-animation.md","extensions/amp-apester-media/amp-apester-media.md","extensions/amp-app-banner/amp-app-banner.md","extensions/amp-audio/amp-audio.md","extensions/amp-auto-ads/amp-auto-ads.md","extensions/amp-autocomplete/amp-autocomplete.md","extensions/amp-base-carousel/amp-base-carousel.md","extensions/amp-beopinion/amp-beopinion.md","extensions/amp-bind/amp-bind.md","extensions/amp-bodymovin-animation/amp-bodymovin-animation.md","extensions/amp-brid-player/amp-brid-player.md","extensions/amp-brightcove/amp-brightcove.md","extensions/amp-byside-content/amp-byside-content.md","extensions/amp-cache-url/README.md","extensions/amp-call-tracking/amp-call-tracking.md","extensions/amp-carousel/amp-carousel-analytics.md","extensions/amp-carousel/amp-carousel.md","extensions/amp-connatix-player/amp-connatix-player.md","extensions/amp-consent/amp-consent.md","extensions/amp-consent/customizing-extension-behaviors-on-consent.md","extensions/amp-consent/integrating-consent.md","extensions/amp-dailymotion/amp-dailymotion.md","extensions/amp-date-countdown/amp-date-countdown.md","extensions/amp-date-display/amp-date-display.md","extensions/amp-date-picker/amp-date-picker.md","extensions/amp-delight-player/amp-delight-player.md","extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md","extensions/amp-embedly-card/amp-embedly-card.md","extensions/amp-experiment/amp-experiment.md","extensions/amp-facebook-comments/amp-facebook-comments.md","extensions/amp-facebook-like/amp-facebook-like.md","extensions/amp-facebook-page/amp-facebook-page.md","extensions/amp-facebook/amp-facebook.md","extensions/amp-fit-text/amp-fit-text.md","extensions/amp-font/amp-font.md","extensions/amp-form/amp-form.md","extensions/amp-fx-collection/amp-fx-collection.md","extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md","extensions/amp-geo/amp-geo.md","extensions/amp-gfycat/amp-gfycat.md","extensions/amp-gist/amp-gist.md","extensions/amp-google-document-embed/amp-google-document-embed.md","extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md","extensions/amp-hulu/amp-hulu.md","extensions/amp-iframe/amp-iframe-vs-native-iframe.md","extensions/amp-iframe/amp-iframe.md","extensions/amp-iframely/OWNERS.yaml","extensions/amp-iframely/amp-iframely.md","extensions/amp-ima-video/amp-ima-video.md","extensions/amp-ima-video/consent-blocking.md","extensions/amp-image-lightbox/amp-image-lightbox.md","extensions/amp-imgur/amp-imgur.md","extensions/amp-inline-gallery/amp-inline-gallery.md","extensions/amp-inputmask/amp-inputmask.md","extensions/amp-instagram/amp-instagram.md","extensions/amp-install-serviceworker/amp-install-serviceworker.md","extensions/amp-izlesene/amp-izlesene.md","extensions/amp-jwplayer/amp-jwplayer.md","extensions/amp-kaltura-player/amp-kaltura-player.md","extensions/amp-lightbox-gallery/amp-lightbox-gallery.md","extensions/amp-lightbox/amp-lightbox.md","extensions/amp-link-rewriter/amp-link-rewriter.md","extensions/amp-list/amp-list.md","extensions/amp-live-list/amp-live-list-server-side-filtering.md","extensions/amp-live-list/amp-live-list.md","extensions/amp-loader/README.md","extensions/amp-mathml/amp-mathml.md","extensions/amp-mega-menu/amp-mega-menu.md","extensions/amp-megaphone/amp-megaphone.md","extensions/amp-minute-media-player/amp-minute-media-player.md","extensions/amp-mowplayer/amp-mowplayer.md","extensions/amp-mraid/amp-mraid.md","extensions/amp-mustache/amp-mustache.md","extensions/amp-nested-menu/amp-nested-menu.md","extensions/amp-next-page/amp-next-page.md","extensions/amp-nexxtv-player/amp-nexxtv-player.md","extensions/amp-o2-player/amp-o2-player.md","extensions/amp-onetap-google/amp-onetap-google.md","extensions/amp-ooyala-player/amp-ooyala-player.md","extensions/amp-orientation-observer/amp-orientation-observer.md","extensions/amp-pan-zoom/amp-pan-zoom.md","extensions/amp-pinterest/amp-pinterest.md","extensions/amp-playbuzz/amp-playbuzz.md","extensions/amp-position-observer/amp-position-observer.md","extensions/amp-powr-player/amp-powr-player.md","extensions/amp-reach-player/amp-reach-player.md","extensions/amp-recaptcha-input/amp-recaptcha-input.md","extensions/amp-reddit/amp-reddit.md","extensions/amp-render/amp-render.md","extensions/amp-riddle-quiz/amp-riddle-quiz.md","extensions/amp-script/amp-script.md","extensions/amp-selector/amp-selector.md","extensions/amp-sidebar/amp-sidebar.md","extensions/amp-skimlinks/amp-skimlinks.md","extensions/amp-slides/amp-slides-deprecated.md","extensions/amp-slikeplayer/amp-slikeplayer.md","extensions/amp-smartlinks/amp-smartlinks.md","extensions/amp-social-share/amp-social-share.md","extensions/amp-soundcloud/amp-soundcloud.md","extensions/amp-springboard-player/amp-springboard-player.md","extensions/amp-standalone/README.md","extensions/amp-sticky-ad/amp-sticky-ad.md","extensions/amp-story-audio-sticker/amp-story-audio-sticker.md","extensions/amp-story-auto-ads/amp-story-auto-ads.md","extensions/amp-story-auto-ads/publisher-served-ads.md","extensions/amp-story-auto-analytics/amp-story-auto-analytics.md","extensions/amp-story-dev-tools/amp-story-dev-tools.md","extensions/amp-story-education/amp-story-education.md","extensions/amp-story-interactive/README.md","extensions/amp-story-interactive/amp-story-interactive.md","extensions/amp-story-panning-media/amp-story-panning-media.md","extensions/amp-story/amp-story-ads.md","extensions/amp-story/amp-story-analytics.md","extensions/amp-story/amp-story-animation.md","extensions/amp-story/amp-story-auto-ads.md","extensions/amp-story/amp-story-cta-layer.md","extensions/amp-story/amp-story-grid-layer.md","extensions/amp-story/amp-story-page-attachment.md","extensions/amp-story/amp-story-page-outlink.md","extensions/amp-story/amp-story-page.md","extensions/amp-story/amp-story.md","extensions/amp-story/embed-modes.md","extensions/amp-stream-gallery/amp-stream-gallery.md","extensions/amp-subscriptions-google/amp-subscriptions-google.md","extensions/amp-subscriptions/amp-subscriptions.md","extensions/amp-tiktok/amp-tiktok.md","extensions/amp-timeago/amp-timeago.md","extensions/amp-truncate-text/amp-truncate-text.md","extensions/amp-twitter/amp-twitter.md","extensions/amp-user-notification/amp-user-notification.md","extensions/amp-video-docking/amp-video-docking.md","extensions/amp-video-iframe/amp-video-iframe.md","extensions/amp-video/amp-video.md","extensions/amp-viewer-integration/CAPABILITIES.md","extensions/amp-viewer-integration/TICKEVENTS.md","extensions/amp-viewer-integration/amp-doc-viewer-api.md","extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md","extensions/amp-vimeo/amp-vimeo.md","extensions/amp-vine/amp-vine.md","extensions/amp-viqeo-player/amp-viqeo-player.md","extensions/amp-vk/amp-vk.md","extensions/amp-web-push/amp-web-push.md","extensions/amp-wistia-player/amp-wistia-player.md","extensions/amp-wordpress-embed/amp-wordpress-embed.md","extensions/amp-yotpo/amp-yotpo.md","extensions/amp-youtube/amp-youtube.md","tools/experiments/README.md","extensions/amp-accordion/0.1/amp-accordion.md","extensions/amp-accordion/1.0/README.md","extensions/amp-base-carousel/0.1/amp-base-carousel.md","extensions/amp-base-carousel/1.0/README.md","extensions/amp-carousel/0.1/amp-carousel.md","extensions/amp-carousel/0.1/tsconfig.json","extensions/amp-consent/cmps/_ping_.md","extensions/amp-consent/cmps/appconsent.md","extensions/amp-consent/cmps/consentmanager.md","extensions/amp-consent/cmps/didomi.md","extensions/amp-consent/cmps/googlefc.md","extensions/amp-consent/cmps/iubenda.md","extensions/amp-consent/cmps/liveramp.md","extensions/amp-consent/cmps/marfeel.md","extensions/amp-consent/cmps/ogury.md","extensions/amp-consent/cmps/onetrust.md","extensions/amp-consent/cmps/opencmp.md","extensions/amp-consent/cmps/pubtech.md","extensions/amp-consent/cmps/quantcast.md","extensions/amp-consent/cmps/sirdata.md","extensions/amp-consent/cmps/sourcepoint.md","extensions/amp-consent/cmps/uniconsent.md","extensions/amp-consent/cmps/usercentrics.md","extensions/amp-date-countdown/0.1/amp-date-countdown.md","extensions/amp-date-countdown/1.0/README.md","extensions/amp-date-display/0.1/amp-date-display.md","extensions/amp-date-display/1.0/README.md","extensions/amp-embedly-card/0.1/amp-embedly-card.md","extensions/amp-embedly-card/1.0/README.md","extensions/amp-facebook/0.1/amp-facebook.md","extensions/amp-facebook/1.0/README.md","extensions/amp-fit-text/0.1/amp-fit-text.md","extensions/amp-fit-text/1.0/README.md","extensions/amp-gist/1.0/README.md","extensions/amp-iframe/0.1/amp-iframe.md","extensions/amp-iframe/1.0/README.md","extensions/amp-image-slider/0.1/amp-image-slider.md","extensions/amp-image-slider/1.0/amp-image-slider.md","extensions/amp-inline-gallery/0.1/amp-inline-gallery.md","extensions/amp-inline-gallery/1.0/README.md","extensions/amp-instagram/0.1/amp-instagram.md","extensions/amp-instagram/1.0/README.md","extensions/amp-jwplayer/1.0/README.md","extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md","extensions/amp-lightbox-gallery/1.0/README.md","extensions/amp-lightbox/0.1/amp-lightbox.md","extensions/amp-lightbox/1.0/README.md","extensions/amp-mathml/0.1/amp-mathml.md","extensions/amp-mathml/1.0/README.md","extensions/amp-next-page/0.1/amp-next-page.md","extensions/amp-selector/0.1/amp-selector.md","extensions/amp-selector/1.0/README.md","extensions/amp-sidebar/0.1/amp-sidebar.md","extensions/amp-sidebar/1.0/README.md","extensions/amp-social-share/0.1/amp-social-share.md","extensions/amp-social-share/1.0/README.md","extensions/amp-soundcloud/0.1/amp-soundcloud.md","extensions/amp-soundcloud/1.0/README.md","extensions/amp-story-360/0.1/amp-story-360.md","extensions/amp-story-captions/0.1/amp-story-captions.md","extensions/amp-story-interactive/0.1/disclaimer-backends-list.json","extensions/amp-story-player/0.1/amp-story-player.md","extensions/amp-story-shopping/0.1/amp-story-shopping.md","extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md","extensions/amp-story/1.0/media-pool.md","extensions/amp-stream-gallery/1.0/README.md","extensions/amp-timeago/0.1/amp-timeago.md","extensions/amp-timeago/1.0/README.md","extensions/amp-twitter/0.1/amp-twitter.md","extensions/amp-twitter/1.0/README.md","extensions/amp-video/0.1/amp-video.md","extensions/amp-wordpress-embed/1.0/README.md","extensions/amp-youtube/0.1/amp-youtube.md","extensions/amp-youtube/1.0/README.md","extensions/amp-access/0.1/iframe-api/DEVELOPING.md","extensions/amp-access/0.1/iframe-api/README.md","extensions/amp-access/0.1/iframe-api/package.json","extensions/amp-analytics/0.1/test/vendor-requests.json","extensions/amp-analytics/0.1/vendors/_fake_.json","extensions/amp-analytics/0.1/vendors/acquialift.json","extensions/amp-analytics/0.1/vendors/adobeanalytics.json","extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json","extensions/amp-analytics/0.1/vendors/adskeeper.json","extensions/amp-analytics/0.1/vendors/afsanalytics.json","extensions/amp-analytics/0.1/vendors/alexametrics.json","extensions/amp-analytics/0.1/vendors/amplitude.json","extensions/amp-analytics/0.1/vendors/appsflyer.json","extensions/amp-analytics/0.1/vendors/atinternet.json","extensions/amp-analytics/0.1/vendors/baiduanalytics.json","extensions/amp-analytics/0.1/vendors/bg.canary.json","extensions/amp-analytics/0.1/vendors/bg.json","extensions/amp-analytics/0.1/vendors/blackcrowai.json","extensions/amp-analytics/0.1/vendors/blueconic.json","extensions/amp-analytics/0.1/vendors/bluetriangle.json","extensions/amp-analytics/0.1/vendors/browsi.json","extensions/amp-analytics/0.1/vendors/burt.json","extensions/amp-analytics/0.1/vendors/byside.json","extensions/amp-analytics/0.1/vendors/captainmetrics.json","extensions/amp-analytics/0.1/vendors/chartbeat.json","extensions/amp-analytics/0.1/vendors/clicky.json","extensions/amp-analytics/0.1/vendors/colanalytics.json","extensions/amp-analytics/0.1/vendors/comscore.json","extensions/amp-analytics/0.1/vendors/cxense.json","extensions/amp-analytics/0.1/vendors/deepbi.json","extensions/amp-analytics/0.1/vendors/epica.json","extensions/amp-analytics/0.1/vendors/euleriananalytics.json","extensions/amp-analytics/0.1/vendors/facebookpixel.json","extensions/amp-analytics/0.1/vendors/gemius.json","extensions/amp-analytics/0.1/vendors/gfksensic.json","extensions/amp-analytics/0.1/vendors/googleadwords.json","extensions/amp-analytics/0.1/vendors/googleanalytics.json","extensions/amp-analytics/0.1/vendors/gtag.json","extensions/amp-analytics/0.1/vendors/ibeatanalytics.json","extensions/amp-analytics/0.1/vendors/idealmedia.json","extensions/amp-analytics/0.1/vendors/infonline.json","extensions/amp-analytics/0.1/vendors/infonline_anonymous.json","extensions/amp-analytics/0.1/vendors/infonline_base.json","extensions/amp-analytics/0.1/vendors/iplabel.json","extensions/amp-analytics/0.1/vendors/keen.json","extensions/amp-analytics/0.1/vendors/kenshoo.json","extensions/amp-analytics/0.1/vendors/krux.json","extensions/amp-analytics/0.1/vendors/linkpulse.json","extensions/amp-analytics/0.1/vendors/lotame.json","extensions/amp-analytics/0.1/vendors/mapp_intelligence.json","extensions/amp-analytics/0.1/vendors/marinsoftware.json","extensions/amp-analytics/0.1/vendors/mediametrie.json","extensions/amp-analytics/0.1/vendors/mediarithmics.json","extensions/amp-analytics/0.1/vendors/mediator.json","extensions/amp-analytics/0.1/vendors/memo.json","extensions/amp-analytics/0.1/vendors/metrika.json","extensions/amp-analytics/0.1/vendors/mgid.json","extensions/amp-analytics/0.1/vendors/moat.json","extensions/amp-analytics/0.1/vendors/mobify.json","extensions/amp-analytics/0.1/vendors/moengage.json","extensions/amp-analytics/0.1/vendors/mparticle.json","extensions/amp-analytics/0.1/vendors/mpulse.json","extensions/amp-analytics/0.1/vendors/navegg.json","extensions/amp-analytics/0.1/vendors/neodata.json","extensions/amp-analytics/0.1/vendors/newrelic.json","extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json","extensions/amp-analytics/0.1/vendors/nielsen.json","extensions/amp-analytics/0.1/vendors/oewa.json","extensions/amp-analytics/0.1/vendors/oewadirect.json","extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json","extensions/amp-analytics/0.1/vendors/parsely.json","extensions/amp-analytics/0.1/vendors/permutive-ampscript.json","extensions/amp-analytics/0.1/vendors/permutive.json","extensions/amp-analytics/0.1/vendors/piStats.json","extensions/amp-analytics/0.1/vendors/piano.json","extensions/amp-analytics/0.1/vendors/pinpoll.json","extensions/amp-analytics/0.1/vendors/ppasanalytics.json","extensions/amp-analytics/0.1/vendors/pressboard.json","extensions/amp-analytics/0.1/vendors/quantcast.json","extensions/amp-analytics/0.1/vendors/rakam.json","extensions/amp-analytics/0.1/vendors/reppublika.json","extensions/amp-analytics/0.1/vendors/retargetly.json","extensions/amp-analytics/0.1/vendors/rudderstack.json","extensions/amp-analytics/0.1/vendors/segment.json","extensions/amp-analytics/0.1/vendors/sensorsanalytics.json","extensions/amp-analytics/0.1/vendors/shinystat.json","extensions/amp-analytics/0.1/vendors/snowplow.json","extensions/amp-analytics/0.1/vendors/snowplow_v2.json","extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json","extensions/amp-analytics/0.1/vendors/taboola.json","extensions/amp-analytics/0.1/vendors/tail.json","extensions/amp-analytics/0.1/vendors/teaanalytics.json","extensions/amp-analytics/0.1/vendors/tealiumcollect.json","extensions/amp-analytics/0.1/vendors/top100.json","extensions/amp-analytics/0.1/vendors/topmailru.json","extensions/amp-analytics/0.1/vendors/treasuredata.json","extensions/amp-analytics/0.1/vendors/tribooanalytics.json","extensions/amp-analytics/0.1/vendors/umenganalytics.json","extensions/amp-analytics/0.1/vendors/upscore.json","extensions/amp-analytics/0.1/vendors/vponanalytics.json","extensions/amp-analytics/0.1/vendors/webengage.json","extensions/amp-analytics/0.1/vendors/webtrekk.json","extensions/amp-analytics/0.1/vendors/webtrekk_v2.json","extensions/amp-story-auto-ads/0.1/_locales/af.json","extensions/amp-story-auto-ads/0.1/_locales/am.json","extensions/amp-story-auto-ads/0.1/_locales/ar.json","extensions/amp-story-auto-ads/0.1/_locales/bg.json","extensions/amp-story-auto-ads/0.1/_locales/bn.json","extensions/amp-story-auto-ads/0.1/_locales/bs.json","extensions/amp-story-auto-ads/0.1/_locales/ca.json","extensions/amp-story-auto-ads/0.1/_locales/cs.json","extensions/amp-story-auto-ads/0.1/_locales/da.json","extensions/amp-story-auto-ads/0.1/_locales/de.json","extensions/amp-story-auto-ads/0.1/_locales/el.json","extensions/amp-story-auto-ads/0.1/_locales/en-GB.json","extensions/amp-story-auto-ads/0.1/_locales/en.json","extensions/amp-story-auto-ads/0.1/_locales/es-419.json","extensions/amp-story-auto-ads/0.1/_locales/es.json","extensions/amp-story-auto-ads/0.1/_locales/et.json","extensions/amp-story-auto-ads/0.1/_locales/eu.json","extensions/amp-story-auto-ads/0.1/_locales/fa.json","extensions/amp-story-auto-ads/0.1/_locales/fi.json","extensions/amp-story-auto-ads/0.1/_locales/fil.json","extensions/amp-story-auto-ads/0.1/_locales/fr.json","extensions/amp-story-auto-ads/0.1/_locales/gl.json","extensions/amp-story-auto-ads/0.1/_locales/gu.json","extensions/amp-story-auto-ads/0.1/_locales/hi.json","extensions/amp-story-auto-ads/0.1/_locales/hr.json","extensions/amp-story-auto-ads/0.1/_locales/hu.json","extensions/amp-story-auto-ads/0.1/_locales/id.json","extensions/amp-story-auto-ads/0.1/_locales/is.json","extensions/amp-story-auto-ads/0.1/_locales/it.json","extensions/amp-story-auto-ads/0.1/_locales/iw.json","extensions/amp-story-auto-ads/0.1/_locales/ja.json","extensions/amp-story-auto-ads/0.1/_locales/ka.json","extensions/amp-story-auto-ads/0.1/_locales/km.json","extensions/amp-story-auto-ads/0.1/_locales/kn.json","extensions/amp-story-auto-ads/0.1/_locales/ko.json","extensions/amp-story-auto-ads/0.1/_locales/lo.json","extensions/amp-story-auto-ads/0.1/_locales/lt.json","extensions/amp-story-auto-ads/0.1/_locales/lv.json","extensions/amp-story-auto-ads/0.1/_locales/mk.json","extensions/amp-story-auto-ads/0.1/_locales/ml.json","extensions/amp-story-auto-ads/0.1/_locales/mn.json","extensions/amp-story-auto-ads/0.1/_locales/mr.json","extensions/amp-story-auto-ads/0.1/_locales/ms.json","extensions/amp-story-auto-ads/0.1/_locales/my.json","extensions/amp-story-auto-ads/0.1/_locales/ne.json","extensions/amp-story-auto-ads/0.1/_locales/nl.json","extensions/amp-story-auto-ads/0.1/_locales/no.json","extensions/amp-story-auto-ads/0.1/_locales/pa.json","extensions/amp-story-auto-ads/0.1/_locales/pl.json","extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json","extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json","extensions/amp-story-auto-ads/0.1/_locales/ro.json","extensions/amp-story-auto-ads/0.1/_locales/ru.json","extensions/amp-story-auto-ads/0.1/_locales/si.json","extensions/amp-story-auto-ads/0.1/_locales/sk.json","extensions/amp-story-auto-ads/0.1/_locales/sl.json","extensions/amp-story-auto-ads/0.1/_locales/sq.json","extensions/amp-story-auto-ads/0.1/_locales/sr.json","extensions/amp-story-auto-ads/0.1/_locales/sv.json","extensions/amp-story-auto-ads/0.1/_locales/sw.json","extensions/amp-story-auto-ads/0.1/_locales/ta.json","extensions/amp-story-auto-ads/0.1/_locales/te.json","extensions/amp-story-auto-ads/0.1/_locales/th.json","extensions/amp-story-auto-ads/0.1/_locales/tr.json","extensions/amp-story-auto-ads/0.1/_locales/uk.json","extensions/amp-story-auto-ads/0.1/_locales/ur.json","extensions/amp-story-auto-ads/0.1/_locales/vi.json","extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json","extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json","extensions/amp-story-auto-ads/0.1/_locales/zu.json","extensions/amp-story/1.0/_locales/README.md","extensions/amp-story/1.0/_locales/af.json","extensions/amp-story/1.0/_locales/am.json","extensions/amp-story/1.0/_locales/ar.json","extensions/amp-story/1.0/_locales/bg.json","extensions/amp-story/1.0/_locales/bn.json","extensions/amp-story/1.0/_locales/bs.json","extensions/amp-story/1.0/_locales/ca.json","extensions/amp-story/1.0/_locales/cs.json","extensions/amp-story/1.0/_locales/da.json","extensions/amp-story/1.0/_locales/de.json","extensions/amp-story/1.0/_locales/el.json","extensions/amp-story/1.0/_locales/en-GB.json","extensions/amp-story/1.0/_locales/en.json","extensions/amp-story/1.0/_locales/es-419.json","extensions/amp-story/1.0/_locales/es.json","extensions/amp-story/1.0/_locales/et.json","extensions/amp-story/1.0/_locales/eu.json","extensions/amp-story/1.0/_locales/fa.json","extensions/amp-story/1.0/_locales/fi.json","extensions/amp-story/1.0/_locales/fil.json","extensions/amp-story/1.0/_locales/fr.json","extensions/amp-story/1.0/_locales/gl.json","extensions/amp-story/1.0/_locales/gu.json","extensions/amp-story/1.0/_locales/hi.json","extensions/amp-story/1.0/_locales/hr.json","extensions/amp-story/1.0/_locales/hu.json","extensions/amp-story/1.0/_locales/id.json","extensions/amp-story/1.0/_locales/is.json","extensions/amp-story/1.0/_locales/it.json","extensions/amp-story/1.0/_locales/iw.json","extensions/amp-story/1.0/_locales/ja.json","extensions/amp-story/1.0/_locales/ka.json","extensions/amp-story/1.0/_locales/km.json","extensions/amp-story/1.0/_locales/kn.json","extensions/amp-story/1.0/_locales/ko.json","extensions/amp-story/1.0/_locales/lo.json","extensions/amp-story/1.0/_locales/lt.json","extensions/amp-story/1.0/_locales/lv.json","extensions/amp-story/1.0/_locales/mk.json","extensions/amp-story/1.0/_locales/ml.json","extensions/amp-story/1.0/_locales/mn.json","extensions/amp-story/1.0/_locales/mr.json","extensions/amp-story/1.0/_locales/ms.json","extensions/amp-story/1.0/_locales/my.json","extensions/amp-story/1.0/_locales/ne.json","extensions/amp-story/1.0/_locales/nl.json","extensions/amp-story/1.0/_locales/no.json","extensions/amp-story/1.0/_locales/pa.json","extensions/amp-story/1.0/_locales/pl.json","extensions/amp-story/1.0/_locales/pt-BR.json","extensions/amp-story/1.0/_locales/pt-PT.json","extensions/amp-story/1.0/_locales/ro.json","extensions/amp-story/1.0/_locales/ru.json","extensions/amp-story/1.0/_locales/si.json","extensions/amp-story/1.0/_locales/sk.json","extensions/amp-story/1.0/_locales/sl.json","extensions/amp-story/1.0/_locales/sq.json","extensions/amp-story/1.0/_locales/sr.json","extensions/amp-story/1.0/_locales/sv.json","extensions/amp-story/1.0/_locales/sw.json","extensions/amp-story/1.0/_locales/ta.json","extensions/amp-story/1.0/_locales/te.json","extensions/amp-story/1.0/_locales/th.json","extensions/amp-story/1.0/_locales/tr.json","extensions/amp-story/1.0/_locales/uk.json","extensions/amp-story/1.0/_locales/ur.json","extensions/amp-story/1.0/_locales/vi.json","extensions/amp-story/1.0/_locales/zh-CN.json","extensions/amp-story/1.0/_locales/zh-TW.json","extensions/amp-story/1.0/_locales/zu.json","extensions/amp-viewer-integration/0.1/messaging/README.md","extensions/amp-viewer-integration/0.1/messaging/package.json","extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json","build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md"],"skills":{"extensions/amp-3q-player/amp-3q-player.md":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Embeds videos from 3Q SDN.\n---\n\n# amp-3q-player\n\nEnables AMP to embed videos from 3Q SDN into your websites.\n\n## Usage\n\nThe `amp-3q-player` component embeds videos from 3Q SDN onto an AMP page. The\ncomponent includes a video interface, and you can customize the `width` and\n`height` of the player. Specify a `responsive` layout to maintain a 16:9 video\naspect ratio.\n\n### Example\n\n```html\n<amp-3q-player\n  data-id=\"c8dbe7f4-7f7f-11e6-a407-0cc47a188158\"\n  layout=\"responsive\"\n  width=\"480\"\n  height=\"270\"\n></amp-3q-player>\n```\n\n## Attributes\n\n### data-id\n\nThe `data-id` attribute specifies the appropriate `sdnPlayoutId` from 3Q SDN.\n\n### autoplay (optional)\n\nIf the `autoplay` attribute is present, and the browser supports autoplay, the\nfollowing behaviors are enabled:\n\n-   The video automatically mutes before autoplay starts.\n-   When the user scrolls the video out of view, the video pauses.\n-   When the user scrolls the video into view, the video resumes.\n-   The video unmutes when the user taps it.\n\nIf the user interacts with the video and then scrolls it into or out of view,\nthe state of the video remains the same. For example, if the user pauses the\nvideo, scrolls the video out of view and then scrolls back up to it, the video\nremains paused.\n\n### Common attributes\n\nThe `amp-3q-player` component includes the [common attributes](https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes)\nthat are extended to all AMP components.\n\n## Validation\n\nSee [amp-3q-player rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3q-player/validator-amp-3q-player.protoascii)\nin the AMP validator specification.\n","extensions/README.md":"# AMP HTML Extensions\n\nAMP Extensions are either extended components or extended templates.\n\n## AMP HTML Extended Components\n\nExtended components must be explicitly included into the document as custom elements.\n\nFor example, to include a YouTube video in your page\ninclude the following script in the `<head>`:\n\n```html\n<script\n  async\n  custom-element=\"amp-youtube\"\n  src=\"https://cdn.ampproject.org/v0/amp-youtube-0.1.js\"\n></script>\n```\n\n## Current list of components\n\nSee the [Components](https://www.ampproject.org/docs/reference/components) list.\n\n## AMP HTML Extended Templates\n\nSee the [AMP template spec](../docs/spec/amp-html-templates.md) for details about supported templates.\n","extensions/amp-a4a/rtc-documentation.md":"# AMP Real Time Config\n\n## Objective\n\nFor AMP Fast Fetch, support publisher-specified, multiple, simultaneous callouts in order to augment targeting information included in the ad request.\n\n## Background\n\nRemote HTML support was added for Delayed Fetch to support first-party cookie targeting. This was because AMP does not allow custom JavaScript, and pages served from the AMP cache are identical for each user. However, Remote HTML leverages the fact that custom JavaScript execution occurs as a part of generating an ad request via Delayed Fetch. Fast Fetch allows for sending the ad request early by moving all code related to ad generation within the AMP runtime, disallowing any custom JavaScript as part of ad request creation. Therefore Fast Fetch is incompatible with Remote HTML. Real Time Config (RTC) has been added as an optional feature of Fast Fetch to allow for publishers to add user-targeting information to ad requests from AMP pages in a generic way that can be utilized by any ad networks, and any user-targeting vendors. Common use cases for RTC are to retrieve 1st party or 3rd party data, or to integrate 3rd party demand, also known as Header Bidding.\n\n## Overview\n\nThe design of RTC is per-slot, with a **maximum of 5 parallel callouts allowed per slot**. RTC is usable by any Fast Fetch network implementation. Call-outs for all slots will be sent as soon as possible. There are two different types of callouts that will be supported:\n\n### Custom URL callout\n\nThe publisher specifies a custom URL that should be called out to. For example, a publisher may specify their own targeting server as a custom URL. If the ad network in use supports macro substitution for custom URLs, the publisher may specify macros in the URL. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\n### Vendor-specified URL Callout\n\nRTC supports call-outs to third-party vendors. For example, take VendorFooBar which provides an API service that returns similar interests when provided a given interest (i.e. \"baseball\" yields [\"sports\", \"apple-pie\"]). If VendorFooBar wants publishers to be able to use them for RTC call outs, they simply add their call-out url with built-in macros to the AMP RTC vendor registry. Then publishers specify that they want to call out to VendorFooBar, and supply the value to substitute into the macro. This gives the Vendor complete control over the actual URL, with the Publisher only needing to supply the relevant inputs. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\nIn both cases, the results of these call-outs are passed to the Fast Fetch implementations as part of ad url construction via the **`getAdUrl`** method. The ad network Fast Fetch implementation then uses results of these callouts to generate the ad URL. The semantics of how the ad network uses the RTC results to general the ad URL is specific to each individual network's implementation of Fast Fetch, so please refer to network-specific documentation for details.\n\n## Design\n\n### Per-Slot RTC Specification\n\nPublishers may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleB.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleB.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   For example, in the Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see [Vendor URL Specification](#vendor-url-specification)). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL. You may also set the value of a macro as a JSON object or array. This JSON object will be stringified automatically prior to replacement in the URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array of strings or objects.\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a `url` and an `errorReportingUrl` as URL strings. Note that all URL strings must be secure (i.e. start with HTTPS). The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the `url` within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](#rtc-error-pingback) section below for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of rtc-config are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Vendor URL Specification\n\nTo spare publishers the details of having to construct URLs for external vendors, vendors may register a URL with macros in a central file called [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js), which maps unique vendor names to an object which includes a URL and a list of allowed macros that can be substituted into `url`. Vendors may include these macros in their URLs, which publishers can then specify the value for. Additionally, vendors may specify an `errorReportingUrl`. This errorReportingUrl will be sent 1% sampled-per-page errors from callouts to their RTC endpoint. For instance:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nThe only valid strings that can be replaced for a given URL are specified by the `macros` array. In the above example, the only valid macro to replace in `https://vendor1.com/slot_id=SLOT_ID` is `\"SLOT_ID\"`.\n\nThe `macros` attribute is optional, i.e. a vendor could specify a URL that has no macros to substitute in.\n\nAdditionally, macros can be substituted in by the Fast Fetch implementation itself. The URL for a vendor will be expanded with the correct macro values prior to callout. See [URL Macro Substitution](#url-macro-substitution) section below for detailed explanation and example.\n\nThe `errorReportingUrl` property is optional. The only available macros are ERROR_TYPE and HREF. See [RTC Error Pingback](#rtc-error-pingback) section below for more information on how error reporting works.\n\n#### Currently Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   Denakop\n-   FLUX\n-   Freestar\n-   Future Plc\n-   Galaxie Media\n-   Highfivve\n-   Hubvisor\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   Navegg\n-   NewsPassID\n-   Nexx360.io\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://www.pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   Sonobi\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n### RTC Callout Request Specification\n\nRTC callout requests are sent from the AMP runtime with the following headers:\n\n-   Accept: application/JSON\n-   Origin: Whatever the origin of the page is.\n-   Referer: Referer URL\n-   User-Agent: Standard user-agent information\n\nAdditionally, query string parameters are optionally sent as per the specification of the URL.\n\nRTC requests are sent using the [fetchJson method defined in xhr-impl.js.](https://github.com/ampproject/amphtml/blob/main/src/service/xhr-impl.js#L213) For RTC, in practice this is a GET request.\n\nRTC requests are only sent to HTTPS endpoints.\n\n### RTC Callout Endpoint and Response Specification\n\nThe RTC endpoint must respond to the RTC GET request with a valid JSON object of targeting information to insert into the ad request URL. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nResponses from one RTC callout do not affect any of the other RTC callouts. All requests are independent of each other.\n\nThe RTC callout endpoint must use HTTPS. HTTP requests are forbidden.\n\nThe RTC Response to a GET request must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   **<code>{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}</code>**</strong>\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### RTC Error Pingback\n\nRTC supports sending a 1% per-page sampling of RTC errors to specified errorReportingUrl's. (I.e. 1% of pages will send RTC error pingbacks for all RTC errors that occur on that page). For any given RTC callout URL, a corresponding errorReportingUrl may be specified, which will receive pings for, and only for, errors that resulted from the associated RTC callout. For example, you can not specify one errorReportingUrl that receives batched pings for all RTC callouts from a page. The errorReportingUrl must be a secure URL that uses HTTPS.\n\nVendors may specify an errorReportingUrl within their config in callout-vendors.js, e.g.:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nFor custom URLs specified by a publisher directly on the RTC Config, they specify the errorReportingUrl by setting values in the \"url\" array as an object, instead of a string, e.g.:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              {\"url\": \"https://www.AmpPublisher.biz/targetingB\",\n               \"errorReportingUrl\": \"https://www.AmpPublisher.biz?e=ERROR_TYPE&h=HREF\"}\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nIn both cases, the requirements for an errorReportingUrl are the same:\n\n-   errorReportingUrl must use HTTPS.\n-   Response should be an empty 200.\n-   errorReportingUrl may utilize two available macros that will be substituted in:\n    -   **ERROR_TYPE** - Will be sent as an enum value that corresponds to values in `RTC_ERROR_ENUM` found in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js).\n    -   **HREF** - The actual full URL of the page. Equivalent to historical value of AMP's window.context.location.href.\n\nThe error ping will be sent by creating an image pixel in the document. See `sendErrorMessage` in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js) for implementation details.\n\n### AMP Consent Integration\n\nThe AMP-Consent extension provides publishers the ability to collect and store a user's consent through a UI control, while also providing the ability to block other AMP components based on the user's consent. See [here for documentation](https://github.com/ampproject/amphtml/blob/main/extensions/amp-consent/amp-consent.md).\n\nReal Time Config supports integration with AMP-Consent. If the AMP-consent response is neither `SUFFICIENT` nor `UNKNOWN_NOT_REQUIRED`, then by default all RTC callouts are suppressed. However, you may optionally modify this setting, to allow specific RTC callouts that should be sent regardless of the consent state. A publisher can modify this across all RTC requests for a given ad slot or on a per-RTC-callout basis. A publisher also may either permit all consent states, or only specific consent states, using the RTC Config attribute `sendRegardlessOfConsentState`.\n\nThe value of `sendRegardlessOfConsentState` should either be the boolean `true` or an array of consent policy state strings as defined in src/core/constants/consent-state.js (i.e. use the string keys, like`\"UNKNOWN\"` not its corresponding numeric value). In a case where the RTC callout would normally be supressed (for example if the AMP-consent response is `UNKNOWN`), it will instead be sent if `sendRegardlessOfConsentState` is set to boolean `true` or an array of values that contains a match for the AMP-consent state response (e.g. `['UNKNOWN']`). If set to an array, then only the values in that array (in addition to the defualt values of `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) are treated as valid.\n\nThe setting of `sendRegardlessOfConsentState` can either be done once for the entire ad slot by setting it as a top-level attribute on the RTC Config, or be done individually by setting it on any individual callouts as needed. If it is set at both the top-level and per-callout level, then if there is a mismatch, the per-callout level \"wins\". This is detailed below in the examples.\n\nHere are various examples of how to do this for any given ad slot:\n\n#### Allow all RTC callouts for all consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` at top-level to `true`, this indicates that for any consent state, all of the callouts in this RTC configuration should still be sent.\n\n#### Allow all RTC callouts for only certain consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` to an array, this indicates that only when the page consent state matches any of the consent states in the array (in this case only `UNKNOWN` in addition to the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) should all of the RTC callouts still be sent. For instance, if the page state is `INSUFFICIENT`, then none of the callout specified above will be sent. If the page state is `UNKNOWN`, then all of the callouts will be sent.\n\n#### Allow some RTC callouts in the \"url\" array\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": true},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first URL in the array \"urls\". Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to `https://www.AmpPublisher.biz/targetingA`.\n\nIs is also possible to set `sendRegardlessOfConsentState` here to an array as well, such as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\", \"INSUFFICIENT\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\n#### Allow some RTC callouts in the \"vendors\" object\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first vendor in the \"vendors\" object. Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to vendorA.\n\n#### Mixture of settings\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"INSUFFICIENT\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n               {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n              ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nIn this example, we have a mixture of various settings. In addition to all the callouts allowing the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`, VendorA is set to allow page consent-state `INSUFFICIENT`, the first url in the `urls` array only state `UNKNOWN`, and the top-level setting across all the RTC callouts is set to `true`, indicating that we should send all RTC callouts regardless of consent-state. How do we reconcile these various values? As explained above, in the case where a top-level setting and a per-callout setting disagree, the per-callout setting wins.\n\nLet's first take an example where the page consent-state is `SUFFICIENT`. This is a default allowed state, so trivially all the callouts will be sent.\n\nNext, let's take an example where the page consent-state is `UNKNOWN`. The callout to vendorA is set to allow consent-state `INSUFFICIENT`, so it will not be sent. The callouts to vendorB and vendorC do not have individual `sendRegardlessOfConsentState` settings, so the top-level setting of `true` applies to them, and they will each be sent. In the `urls` array, the first URL has an individual setting of `UNKNOWN`, which is the current state, so it will be sent. Lastly, the final url does not have an individual setting, so the top-level setting of `true` applies to it, and it will be sent.\n\n### Blocking RTC\n\nThe `block-rtc` provides a way to utilize the `<amp-geo>` component to detect user's geo location to decide if a RTC callout should be prevented. The value of `block-rtc` should be a comma delimited string of geo group codes which are defined in `<amp-geo>` (details [here](https://github.com/ampproject/amphtml/blob/main/extensions/amp-geo/amp-geo.md)). If no `<amp-geo>` element is found or no valid value for this attribute, then the RTC callout will occur as normal.\n\n```html\n<amp-ad\n  width=\"300\"\n  height=\"200\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  block-rtc=\"geoGroup1,geoGroup2\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n\n<amp-geo>\n  <script type=\"application/json\">\n    {\n      \"ISOCountryGroups\": {\n        \"geoGroup1\": [ \"preset-eea\", \"unknown\" ],\n        \"geoGroup2\": [ \"preset-us-ca\" ]\n      }\n    }\n  </script>\n</amp-geo>\n```\n\n### URL Macro Substitution\n\nRTC supports macro substitution for building callout URLs. These macros can be specified by vendors, and by Fast Fetch implementations.\n\n#### Vendor Defined Macros\n\nA vendor can specify macros for substitution in their URL. The only requirement to do this is to include text in their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) that is intended to be replaced.\n\n**Example**\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/foo?slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\n##### Example 2: Use of Vendor URLs\n\nIf a publisher wishes to callout to vendor1, then they would specify their RTC config as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor1\": {\"SLOT_ID\": \"1234\"}\n              }\n            }'\n>\n</amp-ad>\n```\n\nThe resulting RTC callout URL will then be, after macro expansion:\n\n**`https://vendor1.com/foo?slot_id=1234`**\n\n#### Fast Fetch Implementation Defined Macros\n\nIn addition to vendor-defined macros, with publishers specifying the values for substitution, there is also the ability to utilize macros defined by the Fast Fetch implementation. For example, imagine if there is a property, **fooProp,** of the element **fooEl** that is only calculated at runtime. A Fast Fetch network that wants to support optionally adding the value of fooProp to RTC callout URLs that it sends can do so by overriding the method [getCustomRealTimeConfigMacros on AmpA4a ](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/0.1/amp-a4a.js)in their Fast Fetch implementation. The method should return a mapping of macros to values or functions that resolve to a value.\n\n##### Example 3: Fast Fetch implementation defined macros\n\nFor example, Ad Network AmpAdCom overrides the property in their Fast Fetch Implementation:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    ‘FOO_PROP’: getElementById(‘fooEl’).getAttribute(‘fooProp’),\n    ‘OTHER_PROP’: ‘staticValue’\n  }\n}\n```\n\nThen, publishers and vendors alike would be able to specify the macro FOO_PROP in their URL, and the value would be substituted in at runtime by the Fast Fetch implementation.\n\n##### Vendor Macro Substitution with Fast Fetch Network Macro Substitution\n\nIt is possible for a vendor to specify macros in their URL into which the Fast Fetch implementation will substitute values, in addition to their own custom macros that the publisher may specify in the rtc-config. Take the following example:\n\n###### Example 4\n\nVendor1 wants to allow publishers to substitute in the value of the slot_id, and allow the Fast Fetch network implementation to substitute in the start time. Thus, they define their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) as follows. Note, the vendor only lists SLOT_ID in the macros array, even though SLOT_ID and START are both macros in their URL. The macros array is a list of macros that can be utilized by the publisher. Fast Fetch will always attempt to substitute in network-defined macros, regardless of whether they are defined in the macros array.\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID&start_time=START\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\nThe Fast Fetch implementation has overridden **getCustomRealTimeConfigMacros**, and supports the macro 'START', as seen here:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now()\n  }\n}\n```\n\nFinally, a publisher who wishes to use Vendor1 with AmpAdCom's Fast Fetch implementation defines their rtc-config as:\n\n```html\n<!-- ampPublisher.biz/some/example/page.html -->\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor1\": {\"SLOT_ID\": \"1234\"}\n                }\n              }'\n>\n</amp-ad>\n```\n\nAfter URL macro expansion, the resulting URL is then\n\n```http\nhttps://vendor1.com/slot_id=1234&start_time=1508508227577\n```\n\n##### Conflicting macro substitution\n\nIt is possible, but inadvisable, to have a situation where a vendor specifies the same macro as the Fast Fetch network, i.e. in the above example if **getCustomRealTimeConfigMacros** was defined as\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'SLOT_ID': '5678'\n  }\n}\n```\n\nThere is a collision in this case, because the Fast Fetch network is specifying a value to substitute for SLOT_ID, but the vendor has declared SLOT_ID as their custom macro, and the publisher is then trying to substitute in '1234' as the value. In a case like this, the Fast Fetch implementation always wins, i.e. the final URL would be:\n\n```http\nhttps://vendor1.com/slot_id=5678&start_time=1508508227577\n```\n\n### RTC Callout Result Merging\n\nThe merging of the results of the RTC callouts into the ad request URL is determined by the Fast Fetch network implementation, and thus may vary. Please refer to the specific documentation for the Fast Fetch implementation in use, for instance refer to the DoubleClick RTC documentation if using DoubleClick for Fast Fetch.\n\n### Error Cases\n\nListed below are the most prominent error cases in RTC. For usage of the following error cases, see [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js)\n\n##### Misconfigured RTC Config\n\nIf the RTC config specified by the publisher does not meet the specification defined in this document, an error will be logged to the console, and RTC will be aborted.\n\n##### Bad JSON Response\n\nIf the response from an RTC callout is not valid JSON, i.e. JSON.parse fails, the response is dropped and ignored. An error is logged to the console.\n\n##### Duplicate Callout URLs\n\nRTC does not allow multiple callouts to identical URLs. Multiple callouts to the same domain are allowed, provided something in the path is different. I.e.\n\nThis is not allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=1234`\n   </td>\n  </tr>\n  <tr>\n   <td>Not allowed\n   </td>\n  </tr>\n</table>\n\nThis is allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=5678`\n   </td>\n  </tr>\n  <tr>\n   <td>Allowed\n   </td>\n  </tr>\n</table>\n\nIn the case that more than one callout is attempted to be sent to the same URL, only one will be sent, and an error will be logged to the console for each subsequent attempt to send a callout to that URL.\n\n##### Insecure URLs\n\nAll RTC requests must be sent to valid SSL endpoints. An attempt to send a request to a URL that does not start with `https://` will be dropped. An error will be logged to the console.\n\n##### Maximum Callouts Exceeded\n\nRTC only allows a maximum of 5 RTC callouts to be sent per ad slot. Whether or not a valid response is received is irrelevant. If a request is dropped prior to actually being sent, it does not count against this limit. For instance, if a publisher specifies 7 URLs to send callouts to, and 2 of them get dropped due to being insecure URLs, then only 5 callouts will actually be sent. In the case that more than 5 callouts are attempted to be sent, only the first 5 will be, and all subsequent callouts will be ignored. An error will be logged to the console for each dropped callout.\n\nA publisher's custom URLs take precedence over vendor URLs, and are called out in the order in which they were specified. Then, the vendor URLs are called out, also in the order in which they were specified.\n\n##### Network Failure\n\nIf the XHR GET fails somehow, for example, if network connectivity is lost, the request is lost and an error is logged to the console.\n\n##### Unknown Vendor\n\nIf a publisher specifies a vendor in their RTC-config that is not actually declared in callout-vendors.js, an error is logged to the console, and no request is sent.\n\n##### Timeout\n\nThe timeout is either the default timeout of 1000ms, or a shorter timeout specified by the publisher in the RTC-config. If the time for a callout to complete exceeds the timeout, the request is dropped and an error is logged.\n\n### Single Request Architecture (SRA) Support\n\nThere is no SRA support at this time. In the event that SRA and RTC are attempted to be used on the same page, RTC will take precedence, and SRA will not be used.\n\n## End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up **amp-ad-network-fadnetwork-impl.js** and check the implementation of **getCustomRealTimeConfigMacros**:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"fadnetwork\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor-a\": {\"SLOT_ID\": \"1\"},\n                  \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n                  \"vendorc\": {}\n                },\n                \"urls\": [\n                  \"https://www.AmpPublisher.biz/A\",\n                  \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n                ],\n                \"timeoutMillis\": 750\n              }'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![Image of RTC Callout Sequence Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {\"vacation\": [\"beach\", \"city\"]}}\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\nAmpA4a builds a promise to an array of RTC Response Objects, and passes that Promise to **getAdUrl** in FadNetwork's Fast Fetch Implementation, which then resolves this promise.\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n\n  /** @override */\n  getAdUrl(opt_rtcResponsesPromise) {\n    return opt_rtcResponsesPromise.then(rtcResponseArray => {\n      buildAndSendAdUrl(rtcResponseArray);\n    });\n  }\n}\n```\n\nIn this specific case, the Promise resolves to the following array:\n\n```js\n[\n  /** Callout 1 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}',\n    rtcTime: 685,\n    callout: 'www.AmpPublisher.biz',\n  },\n\n  /** Callout 2 RTC Response Object */\n  {error: 'timeout', rtcTime: 750, callout: 'www.amptgt.biz'},\n\n  /** Callout 3 RTC Response Object */\n  {error: 'malformed_json_response', rtcTime: 580, callout: 'vendora'},\n\n  /** Callout 4 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}',\n    rtcTime: 700,\n    callout: 'vendor-b',\n  },\n\n  /** Callout 5 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}',\n    rtcTime: 730,\n    callout: 'vendorc',\n  },\n];\n```\n\n**Example of Resolved Value of opt_rtcResponsesPromise passed to getAdUrl**\n\n**_Explanation of Errors in RTC Responses _**\n\n_Callout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console._\n\n_Callout 3 returns unparseable JSON, so it gets dropped and an error is logged._\n\n_Callout 1, 4, and 5 all return valid JSON and cause no errors_\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\n**Result of merging successful RTC Callouts 1, 4, and 5**\n\nFadNetwork then constructs and encodes their Ad URL as:\n\n```http\nhttps://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D\n```\n\n**FadNetwork's resulting Ad Request URL (use decodeURI to see original json)**\n\nFrom this point forward, all Fast Fetch behavior is exactly the same as non-RTC use cases, and regular Fast Fetch documentation may be consulted for additional questions.\n","extensions/amp-3d-gltf/amp-3d-gltf.md":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Displays GL Transmission Format (gITF) 3D models.\n---\n\n# amp-3d-gltf\n\n## Usage\n\nThe `amp-3d-gltf` component displays 3D models that are in gITF format.\n\n[tip type=\"note\"]\nYou must use a [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)-capable browser to display 3D models.\n[/tip]\n\n### Example\n\n```html\n<amp-3d-gltf\n  layout=\"responsive\"\n  width=\"320\"\n  height=\"240\"\n  alpha=\"true\"\n  antialiasing=\"true\"\n  src=\"path/to/model.glb\"\n></amp-3d-gltf>\n```\n\n### Compatibility\n\nThe component supports [glTF 2.0](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras),\nwith the following exceptions:\n\n-   Embedded cameras\n-   Animation\n\n### Set CORS headers\n\nThe `amp-3d-gltf` component makes a fetch request to the origin from\n`https://<random>.ampproject.net` when it requests the gltf file. Set\n`access-control-allow-origin:*.ampproject.net` on the response header of the\n`src` endpoint to avoid\n[CORS issues when served from an AMP cache](https://amp.dev/documentation/guides-and-tutorials/learn/amp-caches-and-cors/amp-cors-requests/?format=websites).\nUse a wildcard character to address the `<random>` subdomain component.\n\n## Attributes\n\n### src\n\nThe `src` attribute specifies the gltf file location.\n\n### alpha (optional)\n\nUse the `alpha` attribute to specify the behavior of the canvas background.\nThis attribute takes a boolean value. To enable transparency instead of the\ndefault white, set the value to `true`.\n\n### antialiasing (optional)\n\nUse the `antialiasing` attribute to specify whether to enable antialiasing. To\nenable antialiasing, set the value to true.\n\n### clearColor (optional)\n\nThe `clearColor` attribute specifies a CSS color, such as #FF8C00. This color\nfills free space on the canvas.\n\n### maxPixelRatio (optional)\n\nThe `maxPixelRatio` attribute specifies an upper limit for the `pixelRatio`\nrender option. It defaults to `window.devicePixelRatio`.\n\n### autoRotate (optional)\n\nUse the `autoRotate` attribute to enable automatic rotation around the model's\ncenter. To enable rotation, set the value to `true`. `autorotate` defaults to\n`false`.\n\n### enableZoom (optional)\n\nUse the `enableZoom` attribute to disable zooming in and out of the model. To\ndisable zoom, set the value to `false`. `autororate` defaults to `true`.\n\n### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"GLTF 3D model\"`.\n\n## Actions\n\n### setModelRotation\n\nThe `setModelRotation` action specifies the model's rotation. The rotation order\nis ZYX.\n\n-   Specify the rotation value of the x, y, and/or z axis with `x`, `y`, and/or\n    `z` arguments. This action accepts a number between 0 and 1. It defaults to the\n    previous value.\n-   Specify the angle of rotation in radians with `xMin`, `xMax`, `yMin`, `yMax`,\n    and/or `zMin`, `zMax` arguments. Use a min and a max to define the target range.\n    The angle range defaults to `0 / pi * 2`.\n\nThe following action changes the x axis of the component’s rotation to 1.57 when fired.\n\n```json\nsetModelRotation((x = 0.5), (xMin = 0), (xMax = 3.14))\n```\n\n## Styling\n\nHere are a few things to keep in mind for style:\n\n-   The `alpha` attribute specifies transparency.\n-   The `clearColor` attribute specifies the color of the background if it isn't transparent.\n-   `amp-3d-gltf` defaults to a white background if you don't specify a background color.\n\n## Validation\n\nSee [amp-3d-gltf rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3d-gltf/validator-amp-3d-gltf.protoascii)\nin the AMP validator specification.\n","extensions/amp-a4a/refresh.md":"# AMP Ad Refresh\n\nAMP Ad Refresh permits amp-ad tags using Fast Fetch to undergo periodic refresh events. Each such event issues a new ad request and attempts to display the returned creative.\n\n### Network Configuration\n\nFor a network to make use of Refresh, its corresponding implementation must create an instance of RefreshManager and call\n`initiateRefreshCycle`. The simplest way to do so is to use the exported `getRefreshManager` function from refresh-manager.js:\n\n```javascript\nimport {getRefreshManager} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshManager = getRefreshManager(this);\nrefreshManager.initiateRefreshCycle();\n```\n\nWhile `getRefreshManager` is convenient, it does not allow for customization. It returns a RefreshManager with default configurations (specified in the table below). To customize the RefreshManager, you must invoke its constructor directly:\n\n```javascript\nimport {\n  getRefreshManager,\n  getPublisherSpecifiedRefreshInterval,\n} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshConfig = {\n  /* see table below for configuration parameters */\n};\nconst refreshInterval = getPublisherSpecifiedRefreshInterval(\n  this.element,\n  this.win\n);\nconst refreshManager = new RefreshManager(this, refreshConfig, refreshInterval);\nrefreshManager.initiateRefreshCycle();\n```\n\nOptionally, a network may override AmpA4A's `refresh` method, which would allow it to insert custom logic in between refresh events. Note: RefreshManager passes a callback to `refresh` which must be invoked in order to reset the cycle; if it is not invoked, the RefreshManager will become idle until either the callback or `initiateRefreshCycle` is called. If `refresh` is not overridden, this is handled automatically by AmpA4A.\n\n<table>\n  <tr>\n    <td>Parameter</td>\n    <td>Description</td>\n    <td>Permitted Values</td>\n    <td>Default Value</td>\n  <tr>\n    <td>visiblePercentageMin</td>\n    <td>The minimum ratio of creative pixels that must be on screen before the refresh timer is started.</td>\n    <td>Must be an integer between 0 and 100, inclusive.</td>\n    <td>50%</td>\n  </tr>\n  <tr>\n    <td>continuousTimeMin</td>\n    <td>The amount of continuous time, in seconds, that the creative must be on screen before the refresh timer is started.</td>\n    <td>Any positive numerical value.</td>\n    <td>1 s</td>\n  </tr>\n</table>\n","extensions/amp-a4a/rtc-publisher-implementation-guide.md":"## AMP RTC Publisher Implementation Guide\n\n### Introduction\n\nThis implementation guide is intended for publishers who wish to begin using Real Time Config in their AMP Pages.\n\n### Background\n\nFor full details and background, please refer to the [RTC Documentation](./rtc-documentation.md). This is designed to be a simplified guide.\n\nAMP Real Time Config (RTC) is a new feature of Fast Fetch that allows Publishers to augment their ad requests with targeting information that is retrieved at runtime. Previously, all targeting data for Fast Fetch ad requests had to be statically defined on the amp-ad element. RTC allows up to 5 callouts to targeting servers for each individual ad slot, the results of which are appended to the ad request.\n\n### Requirements for Use\n\nTo use RTC, you must meet the following requirements:\n\n-   Use an ad network that supports Fast Fetch and AMP RTC\n-   Set the `rtc-config` attribute on each amp-ad element for which RTC is to be used, as specified below.\n\n<!-- markdown-link-check-disable -->\n\n### Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   FLUX\n-   [Freestar](https://freestar.com)\n-   Future Plc\n-   [Highfivve](https://highfivve.com)\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Newspassid\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n<!-- markdown-link-check-enable -->\n\n### Overview\n\nTo use RTC, specify the `rtc-config` attribute on each `amp-ad` element for which RTC should be performed. The `rtc-config` specifies a list of third-party vendors and/or publisher-defined URLs, which should be called to retrieve targeting information. The default timeout for these callouts is 1 second, but the publisher may optionally specify a shorter timeout.\n\nEach individual RTC callout has this 1 second timeout imposed on it, but the callouts are sent quickly one after the other and execute in parallel.\n\n<table>\n  <tr>\n   <td>\n\n<img src=\"./RTCDiagram2.png\" width=\"\">\n\n   </td>\n  </tr>\n  <tr>\n   <td>Figure 1: RTC Callouts Timing Diagram\n<p>\n<em>Note, starting times for the diagrams have been spaced out for display purposes only. In reality, all RTC callouts are sent out faster.</em>\n   </td>\n  </tr>\n</table>\n\nExample from Figure 1:\n\n-   RTC Callout 1 starts at 0ms, and returns at 780ms, for a total time of 780ms. It does not timeout.\n-   RTC Callout 2 starts at 20ms, and returns at 760ms, for a total time of 740ms. It does not timeout.\n-   RTC Callout 3 starts at 50ms, and doesn't return until 1125ms, for a total time of 1075ms. This time surpasses the timeout of 1000ms. Thus, the request is resolved as an empty response by real-time-config-manager at 1050ms, when exactly 1000ms has elapsed from the perspective of RTC Callout 3. The ultimate response from RTC Callout 3 is dropped.\n-   RTC Callout 4 starts at 75ms, and returns at 760ms, for a total time of 685ms. It is not timed out.\n-   RTC Callout 5 starts at 100ms, and returns at 1010ms, for a total time of 910ms. It is not timed out. Note that RTC Callout 5 finishes more than 1000ms after the first RTC Callout is started.\n\nThe publisher-defined URLs take precedence over the vendor-defined ones, i.e. if a publisher specifies 5 custom URLs, and 5 vendors, only the 5 custom URLs will be called out to. The vendor- and publisher-defined URLs allow for macro substitution to build the callout URL. For instance, a publisher may specify the macro values that they wish to substitute into the vendor-defined url, or a publisher may define macros in their custom URL into which the ad network Fast Fetch implementation may substitute values.\n\nOnce a publisher has defined `rtc-config` on an amp-ad, all the work is done for them. When a user navigates to the page, as part of the Fast Fetch execution, all specified RTC callouts will be sent as early as possible to the desired endpoints, and the resulting targeting information will be merged into the ad request. The semantics of how the targeting information is merged is customized by the Fast Fetch Ad Network implementation. For details on how it will be merged, please refer to the documentation for whichever ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### Setting up RTC Config\n\nYou may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC Specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"URLs\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleb.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleb.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   E.g., in Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see Vendor URL Specification below). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a \"url\" and an \"errorReportingUrl\". The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the \"url\" within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/rtc-documentation.md#rtc-error-pingback) for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of `rtc-config` are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Setting up an Endpoint\n\nIf a publisher wants to set up their own custom server to receive and respond to RTC callouts, they must meet the following specifications:\n\n#### Response and Endpoint Specification\n\nThe RTC endpoint must respond to the GET request with an object of targeting information to be inserted into the ad request url. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nThe endpoint must use HTTPS.\n\nThe RTC Response to a GET must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   `{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}`\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network-specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### Merging RTC Results into Ad Requests\n\nThe merging of the results of RTC is defined per ad network. AMP RTC simply provides the results of all the callouts to getAdUrl for the given network. For specifics on how the results of RTC will be used as part of the ad request, please refer to documentation specific to the ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up amp-ad-network-fadnetwork-impl.js and check the implementation of getCustomRealTimeConfigMacros:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor-a\": {\"SLOT_ID\": \"1\"},\n              \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n              \"vendorc\": {}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/A\",\n              \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![RTC Timing Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {'vacation': \"beach\" : 'city'\"\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\n**_Explanation of Errors in RTC Responses_**\n\nCallout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console.\n\nCallout 3 returns unparseable JSON, so it gets dropped and an error is logged.\n\nCallout 1, 4, and 5 all return valid JSON and cause no errors.\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\nThis targeting information is then added to the Ad Request URL however FadNetwork's implementation dictates.\n\n<table>\n  <tr>\n   <td><code>https://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D</code>\n   </td>\n  </tr>\n  <tr>\n   <td>FadNetwork's resulting Ad Request URL (use decodeURI to see original json)\n   </td>\n  </tr>\n</table>\n","extensions/amp-access-fewcents/amp-access-fewcents.md":"---\n$category@: presentation\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the Fewcents micropayments platform.\n---\n\n# amp-access-fewcents\n\n-   The `amp-access-fewcents` component is based on, and requires [`amp-access`](../amp-access/amp-access.md)\n-   amp-access-fewcents is built to be used with amp pages which internally uses amp-access to provide a behavior similar to amp-access, but built in such a way that it can be used with Fewcents.\n-   amp-access-fewcents component does not require an authorization, pingback or login configuration, because it is pre-configured to work with the Fewcents. You just need to pass or configure the extension according to your need like primary color for button, Publisher's can have their logo on the paywall.\n-   This component also relies on Access Content Markup to show and hide content.\n\n## Usage\n\n### The configuration on the pulisher end will look like this\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Where as the content access markup could end up looking like this:\n\nThe example below demonstrates `amp-access-fewcents` component in standalone use.\n\n```html\n  <section amp-access=\"NOT access\" amp-access-hide>\n    <div id=\"amp-access-fewcents-dialog\"></div>\n  </section>\n\n  <section amp-access=\"error\" amp-access-hide class=\"error-section\">\n    Oops... Something broke.\n  </section>\n\n  <div amp-access=\"access\" amp-access-hide>\n    <p>\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n      ullamcorper turpis vel commodo scelerisque. Phasellus luctus nunc ut\n      elit cursus, et imperdiet diam vehicula. Duis et nisi sed urna blandit\n      bibendum et sit amet erat. Suspendisse potenti.\n    </p>\n  </div>\n```\n\nElement div with id `amp-access-fewcents-dialog` is where the paywall will going to show up when user don't have the access to the article.\n\n### The following resources provide further documentation on using Fewcents with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [Fewcents](https://www.fewcents.co/)\n\n## Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Keys summary:\n\n-   `vendor` : This is mandatory to pass and its value is \"fewcents\"\n-   `publisherLogoUrl` : Url of image of the publisher logo in the format of png.\n-   `contentSelector` : Id of div element where paywall will be rendered\n-   `primaryColor` : Background colour of the unlock button, else default colour will be used\n-   `accessKey` : This will be provided by fewcents to the publisher\n-   `categoty` : Represent catetory of paywall and will be provided by fewcents\n-   `articleIdentifier` : This lets fewcents to uniquely identify each article, and publisher should share this data with fewcents\n\n## Analytics\n\nGiven that `amp-access-fewcents` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nSeveral analytics reports are sent to fewcents on user actions on the paywall.\n\n## Layout and style\n\n```\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-access-fewcents-0.1.css\">\n```\n","extensions/amp-access-scroll/amp-access-scroll.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Integrates with Scroll membership.\n---\n\n# amp-access-scroll\n\n## Usage\n\nLets sites in the [Scroll](https://scroll.com) network identify Scroll members in order to serve them an ad-free, directly-monetized experience.\n\n### Configuration\n\nIn `<head>`, add\n\n```\n<script id=\"amp-access\" type=\"application/json\">\n{\n  \"vendor\": \"scroll\",\n  \"namespace\": \"scroll\"\n}\n</script>\n```\n\nBe sure not to add a trailing comma to the namespace line, which makes it invalid JSON!\n\nIf you are already using `amp-access` for a paywall, follow the steps in the `amp-access` documentation for [using namespaces and an array of providers](https://amp.dev/documentation/components/amp-access#multiple-access-providers).\n\n### Make each ad conditional\n\nAdd an `amp-access` attribute to each ad container.\n\n```\n<div class=\"amp-ad-container\" amp-access=\"NOT scroll.scroll\">\n  <amp-ad... >\n</div>\n```\n\nLearn more at [https://developer.scroll.com/amp](https://developer.scroll.com/amp).\n\n## Validation\n\nSee [`amp-access-scroll` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-scroll/validator-amp-access-scroll.protoascii) in the AMP validator specification.\n","extensions/amp-access-laterpay/amp-access-laterpay.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the LaterPay micropayments platform.\n---\n\n# amp-access-laterpay\n\n## Usage\n\n[LaterPay](https://laterpay.net) is a micropayment platform that allows users to buy any online content with just two clicks, and get immediate access – without upfront registration, personal data, or payment. Users only pay, once their purchases have reached a total of \\$5 or 5€ across websites. Content providers can sell individual items or time passes, which allow flatrate access or time limited access to content.\n\nThe `amp-access-laterpay` component is based on, and requires [`amp-access`](../amp-access/amp-access.md).\n\nIf you're integrating LaterPay via the [Connector Script integration](https://docs.laterpay.net/connector/) you won't be able to use that integration on AMP pages. `amp-access-laterpay` is analogous to Connector Script, providing a similar set of features, but built for AMP pages.\n\nIt's also possible to sell content via LaterPay simply using `amp-access-laterpay` as the sole integration method.\n\nThe `amp-access-laterpay` component uses `amp-access` internally to provide a behavior similar to `amp-access`, but tailored for usage with the LaterPay service.\n\nIf you have your own paywall service that you'd like to use with `amp-access` and would like to use it together with LaterPay on the same page, it's also possible to do so.\n\nThe `amp-access-laterpay` component does not require an authorization or pingback configuration, because it is pre-configured to work with the LaterPay service. It also does not require manual setup of login links.\n\nThe different purchase options can be configured on the publisher's LaterPay account, and the component will retrieve the configuration and create a list of available purchase options.\n\nYou can refer to the documentation on configuring the [LaterPay Connector](https://docs.laterpay.net/connector/configuration/), LaterPay's existing front-end integration, to learn how to configure the purchase options.\n\nThe generated list can be styled and presented according to the publisher's preference.\n\nThis component also relies on [Access Content Markup](../amp-access/amp-access.md) to show and hide content.\n\n### Using amp-access-laterpay with amp-access\n\nIf you have an existing subscription system and you intend to use LaterPay only for individual article sales, it's possible to have both sale methods coexist in the same page, using both `amp-access` and `amp-access-laterpay` together.\n\nFirst of, please refer to the [`amp-access`](../amp-access/amp-access.md) documentation to learn how to configure `amp-access` with your existing paywall.\n\nThe [multiple providers](../amp-access/amp-access.md) section explains how to setup multiple providers with namespaces.\n\nWhen using it with LaterPay and an existing paywall integration, the necessary configuration can look something like this:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  [\n    {\n      \"vendor\": \"laterpay\",\n      \"laterpay\": {\n        \"region\": \"us\"\n      },\n      \"namespace\": \"laterpay\"\n    },\n    {\n      \"authorization\": \"https://pub.com/amp-access?rid=READER_ID&url=SOURCE_URL\",\n      \"pingback\": \"https://pub.com/amp-ping?rid=READER_ID&url=SOURCE_URL\",\n      \"login\": \"https://pub.com/amp-login?rid=READER_ID&url=SOURCE_URL\",\n      \"authorizationFallbackResponse\": {\"error\": true},\n      \"namespace\": \"publishername\"\n    }\n  ]\n</script>\n```\n\nWhere as the content access markup could end up looking like this:\n\n```html\n<section\n  amp-access=\"NOT error AND NOT laterpay.access AND NOT publishername.access\"\n  amp-access-hide\n>\n  <p>\n    <a on=\"tap:amp-access.login-publishername\"\n      >Login here to access your PublisherName subscription.</a\n    >\n  </p>\n\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"laterpay.access OR publishername.access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\nYou can find a more complete example [here](https://ampexample.laterpay.net/dual-amp-access.html).\n\n[tip type=\"read-on\"]\n\nThe following resources provide further documentation on using LaterPay with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [LaterPay](https://www.laterpay.net)\n-   [LaterPay: How we do MicroPayments](https://docs.laterpay.net/how_we_do_micropayments/)\n-   [LaterPay Connector](https://docs.laterpay.net/connector/) - Similar to `amp-access-laterpay` but for non AMP pages.\n\n[/tip]\n\n### Using Access Content Markup and showing the purchase list\n\nAccess Content Markup should be used in the same way as with `amp-access`.\n\nThe element with id `amp-access-laterpay-dialog` will render a list of purchase options when the user does not have access to the article. This list has some very basic styling and can be customized to feel more integrated in the publisher's page.\n\nMake sure you add the `amp-access-laterpay` class if you want to use the default styling.\n\n```html\n<section amp-access=\"NOT error AND NOT access\" amp-access-hide>\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\n### Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"property\": value\n    }\n  }\n</script>\n```\n\nThe following values can be set in the `laterpay` config object:\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Property</th>\n    <th class=\"col-twenty\">Values</th>\n    <th class=\"col-fourty\">Description</th>\n  </tr>\n  <tr>\n    <td><code>articleTitleSelector</code></td>\n    <td>CSS selector <strong>required</strong></td>\n    <td>A CSS selector which determines the element in the page which contains the title of the article. This will ensure the page presented for purchase of the article will contain this title so the user is aware of what they're purchasing.</td>\n  </tr>\n  <tr>\n    <td><code>articleId</code></td>\n    <td>Comma separated list of identifiers</td>\n    <td>By default, the URL of an article is used to match it to a purchase option, but instead of specifying a URL path for a purchase option you can set an Article ID in the LaterPay Connector-UI and then use the <code>articleId</code> property to match the article with the purchase option.\n    <br />\n    This is necessary in cases where matching a purchase option by an article’s URL is not flexible enough. See the <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/article_id/\">configuration page for the LaterPay Connector()</a> to see learn about some example scenarios in which this is useful.</td>\n  </tr>\n  <tr>\n    <td><code>jwt</code></td>\n    <td>JWT token for dynamic payment configuration</td>\n    <td>This option allows you specify a signed JSON Web Token with a configuration for the available paid content. This means that you can provide an in page configuration, programatically generated in your pages rather than specifying it manually on LaterPay's Connector Admin interface. This might be specially useful when configuring Single Purchases for many different articles.\n    <br />\n    If you'd like more information on how to create this token and what content can be specified in it, please refer to LaterPay's <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/config_token/#jwt-object-properties\">JWT Paid Content API</a> documentation for the Connector Script integration.\n    </td>\n  </tr>\n  <tr>\n    <td><code>locale</code></td>\n    <td>string</td>\n    <td>Defines the style of price formatting appropriate for the locale.</td>\n  </tr>\n  <tr>\n    <td><code>localeMessages</code></td>\n    <td>object</td>\n    <td>Allows the publisher to customize or localize the text present in the generated list of purchase options. See the <a href=\"#localization\">Localization</a> section for more information.</td>\n  </tr>\n  <tr>\n    <td><code>scrollToTopAfterAuth</code></td>\n    <td>boolean</td>\n    <td>If true, scrolls the page to the top after the authorization process is successful. This can be helpful if the place where you show the dialog is further below in the page and the user could be confused by their current scroll position after returning to the page.</td>\n  </tr>\n  <tr>\n    <td><code>region</code></td>\n    <td>string</td>\n    <td>Specify if you are on the <code>eu</code> or <code>us</code> <a href=\"https://connectormwi.laterpay.net/docs/regions-environments-locales.html\">LaterPay region</a>.</td>\n  </tr>\n  <tr>\n    <td><code>sandbox</code></td>\n    <td>boolean</td>\n    <td>Only needed if you are using the sandbox mode to test out your server configuration. You also need to use AMP's <a href=\"https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#amp-runtime\">development mode</a>.</td>\n  </tr>\n</table>\n\n## Styling\n\nMultiple classes are applied to some of the elements in the generated markup. Elements with no classes can be referred unambiguously through CSS element selectors.\n\nSome basic layout CSS already exists, but it's recommended that publishers style it to match the look and feel of their pages.\n\nThe structure created for the dialog looks as follows:\n\n```html\n<div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\">\n  <div class=\"amp-access-laterpay-container\">\n    <p class=\"amp-access-laterpay-header\">\n      Optional, appears if header locale message is defined.\n    </p>\n    <ul>\n      <li>\n        <label>\n          <input name=\"purchaseOption\" type=\"radio\" />\n          <div class=\"amp-access-laterpay-metadata\">\n            <span class=\"amp-access-laterpay-title\">Purchase option title</span>\n            <p class=\"amp-access-laterpay-description\">\n              Purchase option description\n            </p>\n          </div>\n        </label>\n        <p class=\"amp-access-laterpay-price-container\">\n          <span class=\"amp-access-laterpay-price\">0.15</span>\n          <sup class=\"amp-access-laterpay-currency\">USD</sup>\n        </p>\n      </li>\n      <!-- ... more list items for other purchase options ... -->\n    </ul>\n    <button class=\"amp-access-laterpay-purchase-button\">Buy Now</button>\n    <p class=\"amp-access-laterpay-already-purchased-container\">\n      <a href=\"...\">I already bought this</a>\n    </p>\n    <p class=\"amp-access-laterpay-footer\">\n      Optional, appears if footer locale message is defined.\n    </p>\n  </div>\n  <p class=\"amp-access-laterpay-badge\">\n    Powered by <a href=\"https://laterpay.net\" target=\"_blank\">LaterPay</a>\n  </p>\n</div>\n```\n\n## Analytics\n\nGiven that `amp-access-laterpay` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nThe examples at [https://ampexample.laterpay.net/](https://ampexample.laterpay.net/) are all configured to send these analytics events if you'd like to see a more complete example as to how this would look in practice.\n\n## Localization\n\nThe text shown in the dialog for the purchase options will be defined by the publisher in the LaterPay Connector UI.\n\nThe remaining text is part of the extended component and can be changed and localized via the configuration options as follows:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"localeMessages\": {\n        \"messageKey\": \"message value\"\n      }\n    }\n  }\n</script>\n```\n\nThe following message keys can be translated or customized, but be aware that they should retain their original meaning and intent.\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Key</th>\n    <th class=\"col-fourty\">Description</th>\n    <th>Default value</th>\n  </tr>\n  <tr>\n    <td><code>payLaterButton</code></td>\n    <td>Text shown in the purchase button for options that can be paid later.</td>\n    <td>'Buy Now, Pay Later'</td>\n  </tr>\n  <tr>\n    <td><code>payNowButton</code></td>\n    <td>Text shown in the purchase button for options which will have to paid in the moment of purchase.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>defaultButton</code></td>\n    <td>Default text shown in the purchase button before any option is selected.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>alreadyPurchasedLink</code></td>\n    <td>If the user has purchased the article in the past but they have lost their cookies (or are in a different device) they can use this link to login to LaterPay and retrieve their purchases.</td>\n    <td>'I already bought this'</td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>header</code></td>\n    <td>Optional header text.</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>footer</code></td>\n    <td>Optional footer text.</td>\n    <td></td>\n  </tr>\n</table>\n\n## Validation\n\nSee [`amp-access-laterpay` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-laterpay/validator-amp-access-laterpay.protoascii) in the AMP validator specification.\n","extensions/amp-access-poool/amp-access-poool.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Displays a Poool paywall.\n---\n\n# amp-access-poool\n\n## Usage\n\nThe `amp-access-poool` component, based on `amp-access`, loads and shows a paywall using your `bundleID` from Poool's Dashboard configuration.\n\nSee [poool.tech](https://poool.tech) for more details. `amp-access-poool` is based on, and requires,\n[`amp-access`](https://amp.dev/documentation/components/amp-access).\n\nAs you'll know if you're familiar with how Poool works outside of AMP, you cannot use `excerpt` and `hide` modes here. This is due to AMP's specific behavior. You will be able to lock or unlock your content with the `access` variable which is provided by `amp-access`. Check out the `poool-widget` section just below.\n\nThe `amp-access-poool` component does not require an authorization or pingback configuration because it is pre-configured to work with Poool.\n\nFor more information about modes, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#mode).\n\n### Configurations\n\nYou have to set configuration attributes within AMP in camelCase instead of the underscore (\" \\_ \") symbol traditionally used by Poool.\n\nFor example : use `customSegment=\"amp-custom-segment\"` to achieve `poool(\"config\", \"custom_segment\", \"amp-custom-segment\");`.\n\n#### HTML sections\n\n**Set poool-widget section, which contain poool paywall when access isn't granted.**\n\nThe `amp-access-poool` component requires 3 different sections:\n\n-   The article preview, shown when access hasn't been granted yet (with `amp-access=\"NOT access\"`) and identified by Poool using the `poool-access-preview` attribute\n-   The article content, shown when access has been granted (with `amp-access=\"access\"`), hidden by the `amp-access-hide` attribute until access has been granted, and identified by Poool using the `poool-access-content` attribute\n-   Poool's Paywall container, shown when access hasn't been granted yet (with `amp-access=\"NOT error AND NOT access\"`), identified by Poool using the `poool` id\n\n```html\n<section poool-access-preview amp-access=\"NOT access\">\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section poool-access-content amp-access=\"access\" amp-access-hide>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section amp-access=\"NOT error AND NOT access\" id=\"poool\"></section>\n```\n\n#### amp-access script - poool config\n\n**Example: Basic paywall configuration (with default values)**\n\nConfiguration is similar to AMP Access, except no authorization, pingback or login url is required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"itemID\": \"amp-example-article\"\n    }\n  }\n</script>\n```\n\n**Example: Show a paywall for a user in a custom group/segment called \"amp-custom-segment\"**\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"debug\": \"true\",\n      \"cookiesEnabled\": \"true\",\n      \"itemID\": \"amp-example-article\",\n      \"customSegment\": \"amp-custom-segment\"\n    }\n  }\n</script>\n```\n\nFor more information about configuration variables, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#configuration).\n\n## Attributes\n\n### bundleID (required)\n\nYour App ID (you can find it on your Dashboard).\n\n### itemID (required)\n\nYour **unique** article ID.\n\n### pageType (required)\n\nUsed to tell Poool that a page has been visited by the current user.\nSee [documentation](https://dev.poool.tech/doc/sdk#page_view) for more information.\n\n### debug\n\nEnable/disable debug mode.\nSee [documentation](https://dev.poool.tech/doc/sdk#debug) for more information.\n\n### forceWidget\n\nOverride current widget for user.\nSee [documentation](https://dev.poool.tech/doc/sdk#force_widget) for more information.\n\n### loginButtonEnabled\n\nEnable/disable paywall \"login\" button.\nSee [documentation](https://dev.poool.tech/doc/sdk#login_button_enabled) for more information.\n\n### signatureEnabled\n\nEnable/disable paywall signature, shown under article content when the article has been unlocked.\nSee [documentation](https://dev.poool.tech/doc/sdk#signature_enabled) for more information.\n\n### videoClient\n\nSet default video client (vast, googima) for video widget.\nSee [documentation](https://dev.poool.tech/doc/sdk#video_client) for more information.\n\n### customSegment\n\nOverride native segments with a custom group/segment slug.\nSee [documentation](https://dev.poool.tech/doc/sdk#custom_segment) for more information.\n\n### cookiesEnabled\n\nFollowing latest GDPR requirements, we decided to disable cookies by default inside our paywall. You will have to explicitly set this attribute to reflect the user's consent.\nSee [documentation](https://dev.poool.tech/doc/sdk#cookies_enabled) for more information.\n\n### locale\n\nSet default locale for all texts inside the paywall.\nSee [documentation](https://dev.poool.tech/doc/sdk#locale) for more information.\n\n### context\n\nOverride default or native contexts with a custom context value.\nSee [documentation](https://dev.poool.tech/doc/sdk#context) for more information.\n\n## Validation\n\nSee [`amp-access-poool` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-poool/validator-amp-access-poool.protoascii) in the AMP validator specification.\n","extensions/amp-access/amp-access-analytics.md":"# AMP Access and Analytics\n\n## Access analytics triggers\n\nAccess service issues events for major states in the access flow. These events can be reported through the analytics configuration by using triggers.\n\nSee [amp-analytics.md](../amp-analytics/amp-analytics.md) for details on _amp-analytics_ configuration.\n\n### Authorization received trigger (`\"on\": \"access-authorization-received\"`)\n\nThe `access-authorization-received` event is issued when the Authorization endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationReceived\": {\n    \"on\": \"access-authorization-received\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Authorization received trigger (`\"on\": \"access-authorization-failed\"`)\n\nThe `access-authorization-failed` event is issued when the Authorization endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationFailed\": {\n    \"on\": \"access-authorization-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Access view registered trigger (`\"on\": \"access-viewed\"`)\n\nThe `access-viewed` event is issued when the access system considers the page viewed and right before pingback is sent. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessViewed\": {\n    \"on\": \"access-viewed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback sent trigger (`\"on\": \"access-pingback-sent\"`)\n\nThe `access-pingback-sent` event is issued when the Pingback endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackSent\": {\n    \"on\": \"access-pingback-sent\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback failed trigger (`\"on\": \"access-pingback-failed\"`)\n\nThe `access-pingback-failed` event is issued when the Pingback endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackFailed\": {\n    \"on\": \"access-pingback-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login started trigger (`\"on\": \"access-login[-type]-started\"`)\n\nThe `access-login[-type]-started` event is issued right before the Login dialog has been opened. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-started`. When multiple Login URLs are configured, the event is `access-login-type-started`, e.g. \"access-login-signup-started\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginStarted\": {\n    \"on\": \"access-login-started\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login success trigger (`\"on\": \"access-login[-type]-success\"`)\n\nThe `access-login[-type]-success` event is issued when Login dialog has succeeded. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-success`. When multiple Login URLs are configured, the event is `access-login-type-success`, e.g. \"access-login-signup-success\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginSuccess\": {\n    \"on\": \"access-login-success\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login rejected trigger (`\"on\": \"access-login[-type]-rejected\"`)\n\nThe `access-login[-type]-rejected` event is issued when Login dialog has been rejected by the user. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-rejected`. When multiple Login URLs are configured, the event is `access-login-type-rejected`, e.g. \"access-login-signup-rejected\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginRejected\": {\n    \"on\": \"access-login-rejected\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login failed trigger (`\"on\": \"access-login[-type]-failed\"`)\n\nThe `access-login[-type]-failed` event is issued when Login dialog has failed due to an unknown reason. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login[-type]-failed`. When multiple Login URLs are configured, the event is `access-login-type-failed`, e.g. \"access-login-signup-failed\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginFailed\": {\n    \"on\": \"access-login-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n## Access analytics variables\n\nAccess contributes the following URL substitutions to the [amp-var-substitutions.md](../../docs/spec/amp-var-substitutions.md).\n\n### ACCESS_READER_ID\n\nThe `ACCESS_READER_ID` variable is substituted with the Reader ID used for access operations. This is a sensitive ID and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n\n### AUTHDATA(field)\n\nThe `AUTHDATA(field)` variable is substituted with the value of the field in the authorization response. The nested fields are allowed, such as `AUTHDATA(nested.field)`.\n\nThis variable will wait until authorization is complete before being available.\n\nData contained in `AUTHDATA` may be sensitive and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n","extensions/amp-access/amp-access.md":"# Amp-access Skill\n\nPath: `extensions/amp-access/amp-access.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access.md)","extensions/amp-accordion/amp-accordion.md":"# Amp-accordion Skill\n\nPath: `extensions/amp-accordion/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/amp-accordion.md)","extensions/amp-action-macro/amp-action-macro.md":"# Amp-action-macro Skill\n\nPath: `extensions/amp-action-macro/amp-action-macro.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-action-macro/amp-action-macro.md)","extensions/amp-ad-exit/amp-ad-exit.md":"# Amp-ad-exit Skill\n\nPath: `extensions/amp-ad-exit/amp-ad-exit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-exit/amp-ad-exit.md)","extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md":"# Amp-ad-network-adsense-impl Skill\n\nPath: `extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md)","extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md":"# Amp-ad-network-dianomi-impl Skill\n\nPath: `extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md)","extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md)","extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md)","extensions/amp-ad-network-doubleclick-impl/amp-consent.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-consent.md)","extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md)","extensions/amp-ad-network-doubleclick-impl/fluid.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/fluid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/fluid.md)","extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md)","extensions/amp-ad-network-doubleclick-impl/multi-size.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/multi-size.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/multi-size.md)","extensions/amp-ad-network-doubleclick-impl/refresh.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/refresh.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/refresh.md)","extensions/amp-ad-network-doubleclick-impl/render-on-idle.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/render-on-idle.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/render-on-idle.md)","extensions/amp-ad-network-doubleclick-impl/safeframe.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/safeframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/safeframe.md)","extensions/amp-ad-network-doubleclick-impl/single-page-ad.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/single-page-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/single-page-ad.md)","extensions/amp-ad-network-doubleclick-impl/sra.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/sra.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/sra.md)","extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md":"# Amp-ad-network-fake-impl Skill\n\nPath: `extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md)","extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md":"# Amp-ad-network-mgid-impl Skill\n\nPath: `extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md)","extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md":"# Amp-ad-network-nws-impl Skill\n\nPath: `extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md)","extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md":"# Amp-ad-network-oblivki-impl Skill\n\nPath: `extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md)","extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md":"# Amp-ad-network-smartads-impl Skill\n\nPath: `extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md)","extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md":"# Amp-ad-network-smartadserver-impl Skill\n\nPath: `extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md)","extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md":"# Amp-ad-network-triplelift-impl Skill\n\nPath: `extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md)","extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md":"# Amp-ad-network-valueimpression-impl Skill\n\nPath: `extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md)","extensions/amp-ad/amp-ad.md":"# Amp-ad Skill\n\nPath: `extensions/amp-ad/amp-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad/amp-ad.md)","extensions/amp-addthis/amp-addthis.md":"# Amp-addthis Skill\n\nPath: `extensions/amp-addthis/amp-addthis.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-addthis/amp-addthis.md)","extensions/amp-analytics/amp-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-analytics.md)","extensions/amp-analytics/amp-components-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-components-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-components-analytics.md)","extensions/amp-analytics/amp-video-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-video-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-video-analytics.md)","extensions/amp-analytics/analytics-vars.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vars.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vars.md)","extensions/amp-analytics/analytics-vendors-list.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vendors-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vendors-list.md)","extensions/amp-analytics/integrating-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/integrating-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/integrating-analytics.md)","extensions/amp-analytics/linker-id-forwarding.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-forwarding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-forwarding.md)","extensions/amp-analytics/linker-id-receiving.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-receiving.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-receiving.md)","extensions/amp-analytics/why-not-iframe.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/why-not-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/why-not-iframe.md)","extensions/amp-anim/amp-anim.md":"# Amp-anim Skill\n\nPath: `extensions/amp-anim/amp-anim.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-anim/amp-anim.md)","extensions/amp-animation/amp-animation.md":"# Amp-animation Skill\n\nPath: `extensions/amp-animation/amp-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-animation/amp-animation.md)","extensions/amp-apester-media/amp-apester-media.md":"# Amp-apester-media Skill\n\nPath: `extensions/amp-apester-media/amp-apester-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-apester-media/amp-apester-media.md)","extensions/amp-app-banner/amp-app-banner.md":"# Amp-app-banner Skill\n\nPath: `extensions/amp-app-banner/amp-app-banner.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-app-banner/amp-app-banner.md)","extensions/amp-audio/amp-audio.md":"# Amp-audio Skill\n\nPath: `extensions/amp-audio/amp-audio.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-audio/amp-audio.md)","extensions/amp-auto-ads/amp-auto-ads.md":"# Amp-auto-ads Skill\n\nPath: `extensions/amp-auto-ads/amp-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-auto-ads/amp-auto-ads.md)","extensions/amp-autocomplete/amp-autocomplete.md":"# Amp-autocomplete Skill\n\nPath: `extensions/amp-autocomplete/amp-autocomplete.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-autocomplete/amp-autocomplete.md)","extensions/amp-base-carousel/amp-base-carousel.md":"# Amp-base-carousel Skill\n\nPath: `extensions/amp-base-carousel/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/amp-base-carousel.md)","extensions/amp-beopinion/amp-beopinion.md":"# Amp-beopinion Skill\n\nPath: `extensions/amp-beopinion/amp-beopinion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-beopinion/amp-beopinion.md)","extensions/amp-bind/amp-bind.md":"# Amp-bind Skill\n\nPath: `extensions/amp-bind/amp-bind.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bind/amp-bind.md)","extensions/amp-bodymovin-animation/amp-bodymovin-animation.md":"# Amp-bodymovin-animation Skill\n\nPath: `extensions/amp-bodymovin-animation/amp-bodymovin-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/amp-bodymovin-animation.md)","extensions/amp-brid-player/amp-brid-player.md":"# Amp-brid-player Skill\n\nPath: `extensions/amp-brid-player/amp-brid-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brid-player/amp-brid-player.md)","extensions/amp-brightcove/amp-brightcove.md":"# Amp-brightcove Skill\n\nPath: `extensions/amp-brightcove/amp-brightcove.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brightcove/amp-brightcove.md)","extensions/amp-byside-content/amp-byside-content.md":"# Amp-byside-content Skill\n\nPath: `extensions/amp-byside-content/amp-byside-content.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-byside-content/amp-byside-content.md)","extensions/amp-cache-url/README.md":"# amp-cache-url Documentation\n\nPath: `extensions/amp-cache-url/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-cache-url/README.md)","extensions/amp-call-tracking/amp-call-tracking.md":"# Amp-call-tracking Skill\n\nPath: `extensions/amp-call-tracking/amp-call-tracking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-call-tracking/amp-call-tracking.md)","extensions/amp-carousel/amp-carousel-analytics.md":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel-analytics.md)","extensions/amp-carousel/amp-carousel.md":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel.md)","extensions/amp-connatix-player/amp-connatix-player.md":"# Amp-connatix-player Skill\n\nPath: `extensions/amp-connatix-player/amp-connatix-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-connatix-player/amp-connatix-player.md)","extensions/amp-consent/amp-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/amp-consent.md)","extensions/amp-consent/customizing-extension-behaviors-on-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/customizing-extension-behaviors-on-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/customizing-extension-behaviors-on-consent.md)","extensions/amp-consent/integrating-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/integrating-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/integrating-consent.md)","extensions/amp-dailymotion/amp-dailymotion.md":"# Amp-dailymotion Skill\n\nPath: `extensions/amp-dailymotion/amp-dailymotion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dailymotion/amp-dailymotion.md)","extensions/amp-date-countdown/amp-date-countdown.md":"# Amp-date-countdown Skill\n\nPath: `extensions/amp-date-countdown/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/amp-date-countdown.md)","extensions/amp-date-display/amp-date-display.md":"# Amp-date-display Skill\n\nPath: `extensions/amp-date-display/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/amp-date-display.md)","extensions/amp-date-picker/amp-date-picker.md":"# Amp-date-picker Skill\n\nPath: `extensions/amp-date-picker/amp-date-picker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-picker/amp-date-picker.md)","extensions/amp-delight-player/amp-delight-player.md":"# Amp-delight-player Skill\n\nPath: `extensions/amp-delight-player/amp-delight-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-delight-player/amp-delight-player.md)","extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md":"# Amp-dynamic-css-classes Skill\n\nPath: `extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md)","extensions/amp-embedly-card/amp-embedly-card.md":"# Amp-embedly-card Skill\n\nPath: `extensions/amp-embedly-card/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/amp-embedly-card.md)","extensions/amp-experiment/amp-experiment.md":"# Amp-experiment Skill\n\nPath: `extensions/amp-experiment/amp-experiment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-experiment/amp-experiment.md)","extensions/amp-facebook-comments/amp-facebook-comments.md":"# Amp-facebook-comments Skill\n\nPath: `extensions/amp-facebook-comments/amp-facebook-comments.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-comments/amp-facebook-comments.md)","extensions/amp-facebook-like/amp-facebook-like.md":"# Amp-facebook-like Skill\n\nPath: `extensions/amp-facebook-like/amp-facebook-like.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-like/amp-facebook-like.md)","extensions/amp-facebook-page/amp-facebook-page.md":"# Amp-facebook-page Skill\n\nPath: `extensions/amp-facebook-page/amp-facebook-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-page/amp-facebook-page.md)","extensions/amp-facebook/amp-facebook.md":"# Amp-facebook Skill\n\nPath: `extensions/amp-facebook/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/amp-facebook.md)","extensions/amp-fit-text/amp-fit-text.md":"# Amp-fit-text Skill\n\nPath: `extensions/amp-fit-text/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/amp-fit-text.md)","extensions/amp-font/amp-font.md":"# Amp-font Skill\n\nPath: `extensions/amp-font/amp-font.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-font/amp-font.md)","extensions/amp-form/amp-form.md":"# Amp-form Skill\n\nPath: `extensions/amp-form/amp-form.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-form/amp-form.md)","extensions/amp-fx-collection/amp-fx-collection.md":"# Amp-fx-collection Skill\n\nPath: `extensions/amp-fx-collection/amp-fx-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-collection/amp-fx-collection.md)","extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md":"# Amp-fx-flying-carpet Skill\n\nPath: `extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md)","extensions/amp-geo/amp-geo.md":"# Amp-geo Skill\n\nPath: `extensions/amp-geo/amp-geo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-geo/amp-geo.md)","extensions/amp-gfycat/amp-gfycat.md":"# Amp-gfycat Skill\n\nPath: `extensions/amp-gfycat/amp-gfycat.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gfycat/amp-gfycat.md)","extensions/amp-gist/amp-gist.md":"# Amp-gist Skill\n\nPath: `extensions/amp-gist/amp-gist.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/amp-gist.md)","extensions/amp-google-document-embed/amp-google-document-embed.md":"# Amp-google-document-embed Skill\n\nPath: `extensions/amp-google-document-embed/amp-google-document-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-document-embed/amp-google-document-embed.md)","extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md":"# Amp-google-read-aloud-player Skill\n\nPath: `extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md)","extensions/amp-hulu/amp-hulu.md":"# Amp-hulu Skill\n\nPath: `extensions/amp-hulu/amp-hulu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-hulu/amp-hulu.md)","extensions/amp-iframe/amp-iframe-vs-native-iframe.md":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe-vs-native-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe-vs-native-iframe.md)","extensions/amp-iframe/amp-iframe.md":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe.md)","extensions/amp-iframely/OWNERS.yaml":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/OWNERS.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/OWNERS.yaml)","extensions/amp-iframely/amp-iframely.md":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/amp-iframely.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/amp-iframely.md)","extensions/amp-ima-video/amp-ima-video.md":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/amp-ima-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/amp-ima-video.md)","extensions/amp-ima-video/consent-blocking.md":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/consent-blocking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/consent-blocking.md)","extensions/amp-image-lightbox/amp-image-lightbox.md":"# Amp-image-lightbox Skill\n\nPath: `extensions/amp-image-lightbox/amp-image-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-lightbox/amp-image-lightbox.md)","extensions/amp-imgur/amp-imgur.md":"# Amp-imgur Skill\n\nPath: `extensions/amp-imgur/amp-imgur.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-imgur/amp-imgur.md)","extensions/amp-inline-gallery/amp-inline-gallery.md":"# Amp-inline-gallery Skill\n\nPath: `extensions/amp-inline-gallery/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/amp-inline-gallery.md)","extensions/amp-inputmask/amp-inputmask.md":"# Amp-inputmask Skill\n\nPath: `extensions/amp-inputmask/amp-inputmask.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inputmask/amp-inputmask.md)","extensions/amp-instagram/amp-instagram.md":"# Amp-instagram Skill\n\nPath: `extensions/amp-instagram/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/amp-instagram.md)","extensions/amp-install-serviceworker/amp-install-serviceworker.md":"# Amp-install-serviceworker Skill\n\nPath: `extensions/amp-install-serviceworker/amp-install-serviceworker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-install-serviceworker/amp-install-serviceworker.md)","extensions/amp-izlesene/amp-izlesene.md":"# Amp-izlesene Skill\n\nPath: `extensions/amp-izlesene/amp-izlesene.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-izlesene/amp-izlesene.md)","extensions/amp-jwplayer/amp-jwplayer.md":"# Amp-jwplayer Skill\n\nPath: `extensions/amp-jwplayer/amp-jwplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/amp-jwplayer.md)","extensions/amp-kaltura-player/amp-kaltura-player.md":"# Amp-kaltura-player Skill\n\nPath: `extensions/amp-kaltura-player/amp-kaltura-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-kaltura-player/amp-kaltura-player.md)","extensions/amp-lightbox-gallery/amp-lightbox-gallery.md":"# Amp-lightbox-gallery Skill\n\nPath: `extensions/amp-lightbox-gallery/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/amp-lightbox-gallery.md)","extensions/amp-lightbox/amp-lightbox.md":"# Amp-lightbox Skill\n\nPath: `extensions/amp-lightbox/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/amp-lightbox.md)","extensions/amp-link-rewriter/amp-link-rewriter.md":"# Amp-link-rewriter Skill\n\nPath: `extensions/amp-link-rewriter/amp-link-rewriter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-link-rewriter/amp-link-rewriter.md)","extensions/amp-list/amp-list.md":"# Amp-list Skill\n\nPath: `extensions/amp-list/amp-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-list/amp-list.md)","extensions/amp-live-list/amp-live-list-server-side-filtering.md":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list-server-side-filtering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list-server-side-filtering.md)","extensions/amp-live-list/amp-live-list.md":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list.md)","extensions/amp-loader/README.md":"# amp-loader Documentation\n\nPath: `extensions/amp-loader/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-loader/README.md)","extensions/amp-mathml/amp-mathml.md":"# Amp-mathml Skill\n\nPath: `extensions/amp-mathml/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/amp-mathml.md)","extensions/amp-mega-menu/amp-mega-menu.md":"# Amp-mega-menu Skill\n\nPath: `extensions/amp-mega-menu/amp-mega-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mega-menu/amp-mega-menu.md)","extensions/amp-megaphone/amp-megaphone.md":"# Amp-megaphone Skill\n\nPath: `extensions/amp-megaphone/amp-megaphone.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-megaphone/amp-megaphone.md)","extensions/amp-minute-media-player/amp-minute-media-player.md":"# Amp-minute-media-player Skill\n\nPath: `extensions/amp-minute-media-player/amp-minute-media-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-minute-media-player/amp-minute-media-player.md)","extensions/amp-mowplayer/amp-mowplayer.md":"# Amp-mowplayer Skill\n\nPath: `extensions/amp-mowplayer/amp-mowplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mowplayer/amp-mowplayer.md)","extensions/amp-mraid/amp-mraid.md":"# Amp-mraid Skill\n\nPath: `extensions/amp-mraid/amp-mraid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mraid/amp-mraid.md)","extensions/amp-mustache/amp-mustache.md":"# Amp-mustache Skill\n\nPath: `extensions/amp-mustache/amp-mustache.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mustache/amp-mustache.md)","extensions/amp-nested-menu/amp-nested-menu.md":"# Amp-nested-menu Skill\n\nPath: `extensions/amp-nested-menu/amp-nested-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nested-menu/amp-nested-menu.md)","extensions/amp-next-page/amp-next-page.md":"# Amp-next-page Skill\n\nPath: `extensions/amp-next-page/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/amp-next-page.md)","extensions/amp-nexxtv-player/amp-nexxtv-player.md":"# Amp-nexxtv-player Skill\n\nPath: `extensions/amp-nexxtv-player/amp-nexxtv-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nexxtv-player/amp-nexxtv-player.md)","extensions/amp-o2-player/amp-o2-player.md":"# Amp-o2-player Skill\n\nPath: `extensions/amp-o2-player/amp-o2-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-o2-player/amp-o2-player.md)","extensions/amp-onetap-google/amp-onetap-google.md":"# Amp-onetap-google Skill\n\nPath: `extensions/amp-onetap-google/amp-onetap-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-onetap-google/amp-onetap-google.md)","extensions/amp-ooyala-player/amp-ooyala-player.md":"# Amp-ooyala-player Skill\n\nPath: `extensions/amp-ooyala-player/amp-ooyala-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ooyala-player/amp-ooyala-player.md)","extensions/amp-orientation-observer/amp-orientation-observer.md":"# Amp-orientation-observer Skill\n\nPath: `extensions/amp-orientation-observer/amp-orientation-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-orientation-observer/amp-orientation-observer.md)","extensions/amp-pan-zoom/amp-pan-zoom.md":"# Amp-pan-zoom Skill\n\nPath: `extensions/amp-pan-zoom/amp-pan-zoom.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pan-zoom/amp-pan-zoom.md)","extensions/amp-pinterest/amp-pinterest.md":"# Amp-pinterest Skill\n\nPath: `extensions/amp-pinterest/amp-pinterest.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pinterest/amp-pinterest.md)","extensions/amp-playbuzz/amp-playbuzz.md":"# Amp-playbuzz Skill\n\nPath: `extensions/amp-playbuzz/amp-playbuzz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-playbuzz/amp-playbuzz.md)","extensions/amp-position-observer/amp-position-observer.md":"# Amp-position-observer Skill\n\nPath: `extensions/amp-position-observer/amp-position-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-position-observer/amp-position-observer.md)","extensions/amp-powr-player/amp-powr-player.md":"# Amp-powr-player Skill\n\nPath: `extensions/amp-powr-player/amp-powr-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-powr-player/amp-powr-player.md)","extensions/amp-reach-player/amp-reach-player.md":"# Amp-reach-player Skill\n\nPath: `extensions/amp-reach-player/amp-reach-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reach-player/amp-reach-player.md)","extensions/amp-recaptcha-input/amp-recaptcha-input.md":"# Amp-recaptcha-input Skill\n\nPath: `extensions/amp-recaptcha-input/amp-recaptcha-input.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-recaptcha-input/amp-recaptcha-input.md)","extensions/amp-reddit/amp-reddit.md":"# Amp-reddit Skill\n\nPath: `extensions/amp-reddit/amp-reddit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reddit/amp-reddit.md)","extensions/amp-render/amp-render.md":"# Amp-render Skill\n\nPath: `extensions/amp-render/amp-render.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-render/amp-render.md)","extensions/amp-riddle-quiz/amp-riddle-quiz.md":"# Amp-riddle-quiz Skill\n\nPath: `extensions/amp-riddle-quiz/amp-riddle-quiz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-riddle-quiz/amp-riddle-quiz.md)","extensions/amp-script/amp-script.md":"# Amp-script Skill\n\nPath: `extensions/amp-script/amp-script.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-script/amp-script.md)","extensions/amp-selector/amp-selector.md":"# Amp-selector Skill\n\nPath: `extensions/amp-selector/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/amp-selector.md)","extensions/amp-sidebar/amp-sidebar.md":"# Amp-sidebar Skill\n\nPath: `extensions/amp-sidebar/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/amp-sidebar.md)","extensions/amp-skimlinks/amp-skimlinks.md":"# Amp-skimlinks Skill\n\nPath: `extensions/amp-skimlinks/amp-skimlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-skimlinks/amp-skimlinks.md)","extensions/amp-slides/amp-slides-deprecated.md":"# Amp-slides Skill\n\nPath: `extensions/amp-slides/amp-slides-deprecated.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slides/amp-slides-deprecated.md)","extensions/amp-slikeplayer/amp-slikeplayer.md":"# Amp-slikeplayer Skill\n\nPath: `extensions/amp-slikeplayer/amp-slikeplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slikeplayer/amp-slikeplayer.md)","extensions/amp-smartlinks/amp-smartlinks.md":"# Amp-smartlinks Skill\n\nPath: `extensions/amp-smartlinks/amp-smartlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-smartlinks/amp-smartlinks.md)","extensions/amp-social-share/amp-social-share.md":"# Amp-social-share Skill\n\nPath: `extensions/amp-social-share/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/amp-social-share.md)","extensions/amp-soundcloud/amp-soundcloud.md":"# Amp-soundcloud Skill\n\nPath: `extensions/amp-soundcloud/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/amp-soundcloud.md)","extensions/amp-springboard-player/amp-springboard-player.md":"# Amp-springboard-player Skill\n\nPath: `extensions/amp-springboard-player/amp-springboard-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-springboard-player/amp-springboard-player.md)","extensions/amp-standalone/README.md":"# amp-standalone Documentation\n\nPath: `extensions/amp-standalone/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-standalone/README.md)","extensions/amp-sticky-ad/amp-sticky-ad.md":"# Amp-sticky-ad Skill\n\nPath: `extensions/amp-sticky-ad/amp-sticky-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sticky-ad/amp-sticky-ad.md)","extensions/amp-story-audio-sticker/amp-story-audio-sticker.md":"# Amp-story-audio-sticker Skill\n\nPath: `extensions/amp-story-audio-sticker/amp-story-audio-sticker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-audio-sticker/amp-story-audio-sticker.md)","extensions/amp-story-auto-ads/amp-story-auto-ads.md":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/amp-story-auto-ads.md)","extensions/amp-story-auto-ads/publisher-served-ads.md":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/publisher-served-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/publisher-served-ads.md)","extensions/amp-story-auto-analytics/amp-story-auto-analytics.md":"# Amp-story-auto-analytics Skill\n\nPath: `extensions/amp-story-auto-analytics/amp-story-auto-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-analytics/amp-story-auto-analytics.md)","extensions/amp-story-dev-tools/amp-story-dev-tools.md":"# Amp-story-dev-tools Skill\n\nPath: `extensions/amp-story-dev-tools/amp-story-dev-tools.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-dev-tools/amp-story-dev-tools.md)","extensions/amp-story-education/amp-story-education.md":"# Amp-story-education Skill\n\nPath: `extensions/amp-story-education/amp-story-education.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-education/amp-story-education.md)","extensions/amp-story-interactive/README.md":"# amp-story-interactive Documentation\n\nPath: `extensions/amp-story-interactive/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/README.md)","extensions/amp-story-interactive/amp-story-interactive.md":"# Amp-story-interactive Skill\n\nPath: `extensions/amp-story-interactive/amp-story-interactive.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/amp-story-interactive.md)","extensions/amp-story-panning-media/amp-story-panning-media.md":"# Amp-story-panning-media Skill\n\nPath: `extensions/amp-story-panning-media/amp-story-panning-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-panning-media/amp-story-panning-media.md)","extensions/amp-story/amp-story-ads.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-ads.md)","extensions/amp-story/amp-story-analytics.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-analytics.md)","extensions/amp-story/amp-story-animation.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-animation.md)","extensions/amp-story/amp-story-auto-ads.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-auto-ads.md)","extensions/amp-story/amp-story-cta-layer.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-cta-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-cta-layer.md)","extensions/amp-story/amp-story-grid-layer.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-grid-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-grid-layer.md)","extensions/amp-story/amp-story-page-attachment.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-attachment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-attachment.md)","extensions/amp-story/amp-story-page-outlink.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-outlink.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-outlink.md)","extensions/amp-story/amp-story-page.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page.md)","extensions/amp-story/amp-story.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story.md)","extensions/amp-story/embed-modes.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/embed-modes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/embed-modes.md)","extensions/amp-stream-gallery/amp-stream-gallery.md":"# Amp-stream-gallery Skill\n\nPath: `extensions/amp-stream-gallery/amp-stream-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/amp-stream-gallery.md)","extensions/amp-subscriptions-google/amp-subscriptions-google.md":"# Amp-subscriptions-google Skill\n\nPath: `extensions/amp-subscriptions-google/amp-subscriptions-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions-google/amp-subscriptions-google.md)","extensions/amp-subscriptions/amp-subscriptions.md":"# Amp-subscriptions Skill\n\nPath: `extensions/amp-subscriptions/amp-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions/amp-subscriptions.md)","extensions/amp-tiktok/amp-tiktok.md":"# Amp-tiktok Skill\n\nPath: `extensions/amp-tiktok/amp-tiktok.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-tiktok/amp-tiktok.md)","extensions/amp-timeago/amp-timeago.md":"# Amp-timeago Skill\n\nPath: `extensions/amp-timeago/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/amp-timeago.md)","extensions/amp-truncate-text/amp-truncate-text.md":"# Amp-truncate-text Skill\n\nPath: `extensions/amp-truncate-text/amp-truncate-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-truncate-text/amp-truncate-text.md)","extensions/amp-twitter/amp-twitter.md":"# Amp-twitter Skill\n\nPath: `extensions/amp-twitter/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/amp-twitter.md)","extensions/amp-user-notification/amp-user-notification.md":"# Amp-user-notification Skill\n\nPath: `extensions/amp-user-notification/amp-user-notification.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-user-notification/amp-user-notification.md)","extensions/amp-video-docking/amp-video-docking.md":"# Amp-video-docking Skill\n\nPath: `extensions/amp-video-docking/amp-video-docking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-docking/amp-video-docking.md)","extensions/amp-video-iframe/amp-video-iframe.md":"# Amp-video-iframe Skill\n\nPath: `extensions/amp-video-iframe/amp-video-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-iframe/amp-video-iframe.md)","extensions/amp-video/amp-video.md":"# Amp-video Skill\n\nPath: `extensions/amp-video/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/amp-video.md)","extensions/amp-viewer-integration/CAPABILITIES.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/CAPABILITIES.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/CAPABILITIES.md)","extensions/amp-viewer-integration/TICKEVENTS.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/TICKEVENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/TICKEVENTS.md)","extensions/amp-viewer-integration/amp-doc-viewer-api.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/amp-doc-viewer-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/amp-doc-viewer-api.md)","extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md)","extensions/amp-vimeo/amp-vimeo.md":"# Amp-vimeo Skill\n\nPath: `extensions/amp-vimeo/amp-vimeo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vimeo/amp-vimeo.md)","extensions/amp-vine/amp-vine.md":"# Amp-vine Skill\n\nPath: `extensions/amp-vine/amp-vine.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vine/amp-vine.md)","extensions/amp-viqeo-player/amp-viqeo-player.md":"# Amp-viqeo-player Skill\n\nPath: `extensions/amp-viqeo-player/amp-viqeo-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viqeo-player/amp-viqeo-player.md)","extensions/amp-vk/amp-vk.md":"# Amp-vk Skill\n\nPath: `extensions/amp-vk/amp-vk.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vk/amp-vk.md)","extensions/amp-web-push/amp-web-push.md":"# Amp-web-push Skill\n\nPath: `extensions/amp-web-push/amp-web-push.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-web-push/amp-web-push.md)","extensions/amp-wistia-player/amp-wistia-player.md":"# Amp-wistia-player Skill\n\nPath: `extensions/amp-wistia-player/amp-wistia-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wistia-player/amp-wistia-player.md)","extensions/amp-wordpress-embed/amp-wordpress-embed.md":"# Amp-wordpress-embed Skill\n\nPath: `extensions/amp-wordpress-embed/amp-wordpress-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/amp-wordpress-embed.md)","extensions/amp-yotpo/amp-yotpo.md":"# Amp-yotpo Skill\n\nPath: `extensions/amp-yotpo/amp-yotpo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-yotpo/amp-yotpo.md)","extensions/amp-youtube/amp-youtube.md":"# Amp-youtube Skill\n\nPath: `extensions/amp-youtube/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/amp-youtube.md)","tools/experiments/README.md":"# experiments Documentation\n\nPath: `tools/experiments/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/tools/experiments/README.md)","extensions/amp-accordion/0.1/amp-accordion.md":"# 0.1 Skill\n\nPath: `extensions/amp-accordion/0.1/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/0.1/amp-accordion.md)","extensions/amp-accordion/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-accordion/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/1.0/README.md)","extensions/amp-base-carousel/0.1/amp-base-carousel.md":"# 0.1 Skill\n\nPath: `extensions/amp-base-carousel/0.1/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/0.1/amp-base-carousel.md)","extensions/amp-base-carousel/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-base-carousel/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/1.0/README.md)","extensions/amp-carousel/0.1/amp-carousel.md":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/amp-carousel.md)","extensions/amp-carousel/0.1/tsconfig.json":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/tsconfig.json)","extensions/amp-consent/cmps/_ping_.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/_ping_.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/_ping_.md)","extensions/amp-consent/cmps/appconsent.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/appconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/appconsent.md)","extensions/amp-consent/cmps/consentmanager.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/consentmanager.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/consentmanager.md)","extensions/amp-consent/cmps/didomi.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/didomi.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/didomi.md)","extensions/amp-consent/cmps/googlefc.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/googlefc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/googlefc.md)","extensions/amp-consent/cmps/iubenda.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/iubenda.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/iubenda.md)","extensions/amp-consent/cmps/liveramp.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/liveramp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/liveramp.md)","extensions/amp-consent/cmps/marfeel.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/marfeel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/marfeel.md)","extensions/amp-consent/cmps/ogury.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/ogury.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/ogury.md)","extensions/amp-consent/cmps/onetrust.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/onetrust.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/onetrust.md)","extensions/amp-consent/cmps/opencmp.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/opencmp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/opencmp.md)","extensions/amp-consent/cmps/pubtech.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/pubtech.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/pubtech.md)","extensions/amp-consent/cmps/quantcast.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/quantcast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/quantcast.md)","extensions/amp-consent/cmps/sirdata.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sirdata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sirdata.md)","extensions/amp-consent/cmps/sourcepoint.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sourcepoint.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sourcepoint.md)","extensions/amp-consent/cmps/uniconsent.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/uniconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/uniconsent.md)","extensions/amp-consent/cmps/usercentrics.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/usercentrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/usercentrics.md)","extensions/amp-date-countdown/0.1/amp-date-countdown.md":"# 0.1 Skill\n\nPath: `extensions/amp-date-countdown/0.1/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/0.1/amp-date-countdown.md)","extensions/amp-date-countdown/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-date-countdown/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/1.0/README.md)","extensions/amp-date-display/0.1/amp-date-display.md":"# 0.1 Skill\n\nPath: `extensions/amp-date-display/0.1/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/0.1/amp-date-display.md)","extensions/amp-date-display/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-date-display/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/1.0/README.md)","extensions/amp-embedly-card/0.1/amp-embedly-card.md":"# 0.1 Skill\n\nPath: `extensions/amp-embedly-card/0.1/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/0.1/amp-embedly-card.md)","extensions/amp-embedly-card/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-embedly-card/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/1.0/README.md)","extensions/amp-facebook/0.1/amp-facebook.md":"# 0.1 Skill\n\nPath: `extensions/amp-facebook/0.1/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/0.1/amp-facebook.md)","extensions/amp-facebook/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-facebook/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/1.0/README.md)","extensions/amp-fit-text/0.1/amp-fit-text.md":"# 0.1 Skill\n\nPath: `extensions/amp-fit-text/0.1/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/0.1/amp-fit-text.md)","extensions/amp-fit-text/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-fit-text/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/1.0/README.md)","extensions/amp-gist/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-gist/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/1.0/README.md)","extensions/amp-iframe/0.1/amp-iframe.md":"# 0.1 Skill\n\nPath: `extensions/amp-iframe/0.1/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/0.1/amp-iframe.md)","extensions/amp-iframe/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-iframe/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/1.0/README.md)","extensions/amp-image-slider/0.1/amp-image-slider.md":"# 0.1 Skill\n\nPath: `extensions/amp-image-slider/0.1/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/0.1/amp-image-slider.md)","extensions/amp-image-slider/1.0/amp-image-slider.md":"# 1.0 Skill\n\nPath: `extensions/amp-image-slider/1.0/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/1.0/amp-image-slider.md)","extensions/amp-inline-gallery/0.1/amp-inline-gallery.md":"# 0.1 Skill\n\nPath: `extensions/amp-inline-gallery/0.1/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/0.1/amp-inline-gallery.md)","extensions/amp-inline-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-inline-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/1.0/README.md)","extensions/amp-instagram/0.1/amp-instagram.md":"# 0.1 Skill\n\nPath: `extensions/amp-instagram/0.1/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/0.1/amp-instagram.md)","extensions/amp-instagram/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-instagram/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/1.0/README.md)","extensions/amp-jwplayer/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-jwplayer/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/1.0/README.md)","extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md)","extensions/amp-lightbox-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/1.0/README.md)","extensions/amp-lightbox/0.1/amp-lightbox.md":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox/0.1/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/0.1/amp-lightbox.md)","extensions/amp-lightbox/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/1.0/README.md)","extensions/amp-mathml/0.1/amp-mathml.md":"# 0.1 Skill\n\nPath: `extensions/amp-mathml/0.1/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/0.1/amp-mathml.md)","extensions/amp-mathml/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-mathml/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/1.0/README.md)","extensions/amp-next-page/0.1/amp-next-page.md":"# 0.1 Skill\n\nPath: `extensions/amp-next-page/0.1/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/0.1/amp-next-page.md)","extensions/amp-selector/0.1/amp-selector.md":"# 0.1 Skill\n\nPath: `extensions/amp-selector/0.1/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/0.1/amp-selector.md)","extensions/amp-selector/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-selector/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/1.0/README.md)","extensions/amp-sidebar/0.1/amp-sidebar.md":"# 0.1 Skill\n\nPath: `extensions/amp-sidebar/0.1/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/0.1/amp-sidebar.md)","extensions/amp-sidebar/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-sidebar/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/1.0/README.md)","extensions/amp-social-share/0.1/amp-social-share.md":"# 0.1 Skill\n\nPath: `extensions/amp-social-share/0.1/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/0.1/amp-social-share.md)","extensions/amp-social-share/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-social-share/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/1.0/README.md)","extensions/amp-soundcloud/0.1/amp-soundcloud.md":"# 0.1 Skill\n\nPath: `extensions/amp-soundcloud/0.1/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/0.1/amp-soundcloud.md)","extensions/amp-soundcloud/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-soundcloud/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/1.0/README.md)","extensions/amp-story-360/0.1/amp-story-360.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-360/0.1/amp-story-360.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-360/0.1/amp-story-360.md)","extensions/amp-story-captions/0.1/amp-story-captions.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-captions/0.1/amp-story-captions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-captions/0.1/amp-story-captions.md)","extensions/amp-story-interactive/0.1/disclaimer-backends-list.json":"# 0.1 Skill\n\nPath: `extensions/amp-story-interactive/0.1/disclaimer-backends-list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/0.1/disclaimer-backends-list.json)","extensions/amp-story-player/0.1/amp-story-player.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-player/0.1/amp-story-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-player/0.1/amp-story-player.md)","extensions/amp-story-shopping/0.1/amp-story-shopping.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-shopping/0.1/amp-story-shopping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-shopping/0.1/amp-story-shopping.md)","extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md)","extensions/amp-story/1.0/media-pool.md":"# 1.0 Skill\n\nPath: `extensions/amp-story/1.0/media-pool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/media-pool.md)","extensions/amp-stream-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-stream-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/1.0/README.md)","extensions/amp-timeago/0.1/amp-timeago.md":"# 0.1 Skill\n\nPath: `extensions/amp-timeago/0.1/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/0.1/amp-timeago.md)","extensions/amp-timeago/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-timeago/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/1.0/README.md)","extensions/amp-twitter/0.1/amp-twitter.md":"# 0.1 Skill\n\nPath: `extensions/amp-twitter/0.1/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/0.1/amp-twitter.md)","extensions/amp-twitter/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-twitter/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/1.0/README.md)","extensions/amp-video/0.1/amp-video.md":"# 0.1 Skill\n\nPath: `extensions/amp-video/0.1/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/0.1/amp-video.md)","extensions/amp-wordpress-embed/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-wordpress-embed/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/1.0/README.md)","extensions/amp-youtube/0.1/amp-youtube.md":"# 0.1 Skill\n\nPath: `extensions/amp-youtube/0.1/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/0.1/amp-youtube.md)","extensions/amp-youtube/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-youtube/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/1.0/README.md)","extensions/amp-access/0.1/iframe-api/DEVELOPING.md":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/DEVELOPING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/DEVELOPING.md)","extensions/amp-access/0.1/iframe-api/README.md":"# iframe-api Documentation\n\nPath: `extensions/amp-access/0.1/iframe-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/README.md)","extensions/amp-access/0.1/iframe-api/package.json":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/package.json)","extensions/amp-analytics/0.1/test/vendor-requests.json":"# Test Skill\n\nPath: `extensions/amp-analytics/0.1/test/vendor-requests.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/test/vendor-requests.json)","extensions/amp-analytics/0.1/vendors/_fake_.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/_fake_.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/_fake_.json)","extensions/amp-analytics/0.1/vendors/acquialift.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/acquialift.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/acquialift.json)","extensions/amp-analytics/0.1/vendors/adobeanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics.json)","extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json)","extensions/amp-analytics/0.1/vendors/adskeeper.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adskeeper.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adskeeper.json)","extensions/amp-analytics/0.1/vendors/afsanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/afsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/afsanalytics.json)","extensions/amp-analytics/0.1/vendors/alexametrics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/alexametrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/alexametrics.json)","extensions/amp-analytics/0.1/vendors/amplitude.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/amplitude.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/amplitude.json)","extensions/amp-analytics/0.1/vendors/appsflyer.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/appsflyer.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/appsflyer.json)","extensions/amp-analytics/0.1/vendors/atinternet.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/atinternet.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/atinternet.json)","extensions/amp-analytics/0.1/vendors/baiduanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/baiduanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/baiduanalytics.json)","extensions/amp-analytics/0.1/vendors/bg.canary.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.canary.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.canary.json)","extensions/amp-analytics/0.1/vendors/bg.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.json)","extensions/amp-analytics/0.1/vendors/blackcrowai.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blackcrowai.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blackcrowai.json)","extensions/amp-analytics/0.1/vendors/blueconic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blueconic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blueconic.json)","extensions/amp-analytics/0.1/vendors/bluetriangle.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bluetriangle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bluetriangle.json)","extensions/amp-analytics/0.1/vendors/browsi.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/browsi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/browsi.json)","extensions/amp-analytics/0.1/vendors/burt.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/burt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/burt.json)","extensions/amp-analytics/0.1/vendors/byside.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/byside.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/byside.json)","extensions/amp-analytics/0.1/vendors/captainmetrics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/captainmetrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/captainmetrics.json)","extensions/amp-analytics/0.1/vendors/chartbeat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/chartbeat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/chartbeat.json)","extensions/amp-analytics/0.1/vendors/clicky.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/clicky.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/clicky.json)","extensions/amp-analytics/0.1/vendors/colanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/colanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/colanalytics.json)","extensions/amp-analytics/0.1/vendors/comscore.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/comscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/comscore.json)","extensions/amp-analytics/0.1/vendors/cxense.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/cxense.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/cxense.json)","extensions/amp-analytics/0.1/vendors/deepbi.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/deepbi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/deepbi.json)","extensions/amp-analytics/0.1/vendors/epica.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/epica.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/epica.json)","extensions/amp-analytics/0.1/vendors/euleriananalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/euleriananalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/euleriananalytics.json)","extensions/amp-analytics/0.1/vendors/facebookpixel.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/facebookpixel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/facebookpixel.json)","extensions/amp-analytics/0.1/vendors/gemius.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gemius.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gemius.json)","extensions/amp-analytics/0.1/vendors/gfksensic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gfksensic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gfksensic.json)","extensions/amp-analytics/0.1/vendors/googleadwords.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleadwords.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleadwords.json)","extensions/amp-analytics/0.1/vendors/googleanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleanalytics.json)","extensions/amp-analytics/0.1/vendors/gtag.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gtag.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gtag.json)","extensions/amp-analytics/0.1/vendors/ibeatanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ibeatanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ibeatanalytics.json)","extensions/amp-analytics/0.1/vendors/idealmedia.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/idealmedia.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/idealmedia.json)","extensions/amp-analytics/0.1/vendors/infonline.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline.json)","extensions/amp-analytics/0.1/vendors/infonline_anonymous.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_anonymous.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_anonymous.json)","extensions/amp-analytics/0.1/vendors/infonline_base.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_base.json)","extensions/amp-analytics/0.1/vendors/iplabel.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/iplabel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/iplabel.json)","extensions/amp-analytics/0.1/vendors/keen.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/keen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/keen.json)","extensions/amp-analytics/0.1/vendors/kenshoo.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/kenshoo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/kenshoo.json)","extensions/amp-analytics/0.1/vendors/krux.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/krux.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/krux.json)","extensions/amp-analytics/0.1/vendors/linkpulse.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/linkpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/linkpulse.json)","extensions/amp-analytics/0.1/vendors/lotame.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/lotame.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/lotame.json)","extensions/amp-analytics/0.1/vendors/mapp_intelligence.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mapp_intelligence.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mapp_intelligence.json)","extensions/amp-analytics/0.1/vendors/marinsoftware.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/marinsoftware.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/marinsoftware.json)","extensions/amp-analytics/0.1/vendors/mediametrie.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediametrie.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediametrie.json)","extensions/amp-analytics/0.1/vendors/mediarithmics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediarithmics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediarithmics.json)","extensions/amp-analytics/0.1/vendors/mediator.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediator.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediator.json)","extensions/amp-analytics/0.1/vendors/memo.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/memo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/memo.json)","extensions/amp-analytics/0.1/vendors/metrika.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/metrika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/metrika.json)","extensions/amp-analytics/0.1/vendors/mgid.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mgid.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mgid.json)","extensions/amp-analytics/0.1/vendors/moat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moat.json)","extensions/amp-analytics/0.1/vendors/mobify.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mobify.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mobify.json)","extensions/amp-analytics/0.1/vendors/moengage.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moengage.json)","extensions/amp-analytics/0.1/vendors/mparticle.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mparticle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mparticle.json)","extensions/amp-analytics/0.1/vendors/mpulse.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mpulse.json)","extensions/amp-analytics/0.1/vendors/navegg.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/navegg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/navegg.json)","extensions/amp-analytics/0.1/vendors/neodata.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/neodata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/neodata.json)","extensions/amp-analytics/0.1/vendors/newrelic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/newrelic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/newrelic.json)","extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json)","extensions/amp-analytics/0.1/vendors/nielsen.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen.json)","extensions/amp-analytics/0.1/vendors/oewa.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewa.json)","extensions/amp-analytics/0.1/vendors/oewadirect.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewadirect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewadirect.json)","extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json)","extensions/amp-analytics/0.1/vendors/parsely.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/parsely.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/parsely.json)","extensions/amp-analytics/0.1/vendors/permutive-ampscript.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive-ampscript.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive-ampscript.json)","extensions/amp-analytics/0.1/vendors/permutive.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive.json)","extensions/amp-analytics/0.1/vendors/piStats.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piStats.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piStats.json)","extensions/amp-analytics/0.1/vendors/piano.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piano.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piano.json)","extensions/amp-analytics/0.1/vendors/pinpoll.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pinpoll.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pinpoll.json)","extensions/amp-analytics/0.1/vendors/ppasanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ppasanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ppasanalytics.json)","extensions/amp-analytics/0.1/vendors/pressboard.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pressboard.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pressboard.json)","extensions/amp-analytics/0.1/vendors/quantcast.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/quantcast.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/quantcast.json)","extensions/amp-analytics/0.1/vendors/rakam.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rakam.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rakam.json)","extensions/amp-analytics/0.1/vendors/reppublika.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/reppublika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/reppublika.json)","extensions/amp-analytics/0.1/vendors/retargetly.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/retargetly.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/retargetly.json)","extensions/amp-analytics/0.1/vendors/rudderstack.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rudderstack.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rudderstack.json)","extensions/amp-analytics/0.1/vendors/segment.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/segment.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/segment.json)","extensions/amp-analytics/0.1/vendors/sensorsanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/sensorsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/sensorsanalytics.json)","extensions/amp-analytics/0.1/vendors/shinystat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/shinystat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/shinystat.json)","extensions/amp-analytics/0.1/vendors/snowplow.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow.json)","extensions/amp-analytics/0.1/vendors/snowplow_v2.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow_v2.json)","extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json)","extensions/amp-analytics/0.1/vendors/taboola.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/taboola.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/taboola.json)","extensions/amp-analytics/0.1/vendors/tail.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tail.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tail.json)","extensions/amp-analytics/0.1/vendors/teaanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/teaanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/teaanalytics.json)","extensions/amp-analytics/0.1/vendors/tealiumcollect.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tealiumcollect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tealiumcollect.json)","extensions/amp-analytics/0.1/vendors/top100.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/top100.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/top100.json)","extensions/amp-analytics/0.1/vendors/topmailru.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/topmailru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/topmailru.json)","extensions/amp-analytics/0.1/vendors/treasuredata.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/treasuredata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/treasuredata.json)","extensions/amp-analytics/0.1/vendors/tribooanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tribooanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tribooanalytics.json)","extensions/amp-analytics/0.1/vendors/umenganalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/umenganalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/umenganalytics.json)","extensions/amp-analytics/0.1/vendors/upscore.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/upscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/upscore.json)","extensions/amp-analytics/0.1/vendors/vponanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/vponanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/vponanalytics.json)","extensions/amp-analytics/0.1/vendors/webengage.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webengage.json)","extensions/amp-analytics/0.1/vendors/webtrekk.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk.json)","extensions/amp-analytics/0.1/vendors/webtrekk_v2.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk_v2.json)","extensions/amp-story-auto-ads/0.1/_locales/af.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/af.json)","extensions/amp-story-auto-ads/0.1/_locales/am.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/am.json)","extensions/amp-story-auto-ads/0.1/_locales/ar.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ar.json)","extensions/amp-story-auto-ads/0.1/_locales/bg.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bg.json)","extensions/amp-story-auto-ads/0.1/_locales/bn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bn.json)","extensions/amp-story-auto-ads/0.1/_locales/bs.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bs.json)","extensions/amp-story-auto-ads/0.1/_locales/ca.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ca.json)","extensions/amp-story-auto-ads/0.1/_locales/cs.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/cs.json)","extensions/amp-story-auto-ads/0.1/_locales/da.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/da.json)","extensions/amp-story-auto-ads/0.1/_locales/de.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/de.json)","extensions/amp-story-auto-ads/0.1/_locales/el.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/el.json)","extensions/amp-story-auto-ads/0.1/_locales/en-GB.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en-GB.json)","extensions/amp-story-auto-ads/0.1/_locales/en.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en.json)","extensions/amp-story-auto-ads/0.1/_locales/es-419.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es-419.json)","extensions/amp-story-auto-ads/0.1/_locales/es.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es.json)","extensions/amp-story-auto-ads/0.1/_locales/et.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/et.json)","extensions/amp-story-auto-ads/0.1/_locales/eu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/eu.json)","extensions/amp-story-auto-ads/0.1/_locales/fa.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fa.json)","extensions/amp-story-auto-ads/0.1/_locales/fi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fi.json)","extensions/amp-story-auto-ads/0.1/_locales/fil.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fil.json)","extensions/amp-story-auto-ads/0.1/_locales/fr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fr.json)","extensions/amp-story-auto-ads/0.1/_locales/gl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gl.json)","extensions/amp-story-auto-ads/0.1/_locales/gu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gu.json)","extensions/amp-story-auto-ads/0.1/_locales/hi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hi.json)","extensions/amp-story-auto-ads/0.1/_locales/hr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hr.json)","extensions/amp-story-auto-ads/0.1/_locales/hu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hu.json)","extensions/amp-story-auto-ads/0.1/_locales/id.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/id.json)","extensions/amp-story-auto-ads/0.1/_locales/is.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/is.json)","extensions/amp-story-auto-ads/0.1/_locales/it.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/it.json)","extensions/amp-story-auto-ads/0.1/_locales/iw.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/iw.json)","extensions/amp-story-auto-ads/0.1/_locales/ja.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ja.json)","extensions/amp-story-auto-ads/0.1/_locales/ka.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ka.json)","extensions/amp-story-auto-ads/0.1/_locales/km.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/km.json)","extensions/amp-story-auto-ads/0.1/_locales/kn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/kn.json)","extensions/amp-story-auto-ads/0.1/_locales/ko.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ko.json)","extensions/amp-story-auto-ads/0.1/_locales/lo.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lo.json)","extensions/amp-story-auto-ads/0.1/_locales/lt.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lt.json)","extensions/amp-story-auto-ads/0.1/_locales/lv.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lv.json)","extensions/amp-story-auto-ads/0.1/_locales/mk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mk.json)","extensions/amp-story-auto-ads/0.1/_locales/ml.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ml.json)","extensions/amp-story-auto-ads/0.1/_locales/mn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mn.json)","extensions/amp-story-auto-ads/0.1/_locales/mr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mr.json)","extensions/amp-story-auto-ads/0.1/_locales/ms.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ms.json)","extensions/amp-story-auto-ads/0.1/_locales/my.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/my.json)","extensions/amp-story-auto-ads/0.1/_locales/ne.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ne.json)","extensions/amp-story-auto-ads/0.1/_locales/nl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/nl.json)","extensions/amp-story-auto-ads/0.1/_locales/no.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/no.json)","extensions/amp-story-auto-ads/0.1/_locales/pa.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pa.json)","extensions/amp-story-auto-ads/0.1/_locales/pl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pl.json)","extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json)","extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json)","extensions/amp-story-auto-ads/0.1/_locales/ro.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ro.json)","extensions/amp-story-auto-ads/0.1/_locales/ru.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ru.json)","extensions/amp-story-auto-ads/0.1/_locales/si.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/si.json)","extensions/amp-story-auto-ads/0.1/_locales/sk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sk.json)","extensions/amp-story-auto-ads/0.1/_locales/sl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sl.json)","extensions/amp-story-auto-ads/0.1/_locales/sq.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sq.json)","extensions/amp-story-auto-ads/0.1/_locales/sr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sr.json)","extensions/amp-story-auto-ads/0.1/_locales/sv.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sv.json)","extensions/amp-story-auto-ads/0.1/_locales/sw.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sw.json)","extensions/amp-story-auto-ads/0.1/_locales/ta.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ta.json)","extensions/amp-story-auto-ads/0.1/_locales/te.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/te.json)","extensions/amp-story-auto-ads/0.1/_locales/th.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/th.json)","extensions/amp-story-auto-ads/0.1/_locales/tr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/tr.json)","extensions/amp-story-auto-ads/0.1/_locales/uk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/uk.json)","extensions/amp-story-auto-ads/0.1/_locales/ur.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ur.json)","extensions/amp-story-auto-ads/0.1/_locales/vi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/vi.json)","extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json)","extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json)","extensions/amp-story-auto-ads/0.1/_locales/zu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zu.json)","extensions/amp-story/1.0/_locales/README.md":"# _locales Documentation\n\nPath: `extensions/amp-story/1.0/_locales/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/README.md)","extensions/amp-story/1.0/_locales/af.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/af.json)","extensions/amp-story/1.0/_locales/am.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/am.json)","extensions/amp-story/1.0/_locales/ar.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ar.json)","extensions/amp-story/1.0/_locales/bg.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bg.json)","extensions/amp-story/1.0/_locales/bn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bn.json)","extensions/amp-story/1.0/_locales/bs.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bs.json)","extensions/amp-story/1.0/_locales/ca.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ca.json)","extensions/amp-story/1.0/_locales/cs.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/cs.json)","extensions/amp-story/1.0/_locales/da.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/da.json)","extensions/amp-story/1.0/_locales/de.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/de.json)","extensions/amp-story/1.0/_locales/el.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/el.json)","extensions/amp-story/1.0/_locales/en-GB.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en-GB.json)","extensions/amp-story/1.0/_locales/en.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en.json)","extensions/amp-story/1.0/_locales/es-419.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es-419.json)","extensions/amp-story/1.0/_locales/es.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es.json)","extensions/amp-story/1.0/_locales/et.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/et.json)","extensions/amp-story/1.0/_locales/eu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/eu.json)","extensions/amp-story/1.0/_locales/fa.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fa.json)","extensions/amp-story/1.0/_locales/fi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fi.json)","extensions/amp-story/1.0/_locales/fil.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fil.json)","extensions/amp-story/1.0/_locales/fr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fr.json)","extensions/amp-story/1.0/_locales/gl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gl.json)","extensions/amp-story/1.0/_locales/gu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gu.json)","extensions/amp-story/1.0/_locales/hi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hi.json)","extensions/amp-story/1.0/_locales/hr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hr.json)","extensions/amp-story/1.0/_locales/hu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hu.json)","extensions/amp-story/1.0/_locales/id.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/id.json)","extensions/amp-story/1.0/_locales/is.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/is.json)","extensions/amp-story/1.0/_locales/it.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/it.json)","extensions/amp-story/1.0/_locales/iw.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/iw.json)","extensions/amp-story/1.0/_locales/ja.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ja.json)","extensions/amp-story/1.0/_locales/ka.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ka.json)","extensions/amp-story/1.0/_locales/km.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/km.json)","extensions/amp-story/1.0/_locales/kn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/kn.json)","extensions/amp-story/1.0/_locales/ko.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ko.json)","extensions/amp-story/1.0/_locales/lo.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lo.json)","extensions/amp-story/1.0/_locales/lt.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lt.json)","extensions/amp-story/1.0/_locales/lv.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lv.json)","extensions/amp-story/1.0/_locales/mk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mk.json)","extensions/amp-story/1.0/_locales/ml.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ml.json)","extensions/amp-story/1.0/_locales/mn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mn.json)","extensions/amp-story/1.0/_locales/mr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mr.json)","extensions/amp-story/1.0/_locales/ms.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ms.json)","extensions/amp-story/1.0/_locales/my.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/my.json)","extensions/amp-story/1.0/_locales/ne.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ne.json)","extensions/amp-story/1.0/_locales/nl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/nl.json)","extensions/amp-story/1.0/_locales/no.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/no.json)","extensions/amp-story/1.0/_locales/pa.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pa.json)","extensions/amp-story/1.0/_locales/pl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pl.json)","extensions/amp-story/1.0/_locales/pt-BR.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-BR.json)","extensions/amp-story/1.0/_locales/pt-PT.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-PT.json)","extensions/amp-story/1.0/_locales/ro.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ro.json)","extensions/amp-story/1.0/_locales/ru.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ru.json)","extensions/amp-story/1.0/_locales/si.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/si.json)","extensions/amp-story/1.0/_locales/sk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sk.json)","extensions/amp-story/1.0/_locales/sl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sl.json)","extensions/amp-story/1.0/_locales/sq.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sq.json)","extensions/amp-story/1.0/_locales/sr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sr.json)","extensions/amp-story/1.0/_locales/sv.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sv.json)","extensions/amp-story/1.0/_locales/sw.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sw.json)","extensions/amp-story/1.0/_locales/ta.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ta.json)","extensions/amp-story/1.0/_locales/te.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/te.json)","extensions/amp-story/1.0/_locales/th.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/th.json)","extensions/amp-story/1.0/_locales/tr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/tr.json)","extensions/amp-story/1.0/_locales/uk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/uk.json)","extensions/amp-story/1.0/_locales/ur.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ur.json)","extensions/amp-story/1.0/_locales/vi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/vi.json)","extensions/amp-story/1.0/_locales/zh-CN.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-CN.json)","extensions/amp-story/1.0/_locales/zh-TW.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-TW.json)","extensions/amp-story/1.0/_locales/zu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zu.json)","extensions/amp-viewer-integration/0.1/messaging/README.md":"# messaging Documentation\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/README.md)","extensions/amp-viewer-integration/0.1/messaging/package.json":"# Messaging Skill\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/package.json)","extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json":"# Integration Skill\n\nPath: `extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json)","build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md":"# Amp-__component_name_hyphenated__ Skill\n\nPath: `build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md)"},"files":{"extensions/amp-3q-player/amp-3q-player.md":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Embeds videos from 3Q SDN.\n---\n\n# amp-3q-player\n\nEnables AMP to embed videos from 3Q SDN into your websites.\n\n## Usage\n\nThe `amp-3q-player` component embeds videos from 3Q SDN onto an AMP page. The\ncomponent includes a video interface, and you can customize the `width` and\n`height` of the player. Specify a `responsive` layout to maintain a 16:9 video\naspect ratio.\n\n### Example\n\n```html\n<amp-3q-player\n  data-id=\"c8dbe7f4-7f7f-11e6-a407-0cc47a188158\"\n  layout=\"responsive\"\n  width=\"480\"\n  height=\"270\"\n></amp-3q-player>\n```\n\n## Attributes\n\n### data-id\n\nThe `data-id` attribute specifies the appropriate `sdnPlayoutId` from 3Q SDN.\n\n### autoplay (optional)\n\nIf the `autoplay` attribute is present, and the browser supports autoplay, the\nfollowing behaviors are enabled:\n\n-   The video automatically mutes before autoplay starts.\n-   When the user scrolls the video out of view, the video pauses.\n-   When the user scrolls the video into view, the video resumes.\n-   The video unmutes when the user taps it.\n\nIf the user interacts with the video and then scrolls it into or out of view,\nthe state of the video remains the same. For example, if the user pauses the\nvideo, scrolls the video out of view and then scrolls back up to it, the video\nremains paused.\n\n### Common attributes\n\nThe `amp-3q-player` component includes the [common attributes](https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes)\nthat are extended to all AMP components.\n\n## Validation\n\nSee [amp-3q-player rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3q-player/validator-amp-3q-player.protoascii)\nin the AMP validator specification.\n","extensions/README.md":"# AMP HTML Extensions\n\nAMP Extensions are either extended components or extended templates.\n\n## AMP HTML Extended Components\n\nExtended components must be explicitly included into the document as custom elements.\n\nFor example, to include a YouTube video in your page\ninclude the following script in the `<head>`:\n\n```html\n<script\n  async\n  custom-element=\"amp-youtube\"\n  src=\"https://cdn.ampproject.org/v0/amp-youtube-0.1.js\"\n></script>\n```\n\n## Current list of components\n\nSee the [Components](https://www.ampproject.org/docs/reference/components) list.\n\n## AMP HTML Extended Templates\n\nSee the [AMP template spec](../docs/spec/amp-html-templates.md) for details about supported templates.\n","extensions/amp-a4a/rtc-documentation.md":"# AMP Real Time Config\n\n## Objective\n\nFor AMP Fast Fetch, support publisher-specified, multiple, simultaneous callouts in order to augment targeting information included in the ad request.\n\n## Background\n\nRemote HTML support was added for Delayed Fetch to support first-party cookie targeting. This was because AMP does not allow custom JavaScript, and pages served from the AMP cache are identical for each user. However, Remote HTML leverages the fact that custom JavaScript execution occurs as a part of generating an ad request via Delayed Fetch. Fast Fetch allows for sending the ad request early by moving all code related to ad generation within the AMP runtime, disallowing any custom JavaScript as part of ad request creation. Therefore Fast Fetch is incompatible with Remote HTML. Real Time Config (RTC) has been added as an optional feature of Fast Fetch to allow for publishers to add user-targeting information to ad requests from AMP pages in a generic way that can be utilized by any ad networks, and any user-targeting vendors. Common use cases for RTC are to retrieve 1st party or 3rd party data, or to integrate 3rd party demand, also known as Header Bidding.\n\n## Overview\n\nThe design of RTC is per-slot, with a **maximum of 5 parallel callouts allowed per slot**. RTC is usable by any Fast Fetch network implementation. Call-outs for all slots will be sent as soon as possible. There are two different types of callouts that will be supported:\n\n### Custom URL callout\n\nThe publisher specifies a custom URL that should be called out to. For example, a publisher may specify their own targeting server as a custom URL. If the ad network in use supports macro substitution for custom URLs, the publisher may specify macros in the URL. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\n### Vendor-specified URL Callout\n\nRTC supports call-outs to third-party vendors. For example, take VendorFooBar which provides an API service that returns similar interests when provided a given interest (i.e. \"baseball\" yields [\"sports\", \"apple-pie\"]). If VendorFooBar wants publishers to be able to use them for RTC call outs, they simply add their call-out url with built-in macros to the AMP RTC vendor registry. Then publishers specify that they want to call out to VendorFooBar, and supply the value to substitute into the macro. This gives the Vendor complete control over the actual URL, with the Publisher only needing to supply the relevant inputs. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\nIn both cases, the results of these call-outs are passed to the Fast Fetch implementations as part of ad url construction via the **`getAdUrl`** method. The ad network Fast Fetch implementation then uses results of these callouts to generate the ad URL. The semantics of how the ad network uses the RTC results to general the ad URL is specific to each individual network's implementation of Fast Fetch, so please refer to network-specific documentation for details.\n\n## Design\n\n### Per-Slot RTC Specification\n\nPublishers may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleB.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleB.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   For example, in the Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see [Vendor URL Specification](#vendor-url-specification)). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL. You may also set the value of a macro as a JSON object or array. This JSON object will be stringified automatically prior to replacement in the URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array of strings or objects.\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a `url` and an `errorReportingUrl` as URL strings. Note that all URL strings must be secure (i.e. start with HTTPS). The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the `url` within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](#rtc-error-pingback) section below for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of rtc-config are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Vendor URL Specification\n\nTo spare publishers the details of having to construct URLs for external vendors, vendors may register a URL with macros in a central file called [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js), which maps unique vendor names to an object which includes a URL and a list of allowed macros that can be substituted into `url`. Vendors may include these macros in their URLs, which publishers can then specify the value for. Additionally, vendors may specify an `errorReportingUrl`. This errorReportingUrl will be sent 1% sampled-per-page errors from callouts to their RTC endpoint. For instance:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nThe only valid strings that can be replaced for a given URL are specified by the `macros` array. In the above example, the only valid macro to replace in `https://vendor1.com/slot_id=SLOT_ID` is `\"SLOT_ID\"`.\n\nThe `macros` attribute is optional, i.e. a vendor could specify a URL that has no macros to substitute in.\n\nAdditionally, macros can be substituted in by the Fast Fetch implementation itself. The URL for a vendor will be expanded with the correct macro values prior to callout. See [URL Macro Substitution](#url-macro-substitution) section below for detailed explanation and example.\n\nThe `errorReportingUrl` property is optional. The only available macros are ERROR_TYPE and HREF. See [RTC Error Pingback](#rtc-error-pingback) section below for more information on how error reporting works.\n\n#### Currently Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   Denakop\n-   FLUX\n-   Freestar\n-   Future Plc\n-   Galaxie Media\n-   Highfivve\n-   Hubvisor\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   Navegg\n-   NewsPassID\n-   Nexx360.io\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://www.pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   Sonobi\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n### RTC Callout Request Specification\n\nRTC callout requests are sent from the AMP runtime with the following headers:\n\n-   Accept: application/JSON\n-   Origin: Whatever the origin of the page is.\n-   Referer: Referer URL\n-   User-Agent: Standard user-agent information\n\nAdditionally, query string parameters are optionally sent as per the specification of the URL.\n\nRTC requests are sent using the [fetchJson method defined in xhr-impl.js.](https://github.com/ampproject/amphtml/blob/main/src/service/xhr-impl.js#L213) For RTC, in practice this is a GET request.\n\nRTC requests are only sent to HTTPS endpoints.\n\n### RTC Callout Endpoint and Response Specification\n\nThe RTC endpoint must respond to the RTC GET request with a valid JSON object of targeting information to insert into the ad request URL. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nResponses from one RTC callout do not affect any of the other RTC callouts. All requests are independent of each other.\n\nThe RTC callout endpoint must use HTTPS. HTTP requests are forbidden.\n\nThe RTC Response to a GET request must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   **<code>{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}</code>**</strong>\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### RTC Error Pingback\n\nRTC supports sending a 1% per-page sampling of RTC errors to specified errorReportingUrl's. (I.e. 1% of pages will send RTC error pingbacks for all RTC errors that occur on that page). For any given RTC callout URL, a corresponding errorReportingUrl may be specified, which will receive pings for, and only for, errors that resulted from the associated RTC callout. For example, you can not specify one errorReportingUrl that receives batched pings for all RTC callouts from a page. The errorReportingUrl must be a secure URL that uses HTTPS.\n\nVendors may specify an errorReportingUrl within their config in callout-vendors.js, e.g.:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nFor custom URLs specified by a publisher directly on the RTC Config, they specify the errorReportingUrl by setting values in the \"url\" array as an object, instead of a string, e.g.:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              {\"url\": \"https://www.AmpPublisher.biz/targetingB\",\n               \"errorReportingUrl\": \"https://www.AmpPublisher.biz?e=ERROR_TYPE&h=HREF\"}\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nIn both cases, the requirements for an errorReportingUrl are the same:\n\n-   errorReportingUrl must use HTTPS.\n-   Response should be an empty 200.\n-   errorReportingUrl may utilize two available macros that will be substituted in:\n    -   **ERROR_TYPE** - Will be sent as an enum value that corresponds to values in `RTC_ERROR_ENUM` found in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js).\n    -   **HREF** - The actual full URL of the page. Equivalent to historical value of AMP's window.context.location.href.\n\nThe error ping will be sent by creating an image pixel in the document. See `sendErrorMessage` in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js) for implementation details.\n\n### AMP Consent Integration\n\nThe AMP-Consent extension provides publishers the ability to collect and store a user's consent through a UI control, while also providing the ability to block other AMP components based on the user's consent. See [here for documentation](https://github.com/ampproject/amphtml/blob/main/extensions/amp-consent/amp-consent.md).\n\nReal Time Config supports integration with AMP-Consent. If the AMP-consent response is neither `SUFFICIENT` nor `UNKNOWN_NOT_REQUIRED`, then by default all RTC callouts are suppressed. However, you may optionally modify this setting, to allow specific RTC callouts that should be sent regardless of the consent state. A publisher can modify this across all RTC requests for a given ad slot or on a per-RTC-callout basis. A publisher also may either permit all consent states, or only specific consent states, using the RTC Config attribute `sendRegardlessOfConsentState`.\n\nThe value of `sendRegardlessOfConsentState` should either be the boolean `true` or an array of consent policy state strings as defined in src/core/constants/consent-state.js (i.e. use the string keys, like`\"UNKNOWN\"` not its corresponding numeric value). In a case where the RTC callout would normally be supressed (for example if the AMP-consent response is `UNKNOWN`), it will instead be sent if `sendRegardlessOfConsentState` is set to boolean `true` or an array of values that contains a match for the AMP-consent state response (e.g. `['UNKNOWN']`). If set to an array, then only the values in that array (in addition to the defualt values of `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) are treated as valid.\n\nThe setting of `sendRegardlessOfConsentState` can either be done once for the entire ad slot by setting it as a top-level attribute on the RTC Config, or be done individually by setting it on any individual callouts as needed. If it is set at both the top-level and per-callout level, then if there is a mismatch, the per-callout level \"wins\". This is detailed below in the examples.\n\nHere are various examples of how to do this for any given ad slot:\n\n#### Allow all RTC callouts for all consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` at top-level to `true`, this indicates that for any consent state, all of the callouts in this RTC configuration should still be sent.\n\n#### Allow all RTC callouts for only certain consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` to an array, this indicates that only when the page consent state matches any of the consent states in the array (in this case only `UNKNOWN` in addition to the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) should all of the RTC callouts still be sent. For instance, if the page state is `INSUFFICIENT`, then none of the callout specified above will be sent. If the page state is `UNKNOWN`, then all of the callouts will be sent.\n\n#### Allow some RTC callouts in the \"url\" array\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": true},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first URL in the array \"urls\". Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to `https://www.AmpPublisher.biz/targetingA`.\n\nIs is also possible to set `sendRegardlessOfConsentState` here to an array as well, such as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\", \"INSUFFICIENT\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\n#### Allow some RTC callouts in the \"vendors\" object\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first vendor in the \"vendors\" object. Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to vendorA.\n\n#### Mixture of settings\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"INSUFFICIENT\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n               {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n              ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nIn this example, we have a mixture of various settings. In addition to all the callouts allowing the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`, VendorA is set to allow page consent-state `INSUFFICIENT`, the first url in the `urls` array only state `UNKNOWN`, and the top-level setting across all the RTC callouts is set to `true`, indicating that we should send all RTC callouts regardless of consent-state. How do we reconcile these various values? As explained above, in the case where a top-level setting and a per-callout setting disagree, the per-callout setting wins.\n\nLet's first take an example where the page consent-state is `SUFFICIENT`. This is a default allowed state, so trivially all the callouts will be sent.\n\nNext, let's take an example where the page consent-state is `UNKNOWN`. The callout to vendorA is set to allow consent-state `INSUFFICIENT`, so it will not be sent. The callouts to vendorB and vendorC do not have individual `sendRegardlessOfConsentState` settings, so the top-level setting of `true` applies to them, and they will each be sent. In the `urls` array, the first URL has an individual setting of `UNKNOWN`, which is the current state, so it will be sent. Lastly, the final url does not have an individual setting, so the top-level setting of `true` applies to it, and it will be sent.\n\n### Blocking RTC\n\nThe `block-rtc` provides a way to utilize the `<amp-geo>` component to detect user's geo location to decide if a RTC callout should be prevented. The value of `block-rtc` should be a comma delimited string of geo group codes which are defined in `<amp-geo>` (details [here](https://github.com/ampproject/amphtml/blob/main/extensions/amp-geo/amp-geo.md)). If no `<amp-geo>` element is found or no valid value for this attribute, then the RTC callout will occur as normal.\n\n```html\n<amp-ad\n  width=\"300\"\n  height=\"200\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  block-rtc=\"geoGroup1,geoGroup2\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n\n<amp-geo>\n  <script type=\"application/json\">\n    {\n      \"ISOCountryGroups\": {\n        \"geoGroup1\": [ \"preset-eea\", \"unknown\" ],\n        \"geoGroup2\": [ \"preset-us-ca\" ]\n      }\n    }\n  </script>\n</amp-geo>\n```\n\n### URL Macro Substitution\n\nRTC supports macro substitution for building callout URLs. These macros can be specified by vendors, and by Fast Fetch implementations.\n\n#### Vendor Defined Macros\n\nA vendor can specify macros for substitution in their URL. The only requirement to do this is to include text in their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) that is intended to be replaced.\n\n**Example**\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/foo?slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\n##### Example 2: Use of Vendor URLs\n\nIf a publisher wishes to callout to vendor1, then they would specify their RTC config as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor1\": {\"SLOT_ID\": \"1234\"}\n              }\n            }'\n>\n</amp-ad>\n```\n\nThe resulting RTC callout URL will then be, after macro expansion:\n\n**`https://vendor1.com/foo?slot_id=1234`**\n\n#### Fast Fetch Implementation Defined Macros\n\nIn addition to vendor-defined macros, with publishers specifying the values for substitution, there is also the ability to utilize macros defined by the Fast Fetch implementation. For example, imagine if there is a property, **fooProp,** of the element **fooEl** that is only calculated at runtime. A Fast Fetch network that wants to support optionally adding the value of fooProp to RTC callout URLs that it sends can do so by overriding the method [getCustomRealTimeConfigMacros on AmpA4a ](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/0.1/amp-a4a.js)in their Fast Fetch implementation. The method should return a mapping of macros to values or functions that resolve to a value.\n\n##### Example 3: Fast Fetch implementation defined macros\n\nFor example, Ad Network AmpAdCom overrides the property in their Fast Fetch Implementation:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    ‘FOO_PROP’: getElementById(‘fooEl’).getAttribute(‘fooProp’),\n    ‘OTHER_PROP’: ‘staticValue’\n  }\n}\n```\n\nThen, publishers and vendors alike would be able to specify the macro FOO_PROP in their URL, and the value would be substituted in at runtime by the Fast Fetch implementation.\n\n##### Vendor Macro Substitution with Fast Fetch Network Macro Substitution\n\nIt is possible for a vendor to specify macros in their URL into which the Fast Fetch implementation will substitute values, in addition to their own custom macros that the publisher may specify in the rtc-config. Take the following example:\n\n###### Example 4\n\nVendor1 wants to allow publishers to substitute in the value of the slot_id, and allow the Fast Fetch network implementation to substitute in the start time. Thus, they define their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) as follows. Note, the vendor only lists SLOT_ID in the macros array, even though SLOT_ID and START are both macros in their URL. The macros array is a list of macros that can be utilized by the publisher. Fast Fetch will always attempt to substitute in network-defined macros, regardless of whether they are defined in the macros array.\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID&start_time=START\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\nThe Fast Fetch implementation has overridden **getCustomRealTimeConfigMacros**, and supports the macro 'START', as seen here:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now()\n  }\n}\n```\n\nFinally, a publisher who wishes to use Vendor1 with AmpAdCom's Fast Fetch implementation defines their rtc-config as:\n\n```html\n<!-- ampPublisher.biz/some/example/page.html -->\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor1\": {\"SLOT_ID\": \"1234\"}\n                }\n              }'\n>\n</amp-ad>\n```\n\nAfter URL macro expansion, the resulting URL is then\n\n```http\nhttps://vendor1.com/slot_id=1234&start_time=1508508227577\n```\n\n##### Conflicting macro substitution\n\nIt is possible, but inadvisable, to have a situation where a vendor specifies the same macro as the Fast Fetch network, i.e. in the above example if **getCustomRealTimeConfigMacros** was defined as\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'SLOT_ID': '5678'\n  }\n}\n```\n\nThere is a collision in this case, because the Fast Fetch network is specifying a value to substitute for SLOT_ID, but the vendor has declared SLOT_ID as their custom macro, and the publisher is then trying to substitute in '1234' as the value. In a case like this, the Fast Fetch implementation always wins, i.e. the final URL would be:\n\n```http\nhttps://vendor1.com/slot_id=5678&start_time=1508508227577\n```\n\n### RTC Callout Result Merging\n\nThe merging of the results of the RTC callouts into the ad request URL is determined by the Fast Fetch network implementation, and thus may vary. Please refer to the specific documentation for the Fast Fetch implementation in use, for instance refer to the DoubleClick RTC documentation if using DoubleClick for Fast Fetch.\n\n### Error Cases\n\nListed below are the most prominent error cases in RTC. For usage of the following error cases, see [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js)\n\n##### Misconfigured RTC Config\n\nIf the RTC config specified by the publisher does not meet the specification defined in this document, an error will be logged to the console, and RTC will be aborted.\n\n##### Bad JSON Response\n\nIf the response from an RTC callout is not valid JSON, i.e. JSON.parse fails, the response is dropped and ignored. An error is logged to the console.\n\n##### Duplicate Callout URLs\n\nRTC does not allow multiple callouts to identical URLs. Multiple callouts to the same domain are allowed, provided something in the path is different. I.e.\n\nThis is not allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=1234`\n   </td>\n  </tr>\n  <tr>\n   <td>Not allowed\n   </td>\n  </tr>\n</table>\n\nThis is allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=5678`\n   </td>\n  </tr>\n  <tr>\n   <td>Allowed\n   </td>\n  </tr>\n</table>\n\nIn the case that more than one callout is attempted to be sent to the same URL, only one will be sent, and an error will be logged to the console for each subsequent attempt to send a callout to that URL.\n\n##### Insecure URLs\n\nAll RTC requests must be sent to valid SSL endpoints. An attempt to send a request to a URL that does not start with `https://` will be dropped. An error will be logged to the console.\n\n##### Maximum Callouts Exceeded\n\nRTC only allows a maximum of 5 RTC callouts to be sent per ad slot. Whether or not a valid response is received is irrelevant. If a request is dropped prior to actually being sent, it does not count against this limit. For instance, if a publisher specifies 7 URLs to send callouts to, and 2 of them get dropped due to being insecure URLs, then only 5 callouts will actually be sent. In the case that more than 5 callouts are attempted to be sent, only the first 5 will be, and all subsequent callouts will be ignored. An error will be logged to the console for each dropped callout.\n\nA publisher's custom URLs take precedence over vendor URLs, and are called out in the order in which they were specified. Then, the vendor URLs are called out, also in the order in which they were specified.\n\n##### Network Failure\n\nIf the XHR GET fails somehow, for example, if network connectivity is lost, the request is lost and an error is logged to the console.\n\n##### Unknown Vendor\n\nIf a publisher specifies a vendor in their RTC-config that is not actually declared in callout-vendors.js, an error is logged to the console, and no request is sent.\n\n##### Timeout\n\nThe timeout is either the default timeout of 1000ms, or a shorter timeout specified by the publisher in the RTC-config. If the time for a callout to complete exceeds the timeout, the request is dropped and an error is logged.\n\n### Single Request Architecture (SRA) Support\n\nThere is no SRA support at this time. In the event that SRA and RTC are attempted to be used on the same page, RTC will take precedence, and SRA will not be used.\n\n## End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up **amp-ad-network-fadnetwork-impl.js** and check the implementation of **getCustomRealTimeConfigMacros**:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"fadnetwork\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor-a\": {\"SLOT_ID\": \"1\"},\n                  \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n                  \"vendorc\": {}\n                },\n                \"urls\": [\n                  \"https://www.AmpPublisher.biz/A\",\n                  \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n                ],\n                \"timeoutMillis\": 750\n              }'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![Image of RTC Callout Sequence Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {\"vacation\": [\"beach\", \"city\"]}}\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\nAmpA4a builds a promise to an array of RTC Response Objects, and passes that Promise to **getAdUrl** in FadNetwork's Fast Fetch Implementation, which then resolves this promise.\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n\n  /** @override */\n  getAdUrl(opt_rtcResponsesPromise) {\n    return opt_rtcResponsesPromise.then(rtcResponseArray => {\n      buildAndSendAdUrl(rtcResponseArray);\n    });\n  }\n}\n```\n\nIn this specific case, the Promise resolves to the following array:\n\n```js\n[\n  /** Callout 1 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}',\n    rtcTime: 685,\n    callout: 'www.AmpPublisher.biz',\n  },\n\n  /** Callout 2 RTC Response Object */\n  {error: 'timeout', rtcTime: 750, callout: 'www.amptgt.biz'},\n\n  /** Callout 3 RTC Response Object */\n  {error: 'malformed_json_response', rtcTime: 580, callout: 'vendora'},\n\n  /** Callout 4 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}',\n    rtcTime: 700,\n    callout: 'vendor-b',\n  },\n\n  /** Callout 5 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}',\n    rtcTime: 730,\n    callout: 'vendorc',\n  },\n];\n```\n\n**Example of Resolved Value of opt_rtcResponsesPromise passed to getAdUrl**\n\n**_Explanation of Errors in RTC Responses _**\n\n_Callout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console._\n\n_Callout 3 returns unparseable JSON, so it gets dropped and an error is logged._\n\n_Callout 1, 4, and 5 all return valid JSON and cause no errors_\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\n**Result of merging successful RTC Callouts 1, 4, and 5**\n\nFadNetwork then constructs and encodes their Ad URL as:\n\n```http\nhttps://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D\n```\n\n**FadNetwork's resulting Ad Request URL (use decodeURI to see original json)**\n\nFrom this point forward, all Fast Fetch behavior is exactly the same as non-RTC use cases, and regular Fast Fetch documentation may be consulted for additional questions.\n","extensions/amp-3d-gltf/amp-3d-gltf.md":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Displays GL Transmission Format (gITF) 3D models.\n---\n\n# amp-3d-gltf\n\n## Usage\n\nThe `amp-3d-gltf` component displays 3D models that are in gITF format.\n\n[tip type=\"note\"]\nYou must use a [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)-capable browser to display 3D models.\n[/tip]\n\n### Example\n\n```html\n<amp-3d-gltf\n  layout=\"responsive\"\n  width=\"320\"\n  height=\"240\"\n  alpha=\"true\"\n  antialiasing=\"true\"\n  src=\"path/to/model.glb\"\n></amp-3d-gltf>\n```\n\n### Compatibility\n\nThe component supports [glTF 2.0](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras),\nwith the following exceptions:\n\n-   Embedded cameras\n-   Animation\n\n### Set CORS headers\n\nThe `amp-3d-gltf` component makes a fetch request to the origin from\n`https://<random>.ampproject.net` when it requests the gltf file. Set\n`access-control-allow-origin:*.ampproject.net` on the response header of the\n`src` endpoint to avoid\n[CORS issues when served from an AMP cache](https://amp.dev/documentation/guides-and-tutorials/learn/amp-caches-and-cors/amp-cors-requests/?format=websites).\nUse a wildcard character to address the `<random>` subdomain component.\n\n## Attributes\n\n### src\n\nThe `src` attribute specifies the gltf file location.\n\n### alpha (optional)\n\nUse the `alpha` attribute to specify the behavior of the canvas background.\nThis attribute takes a boolean value. To enable transparency instead of the\ndefault white, set the value to `true`.\n\n### antialiasing (optional)\n\nUse the `antialiasing` attribute to specify whether to enable antialiasing. To\nenable antialiasing, set the value to true.\n\n### clearColor (optional)\n\nThe `clearColor` attribute specifies a CSS color, such as #FF8C00. This color\nfills free space on the canvas.\n\n### maxPixelRatio (optional)\n\nThe `maxPixelRatio` attribute specifies an upper limit for the `pixelRatio`\nrender option. It defaults to `window.devicePixelRatio`.\n\n### autoRotate (optional)\n\nUse the `autoRotate` attribute to enable automatic rotation around the model's\ncenter. To enable rotation, set the value to `true`. `autorotate` defaults to\n`false`.\n\n### enableZoom (optional)\n\nUse the `enableZoom` attribute to disable zooming in and out of the model. To\ndisable zoom, set the value to `false`. `autororate` defaults to `true`.\n\n### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"GLTF 3D model\"`.\n\n## Actions\n\n### setModelRotation\n\nThe `setModelRotation` action specifies the model's rotation. The rotation order\nis ZYX.\n\n-   Specify the rotation value of the x, y, and/or z axis with `x`, `y`, and/or\n    `z` arguments. This action accepts a number between 0 and 1. It defaults to the\n    previous value.\n-   Specify the angle of rotation in radians with `xMin`, `xMax`, `yMin`, `yMax`,\n    and/or `zMin`, `zMax` arguments. Use a min and a max to define the target range.\n    The angle range defaults to `0 / pi * 2`.\n\nThe following action changes the x axis of the component’s rotation to 1.57 when fired.\n\n```json\nsetModelRotation((x = 0.5), (xMin = 0), (xMax = 3.14))\n```\n\n## Styling\n\nHere are a few things to keep in mind for style:\n\n-   The `alpha` attribute specifies transparency.\n-   The `clearColor` attribute specifies the color of the background if it isn't transparent.\n-   `amp-3d-gltf` defaults to a white background if you don't specify a background color.\n\n## Validation\n\nSee [amp-3d-gltf rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3d-gltf/validator-amp-3d-gltf.protoascii)\nin the AMP validator specification.\n","extensions/amp-a4a/refresh.md":"# AMP Ad Refresh\n\nAMP Ad Refresh permits amp-ad tags using Fast Fetch to undergo periodic refresh events. Each such event issues a new ad request and attempts to display the returned creative.\n\n### Network Configuration\n\nFor a network to make use of Refresh, its corresponding implementation must create an instance of RefreshManager and call\n`initiateRefreshCycle`. The simplest way to do so is to use the exported `getRefreshManager` function from refresh-manager.js:\n\n```javascript\nimport {getRefreshManager} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshManager = getRefreshManager(this);\nrefreshManager.initiateRefreshCycle();\n```\n\nWhile `getRefreshManager` is convenient, it does not allow for customization. It returns a RefreshManager with default configurations (specified in the table below). To customize the RefreshManager, you must invoke its constructor directly:\n\n```javascript\nimport {\n  getRefreshManager,\n  getPublisherSpecifiedRefreshInterval,\n} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshConfig = {\n  /* see table below for configuration parameters */\n};\nconst refreshInterval = getPublisherSpecifiedRefreshInterval(\n  this.element,\n  this.win\n);\nconst refreshManager = new RefreshManager(this, refreshConfig, refreshInterval);\nrefreshManager.initiateRefreshCycle();\n```\n\nOptionally, a network may override AmpA4A's `refresh` method, which would allow it to insert custom logic in between refresh events. Note: RefreshManager passes a callback to `refresh` which must be invoked in order to reset the cycle; if it is not invoked, the RefreshManager will become idle until either the callback or `initiateRefreshCycle` is called. If `refresh` is not overridden, this is handled automatically by AmpA4A.\n\n<table>\n  <tr>\n    <td>Parameter</td>\n    <td>Description</td>\n    <td>Permitted Values</td>\n    <td>Default Value</td>\n  <tr>\n    <td>visiblePercentageMin</td>\n    <td>The minimum ratio of creative pixels that must be on screen before the refresh timer is started.</td>\n    <td>Must be an integer between 0 and 100, inclusive.</td>\n    <td>50%</td>\n  </tr>\n  <tr>\n    <td>continuousTimeMin</td>\n    <td>The amount of continuous time, in seconds, that the creative must be on screen before the refresh timer is started.</td>\n    <td>Any positive numerical value.</td>\n    <td>1 s</td>\n  </tr>\n</table>\n","extensions/amp-a4a/rtc-publisher-implementation-guide.md":"## AMP RTC Publisher Implementation Guide\n\n### Introduction\n\nThis implementation guide is intended for publishers who wish to begin using Real Time Config in their AMP Pages.\n\n### Background\n\nFor full details and background, please refer to the [RTC Documentation](./rtc-documentation.md). This is designed to be a simplified guide.\n\nAMP Real Time Config (RTC) is a new feature of Fast Fetch that allows Publishers to augment their ad requests with targeting information that is retrieved at runtime. Previously, all targeting data for Fast Fetch ad requests had to be statically defined on the amp-ad element. RTC allows up to 5 callouts to targeting servers for each individual ad slot, the results of which are appended to the ad request.\n\n### Requirements for Use\n\nTo use RTC, you must meet the following requirements:\n\n-   Use an ad network that supports Fast Fetch and AMP RTC\n-   Set the `rtc-config` attribute on each amp-ad element for which RTC is to be used, as specified below.\n\n<!-- markdown-link-check-disable -->\n\n### Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   FLUX\n-   [Freestar](https://freestar.com)\n-   Future Plc\n-   [Highfivve](https://highfivve.com)\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Newspassid\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n<!-- markdown-link-check-enable -->\n\n### Overview\n\nTo use RTC, specify the `rtc-config` attribute on each `amp-ad` element for which RTC should be performed. The `rtc-config` specifies a list of third-party vendors and/or publisher-defined URLs, which should be called to retrieve targeting information. The default timeout for these callouts is 1 second, but the publisher may optionally specify a shorter timeout.\n\nEach individual RTC callout has this 1 second timeout imposed on it, but the callouts are sent quickly one after the other and execute in parallel.\n\n<table>\n  <tr>\n   <td>\n\n<img src=\"./RTCDiagram2.png\" width=\"\">\n\n   </td>\n  </tr>\n  <tr>\n   <td>Figure 1: RTC Callouts Timing Diagram\n<p>\n<em>Note, starting times for the diagrams have been spaced out for display purposes only. In reality, all RTC callouts are sent out faster.</em>\n   </td>\n  </tr>\n</table>\n\nExample from Figure 1:\n\n-   RTC Callout 1 starts at 0ms, and returns at 780ms, for a total time of 780ms. It does not timeout.\n-   RTC Callout 2 starts at 20ms, and returns at 760ms, for a total time of 740ms. It does not timeout.\n-   RTC Callout 3 starts at 50ms, and doesn't return until 1125ms, for a total time of 1075ms. This time surpasses the timeout of 1000ms. Thus, the request is resolved as an empty response by real-time-config-manager at 1050ms, when exactly 1000ms has elapsed from the perspective of RTC Callout 3. The ultimate response from RTC Callout 3 is dropped.\n-   RTC Callout 4 starts at 75ms, and returns at 760ms, for a total time of 685ms. It is not timed out.\n-   RTC Callout 5 starts at 100ms, and returns at 1010ms, for a total time of 910ms. It is not timed out. Note that RTC Callout 5 finishes more than 1000ms after the first RTC Callout is started.\n\nThe publisher-defined URLs take precedence over the vendor-defined ones, i.e. if a publisher specifies 5 custom URLs, and 5 vendors, only the 5 custom URLs will be called out to. The vendor- and publisher-defined URLs allow for macro substitution to build the callout URL. For instance, a publisher may specify the macro values that they wish to substitute into the vendor-defined url, or a publisher may define macros in their custom URL into which the ad network Fast Fetch implementation may substitute values.\n\nOnce a publisher has defined `rtc-config` on an amp-ad, all the work is done for them. When a user navigates to the page, as part of the Fast Fetch execution, all specified RTC callouts will be sent as early as possible to the desired endpoints, and the resulting targeting information will be merged into the ad request. The semantics of how the targeting information is merged is customized by the Fast Fetch Ad Network implementation. For details on how it will be merged, please refer to the documentation for whichever ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### Setting up RTC Config\n\nYou may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC Specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"URLs\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleb.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleb.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   E.g., in Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see Vendor URL Specification below). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a \"url\" and an \"errorReportingUrl\". The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the \"url\" within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/rtc-documentation.md#rtc-error-pingback) for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of `rtc-config` are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Setting up an Endpoint\n\nIf a publisher wants to set up their own custom server to receive and respond to RTC callouts, they must meet the following specifications:\n\n#### Response and Endpoint Specification\n\nThe RTC endpoint must respond to the GET request with an object of targeting information to be inserted into the ad request url. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nThe endpoint must use HTTPS.\n\nThe RTC Response to a GET must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   `{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}`\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network-specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### Merging RTC Results into Ad Requests\n\nThe merging of the results of RTC is defined per ad network. AMP RTC simply provides the results of all the callouts to getAdUrl for the given network. For specifics on how the results of RTC will be used as part of the ad request, please refer to documentation specific to the ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up amp-ad-network-fadnetwork-impl.js and check the implementation of getCustomRealTimeConfigMacros:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor-a\": {\"SLOT_ID\": \"1\"},\n              \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n              \"vendorc\": {}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/A\",\n              \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![RTC Timing Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {'vacation': \"beach\" : 'city'\"\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\n**_Explanation of Errors in RTC Responses_**\n\nCallout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console.\n\nCallout 3 returns unparseable JSON, so it gets dropped and an error is logged.\n\nCallout 1, 4, and 5 all return valid JSON and cause no errors.\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\nThis targeting information is then added to the Ad Request URL however FadNetwork's implementation dictates.\n\n<table>\n  <tr>\n   <td><code>https://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D</code>\n   </td>\n  </tr>\n  <tr>\n   <td>FadNetwork's resulting Ad Request URL (use decodeURI to see original json)\n   </td>\n  </tr>\n</table>\n","extensions/amp-access-fewcents/amp-access-fewcents.md":"---\n$category@: presentation\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the Fewcents micropayments platform.\n---\n\n# amp-access-fewcents\n\n-   The `amp-access-fewcents` component is based on, and requires [`amp-access`](../amp-access/amp-access.md)\n-   amp-access-fewcents is built to be used with amp pages which internally uses amp-access to provide a behavior similar to amp-access, but built in such a way that it can be used with Fewcents.\n-   amp-access-fewcents component does not require an authorization, pingback or login configuration, because it is pre-configured to work with the Fewcents. You just need to pass or configure the extension according to your need like primary color for button, Publisher's can have their logo on the paywall.\n-   This component also relies on Access Content Markup to show and hide content.\n\n## Usage\n\n### The configuration on the pulisher end will look like this\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Where as the content access markup could end up looking like this:\n\nThe example below demonstrates `amp-access-fewcents` component in standalone use.\n\n```html\n  <section amp-access=\"NOT access\" amp-access-hide>\n    <div id=\"amp-access-fewcents-dialog\"></div>\n  </section>\n\n  <section amp-access=\"error\" amp-access-hide class=\"error-section\">\n    Oops... Something broke.\n  </section>\n\n  <div amp-access=\"access\" amp-access-hide>\n    <p>\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n      ullamcorper turpis vel commodo scelerisque. Phasellus luctus nunc ut\n      elit cursus, et imperdiet diam vehicula. Duis et nisi sed urna blandit\n      bibendum et sit amet erat. Suspendisse potenti.\n    </p>\n  </div>\n```\n\nElement div with id `amp-access-fewcents-dialog` is where the paywall will going to show up when user don't have the access to the article.\n\n### The following resources provide further documentation on using Fewcents with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [Fewcents](https://www.fewcents.co/)\n\n## Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Keys summary:\n\n-   `vendor` : This is mandatory to pass and its value is \"fewcents\"\n-   `publisherLogoUrl` : Url of image of the publisher logo in the format of png.\n-   `contentSelector` : Id of div element where paywall will be rendered\n-   `primaryColor` : Background colour of the unlock button, else default colour will be used\n-   `accessKey` : This will be provided by fewcents to the publisher\n-   `categoty` : Represent catetory of paywall and will be provided by fewcents\n-   `articleIdentifier` : This lets fewcents to uniquely identify each article, and publisher should share this data with fewcents\n\n## Analytics\n\nGiven that `amp-access-fewcents` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nSeveral analytics reports are sent to fewcents on user actions on the paywall.\n\n## Layout and style\n\n```\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-access-fewcents-0.1.css\">\n```\n","extensions/amp-access-scroll/amp-access-scroll.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Integrates with Scroll membership.\n---\n\n# amp-access-scroll\n\n## Usage\n\nLets sites in the [Scroll](https://scroll.com) network identify Scroll members in order to serve them an ad-free, directly-monetized experience.\n\n### Configuration\n\nIn `<head>`, add\n\n```\n<script id=\"amp-access\" type=\"application/json\">\n{\n  \"vendor\": \"scroll\",\n  \"namespace\": \"scroll\"\n}\n</script>\n```\n\nBe sure not to add a trailing comma to the namespace line, which makes it invalid JSON!\n\nIf you are already using `amp-access` for a paywall, follow the steps in the `amp-access` documentation for [using namespaces and an array of providers](https://amp.dev/documentation/components/amp-access#multiple-access-providers).\n\n### Make each ad conditional\n\nAdd an `amp-access` attribute to each ad container.\n\n```\n<div class=\"amp-ad-container\" amp-access=\"NOT scroll.scroll\">\n  <amp-ad... >\n</div>\n```\n\nLearn more at [https://developer.scroll.com/amp](https://developer.scroll.com/amp).\n\n## Validation\n\nSee [`amp-access-scroll` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-scroll/validator-amp-access-scroll.protoascii) in the AMP validator specification.\n","extensions/amp-access-laterpay/amp-access-laterpay.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the LaterPay micropayments platform.\n---\n\n# amp-access-laterpay\n\n## Usage\n\n[LaterPay](https://laterpay.net) is a micropayment platform that allows users to buy any online content with just two clicks, and get immediate access – without upfront registration, personal data, or payment. Users only pay, once their purchases have reached a total of \\$5 or 5€ across websites. Content providers can sell individual items or time passes, which allow flatrate access or time limited access to content.\n\nThe `amp-access-laterpay` component is based on, and requires [`amp-access`](../amp-access/amp-access.md).\n\nIf you're integrating LaterPay via the [Connector Script integration](https://docs.laterpay.net/connector/) you won't be able to use that integration on AMP pages. `amp-access-laterpay` is analogous to Connector Script, providing a similar set of features, but built for AMP pages.\n\nIt's also possible to sell content via LaterPay simply using `amp-access-laterpay` as the sole integration method.\n\nThe `amp-access-laterpay` component uses `amp-access` internally to provide a behavior similar to `amp-access`, but tailored for usage with the LaterPay service.\n\nIf you have your own paywall service that you'd like to use with `amp-access` and would like to use it together with LaterPay on the same page, it's also possible to do so.\n\nThe `amp-access-laterpay` component does not require an authorization or pingback configuration, because it is pre-configured to work with the LaterPay service. It also does not require manual setup of login links.\n\nThe different purchase options can be configured on the publisher's LaterPay account, and the component will retrieve the configuration and create a list of available purchase options.\n\nYou can refer to the documentation on configuring the [LaterPay Connector](https://docs.laterpay.net/connector/configuration/), LaterPay's existing front-end integration, to learn how to configure the purchase options.\n\nThe generated list can be styled and presented according to the publisher's preference.\n\nThis component also relies on [Access Content Markup](../amp-access/amp-access.md) to show and hide content.\n\n### Using amp-access-laterpay with amp-access\n\nIf you have an existing subscription system and you intend to use LaterPay only for individual article sales, it's possible to have both sale methods coexist in the same page, using both `amp-access` and `amp-access-laterpay` together.\n\nFirst of, please refer to the [`amp-access`](../amp-access/amp-access.md) documentation to learn how to configure `amp-access` with your existing paywall.\n\nThe [multiple providers](../amp-access/amp-access.md) section explains how to setup multiple providers with namespaces.\n\nWhen using it with LaterPay and an existing paywall integration, the necessary configuration can look something like this:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  [\n    {\n      \"vendor\": \"laterpay\",\n      \"laterpay\": {\n        \"region\": \"us\"\n      },\n      \"namespace\": \"laterpay\"\n    },\n    {\n      \"authorization\": \"https://pub.com/amp-access?rid=READER_ID&url=SOURCE_URL\",\n      \"pingback\": \"https://pub.com/amp-ping?rid=READER_ID&url=SOURCE_URL\",\n      \"login\": \"https://pub.com/amp-login?rid=READER_ID&url=SOURCE_URL\",\n      \"authorizationFallbackResponse\": {\"error\": true},\n      \"namespace\": \"publishername\"\n    }\n  ]\n</script>\n```\n\nWhere as the content access markup could end up looking like this:\n\n```html\n<section\n  amp-access=\"NOT error AND NOT laterpay.access AND NOT publishername.access\"\n  amp-access-hide\n>\n  <p>\n    <a on=\"tap:amp-access.login-publishername\"\n      >Login here to access your PublisherName subscription.</a\n    >\n  </p>\n\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"laterpay.access OR publishername.access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\nYou can find a more complete example [here](https://ampexample.laterpay.net/dual-amp-access.html).\n\n[tip type=\"read-on\"]\n\nThe following resources provide further documentation on using LaterPay with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [LaterPay](https://www.laterpay.net)\n-   [LaterPay: How we do MicroPayments](https://docs.laterpay.net/how_we_do_micropayments/)\n-   [LaterPay Connector](https://docs.laterpay.net/connector/) - Similar to `amp-access-laterpay` but for non AMP pages.\n\n[/tip]\n\n### Using Access Content Markup and showing the purchase list\n\nAccess Content Markup should be used in the same way as with `amp-access`.\n\nThe element with id `amp-access-laterpay-dialog` will render a list of purchase options when the user does not have access to the article. This list has some very basic styling and can be customized to feel more integrated in the publisher's page.\n\nMake sure you add the `amp-access-laterpay` class if you want to use the default styling.\n\n```html\n<section amp-access=\"NOT error AND NOT access\" amp-access-hide>\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\n### Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"property\": value\n    }\n  }\n</script>\n```\n\nThe following values can be set in the `laterpay` config object:\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Property</th>\n    <th class=\"col-twenty\">Values</th>\n    <th class=\"col-fourty\">Description</th>\n  </tr>\n  <tr>\n    <td><code>articleTitleSelector</code></td>\n    <td>CSS selector <strong>required</strong></td>\n    <td>A CSS selector which determines the element in the page which contains the title of the article. This will ensure the page presented for purchase of the article will contain this title so the user is aware of what they're purchasing.</td>\n  </tr>\n  <tr>\n    <td><code>articleId</code></td>\n    <td>Comma separated list of identifiers</td>\n    <td>By default, the URL of an article is used to match it to a purchase option, but instead of specifying a URL path for a purchase option you can set an Article ID in the LaterPay Connector-UI and then use the <code>articleId</code> property to match the article with the purchase option.\n    <br />\n    This is necessary in cases where matching a purchase option by an article’s URL is not flexible enough. See the <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/article_id/\">configuration page for the LaterPay Connector()</a> to see learn about some example scenarios in which this is useful.</td>\n  </tr>\n  <tr>\n    <td><code>jwt</code></td>\n    <td>JWT token for dynamic payment configuration</td>\n    <td>This option allows you specify a signed JSON Web Token with a configuration for the available paid content. This means that you can provide an in page configuration, programatically generated in your pages rather than specifying it manually on LaterPay's Connector Admin interface. This might be specially useful when configuring Single Purchases for many different articles.\n    <br />\n    If you'd like more information on how to create this token and what content can be specified in it, please refer to LaterPay's <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/config_token/#jwt-object-properties\">JWT Paid Content API</a> documentation for the Connector Script integration.\n    </td>\n  </tr>\n  <tr>\n    <td><code>locale</code></td>\n    <td>string</td>\n    <td>Defines the style of price formatting appropriate for the locale.</td>\n  </tr>\n  <tr>\n    <td><code>localeMessages</code></td>\n    <td>object</td>\n    <td>Allows the publisher to customize or localize the text present in the generated list of purchase options. See the <a href=\"#localization\">Localization</a> section for more information.</td>\n  </tr>\n  <tr>\n    <td><code>scrollToTopAfterAuth</code></td>\n    <td>boolean</td>\n    <td>If true, scrolls the page to the top after the authorization process is successful. This can be helpful if the place where you show the dialog is further below in the page and the user could be confused by their current scroll position after returning to the page.</td>\n  </tr>\n  <tr>\n    <td><code>region</code></td>\n    <td>string</td>\n    <td>Specify if you are on the <code>eu</code> or <code>us</code> <a href=\"https://connectormwi.laterpay.net/docs/regions-environments-locales.html\">LaterPay region</a>.</td>\n  </tr>\n  <tr>\n    <td><code>sandbox</code></td>\n    <td>boolean</td>\n    <td>Only needed if you are using the sandbox mode to test out your server configuration. You also need to use AMP's <a href=\"https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#amp-runtime\">development mode</a>.</td>\n  </tr>\n</table>\n\n## Styling\n\nMultiple classes are applied to some of the elements in the generated markup. Elements with no classes can be referred unambiguously through CSS element selectors.\n\nSome basic layout CSS already exists, but it's recommended that publishers style it to match the look and feel of their pages.\n\nThe structure created for the dialog looks as follows:\n\n```html\n<div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\">\n  <div class=\"amp-access-laterpay-container\">\n    <p class=\"amp-access-laterpay-header\">\n      Optional, appears if header locale message is defined.\n    </p>\n    <ul>\n      <li>\n        <label>\n          <input name=\"purchaseOption\" type=\"radio\" />\n          <div class=\"amp-access-laterpay-metadata\">\n            <span class=\"amp-access-laterpay-title\">Purchase option title</span>\n            <p class=\"amp-access-laterpay-description\">\n              Purchase option description\n            </p>\n          </div>\n        </label>\n        <p class=\"amp-access-laterpay-price-container\">\n          <span class=\"amp-access-laterpay-price\">0.15</span>\n          <sup class=\"amp-access-laterpay-currency\">USD</sup>\n        </p>\n      </li>\n      <!-- ... more list items for other purchase options ... -->\n    </ul>\n    <button class=\"amp-access-laterpay-purchase-button\">Buy Now</button>\n    <p class=\"amp-access-laterpay-already-purchased-container\">\n      <a href=\"...\">I already bought this</a>\n    </p>\n    <p class=\"amp-access-laterpay-footer\">\n      Optional, appears if footer locale message is defined.\n    </p>\n  </div>\n  <p class=\"amp-access-laterpay-badge\">\n    Powered by <a href=\"https://laterpay.net\" target=\"_blank\">LaterPay</a>\n  </p>\n</div>\n```\n\n## Analytics\n\nGiven that `amp-access-laterpay` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nThe examples at [https://ampexample.laterpay.net/](https://ampexample.laterpay.net/) are all configured to send these analytics events if you'd like to see a more complete example as to how this would look in practice.\n\n## Localization\n\nThe text shown in the dialog for the purchase options will be defined by the publisher in the LaterPay Connector UI.\n\nThe remaining text is part of the extended component and can be changed and localized via the configuration options as follows:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"localeMessages\": {\n        \"messageKey\": \"message value\"\n      }\n    }\n  }\n</script>\n```\n\nThe following message keys can be translated or customized, but be aware that they should retain their original meaning and intent.\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Key</th>\n    <th class=\"col-fourty\">Description</th>\n    <th>Default value</th>\n  </tr>\n  <tr>\n    <td><code>payLaterButton</code></td>\n    <td>Text shown in the purchase button for options that can be paid later.</td>\n    <td>'Buy Now, Pay Later'</td>\n  </tr>\n  <tr>\n    <td><code>payNowButton</code></td>\n    <td>Text shown in the purchase button for options which will have to paid in the moment of purchase.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>defaultButton</code></td>\n    <td>Default text shown in the purchase button before any option is selected.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>alreadyPurchasedLink</code></td>\n    <td>If the user has purchased the article in the past but they have lost their cookies (or are in a different device) they can use this link to login to LaterPay and retrieve their purchases.</td>\n    <td>'I already bought this'</td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>header</code></td>\n    <td>Optional header text.</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>footer</code></td>\n    <td>Optional footer text.</td>\n    <td></td>\n  </tr>\n</table>\n\n## Validation\n\nSee [`amp-access-laterpay` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-laterpay/validator-amp-access-laterpay.protoascii) in the AMP validator specification.\n","extensions/amp-access-poool/amp-access-poool.md":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Displays a Poool paywall.\n---\n\n# amp-access-poool\n\n## Usage\n\nThe `amp-access-poool` component, based on `amp-access`, loads and shows a paywall using your `bundleID` from Poool's Dashboard configuration.\n\nSee [poool.tech](https://poool.tech) for more details. `amp-access-poool` is based on, and requires,\n[`amp-access`](https://amp.dev/documentation/components/amp-access).\n\nAs you'll know if you're familiar with how Poool works outside of AMP, you cannot use `excerpt` and `hide` modes here. This is due to AMP's specific behavior. You will be able to lock or unlock your content with the `access` variable which is provided by `amp-access`. Check out the `poool-widget` section just below.\n\nThe `amp-access-poool` component does not require an authorization or pingback configuration because it is pre-configured to work with Poool.\n\nFor more information about modes, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#mode).\n\n### Configurations\n\nYou have to set configuration attributes within AMP in camelCase instead of the underscore (\" \\_ \") symbol traditionally used by Poool.\n\nFor example : use `customSegment=\"amp-custom-segment\"` to achieve `poool(\"config\", \"custom_segment\", \"amp-custom-segment\");`.\n\n#### HTML sections\n\n**Set poool-widget section, which contain poool paywall when access isn't granted.**\n\nThe `amp-access-poool` component requires 3 different sections:\n\n-   The article preview, shown when access hasn't been granted yet (with `amp-access=\"NOT access\"`) and identified by Poool using the `poool-access-preview` attribute\n-   The article content, shown when access has been granted (with `amp-access=\"access\"`), hidden by the `amp-access-hide` attribute until access has been granted, and identified by Poool using the `poool-access-content` attribute\n-   Poool's Paywall container, shown when access hasn't been granted yet (with `amp-access=\"NOT error AND NOT access\"`), identified by Poool using the `poool` id\n\n```html\n<section poool-access-preview amp-access=\"NOT access\">\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section poool-access-content amp-access=\"access\" amp-access-hide>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section amp-access=\"NOT error AND NOT access\" id=\"poool\"></section>\n```\n\n#### amp-access script - poool config\n\n**Example: Basic paywall configuration (with default values)**\n\nConfiguration is similar to AMP Access, except no authorization, pingback or login url is required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"itemID\": \"amp-example-article\"\n    }\n  }\n</script>\n```\n\n**Example: Show a paywall for a user in a custom group/segment called \"amp-custom-segment\"**\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"debug\": \"true\",\n      \"cookiesEnabled\": \"true\",\n      \"itemID\": \"amp-example-article\",\n      \"customSegment\": \"amp-custom-segment\"\n    }\n  }\n</script>\n```\n\nFor more information about configuration variables, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#configuration).\n\n## Attributes\n\n### bundleID (required)\n\nYour App ID (you can find it on your Dashboard).\n\n### itemID (required)\n\nYour **unique** article ID.\n\n### pageType (required)\n\nUsed to tell Poool that a page has been visited by the current user.\nSee [documentation](https://dev.poool.tech/doc/sdk#page_view) for more information.\n\n### debug\n\nEnable/disable debug mode.\nSee [documentation](https://dev.poool.tech/doc/sdk#debug) for more information.\n\n### forceWidget\n\nOverride current widget for user.\nSee [documentation](https://dev.poool.tech/doc/sdk#force_widget) for more information.\n\n### loginButtonEnabled\n\nEnable/disable paywall \"login\" button.\nSee [documentation](https://dev.poool.tech/doc/sdk#login_button_enabled) for more information.\n\n### signatureEnabled\n\nEnable/disable paywall signature, shown under article content when the article has been unlocked.\nSee [documentation](https://dev.poool.tech/doc/sdk#signature_enabled) for more information.\n\n### videoClient\n\nSet default video client (vast, googima) for video widget.\nSee [documentation](https://dev.poool.tech/doc/sdk#video_client) for more information.\n\n### customSegment\n\nOverride native segments with a custom group/segment slug.\nSee [documentation](https://dev.poool.tech/doc/sdk#custom_segment) for more information.\n\n### cookiesEnabled\n\nFollowing latest GDPR requirements, we decided to disable cookies by default inside our paywall. You will have to explicitly set this attribute to reflect the user's consent.\nSee [documentation](https://dev.poool.tech/doc/sdk#cookies_enabled) for more information.\n\n### locale\n\nSet default locale for all texts inside the paywall.\nSee [documentation](https://dev.poool.tech/doc/sdk#locale) for more information.\n\n### context\n\nOverride default or native contexts with a custom context value.\nSee [documentation](https://dev.poool.tech/doc/sdk#context) for more information.\n\n## Validation\n\nSee [`amp-access-poool` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-poool/validator-amp-access-poool.protoascii) in the AMP validator specification.\n","extensions/amp-access/amp-access-analytics.md":"# AMP Access and Analytics\n\n## Access analytics triggers\n\nAccess service issues events for major states in the access flow. These events can be reported through the analytics configuration by using triggers.\n\nSee [amp-analytics.md](../amp-analytics/amp-analytics.md) for details on _amp-analytics_ configuration.\n\n### Authorization received trigger (`\"on\": \"access-authorization-received\"`)\n\nThe `access-authorization-received` event is issued when the Authorization endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationReceived\": {\n    \"on\": \"access-authorization-received\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Authorization received trigger (`\"on\": \"access-authorization-failed\"`)\n\nThe `access-authorization-failed` event is issued when the Authorization endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationFailed\": {\n    \"on\": \"access-authorization-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Access view registered trigger (`\"on\": \"access-viewed\"`)\n\nThe `access-viewed` event is issued when the access system considers the page viewed and right before pingback is sent. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessViewed\": {\n    \"on\": \"access-viewed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback sent trigger (`\"on\": \"access-pingback-sent\"`)\n\nThe `access-pingback-sent` event is issued when the Pingback endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackSent\": {\n    \"on\": \"access-pingback-sent\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback failed trigger (`\"on\": \"access-pingback-failed\"`)\n\nThe `access-pingback-failed` event is issued when the Pingback endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackFailed\": {\n    \"on\": \"access-pingback-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login started trigger (`\"on\": \"access-login[-type]-started\"`)\n\nThe `access-login[-type]-started` event is issued right before the Login dialog has been opened. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-started`. When multiple Login URLs are configured, the event is `access-login-type-started`, e.g. \"access-login-signup-started\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginStarted\": {\n    \"on\": \"access-login-started\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login success trigger (`\"on\": \"access-login[-type]-success\"`)\n\nThe `access-login[-type]-success` event is issued when Login dialog has succeeded. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-success`. When multiple Login URLs are configured, the event is `access-login-type-success`, e.g. \"access-login-signup-success\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginSuccess\": {\n    \"on\": \"access-login-success\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login rejected trigger (`\"on\": \"access-login[-type]-rejected\"`)\n\nThe `access-login[-type]-rejected` event is issued when Login dialog has been rejected by the user. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-rejected`. When multiple Login URLs are configured, the event is `access-login-type-rejected`, e.g. \"access-login-signup-rejected\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginRejected\": {\n    \"on\": \"access-login-rejected\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login failed trigger (`\"on\": \"access-login[-type]-failed\"`)\n\nThe `access-login[-type]-failed` event is issued when Login dialog has failed due to an unknown reason. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login[-type]-failed`. When multiple Login URLs are configured, the event is `access-login-type-failed`, e.g. \"access-login-signup-failed\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginFailed\": {\n    \"on\": \"access-login-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n## Access analytics variables\n\nAccess contributes the following URL substitutions to the [amp-var-substitutions.md](../../docs/spec/amp-var-substitutions.md).\n\n### ACCESS_READER_ID\n\nThe `ACCESS_READER_ID` variable is substituted with the Reader ID used for access operations. This is a sensitive ID and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n\n### AUTHDATA(field)\n\nThe `AUTHDATA(field)` variable is substituted with the value of the field in the authorization response. The nested fields are allowed, such as `AUTHDATA(nested.field)`.\n\nThis variable will wait until authorization is complete before being available.\n\nData contained in `AUTHDATA` may be sensitive and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n","extensions/amp-access/amp-access.md":"# Amp-access Skill\n\nPath: `extensions/amp-access/amp-access.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access.md)","extensions/amp-accordion/amp-accordion.md":"# Amp-accordion Skill\n\nPath: `extensions/amp-accordion/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/amp-accordion.md)","extensions/amp-action-macro/amp-action-macro.md":"# Amp-action-macro Skill\n\nPath: `extensions/amp-action-macro/amp-action-macro.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-action-macro/amp-action-macro.md)","extensions/amp-ad-exit/amp-ad-exit.md":"# Amp-ad-exit Skill\n\nPath: `extensions/amp-ad-exit/amp-ad-exit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-exit/amp-ad-exit.md)","extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md":"# Amp-ad-network-adsense-impl Skill\n\nPath: `extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md)","extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md":"# Amp-ad-network-dianomi-impl Skill\n\nPath: `extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md)","extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md)","extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md)","extensions/amp-ad-network-doubleclick-impl/amp-consent.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-consent.md)","extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md)","extensions/amp-ad-network-doubleclick-impl/fluid.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/fluid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/fluid.md)","extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md)","extensions/amp-ad-network-doubleclick-impl/multi-size.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/multi-size.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/multi-size.md)","extensions/amp-ad-network-doubleclick-impl/refresh.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/refresh.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/refresh.md)","extensions/amp-ad-network-doubleclick-impl/render-on-idle.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/render-on-idle.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/render-on-idle.md)","extensions/amp-ad-network-doubleclick-impl/safeframe.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/safeframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/safeframe.md)","extensions/amp-ad-network-doubleclick-impl/single-page-ad.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/single-page-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/single-page-ad.md)","extensions/amp-ad-network-doubleclick-impl/sra.md":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/sra.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/sra.md)","extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md":"# Amp-ad-network-fake-impl Skill\n\nPath: `extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md)","extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md":"# Amp-ad-network-mgid-impl Skill\n\nPath: `extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md)","extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md":"# Amp-ad-network-nws-impl Skill\n\nPath: `extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md)","extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md":"# Amp-ad-network-oblivki-impl Skill\n\nPath: `extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md)","extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md":"# Amp-ad-network-smartads-impl Skill\n\nPath: `extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md)","extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md":"# Amp-ad-network-smartadserver-impl Skill\n\nPath: `extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md)","extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md":"# Amp-ad-network-triplelift-impl Skill\n\nPath: `extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md)","extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md":"# Amp-ad-network-valueimpression-impl Skill\n\nPath: `extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md)","extensions/amp-ad/amp-ad.md":"# Amp-ad Skill\n\nPath: `extensions/amp-ad/amp-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad/amp-ad.md)","extensions/amp-addthis/amp-addthis.md":"# Amp-addthis Skill\n\nPath: `extensions/amp-addthis/amp-addthis.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-addthis/amp-addthis.md)","extensions/amp-analytics/amp-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-analytics.md)","extensions/amp-analytics/amp-components-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-components-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-components-analytics.md)","extensions/amp-analytics/amp-video-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-video-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-video-analytics.md)","extensions/amp-analytics/analytics-vars.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vars.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vars.md)","extensions/amp-analytics/analytics-vendors-list.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vendors-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vendors-list.md)","extensions/amp-analytics/integrating-analytics.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/integrating-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/integrating-analytics.md)","extensions/amp-analytics/linker-id-forwarding.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-forwarding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-forwarding.md)","extensions/amp-analytics/linker-id-receiving.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-receiving.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-receiving.md)","extensions/amp-analytics/why-not-iframe.md":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/why-not-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/why-not-iframe.md)","extensions/amp-anim/amp-anim.md":"# Amp-anim Skill\n\nPath: `extensions/amp-anim/amp-anim.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-anim/amp-anim.md)","extensions/amp-animation/amp-animation.md":"# Amp-animation Skill\n\nPath: `extensions/amp-animation/amp-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-animation/amp-animation.md)","extensions/amp-apester-media/amp-apester-media.md":"# Amp-apester-media Skill\n\nPath: `extensions/amp-apester-media/amp-apester-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-apester-media/amp-apester-media.md)","extensions/amp-app-banner/amp-app-banner.md":"# Amp-app-banner Skill\n\nPath: `extensions/amp-app-banner/amp-app-banner.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-app-banner/amp-app-banner.md)","extensions/amp-audio/amp-audio.md":"# Amp-audio Skill\n\nPath: `extensions/amp-audio/amp-audio.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-audio/amp-audio.md)","extensions/amp-auto-ads/amp-auto-ads.md":"# Amp-auto-ads Skill\n\nPath: `extensions/amp-auto-ads/amp-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-auto-ads/amp-auto-ads.md)","extensions/amp-autocomplete/amp-autocomplete.md":"# Amp-autocomplete Skill\n\nPath: `extensions/amp-autocomplete/amp-autocomplete.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-autocomplete/amp-autocomplete.md)","extensions/amp-base-carousel/amp-base-carousel.md":"# Amp-base-carousel Skill\n\nPath: `extensions/amp-base-carousel/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/amp-base-carousel.md)","extensions/amp-beopinion/amp-beopinion.md":"# Amp-beopinion Skill\n\nPath: `extensions/amp-beopinion/amp-beopinion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-beopinion/amp-beopinion.md)","extensions/amp-bind/amp-bind.md":"# Amp-bind Skill\n\nPath: `extensions/amp-bind/amp-bind.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bind/amp-bind.md)","extensions/amp-bodymovin-animation/amp-bodymovin-animation.md":"# Amp-bodymovin-animation Skill\n\nPath: `extensions/amp-bodymovin-animation/amp-bodymovin-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/amp-bodymovin-animation.md)","extensions/amp-brid-player/amp-brid-player.md":"# Amp-brid-player Skill\n\nPath: `extensions/amp-brid-player/amp-brid-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brid-player/amp-brid-player.md)","extensions/amp-brightcove/amp-brightcove.md":"# Amp-brightcove Skill\n\nPath: `extensions/amp-brightcove/amp-brightcove.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brightcove/amp-brightcove.md)","extensions/amp-byside-content/amp-byside-content.md":"# Amp-byside-content Skill\n\nPath: `extensions/amp-byside-content/amp-byside-content.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-byside-content/amp-byside-content.md)","extensions/amp-cache-url/README.md":"# amp-cache-url Documentation\n\nPath: `extensions/amp-cache-url/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-cache-url/README.md)","extensions/amp-call-tracking/amp-call-tracking.md":"# Amp-call-tracking Skill\n\nPath: `extensions/amp-call-tracking/amp-call-tracking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-call-tracking/amp-call-tracking.md)","extensions/amp-carousel/amp-carousel-analytics.md":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel-analytics.md)","extensions/amp-carousel/amp-carousel.md":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel.md)","extensions/amp-connatix-player/amp-connatix-player.md":"# Amp-connatix-player Skill\n\nPath: `extensions/amp-connatix-player/amp-connatix-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-connatix-player/amp-connatix-player.md)","extensions/amp-consent/amp-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/amp-consent.md)","extensions/amp-consent/customizing-extension-behaviors-on-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/customizing-extension-behaviors-on-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/customizing-extension-behaviors-on-consent.md)","extensions/amp-consent/integrating-consent.md":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/integrating-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/integrating-consent.md)","extensions/amp-dailymotion/amp-dailymotion.md":"# Amp-dailymotion Skill\n\nPath: `extensions/amp-dailymotion/amp-dailymotion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dailymotion/amp-dailymotion.md)","extensions/amp-date-countdown/amp-date-countdown.md":"# Amp-date-countdown Skill\n\nPath: `extensions/amp-date-countdown/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/amp-date-countdown.md)","extensions/amp-date-display/amp-date-display.md":"# Amp-date-display Skill\n\nPath: `extensions/amp-date-display/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/amp-date-display.md)","extensions/amp-date-picker/amp-date-picker.md":"# Amp-date-picker Skill\n\nPath: `extensions/amp-date-picker/amp-date-picker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-picker/amp-date-picker.md)","extensions/amp-delight-player/amp-delight-player.md":"# Amp-delight-player Skill\n\nPath: `extensions/amp-delight-player/amp-delight-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-delight-player/amp-delight-player.md)","extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md":"# Amp-dynamic-css-classes Skill\n\nPath: `extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md)","extensions/amp-embedly-card/amp-embedly-card.md":"# Amp-embedly-card Skill\n\nPath: `extensions/amp-embedly-card/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/amp-embedly-card.md)","extensions/amp-experiment/amp-experiment.md":"# Amp-experiment Skill\n\nPath: `extensions/amp-experiment/amp-experiment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-experiment/amp-experiment.md)","extensions/amp-facebook-comments/amp-facebook-comments.md":"# Amp-facebook-comments Skill\n\nPath: `extensions/amp-facebook-comments/amp-facebook-comments.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-comments/amp-facebook-comments.md)","extensions/amp-facebook-like/amp-facebook-like.md":"# Amp-facebook-like Skill\n\nPath: `extensions/amp-facebook-like/amp-facebook-like.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-like/amp-facebook-like.md)","extensions/amp-facebook-page/amp-facebook-page.md":"# Amp-facebook-page Skill\n\nPath: `extensions/amp-facebook-page/amp-facebook-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-page/amp-facebook-page.md)","extensions/amp-facebook/amp-facebook.md":"# Amp-facebook Skill\n\nPath: `extensions/amp-facebook/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/amp-facebook.md)","extensions/amp-fit-text/amp-fit-text.md":"# Amp-fit-text Skill\n\nPath: `extensions/amp-fit-text/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/amp-fit-text.md)","extensions/amp-font/amp-font.md":"# Amp-font Skill\n\nPath: `extensions/amp-font/amp-font.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-font/amp-font.md)","extensions/amp-form/amp-form.md":"# Amp-form Skill\n\nPath: `extensions/amp-form/amp-form.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-form/amp-form.md)","extensions/amp-fx-collection/amp-fx-collection.md":"# Amp-fx-collection Skill\n\nPath: `extensions/amp-fx-collection/amp-fx-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-collection/amp-fx-collection.md)","extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md":"# Amp-fx-flying-carpet Skill\n\nPath: `extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md)","extensions/amp-geo/amp-geo.md":"# Amp-geo Skill\n\nPath: `extensions/amp-geo/amp-geo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-geo/amp-geo.md)","extensions/amp-gfycat/amp-gfycat.md":"# Amp-gfycat Skill\n\nPath: `extensions/amp-gfycat/amp-gfycat.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gfycat/amp-gfycat.md)","extensions/amp-gist/amp-gist.md":"# Amp-gist Skill\n\nPath: `extensions/amp-gist/amp-gist.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/amp-gist.md)","extensions/amp-google-document-embed/amp-google-document-embed.md":"# Amp-google-document-embed Skill\n\nPath: `extensions/amp-google-document-embed/amp-google-document-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-document-embed/amp-google-document-embed.md)","extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md":"# Amp-google-read-aloud-player Skill\n\nPath: `extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md)","extensions/amp-hulu/amp-hulu.md":"# Amp-hulu Skill\n\nPath: `extensions/amp-hulu/amp-hulu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-hulu/amp-hulu.md)","extensions/amp-iframe/amp-iframe-vs-native-iframe.md":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe-vs-native-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe-vs-native-iframe.md)","extensions/amp-iframe/amp-iframe.md":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe.md)","extensions/amp-iframely/OWNERS.yaml":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/OWNERS.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/OWNERS.yaml)","extensions/amp-iframely/amp-iframely.md":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/amp-iframely.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/amp-iframely.md)","extensions/amp-ima-video/amp-ima-video.md":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/amp-ima-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/amp-ima-video.md)","extensions/amp-ima-video/consent-blocking.md":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/consent-blocking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/consent-blocking.md)","extensions/amp-image-lightbox/amp-image-lightbox.md":"# Amp-image-lightbox Skill\n\nPath: `extensions/amp-image-lightbox/amp-image-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-lightbox/amp-image-lightbox.md)","extensions/amp-imgur/amp-imgur.md":"# Amp-imgur Skill\n\nPath: `extensions/amp-imgur/amp-imgur.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-imgur/amp-imgur.md)","extensions/amp-inline-gallery/amp-inline-gallery.md":"# Amp-inline-gallery Skill\n\nPath: `extensions/amp-inline-gallery/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/amp-inline-gallery.md)","extensions/amp-inputmask/amp-inputmask.md":"# Amp-inputmask Skill\n\nPath: `extensions/amp-inputmask/amp-inputmask.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inputmask/amp-inputmask.md)","extensions/amp-instagram/amp-instagram.md":"# Amp-instagram Skill\n\nPath: `extensions/amp-instagram/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/amp-instagram.md)","extensions/amp-install-serviceworker/amp-install-serviceworker.md":"# Amp-install-serviceworker Skill\n\nPath: `extensions/amp-install-serviceworker/amp-install-serviceworker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-install-serviceworker/amp-install-serviceworker.md)","extensions/amp-izlesene/amp-izlesene.md":"# Amp-izlesene Skill\n\nPath: `extensions/amp-izlesene/amp-izlesene.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-izlesene/amp-izlesene.md)","extensions/amp-jwplayer/amp-jwplayer.md":"# Amp-jwplayer Skill\n\nPath: `extensions/amp-jwplayer/amp-jwplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/amp-jwplayer.md)","extensions/amp-kaltura-player/amp-kaltura-player.md":"# Amp-kaltura-player Skill\n\nPath: `extensions/amp-kaltura-player/amp-kaltura-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-kaltura-player/amp-kaltura-player.md)","extensions/amp-lightbox-gallery/amp-lightbox-gallery.md":"# Amp-lightbox-gallery Skill\n\nPath: `extensions/amp-lightbox-gallery/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/amp-lightbox-gallery.md)","extensions/amp-lightbox/amp-lightbox.md":"# Amp-lightbox Skill\n\nPath: `extensions/amp-lightbox/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/amp-lightbox.md)","extensions/amp-link-rewriter/amp-link-rewriter.md":"# Amp-link-rewriter Skill\n\nPath: `extensions/amp-link-rewriter/amp-link-rewriter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-link-rewriter/amp-link-rewriter.md)","extensions/amp-list/amp-list.md":"# Amp-list Skill\n\nPath: `extensions/amp-list/amp-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-list/amp-list.md)","extensions/amp-live-list/amp-live-list-server-side-filtering.md":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list-server-side-filtering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list-server-side-filtering.md)","extensions/amp-live-list/amp-live-list.md":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list.md)","extensions/amp-loader/README.md":"# amp-loader Documentation\n\nPath: `extensions/amp-loader/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-loader/README.md)","extensions/amp-mathml/amp-mathml.md":"# Amp-mathml Skill\n\nPath: `extensions/amp-mathml/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/amp-mathml.md)","extensions/amp-mega-menu/amp-mega-menu.md":"# Amp-mega-menu Skill\n\nPath: `extensions/amp-mega-menu/amp-mega-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mega-menu/amp-mega-menu.md)","extensions/amp-megaphone/amp-megaphone.md":"# Amp-megaphone Skill\n\nPath: `extensions/amp-megaphone/amp-megaphone.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-megaphone/amp-megaphone.md)","extensions/amp-minute-media-player/amp-minute-media-player.md":"# Amp-minute-media-player Skill\n\nPath: `extensions/amp-minute-media-player/amp-minute-media-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-minute-media-player/amp-minute-media-player.md)","extensions/amp-mowplayer/amp-mowplayer.md":"# Amp-mowplayer Skill\n\nPath: `extensions/amp-mowplayer/amp-mowplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mowplayer/amp-mowplayer.md)","extensions/amp-mraid/amp-mraid.md":"# Amp-mraid Skill\n\nPath: `extensions/amp-mraid/amp-mraid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mraid/amp-mraid.md)","extensions/amp-mustache/amp-mustache.md":"# Amp-mustache Skill\n\nPath: `extensions/amp-mustache/amp-mustache.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mustache/amp-mustache.md)","extensions/amp-nested-menu/amp-nested-menu.md":"# Amp-nested-menu Skill\n\nPath: `extensions/amp-nested-menu/amp-nested-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nested-menu/amp-nested-menu.md)","extensions/amp-next-page/amp-next-page.md":"# Amp-next-page Skill\n\nPath: `extensions/amp-next-page/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/amp-next-page.md)","extensions/amp-nexxtv-player/amp-nexxtv-player.md":"# Amp-nexxtv-player Skill\n\nPath: `extensions/amp-nexxtv-player/amp-nexxtv-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nexxtv-player/amp-nexxtv-player.md)","extensions/amp-o2-player/amp-o2-player.md":"# Amp-o2-player Skill\n\nPath: `extensions/amp-o2-player/amp-o2-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-o2-player/amp-o2-player.md)","extensions/amp-onetap-google/amp-onetap-google.md":"# Amp-onetap-google Skill\n\nPath: `extensions/amp-onetap-google/amp-onetap-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-onetap-google/amp-onetap-google.md)","extensions/amp-ooyala-player/amp-ooyala-player.md":"# Amp-ooyala-player Skill\n\nPath: `extensions/amp-ooyala-player/amp-ooyala-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ooyala-player/amp-ooyala-player.md)","extensions/amp-orientation-observer/amp-orientation-observer.md":"# Amp-orientation-observer Skill\n\nPath: `extensions/amp-orientation-observer/amp-orientation-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-orientation-observer/amp-orientation-observer.md)","extensions/amp-pan-zoom/amp-pan-zoom.md":"# Amp-pan-zoom Skill\n\nPath: `extensions/amp-pan-zoom/amp-pan-zoom.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pan-zoom/amp-pan-zoom.md)","extensions/amp-pinterest/amp-pinterest.md":"# Amp-pinterest Skill\n\nPath: `extensions/amp-pinterest/amp-pinterest.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pinterest/amp-pinterest.md)","extensions/amp-playbuzz/amp-playbuzz.md":"# Amp-playbuzz Skill\n\nPath: `extensions/amp-playbuzz/amp-playbuzz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-playbuzz/amp-playbuzz.md)","extensions/amp-position-observer/amp-position-observer.md":"# Amp-position-observer Skill\n\nPath: `extensions/amp-position-observer/amp-position-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-position-observer/amp-position-observer.md)","extensions/amp-powr-player/amp-powr-player.md":"# Amp-powr-player Skill\n\nPath: `extensions/amp-powr-player/amp-powr-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-powr-player/amp-powr-player.md)","extensions/amp-reach-player/amp-reach-player.md":"# Amp-reach-player Skill\n\nPath: `extensions/amp-reach-player/amp-reach-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reach-player/amp-reach-player.md)","extensions/amp-recaptcha-input/amp-recaptcha-input.md":"# Amp-recaptcha-input Skill\n\nPath: `extensions/amp-recaptcha-input/amp-recaptcha-input.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-recaptcha-input/amp-recaptcha-input.md)","extensions/amp-reddit/amp-reddit.md":"# Amp-reddit Skill\n\nPath: `extensions/amp-reddit/amp-reddit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reddit/amp-reddit.md)","extensions/amp-render/amp-render.md":"# Amp-render Skill\n\nPath: `extensions/amp-render/amp-render.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-render/amp-render.md)","extensions/amp-riddle-quiz/amp-riddle-quiz.md":"# Amp-riddle-quiz Skill\n\nPath: `extensions/amp-riddle-quiz/amp-riddle-quiz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-riddle-quiz/amp-riddle-quiz.md)","extensions/amp-script/amp-script.md":"# Amp-script Skill\n\nPath: `extensions/amp-script/amp-script.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-script/amp-script.md)","extensions/amp-selector/amp-selector.md":"# Amp-selector Skill\n\nPath: `extensions/amp-selector/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/amp-selector.md)","extensions/amp-sidebar/amp-sidebar.md":"# Amp-sidebar Skill\n\nPath: `extensions/amp-sidebar/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/amp-sidebar.md)","extensions/amp-skimlinks/amp-skimlinks.md":"# Amp-skimlinks Skill\n\nPath: `extensions/amp-skimlinks/amp-skimlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-skimlinks/amp-skimlinks.md)","extensions/amp-slides/amp-slides-deprecated.md":"# Amp-slides Skill\n\nPath: `extensions/amp-slides/amp-slides-deprecated.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slides/amp-slides-deprecated.md)","extensions/amp-slikeplayer/amp-slikeplayer.md":"# Amp-slikeplayer Skill\n\nPath: `extensions/amp-slikeplayer/amp-slikeplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slikeplayer/amp-slikeplayer.md)","extensions/amp-smartlinks/amp-smartlinks.md":"# Amp-smartlinks Skill\n\nPath: `extensions/amp-smartlinks/amp-smartlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-smartlinks/amp-smartlinks.md)","extensions/amp-social-share/amp-social-share.md":"# Amp-social-share Skill\n\nPath: `extensions/amp-social-share/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/amp-social-share.md)","extensions/amp-soundcloud/amp-soundcloud.md":"# Amp-soundcloud Skill\n\nPath: `extensions/amp-soundcloud/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/amp-soundcloud.md)","extensions/amp-springboard-player/amp-springboard-player.md":"# Amp-springboard-player Skill\n\nPath: `extensions/amp-springboard-player/amp-springboard-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-springboard-player/amp-springboard-player.md)","extensions/amp-standalone/README.md":"# amp-standalone Documentation\n\nPath: `extensions/amp-standalone/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-standalone/README.md)","extensions/amp-sticky-ad/amp-sticky-ad.md":"# Amp-sticky-ad Skill\n\nPath: `extensions/amp-sticky-ad/amp-sticky-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sticky-ad/amp-sticky-ad.md)","extensions/amp-story-audio-sticker/amp-story-audio-sticker.md":"# Amp-story-audio-sticker Skill\n\nPath: `extensions/amp-story-audio-sticker/amp-story-audio-sticker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-audio-sticker/amp-story-audio-sticker.md)","extensions/amp-story-auto-ads/amp-story-auto-ads.md":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/amp-story-auto-ads.md)","extensions/amp-story-auto-ads/publisher-served-ads.md":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/publisher-served-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/publisher-served-ads.md)","extensions/amp-story-auto-analytics/amp-story-auto-analytics.md":"# Amp-story-auto-analytics Skill\n\nPath: `extensions/amp-story-auto-analytics/amp-story-auto-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-analytics/amp-story-auto-analytics.md)","extensions/amp-story-dev-tools/amp-story-dev-tools.md":"# Amp-story-dev-tools Skill\n\nPath: `extensions/amp-story-dev-tools/amp-story-dev-tools.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-dev-tools/amp-story-dev-tools.md)","extensions/amp-story-education/amp-story-education.md":"# Amp-story-education Skill\n\nPath: `extensions/amp-story-education/amp-story-education.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-education/amp-story-education.md)","extensions/amp-story-interactive/README.md":"# amp-story-interactive Documentation\n\nPath: `extensions/amp-story-interactive/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/README.md)","extensions/amp-story-interactive/amp-story-interactive.md":"# Amp-story-interactive Skill\n\nPath: `extensions/amp-story-interactive/amp-story-interactive.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/amp-story-interactive.md)","extensions/amp-story-panning-media/amp-story-panning-media.md":"# Amp-story-panning-media Skill\n\nPath: `extensions/amp-story-panning-media/amp-story-panning-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-panning-media/amp-story-panning-media.md)","extensions/amp-story/amp-story-ads.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-ads.md)","extensions/amp-story/amp-story-analytics.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-analytics.md)","extensions/amp-story/amp-story-animation.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-animation.md)","extensions/amp-story/amp-story-auto-ads.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-auto-ads.md)","extensions/amp-story/amp-story-cta-layer.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-cta-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-cta-layer.md)","extensions/amp-story/amp-story-grid-layer.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-grid-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-grid-layer.md)","extensions/amp-story/amp-story-page-attachment.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-attachment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-attachment.md)","extensions/amp-story/amp-story-page-outlink.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-outlink.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-outlink.md)","extensions/amp-story/amp-story-page.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page.md)","extensions/amp-story/amp-story.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story.md)","extensions/amp-story/embed-modes.md":"# Amp-story Skill\n\nPath: `extensions/amp-story/embed-modes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/embed-modes.md)","extensions/amp-stream-gallery/amp-stream-gallery.md":"# Amp-stream-gallery Skill\n\nPath: `extensions/amp-stream-gallery/amp-stream-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/amp-stream-gallery.md)","extensions/amp-subscriptions-google/amp-subscriptions-google.md":"# Amp-subscriptions-google Skill\n\nPath: `extensions/amp-subscriptions-google/amp-subscriptions-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions-google/amp-subscriptions-google.md)","extensions/amp-subscriptions/amp-subscriptions.md":"# Amp-subscriptions Skill\n\nPath: `extensions/amp-subscriptions/amp-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions/amp-subscriptions.md)","extensions/amp-tiktok/amp-tiktok.md":"# Amp-tiktok Skill\n\nPath: `extensions/amp-tiktok/amp-tiktok.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-tiktok/amp-tiktok.md)","extensions/amp-timeago/amp-timeago.md":"# Amp-timeago Skill\n\nPath: `extensions/amp-timeago/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/amp-timeago.md)","extensions/amp-truncate-text/amp-truncate-text.md":"# Amp-truncate-text Skill\n\nPath: `extensions/amp-truncate-text/amp-truncate-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-truncate-text/amp-truncate-text.md)","extensions/amp-twitter/amp-twitter.md":"# Amp-twitter Skill\n\nPath: `extensions/amp-twitter/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/amp-twitter.md)","extensions/amp-user-notification/amp-user-notification.md":"# Amp-user-notification Skill\n\nPath: `extensions/amp-user-notification/amp-user-notification.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-user-notification/amp-user-notification.md)","extensions/amp-video-docking/amp-video-docking.md":"# Amp-video-docking Skill\n\nPath: `extensions/amp-video-docking/amp-video-docking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-docking/amp-video-docking.md)","extensions/amp-video-iframe/amp-video-iframe.md":"# Amp-video-iframe Skill\n\nPath: `extensions/amp-video-iframe/amp-video-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-iframe/amp-video-iframe.md)","extensions/amp-video/amp-video.md":"# Amp-video Skill\n\nPath: `extensions/amp-video/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/amp-video.md)","extensions/amp-viewer-integration/CAPABILITIES.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/CAPABILITIES.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/CAPABILITIES.md)","extensions/amp-viewer-integration/TICKEVENTS.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/TICKEVENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/TICKEVENTS.md)","extensions/amp-viewer-integration/amp-doc-viewer-api.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/amp-doc-viewer-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/amp-doc-viewer-api.md)","extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md)","extensions/amp-vimeo/amp-vimeo.md":"# Amp-vimeo Skill\n\nPath: `extensions/amp-vimeo/amp-vimeo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vimeo/amp-vimeo.md)","extensions/amp-vine/amp-vine.md":"# Amp-vine Skill\n\nPath: `extensions/amp-vine/amp-vine.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vine/amp-vine.md)","extensions/amp-viqeo-player/amp-viqeo-player.md":"# Amp-viqeo-player Skill\n\nPath: `extensions/amp-viqeo-player/amp-viqeo-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viqeo-player/amp-viqeo-player.md)","extensions/amp-vk/amp-vk.md":"# Amp-vk Skill\n\nPath: `extensions/amp-vk/amp-vk.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vk/amp-vk.md)","extensions/amp-web-push/amp-web-push.md":"# Amp-web-push Skill\n\nPath: `extensions/amp-web-push/amp-web-push.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-web-push/amp-web-push.md)","extensions/amp-wistia-player/amp-wistia-player.md":"# Amp-wistia-player Skill\n\nPath: `extensions/amp-wistia-player/amp-wistia-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wistia-player/amp-wistia-player.md)","extensions/amp-wordpress-embed/amp-wordpress-embed.md":"# Amp-wordpress-embed Skill\n\nPath: `extensions/amp-wordpress-embed/amp-wordpress-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/amp-wordpress-embed.md)","extensions/amp-yotpo/amp-yotpo.md":"# Amp-yotpo Skill\n\nPath: `extensions/amp-yotpo/amp-yotpo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-yotpo/amp-yotpo.md)","extensions/amp-youtube/amp-youtube.md":"# Amp-youtube Skill\n\nPath: `extensions/amp-youtube/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/amp-youtube.md)","tools/experiments/README.md":"# experiments Documentation\n\nPath: `tools/experiments/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/tools/experiments/README.md)","extensions/amp-accordion/0.1/amp-accordion.md":"# 0.1 Skill\n\nPath: `extensions/amp-accordion/0.1/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/0.1/amp-accordion.md)","extensions/amp-accordion/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-accordion/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/1.0/README.md)","extensions/amp-base-carousel/0.1/amp-base-carousel.md":"# 0.1 Skill\n\nPath: `extensions/amp-base-carousel/0.1/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/0.1/amp-base-carousel.md)","extensions/amp-base-carousel/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-base-carousel/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/1.0/README.md)","extensions/amp-carousel/0.1/amp-carousel.md":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/amp-carousel.md)","extensions/amp-carousel/0.1/tsconfig.json":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/tsconfig.json)","extensions/amp-consent/cmps/_ping_.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/_ping_.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/_ping_.md)","extensions/amp-consent/cmps/appconsent.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/appconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/appconsent.md)","extensions/amp-consent/cmps/consentmanager.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/consentmanager.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/consentmanager.md)","extensions/amp-consent/cmps/didomi.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/didomi.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/didomi.md)","extensions/amp-consent/cmps/googlefc.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/googlefc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/googlefc.md)","extensions/amp-consent/cmps/iubenda.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/iubenda.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/iubenda.md)","extensions/amp-consent/cmps/liveramp.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/liveramp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/liveramp.md)","extensions/amp-consent/cmps/marfeel.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/marfeel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/marfeel.md)","extensions/amp-consent/cmps/ogury.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/ogury.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/ogury.md)","extensions/amp-consent/cmps/onetrust.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/onetrust.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/onetrust.md)","extensions/amp-consent/cmps/opencmp.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/opencmp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/opencmp.md)","extensions/amp-consent/cmps/pubtech.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/pubtech.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/pubtech.md)","extensions/amp-consent/cmps/quantcast.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/quantcast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/quantcast.md)","extensions/amp-consent/cmps/sirdata.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sirdata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sirdata.md)","extensions/amp-consent/cmps/sourcepoint.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sourcepoint.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sourcepoint.md)","extensions/amp-consent/cmps/uniconsent.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/uniconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/uniconsent.md)","extensions/amp-consent/cmps/usercentrics.md":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/usercentrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/usercentrics.md)","extensions/amp-date-countdown/0.1/amp-date-countdown.md":"# 0.1 Skill\n\nPath: `extensions/amp-date-countdown/0.1/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/0.1/amp-date-countdown.md)","extensions/amp-date-countdown/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-date-countdown/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/1.0/README.md)","extensions/amp-date-display/0.1/amp-date-display.md":"# 0.1 Skill\n\nPath: `extensions/amp-date-display/0.1/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/0.1/amp-date-display.md)","extensions/amp-date-display/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-date-display/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/1.0/README.md)","extensions/amp-embedly-card/0.1/amp-embedly-card.md":"# 0.1 Skill\n\nPath: `extensions/amp-embedly-card/0.1/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/0.1/amp-embedly-card.md)","extensions/amp-embedly-card/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-embedly-card/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/1.0/README.md)","extensions/amp-facebook/0.1/amp-facebook.md":"# 0.1 Skill\n\nPath: `extensions/amp-facebook/0.1/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/0.1/amp-facebook.md)","extensions/amp-facebook/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-facebook/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/1.0/README.md)","extensions/amp-fit-text/0.1/amp-fit-text.md":"# 0.1 Skill\n\nPath: `extensions/amp-fit-text/0.1/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/0.1/amp-fit-text.md)","extensions/amp-fit-text/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-fit-text/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/1.0/README.md)","extensions/amp-gist/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-gist/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/1.0/README.md)","extensions/amp-iframe/0.1/amp-iframe.md":"# 0.1 Skill\n\nPath: `extensions/amp-iframe/0.1/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/0.1/amp-iframe.md)","extensions/amp-iframe/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-iframe/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/1.0/README.md)","extensions/amp-image-slider/0.1/amp-image-slider.md":"# 0.1 Skill\n\nPath: `extensions/amp-image-slider/0.1/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/0.1/amp-image-slider.md)","extensions/amp-image-slider/1.0/amp-image-slider.md":"# 1.0 Skill\n\nPath: `extensions/amp-image-slider/1.0/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/1.0/amp-image-slider.md)","extensions/amp-inline-gallery/0.1/amp-inline-gallery.md":"# 0.1 Skill\n\nPath: `extensions/amp-inline-gallery/0.1/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/0.1/amp-inline-gallery.md)","extensions/amp-inline-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-inline-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/1.0/README.md)","extensions/amp-instagram/0.1/amp-instagram.md":"# 0.1 Skill\n\nPath: `extensions/amp-instagram/0.1/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/0.1/amp-instagram.md)","extensions/amp-instagram/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-instagram/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/1.0/README.md)","extensions/amp-jwplayer/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-jwplayer/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/1.0/README.md)","extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md)","extensions/amp-lightbox-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/1.0/README.md)","extensions/amp-lightbox/0.1/amp-lightbox.md":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox/0.1/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/0.1/amp-lightbox.md)","extensions/amp-lightbox/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/1.0/README.md)","extensions/amp-mathml/0.1/amp-mathml.md":"# 0.1 Skill\n\nPath: `extensions/amp-mathml/0.1/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/0.1/amp-mathml.md)","extensions/amp-mathml/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-mathml/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/1.0/README.md)","extensions/amp-next-page/0.1/amp-next-page.md":"# 0.1 Skill\n\nPath: `extensions/amp-next-page/0.1/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/0.1/amp-next-page.md)","extensions/amp-selector/0.1/amp-selector.md":"# 0.1 Skill\n\nPath: `extensions/amp-selector/0.1/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/0.1/amp-selector.md)","extensions/amp-selector/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-selector/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/1.0/README.md)","extensions/amp-sidebar/0.1/amp-sidebar.md":"# 0.1 Skill\n\nPath: `extensions/amp-sidebar/0.1/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/0.1/amp-sidebar.md)","extensions/amp-sidebar/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-sidebar/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/1.0/README.md)","extensions/amp-social-share/0.1/amp-social-share.md":"# 0.1 Skill\n\nPath: `extensions/amp-social-share/0.1/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/0.1/amp-social-share.md)","extensions/amp-social-share/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-social-share/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/1.0/README.md)","extensions/amp-soundcloud/0.1/amp-soundcloud.md":"# 0.1 Skill\n\nPath: `extensions/amp-soundcloud/0.1/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/0.1/amp-soundcloud.md)","extensions/amp-soundcloud/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-soundcloud/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/1.0/README.md)","extensions/amp-story-360/0.1/amp-story-360.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-360/0.1/amp-story-360.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-360/0.1/amp-story-360.md)","extensions/amp-story-captions/0.1/amp-story-captions.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-captions/0.1/amp-story-captions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-captions/0.1/amp-story-captions.md)","extensions/amp-story-interactive/0.1/disclaimer-backends-list.json":"# 0.1 Skill\n\nPath: `extensions/amp-story-interactive/0.1/disclaimer-backends-list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/0.1/disclaimer-backends-list.json)","extensions/amp-story-player/0.1/amp-story-player.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-player/0.1/amp-story-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-player/0.1/amp-story-player.md)","extensions/amp-story-shopping/0.1/amp-story-shopping.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-shopping/0.1/amp-story-shopping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-shopping/0.1/amp-story-shopping.md)","extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md":"# 0.1 Skill\n\nPath: `extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md)","extensions/amp-story/1.0/media-pool.md":"# 1.0 Skill\n\nPath: `extensions/amp-story/1.0/media-pool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/media-pool.md)","extensions/amp-stream-gallery/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-stream-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/1.0/README.md)","extensions/amp-timeago/0.1/amp-timeago.md":"# 0.1 Skill\n\nPath: `extensions/amp-timeago/0.1/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/0.1/amp-timeago.md)","extensions/amp-timeago/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-timeago/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/1.0/README.md)","extensions/amp-twitter/0.1/amp-twitter.md":"# 0.1 Skill\n\nPath: `extensions/amp-twitter/0.1/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/0.1/amp-twitter.md)","extensions/amp-twitter/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-twitter/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/1.0/README.md)","extensions/amp-video/0.1/amp-video.md":"# 0.1 Skill\n\nPath: `extensions/amp-video/0.1/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/0.1/amp-video.md)","extensions/amp-wordpress-embed/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-wordpress-embed/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/1.0/README.md)","extensions/amp-youtube/0.1/amp-youtube.md":"# 0.1 Skill\n\nPath: `extensions/amp-youtube/0.1/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/0.1/amp-youtube.md)","extensions/amp-youtube/1.0/README.md":"# 1.0 Documentation\n\nPath: `extensions/amp-youtube/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/1.0/README.md)","extensions/amp-access/0.1/iframe-api/DEVELOPING.md":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/DEVELOPING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/DEVELOPING.md)","extensions/amp-access/0.1/iframe-api/README.md":"# iframe-api Documentation\n\nPath: `extensions/amp-access/0.1/iframe-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/README.md)","extensions/amp-access/0.1/iframe-api/package.json":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/package.json)","extensions/amp-analytics/0.1/test/vendor-requests.json":"# Test Skill\n\nPath: `extensions/amp-analytics/0.1/test/vendor-requests.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/test/vendor-requests.json)","extensions/amp-analytics/0.1/vendors/_fake_.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/_fake_.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/_fake_.json)","extensions/amp-analytics/0.1/vendors/acquialift.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/acquialift.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/acquialift.json)","extensions/amp-analytics/0.1/vendors/adobeanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics.json)","extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json)","extensions/amp-analytics/0.1/vendors/adskeeper.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adskeeper.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adskeeper.json)","extensions/amp-analytics/0.1/vendors/afsanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/afsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/afsanalytics.json)","extensions/amp-analytics/0.1/vendors/alexametrics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/alexametrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/alexametrics.json)","extensions/amp-analytics/0.1/vendors/amplitude.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/amplitude.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/amplitude.json)","extensions/amp-analytics/0.1/vendors/appsflyer.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/appsflyer.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/appsflyer.json)","extensions/amp-analytics/0.1/vendors/atinternet.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/atinternet.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/atinternet.json)","extensions/amp-analytics/0.1/vendors/baiduanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/baiduanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/baiduanalytics.json)","extensions/amp-analytics/0.1/vendors/bg.canary.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.canary.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.canary.json)","extensions/amp-analytics/0.1/vendors/bg.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.json)","extensions/amp-analytics/0.1/vendors/blackcrowai.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blackcrowai.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blackcrowai.json)","extensions/amp-analytics/0.1/vendors/blueconic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blueconic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blueconic.json)","extensions/amp-analytics/0.1/vendors/bluetriangle.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bluetriangle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bluetriangle.json)","extensions/amp-analytics/0.1/vendors/browsi.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/browsi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/browsi.json)","extensions/amp-analytics/0.1/vendors/burt.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/burt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/burt.json)","extensions/amp-analytics/0.1/vendors/byside.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/byside.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/byside.json)","extensions/amp-analytics/0.1/vendors/captainmetrics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/captainmetrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/captainmetrics.json)","extensions/amp-analytics/0.1/vendors/chartbeat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/chartbeat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/chartbeat.json)","extensions/amp-analytics/0.1/vendors/clicky.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/clicky.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/clicky.json)","extensions/amp-analytics/0.1/vendors/colanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/colanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/colanalytics.json)","extensions/amp-analytics/0.1/vendors/comscore.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/comscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/comscore.json)","extensions/amp-analytics/0.1/vendors/cxense.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/cxense.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/cxense.json)","extensions/amp-analytics/0.1/vendors/deepbi.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/deepbi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/deepbi.json)","extensions/amp-analytics/0.1/vendors/epica.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/epica.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/epica.json)","extensions/amp-analytics/0.1/vendors/euleriananalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/euleriananalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/euleriananalytics.json)","extensions/amp-analytics/0.1/vendors/facebookpixel.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/facebookpixel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/facebookpixel.json)","extensions/amp-analytics/0.1/vendors/gemius.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gemius.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gemius.json)","extensions/amp-analytics/0.1/vendors/gfksensic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gfksensic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gfksensic.json)","extensions/amp-analytics/0.1/vendors/googleadwords.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleadwords.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleadwords.json)","extensions/amp-analytics/0.1/vendors/googleanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleanalytics.json)","extensions/amp-analytics/0.1/vendors/gtag.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gtag.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gtag.json)","extensions/amp-analytics/0.1/vendors/ibeatanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ibeatanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ibeatanalytics.json)","extensions/amp-analytics/0.1/vendors/idealmedia.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/idealmedia.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/idealmedia.json)","extensions/amp-analytics/0.1/vendors/infonline.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline.json)","extensions/amp-analytics/0.1/vendors/infonline_anonymous.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_anonymous.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_anonymous.json)","extensions/amp-analytics/0.1/vendors/infonline_base.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_base.json)","extensions/amp-analytics/0.1/vendors/iplabel.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/iplabel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/iplabel.json)","extensions/amp-analytics/0.1/vendors/keen.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/keen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/keen.json)","extensions/amp-analytics/0.1/vendors/kenshoo.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/kenshoo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/kenshoo.json)","extensions/amp-analytics/0.1/vendors/krux.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/krux.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/krux.json)","extensions/amp-analytics/0.1/vendors/linkpulse.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/linkpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/linkpulse.json)","extensions/amp-analytics/0.1/vendors/lotame.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/lotame.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/lotame.json)","extensions/amp-analytics/0.1/vendors/mapp_intelligence.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mapp_intelligence.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mapp_intelligence.json)","extensions/amp-analytics/0.1/vendors/marinsoftware.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/marinsoftware.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/marinsoftware.json)","extensions/amp-analytics/0.1/vendors/mediametrie.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediametrie.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediametrie.json)","extensions/amp-analytics/0.1/vendors/mediarithmics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediarithmics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediarithmics.json)","extensions/amp-analytics/0.1/vendors/mediator.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediator.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediator.json)","extensions/amp-analytics/0.1/vendors/memo.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/memo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/memo.json)","extensions/amp-analytics/0.1/vendors/metrika.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/metrika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/metrika.json)","extensions/amp-analytics/0.1/vendors/mgid.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mgid.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mgid.json)","extensions/amp-analytics/0.1/vendors/moat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moat.json)","extensions/amp-analytics/0.1/vendors/mobify.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mobify.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mobify.json)","extensions/amp-analytics/0.1/vendors/moengage.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moengage.json)","extensions/amp-analytics/0.1/vendors/mparticle.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mparticle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mparticle.json)","extensions/amp-analytics/0.1/vendors/mpulse.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mpulse.json)","extensions/amp-analytics/0.1/vendors/navegg.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/navegg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/navegg.json)","extensions/amp-analytics/0.1/vendors/neodata.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/neodata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/neodata.json)","extensions/amp-analytics/0.1/vendors/newrelic.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/newrelic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/newrelic.json)","extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json)","extensions/amp-analytics/0.1/vendors/nielsen.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen.json)","extensions/amp-analytics/0.1/vendors/oewa.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewa.json)","extensions/amp-analytics/0.1/vendors/oewadirect.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewadirect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewadirect.json)","extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json)","extensions/amp-analytics/0.1/vendors/parsely.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/parsely.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/parsely.json)","extensions/amp-analytics/0.1/vendors/permutive-ampscript.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive-ampscript.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive-ampscript.json)","extensions/amp-analytics/0.1/vendors/permutive.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive.json)","extensions/amp-analytics/0.1/vendors/piStats.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piStats.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piStats.json)","extensions/amp-analytics/0.1/vendors/piano.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piano.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piano.json)","extensions/amp-analytics/0.1/vendors/pinpoll.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pinpoll.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pinpoll.json)","extensions/amp-analytics/0.1/vendors/ppasanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ppasanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ppasanalytics.json)","extensions/amp-analytics/0.1/vendors/pressboard.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pressboard.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pressboard.json)","extensions/amp-analytics/0.1/vendors/quantcast.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/quantcast.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/quantcast.json)","extensions/amp-analytics/0.1/vendors/rakam.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rakam.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rakam.json)","extensions/amp-analytics/0.1/vendors/reppublika.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/reppublika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/reppublika.json)","extensions/amp-analytics/0.1/vendors/retargetly.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/retargetly.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/retargetly.json)","extensions/amp-analytics/0.1/vendors/rudderstack.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rudderstack.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rudderstack.json)","extensions/amp-analytics/0.1/vendors/segment.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/segment.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/segment.json)","extensions/amp-analytics/0.1/vendors/sensorsanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/sensorsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/sensorsanalytics.json)","extensions/amp-analytics/0.1/vendors/shinystat.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/shinystat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/shinystat.json)","extensions/amp-analytics/0.1/vendors/snowplow.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow.json)","extensions/amp-analytics/0.1/vendors/snowplow_v2.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow_v2.json)","extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json)","extensions/amp-analytics/0.1/vendors/taboola.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/taboola.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/taboola.json)","extensions/amp-analytics/0.1/vendors/tail.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tail.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tail.json)","extensions/amp-analytics/0.1/vendors/teaanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/teaanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/teaanalytics.json)","extensions/amp-analytics/0.1/vendors/tealiumcollect.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tealiumcollect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tealiumcollect.json)","extensions/amp-analytics/0.1/vendors/top100.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/top100.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/top100.json)","extensions/amp-analytics/0.1/vendors/topmailru.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/topmailru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/topmailru.json)","extensions/amp-analytics/0.1/vendors/treasuredata.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/treasuredata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/treasuredata.json)","extensions/amp-analytics/0.1/vendors/tribooanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tribooanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tribooanalytics.json)","extensions/amp-analytics/0.1/vendors/umenganalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/umenganalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/umenganalytics.json)","extensions/amp-analytics/0.1/vendors/upscore.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/upscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/upscore.json)","extensions/amp-analytics/0.1/vendors/vponanalytics.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/vponanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/vponanalytics.json)","extensions/amp-analytics/0.1/vendors/webengage.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webengage.json)","extensions/amp-analytics/0.1/vendors/webtrekk.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk.json)","extensions/amp-analytics/0.1/vendors/webtrekk_v2.json":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk_v2.json)","extensions/amp-story-auto-ads/0.1/_locales/af.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/af.json)","extensions/amp-story-auto-ads/0.1/_locales/am.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/am.json)","extensions/amp-story-auto-ads/0.1/_locales/ar.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ar.json)","extensions/amp-story-auto-ads/0.1/_locales/bg.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bg.json)","extensions/amp-story-auto-ads/0.1/_locales/bn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bn.json)","extensions/amp-story-auto-ads/0.1/_locales/bs.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bs.json)","extensions/amp-story-auto-ads/0.1/_locales/ca.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ca.json)","extensions/amp-story-auto-ads/0.1/_locales/cs.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/cs.json)","extensions/amp-story-auto-ads/0.1/_locales/da.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/da.json)","extensions/amp-story-auto-ads/0.1/_locales/de.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/de.json)","extensions/amp-story-auto-ads/0.1/_locales/el.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/el.json)","extensions/amp-story-auto-ads/0.1/_locales/en-GB.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en-GB.json)","extensions/amp-story-auto-ads/0.1/_locales/en.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en.json)","extensions/amp-story-auto-ads/0.1/_locales/es-419.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es-419.json)","extensions/amp-story-auto-ads/0.1/_locales/es.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es.json)","extensions/amp-story-auto-ads/0.1/_locales/et.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/et.json)","extensions/amp-story-auto-ads/0.1/_locales/eu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/eu.json)","extensions/amp-story-auto-ads/0.1/_locales/fa.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fa.json)","extensions/amp-story-auto-ads/0.1/_locales/fi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fi.json)","extensions/amp-story-auto-ads/0.1/_locales/fil.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fil.json)","extensions/amp-story-auto-ads/0.1/_locales/fr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fr.json)","extensions/amp-story-auto-ads/0.1/_locales/gl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gl.json)","extensions/amp-story-auto-ads/0.1/_locales/gu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gu.json)","extensions/amp-story-auto-ads/0.1/_locales/hi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hi.json)","extensions/amp-story-auto-ads/0.1/_locales/hr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hr.json)","extensions/amp-story-auto-ads/0.1/_locales/hu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hu.json)","extensions/amp-story-auto-ads/0.1/_locales/id.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/id.json)","extensions/amp-story-auto-ads/0.1/_locales/is.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/is.json)","extensions/amp-story-auto-ads/0.1/_locales/it.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/it.json)","extensions/amp-story-auto-ads/0.1/_locales/iw.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/iw.json)","extensions/amp-story-auto-ads/0.1/_locales/ja.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ja.json)","extensions/amp-story-auto-ads/0.1/_locales/ka.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ka.json)","extensions/amp-story-auto-ads/0.1/_locales/km.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/km.json)","extensions/amp-story-auto-ads/0.1/_locales/kn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/kn.json)","extensions/amp-story-auto-ads/0.1/_locales/ko.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ko.json)","extensions/amp-story-auto-ads/0.1/_locales/lo.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lo.json)","extensions/amp-story-auto-ads/0.1/_locales/lt.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lt.json)","extensions/amp-story-auto-ads/0.1/_locales/lv.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lv.json)","extensions/amp-story-auto-ads/0.1/_locales/mk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mk.json)","extensions/amp-story-auto-ads/0.1/_locales/ml.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ml.json)","extensions/amp-story-auto-ads/0.1/_locales/mn.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mn.json)","extensions/amp-story-auto-ads/0.1/_locales/mr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mr.json)","extensions/amp-story-auto-ads/0.1/_locales/ms.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ms.json)","extensions/amp-story-auto-ads/0.1/_locales/my.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/my.json)","extensions/amp-story-auto-ads/0.1/_locales/ne.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ne.json)","extensions/amp-story-auto-ads/0.1/_locales/nl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/nl.json)","extensions/amp-story-auto-ads/0.1/_locales/no.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/no.json)","extensions/amp-story-auto-ads/0.1/_locales/pa.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pa.json)","extensions/amp-story-auto-ads/0.1/_locales/pl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pl.json)","extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json)","extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json)","extensions/amp-story-auto-ads/0.1/_locales/ro.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ro.json)","extensions/amp-story-auto-ads/0.1/_locales/ru.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ru.json)","extensions/amp-story-auto-ads/0.1/_locales/si.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/si.json)","extensions/amp-story-auto-ads/0.1/_locales/sk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sk.json)","extensions/amp-story-auto-ads/0.1/_locales/sl.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sl.json)","extensions/amp-story-auto-ads/0.1/_locales/sq.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sq.json)","extensions/amp-story-auto-ads/0.1/_locales/sr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sr.json)","extensions/amp-story-auto-ads/0.1/_locales/sv.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sv.json)","extensions/amp-story-auto-ads/0.1/_locales/sw.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sw.json)","extensions/amp-story-auto-ads/0.1/_locales/ta.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ta.json)","extensions/amp-story-auto-ads/0.1/_locales/te.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/te.json)","extensions/amp-story-auto-ads/0.1/_locales/th.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/th.json)","extensions/amp-story-auto-ads/0.1/_locales/tr.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/tr.json)","extensions/amp-story-auto-ads/0.1/_locales/uk.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/uk.json)","extensions/amp-story-auto-ads/0.1/_locales/ur.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ur.json)","extensions/amp-story-auto-ads/0.1/_locales/vi.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/vi.json)","extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json)","extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json)","extensions/amp-story-auto-ads/0.1/_locales/zu.json":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zu.json)","extensions/amp-story/1.0/_locales/README.md":"# _locales Documentation\n\nPath: `extensions/amp-story/1.0/_locales/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/README.md)","extensions/amp-story/1.0/_locales/af.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/af.json)","extensions/amp-story/1.0/_locales/am.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/am.json)","extensions/amp-story/1.0/_locales/ar.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ar.json)","extensions/amp-story/1.0/_locales/bg.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bg.json)","extensions/amp-story/1.0/_locales/bn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bn.json)","extensions/amp-story/1.0/_locales/bs.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bs.json)","extensions/amp-story/1.0/_locales/ca.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ca.json)","extensions/amp-story/1.0/_locales/cs.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/cs.json)","extensions/amp-story/1.0/_locales/da.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/da.json)","extensions/amp-story/1.0/_locales/de.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/de.json)","extensions/amp-story/1.0/_locales/el.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/el.json)","extensions/amp-story/1.0/_locales/en-GB.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en-GB.json)","extensions/amp-story/1.0/_locales/en.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en.json)","extensions/amp-story/1.0/_locales/es-419.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es-419.json)","extensions/amp-story/1.0/_locales/es.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es.json)","extensions/amp-story/1.0/_locales/et.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/et.json)","extensions/amp-story/1.0/_locales/eu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/eu.json)","extensions/amp-story/1.0/_locales/fa.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fa.json)","extensions/amp-story/1.0/_locales/fi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fi.json)","extensions/amp-story/1.0/_locales/fil.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fil.json)","extensions/amp-story/1.0/_locales/fr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fr.json)","extensions/amp-story/1.0/_locales/gl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gl.json)","extensions/amp-story/1.0/_locales/gu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gu.json)","extensions/amp-story/1.0/_locales/hi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hi.json)","extensions/amp-story/1.0/_locales/hr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hr.json)","extensions/amp-story/1.0/_locales/hu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hu.json)","extensions/amp-story/1.0/_locales/id.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/id.json)","extensions/amp-story/1.0/_locales/is.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/is.json)","extensions/amp-story/1.0/_locales/it.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/it.json)","extensions/amp-story/1.0/_locales/iw.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/iw.json)","extensions/amp-story/1.0/_locales/ja.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ja.json)","extensions/amp-story/1.0/_locales/ka.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ka.json)","extensions/amp-story/1.0/_locales/km.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/km.json)","extensions/amp-story/1.0/_locales/kn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/kn.json)","extensions/amp-story/1.0/_locales/ko.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ko.json)","extensions/amp-story/1.0/_locales/lo.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lo.json)","extensions/amp-story/1.0/_locales/lt.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lt.json)","extensions/amp-story/1.0/_locales/lv.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lv.json)","extensions/amp-story/1.0/_locales/mk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mk.json)","extensions/amp-story/1.0/_locales/ml.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ml.json)","extensions/amp-story/1.0/_locales/mn.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mn.json)","extensions/amp-story/1.0/_locales/mr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mr.json)","extensions/amp-story/1.0/_locales/ms.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ms.json)","extensions/amp-story/1.0/_locales/my.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/my.json)","extensions/amp-story/1.0/_locales/ne.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ne.json)","extensions/amp-story/1.0/_locales/nl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/nl.json)","extensions/amp-story/1.0/_locales/no.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/no.json)","extensions/amp-story/1.0/_locales/pa.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pa.json)","extensions/amp-story/1.0/_locales/pl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pl.json)","extensions/amp-story/1.0/_locales/pt-BR.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-BR.json)","extensions/amp-story/1.0/_locales/pt-PT.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-PT.json)","extensions/amp-story/1.0/_locales/ro.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ro.json)","extensions/amp-story/1.0/_locales/ru.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ru.json)","extensions/amp-story/1.0/_locales/si.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/si.json)","extensions/amp-story/1.0/_locales/sk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sk.json)","extensions/amp-story/1.0/_locales/sl.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sl.json)","extensions/amp-story/1.0/_locales/sq.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sq.json)","extensions/amp-story/1.0/_locales/sr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sr.json)","extensions/amp-story/1.0/_locales/sv.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sv.json)","extensions/amp-story/1.0/_locales/sw.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sw.json)","extensions/amp-story/1.0/_locales/ta.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ta.json)","extensions/amp-story/1.0/_locales/te.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/te.json)","extensions/amp-story/1.0/_locales/th.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/th.json)","extensions/amp-story/1.0/_locales/tr.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/tr.json)","extensions/amp-story/1.0/_locales/uk.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/uk.json)","extensions/amp-story/1.0/_locales/ur.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ur.json)","extensions/amp-story/1.0/_locales/vi.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/vi.json)","extensions/amp-story/1.0/_locales/zh-CN.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-CN.json)","extensions/amp-story/1.0/_locales/zh-TW.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-TW.json)","extensions/amp-story/1.0/_locales/zu.json":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zu.json)","extensions/amp-viewer-integration/0.1/messaging/README.md":"# messaging Documentation\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/README.md)","extensions/amp-viewer-integration/0.1/messaging/package.json":"# Messaging Skill\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/package.json)","extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json":"# Integration Skill\n\nPath: `extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json)","build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md":"# Amp-__component_name_hyphenated__ Skill\n\nPath: `build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md)"},"items":[{"name":"amp-__component_name_hyphenated__.md","path":"build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md","title":"Amp-__component_name_hyphenated__ Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-__component_name_hyphenated__ Skill\n\nPath: `build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md)","tokens":300,"sizeBytes":403},{"name":"amp-3d-gltf.md","path":"extensions/amp-3d-gltf/amp-3d-gltf.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-3d-gltf/amp-3d-gltf.md","title":"Amp-3d-gltf Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Displays GL Transmission Format (gITF) 3D models.\n---\n\n# amp-3d-gltf\n\n## Usage\n\nThe `amp-3d-gltf` component displays 3D models that are in gITF format.\n\n[tip type=\"note\"]\nYou must use a [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)-capable browser to display 3D models.\n[/tip]\n\n### Example\n\n```html\n<amp-3d-gltf\n  layout=\"responsive\"\n  width=\"320\"\n  height=\"240\"\n  alpha=\"true\"\n  antialiasing=\"true\"\n  src=\"path/to/model.glb\"\n></amp-3d-gltf>\n```\n\n### Compatibility\n\nThe component supports [glTF 2.0](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras),\nwith the following exceptions:\n\n-   Embedded cameras\n-   Animation\n\n### Set CORS headers\n\nThe `amp-3d-gltf` component makes a fetch request to the origin from\n`https://<random>.ampproject.net` when it requests the gltf file. Set\n`access-control-allow-origin:*.ampproject.net` on the response header of the\n`src` endpoint to avoid\n[CORS issues when served from an AMP cache](https://amp.dev/documentation/guides-and-tutorials/learn/amp-caches-and-cors/amp-cors-requests/?format=websites).\nUse a wildcard character to address the `<random>` subdomain component.\n\n## Attributes\n\n### src\n\nThe `src` attribute specifies the gltf file location.\n\n### alpha (optional)\n\nUse the `alpha` attribute to specify the behavior of the canvas background.\nThis attribute takes a boolean value. To enable transparency instead of the\ndefault white, set the value to `true`.\n\n### antialiasing (optional)\n\nUse the `antialiasing` attribute to specify whether to enable antialiasing. To\nenable antialiasing, set the value to true.\n\n### clearColor (optional)\n\nThe `clearColor` attribute specifies a CSS color, such as #FF8C00. This color\nfills free space on the canvas.\n\n### maxPixelRatio (optional)\n\nThe `maxPixelRatio` attribute specifies an upper limit for the `pixelRatio`\nrender option. It defaults to `window.devicePixelRatio`.\n\n### autoRotate (optional)\n\nUse the `autoRotate` attribute to enable automatic rotation around the model's\ncenter. To enable rotation, set the value to `true`. `autorotate` defaults to\n`false`.\n\n### enableZoom (optional)\n\nUse the `enableZoom` attribute to disable zooming in and out of the model. To\ndisable zoom, set the value to `false`. `autororate` defaults to `true`.\n\n### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"GLTF 3D model\"`.\n\n## Actions\n\n### setModelRotation\n\nThe `setModelRotation` action specifies the model's rotation. The rotation order\nis ZYX.\n\n-   Specify the rotation value of the x, y, and/or z axis with `x`, `y`, and/or\n    `z` arguments. This action accepts a number between 0 and 1. It defaults to the\n    previous value.\n-   Specify the angle of rotation in radians with `xMin`, `xMax`, `yMin`, `yMax`,\n    and/or `zMin`, `zMax` arguments. Use a min and a max to define the target range.\n    The angle range defaults to `0 / pi * 2`.\n\nThe following action changes the x axis of the component’s rotation to 1.57 when fired.\n\n```json\nsetModelRotation((x = 0.5), (xMin = 0), (xMax = 3.14))\n```\n\n## Styling\n\nHere are a few things to keep in mind for style:\n\n-   The `alpha` attribute specifies transparency.\n-   The `clearColor` attribute specifies the color of the background if it isn't transparent.\n-   `amp-3d-gltf` defaults to a white background if you don't specify a background color.\n\n## Validation\n\nSee [amp-3d-gltf rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3d-gltf/validator-amp-3d-gltf.protoascii)\nin the AMP validator specification.\n","frontmatter":{"$category@":"media","formats":["websites"],"teaser":{"text":"Displays GL Transmission Format (gITF) 3D models."}},"isInternal":false,"tokens":974,"sizeBytes":3659},{"name":"amp-3q-player.md","path":"extensions/amp-3q-player/amp-3q-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-3q-player/amp-3q-player.md","title":"Amp-3q-player Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Embeds videos from 3Q SDN.\n---\n\n# amp-3q-player\n\nEnables AMP to embed videos from 3Q SDN into your websites.\n\n## Usage\n\nThe `amp-3q-player` component embeds videos from 3Q SDN onto an AMP page. The\ncomponent includes a video interface, and you can customize the `width` and\n`height` of the player. Specify a `responsive` layout to maintain a 16:9 video\naspect ratio.\n\n### Example\n\n```html\n<amp-3q-player\n  data-id=\"c8dbe7f4-7f7f-11e6-a407-0cc47a188158\"\n  layout=\"responsive\"\n  width=\"480\"\n  height=\"270\"\n></amp-3q-player>\n```\n\n## Attributes\n\n### data-id\n\nThe `data-id` attribute specifies the appropriate `sdnPlayoutId` from 3Q SDN.\n\n### autoplay (optional)\n\nIf the `autoplay` attribute is present, and the browser supports autoplay, the\nfollowing behaviors are enabled:\n\n-   The video automatically mutes before autoplay starts.\n-   When the user scrolls the video out of view, the video pauses.\n-   When the user scrolls the video into view, the video resumes.\n-   The video unmutes when the user taps it.\n\nIf the user interacts with the video and then scrolls it into or out of view,\nthe state of the video remains the same. For example, if the user pauses the\nvideo, scrolls the video out of view and then scrolls back up to it, the video\nremains paused.\n\n### Common attributes\n\nThe `amp-3q-player` component includes the [common attributes](https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes)\nthat are extended to all AMP components.\n\n## Validation\n\nSee [amp-3q-player rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3q-player/validator-amp-3q-player.protoascii)\nin the AMP validator specification.\n","frontmatter":{"$category@":"media","formats":["websites"],"teaser":{"text":"Embeds videos from 3Q SDN."}},"isInternal":false,"tokens":448,"sizeBytes":1710},{"name":"refresh.md","path":"extensions/amp-a4a/refresh.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-a4a/refresh.md","title":"Amp-a4a Skill","category":"anthropic-skill","format":"markdown","content":"# AMP Ad Refresh\n\nAMP Ad Refresh permits amp-ad tags using Fast Fetch to undergo periodic refresh events. Each such event issues a new ad request and attempts to display the returned creative.\n\n### Network Configuration\n\nFor a network to make use of Refresh, its corresponding implementation must create an instance of RefreshManager and call\n`initiateRefreshCycle`. The simplest way to do so is to use the exported `getRefreshManager` function from refresh-manager.js:\n\n```javascript\nimport {getRefreshManager} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshManager = getRefreshManager(this);\nrefreshManager.initiateRefreshCycle();\n```\n\nWhile `getRefreshManager` is convenient, it does not allow for customization. It returns a RefreshManager with default configurations (specified in the table below). To customize the RefreshManager, you must invoke its constructor directly:\n\n```javascript\nimport {\n  getRefreshManager,\n  getPublisherSpecifiedRefreshInterval,\n} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshConfig = {\n  /* see table below for configuration parameters */\n};\nconst refreshInterval = getPublisherSpecifiedRefreshInterval(\n  this.element,\n  this.win\n);\nconst refreshManager = new RefreshManager(this, refreshConfig, refreshInterval);\nrefreshManager.initiateRefreshCycle();\n```\n\nOptionally, a network may override AmpA4A's `refresh` method, which would allow it to insert custom logic in between refresh events. Note: RefreshManager passes a callback to `refresh` which must be invoked in order to reset the cycle; if it is not invoked, the RefreshManager will become idle until either the callback or `initiateRefreshCycle` is called. If `refresh` is not overridden, this is handled automatically by AmpA4A.\n\n<table>\n  <tr>\n    <td>Parameter</td>\n    <td>Description</td>\n    <td>Permitted Values</td>\n    <td>Default Value</td>\n  <tr>\n    <td>visiblePercentageMin</td>\n    <td>The minimum ratio of creative pixels that must be on screen before the refresh timer is started.</td>\n    <td>Must be an integer between 0 and 100, inclusive.</td>\n    <td>50%</td>\n  </tr>\n  <tr>\n    <td>continuousTimeMin</td>\n    <td>The amount of continuous time, in seconds, that the creative must be on screen before the refresh timer is started.</td>\n    <td>Any positive numerical value.</td>\n    <td>1 s</td>\n  </tr>\n</table>\n","isInternal":false,"tokens":545,"sizeBytes":2364},{"name":"rtc-documentation.md","path":"extensions/amp-a4a/rtc-documentation.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-a4a/rtc-documentation.md","title":"Amp-a4a Skill","category":"anthropic-skill","format":"markdown","content":"# AMP Real Time Config\n\n## Objective\n\nFor AMP Fast Fetch, support publisher-specified, multiple, simultaneous callouts in order to augment targeting information included in the ad request.\n\n## Background\n\nRemote HTML support was added for Delayed Fetch to support first-party cookie targeting. This was because AMP does not allow custom JavaScript, and pages served from the AMP cache are identical for each user. However, Remote HTML leverages the fact that custom JavaScript execution occurs as a part of generating an ad request via Delayed Fetch. Fast Fetch allows for sending the ad request early by moving all code related to ad generation within the AMP runtime, disallowing any custom JavaScript as part of ad request creation. Therefore Fast Fetch is incompatible with Remote HTML. Real Time Config (RTC) has been added as an optional feature of Fast Fetch to allow for publishers to add user-targeting information to ad requests from AMP pages in a generic way that can be utilized by any ad networks, and any user-targeting vendors. Common use cases for RTC are to retrieve 1st party or 3rd party data, or to integrate 3rd party demand, also known as Header Bidding.\n\n## Overview\n\nThe design of RTC is per-slot, with a **maximum of 5 parallel callouts allowed per slot**. RTC is usable by any Fast Fetch network implementation. Call-outs for all slots will be sent as soon as possible. There are two different types of callouts that will be supported:\n\n### Custom URL callout\n\nThe publisher specifies a custom URL that should be called out to. For example, a publisher may specify their own targeting server as a custom URL. If the ad network in use supports macro substitution for custom URLs, the publisher may specify macros in the URL. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\n### Vendor-specified URL Callout\n\nRTC supports call-outs to third-party vendors. For example, take VendorFooBar which provides an API service that returns similar interests when provided a given interest (i.e. \"baseball\" yields [\"sports\", \"apple-pie\"]). If VendorFooBar wants publishers to be able to use them for RTC call outs, they simply add their call-out url with built-in macros to the AMP RTC vendor registry. Then publishers specify that they want to call out to VendorFooBar, and supply the value to substitute into the macro. This gives the Vendor complete control over the actual URL, with the Publisher only needing to supply the relevant inputs. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\nIn both cases, the results of these call-outs are passed to the Fast Fetch implementations as part of ad url construction via the **`getAdUrl`** method. The ad network Fast Fetch implementation then uses results of these callouts to generate the ad URL. The semantics of how the ad network uses the RTC results to general the ad URL is specific to each individual network's implementation of Fast Fetch, so please refer to network-specific documentation for details.\n\n## Design\n\n### Per-Slot RTC Specification\n\nPublishers may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleB.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleB.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   For example, in the Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see [Vendor URL Specification](#vendor-url-specification)). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL. You may also set the value of a macro as a JSON object or array. This JSON object will be stringified automatically prior to replacement in the URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array of strings or objects.\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a `url` and an `errorReportingUrl` as URL strings. Note that all URL strings must be secure (i.e. start with HTTPS). The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the `url` within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](#rtc-error-pingback) section below for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of rtc-config are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Vendor URL Specification\n\nTo spare publishers the details of having to construct URLs for external vendors, vendors may register a URL with macros in a central file called [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js), which maps unique vendor names to an object which includes a URL and a list of allowed macros that can be substituted into `url`. Vendors may include these macros in their URLs, which publishers can then specify the value for. Additionally, vendors may specify an `errorReportingUrl`. This errorReportingUrl will be sent 1% sampled-per-page errors from callouts to their RTC endpoint. For instance:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nThe only valid strings that can be replaced for a given URL are specified by the `macros` array. In the above example, the only valid macro to replace in `https://vendor1.com/slot_id=SLOT_ID` is `\"SLOT_ID\"`.\n\nThe `macros` attribute is optional, i.e. a vendor could specify a URL that has no macros to substitute in.\n\nAdditionally, macros can be substituted in by the Fast Fetch implementation itself. The URL for a vendor will be expanded with the correct macro values prior to callout. See [URL Macro Substitution](#url-macro-substitution) section below for detailed explanation and example.\n\nThe `errorReportingUrl` property is optional. The only available macros are ERROR_TYPE and HREF. See [RTC Error Pingback](#rtc-error-pingback) section below for more information on how error reporting works.\n\n#### Currently Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   Denakop\n-   FLUX\n-   Freestar\n-   Future Plc\n-   Galaxie Media\n-   Highfivve\n-   Hubvisor\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   Navegg\n-   NewsPassID\n-   Nexx360.io\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://www.pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   Sonobi\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n### RTC Callout Request Specification\n\nRTC callout requests are sent from the AMP runtime with the following headers:\n\n-   Accept: application/JSON\n-   Origin: Whatever the origin of the page is.\n-   Referer: Referer URL\n-   User-Agent: Standard user-agent information\n\nAdditionally, query string parameters are optionally sent as per the specification of the URL.\n\nRTC requests are sent using the [fetchJson method defined in xhr-impl.js.](https://github.com/ampproject/amphtml/blob/main/src/service/xhr-impl.js#L213) For RTC, in practice this is a GET request.\n\nRTC requests are only sent to HTTPS endpoints.\n\n### RTC Callout Endpoint and Response Specification\n\nThe RTC endpoint must respond to the RTC GET request with a valid JSON object of targeting information to insert into the ad request URL. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nResponses from one RTC callout do not affect any of the other RTC callouts. All requests are independent of each other.\n\nThe RTC callout endpoint must use HTTPS. HTTP requests are forbidden.\n\nThe RTC Response to a GET request must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   **<code>{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}</code>**</strong>\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### RTC Error Pingback\n\nRTC supports sending a 1% per-page sampling of RTC errors to specified errorReportingUrl's. (I.e. 1% of pages will send RTC error pingbacks for all RTC errors that occur on that page). For any given RTC callout URL, a corresponding errorReportingUrl may be specified, which will receive pings for, and only for, errors that resulted from the associated RTC callout. For example, you can not specify one errorReportingUrl that receives batched pings for all RTC callouts from a page. The errorReportingUrl must be a secure URL that uses HTTPS.\n\nVendors may specify an errorReportingUrl within their config in callout-vendors.js, e.g.:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nFor custom URLs specified by a publisher directly on the RTC Config, they specify the errorReportingUrl by setting values in the \"url\" array as an object, instead of a string, e.g.:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              {\"url\": \"https://www.AmpPublisher.biz/targetingB\",\n               \"errorReportingUrl\": \"https://www.AmpPublisher.biz?e=ERROR_TYPE&h=HREF\"}\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nIn both cases, the requirements for an errorReportingUrl are the same:\n\n-   errorReportingUrl must use HTTPS.\n-   Response should be an empty 200.\n-   errorReportingUrl may utilize two available macros that will be substituted in:\n    -   **ERROR_TYPE** - Will be sent as an enum value that corresponds to values in `RTC_ERROR_ENUM` found in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js).\n    -   **HREF** - The actual full URL of the page. Equivalent to historical value of AMP's window.context.location.href.\n\nThe error ping will be sent by creating an image pixel in the document. See `sendErrorMessage` in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js) for implementation details.\n\n### AMP Consent Integration\n\nThe AMP-Consent extension provides publishers the ability to collect and store a user's consent through a UI control, while also providing the ability to block other AMP components based on the user's consent. See [here for documentation](https://github.com/ampproject/amphtml/blob/main/extensions/amp-consent/amp-consent.md).\n\nReal Time Config supports integration with AMP-Consent. If the AMP-consent response is neither `SUFFICIENT` nor `UNKNOWN_NOT_REQUIRED`, then by default all RTC callouts are suppressed. However, you may optionally modify this setting, to allow specific RTC callouts that should be sent regardless of the consent state. A publisher can modify this across all RTC requests for a given ad slot or on a per-RTC-callout basis. A publisher also may either permit all consent states, or only specific consent states, using the RTC Config attribute `sendRegardlessOfConsentState`.\n\nThe value of `sendRegardlessOfConsentState` should either be the boolean `true` or an array of consent policy state strings as defined in src/core/constants/consent-state.js (i.e. use the string keys, like`\"UNKNOWN\"` not its corresponding numeric value). In a case where the RTC callout would normally be supressed (for example if the AMP-consent response is `UNKNOWN`), it will instead be sent if `sendRegardlessOfConsentState` is set to boolean `true` or an array of values that contains a match for the AMP-consent state response (e.g. `['UNKNOWN']`). If set to an array, then only the values in that array (in addition to the defualt values of `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) are treated as valid.\n\nThe setting of `sendRegardlessOfConsentState` can either be done once for the entire ad slot by setting it as a top-level attribute on the RTC Config, or be done individually by setting it on any individual callouts as needed. If it is set at both the top-level and per-callout level, then if there is a mismatch, the per-callout level \"wins\". This is detailed below in the examples.\n\nHere are various examples of how to do this for any given ad slot:\n\n#### Allow all RTC callouts for all consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` at top-level to `true`, this indicates that for any consent state, all of the callouts in this RTC configuration should still be sent.\n\n#### Allow all RTC callouts for only certain consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` to an array, this indicates that only when the page consent state matches any of the consent states in the array (in this case only `UNKNOWN` in addition to the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) should all of the RTC callouts still be sent. For instance, if the page state is `INSUFFICIENT`, then none of the callout specified above will be sent. If the page state is `UNKNOWN`, then all of the callouts will be sent.\n\n#### Allow some RTC callouts in the \"url\" array\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": true},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first URL in the array \"urls\". Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to `https://www.AmpPublisher.biz/targetingA`.\n\nIs is also possible to set `sendRegardlessOfConsentState` here to an array as well, such as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\", \"INSUFFICIENT\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\n#### Allow some RTC callouts in the \"vendors\" object\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first vendor in the \"vendors\" object. Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to vendorA.\n\n#### Mixture of settings\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"INSUFFICIENT\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n               {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n              ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nIn this example, we have a mixture of various settings. In addition to all the callouts allowing the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`, VendorA is set to allow page consent-state `INSUFFICIENT`, the first url in the `urls` array only state `UNKNOWN`, and the top-level setting across all the RTC callouts is set to `true`, indicating that we should send all RTC callouts regardless of consent-state. How do we reconcile these various values? As explained above, in the case where a top-level setting and a per-callout setting disagree, the per-callout setting wins.\n\nLet's first take an example where the page consent-state is `SUFFICIENT`. This is a default allowed state, so trivially all the callouts will be sent.\n\nNext, let's take an example where the page consent-state is `UNKNOWN`. The callout to vendorA is set to allow consent-state `INSUFFICIENT`, so it will not be sent. The callouts to vendorB and vendorC do not have individual `sendRegardlessOfConsentState` settings, so the top-level setting of `true` applies to them, and they will each be sent. In the `urls` array, the first URL has an individual setting of `UNKNOWN`, which is the current state, so it will be sent. Lastly, the final url does not have an individual setting, so the top-level setting of `true` applies to it, and it will be sent.\n\n### Blocking RTC\n\nThe `block-rtc` provides a way to utilize the `<amp-geo>` component to detect user's geo location to decide if a RTC callout should be prevented. The value of `block-rtc` should be a comma delimited string of geo group codes which are defined in `<amp-geo>` (details [here](https://github.com/ampproject/amphtml/blob/main/extensions/amp-geo/amp-geo.md)). If no `<amp-geo>` element is found or no valid value for this attribute, then the RTC callout will occur as normal.\n\n```html\n<amp-ad\n  width=\"300\"\n  height=\"200\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  block-rtc=\"geoGroup1,geoGroup2\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n\n<amp-geo>\n  <script type=\"application/json\">\n    {\n      \"ISOCountryGroups\": {\n        \"geoGroup1\": [ \"preset-eea\", \"unknown\" ],\n        \"geoGroup2\": [ \"preset-us-ca\" ]\n      }\n    }\n  </script>\n</amp-geo>\n```\n\n### URL Macro Substitution\n\nRTC supports macro substitution for building callout URLs. These macros can be specified by vendors, and by Fast Fetch implementations.\n\n#### Vendor Defined Macros\n\nA vendor can specify macros for substitution in their URL. The only requirement to do this is to include text in their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) that is intended to be replaced.\n\n**Example**\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/foo?slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\n##### Example 2: Use of Vendor URLs\n\nIf a publisher wishes to callout to vendor1, then they would specify their RTC config as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor1\": {\"SLOT_ID\": \"1234\"}\n              }\n            }'\n>\n</amp-ad>\n```\n\nThe resulting RTC callout URL will then be, after macro expansion:\n\n**`https://vendor1.com/foo?slot_id=1234`**\n\n#### Fast Fetch Implementation Defined Macros\n\nIn addition to vendor-defined macros, with publishers specifying the values for substitution, there is also the ability to utilize macros defined by the Fast Fetch implementation. For example, imagine if there is a property, **fooProp,** of the element **fooEl** that is only calculated at runtime. A Fast Fetch network that wants to support optionally adding the value of fooProp to RTC callout URLs that it sends can do so by overriding the method [getCustomRealTimeConfigMacros on AmpA4a ](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/0.1/amp-a4a.js)in their Fast Fetch implementation. The method should return a mapping of macros to values or functions that resolve to a value.\n\n##### Example 3: Fast Fetch implementation defined macros\n\nFor example, Ad Network AmpAdCom overrides the property in their Fast Fetch Implementation:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    ‘FOO_PROP’: getElementById(‘fooEl’).getAttribute(‘fooProp’),\n    ‘OTHER_PROP’: ‘staticValue’\n  }\n}\n```\n\nThen, publishers and vendors alike would be able to specify the macro FOO_PROP in their URL, and the value would be substituted in at runtime by the Fast Fetch implementation.\n\n##### Vendor Macro Substitution with Fast Fetch Network Macro Substitution\n\nIt is possible for a vendor to specify macros in their URL into which the Fast Fetch implementation will substitute values, in addition to their own custom macros that the publisher may specify in the rtc-config. Take the following example:\n\n###### Example 4\n\nVendor1 wants to allow publishers to substitute in the value of the slot_id, and allow the Fast Fetch network implementation to substitute in the start time. Thus, they define their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) as follows. Note, the vendor only lists SLOT_ID in the macros array, even though SLOT_ID and START are both macros in their URL. The macros array is a list of macros that can be utilized by the publisher. Fast Fetch will always attempt to substitute in network-defined macros, regardless of whether they are defined in the macros array.\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID&start_time=START\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\nThe Fast Fetch implementation has overridden **getCustomRealTimeConfigMacros**, and supports the macro 'START', as seen here:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now()\n  }\n}\n```\n\nFinally, a publisher who wishes to use Vendor1 with AmpAdCom's Fast Fetch implementation defines their rtc-config as:\n\n```html\n<!-- ampPublisher.biz/some/example/page.html -->\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor1\": {\"SLOT_ID\": \"1234\"}\n                }\n              }'\n>\n</amp-ad>\n```\n\nAfter URL macro expansion, the resulting URL is then\n\n```http\nhttps://vendor1.com/slot_id=1234&start_time=1508508227577\n```\n\n##### Conflicting macro substitution\n\nIt is possible, but inadvisable, to have a situation where a vendor specifies the same macro as the Fast Fetch network, i.e. in the above example if **getCustomRealTimeConfigMacros** was defined as\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'SLOT_ID': '5678'\n  }\n}\n```\n\nThere is a collision in this case, because the Fast Fetch network is specifying a value to substitute for SLOT_ID, but the vendor has declared SLOT_ID as their custom macro, and the publisher is then trying to substitute in '1234' as the value. In a case like this, the Fast Fetch implementation always wins, i.e. the final URL would be:\n\n```http\nhttps://vendor1.com/slot_id=5678&start_time=1508508227577\n```\n\n### RTC Callout Result Merging\n\nThe merging of the results of the RTC callouts into the ad request URL is determined by the Fast Fetch network implementation, and thus may vary. Please refer to the specific documentation for the Fast Fetch implementation in use, for instance refer to the DoubleClick RTC documentation if using DoubleClick for Fast Fetch.\n\n### Error Cases\n\nListed below are the most prominent error cases in RTC. For usage of the following error cases, see [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js)\n\n##### Misconfigured RTC Config\n\nIf the RTC config specified by the publisher does not meet the specification defined in this document, an error will be logged to the console, and RTC will be aborted.\n\n##### Bad JSON Response\n\nIf the response from an RTC callout is not valid JSON, i.e. JSON.parse fails, the response is dropped and ignored. An error is logged to the console.\n\n##### Duplicate Callout URLs\n\nRTC does not allow multiple callouts to identical URLs. Multiple callouts to the same domain are allowed, provided something in the path is different. I.e.\n\nThis is not allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=1234`\n   </td>\n  </tr>\n  <tr>\n   <td>Not allowed\n   </td>\n  </tr>\n</table>\n\nThis is allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=5678`\n   </td>\n  </tr>\n  <tr>\n   <td>Allowed\n   </td>\n  </tr>\n</table>\n\nIn the case that more than one callout is attempted to be sent to the same URL, only one will be sent, and an error will be logged to the console for each subsequent attempt to send a callout to that URL.\n\n##### Insecure URLs\n\nAll RTC requests must be sent to valid SSL endpoints. An attempt to send a request to a URL that does not start with `https://` will be dropped. An error will be logged to the console.\n\n##### Maximum Callouts Exceeded\n\nRTC only allows a maximum of 5 RTC callouts to be sent per ad slot. Whether or not a valid response is received is irrelevant. If a request is dropped prior to actually being sent, it does not count against this limit. For instance, if a publisher specifies 7 URLs to send callouts to, and 2 of them get dropped due to being insecure URLs, then only 5 callouts will actually be sent. In the case that more than 5 callouts are attempted to be sent, only the first 5 will be, and all subsequent callouts will be ignored. An error will be logged to the console for each dropped callout.\n\nA publisher's custom URLs take precedence over vendor URLs, and are called out in the order in which they were specified. Then, the vendor URLs are called out, also in the order in which they were specified.\n\n##### Network Failure\n\nIf the XHR GET fails somehow, for example, if network connectivity is lost, the request is lost and an error is logged to the console.\n\n##### Unknown Vendor\n\nIf a publisher specifies a vendor in their RTC-config that is not actually declared in callout-vendors.js, an error is logged to the console, and no request is sent.\n\n##### Timeout\n\nThe timeout is either the default timeout of 1000ms, or a shorter timeout specified by the publisher in the RTC-config. If the time for a callout to complete exceeds the timeout, the request is dropped and an error is logged.\n\n### Single Request Architecture (SRA) Support\n\nThere is no SRA support at this time. In the event that SRA and RTC are attempted to be used on the same page, RTC will take precedence, and SRA will not be used.\n\n## End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up **amp-ad-network-fadnetwork-impl.js** and check the implementation of **getCustomRealTimeConfigMacros**:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"fadnetwork\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor-a\": {\"SLOT_ID\": \"1\"},\n                  \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n                  \"vendorc\": {}\n                },\n                \"urls\": [\n                  \"https://www.AmpPublisher.biz/A\",\n                  \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n                ],\n                \"timeoutMillis\": 750\n              }'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![Image of RTC Callout Sequence Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {\"vacation\": [\"beach\", \"city\"]}}\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\nAmpA4a builds a promise to an array of RTC Response Objects, and passes that Promise to **getAdUrl** in FadNetwork's Fast Fetch Implementation, which then resolves this promise.\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n\n  /** @override */\n  getAdUrl(opt_rtcResponsesPromise) {\n    return opt_rtcResponsesPromise.then(rtcResponseArray => {\n      buildAndSendAdUrl(rtcResponseArray);\n    });\n  }\n}\n```\n\nIn this specific case, the Promise resolves to the following array:\n\n```js\n[\n  /** Callout 1 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}',\n    rtcTime: 685,\n    callout: 'www.AmpPublisher.biz',\n  },\n\n  /** Callout 2 RTC Response Object */\n  {error: 'timeout', rtcTime: 750, callout: 'www.amptgt.biz'},\n\n  /** Callout 3 RTC Response Object */\n  {error: 'malformed_json_response', rtcTime: 580, callout: 'vendora'},\n\n  /** Callout 4 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}',\n    rtcTime: 700,\n    callout: 'vendor-b',\n  },\n\n  /** Callout 5 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}',\n    rtcTime: 730,\n    callout: 'vendorc',\n  },\n];\n```\n\n**Example of Resolved Value of opt_rtcResponsesPromise passed to getAdUrl**\n\n**_Explanation of Errors in RTC Responses _**\n\n_Callout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console._\n\n_Callout 3 returns unparseable JSON, so it gets dropped and an error is logged._\n\n_Callout 1, 4, and 5 all return valid JSON and cause no errors_\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\n**Result of merging successful RTC Callouts 1, 4, and 5**\n\nFadNetwork then constructs and encodes their Ad URL as:\n\n```http\nhttps://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D\n```\n\n**FadNetwork's resulting Ad Request URL (use decodeURI to see original json)**\n\nFrom this point forward, all Fast Fetch behavior is exactly the same as non-RTC use cases, and regular Fast Fetch documentation may be consulted for additional questions.\n","isInternal":false,"tokens":9762,"sizeBytes":38688},{"name":"rtc-publisher-implementation-guide.md","path":"extensions/amp-a4a/rtc-publisher-implementation-guide.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-a4a/rtc-publisher-implementation-guide.md","title":"Amp-a4a Skill","category":"anthropic-skill","format":"markdown","content":"## AMP RTC Publisher Implementation Guide\n\n### Introduction\n\nThis implementation guide is intended for publishers who wish to begin using Real Time Config in their AMP Pages.\n\n### Background\n\nFor full details and background, please refer to the [RTC Documentation](./rtc-documentation.md). This is designed to be a simplified guide.\n\nAMP Real Time Config (RTC) is a new feature of Fast Fetch that allows Publishers to augment their ad requests with targeting information that is retrieved at runtime. Previously, all targeting data for Fast Fetch ad requests had to be statically defined on the amp-ad element. RTC allows up to 5 callouts to targeting servers for each individual ad slot, the results of which are appended to the ad request.\n\n### Requirements for Use\n\nTo use RTC, you must meet the following requirements:\n\n-   Use an ad network that supports Fast Fetch and AMP RTC\n-   Set the `rtc-config` attribute on each amp-ad element for which RTC is to be used, as specified below.\n\n<!-- markdown-link-check-disable -->\n\n### Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   FLUX\n-   [Freestar](https://freestar.com)\n-   Future Plc\n-   [Highfivve](https://highfivve.com)\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Newspassid\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n<!-- markdown-link-check-enable -->\n\n### Overview\n\nTo use RTC, specify the `rtc-config` attribute on each `amp-ad` element for which RTC should be performed. The `rtc-config` specifies a list of third-party vendors and/or publisher-defined URLs, which should be called to retrieve targeting information. The default timeout for these callouts is 1 second, but the publisher may optionally specify a shorter timeout.\n\nEach individual RTC callout has this 1 second timeout imposed on it, but the callouts are sent quickly one after the other and execute in parallel.\n\n<table>\n  <tr>\n   <td>\n\n<img src=\"./RTCDiagram2.png\" width=\"\">\n\n   </td>\n  </tr>\n  <tr>\n   <td>Figure 1: RTC Callouts Timing Diagram\n<p>\n<em>Note, starting times for the diagrams have been spaced out for display purposes only. In reality, all RTC callouts are sent out faster.</em>\n   </td>\n  </tr>\n</table>\n\nExample from Figure 1:\n\n-   RTC Callout 1 starts at 0ms, and returns at 780ms, for a total time of 780ms. It does not timeout.\n-   RTC Callout 2 starts at 20ms, and returns at 760ms, for a total time of 740ms. It does not timeout.\n-   RTC Callout 3 starts at 50ms, and doesn't return until 1125ms, for a total time of 1075ms. This time surpasses the timeout of 1000ms. Thus, the request is resolved as an empty response by real-time-config-manager at 1050ms, when exactly 1000ms has elapsed from the perspective of RTC Callout 3. The ultimate response from RTC Callout 3 is dropped.\n-   RTC Callout 4 starts at 75ms, and returns at 760ms, for a total time of 685ms. It is not timed out.\n-   RTC Callout 5 starts at 100ms, and returns at 1010ms, for a total time of 910ms. It is not timed out. Note that RTC Callout 5 finishes more than 1000ms after the first RTC Callout is started.\n\nThe publisher-defined URLs take precedence over the vendor-defined ones, i.e. if a publisher specifies 5 custom URLs, and 5 vendors, only the 5 custom URLs will be called out to. The vendor- and publisher-defined URLs allow for macro substitution to build the callout URL. For instance, a publisher may specify the macro values that they wish to substitute into the vendor-defined url, or a publisher may define macros in their custom URL into which the ad network Fast Fetch implementation may substitute values.\n\nOnce a publisher has defined `rtc-config` on an amp-ad, all the work is done for them. When a user navigates to the page, as part of the Fast Fetch execution, all specified RTC callouts will be sent as early as possible to the desired endpoints, and the resulting targeting information will be merged into the ad request. The semantics of how the targeting information is merged is customized by the Fast Fetch Ad Network implementation. For details on how it will be merged, please refer to the documentation for whichever ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### Setting up RTC Config\n\nYou may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC Specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"URLs\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleb.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleb.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   E.g., in Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see Vendor URL Specification below). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a \"url\" and an \"errorReportingUrl\". The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the \"url\" within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/rtc-documentation.md#rtc-error-pingback) for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of `rtc-config` are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Setting up an Endpoint\n\nIf a publisher wants to set up their own custom server to receive and respond to RTC callouts, they must meet the following specifications:\n\n#### Response and Endpoint Specification\n\nThe RTC endpoint must respond to the GET request with an object of targeting information to be inserted into the ad request url. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nThe endpoint must use HTTPS.\n\nThe RTC Response to a GET must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   `{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}`\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network-specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### Merging RTC Results into Ad Requests\n\nThe merging of the results of RTC is defined per ad network. AMP RTC simply provides the results of all the callouts to getAdUrl for the given network. For specifics on how the results of RTC will be used as part of the ad request, please refer to documentation specific to the ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up amp-ad-network-fadnetwork-impl.js and check the implementation of getCustomRealTimeConfigMacros:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor-a\": {\"SLOT_ID\": \"1\"},\n              \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n              \"vendorc\": {}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/A\",\n              \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![RTC Timing Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {'vacation': \"beach\" : 'city'\"\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\n**_Explanation of Errors in RTC Responses_**\n\nCallout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console.\n\nCallout 3 returns unparseable JSON, so it gets dropped and an error is logged.\n\nCallout 1, 4, and 5 all return valid JSON and cause no errors.\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\nThis targeting information is then added to the Ad Request URL however FadNetwork's implementation dictates.\n\n<table>\n  <tr>\n   <td><code>https://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D</code>\n   </td>\n  </tr>\n  <tr>\n   <td>FadNetwork's resulting Ad Request URL (use decodeURI to see original json)\n   </td>\n  </tr>\n</table>\n","isInternal":false,"tokens":3909,"sizeBytes":14755},{"name":"amp-access-fewcents.md","path":"extensions/amp-access-fewcents/amp-access-fewcents.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access-fewcents/amp-access-fewcents.md","title":"Amp-access-fewcents Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: presentation\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the Fewcents micropayments platform.\n---\n\n# amp-access-fewcents\n\n-   The `amp-access-fewcents` component is based on, and requires [`amp-access`](../amp-access/amp-access.md)\n-   amp-access-fewcents is built to be used with amp pages which internally uses amp-access to provide a behavior similar to amp-access, but built in such a way that it can be used with Fewcents.\n-   amp-access-fewcents component does not require an authorization, pingback or login configuration, because it is pre-configured to work with the Fewcents. You just need to pass or configure the extension according to your need like primary color for button, Publisher's can have their logo on the paywall.\n-   This component also relies on Access Content Markup to show and hide content.\n\n## Usage\n\n### The configuration on the pulisher end will look like this\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Where as the content access markup could end up looking like this:\n\nThe example below demonstrates `amp-access-fewcents` component in standalone use.\n\n```html\n  <section amp-access=\"NOT access\" amp-access-hide>\n    <div id=\"amp-access-fewcents-dialog\"></div>\n  </section>\n\n  <section amp-access=\"error\" amp-access-hide class=\"error-section\">\n    Oops... Something broke.\n  </section>\n\n  <div amp-access=\"access\" amp-access-hide>\n    <p>\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n      ullamcorper turpis vel commodo scelerisque. Phasellus luctus nunc ut\n      elit cursus, et imperdiet diam vehicula. Duis et nisi sed urna blandit\n      bibendum et sit amet erat. Suspendisse potenti.\n    </p>\n  </div>\n```\n\nElement div with id `amp-access-fewcents-dialog` is where the paywall will going to show up when user don't have the access to the article.\n\n### The following resources provide further documentation on using Fewcents with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [Fewcents](https://www.fewcents.co/)\n\n## Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Keys summary:\n\n-   `vendor` : This is mandatory to pass and its value is \"fewcents\"\n-   `publisherLogoUrl` : Url of image of the publisher logo in the format of png.\n-   `contentSelector` : Id of div element where paywall will be rendered\n-   `primaryColor` : Background colour of the unlock button, else default colour will be used\n-   `accessKey` : This will be provided by fewcents to the publisher\n-   `categoty` : Represent catetory of paywall and will be provided by fewcents\n-   `articleIdentifier` : This lets fewcents to uniquely identify each article, and publisher should share this data with fewcents\n\n## Analytics\n\nGiven that `amp-access-fewcents` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nSeveral analytics reports are sent to fewcents on user actions on the paywall.\n\n## Layout and style\n\n```\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-access-fewcents-0.1.css\">\n```\n","frontmatter":{"$category@":"presentation","formats":["websites"],"teaser":{"text":"Allows publishers to integrate with the Fewcents micropayments platform."}},"isInternal":false,"tokens":962,"sizeBytes":3927},{"name":"amp-access-laterpay.md","path":"extensions/amp-access-laterpay/amp-access-laterpay.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access-laterpay/amp-access-laterpay.md","title":"Amp-access-laterpay Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the LaterPay micropayments platform.\n---\n\n# amp-access-laterpay\n\n## Usage\n\n[LaterPay](https://laterpay.net) is a micropayment platform that allows users to buy any online content with just two clicks, and get immediate access – without upfront registration, personal data, or payment. Users only pay, once their purchases have reached a total of \\$5 or 5€ across websites. Content providers can sell individual items or time passes, which allow flatrate access or time limited access to content.\n\nThe `amp-access-laterpay` component is based on, and requires [`amp-access`](../amp-access/amp-access.md).\n\nIf you're integrating LaterPay via the [Connector Script integration](https://docs.laterpay.net/connector/) you won't be able to use that integration on AMP pages. `amp-access-laterpay` is analogous to Connector Script, providing a similar set of features, but built for AMP pages.\n\nIt's also possible to sell content via LaterPay simply using `amp-access-laterpay` as the sole integration method.\n\nThe `amp-access-laterpay` component uses `amp-access` internally to provide a behavior similar to `amp-access`, but tailored for usage with the LaterPay service.\n\nIf you have your own paywall service that you'd like to use with `amp-access` and would like to use it together with LaterPay on the same page, it's also possible to do so.\n\nThe `amp-access-laterpay` component does not require an authorization or pingback configuration, because it is pre-configured to work with the LaterPay service. It also does not require manual setup of login links.\n\nThe different purchase options can be configured on the publisher's LaterPay account, and the component will retrieve the configuration and create a list of available purchase options.\n\nYou can refer to the documentation on configuring the [LaterPay Connector](https://docs.laterpay.net/connector/configuration/), LaterPay's existing front-end integration, to learn how to configure the purchase options.\n\nThe generated list can be styled and presented according to the publisher's preference.\n\nThis component also relies on [Access Content Markup](../amp-access/amp-access.md) to show and hide content.\n\n### Using amp-access-laterpay with amp-access\n\nIf you have an existing subscription system and you intend to use LaterPay only for individual article sales, it's possible to have both sale methods coexist in the same page, using both `amp-access` and `amp-access-laterpay` together.\n\nFirst of, please refer to the [`amp-access`](../amp-access/amp-access.md) documentation to learn how to configure `amp-access` with your existing paywall.\n\nThe [multiple providers](../amp-access/amp-access.md) section explains how to setup multiple providers with namespaces.\n\nWhen using it with LaterPay and an existing paywall integration, the necessary configuration can look something like this:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  [\n    {\n      \"vendor\": \"laterpay\",\n      \"laterpay\": {\n        \"region\": \"us\"\n      },\n      \"namespace\": \"laterpay\"\n    },\n    {\n      \"authorization\": \"https://pub.com/amp-access?rid=READER_ID&url=SOURCE_URL\",\n      \"pingback\": \"https://pub.com/amp-ping?rid=READER_ID&url=SOURCE_URL\",\n      \"login\": \"https://pub.com/amp-login?rid=READER_ID&url=SOURCE_URL\",\n      \"authorizationFallbackResponse\": {\"error\": true},\n      \"namespace\": \"publishername\"\n    }\n  ]\n</script>\n```\n\nWhere as the content access markup could end up looking like this:\n\n```html\n<section\n  amp-access=\"NOT error AND NOT laterpay.access AND NOT publishername.access\"\n  amp-access-hide\n>\n  <p>\n    <a on=\"tap:amp-access.login-publishername\"\n      >Login here to access your PublisherName subscription.</a\n    >\n  </p>\n\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"laterpay.access OR publishername.access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\nYou can find a more complete example [here](https://ampexample.laterpay.net/dual-amp-access.html).\n\n[tip type=\"read-on\"]\n\nThe following resources provide further documentation on using LaterPay with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [LaterPay](https://www.laterpay.net)\n-   [LaterPay: How we do MicroPayments](https://docs.laterpay.net/how_we_do_micropayments/)\n-   [LaterPay Connector](https://docs.laterpay.net/connector/) - Similar to `amp-access-laterpay` but for non AMP pages.\n\n[/tip]\n\n### Using Access Content Markup and showing the purchase list\n\nAccess Content Markup should be used in the same way as with `amp-access`.\n\nThe element with id `amp-access-laterpay-dialog` will render a list of purchase options when the user does not have access to the article. This list has some very basic styling and can be customized to feel more integrated in the publisher's page.\n\nMake sure you add the `amp-access-laterpay` class if you want to use the default styling.\n\n```html\n<section amp-access=\"NOT error AND NOT access\" amp-access-hide>\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\n### Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"property\": value\n    }\n  }\n</script>\n```\n\nThe following values can be set in the `laterpay` config object:\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Property</th>\n    <th class=\"col-twenty\">Values</th>\n    <th class=\"col-fourty\">Description</th>\n  </tr>\n  <tr>\n    <td><code>articleTitleSelector</code></td>\n    <td>CSS selector <strong>required</strong></td>\n    <td>A CSS selector which determines the element in the page which contains the title of the article. This will ensure the page presented for purchase of the article will contain this title so the user is aware of what they're purchasing.</td>\n  </tr>\n  <tr>\n    <td><code>articleId</code></td>\n    <td>Comma separated list of identifiers</td>\n    <td>By default, the URL of an article is used to match it to a purchase option, but instead of specifying a URL path for a purchase option you can set an Article ID in the LaterPay Connector-UI and then use the <code>articleId</code> property to match the article with the purchase option.\n    <br />\n    This is necessary in cases where matching a purchase option by an article’s URL is not flexible enough. See the <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/article_id/\">configuration page for the LaterPay Connector()</a> to see learn about some example scenarios in which this is useful.</td>\n  </tr>\n  <tr>\n    <td><code>jwt</code></td>\n    <td>JWT token for dynamic payment configuration</td>\n    <td>This option allows you specify a signed JSON Web Token with a configuration for the available paid content. This means that you can provide an in page configuration, programatically generated in your pages rather than specifying it manually on LaterPay's Connector Admin interface. This might be specially useful when configuring Single Purchases for many different articles.\n    <br />\n    If you'd like more information on how to create this token and what content can be specified in it, please refer to LaterPay's <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/config_token/#jwt-object-properties\">JWT Paid Content API</a> documentation for the Connector Script integration.\n    </td>\n  </tr>\n  <tr>\n    <td><code>locale</code></td>\n    <td>string</td>\n    <td>Defines the style of price formatting appropriate for the locale.</td>\n  </tr>\n  <tr>\n    <td><code>localeMessages</code></td>\n    <td>object</td>\n    <td>Allows the publisher to customize or localize the text present in the generated list of purchase options. See the <a href=\"#localization\">Localization</a> section for more information.</td>\n  </tr>\n  <tr>\n    <td><code>scrollToTopAfterAuth</code></td>\n    <td>boolean</td>\n    <td>If true, scrolls the page to the top after the authorization process is successful. This can be helpful if the place where you show the dialog is further below in the page and the user could be confused by their current scroll position after returning to the page.</td>\n  </tr>\n  <tr>\n    <td><code>region</code></td>\n    <td>string</td>\n    <td>Specify if you are on the <code>eu</code> or <code>us</code> <a href=\"https://connectormwi.laterpay.net/docs/regions-environments-locales.html\">LaterPay region</a>.</td>\n  </tr>\n  <tr>\n    <td><code>sandbox</code></td>\n    <td>boolean</td>\n    <td>Only needed if you are using the sandbox mode to test out your server configuration. You also need to use AMP's <a href=\"https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#amp-runtime\">development mode</a>.</td>\n  </tr>\n</table>\n\n## Styling\n\nMultiple classes are applied to some of the elements in the generated markup. Elements with no classes can be referred unambiguously through CSS element selectors.\n\nSome basic layout CSS already exists, but it's recommended that publishers style it to match the look and feel of their pages.\n\nThe structure created for the dialog looks as follows:\n\n```html\n<div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\">\n  <div class=\"amp-access-laterpay-container\">\n    <p class=\"amp-access-laterpay-header\">\n      Optional, appears if header locale message is defined.\n    </p>\n    <ul>\n      <li>\n        <label>\n          <input name=\"purchaseOption\" type=\"radio\" />\n          <div class=\"amp-access-laterpay-metadata\">\n            <span class=\"amp-access-laterpay-title\">Purchase option title</span>\n            <p class=\"amp-access-laterpay-description\">\n              Purchase option description\n            </p>\n          </div>\n        </label>\n        <p class=\"amp-access-laterpay-price-container\">\n          <span class=\"amp-access-laterpay-price\">0.15</span>\n          <sup class=\"amp-access-laterpay-currency\">USD</sup>\n        </p>\n      </li>\n      <!-- ... more list items for other purchase options ... -->\n    </ul>\n    <button class=\"amp-access-laterpay-purchase-button\">Buy Now</button>\n    <p class=\"amp-access-laterpay-already-purchased-container\">\n      <a href=\"...\">I already bought this</a>\n    </p>\n    <p class=\"amp-access-laterpay-footer\">\n      Optional, appears if footer locale message is defined.\n    </p>\n  </div>\n  <p class=\"amp-access-laterpay-badge\">\n    Powered by <a href=\"https://laterpay.net\" target=\"_blank\">LaterPay</a>\n  </p>\n</div>\n```\n\n## Analytics\n\nGiven that `amp-access-laterpay` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nThe examples at [https://ampexample.laterpay.net/](https://ampexample.laterpay.net/) are all configured to send these analytics events if you'd like to see a more complete example as to how this would look in practice.\n\n## Localization\n\nThe text shown in the dialog for the purchase options will be defined by the publisher in the LaterPay Connector UI.\n\nThe remaining text is part of the extended component and can be changed and localized via the configuration options as follows:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"localeMessages\": {\n        \"messageKey\": \"message value\"\n      }\n    }\n  }\n</script>\n```\n\nThe following message keys can be translated or customized, but be aware that they should retain their original meaning and intent.\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Key</th>\n    <th class=\"col-fourty\">Description</th>\n    <th>Default value</th>\n  </tr>\n  <tr>\n    <td><code>payLaterButton</code></td>\n    <td>Text shown in the purchase button for options that can be paid later.</td>\n    <td>'Buy Now, Pay Later'</td>\n  </tr>\n  <tr>\n    <td><code>payNowButton</code></td>\n    <td>Text shown in the purchase button for options which will have to paid in the moment of purchase.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>defaultButton</code></td>\n    <td>Default text shown in the purchase button before any option is selected.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>alreadyPurchasedLink</code></td>\n    <td>If the user has purchased the article in the past but they have lost their cookies (or are in a different device) they can use this link to login to LaterPay and retrieve their purchases.</td>\n    <td>'I already bought this'</td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>header</code></td>\n    <td>Optional header text.</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>footer</code></td>\n    <td>Optional footer text.</td>\n    <td></td>\n  </tr>\n</table>\n\n## Validation\n\nSee [`amp-access-laterpay` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-laterpay/validator-amp-access-laterpay.protoascii) in the AMP validator specification.\n","frontmatter":{"$category@":"dynamic-content","formats":["websites"],"teaser":{"text":"Allows publishers to integrate with the LaterPay micropayments platform."}},"isInternal":false,"tokens":3252,"sizeBytes":13336},{"name":"amp-access-poool.md","path":"extensions/amp-access-poool/amp-access-poool.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access-poool/amp-access-poool.md","title":"Amp-access-poool Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Displays a Poool paywall.\n---\n\n# amp-access-poool\n\n## Usage\n\nThe `amp-access-poool` component, based on `amp-access`, loads and shows a paywall using your `bundleID` from Poool's Dashboard configuration.\n\nSee [poool.tech](https://poool.tech) for more details. `amp-access-poool` is based on, and requires,\n[`amp-access`](https://amp.dev/documentation/components/amp-access).\n\nAs you'll know if you're familiar with how Poool works outside of AMP, you cannot use `excerpt` and `hide` modes here. This is due to AMP's specific behavior. You will be able to lock or unlock your content with the `access` variable which is provided by `amp-access`. Check out the `poool-widget` section just below.\n\nThe `amp-access-poool` component does not require an authorization or pingback configuration because it is pre-configured to work with Poool.\n\nFor more information about modes, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#mode).\n\n### Configurations\n\nYou have to set configuration attributes within AMP in camelCase instead of the underscore (\" \\_ \") symbol traditionally used by Poool.\n\nFor example : use `customSegment=\"amp-custom-segment\"` to achieve `poool(\"config\", \"custom_segment\", \"amp-custom-segment\");`.\n\n#### HTML sections\n\n**Set poool-widget section, which contain poool paywall when access isn't granted.**\n\nThe `amp-access-poool` component requires 3 different sections:\n\n-   The article preview, shown when access hasn't been granted yet (with `amp-access=\"NOT access\"`) and identified by Poool using the `poool-access-preview` attribute\n-   The article content, shown when access has been granted (with `amp-access=\"access\"`), hidden by the `amp-access-hide` attribute until access has been granted, and identified by Poool using the `poool-access-content` attribute\n-   Poool's Paywall container, shown when access hasn't been granted yet (with `amp-access=\"NOT error AND NOT access\"`), identified by Poool using the `poool` id\n\n```html\n<section poool-access-preview amp-access=\"NOT access\">\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section poool-access-content amp-access=\"access\" amp-access-hide>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section amp-access=\"NOT error AND NOT access\" id=\"poool\"></section>\n```\n\n#### amp-access script - poool config\n\n**Example: Basic paywall configuration (with default values)**\n\nConfiguration is similar to AMP Access, except no authorization, pingback or login url is required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"itemID\": \"amp-example-article\"\n    }\n  }\n</script>\n```\n\n**Example: Show a paywall for a user in a custom group/segment called \"amp-custom-segment\"**\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"debug\": \"true\",\n      \"cookiesEnabled\": \"true\",\n      \"itemID\": \"amp-example-article\",\n      \"customSegment\": \"amp-custom-segment\"\n    }\n  }\n</script>\n```\n\nFor more information about configuration variables, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#configuration).\n\n## Attributes\n\n### bundleID (required)\n\nYour App ID (you can find it on your Dashboard).\n\n### itemID (required)\n\nYour **unique** article ID.\n\n### pageType (required)\n\nUsed to tell Poool that a page has been visited by the current user.\nSee [documentation](https://dev.poool.tech/doc/sdk#page_view) for more information.\n\n### debug\n\nEnable/disable debug mode.\nSee [documentation](https://dev.poool.tech/doc/sdk#debug) for more information.\n\n### forceWidget\n\nOverride current widget for user.\nSee [documentation](https://dev.poool.tech/doc/sdk#force_widget) for more information.\n\n### loginButtonEnabled\n\nEnable/disable paywall \"login\" button.\nSee [documentation](https://dev.poool.tech/doc/sdk#login_button_enabled) for more information.\n\n### signatureEnabled\n\nEnable/disable paywall signature, shown under article content when the article has been unlocked.\nSee [documentation](https://dev.poool.tech/doc/sdk#signature_enabled) for more information.\n\n### videoClient\n\nSet default video client (vast, googima) for video widget.\nSee [documentation](https://dev.poool.tech/doc/sdk#video_client) for more information.\n\n### customSegment\n\nOverride native segments with a custom group/segment slug.\nSee [documentation](https://dev.poool.tech/doc/sdk#custom_segment) for more information.\n\n### cookiesEnabled\n\nFollowing latest GDPR requirements, we decided to disable cookies by default inside our paywall. You will have to explicitly set this attribute to reflect the user's consent.\nSee [documentation](https://dev.poool.tech/doc/sdk#cookies_enabled) for more information.\n\n### locale\n\nSet default locale for all texts inside the paywall.\nSee [documentation](https://dev.poool.tech/doc/sdk#locale) for more information.\n\n### context\n\nOverride default or native contexts with a custom context value.\nSee [documentation](https://dev.poool.tech/doc/sdk#context) for more information.\n\n## Validation\n\nSee [`amp-access-poool` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-poool/validator-amp-access-poool.protoascii) in the AMP validator specification.\n","frontmatter":{"$category@":"dynamic-content","formats":["websites"],"teaser":{"text":"Displays a Poool paywall."}},"isInternal":false,"tokens":1376,"sizeBytes":5876},{"name":"amp-access-scroll.md","path":"extensions/amp-access-scroll/amp-access-scroll.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access-scroll/amp-access-scroll.md","title":"Amp-access-scroll Skill","category":"anthropic-skill","format":"markdown","content":"---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Integrates with Scroll membership.\n---\n\n# amp-access-scroll\n\n## Usage\n\nLets sites in the [Scroll](https://scroll.com) network identify Scroll members in order to serve them an ad-free, directly-monetized experience.\n\n### Configuration\n\nIn `<head>`, add\n\n```\n<script id=\"amp-access\" type=\"application/json\">\n{\n  \"vendor\": \"scroll\",\n  \"namespace\": \"scroll\"\n}\n</script>\n```\n\nBe sure not to add a trailing comma to the namespace line, which makes it invalid JSON!\n\nIf you are already using `amp-access` for a paywall, follow the steps in the `amp-access` documentation for [using namespaces and an array of providers](https://amp.dev/documentation/components/amp-access#multiple-access-providers).\n\n### Make each ad conditional\n\nAdd an `amp-access` attribute to each ad container.\n\n```\n<div class=\"amp-ad-container\" amp-access=\"NOT scroll.scroll\">\n  <amp-ad... >\n</div>\n```\n\nLearn more at [https://developer.scroll.com/amp](https://developer.scroll.com/amp).\n\n## Validation\n\nSee [`amp-access-scroll` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-scroll/validator-amp-access-scroll.protoascii) in the AMP validator specification.\n","frontmatter":{"$category@":"dynamic-content","formats":["websites"],"teaser":{"text":"Integrates with Scroll membership."}},"isInternal":false,"tokens":286,"sizeBytes":1226},{"name":"DEVELOPING.md","path":"extensions/amp-access/0.1/iframe-api/DEVELOPING.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/DEVELOPING.md","title":"Iframe-api Skill","category":"anthropic-skill","format":"markdown","content":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/DEVELOPING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/DEVELOPING.md)","tokens":300,"sizeBytes":218},{"name":"package.json","path":"extensions/amp-access/0.1/iframe-api/package.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/package.json","title":"Iframe-api Skill","category":"anthropic-skill","format":"json","content":"# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/package.json)","tokens":300,"sizeBytes":216},{"name":"amp-access-analytics.md","path":"extensions/amp-access/amp-access-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access-analytics.md","title":"Amp-access Skill","category":"anthropic-skill","format":"markdown","content":"# AMP Access and Analytics\n\n## Access analytics triggers\n\nAccess service issues events for major states in the access flow. These events can be reported through the analytics configuration by using triggers.\n\nSee [amp-analytics.md](../amp-analytics/amp-analytics.md) for details on _amp-analytics_ configuration.\n\n### Authorization received trigger (`\"on\": \"access-authorization-received\"`)\n\nThe `access-authorization-received` event is issued when the Authorization endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationReceived\": {\n    \"on\": \"access-authorization-received\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Authorization received trigger (`\"on\": \"access-authorization-failed\"`)\n\nThe `access-authorization-failed` event is issued when the Authorization endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationFailed\": {\n    \"on\": \"access-authorization-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Access view registered trigger (`\"on\": \"access-viewed\"`)\n\nThe `access-viewed` event is issued when the access system considers the page viewed and right before pingback is sent. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessViewed\": {\n    \"on\": \"access-viewed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback sent trigger (`\"on\": \"access-pingback-sent\"`)\n\nThe `access-pingback-sent` event is issued when the Pingback endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackSent\": {\n    \"on\": \"access-pingback-sent\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback failed trigger (`\"on\": \"access-pingback-failed\"`)\n\nThe `access-pingback-failed` event is issued when the Pingback endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackFailed\": {\n    \"on\": \"access-pingback-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login started trigger (`\"on\": \"access-login[-type]-started\"`)\n\nThe `access-login[-type]-started` event is issued right before the Login dialog has been opened. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-started`. When multiple Login URLs are configured, the event is `access-login-type-started`, e.g. \"access-login-signup-started\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginStarted\": {\n    \"on\": \"access-login-started\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login success trigger (`\"on\": \"access-login[-type]-success\"`)\n\nThe `access-login[-type]-success` event is issued when Login dialog has succeeded. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-success`. When multiple Login URLs are configured, the event is `access-login-type-success`, e.g. \"access-login-signup-success\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginSuccess\": {\n    \"on\": \"access-login-success\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login rejected trigger (`\"on\": \"access-login[-type]-rejected\"`)\n\nThe `access-login[-type]-rejected` event is issued when Login dialog has been rejected by the user. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-rejected`. When multiple Login URLs are configured, the event is `access-login-type-rejected`, e.g. \"access-login-signup-rejected\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginRejected\": {\n    \"on\": \"access-login-rejected\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login failed trigger (`\"on\": \"access-login[-type]-failed\"`)\n\nThe `access-login[-type]-failed` event is issued when Login dialog has failed due to an unknown reason. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login[-type]-failed`. When multiple Login URLs are configured, the event is `access-login-type-failed`, e.g. \"access-login-signup-failed\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginFailed\": {\n    \"on\": \"access-login-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n## Access analytics variables\n\nAccess contributes the following URL substitutions to the [amp-var-substitutions.md](../../docs/spec/amp-var-substitutions.md).\n\n### ACCESS_READER_ID\n\nThe `ACCESS_READER_ID` variable is substituted with the Reader ID used for access operations. This is a sensitive ID and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n\n### AUTHDATA(field)\n\nThe `AUTHDATA(field)` variable is substituted with the value of the field in the authorization response. The nested fields are allowed, such as `AUTHDATA(nested.field)`.\n\nThis variable will wait until authorization is complete before being available.\n\nData contained in `AUTHDATA` may be sensitive and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n","isInternal":false,"tokens":1191,"sizeBytes":5119},{"name":"amp-access.md","path":"extensions/amp-access/amp-access.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access.md","title":"Amp-access Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-access Skill\n\nPath: `extensions/amp-access/amp-access.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access.md)","tokens":300,"sizeBytes":188},{"name":"amp-accordion.md","path":"extensions/amp-accordion/0.1/amp-accordion.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/0.1/amp-accordion.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-accordion/0.1/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/0.1/amp-accordion.md)","tokens":300,"sizeBytes":201},{"name":"amp-accordion.md","path":"extensions/amp-accordion/amp-accordion.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/amp-accordion.md","title":"Amp-accordion Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-accordion Skill\n\nPath: `extensions/amp-accordion/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/amp-accordion.md)","tokens":300,"sizeBytes":203},{"name":"amp-action-macro.md","path":"extensions/amp-action-macro/amp-action-macro.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-action-macro/amp-action-macro.md","title":"Amp-action-macro Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-action-macro Skill\n\nPath: `extensions/amp-action-macro/amp-action-macro.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-action-macro/amp-action-macro.md)","tokens":300,"sizeBytes":218},{"name":"amp-ad-exit.md","path":"extensions/amp-ad-exit/amp-ad-exit.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-exit/amp-ad-exit.md","title":"Amp-ad-exit Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-exit Skill\n\nPath: `extensions/amp-ad-exit/amp-ad-exit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-exit/amp-ad-exit.md)","tokens":300,"sizeBytes":193},{"name":"amp-ad-network-adsense-impl-internal.md","path":"extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md","title":"Amp-ad-network-adsense-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-adsense-impl Skill\n\nPath: `extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md)","tokens":300,"sizeBytes":291},{"name":"amp-ad-network-dianomi-impl-internal.md","path":"extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md","title":"Amp-ad-network-dianomi-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-dianomi-impl Skill\n\nPath: `extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md)","tokens":300,"sizeBytes":291},{"name":"always-serve-npa.md","path":"extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md)","tokens":300,"sizeBytes":263},{"name":"amp-ad-network-doubleclick-impl-internal.md","path":"extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md)","tokens":300,"sizeBytes":311},{"name":"amp-consent.md","path":"extensions/amp-ad-network-doubleclick-impl/amp-consent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-consent.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-consent.md)","tokens":300,"sizeBytes":253},{"name":"doubleclick-rtc.md","path":"extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md)","tokens":300,"sizeBytes":261},{"name":"fluid.md","path":"extensions/amp-ad-network-doubleclick-impl/fluid.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/fluid.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/fluid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/fluid.md)","tokens":300,"sizeBytes":241},{"name":"lazy-fetch.md","path":"extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md)","tokens":300,"sizeBytes":251},{"name":"multi-size.md","path":"extensions/amp-ad-network-doubleclick-impl/multi-size.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/multi-size.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/multi-size.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/multi-size.md)","tokens":300,"sizeBytes":251},{"name":"refresh.md","path":"extensions/amp-ad-network-doubleclick-impl/refresh.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/refresh.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/refresh.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/refresh.md)","tokens":300,"sizeBytes":245},{"name":"render-on-idle.md","path":"extensions/amp-ad-network-doubleclick-impl/render-on-idle.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/render-on-idle.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/render-on-idle.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/render-on-idle.md)","tokens":300,"sizeBytes":259},{"name":"safeframe.md","path":"extensions/amp-ad-network-doubleclick-impl/safeframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/safeframe.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/safeframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/safeframe.md)","tokens":300,"sizeBytes":249},{"name":"single-page-ad.md","path":"extensions/amp-ad-network-doubleclick-impl/single-page-ad.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/single-page-ad.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/single-page-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/single-page-ad.md)","tokens":300,"sizeBytes":259},{"name":"sra.md","path":"extensions/amp-ad-network-doubleclick-impl/sra.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/sra.md","title":"Amp-ad-network-doubleclick-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/sra.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/sra.md)","tokens":300,"sizeBytes":237},{"name":"amp-ad-network-fake-impl-internal.md","path":"extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md","title":"Amp-ad-network-fake-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-fake-impl Skill\n\nPath: `extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-fake-impl/amp-ad-network-fake-impl-internal.md)","tokens":300,"sizeBytes":276},{"name":"amp-ad-network-mgid-impl-internal.md","path":"extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md","title":"Amp-ad-network-mgid-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-mgid-impl Skill\n\nPath: `extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-mgid-impl/amp-ad-network-mgid-impl-internal.md)","tokens":300,"sizeBytes":276},{"name":"amp-ad-network-nws-impl-internal.md","path":"extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md","title":"Amp-ad-network-nws-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-nws-impl Skill\n\nPath: `extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-nws-impl/amp-ad-network-nws-impl-internal.md)","tokens":300,"sizeBytes":271},{"name":"amp-ad-network-oblivki-impl.md","path":"extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md","title":"Amp-ad-network-oblivki-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-oblivki-impl Skill\n\nPath: `extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-oblivki-impl/amp-ad-network-oblivki-impl.md)","tokens":300,"sizeBytes":273},{"name":"amp-ad-network-smartads-impl.md","path":"extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md","title":"Amp-ad-network-smartads-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-smartads-impl Skill\n\nPath: `extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartads-impl/amp-ad-network-smartads-impl.md)","tokens":300,"sizeBytes":278},{"name":"amp-ad-network-smartadserver-impl-internal.md","path":"extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md","title":"Amp-ad-network-smartadserver-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-smartadserver-impl Skill\n\nPath: `extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-smartadserver-impl/amp-ad-network-smartadserver-impl-internal.md)","tokens":300,"sizeBytes":321},{"name":"amp-ad-network-triplelift-impl-internal.md","path":"extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md","title":"Amp-ad-network-triplelift-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-triplelift-impl Skill\n\nPath: `extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-triplelift-impl/amp-ad-network-triplelift-impl-internal.md)","tokens":300,"sizeBytes":306},{"name":"amp-ad-network-valueimpression-impl-internal.md","path":"extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md","title":"Amp-ad-network-valueimpression-impl Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad-network-valueimpression-impl Skill\n\nPath: `extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-valueimpression-impl/amp-ad-network-valueimpression-impl-internal.md)","tokens":300,"sizeBytes":331},{"name":"amp-ad.md","path":"extensions/amp-ad/amp-ad.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad/amp-ad.md","title":"Amp-ad Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ad Skill\n\nPath: `extensions/amp-ad/amp-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad/amp-ad.md)","tokens":300,"sizeBytes":168},{"name":"amp-addthis.md","path":"extensions/amp-addthis/amp-addthis.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-addthis/amp-addthis.md","title":"Amp-addthis Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-addthis Skill\n\nPath: `extensions/amp-addthis/amp-addthis.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-addthis/amp-addthis.md)","tokens":300,"sizeBytes":193},{"name":"vendor-requests.json","path":"extensions/amp-analytics/0.1/test/vendor-requests.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/test/vendor-requests.json","title":"Test Skill","category":"anthropic-skill","format":"json","content":"# Test Skill\n\nPath: `extensions/amp-analytics/0.1/test/vendor-requests.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/test/vendor-requests.json)","tokens":300,"sizeBytes":220},{"name":"_fake_.json","path":"extensions/amp-analytics/0.1/vendors/_fake_.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/_fake_.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/_fake_.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/_fake_.json)","tokens":300,"sizeBytes":211},{"name":"acquialift.json","path":"extensions/amp-analytics/0.1/vendors/acquialift.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/acquialift.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/acquialift.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/acquialift.json)","tokens":300,"sizeBytes":219},{"name":"adobeanalytics_nativeConfig.json","path":"extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics_nativeConfig.json)","tokens":300,"sizeBytes":253},{"name":"adobeanalytics.json","path":"extensions/amp-analytics/0.1/vendors/adobeanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adobeanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adobeanalytics.json)","tokens":300,"sizeBytes":227},{"name":"adskeeper.json","path":"extensions/amp-analytics/0.1/vendors/adskeeper.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adskeeper.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/adskeeper.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/adskeeper.json)","tokens":300,"sizeBytes":217},{"name":"afsanalytics.json","path":"extensions/amp-analytics/0.1/vendors/afsanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/afsanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/afsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/afsanalytics.json)","tokens":300,"sizeBytes":223},{"name":"alexametrics.json","path":"extensions/amp-analytics/0.1/vendors/alexametrics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/alexametrics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/alexametrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/alexametrics.json)","tokens":300,"sizeBytes":223},{"name":"amplitude.json","path":"extensions/amp-analytics/0.1/vendors/amplitude.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/amplitude.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/amplitude.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/amplitude.json)","tokens":300,"sizeBytes":217},{"name":"appsflyer.json","path":"extensions/amp-analytics/0.1/vendors/appsflyer.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/appsflyer.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/appsflyer.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/appsflyer.json)","tokens":300,"sizeBytes":217},{"name":"atinternet.json","path":"extensions/amp-analytics/0.1/vendors/atinternet.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/atinternet.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/atinternet.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/atinternet.json)","tokens":300,"sizeBytes":219},{"name":"baiduanalytics.json","path":"extensions/amp-analytics/0.1/vendors/baiduanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/baiduanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/baiduanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/baiduanalytics.json)","tokens":300,"sizeBytes":227},{"name":"bg.canary.json","path":"extensions/amp-analytics/0.1/vendors/bg.canary.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.canary.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.canary.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.canary.json)","tokens":300,"sizeBytes":217},{"name":"bg.json","path":"extensions/amp-analytics/0.1/vendors/bg.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bg.json)","tokens":300,"sizeBytes":203},{"name":"blackcrowai.json","path":"extensions/amp-analytics/0.1/vendors/blackcrowai.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blackcrowai.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blackcrowai.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blackcrowai.json)","tokens":300,"sizeBytes":221},{"name":"blueconic.json","path":"extensions/amp-analytics/0.1/vendors/blueconic.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blueconic.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/blueconic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/blueconic.json)","tokens":300,"sizeBytes":217},{"name":"bluetriangle.json","path":"extensions/amp-analytics/0.1/vendors/bluetriangle.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bluetriangle.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/bluetriangle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/bluetriangle.json)","tokens":300,"sizeBytes":223},{"name":"browsi.json","path":"extensions/amp-analytics/0.1/vendors/browsi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/browsi.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/browsi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/browsi.json)","tokens":300,"sizeBytes":211},{"name":"burt.json","path":"extensions/amp-analytics/0.1/vendors/burt.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/burt.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/burt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/burt.json)","tokens":300,"sizeBytes":207},{"name":"byside.json","path":"extensions/amp-analytics/0.1/vendors/byside.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/byside.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/byside.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/byside.json)","tokens":300,"sizeBytes":211},{"name":"captainmetrics.json","path":"extensions/amp-analytics/0.1/vendors/captainmetrics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/captainmetrics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/captainmetrics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/captainmetrics.json)","tokens":300,"sizeBytes":227},{"name":"chartbeat.json","path":"extensions/amp-analytics/0.1/vendors/chartbeat.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/chartbeat.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/chartbeat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/chartbeat.json)","tokens":300,"sizeBytes":217},{"name":"clicky.json","path":"extensions/amp-analytics/0.1/vendors/clicky.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/clicky.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/clicky.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/clicky.json)","tokens":300,"sizeBytes":211},{"name":"colanalytics.json","path":"extensions/amp-analytics/0.1/vendors/colanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/colanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/colanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/colanalytics.json)","tokens":300,"sizeBytes":223},{"name":"comscore.json","path":"extensions/amp-analytics/0.1/vendors/comscore.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/comscore.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/comscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/comscore.json)","tokens":300,"sizeBytes":215},{"name":"cxense.json","path":"extensions/amp-analytics/0.1/vendors/cxense.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/cxense.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/cxense.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/cxense.json)","tokens":300,"sizeBytes":211},{"name":"deepbi.json","path":"extensions/amp-analytics/0.1/vendors/deepbi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/deepbi.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/deepbi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/deepbi.json)","tokens":300,"sizeBytes":211},{"name":"epica.json","path":"extensions/amp-analytics/0.1/vendors/epica.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/epica.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/epica.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/epica.json)","tokens":300,"sizeBytes":209},{"name":"euleriananalytics.json","path":"extensions/amp-analytics/0.1/vendors/euleriananalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/euleriananalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/euleriananalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/euleriananalytics.json)","tokens":300,"sizeBytes":233},{"name":"facebookpixel.json","path":"extensions/amp-analytics/0.1/vendors/facebookpixel.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/facebookpixel.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/facebookpixel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/facebookpixel.json)","tokens":300,"sizeBytes":225},{"name":"gemius.json","path":"extensions/amp-analytics/0.1/vendors/gemius.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gemius.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gemius.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gemius.json)","tokens":300,"sizeBytes":211},{"name":"gfksensic.json","path":"extensions/amp-analytics/0.1/vendors/gfksensic.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gfksensic.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gfksensic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gfksensic.json)","tokens":300,"sizeBytes":217},{"name":"googleadwords.json","path":"extensions/amp-analytics/0.1/vendors/googleadwords.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleadwords.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleadwords.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleadwords.json)","tokens":300,"sizeBytes":225},{"name":"googleanalytics.json","path":"extensions/amp-analytics/0.1/vendors/googleanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/googleanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/googleanalytics.json)","tokens":300,"sizeBytes":229},{"name":"gtag.json","path":"extensions/amp-analytics/0.1/vendors/gtag.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gtag.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/gtag.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/gtag.json)","tokens":300,"sizeBytes":207},{"name":"ibeatanalytics.json","path":"extensions/amp-analytics/0.1/vendors/ibeatanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ibeatanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ibeatanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ibeatanalytics.json)","tokens":300,"sizeBytes":227},{"name":"idealmedia.json","path":"extensions/amp-analytics/0.1/vendors/idealmedia.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/idealmedia.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/idealmedia.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/idealmedia.json)","tokens":300,"sizeBytes":219},{"name":"infonline_anonymous.json","path":"extensions/amp-analytics/0.1/vendors/infonline_anonymous.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_anonymous.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_anonymous.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_anonymous.json)","tokens":300,"sizeBytes":237},{"name":"infonline_base.json","path":"extensions/amp-analytics/0.1/vendors/infonline_base.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_base.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline_base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline_base.json)","tokens":300,"sizeBytes":227},{"name":"infonline.json","path":"extensions/amp-analytics/0.1/vendors/infonline.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/infonline.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/infonline.json)","tokens":300,"sizeBytes":217},{"name":"iplabel.json","path":"extensions/amp-analytics/0.1/vendors/iplabel.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/iplabel.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/iplabel.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/iplabel.json)","tokens":300,"sizeBytes":213},{"name":"keen.json","path":"extensions/amp-analytics/0.1/vendors/keen.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/keen.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/keen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/keen.json)","tokens":300,"sizeBytes":207},{"name":"kenshoo.json","path":"extensions/amp-analytics/0.1/vendors/kenshoo.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/kenshoo.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/kenshoo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/kenshoo.json)","tokens":300,"sizeBytes":213},{"name":"krux.json","path":"extensions/amp-analytics/0.1/vendors/krux.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/krux.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/krux.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/krux.json)","tokens":300,"sizeBytes":207},{"name":"linkpulse.json","path":"extensions/amp-analytics/0.1/vendors/linkpulse.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/linkpulse.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/linkpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/linkpulse.json)","tokens":300,"sizeBytes":217},{"name":"lotame.json","path":"extensions/amp-analytics/0.1/vendors/lotame.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/lotame.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/lotame.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/lotame.json)","tokens":300,"sizeBytes":211},{"name":"mapp_intelligence.json","path":"extensions/amp-analytics/0.1/vendors/mapp_intelligence.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mapp_intelligence.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mapp_intelligence.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mapp_intelligence.json)","tokens":300,"sizeBytes":233},{"name":"marinsoftware.json","path":"extensions/amp-analytics/0.1/vendors/marinsoftware.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/marinsoftware.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/marinsoftware.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/marinsoftware.json)","tokens":300,"sizeBytes":225},{"name":"mediametrie.json","path":"extensions/amp-analytics/0.1/vendors/mediametrie.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediametrie.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediametrie.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediametrie.json)","tokens":300,"sizeBytes":221},{"name":"mediarithmics.json","path":"extensions/amp-analytics/0.1/vendors/mediarithmics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediarithmics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediarithmics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediarithmics.json)","tokens":300,"sizeBytes":225},{"name":"mediator.json","path":"extensions/amp-analytics/0.1/vendors/mediator.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediator.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mediator.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mediator.json)","tokens":300,"sizeBytes":215},{"name":"memo.json","path":"extensions/amp-analytics/0.1/vendors/memo.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/memo.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/memo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/memo.json)","tokens":300,"sizeBytes":207},{"name":"metrika.json","path":"extensions/amp-analytics/0.1/vendors/metrika.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/metrika.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/metrika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/metrika.json)","tokens":300,"sizeBytes":213},{"name":"mgid.json","path":"extensions/amp-analytics/0.1/vendors/mgid.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mgid.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mgid.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mgid.json)","tokens":300,"sizeBytes":207},{"name":"moat.json","path":"extensions/amp-analytics/0.1/vendors/moat.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moat.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moat.json)","tokens":300,"sizeBytes":207},{"name":"mobify.json","path":"extensions/amp-analytics/0.1/vendors/mobify.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mobify.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mobify.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mobify.json)","tokens":300,"sizeBytes":211},{"name":"moengage.json","path":"extensions/amp-analytics/0.1/vendors/moengage.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moengage.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/moengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/moengage.json)","tokens":300,"sizeBytes":215},{"name":"mparticle.json","path":"extensions/amp-analytics/0.1/vendors/mparticle.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mparticle.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mparticle.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mparticle.json)","tokens":300,"sizeBytes":217},{"name":"mpulse.json","path":"extensions/amp-analytics/0.1/vendors/mpulse.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mpulse.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/mpulse.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/mpulse.json)","tokens":300,"sizeBytes":211},{"name":"navegg.json","path":"extensions/amp-analytics/0.1/vendors/navegg.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/navegg.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/navegg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/navegg.json)","tokens":300,"sizeBytes":211},{"name":"neodata.json","path":"extensions/amp-analytics/0.1/vendors/neodata.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/neodata.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/neodata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/neodata.json)","tokens":300,"sizeBytes":213},{"name":"newrelic.json","path":"extensions/amp-analytics/0.1/vendors/newrelic.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/newrelic.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/newrelic.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/newrelic.json)","tokens":300,"sizeBytes":215},{"name":"nielsen-marketing-cloud.json","path":"extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen-marketing-cloud.json)","tokens":300,"sizeBytes":245},{"name":"nielsen.json","path":"extensions/amp-analytics/0.1/vendors/nielsen.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/nielsen.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/nielsen.json)","tokens":300,"sizeBytes":213},{"name":"oewa.json","path":"extensions/amp-analytics/0.1/vendors/oewa.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewa.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewa.json)","tokens":300,"sizeBytes":207},{"name":"oewadirect.json","path":"extensions/amp-analytics/0.1/vendors/oewadirect.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewadirect.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oewadirect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oewadirect.json)","tokens":300,"sizeBytes":219},{"name":"oracleInfinityAnalytics.json","path":"extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/oracleInfinityAnalytics.json)","tokens":300,"sizeBytes":245},{"name":"parsely.json","path":"extensions/amp-analytics/0.1/vendors/parsely.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/parsely.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/parsely.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/parsely.json)","tokens":300,"sizeBytes":213},{"name":"permutive-ampscript.json","path":"extensions/amp-analytics/0.1/vendors/permutive-ampscript.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive-ampscript.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive-ampscript.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive-ampscript.json)","tokens":300,"sizeBytes":237},{"name":"permutive.json","path":"extensions/amp-analytics/0.1/vendors/permutive.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/permutive.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/permutive.json)","tokens":300,"sizeBytes":217},{"name":"piano.json","path":"extensions/amp-analytics/0.1/vendors/piano.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piano.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piano.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piano.json)","tokens":300,"sizeBytes":209},{"name":"pinpoll.json","path":"extensions/amp-analytics/0.1/vendors/pinpoll.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pinpoll.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pinpoll.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pinpoll.json)","tokens":300,"sizeBytes":213},{"name":"piStats.json","path":"extensions/amp-analytics/0.1/vendors/piStats.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piStats.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/piStats.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/piStats.json)","tokens":300,"sizeBytes":213},{"name":"ppasanalytics.json","path":"extensions/amp-analytics/0.1/vendors/ppasanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ppasanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/ppasanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/ppasanalytics.json)","tokens":300,"sizeBytes":225},{"name":"pressboard.json","path":"extensions/amp-analytics/0.1/vendors/pressboard.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pressboard.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/pressboard.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/pressboard.json)","tokens":300,"sizeBytes":219},{"name":"quantcast.json","path":"extensions/amp-analytics/0.1/vendors/quantcast.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/quantcast.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/quantcast.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/quantcast.json)","tokens":300,"sizeBytes":217},{"name":"rakam.json","path":"extensions/amp-analytics/0.1/vendors/rakam.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rakam.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rakam.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rakam.json)","tokens":300,"sizeBytes":209},{"name":"reppublika.json","path":"extensions/amp-analytics/0.1/vendors/reppublika.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/reppublika.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/reppublika.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/reppublika.json)","tokens":300,"sizeBytes":219},{"name":"retargetly.json","path":"extensions/amp-analytics/0.1/vendors/retargetly.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/retargetly.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/retargetly.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/retargetly.json)","tokens":300,"sizeBytes":219},{"name":"rudderstack.json","path":"extensions/amp-analytics/0.1/vendors/rudderstack.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rudderstack.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/rudderstack.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/rudderstack.json)","tokens":300,"sizeBytes":221},{"name":"segment.json","path":"extensions/amp-analytics/0.1/vendors/segment.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/segment.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/segment.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/segment.json)","tokens":300,"sizeBytes":213},{"name":"sensorsanalytics.json","path":"extensions/amp-analytics/0.1/vendors/sensorsanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/sensorsanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/sensorsanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/sensorsanalytics.json)","tokens":300,"sizeBytes":231},{"name":"shinystat.json","path":"extensions/amp-analytics/0.1/vendors/shinystat.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/shinystat.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/shinystat.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/shinystat.json)","tokens":300,"sizeBytes":217},{"name":"snowplow_v2.json","path":"extensions/amp-analytics/0.1/vendors/snowplow_v2.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow_v2.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow_v2.json)","tokens":300,"sizeBytes":221},{"name":"snowplow.json","path":"extensions/amp-analytics/0.1/vendors/snowplow.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/snowplow.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/snowplow.json)","tokens":300,"sizeBytes":215},{"name":"subscriptions-propensity.json","path":"extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/subscriptions-propensity.json)","tokens":300,"sizeBytes":247},{"name":"taboola.json","path":"extensions/amp-analytics/0.1/vendors/taboola.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/taboola.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/taboola.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/taboola.json)","tokens":300,"sizeBytes":213},{"name":"tail.json","path":"extensions/amp-analytics/0.1/vendors/tail.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tail.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tail.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tail.json)","tokens":300,"sizeBytes":207},{"name":"teaanalytics.json","path":"extensions/amp-analytics/0.1/vendors/teaanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/teaanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/teaanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/teaanalytics.json)","tokens":300,"sizeBytes":223},{"name":"tealiumcollect.json","path":"extensions/amp-analytics/0.1/vendors/tealiumcollect.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tealiumcollect.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tealiumcollect.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tealiumcollect.json)","tokens":300,"sizeBytes":227},{"name":"top100.json","path":"extensions/amp-analytics/0.1/vendors/top100.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/top100.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/top100.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/top100.json)","tokens":300,"sizeBytes":211},{"name":"topmailru.json","path":"extensions/amp-analytics/0.1/vendors/topmailru.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/topmailru.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/topmailru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/topmailru.json)","tokens":300,"sizeBytes":217},{"name":"treasuredata.json","path":"extensions/amp-analytics/0.1/vendors/treasuredata.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/treasuredata.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/treasuredata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/treasuredata.json)","tokens":300,"sizeBytes":223},{"name":"tribooanalytics.json","path":"extensions/amp-analytics/0.1/vendors/tribooanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tribooanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/tribooanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/tribooanalytics.json)","tokens":300,"sizeBytes":229},{"name":"umenganalytics.json","path":"extensions/amp-analytics/0.1/vendors/umenganalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/umenganalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/umenganalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/umenganalytics.json)","tokens":300,"sizeBytes":227},{"name":"upscore.json","path":"extensions/amp-analytics/0.1/vendors/upscore.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/upscore.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/upscore.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/upscore.json)","tokens":300,"sizeBytes":213},{"name":"vponanalytics.json","path":"extensions/amp-analytics/0.1/vendors/vponanalytics.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/vponanalytics.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/vponanalytics.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/vponanalytics.json)","tokens":300,"sizeBytes":225},{"name":"webengage.json","path":"extensions/amp-analytics/0.1/vendors/webengage.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webengage.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webengage.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webengage.json)","tokens":300,"sizeBytes":217},{"name":"webtrekk_v2.json","path":"extensions/amp-analytics/0.1/vendors/webtrekk_v2.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk_v2.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk_v2.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk_v2.json)","tokens":300,"sizeBytes":221},{"name":"webtrekk.json","path":"extensions/amp-analytics/0.1/vendors/webtrekk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk.json","title":"Vendors Skill","category":"anthropic-skill","format":"json","content":"# Vendors Skill\n\nPath: `extensions/amp-analytics/0.1/vendors/webtrekk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/0.1/vendors/webtrekk.json)","tokens":300,"sizeBytes":215},{"name":"amp-analytics.md","path":"extensions/amp-analytics/amp-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-analytics.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-analytics.md)","tokens":300,"sizeBytes":203},{"name":"amp-components-analytics.md","path":"extensions/amp-analytics/amp-components-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-components-analytics.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-components-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-components-analytics.md)","tokens":300,"sizeBytes":225},{"name":"amp-video-analytics.md","path":"extensions/amp-analytics/amp-video-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-video-analytics.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/amp-video-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/amp-video-analytics.md)","tokens":300,"sizeBytes":215},{"name":"analytics-vars.md","path":"extensions/amp-analytics/analytics-vars.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vars.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vars.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vars.md)","tokens":300,"sizeBytes":205},{"name":"analytics-vendors-list.md","path":"extensions/amp-analytics/analytics-vendors-list.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vendors-list.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/analytics-vendors-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/analytics-vendors-list.md)","tokens":300,"sizeBytes":221},{"name":"integrating-analytics.md","path":"extensions/amp-analytics/integrating-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/integrating-analytics.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/integrating-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/integrating-analytics.md)","tokens":300,"sizeBytes":219},{"name":"linker-id-forwarding.md","path":"extensions/amp-analytics/linker-id-forwarding.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-forwarding.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-forwarding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-forwarding.md)","tokens":300,"sizeBytes":217},{"name":"linker-id-receiving.md","path":"extensions/amp-analytics/linker-id-receiving.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-receiving.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/linker-id-receiving.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/linker-id-receiving.md)","tokens":300,"sizeBytes":215},{"name":"why-not-iframe.md","path":"extensions/amp-analytics/why-not-iframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/why-not-iframe.md","title":"Amp-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-analytics Skill\n\nPath: `extensions/amp-analytics/why-not-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-analytics/why-not-iframe.md)","tokens":300,"sizeBytes":205},{"name":"amp-anim.md","path":"extensions/amp-anim/amp-anim.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-anim/amp-anim.md","title":"Amp-anim Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-anim Skill\n\nPath: `extensions/amp-anim/amp-anim.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-anim/amp-anim.md)","tokens":300,"sizeBytes":178},{"name":"amp-animation.md","path":"extensions/amp-animation/amp-animation.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-animation/amp-animation.md","title":"Amp-animation Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-animation Skill\n\nPath: `extensions/amp-animation/amp-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-animation/amp-animation.md)","tokens":300,"sizeBytes":203},{"name":"amp-apester-media.md","path":"extensions/amp-apester-media/amp-apester-media.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-apester-media/amp-apester-media.md","title":"Amp-apester-media Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-apester-media Skill\n\nPath: `extensions/amp-apester-media/amp-apester-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-apester-media/amp-apester-media.md)","tokens":300,"sizeBytes":223},{"name":"amp-app-banner.md","path":"extensions/amp-app-banner/amp-app-banner.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-app-banner/amp-app-banner.md","title":"Amp-app-banner Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-app-banner Skill\n\nPath: `extensions/amp-app-banner/amp-app-banner.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-app-banner/amp-app-banner.md)","tokens":300,"sizeBytes":208},{"name":"amp-audio.md","path":"extensions/amp-audio/amp-audio.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-audio/amp-audio.md","title":"Amp-audio Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-audio Skill\n\nPath: `extensions/amp-audio/amp-audio.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-audio/amp-audio.md)","tokens":300,"sizeBytes":183},{"name":"amp-auto-ads.md","path":"extensions/amp-auto-ads/amp-auto-ads.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-auto-ads/amp-auto-ads.md","title":"Amp-auto-ads Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-auto-ads Skill\n\nPath: `extensions/amp-auto-ads/amp-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-auto-ads/amp-auto-ads.md)","tokens":300,"sizeBytes":198},{"name":"amp-autocomplete.md","path":"extensions/amp-autocomplete/amp-autocomplete.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-autocomplete/amp-autocomplete.md","title":"Amp-autocomplete Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-autocomplete Skill\n\nPath: `extensions/amp-autocomplete/amp-autocomplete.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-autocomplete/amp-autocomplete.md)","tokens":300,"sizeBytes":218},{"name":"amp-base-carousel.md","path":"extensions/amp-base-carousel/0.1/amp-base-carousel.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/0.1/amp-base-carousel.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-base-carousel/0.1/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/0.1/amp-base-carousel.md)","tokens":300,"sizeBytes":217},{"name":"amp-base-carousel.md","path":"extensions/amp-base-carousel/amp-base-carousel.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/amp-base-carousel.md","title":"Amp-base-carousel Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-base-carousel Skill\n\nPath: `extensions/amp-base-carousel/amp-base-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/amp-base-carousel.md)","tokens":300,"sizeBytes":223},{"name":"amp-beopinion.md","path":"extensions/amp-beopinion/amp-beopinion.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-beopinion/amp-beopinion.md","title":"Amp-beopinion Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-beopinion Skill\n\nPath: `extensions/amp-beopinion/amp-beopinion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-beopinion/amp-beopinion.md)","tokens":300,"sizeBytes":203},{"name":"amp-bind.md","path":"extensions/amp-bind/amp-bind.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bind/amp-bind.md","title":"Amp-bind Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-bind Skill\n\nPath: `extensions/amp-bind/amp-bind.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bind/amp-bind.md)","tokens":300,"sizeBytes":178},{"name":"testresource.json","path":"extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json","title":"Integration Skill","category":"anthropic-skill","format":"json","content":"# Integration Skill\n\nPath: `extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/0.1/test/integration/testresource.json)","tokens":300,"sizeBytes":265},{"name":"amp-bodymovin-animation.md","path":"extensions/amp-bodymovin-animation/amp-bodymovin-animation.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/amp-bodymovin-animation.md","title":"Amp-bodymovin-animation Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-bodymovin-animation Skill\n\nPath: `extensions/amp-bodymovin-animation/amp-bodymovin-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-bodymovin-animation/amp-bodymovin-animation.md)","tokens":300,"sizeBytes":253},{"name":"amp-brid-player.md","path":"extensions/amp-brid-player/amp-brid-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brid-player/amp-brid-player.md","title":"Amp-brid-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-brid-player Skill\n\nPath: `extensions/amp-brid-player/amp-brid-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brid-player/amp-brid-player.md)","tokens":300,"sizeBytes":213},{"name":"amp-brightcove.md","path":"extensions/amp-brightcove/amp-brightcove.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brightcove/amp-brightcove.md","title":"Amp-brightcove Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-brightcove Skill\n\nPath: `extensions/amp-brightcove/amp-brightcove.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-brightcove/amp-brightcove.md)","tokens":300,"sizeBytes":208},{"name":"amp-byside-content.md","path":"extensions/amp-byside-content/amp-byside-content.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-byside-content/amp-byside-content.md","title":"Amp-byside-content Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-byside-content Skill\n\nPath: `extensions/amp-byside-content/amp-byside-content.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-byside-content/amp-byside-content.md)","tokens":300,"sizeBytes":228},{"name":"amp-call-tracking.md","path":"extensions/amp-call-tracking/amp-call-tracking.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-call-tracking/amp-call-tracking.md","title":"Amp-call-tracking Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-call-tracking Skill\n\nPath: `extensions/amp-call-tracking/amp-call-tracking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-call-tracking/amp-call-tracking.md)","tokens":300,"sizeBytes":223},{"name":"amp-carousel.md","path":"extensions/amp-carousel/0.1/amp-carousel.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/amp-carousel.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/amp-carousel.md)","tokens":300,"sizeBytes":197},{"name":"tsconfig.json","path":"extensions/amp-carousel/0.1/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/tsconfig.json","title":"0.1 Skill","category":"anthropic-skill","format":"json","content":"# 0.1 Skill\n\nPath: `extensions/amp-carousel/0.1/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/0.1/tsconfig.json)","tokens":300,"sizeBytes":193},{"name":"amp-carousel-analytics.md","path":"extensions/amp-carousel/amp-carousel-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel-analytics.md","title":"Amp-carousel Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel-analytics.md)","tokens":300,"sizeBytes":218},{"name":"amp-carousel.md","path":"extensions/amp-carousel/amp-carousel.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel.md","title":"Amp-carousel Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-carousel Skill\n\nPath: `extensions/amp-carousel/amp-carousel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-carousel/amp-carousel.md)","tokens":300,"sizeBytes":198},{"name":"amp-connatix-player.md","path":"extensions/amp-connatix-player/amp-connatix-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-connatix-player/amp-connatix-player.md","title":"Amp-connatix-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-connatix-player Skill\n\nPath: `extensions/amp-connatix-player/amp-connatix-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-connatix-player/amp-connatix-player.md)","tokens":300,"sizeBytes":233},{"name":"amp-consent.md","path":"extensions/amp-consent/amp-consent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/amp-consent.md","title":"Amp-consent Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/amp-consent.md)","tokens":300,"sizeBytes":193},{"name":"_ping_.md","path":"extensions/amp-consent/cmps/_ping_.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/_ping_.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/_ping_.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/_ping_.md)","tokens":300,"sizeBytes":186},{"name":"appconsent.md","path":"extensions/amp-consent/cmps/appconsent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/appconsent.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/appconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/appconsent.md)","tokens":300,"sizeBytes":194},{"name":"consentmanager.md","path":"extensions/amp-consent/cmps/consentmanager.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/consentmanager.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/consentmanager.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/consentmanager.md)","tokens":300,"sizeBytes":202},{"name":"didomi.md","path":"extensions/amp-consent/cmps/didomi.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/didomi.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/didomi.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/didomi.md)","tokens":300,"sizeBytes":186},{"name":"googlefc.md","path":"extensions/amp-consent/cmps/googlefc.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/googlefc.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/googlefc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/googlefc.md)","tokens":300,"sizeBytes":190},{"name":"iubenda.md","path":"extensions/amp-consent/cmps/iubenda.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/iubenda.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/iubenda.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/iubenda.md)","tokens":300,"sizeBytes":188},{"name":"liveramp.md","path":"extensions/amp-consent/cmps/liveramp.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/liveramp.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/liveramp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/liveramp.md)","tokens":300,"sizeBytes":190},{"name":"marfeel.md","path":"extensions/amp-consent/cmps/marfeel.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/marfeel.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/marfeel.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/marfeel.md)","tokens":300,"sizeBytes":188},{"name":"ogury.md","path":"extensions/amp-consent/cmps/ogury.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/ogury.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/ogury.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/ogury.md)","tokens":300,"sizeBytes":184},{"name":"onetrust.md","path":"extensions/amp-consent/cmps/onetrust.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/onetrust.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/onetrust.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/onetrust.md)","tokens":300,"sizeBytes":190},{"name":"opencmp.md","path":"extensions/amp-consent/cmps/opencmp.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/opencmp.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/opencmp.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/opencmp.md)","tokens":300,"sizeBytes":188},{"name":"pubtech.md","path":"extensions/amp-consent/cmps/pubtech.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/pubtech.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/pubtech.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/pubtech.md)","tokens":300,"sizeBytes":188},{"name":"quantcast.md","path":"extensions/amp-consent/cmps/quantcast.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/quantcast.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/quantcast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/quantcast.md)","tokens":300,"sizeBytes":192},{"name":"sirdata.md","path":"extensions/amp-consent/cmps/sirdata.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sirdata.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sirdata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sirdata.md)","tokens":300,"sizeBytes":188},{"name":"sourcepoint.md","path":"extensions/amp-consent/cmps/sourcepoint.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sourcepoint.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/sourcepoint.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/sourcepoint.md)","tokens":300,"sizeBytes":196},{"name":"uniconsent.md","path":"extensions/amp-consent/cmps/uniconsent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/uniconsent.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/uniconsent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/uniconsent.md)","tokens":300,"sizeBytes":194},{"name":"usercentrics.md","path":"extensions/amp-consent/cmps/usercentrics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/usercentrics.md","title":"Cmps Skill","category":"anthropic-skill","format":"markdown","content":"# Cmps Skill\n\nPath: `extensions/amp-consent/cmps/usercentrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/cmps/usercentrics.md)","tokens":300,"sizeBytes":198},{"name":"customizing-extension-behaviors-on-consent.md","path":"extensions/amp-consent/customizing-extension-behaviors-on-consent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/customizing-extension-behaviors-on-consent.md","title":"Amp-consent Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/customizing-extension-behaviors-on-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/customizing-extension-behaviors-on-consent.md)","tokens":300,"sizeBytes":255},{"name":"integrating-consent.md","path":"extensions/amp-consent/integrating-consent.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/integrating-consent.md","title":"Amp-consent Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-consent Skill\n\nPath: `extensions/amp-consent/integrating-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-consent/integrating-consent.md)","tokens":300,"sizeBytes":209},{"name":"amp-dailymotion.md","path":"extensions/amp-dailymotion/amp-dailymotion.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dailymotion/amp-dailymotion.md","title":"Amp-dailymotion Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-dailymotion Skill\n\nPath: `extensions/amp-dailymotion/amp-dailymotion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dailymotion/amp-dailymotion.md)","tokens":300,"sizeBytes":213},{"name":"amp-date-countdown.md","path":"extensions/amp-date-countdown/0.1/amp-date-countdown.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/0.1/amp-date-countdown.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-date-countdown/0.1/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/0.1/amp-date-countdown.md)","tokens":300,"sizeBytes":221},{"name":"amp-date-countdown.md","path":"extensions/amp-date-countdown/amp-date-countdown.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/amp-date-countdown.md","title":"Amp-date-countdown Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-date-countdown Skill\n\nPath: `extensions/amp-date-countdown/amp-date-countdown.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/amp-date-countdown.md)","tokens":300,"sizeBytes":228},{"name":"amp-date-display.md","path":"extensions/amp-date-display/0.1/amp-date-display.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/0.1/amp-date-display.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-date-display/0.1/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/0.1/amp-date-display.md)","tokens":300,"sizeBytes":213},{"name":"amp-date-display.md","path":"extensions/amp-date-display/amp-date-display.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/amp-date-display.md","title":"Amp-date-display Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-date-display Skill\n\nPath: `extensions/amp-date-display/amp-date-display.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/amp-date-display.md)","tokens":300,"sizeBytes":218},{"name":"amp-date-picker.md","path":"extensions/amp-date-picker/amp-date-picker.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-picker/amp-date-picker.md","title":"Amp-date-picker Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-date-picker Skill\n\nPath: `extensions/amp-date-picker/amp-date-picker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-picker/amp-date-picker.md)","tokens":300,"sizeBytes":213},{"name":"amp-delight-player.md","path":"extensions/amp-delight-player/amp-delight-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-delight-player/amp-delight-player.md","title":"Amp-delight-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-delight-player Skill\n\nPath: `extensions/amp-delight-player/amp-delight-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-delight-player/amp-delight-player.md)","tokens":300,"sizeBytes":228},{"name":"amp-dynamic-css-classes.md","path":"extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md","title":"Amp-dynamic-css-classes Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-dynamic-css-classes Skill\n\nPath: `extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md)","tokens":300,"sizeBytes":253},{"name":"amp-embedly-card.md","path":"extensions/amp-embedly-card/0.1/amp-embedly-card.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/0.1/amp-embedly-card.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-embedly-card/0.1/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/0.1/amp-embedly-card.md)","tokens":300,"sizeBytes":213},{"name":"amp-embedly-card.md","path":"extensions/amp-embedly-card/amp-embedly-card.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/amp-embedly-card.md","title":"Amp-embedly-card Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-embedly-card Skill\n\nPath: `extensions/amp-embedly-card/amp-embedly-card.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/amp-embedly-card.md)","tokens":300,"sizeBytes":218},{"name":"amp-experiment.md","path":"extensions/amp-experiment/amp-experiment.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-experiment/amp-experiment.md","title":"Amp-experiment Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-experiment Skill\n\nPath: `extensions/amp-experiment/amp-experiment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-experiment/amp-experiment.md)","tokens":300,"sizeBytes":208},{"name":"amp-facebook-comments.md","path":"extensions/amp-facebook-comments/amp-facebook-comments.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-comments/amp-facebook-comments.md","title":"Amp-facebook-comments Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-facebook-comments Skill\n\nPath: `extensions/amp-facebook-comments/amp-facebook-comments.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-comments/amp-facebook-comments.md)","tokens":300,"sizeBytes":243},{"name":"amp-facebook-like.md","path":"extensions/amp-facebook-like/amp-facebook-like.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-like/amp-facebook-like.md","title":"Amp-facebook-like Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-facebook-like Skill\n\nPath: `extensions/amp-facebook-like/amp-facebook-like.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-like/amp-facebook-like.md)","tokens":300,"sizeBytes":223},{"name":"amp-facebook-page.md","path":"extensions/amp-facebook-page/amp-facebook-page.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-page/amp-facebook-page.md","title":"Amp-facebook-page Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-facebook-page Skill\n\nPath: `extensions/amp-facebook-page/amp-facebook-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook-page/amp-facebook-page.md)","tokens":300,"sizeBytes":223},{"name":"amp-facebook.md","path":"extensions/amp-facebook/0.1/amp-facebook.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/0.1/amp-facebook.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-facebook/0.1/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/0.1/amp-facebook.md)","tokens":300,"sizeBytes":197},{"name":"amp-facebook.md","path":"extensions/amp-facebook/amp-facebook.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/amp-facebook.md","title":"Amp-facebook Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-facebook Skill\n\nPath: `extensions/amp-facebook/amp-facebook.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/amp-facebook.md)","tokens":300,"sizeBytes":198},{"name":"amp-fit-text.md","path":"extensions/amp-fit-text/0.1/amp-fit-text.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/0.1/amp-fit-text.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-fit-text/0.1/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/0.1/amp-fit-text.md)","tokens":300,"sizeBytes":197},{"name":"amp-fit-text.md","path":"extensions/amp-fit-text/amp-fit-text.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/amp-fit-text.md","title":"Amp-fit-text Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-fit-text Skill\n\nPath: `extensions/amp-fit-text/amp-fit-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/amp-fit-text.md)","tokens":300,"sizeBytes":198},{"name":"amp-font.md","path":"extensions/amp-font/amp-font.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-font/amp-font.md","title":"Amp-font Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-font Skill\n\nPath: `extensions/amp-font/amp-font.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-font/amp-font.md)","tokens":300,"sizeBytes":178},{"name":"amp-form.md","path":"extensions/amp-form/amp-form.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-form/amp-form.md","title":"Amp-form Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-form Skill\n\nPath: `extensions/amp-form/amp-form.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-form/amp-form.md)","tokens":300,"sizeBytes":178},{"name":"amp-fx-collection.md","path":"extensions/amp-fx-collection/amp-fx-collection.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-collection/amp-fx-collection.md","title":"Amp-fx-collection Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-fx-collection Skill\n\nPath: `extensions/amp-fx-collection/amp-fx-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-collection/amp-fx-collection.md)","tokens":300,"sizeBytes":223},{"name":"amp-fx-flying-carpet.md","path":"extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md","title":"Amp-fx-flying-carpet Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-fx-flying-carpet Skill\n\nPath: `extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fx-flying-carpet/amp-fx-flying-carpet.md)","tokens":300,"sizeBytes":238},{"name":"amp-geo.md","path":"extensions/amp-geo/amp-geo.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-geo/amp-geo.md","title":"Amp-geo Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-geo Skill\n\nPath: `extensions/amp-geo/amp-geo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-geo/amp-geo.md)","tokens":300,"sizeBytes":173},{"name":"amp-gfycat.md","path":"extensions/amp-gfycat/amp-gfycat.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gfycat/amp-gfycat.md","title":"Amp-gfycat Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-gfycat Skill\n\nPath: `extensions/amp-gfycat/amp-gfycat.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gfycat/amp-gfycat.md)","tokens":300,"sizeBytes":188},{"name":"amp-gist.md","path":"extensions/amp-gist/amp-gist.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/amp-gist.md","title":"Amp-gist Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-gist Skill\n\nPath: `extensions/amp-gist/amp-gist.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/amp-gist.md)","tokens":300,"sizeBytes":178},{"name":"amp-google-document-embed.md","path":"extensions/amp-google-document-embed/amp-google-document-embed.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-document-embed/amp-google-document-embed.md","title":"Amp-google-document-embed Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-google-document-embed Skill\n\nPath: `extensions/amp-google-document-embed/amp-google-document-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-document-embed/amp-google-document-embed.md)","tokens":300,"sizeBytes":263},{"name":"amp-google-read-aloud-player.md","path":"extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md","title":"Amp-google-read-aloud-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-google-read-aloud-player Skill\n\nPath: `extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-google-read-aloud-player/amp-google-read-aloud-player.md)","tokens":300,"sizeBytes":278},{"name":"amp-hulu.md","path":"extensions/amp-hulu/amp-hulu.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-hulu/amp-hulu.md","title":"Amp-hulu Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-hulu Skill\n\nPath: `extensions/amp-hulu/amp-hulu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-hulu/amp-hulu.md)","tokens":300,"sizeBytes":178},{"name":"amp-iframe.md","path":"extensions/amp-iframe/0.1/amp-iframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/0.1/amp-iframe.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-iframe/0.1/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/0.1/amp-iframe.md)","tokens":300,"sizeBytes":189},{"name":"amp-iframe-vs-native-iframe.md","path":"extensions/amp-iframe/amp-iframe-vs-native-iframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe-vs-native-iframe.md","title":"Amp-iframe Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe-vs-native-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe-vs-native-iframe.md)","tokens":300,"sizeBytes":222},{"name":"amp-iframe.md","path":"extensions/amp-iframe/amp-iframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe.md","title":"Amp-iframe Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-iframe Skill\n\nPath: `extensions/amp-iframe/amp-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/amp-iframe.md)","tokens":300,"sizeBytes":188},{"name":"amp-iframely.md","path":"extensions/amp-iframely/amp-iframely.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/amp-iframely.md","title":"Amp-iframely Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/amp-iframely.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/amp-iframely.md)","tokens":300,"sizeBytes":198},{"name":"OWNERS.yaml","path":"extensions/amp-iframely/OWNERS.yaml","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/OWNERS.yaml","title":"Amp-iframely Skill","category":"anthropic-skill","format":"yaml","content":"# Amp-iframely Skill\n\nPath: `extensions/amp-iframely/OWNERS.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframely/OWNERS.yaml)","tokens":300,"sizeBytes":190},{"name":"amp-ima-video.md","path":"extensions/amp-ima-video/amp-ima-video.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/amp-ima-video.md","title":"Amp-ima-video Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/amp-ima-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/amp-ima-video.md)","tokens":300,"sizeBytes":203},{"name":"consent-blocking.md","path":"extensions/amp-ima-video/consent-blocking.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/consent-blocking.md","title":"Amp-ima-video Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ima-video Skill\n\nPath: `extensions/amp-ima-video/consent-blocking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ima-video/consent-blocking.md)","tokens":300,"sizeBytes":209},{"name":"amp-image-lightbox.md","path":"extensions/amp-image-lightbox/amp-image-lightbox.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-lightbox/amp-image-lightbox.md","title":"Amp-image-lightbox Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-image-lightbox Skill\n\nPath: `extensions/amp-image-lightbox/amp-image-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-lightbox/amp-image-lightbox.md)","tokens":300,"sizeBytes":228},{"name":"amp-image-slider.md","path":"extensions/amp-image-slider/0.1/amp-image-slider.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/0.1/amp-image-slider.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-image-slider/0.1/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/0.1/amp-image-slider.md)","tokens":300,"sizeBytes":213},{"name":"amp-image-slider.md","path":"extensions/amp-image-slider/1.0/amp-image-slider.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/1.0/amp-image-slider.md","title":"1.0 Skill","category":"anthropic-skill","format":"markdown","content":"# 1.0 Skill\n\nPath: `extensions/amp-image-slider/1.0/amp-image-slider.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-image-slider/1.0/amp-image-slider.md)","tokens":300,"sizeBytes":213},{"name":"amp-imgur.md","path":"extensions/amp-imgur/amp-imgur.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-imgur/amp-imgur.md","title":"Amp-imgur Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-imgur Skill\n\nPath: `extensions/amp-imgur/amp-imgur.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-imgur/amp-imgur.md)","tokens":300,"sizeBytes":183},{"name":"amp-inline-gallery.md","path":"extensions/amp-inline-gallery/0.1/amp-inline-gallery.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/0.1/amp-inline-gallery.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-inline-gallery/0.1/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/0.1/amp-inline-gallery.md)","tokens":300,"sizeBytes":221},{"name":"amp-inline-gallery.md","path":"extensions/amp-inline-gallery/amp-inline-gallery.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/amp-inline-gallery.md","title":"Amp-inline-gallery Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-inline-gallery Skill\n\nPath: `extensions/amp-inline-gallery/amp-inline-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/amp-inline-gallery.md)","tokens":300,"sizeBytes":228},{"name":"amp-inputmask.md","path":"extensions/amp-inputmask/amp-inputmask.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inputmask/amp-inputmask.md","title":"Amp-inputmask Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-inputmask Skill\n\nPath: `extensions/amp-inputmask/amp-inputmask.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inputmask/amp-inputmask.md)","tokens":300,"sizeBytes":203},{"name":"amp-instagram.md","path":"extensions/amp-instagram/0.1/amp-instagram.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/0.1/amp-instagram.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-instagram/0.1/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/0.1/amp-instagram.md)","tokens":300,"sizeBytes":201},{"name":"amp-instagram.md","path":"extensions/amp-instagram/amp-instagram.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/amp-instagram.md","title":"Amp-instagram Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-instagram Skill\n\nPath: `extensions/amp-instagram/amp-instagram.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/amp-instagram.md)","tokens":300,"sizeBytes":203},{"name":"amp-install-serviceworker.md","path":"extensions/amp-install-serviceworker/amp-install-serviceworker.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-install-serviceworker/amp-install-serviceworker.md","title":"Amp-install-serviceworker Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-install-serviceworker Skill\n\nPath: `extensions/amp-install-serviceworker/amp-install-serviceworker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-install-serviceworker/amp-install-serviceworker.md)","tokens":300,"sizeBytes":263},{"name":"amp-izlesene.md","path":"extensions/amp-izlesene/amp-izlesene.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-izlesene/amp-izlesene.md","title":"Amp-izlesene Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-izlesene Skill\n\nPath: `extensions/amp-izlesene/amp-izlesene.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-izlesene/amp-izlesene.md)","tokens":300,"sizeBytes":198},{"name":"amp-jwplayer.md","path":"extensions/amp-jwplayer/amp-jwplayer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/amp-jwplayer.md","title":"Amp-jwplayer Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-jwplayer Skill\n\nPath: `extensions/amp-jwplayer/amp-jwplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/amp-jwplayer.md)","tokens":300,"sizeBytes":198},{"name":"amp-kaltura-player.md","path":"extensions/amp-kaltura-player/amp-kaltura-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-kaltura-player/amp-kaltura-player.md","title":"Amp-kaltura-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-kaltura-player Skill\n\nPath: `extensions/amp-kaltura-player/amp-kaltura-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-kaltura-player/amp-kaltura-player.md)","tokens":300,"sizeBytes":228},{"name":"amp-lightbox-gallery.md","path":"extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/0.1/amp-lightbox-gallery.md)","tokens":300,"sizeBytes":229},{"name":"amp-lightbox-gallery.md","path":"extensions/amp-lightbox-gallery/amp-lightbox-gallery.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/amp-lightbox-gallery.md","title":"Amp-lightbox-gallery Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-lightbox-gallery Skill\n\nPath: `extensions/amp-lightbox-gallery/amp-lightbox-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/amp-lightbox-gallery.md)","tokens":300,"sizeBytes":238},{"name":"amp-lightbox.md","path":"extensions/amp-lightbox/0.1/amp-lightbox.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/0.1/amp-lightbox.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-lightbox/0.1/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/0.1/amp-lightbox.md)","tokens":300,"sizeBytes":197},{"name":"amp-lightbox.md","path":"extensions/amp-lightbox/amp-lightbox.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/amp-lightbox.md","title":"Amp-lightbox Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-lightbox Skill\n\nPath: `extensions/amp-lightbox/amp-lightbox.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/amp-lightbox.md)","tokens":300,"sizeBytes":198},{"name":"amp-link-rewriter.md","path":"extensions/amp-link-rewriter/amp-link-rewriter.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-link-rewriter/amp-link-rewriter.md","title":"Amp-link-rewriter Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-link-rewriter Skill\n\nPath: `extensions/amp-link-rewriter/amp-link-rewriter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-link-rewriter/amp-link-rewriter.md)","tokens":300,"sizeBytes":223},{"name":"amp-list.md","path":"extensions/amp-list/amp-list.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-list/amp-list.md","title":"Amp-list Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-list Skill\n\nPath: `extensions/amp-list/amp-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-list/amp-list.md)","tokens":300,"sizeBytes":178},{"name":"amp-live-list-server-side-filtering.md","path":"extensions/amp-live-list/amp-live-list-server-side-filtering.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list-server-side-filtering.md","title":"Amp-live-list Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list-server-side-filtering.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list-server-side-filtering.md)","tokens":300,"sizeBytes":247},{"name":"amp-live-list.md","path":"extensions/amp-live-list/amp-live-list.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list.md","title":"Amp-live-list Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-live-list Skill\n\nPath: `extensions/amp-live-list/amp-live-list.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-live-list/amp-live-list.md)","tokens":300,"sizeBytes":203},{"name":"amp-mathml.md","path":"extensions/amp-mathml/0.1/amp-mathml.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/0.1/amp-mathml.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-mathml/0.1/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/0.1/amp-mathml.md)","tokens":300,"sizeBytes":189},{"name":"amp-mathml.md","path":"extensions/amp-mathml/amp-mathml.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/amp-mathml.md","title":"Amp-mathml Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-mathml Skill\n\nPath: `extensions/amp-mathml/amp-mathml.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/amp-mathml.md)","tokens":300,"sizeBytes":188},{"name":"amp-mega-menu.md","path":"extensions/amp-mega-menu/amp-mega-menu.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mega-menu/amp-mega-menu.md","title":"Amp-mega-menu Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-mega-menu Skill\n\nPath: `extensions/amp-mega-menu/amp-mega-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mega-menu/amp-mega-menu.md)","tokens":300,"sizeBytes":203},{"name":"amp-megaphone.md","path":"extensions/amp-megaphone/amp-megaphone.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-megaphone/amp-megaphone.md","title":"Amp-megaphone Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-megaphone Skill\n\nPath: `extensions/amp-megaphone/amp-megaphone.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-megaphone/amp-megaphone.md)","tokens":300,"sizeBytes":203},{"name":"amp-minute-media-player.md","path":"extensions/amp-minute-media-player/amp-minute-media-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-minute-media-player/amp-minute-media-player.md","title":"Amp-minute-media-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-minute-media-player Skill\n\nPath: `extensions/amp-minute-media-player/amp-minute-media-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-minute-media-player/amp-minute-media-player.md)","tokens":300,"sizeBytes":253},{"name":"amp-mowplayer.md","path":"extensions/amp-mowplayer/amp-mowplayer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mowplayer/amp-mowplayer.md","title":"Amp-mowplayer Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-mowplayer Skill\n\nPath: `extensions/amp-mowplayer/amp-mowplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mowplayer/amp-mowplayer.md)","tokens":300,"sizeBytes":203},{"name":"amp-mraid.md","path":"extensions/amp-mraid/amp-mraid.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mraid/amp-mraid.md","title":"Amp-mraid Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-mraid Skill\n\nPath: `extensions/amp-mraid/amp-mraid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mraid/amp-mraid.md)","tokens":300,"sizeBytes":183},{"name":"amp-mustache.md","path":"extensions/amp-mustache/amp-mustache.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mustache/amp-mustache.md","title":"Amp-mustache Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-mustache Skill\n\nPath: `extensions/amp-mustache/amp-mustache.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mustache/amp-mustache.md)","tokens":300,"sizeBytes":198},{"name":"amp-nested-menu.md","path":"extensions/amp-nested-menu/amp-nested-menu.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nested-menu/amp-nested-menu.md","title":"Amp-nested-menu Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-nested-menu Skill\n\nPath: `extensions/amp-nested-menu/amp-nested-menu.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nested-menu/amp-nested-menu.md)","tokens":300,"sizeBytes":213},{"name":"amp-next-page.md","path":"extensions/amp-next-page/0.1/amp-next-page.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/0.1/amp-next-page.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-next-page/0.1/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/0.1/amp-next-page.md)","tokens":300,"sizeBytes":201},{"name":"amp-next-page.md","path":"extensions/amp-next-page/amp-next-page.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/amp-next-page.md","title":"Amp-next-page Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-next-page Skill\n\nPath: `extensions/amp-next-page/amp-next-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-next-page/amp-next-page.md)","tokens":300,"sizeBytes":203},{"name":"amp-nexxtv-player.md","path":"extensions/amp-nexxtv-player/amp-nexxtv-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nexxtv-player/amp-nexxtv-player.md","title":"Amp-nexxtv-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-nexxtv-player Skill\n\nPath: `extensions/amp-nexxtv-player/amp-nexxtv-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-nexxtv-player/amp-nexxtv-player.md)","tokens":300,"sizeBytes":223},{"name":"amp-o2-player.md","path":"extensions/amp-o2-player/amp-o2-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-o2-player/amp-o2-player.md","title":"Amp-o2-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-o2-player Skill\n\nPath: `extensions/amp-o2-player/amp-o2-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-o2-player/amp-o2-player.md)","tokens":300,"sizeBytes":203},{"name":"amp-onetap-google.md","path":"extensions/amp-onetap-google/amp-onetap-google.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-onetap-google/amp-onetap-google.md","title":"Amp-onetap-google Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-onetap-google Skill\n\nPath: `extensions/amp-onetap-google/amp-onetap-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-onetap-google/amp-onetap-google.md)","tokens":300,"sizeBytes":223},{"name":"amp-ooyala-player.md","path":"extensions/amp-ooyala-player/amp-ooyala-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ooyala-player/amp-ooyala-player.md","title":"Amp-ooyala-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-ooyala-player Skill\n\nPath: `extensions/amp-ooyala-player/amp-ooyala-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ooyala-player/amp-ooyala-player.md)","tokens":300,"sizeBytes":223},{"name":"amp-orientation-observer.md","path":"extensions/amp-orientation-observer/amp-orientation-observer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-orientation-observer/amp-orientation-observer.md","title":"Amp-orientation-observer Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-orientation-observer Skill\n\nPath: `extensions/amp-orientation-observer/amp-orientation-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-orientation-observer/amp-orientation-observer.md)","tokens":300,"sizeBytes":258},{"name":"amp-pan-zoom.md","path":"extensions/amp-pan-zoom/amp-pan-zoom.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pan-zoom/amp-pan-zoom.md","title":"Amp-pan-zoom Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-pan-zoom Skill\n\nPath: `extensions/amp-pan-zoom/amp-pan-zoom.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pan-zoom/amp-pan-zoom.md)","tokens":300,"sizeBytes":198},{"name":"amp-pinterest.md","path":"extensions/amp-pinterest/amp-pinterest.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pinterest/amp-pinterest.md","title":"Amp-pinterest Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-pinterest Skill\n\nPath: `extensions/amp-pinterest/amp-pinterest.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-pinterest/amp-pinterest.md)","tokens":300,"sizeBytes":203},{"name":"amp-playbuzz.md","path":"extensions/amp-playbuzz/amp-playbuzz.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-playbuzz/amp-playbuzz.md","title":"Amp-playbuzz Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-playbuzz Skill\n\nPath: `extensions/amp-playbuzz/amp-playbuzz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-playbuzz/amp-playbuzz.md)","tokens":300,"sizeBytes":198},{"name":"amp-position-observer.md","path":"extensions/amp-position-observer/amp-position-observer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-position-observer/amp-position-observer.md","title":"Amp-position-observer Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-position-observer Skill\n\nPath: `extensions/amp-position-observer/amp-position-observer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-position-observer/amp-position-observer.md)","tokens":300,"sizeBytes":243},{"name":"amp-powr-player.md","path":"extensions/amp-powr-player/amp-powr-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-powr-player/amp-powr-player.md","title":"Amp-powr-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-powr-player Skill\n\nPath: `extensions/amp-powr-player/amp-powr-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-powr-player/amp-powr-player.md)","tokens":300,"sizeBytes":213},{"name":"amp-reach-player.md","path":"extensions/amp-reach-player/amp-reach-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reach-player/amp-reach-player.md","title":"Amp-reach-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-reach-player Skill\n\nPath: `extensions/amp-reach-player/amp-reach-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reach-player/amp-reach-player.md)","tokens":300,"sizeBytes":218},{"name":"amp-recaptcha-input.md","path":"extensions/amp-recaptcha-input/amp-recaptcha-input.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-recaptcha-input/amp-recaptcha-input.md","title":"Amp-recaptcha-input Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-recaptcha-input Skill\n\nPath: `extensions/amp-recaptcha-input/amp-recaptcha-input.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-recaptcha-input/amp-recaptcha-input.md)","tokens":300,"sizeBytes":233},{"name":"amp-reddit.md","path":"extensions/amp-reddit/amp-reddit.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reddit/amp-reddit.md","title":"Amp-reddit Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-reddit Skill\n\nPath: `extensions/amp-reddit/amp-reddit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-reddit/amp-reddit.md)","tokens":300,"sizeBytes":188},{"name":"amp-render.md","path":"extensions/amp-render/amp-render.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-render/amp-render.md","title":"Amp-render Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-render Skill\n\nPath: `extensions/amp-render/amp-render.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-render/amp-render.md)","tokens":300,"sizeBytes":188},{"name":"amp-riddle-quiz.md","path":"extensions/amp-riddle-quiz/amp-riddle-quiz.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-riddle-quiz/amp-riddle-quiz.md","title":"Amp-riddle-quiz Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-riddle-quiz Skill\n\nPath: `extensions/amp-riddle-quiz/amp-riddle-quiz.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-riddle-quiz/amp-riddle-quiz.md)","tokens":300,"sizeBytes":213},{"name":"amp-script.md","path":"extensions/amp-script/amp-script.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-script/amp-script.md","title":"Amp-script Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-script Skill\n\nPath: `extensions/amp-script/amp-script.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-script/amp-script.md)","tokens":300,"sizeBytes":188},{"name":"amp-selector.md","path":"extensions/amp-selector/0.1/amp-selector.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/0.1/amp-selector.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-selector/0.1/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/0.1/amp-selector.md)","tokens":300,"sizeBytes":197},{"name":"amp-selector.md","path":"extensions/amp-selector/amp-selector.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/amp-selector.md","title":"Amp-selector Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-selector Skill\n\nPath: `extensions/amp-selector/amp-selector.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/amp-selector.md)","tokens":300,"sizeBytes":198},{"name":"amp-sidebar.md","path":"extensions/amp-sidebar/0.1/amp-sidebar.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/0.1/amp-sidebar.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-sidebar/0.1/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/0.1/amp-sidebar.md)","tokens":300,"sizeBytes":193},{"name":"amp-sidebar.md","path":"extensions/amp-sidebar/amp-sidebar.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/amp-sidebar.md","title":"Amp-sidebar Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-sidebar Skill\n\nPath: `extensions/amp-sidebar/amp-sidebar.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/amp-sidebar.md)","tokens":300,"sizeBytes":193},{"name":"amp-skimlinks.md","path":"extensions/amp-skimlinks/amp-skimlinks.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-skimlinks/amp-skimlinks.md","title":"Amp-skimlinks Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-skimlinks Skill\n\nPath: `extensions/amp-skimlinks/amp-skimlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-skimlinks/amp-skimlinks.md)","tokens":300,"sizeBytes":203},{"name":"amp-slides-deprecated.md","path":"extensions/amp-slides/amp-slides-deprecated.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slides/amp-slides-deprecated.md","title":"Amp-slides Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-slides Skill\n\nPath: `extensions/amp-slides/amp-slides-deprecated.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slides/amp-slides-deprecated.md)","tokens":300,"sizeBytes":210},{"name":"amp-slikeplayer.md","path":"extensions/amp-slikeplayer/amp-slikeplayer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slikeplayer/amp-slikeplayer.md","title":"Amp-slikeplayer Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-slikeplayer Skill\n\nPath: `extensions/amp-slikeplayer/amp-slikeplayer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-slikeplayer/amp-slikeplayer.md)","tokens":300,"sizeBytes":213},{"name":"amp-smartlinks.md","path":"extensions/amp-smartlinks/amp-smartlinks.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-smartlinks/amp-smartlinks.md","title":"Amp-smartlinks Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-smartlinks Skill\n\nPath: `extensions/amp-smartlinks/amp-smartlinks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-smartlinks/amp-smartlinks.md)","tokens":300,"sizeBytes":208},{"name":"amp-social-share.md","path":"extensions/amp-social-share/0.1/amp-social-share.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/0.1/amp-social-share.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-social-share/0.1/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/0.1/amp-social-share.md)","tokens":300,"sizeBytes":213},{"name":"amp-social-share.md","path":"extensions/amp-social-share/amp-social-share.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/amp-social-share.md","title":"Amp-social-share Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-social-share Skill\n\nPath: `extensions/amp-social-share/amp-social-share.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/amp-social-share.md)","tokens":300,"sizeBytes":218},{"name":"amp-soundcloud.md","path":"extensions/amp-soundcloud/0.1/amp-soundcloud.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/0.1/amp-soundcloud.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-soundcloud/0.1/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/0.1/amp-soundcloud.md)","tokens":300,"sizeBytes":205},{"name":"amp-soundcloud.md","path":"extensions/amp-soundcloud/amp-soundcloud.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/amp-soundcloud.md","title":"Amp-soundcloud Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-soundcloud Skill\n\nPath: `extensions/amp-soundcloud/amp-soundcloud.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/amp-soundcloud.md)","tokens":300,"sizeBytes":208},{"name":"amp-springboard-player.md","path":"extensions/amp-springboard-player/amp-springboard-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-springboard-player/amp-springboard-player.md","title":"Amp-springboard-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-springboard-player Skill\n\nPath: `extensions/amp-springboard-player/amp-springboard-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-springboard-player/amp-springboard-player.md)","tokens":300,"sizeBytes":248},{"name":"amp-sticky-ad.md","path":"extensions/amp-sticky-ad/amp-sticky-ad.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sticky-ad/amp-sticky-ad.md","title":"Amp-sticky-ad Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-sticky-ad Skill\n\nPath: `extensions/amp-sticky-ad/amp-sticky-ad.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sticky-ad/amp-sticky-ad.md)","tokens":300,"sizeBytes":203},{"name":"amp-story-360.md","path":"extensions/amp-story-360/0.1/amp-story-360.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-360/0.1/amp-story-360.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-360/0.1/amp-story-360.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-360/0.1/amp-story-360.md)","tokens":300,"sizeBytes":201},{"name":"amp-story-audio-sticker.md","path":"extensions/amp-story-audio-sticker/amp-story-audio-sticker.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-audio-sticker/amp-story-audio-sticker.md","title":"Amp-story-audio-sticker Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-audio-sticker Skill\n\nPath: `extensions/amp-story-audio-sticker/amp-story-audio-sticker.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-audio-sticker/amp-story-audio-sticker.md)","tokens":300,"sizeBytes":253},{"name":"af.json","path":"extensions/amp-story-auto-ads/0.1/_locales/af.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/af.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/af.json)","tokens":300,"sizeBytes":216},{"name":"am.json","path":"extensions/amp-story-auto-ads/0.1/_locales/am.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/am.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/am.json)","tokens":300,"sizeBytes":216},{"name":"ar.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ar.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ar.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ar.json)","tokens":300,"sizeBytes":216},{"name":"bg.json","path":"extensions/amp-story-auto-ads/0.1/_locales/bg.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bg.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bg.json)","tokens":300,"sizeBytes":216},{"name":"bn.json","path":"extensions/amp-story-auto-ads/0.1/_locales/bn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bn.json)","tokens":300,"sizeBytes":216},{"name":"bs.json","path":"extensions/amp-story-auto-ads/0.1/_locales/bs.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bs.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/bs.json)","tokens":300,"sizeBytes":216},{"name":"ca.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ca.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ca.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ca.json)","tokens":300,"sizeBytes":216},{"name":"cs.json","path":"extensions/amp-story-auto-ads/0.1/_locales/cs.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/cs.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/cs.json)","tokens":300,"sizeBytes":216},{"name":"da.json","path":"extensions/amp-story-auto-ads/0.1/_locales/da.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/da.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/da.json)","tokens":300,"sizeBytes":216},{"name":"de.json","path":"extensions/amp-story-auto-ads/0.1/_locales/de.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/de.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/de.json)","tokens":300,"sizeBytes":216},{"name":"el.json","path":"extensions/amp-story-auto-ads/0.1/_locales/el.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/el.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/el.json)","tokens":300,"sizeBytes":216},{"name":"en-GB.json","path":"extensions/amp-story-auto-ads/0.1/_locales/en-GB.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en-GB.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en-GB.json)","tokens":300,"sizeBytes":222},{"name":"en.json","path":"extensions/amp-story-auto-ads/0.1/_locales/en.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/en.json)","tokens":300,"sizeBytes":216},{"name":"es-419.json","path":"extensions/amp-story-auto-ads/0.1/_locales/es-419.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es-419.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es-419.json)","tokens":300,"sizeBytes":224},{"name":"es.json","path":"extensions/amp-story-auto-ads/0.1/_locales/es.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/es.json)","tokens":300,"sizeBytes":216},{"name":"et.json","path":"extensions/amp-story-auto-ads/0.1/_locales/et.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/et.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/et.json)","tokens":300,"sizeBytes":216},{"name":"eu.json","path":"extensions/amp-story-auto-ads/0.1/_locales/eu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/eu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/eu.json)","tokens":300,"sizeBytes":216},{"name":"fa.json","path":"extensions/amp-story-auto-ads/0.1/_locales/fa.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fa.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fa.json)","tokens":300,"sizeBytes":216},{"name":"fi.json","path":"extensions/amp-story-auto-ads/0.1/_locales/fi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fi.json)","tokens":300,"sizeBytes":216},{"name":"fil.json","path":"extensions/amp-story-auto-ads/0.1/_locales/fil.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fil.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fil.json)","tokens":300,"sizeBytes":218},{"name":"fr.json","path":"extensions/amp-story-auto-ads/0.1/_locales/fr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/fr.json)","tokens":300,"sizeBytes":216},{"name":"gl.json","path":"extensions/amp-story-auto-ads/0.1/_locales/gl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gl.json)","tokens":300,"sizeBytes":216},{"name":"gu.json","path":"extensions/amp-story-auto-ads/0.1/_locales/gu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/gu.json)","tokens":300,"sizeBytes":216},{"name":"hi.json","path":"extensions/amp-story-auto-ads/0.1/_locales/hi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hi.json)","tokens":300,"sizeBytes":216},{"name":"hr.json","path":"extensions/amp-story-auto-ads/0.1/_locales/hr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hr.json)","tokens":300,"sizeBytes":216},{"name":"hu.json","path":"extensions/amp-story-auto-ads/0.1/_locales/hu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/hu.json)","tokens":300,"sizeBytes":216},{"name":"id.json","path":"extensions/amp-story-auto-ads/0.1/_locales/id.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/id.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/id.json)","tokens":300,"sizeBytes":216},{"name":"is.json","path":"extensions/amp-story-auto-ads/0.1/_locales/is.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/is.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/is.json)","tokens":300,"sizeBytes":216},{"name":"it.json","path":"extensions/amp-story-auto-ads/0.1/_locales/it.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/it.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/it.json)","tokens":300,"sizeBytes":216},{"name":"iw.json","path":"extensions/amp-story-auto-ads/0.1/_locales/iw.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/iw.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/iw.json)","tokens":300,"sizeBytes":216},{"name":"ja.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ja.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ja.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ja.json)","tokens":300,"sizeBytes":216},{"name":"ka.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ka.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ka.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ka.json)","tokens":300,"sizeBytes":216},{"name":"km.json","path":"extensions/amp-story-auto-ads/0.1/_locales/km.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/km.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/km.json)","tokens":300,"sizeBytes":216},{"name":"kn.json","path":"extensions/amp-story-auto-ads/0.1/_locales/kn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/kn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/kn.json)","tokens":300,"sizeBytes":216},{"name":"ko.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ko.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ko.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ko.json)","tokens":300,"sizeBytes":216},{"name":"lo.json","path":"extensions/amp-story-auto-ads/0.1/_locales/lo.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lo.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lo.json)","tokens":300,"sizeBytes":216},{"name":"lt.json","path":"extensions/amp-story-auto-ads/0.1/_locales/lt.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lt.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lt.json)","tokens":300,"sizeBytes":216},{"name":"lv.json","path":"extensions/amp-story-auto-ads/0.1/_locales/lv.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lv.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/lv.json)","tokens":300,"sizeBytes":216},{"name":"mk.json","path":"extensions/amp-story-auto-ads/0.1/_locales/mk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mk.json)","tokens":300,"sizeBytes":216},{"name":"ml.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ml.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ml.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ml.json)","tokens":300,"sizeBytes":216},{"name":"mn.json","path":"extensions/amp-story-auto-ads/0.1/_locales/mn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mn.json)","tokens":300,"sizeBytes":216},{"name":"mr.json","path":"extensions/amp-story-auto-ads/0.1/_locales/mr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/mr.json)","tokens":300,"sizeBytes":216},{"name":"ms.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ms.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ms.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ms.json)","tokens":300,"sizeBytes":216},{"name":"my.json","path":"extensions/amp-story-auto-ads/0.1/_locales/my.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/my.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/my.json)","tokens":300,"sizeBytes":216},{"name":"ne.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ne.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ne.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ne.json)","tokens":300,"sizeBytes":216},{"name":"nl.json","path":"extensions/amp-story-auto-ads/0.1/_locales/nl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/nl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/nl.json)","tokens":300,"sizeBytes":216},{"name":"no.json","path":"extensions/amp-story-auto-ads/0.1/_locales/no.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/no.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/no.json)","tokens":300,"sizeBytes":216},{"name":"pa.json","path":"extensions/amp-story-auto-ads/0.1/_locales/pa.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pa.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pa.json)","tokens":300,"sizeBytes":216},{"name":"pl.json","path":"extensions/amp-story-auto-ads/0.1/_locales/pl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pl.json)","tokens":300,"sizeBytes":216},{"name":"pt-BR.json","path":"extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-BR.json)","tokens":300,"sizeBytes":222},{"name":"pt-PT.json","path":"extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/pt-PT.json)","tokens":300,"sizeBytes":222},{"name":"ro.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ro.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ro.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ro.json)","tokens":300,"sizeBytes":216},{"name":"ru.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ru.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ru.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ru.json)","tokens":300,"sizeBytes":216},{"name":"si.json","path":"extensions/amp-story-auto-ads/0.1/_locales/si.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/si.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/si.json)","tokens":300,"sizeBytes":216},{"name":"sk.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sk.json)","tokens":300,"sizeBytes":216},{"name":"sl.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sl.json)","tokens":300,"sizeBytes":216},{"name":"sq.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sq.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sq.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sq.json)","tokens":300,"sizeBytes":216},{"name":"sr.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sr.json)","tokens":300,"sizeBytes":216},{"name":"sv.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sv.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sv.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sv.json)","tokens":300,"sizeBytes":216},{"name":"sw.json","path":"extensions/amp-story-auto-ads/0.1/_locales/sw.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sw.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/sw.json)","tokens":300,"sizeBytes":216},{"name":"ta.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ta.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ta.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ta.json)","tokens":300,"sizeBytes":216},{"name":"te.json","path":"extensions/amp-story-auto-ads/0.1/_locales/te.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/te.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/te.json)","tokens":300,"sizeBytes":216},{"name":"th.json","path":"extensions/amp-story-auto-ads/0.1/_locales/th.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/th.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/th.json)","tokens":300,"sizeBytes":216},{"name":"tr.json","path":"extensions/amp-story-auto-ads/0.1/_locales/tr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/tr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/tr.json)","tokens":300,"sizeBytes":216},{"name":"uk.json","path":"extensions/amp-story-auto-ads/0.1/_locales/uk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/uk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/uk.json)","tokens":300,"sizeBytes":216},{"name":"ur.json","path":"extensions/amp-story-auto-ads/0.1/_locales/ur.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ur.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/ur.json)","tokens":300,"sizeBytes":216},{"name":"vi.json","path":"extensions/amp-story-auto-ads/0.1/_locales/vi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/vi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/vi.json)","tokens":300,"sizeBytes":216},{"name":"zh-CN.json","path":"extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-CN.json)","tokens":300,"sizeBytes":222},{"name":"zh-TW.json","path":"extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zh-TW.json)","tokens":300,"sizeBytes":222},{"name":"zu.json","path":"extensions/amp-story-auto-ads/0.1/_locales/zu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story-auto-ads/0.1/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/0.1/_locales/zu.json)","tokens":300,"sizeBytes":216},{"name":"amp-story-auto-ads.md","path":"extensions/amp-story-auto-ads/amp-story-auto-ads.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/amp-story-auto-ads.md","title":"Amp-story-auto-ads Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/amp-story-auto-ads.md)","tokens":300,"sizeBytes":228},{"name":"publisher-served-ads.md","path":"extensions/amp-story-auto-ads/publisher-served-ads.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/publisher-served-ads.md","title":"Amp-story-auto-ads Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-auto-ads Skill\n\nPath: `extensions/amp-story-auto-ads/publisher-served-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-ads/publisher-served-ads.md)","tokens":300,"sizeBytes":232},{"name":"amp-story-auto-analytics.md","path":"extensions/amp-story-auto-analytics/amp-story-auto-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-analytics/amp-story-auto-analytics.md","title":"Amp-story-auto-analytics Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-auto-analytics Skill\n\nPath: `extensions/amp-story-auto-analytics/amp-story-auto-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-auto-analytics/amp-story-auto-analytics.md)","tokens":300,"sizeBytes":258},{"name":"amp-story-captions.md","path":"extensions/amp-story-captions/0.1/amp-story-captions.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-captions/0.1/amp-story-captions.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-captions/0.1/amp-story-captions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-captions/0.1/amp-story-captions.md)","tokens":300,"sizeBytes":221},{"name":"amp-story-dev-tools.md","path":"extensions/amp-story-dev-tools/amp-story-dev-tools.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-dev-tools/amp-story-dev-tools.md","title":"Amp-story-dev-tools Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-dev-tools Skill\n\nPath: `extensions/amp-story-dev-tools/amp-story-dev-tools.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-dev-tools/amp-story-dev-tools.md)","tokens":300,"sizeBytes":233},{"name":"amp-story-education.md","path":"extensions/amp-story-education/amp-story-education.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-education/amp-story-education.md","title":"Amp-story-education Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-education Skill\n\nPath: `extensions/amp-story-education/amp-story-education.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-education/amp-story-education.md)","tokens":300,"sizeBytes":233},{"name":"disclaimer-backends-list.json","path":"extensions/amp-story-interactive/0.1/disclaimer-backends-list.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/0.1/disclaimer-backends-list.json","title":"0.1 Skill","category":"anthropic-skill","format":"json","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-interactive/0.1/disclaimer-backends-list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/0.1/disclaimer-backends-list.json)","tokens":300,"sizeBytes":243},{"name":"amp-story-interactive.md","path":"extensions/amp-story-interactive/amp-story-interactive.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/amp-story-interactive.md","title":"Amp-story-interactive Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-interactive Skill\n\nPath: `extensions/amp-story-interactive/amp-story-interactive.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/amp-story-interactive.md)","tokens":300,"sizeBytes":243},{"name":"amp-story-panning-media.md","path":"extensions/amp-story-panning-media/amp-story-panning-media.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-panning-media/amp-story-panning-media.md","title":"Amp-story-panning-media Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story-panning-media Skill\n\nPath: `extensions/amp-story-panning-media/amp-story-panning-media.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-panning-media/amp-story-panning-media.md)","tokens":300,"sizeBytes":253},{"name":"amp-story-player.md","path":"extensions/amp-story-player/0.1/amp-story-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-player/0.1/amp-story-player.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-player/0.1/amp-story-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-player/0.1/amp-story-player.md)","tokens":300,"sizeBytes":213},{"name":"amp-story-shopping.md","path":"extensions/amp-story-shopping/0.1/amp-story-shopping.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-shopping/0.1/amp-story-shopping.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-shopping/0.1/amp-story-shopping.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-shopping/0.1/amp-story-shopping.md)","tokens":300,"sizeBytes":221},{"name":"amp-story-subscriptions.md","path":"extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-subscriptions/0.1/amp-story-subscriptions.md)","tokens":300,"sizeBytes":241},{"name":"af.json","path":"extensions/amp-story/1.0/_locales/af.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/af.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/af.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/af.json)","tokens":300,"sizeBytes":198},{"name":"am.json","path":"extensions/amp-story/1.0/_locales/am.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/am.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/am.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/am.json)","tokens":300,"sizeBytes":198},{"name":"ar.json","path":"extensions/amp-story/1.0/_locales/ar.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ar.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ar.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ar.json)","tokens":300,"sizeBytes":198},{"name":"bg.json","path":"extensions/amp-story/1.0/_locales/bg.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bg.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bg.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bg.json)","tokens":300,"sizeBytes":198},{"name":"bn.json","path":"extensions/amp-story/1.0/_locales/bn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bn.json)","tokens":300,"sizeBytes":198},{"name":"bs.json","path":"extensions/amp-story/1.0/_locales/bs.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bs.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/bs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/bs.json)","tokens":300,"sizeBytes":198},{"name":"ca.json","path":"extensions/amp-story/1.0/_locales/ca.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ca.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ca.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ca.json)","tokens":300,"sizeBytes":198},{"name":"cs.json","path":"extensions/amp-story/1.0/_locales/cs.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/cs.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/cs.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/cs.json)","tokens":300,"sizeBytes":198},{"name":"da.json","path":"extensions/amp-story/1.0/_locales/da.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/da.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/da.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/da.json)","tokens":300,"sizeBytes":198},{"name":"de.json","path":"extensions/amp-story/1.0/_locales/de.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/de.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/de.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/de.json)","tokens":300,"sizeBytes":198},{"name":"el.json","path":"extensions/amp-story/1.0/_locales/el.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/el.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/el.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/el.json)","tokens":300,"sizeBytes":198},{"name":"en-GB.json","path":"extensions/amp-story/1.0/_locales/en-GB.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en-GB.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en-GB.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en-GB.json)","tokens":300,"sizeBytes":204},{"name":"en.json","path":"extensions/amp-story/1.0/_locales/en.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/en.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/en.json)","tokens":300,"sizeBytes":198},{"name":"es-419.json","path":"extensions/amp-story/1.0/_locales/es-419.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es-419.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es-419.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es-419.json)","tokens":300,"sizeBytes":206},{"name":"es.json","path":"extensions/amp-story/1.0/_locales/es.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/es.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/es.json)","tokens":300,"sizeBytes":198},{"name":"et.json","path":"extensions/amp-story/1.0/_locales/et.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/et.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/et.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/et.json)","tokens":300,"sizeBytes":198},{"name":"eu.json","path":"extensions/amp-story/1.0/_locales/eu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/eu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/eu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/eu.json)","tokens":300,"sizeBytes":198},{"name":"fa.json","path":"extensions/amp-story/1.0/_locales/fa.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fa.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fa.json)","tokens":300,"sizeBytes":198},{"name":"fi.json","path":"extensions/amp-story/1.0/_locales/fi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fi.json)","tokens":300,"sizeBytes":198},{"name":"fil.json","path":"extensions/amp-story/1.0/_locales/fil.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fil.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fil.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fil.json)","tokens":300,"sizeBytes":200},{"name":"fr.json","path":"extensions/amp-story/1.0/_locales/fr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/fr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/fr.json)","tokens":300,"sizeBytes":198},{"name":"gl.json","path":"extensions/amp-story/1.0/_locales/gl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gl.json)","tokens":300,"sizeBytes":198},{"name":"gu.json","path":"extensions/amp-story/1.0/_locales/gu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/gu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/gu.json)","tokens":300,"sizeBytes":198},{"name":"hi.json","path":"extensions/amp-story/1.0/_locales/hi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hi.json)","tokens":300,"sizeBytes":198},{"name":"hr.json","path":"extensions/amp-story/1.0/_locales/hr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hr.json)","tokens":300,"sizeBytes":198},{"name":"hu.json","path":"extensions/amp-story/1.0/_locales/hu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/hu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/hu.json)","tokens":300,"sizeBytes":198},{"name":"id.json","path":"extensions/amp-story/1.0/_locales/id.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/id.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/id.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/id.json)","tokens":300,"sizeBytes":198},{"name":"is.json","path":"extensions/amp-story/1.0/_locales/is.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/is.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/is.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/is.json)","tokens":300,"sizeBytes":198},{"name":"it.json","path":"extensions/amp-story/1.0/_locales/it.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/it.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/it.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/it.json)","tokens":300,"sizeBytes":198},{"name":"iw.json","path":"extensions/amp-story/1.0/_locales/iw.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/iw.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/iw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/iw.json)","tokens":300,"sizeBytes":198},{"name":"ja.json","path":"extensions/amp-story/1.0/_locales/ja.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ja.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ja.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ja.json)","tokens":300,"sizeBytes":198},{"name":"ka.json","path":"extensions/amp-story/1.0/_locales/ka.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ka.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ka.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ka.json)","tokens":300,"sizeBytes":198},{"name":"km.json","path":"extensions/amp-story/1.0/_locales/km.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/km.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/km.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/km.json)","tokens":300,"sizeBytes":198},{"name":"kn.json","path":"extensions/amp-story/1.0/_locales/kn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/kn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/kn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/kn.json)","tokens":300,"sizeBytes":198},{"name":"ko.json","path":"extensions/amp-story/1.0/_locales/ko.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ko.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ko.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ko.json)","tokens":300,"sizeBytes":198},{"name":"lo.json","path":"extensions/amp-story/1.0/_locales/lo.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lo.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lo.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lo.json)","tokens":300,"sizeBytes":198},{"name":"lt.json","path":"extensions/amp-story/1.0/_locales/lt.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lt.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lt.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lt.json)","tokens":300,"sizeBytes":198},{"name":"lv.json","path":"extensions/amp-story/1.0/_locales/lv.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lv.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/lv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/lv.json)","tokens":300,"sizeBytes":198},{"name":"mk.json","path":"extensions/amp-story/1.0/_locales/mk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mk.json)","tokens":300,"sizeBytes":198},{"name":"ml.json","path":"extensions/amp-story/1.0/_locales/ml.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ml.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ml.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ml.json)","tokens":300,"sizeBytes":198},{"name":"mn.json","path":"extensions/amp-story/1.0/_locales/mn.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mn.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mn.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mn.json)","tokens":300,"sizeBytes":198},{"name":"mr.json","path":"extensions/amp-story/1.0/_locales/mr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/mr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/mr.json)","tokens":300,"sizeBytes":198},{"name":"ms.json","path":"extensions/amp-story/1.0/_locales/ms.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ms.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ms.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ms.json)","tokens":300,"sizeBytes":198},{"name":"my.json","path":"extensions/amp-story/1.0/_locales/my.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/my.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/my.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/my.json)","tokens":300,"sizeBytes":198},{"name":"ne.json","path":"extensions/amp-story/1.0/_locales/ne.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ne.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ne.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ne.json)","tokens":300,"sizeBytes":198},{"name":"nl.json","path":"extensions/amp-story/1.0/_locales/nl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/nl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/nl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/nl.json)","tokens":300,"sizeBytes":198},{"name":"no.json","path":"extensions/amp-story/1.0/_locales/no.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/no.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/no.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/no.json)","tokens":300,"sizeBytes":198},{"name":"pa.json","path":"extensions/amp-story/1.0/_locales/pa.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pa.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pa.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pa.json)","tokens":300,"sizeBytes":198},{"name":"pl.json","path":"extensions/amp-story/1.0/_locales/pl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pl.json)","tokens":300,"sizeBytes":198},{"name":"pt-BR.json","path":"extensions/amp-story/1.0/_locales/pt-BR.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-BR.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-BR.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-BR.json)","tokens":300,"sizeBytes":204},{"name":"pt-PT.json","path":"extensions/amp-story/1.0/_locales/pt-PT.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-PT.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/pt-PT.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/pt-PT.json)","tokens":300,"sizeBytes":204},{"name":"ro.json","path":"extensions/amp-story/1.0/_locales/ro.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ro.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ro.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ro.json)","tokens":300,"sizeBytes":198},{"name":"ru.json","path":"extensions/amp-story/1.0/_locales/ru.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ru.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ru.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ru.json)","tokens":300,"sizeBytes":198},{"name":"si.json","path":"extensions/amp-story/1.0/_locales/si.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/si.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/si.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/si.json)","tokens":300,"sizeBytes":198},{"name":"sk.json","path":"extensions/amp-story/1.0/_locales/sk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sk.json)","tokens":300,"sizeBytes":198},{"name":"sl.json","path":"extensions/amp-story/1.0/_locales/sl.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sl.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sl.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sl.json)","tokens":300,"sizeBytes":198},{"name":"sq.json","path":"extensions/amp-story/1.0/_locales/sq.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sq.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sq.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sq.json)","tokens":300,"sizeBytes":198},{"name":"sr.json","path":"extensions/amp-story/1.0/_locales/sr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sr.json)","tokens":300,"sizeBytes":198},{"name":"sv.json","path":"extensions/amp-story/1.0/_locales/sv.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sv.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sv.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sv.json)","tokens":300,"sizeBytes":198},{"name":"sw.json","path":"extensions/amp-story/1.0/_locales/sw.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sw.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/sw.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/sw.json)","tokens":300,"sizeBytes":198},{"name":"ta.json","path":"extensions/amp-story/1.0/_locales/ta.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ta.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ta.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ta.json)","tokens":300,"sizeBytes":198},{"name":"te.json","path":"extensions/amp-story/1.0/_locales/te.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/te.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/te.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/te.json)","tokens":300,"sizeBytes":198},{"name":"th.json","path":"extensions/amp-story/1.0/_locales/th.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/th.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/th.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/th.json)","tokens":300,"sizeBytes":198},{"name":"tr.json","path":"extensions/amp-story/1.0/_locales/tr.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/tr.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/tr.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/tr.json)","tokens":300,"sizeBytes":198},{"name":"uk.json","path":"extensions/amp-story/1.0/_locales/uk.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/uk.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/uk.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/uk.json)","tokens":300,"sizeBytes":198},{"name":"ur.json","path":"extensions/amp-story/1.0/_locales/ur.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ur.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/ur.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/ur.json)","tokens":300,"sizeBytes":198},{"name":"vi.json","path":"extensions/amp-story/1.0/_locales/vi.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/vi.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/vi.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/vi.json)","tokens":300,"sizeBytes":198},{"name":"zh-CN.json","path":"extensions/amp-story/1.0/_locales/zh-CN.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-CN.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-CN.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-CN.json)","tokens":300,"sizeBytes":204},{"name":"zh-TW.json","path":"extensions/amp-story/1.0/_locales/zh-TW.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-TW.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zh-TW.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zh-TW.json)","tokens":300,"sizeBytes":204},{"name":"zu.json","path":"extensions/amp-story/1.0/_locales/zu.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zu.json","title":"_locales Skill","category":"anthropic-skill","format":"json","content":"# _locales Skill\n\nPath: `extensions/amp-story/1.0/_locales/zu.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/zu.json)","tokens":300,"sizeBytes":198},{"name":"media-pool.md","path":"extensions/amp-story/1.0/media-pool.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/media-pool.md","title":"1.0 Skill","category":"anthropic-skill","format":"markdown","content":"# 1.0 Skill\n\nPath: `extensions/amp-story/1.0/media-pool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/media-pool.md)","tokens":300,"sizeBytes":187},{"name":"amp-story-ads.md","path":"extensions/amp-story/amp-story-ads.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-ads.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-ads.md)","tokens":300,"sizeBytes":191},{"name":"amp-story-analytics.md","path":"extensions/amp-story/amp-story-analytics.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-analytics.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-analytics.md)","tokens":300,"sizeBytes":203},{"name":"amp-story-animation.md","path":"extensions/amp-story/amp-story-animation.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-animation.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-animation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-animation.md)","tokens":300,"sizeBytes":203},{"name":"amp-story-auto-ads.md","path":"extensions/amp-story/amp-story-auto-ads.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-auto-ads.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-auto-ads.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-auto-ads.md)","tokens":300,"sizeBytes":201},{"name":"amp-story-cta-layer.md","path":"extensions/amp-story/amp-story-cta-layer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-cta-layer.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-cta-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-cta-layer.md)","tokens":300,"sizeBytes":203},{"name":"amp-story-grid-layer.md","path":"extensions/amp-story/amp-story-grid-layer.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-grid-layer.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-grid-layer.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-grid-layer.md)","tokens":300,"sizeBytes":205},{"name":"amp-story-page-attachment.md","path":"extensions/amp-story/amp-story-page-attachment.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-attachment.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-attachment.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-attachment.md)","tokens":300,"sizeBytes":215},{"name":"amp-story-page-outlink.md","path":"extensions/amp-story/amp-story-page-outlink.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-outlink.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page-outlink.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page-outlink.md)","tokens":300,"sizeBytes":209},{"name":"amp-story-page.md","path":"extensions/amp-story/amp-story-page.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story-page.md)","tokens":300,"sizeBytes":193},{"name":"amp-story.md","path":"extensions/amp-story/amp-story.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/amp-story.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/amp-story.md)","tokens":300,"sizeBytes":183},{"name":"embed-modes.md","path":"extensions/amp-story/embed-modes.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/embed-modes.md","title":"Amp-story Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-story Skill\n\nPath: `extensions/amp-story/embed-modes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/embed-modes.md)","tokens":300,"sizeBytes":187},{"name":"amp-stream-gallery.md","path":"extensions/amp-stream-gallery/amp-stream-gallery.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/amp-stream-gallery.md","title":"Amp-stream-gallery Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-stream-gallery Skill\n\nPath: `extensions/amp-stream-gallery/amp-stream-gallery.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/amp-stream-gallery.md)","tokens":300,"sizeBytes":228},{"name":"amp-subscriptions-google.md","path":"extensions/amp-subscriptions-google/amp-subscriptions-google.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions-google/amp-subscriptions-google.md","title":"Amp-subscriptions-google Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-subscriptions-google Skill\n\nPath: `extensions/amp-subscriptions-google/amp-subscriptions-google.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions-google/amp-subscriptions-google.md)","tokens":300,"sizeBytes":258},{"name":"amp-subscriptions.md","path":"extensions/amp-subscriptions/amp-subscriptions.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions/amp-subscriptions.md","title":"Amp-subscriptions Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-subscriptions Skill\n\nPath: `extensions/amp-subscriptions/amp-subscriptions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-subscriptions/amp-subscriptions.md)","tokens":300,"sizeBytes":223},{"name":"amp-tiktok.md","path":"extensions/amp-tiktok/amp-tiktok.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-tiktok/amp-tiktok.md","title":"Amp-tiktok Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-tiktok Skill\n\nPath: `extensions/amp-tiktok/amp-tiktok.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-tiktok/amp-tiktok.md)","tokens":300,"sizeBytes":188},{"name":"amp-timeago.md","path":"extensions/amp-timeago/0.1/amp-timeago.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/0.1/amp-timeago.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-timeago/0.1/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/0.1/amp-timeago.md)","tokens":300,"sizeBytes":193},{"name":"amp-timeago.md","path":"extensions/amp-timeago/amp-timeago.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/amp-timeago.md","title":"Amp-timeago Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-timeago Skill\n\nPath: `extensions/amp-timeago/amp-timeago.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/amp-timeago.md)","tokens":300,"sizeBytes":193},{"name":"amp-truncate-text.md","path":"extensions/amp-truncate-text/amp-truncate-text.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-truncate-text/amp-truncate-text.md","title":"Amp-truncate-text Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-truncate-text Skill\n\nPath: `extensions/amp-truncate-text/amp-truncate-text.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-truncate-text/amp-truncate-text.md)","tokens":300,"sizeBytes":223},{"name":"amp-twitter.md","path":"extensions/amp-twitter/0.1/amp-twitter.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/0.1/amp-twitter.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-twitter/0.1/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/0.1/amp-twitter.md)","tokens":300,"sizeBytes":193},{"name":"amp-twitter.md","path":"extensions/amp-twitter/amp-twitter.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/amp-twitter.md","title":"Amp-twitter Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-twitter Skill\n\nPath: `extensions/amp-twitter/amp-twitter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/amp-twitter.md)","tokens":300,"sizeBytes":193},{"name":"amp-user-notification.md","path":"extensions/amp-user-notification/amp-user-notification.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-user-notification/amp-user-notification.md","title":"Amp-user-notification Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-user-notification Skill\n\nPath: `extensions/amp-user-notification/amp-user-notification.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-user-notification/amp-user-notification.md)","tokens":300,"sizeBytes":243},{"name":"amp-video-docking.md","path":"extensions/amp-video-docking/amp-video-docking.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-docking/amp-video-docking.md","title":"Amp-video-docking Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-video-docking Skill\n\nPath: `extensions/amp-video-docking/amp-video-docking.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-docking/amp-video-docking.md)","tokens":300,"sizeBytes":223},{"name":"amp-video-iframe.md","path":"extensions/amp-video-iframe/amp-video-iframe.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-iframe/amp-video-iframe.md","title":"Amp-video-iframe Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-video-iframe Skill\n\nPath: `extensions/amp-video-iframe/amp-video-iframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video-iframe/amp-video-iframe.md)","tokens":300,"sizeBytes":218},{"name":"amp-video.md","path":"extensions/amp-video/0.1/amp-video.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/0.1/amp-video.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-video/0.1/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/0.1/amp-video.md)","tokens":300,"sizeBytes":185},{"name":"amp-video.md","path":"extensions/amp-video/amp-video.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/amp-video.md","title":"Amp-video Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-video Skill\n\nPath: `extensions/amp-video/amp-video.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-video/amp-video.md)","tokens":300,"sizeBytes":183},{"name":"package.json","path":"extensions/amp-viewer-integration/0.1/messaging/package.json","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/package.json","title":"Messaging Skill","category":"anthropic-skill","format":"json","content":"# Messaging Skill\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/package.json)","tokens":300,"sizeBytes":237},{"name":"amp-doc-viewer-api.md","path":"extensions/amp-viewer-integration/amp-doc-viewer-api.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/amp-doc-viewer-api.md","title":"Amp-viewer-integration Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/amp-doc-viewer-api.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/amp-doc-viewer-api.md)","tokens":300,"sizeBytes":240},{"name":"CAPABILITIES.md","path":"extensions/amp-viewer-integration/CAPABILITIES.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/CAPABILITIES.md","title":"Amp-viewer-integration Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/CAPABILITIES.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/CAPABILITIES.md)","tokens":300,"sizeBytes":228},{"name":"integrating-viewer-with-amp-doc-guide.md","path":"extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md","title":"Amp-viewer-integration Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/integrating-viewer-with-amp-doc-guide.md)","tokens":300,"sizeBytes":278},{"name":"TICKEVENTS.md","path":"extensions/amp-viewer-integration/TICKEVENTS.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/TICKEVENTS.md","title":"Amp-viewer-integration Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-viewer-integration Skill\n\nPath: `extensions/amp-viewer-integration/TICKEVENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/TICKEVENTS.md)","tokens":300,"sizeBytes":224},{"name":"amp-vimeo.md","path":"extensions/amp-vimeo/amp-vimeo.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vimeo/amp-vimeo.md","title":"Amp-vimeo Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-vimeo Skill\n\nPath: `extensions/amp-vimeo/amp-vimeo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vimeo/amp-vimeo.md)","tokens":300,"sizeBytes":183},{"name":"amp-vine.md","path":"extensions/amp-vine/amp-vine.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vine/amp-vine.md","title":"Amp-vine Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-vine Skill\n\nPath: `extensions/amp-vine/amp-vine.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vine/amp-vine.md)","tokens":300,"sizeBytes":178},{"name":"amp-viqeo-player.md","path":"extensions/amp-viqeo-player/amp-viqeo-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viqeo-player/amp-viqeo-player.md","title":"Amp-viqeo-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-viqeo-player Skill\n\nPath: `extensions/amp-viqeo-player/amp-viqeo-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viqeo-player/amp-viqeo-player.md)","tokens":300,"sizeBytes":218},{"name":"amp-vk.md","path":"extensions/amp-vk/amp-vk.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vk/amp-vk.md","title":"Amp-vk Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-vk Skill\n\nPath: `extensions/amp-vk/amp-vk.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-vk/amp-vk.md)","tokens":300,"sizeBytes":168},{"name":"amp-web-push.md","path":"extensions/amp-web-push/amp-web-push.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-web-push/amp-web-push.md","title":"Amp-web-push Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-web-push Skill\n\nPath: `extensions/amp-web-push/amp-web-push.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-web-push/amp-web-push.md)","tokens":300,"sizeBytes":198},{"name":"amp-wistia-player.md","path":"extensions/amp-wistia-player/amp-wistia-player.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wistia-player/amp-wistia-player.md","title":"Amp-wistia-player Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-wistia-player Skill\n\nPath: `extensions/amp-wistia-player/amp-wistia-player.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wistia-player/amp-wistia-player.md)","tokens":300,"sizeBytes":223},{"name":"amp-wordpress-embed.md","path":"extensions/amp-wordpress-embed/amp-wordpress-embed.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/amp-wordpress-embed.md","title":"Amp-wordpress-embed Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-wordpress-embed Skill\n\nPath: `extensions/amp-wordpress-embed/amp-wordpress-embed.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/amp-wordpress-embed.md)","tokens":300,"sizeBytes":233},{"name":"amp-yotpo.md","path":"extensions/amp-yotpo/amp-yotpo.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-yotpo/amp-yotpo.md","title":"Amp-yotpo Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-yotpo Skill\n\nPath: `extensions/amp-yotpo/amp-yotpo.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-yotpo/amp-yotpo.md)","tokens":300,"sizeBytes":183},{"name":"amp-youtube.md","path":"extensions/amp-youtube/0.1/amp-youtube.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/0.1/amp-youtube.md","title":"0.1 Skill","category":"anthropic-skill","format":"markdown","content":"# 0.1 Skill\n\nPath: `extensions/amp-youtube/0.1/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/0.1/amp-youtube.md)","tokens":300,"sizeBytes":193},{"name":"amp-youtube.md","path":"extensions/amp-youtube/amp-youtube.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/amp-youtube.md","title":"Amp-youtube Skill","category":"anthropic-skill","format":"markdown","content":"# Amp-youtube Skill\n\nPath: `extensions/amp-youtube/amp-youtube.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/amp-youtube.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-access/0.1/iframe-api/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/README.md","title":"iframe-api Documentation","category":"plugin-manifest","format":"markdown","content":"# iframe-api Documentation\n\nPath: `extensions/amp-access/0.1/iframe-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/README.md)","tokens":300,"sizeBytes":218},{"name":"README.md","path":"extensions/amp-accordion/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-accordion/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/1.0/README.md)","tokens":300,"sizeBytes":195},{"name":"README.md","path":"extensions/amp-base-carousel/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-base-carousel/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-base-carousel/1.0/README.md)","tokens":300,"sizeBytes":203},{"name":"README.md","path":"extensions/amp-cache-url/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-cache-url/README.md","title":"amp-cache-url Documentation","category":"plugin-manifest","format":"markdown","content":"# amp-cache-url Documentation\n\nPath: `extensions/amp-cache-url/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-cache-url/README.md)","tokens":300,"sizeBytes":197},{"name":"README.md","path":"extensions/amp-date-countdown/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-date-countdown/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-countdown/1.0/README.md)","tokens":300,"sizeBytes":205},{"name":"README.md","path":"extensions/amp-date-display/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-date-display/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-date-display/1.0/README.md)","tokens":300,"sizeBytes":201},{"name":"README.md","path":"extensions/amp-embedly-card/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-embedly-card/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-embedly-card/1.0/README.md)","tokens":300,"sizeBytes":201},{"name":"README.md","path":"extensions/amp-facebook/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-facebook/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-facebook/1.0/README.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-fit-text/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-fit-text/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-fit-text/1.0/README.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-gist/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-gist/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-gist/1.0/README.md)","tokens":300,"sizeBytes":185},{"name":"README.md","path":"extensions/amp-iframe/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-iframe/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-iframe/1.0/README.md)","tokens":300,"sizeBytes":189},{"name":"README.md","path":"extensions/amp-inline-gallery/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-inline-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-inline-gallery/1.0/README.md)","tokens":300,"sizeBytes":205},{"name":"README.md","path":"extensions/amp-instagram/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-instagram/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-instagram/1.0/README.md)","tokens":300,"sizeBytes":195},{"name":"README.md","path":"extensions/amp-jwplayer/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-jwplayer/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-jwplayer/1.0/README.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-lightbox-gallery/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox-gallery/1.0/README.md)","tokens":300,"sizeBytes":209},{"name":"README.md","path":"extensions/amp-lightbox/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-lightbox/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-lightbox/1.0/README.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-loader/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-loader/README.md","title":"amp-loader Documentation","category":"plugin-manifest","format":"markdown","content":"# amp-loader Documentation\n\nPath: `extensions/amp-loader/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-loader/README.md)","tokens":300,"sizeBytes":188},{"name":"README.md","path":"extensions/amp-mathml/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-mathml/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-mathml/1.0/README.md)","tokens":300,"sizeBytes":189},{"name":"README.md","path":"extensions/amp-selector/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-selector/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-selector/1.0/README.md)","tokens":300,"sizeBytes":193},{"name":"README.md","path":"extensions/amp-sidebar/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-sidebar/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-sidebar/1.0/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"extensions/amp-social-share/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-social-share/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-social-share/1.0/README.md)","tokens":300,"sizeBytes":201},{"name":"README.md","path":"extensions/amp-soundcloud/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-soundcloud/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-soundcloud/1.0/README.md)","tokens":300,"sizeBytes":197},{"name":"README.md","path":"extensions/amp-standalone/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-standalone/README.md","title":"amp-standalone Documentation","category":"plugin-manifest","format":"markdown","content":"# amp-standalone Documentation\n\nPath: `extensions/amp-standalone/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-standalone/README.md)","tokens":300,"sizeBytes":200},{"name":"README.md","path":"extensions/amp-story-interactive/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/README.md","title":"amp-story-interactive Documentation","category":"plugin-manifest","format":"markdown","content":"# amp-story-interactive Documentation\n\nPath: `extensions/amp-story-interactive/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story-interactive/README.md)","tokens":300,"sizeBytes":221},{"name":"README.md","path":"extensions/amp-story/1.0/_locales/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/README.md","title":"_locales Documentation","category":"plugin-manifest","format":"markdown","content":"# _locales Documentation\n\nPath: `extensions/amp-story/1.0/_locales/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-story/1.0/_locales/README.md)","tokens":300,"sizeBytes":210},{"name":"README.md","path":"extensions/amp-stream-gallery/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-stream-gallery/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-stream-gallery/1.0/README.md)","tokens":300,"sizeBytes":205},{"name":"README.md","path":"extensions/amp-timeago/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-timeago/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-timeago/1.0/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"extensions/amp-twitter/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-twitter/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-twitter/1.0/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"extensions/amp-viewer-integration/0.1/messaging/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/README.md","title":"messaging Documentation","category":"plugin-manifest","format":"markdown","content":"# messaging Documentation\n\nPath: `extensions/amp-viewer-integration/0.1/messaging/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-viewer-integration/0.1/messaging/README.md)","tokens":300,"sizeBytes":239},{"name":"README.md","path":"extensions/amp-wordpress-embed/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-wordpress-embed/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-wordpress-embed/1.0/README.md)","tokens":300,"sizeBytes":207},{"name":"README.md","path":"extensions/amp-youtube/1.0/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/1.0/README.md","title":"1.0 Documentation","category":"plugin-manifest","format":"markdown","content":"# 1.0 Documentation\n\nPath: `extensions/amp-youtube/1.0/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-youtube/1.0/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"extensions/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# AMP HTML Extensions\n\nAMP Extensions are either extended components or extended templates.\n\n## AMP HTML Extended Components\n\nExtended components must be explicitly included into the document as custom elements.\n\nFor example, to include a YouTube video in your page\ninclude the following script in the `<head>`:\n\n```html\n<script\n  async\n  custom-element=\"amp-youtube\"\n  src=\"https://cdn.ampproject.org/v0/amp-youtube-0.1.js\"\n></script>\n```\n\n## Current list of components\n\nSee the [Components](https://www.ampproject.org/docs/reference/components) list.\n\n## AMP HTML Extended Templates\n\nSee the [AMP template spec](../docs/spec/amp-html-templates.md) for details about supported templates.\n","isInternal":false,"tokens":154,"sizeBytes":689},{"name":"README.md","path":"tools/experiments/README.md","rawUrl":"https://raw.githubusercontent.com/ampproject/amphtml/HEAD/tools/experiments/README.md","title":"experiments Documentation","category":"plugin-manifest","format":"markdown","content":"# experiments Documentation\n\nPath: `tools/experiments/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/tools/experiments/README.md)","tokens":300,"sizeBytes":181}],"systemPromptSnippet":"<yakaai_skills repo=\"ampproject/amphtml\">\n<!-- File: build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-__component_name_hyphenated__ Skill\n\nPath: `build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/build-system/tasks/make-extension/template/shared/extensions/amp-__component_name_hyphenated__/amp-__component_name_hyphenated__.md)\n\n<!-- File: extensions/amp-3d-gltf/amp-3d-gltf.md (Tokens: ~974 | Category: anthropic-skill) -->\n---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Displays GL Transmission Format (gITF) 3D models.\n---\n\n# amp-3d-gltf\n\n## Usage\n\nThe `amp-3d-gltf` component displays 3D models that are in gITF format.\n\n[tip type=\"note\"]\nYou must use a [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)-capable browser to display 3D models.\n[/tip]\n\n### Example\n\n```html\n<amp-3d-gltf\n  layout=\"responsive\"\n  width=\"320\"\n  height=\"240\"\n  alpha=\"true\"\n  antialiasing=\"true\"\n  src=\"path/to/model.glb\"\n></amp-3d-gltf>\n```\n\n### Compatibility\n\nThe component supports [glTF 2.0](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras),\nwith the following exceptions:\n\n-   Embedded cameras\n-   Animation\n\n### Set CORS headers\n\nThe `amp-3d-gltf` component makes a fetch request to the origin from\n`https://<random>.ampproject.net` when it requests the gltf file. Set\n`access-control-allow-origin:*.ampproject.net` on the response header of the\n`src` endpoint to avoid\n[CORS issues when served from an AMP cache](https://amp.dev/documentation/guides-and-tutorials/learn/amp-caches-and-cors/amp-cors-requests/?format=websites).\nUse a wildcard character to address the `<random>` subdomain component.\n\n## Attributes\n\n### src\n\nThe `src` attribute specifies the gltf file location.\n\n### alpha (optional)\n\nUse the `alpha` attribute to specify the behavior of the canvas background.\nThis attribute takes a boolean value. To enable transparency instead of the\ndefault white, set the value to `true`.\n\n### antialiasing (optional)\n\nUse the `antialiasing` attribute to specify whether to enable antialiasing. To\nenable antialiasing, set the value to true.\n\n### clearColor (optional)\n\nThe `clearColor` attribute specifies a CSS color, such as #FF8C00. This color\nfills free space on the canvas.\n\n### maxPixelRatio (optional)\n\nThe `maxPixelRatio` attribute specifies an upper limit for the `pixelRatio`\nrender option. It defaults to `window.devicePixelRatio`.\n\n### autoRotate (optional)\n\nUse the `autoRotate` attribute to enable automatic rotation around the model's\ncenter. To enable rotation, set the value to `true`. `autorotate` defaults to\n`false`.\n\n### enableZoom (optional)\n\nUse the `enableZoom` attribute to disable zooming in and out of the model. To\ndisable zoom, set the value to `false`. `autororate` defaults to `true`.\n\n### title (optional)\n\nDefine a `title` attribute for the component to propagate to the underlying `<iframe>` element. The default value is `\"GLTF 3D model\"`.\n\n## Actions\n\n### setModelRotation\n\nThe `setModelRotation` action specifies the model's rotation. The rotation order\nis ZYX.\n\n-   Specify the rotation value of the x, y, and/or z axis with `x`, `y`, and/or\n    `z` arguments. This action accepts a number between 0 and 1. It defaults to the\n    previous value.\n-   Specify the angle of rotation in radians with `xMin`, `xMax`, `yMin`, `yMax`,\n    and/or `zMin`, `zMax` arguments. Use a min and a max to define the target range.\n    The angle range defaults to `0 / pi * 2`.\n\nThe following action changes the x axis of the component’s rotation to 1.57 when fired.\n\n```json\nsetModelRotation((x = 0.5), (xMin = 0), (xMax = 3.14))\n```\n\n## Styling\n\nHere are a few things to keep in mind for style:\n\n-   The `alpha` attribute specifies transparency.\n-   The `clearColor` attribute specifies the color of the background if it isn't transparent.\n-   `amp-3d-gltf` defaults to a white background if you don't specify a background color.\n\n## Validation\n\nSee [amp-3d-gltf rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3d-gltf/validator-amp-3d-gltf.protoascii)\nin the AMP validator specification.\n\n<!-- File: extensions/amp-3q-player/amp-3q-player.md (Tokens: ~448 | Category: anthropic-skill) -->\n---\n$category@: media\nformats:\n  - websites\nteaser:\n  text: Embeds videos from 3Q SDN.\n---\n\n# amp-3q-player\n\nEnables AMP to embed videos from 3Q SDN into your websites.\n\n## Usage\n\nThe `amp-3q-player` component embeds videos from 3Q SDN onto an AMP page. The\ncomponent includes a video interface, and you can customize the `width` and\n`height` of the player. Specify a `responsive` layout to maintain a 16:9 video\naspect ratio.\n\n### Example\n\n```html\n<amp-3q-player\n  data-id=\"c8dbe7f4-7f7f-11e6-a407-0cc47a188158\"\n  layout=\"responsive\"\n  width=\"480\"\n  height=\"270\"\n></amp-3q-player>\n```\n\n## Attributes\n\n### data-id\n\nThe `data-id` attribute specifies the appropriate `sdnPlayoutId` from 3Q SDN.\n\n### autoplay (optional)\n\nIf the `autoplay` attribute is present, and the browser supports autoplay, the\nfollowing behaviors are enabled:\n\n-   The video automatically mutes before autoplay starts.\n-   When the user scrolls the video out of view, the video pauses.\n-   When the user scrolls the video into view, the video resumes.\n-   The video unmutes when the user taps it.\n\nIf the user interacts with the video and then scrolls it into or out of view,\nthe state of the video remains the same. For example, if the user pauses the\nvideo, scrolls the video out of view and then scrolls back up to it, the video\nremains paused.\n\n### Common attributes\n\nThe `amp-3q-player` component includes the [common attributes](https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes)\nthat are extended to all AMP components.\n\n## Validation\n\nSee [amp-3q-player rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-3q-player/validator-amp-3q-player.protoascii)\nin the AMP validator specification.\n\n<!-- File: extensions/amp-a4a/refresh.md (Tokens: ~545 | Category: anthropic-skill) -->\n# AMP Ad Refresh\n\nAMP Ad Refresh permits amp-ad tags using Fast Fetch to undergo periodic refresh events. Each such event issues a new ad request and attempts to display the returned creative.\n\n### Network Configuration\n\nFor a network to make use of Refresh, its corresponding implementation must create an instance of RefreshManager and call\n`initiateRefreshCycle`. The simplest way to do so is to use the exported `getRefreshManager` function from refresh-manager.js:\n\n```javascript\nimport {getRefreshManager} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshManager = getRefreshManager(this);\nrefreshManager.initiateRefreshCycle();\n```\n\nWhile `getRefreshManager` is convenient, it does not allow for customization. It returns a RefreshManager with default configurations (specified in the table below). To customize the RefreshManager, you must invoke its constructor directly:\n\n```javascript\nimport {\n  getRefreshManager,\n  getPublisherSpecifiedRefreshInterval,\n} from '../../amp-a4a/0.1/refresh-manager';\n\n// ...\n\nconst refreshConfig = {\n  /* see table below for configuration parameters */\n};\nconst refreshInterval = getPublisherSpecifiedRefreshInterval(\n  this.element,\n  this.win\n);\nconst refreshManager = new RefreshManager(this, refreshConfig, refreshInterval);\nrefreshManager.initiateRefreshCycle();\n```\n\nOptionally, a network may override AmpA4A's `refresh` method, which would allow it to insert custom logic in between refresh events. Note: RefreshManager passes a callback to `refresh` which must be invoked in order to reset the cycle; if it is not invoked, the RefreshManager will become idle until either the callback or `initiateRefreshCycle` is called. If `refresh` is not overridden, this is handled automatically by AmpA4A.\n\n<table>\n  <tr>\n    <td>Parameter</td>\n    <td>Description</td>\n    <td>Permitted Values</td>\n    <td>Default Value</td>\n  <tr>\n    <td>visiblePercentageMin</td>\n    <td>The minimum ratio of creative pixels that must be on screen before the refresh timer is started.</td>\n    <td>Must be an integer between 0 and 100, inclusive.</td>\n    <td>50%</td>\n  </tr>\n  <tr>\n    <td>continuousTimeMin</td>\n    <td>The amount of continuous time, in seconds, that the creative must be on screen before the refresh timer is started.</td>\n    <td>Any positive numerical value.</td>\n    <td>1 s</td>\n  </tr>\n</table>\n\n<!-- File: extensions/amp-a4a/rtc-documentation.md (Tokens: ~9762 | Category: anthropic-skill) -->\n# AMP Real Time Config\n\n## Objective\n\nFor AMP Fast Fetch, support publisher-specified, multiple, simultaneous callouts in order to augment targeting information included in the ad request.\n\n## Background\n\nRemote HTML support was added for Delayed Fetch to support first-party cookie targeting. This was because AMP does not allow custom JavaScript, and pages served from the AMP cache are identical for each user. However, Remote HTML leverages the fact that custom JavaScript execution occurs as a part of generating an ad request via Delayed Fetch. Fast Fetch allows for sending the ad request early by moving all code related to ad generation within the AMP runtime, disallowing any custom JavaScript as part of ad request creation. Therefore Fast Fetch is incompatible with Remote HTML. Real Time Config (RTC) has been added as an optional feature of Fast Fetch to allow for publishers to add user-targeting information to ad requests from AMP pages in a generic way that can be utilized by any ad networks, and any user-targeting vendors. Common use cases for RTC are to retrieve 1st party or 3rd party data, or to integrate 3rd party demand, also known as Header Bidding.\n\n## Overview\n\nThe design of RTC is per-slot, with a **maximum of 5 parallel callouts allowed per slot**. RTC is usable by any Fast Fetch network implementation. Call-outs for all slots will be sent as soon as possible. There are two different types of callouts that will be supported:\n\n### Custom URL callout\n\nThe publisher specifies a custom URL that should be called out to. For example, a publisher may specify their own targeting server as a custom URL. If the ad network in use supports macro substitution for custom URLs, the publisher may specify macros in the URL. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\n### Vendor-specified URL Callout\n\nRTC supports call-outs to third-party vendors. For example, take VendorFooBar which provides an API service that returns similar interests when provided a given interest (i.e. \"baseball\" yields [\"sports\", \"apple-pie\"]). If VendorFooBar wants publishers to be able to use them for RTC call outs, they simply add their call-out url with built-in macros to the AMP RTC vendor registry. Then publishers specify that they want to call out to VendorFooBar, and supply the value to substitute into the macro. This gives the Vendor complete control over the actual URL, with the Publisher only needing to supply the relevant inputs. See the [URL Macro Substitution](#url-macro-substitution) section for details.\n\nIn both cases, the results of these call-outs are passed to the Fast Fetch implementations as part of ad url construction via the **`getAdUrl`** method. The ad network Fast Fetch implementation then uses results of these callouts to generate the ad URL. The semantics of how the ad network uses the RTC results to general the ad URL is specific to each individual network's implementation of Fast Fetch, so please refer to network-specific documentation for details.\n\n## Design\n\n### Per-Slot RTC Specification\n\nPublishers may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleB.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleB.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   For example, in the Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see [Vendor URL Specification](#vendor-url-specification)). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL. You may also set the value of a macro as a JSON object or array. This JSON object will be stringified automatically prior to replacement in the URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array of strings or objects.\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a `url` and an `errorReportingUrl` as URL strings. Note that all URL strings must be secure (i.e. start with HTTPS). The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the `url` within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](#rtc-error-pingback) section below for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of rtc-config are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Vendor URL Specification\n\nTo spare publishers the details of having to construct URLs for external vendors, vendors may register a URL with macros in a central file called [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js), which maps unique vendor names to an object which includes a URL and a list of allowed macros that can be substituted into `url`. Vendors may include these macros in their URLs, which publishers can then specify the value for. Additionally, vendors may specify an `errorReportingUrl`. This errorReportingUrl will be sent 1% sampled-per-page errors from callouts to their RTC endpoint. For instance:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nThe only valid strings that can be replaced for a given URL are specified by the `macros` array. In the above example, the only valid macro to replace in `https://vendor1.com/slot_id=SLOT_ID` is `\"SLOT_ID\"`.\n\nThe `macros` attribute is optional, i.e. a vendor could specify a URL that has no macros to substitute in.\n\nAdditionally, macros can be substituted in by the Fast Fetch implementation itself. The URL for a vendor will be expanded with the correct macro values prior to callout. See [URL Macro Substitution](#url-macro-substitution) section below for detailed explanation and example.\n\nThe `errorReportingUrl` property is optional. The only available macros are ERROR_TYPE and HREF. See [RTC Error Pingback](#rtc-error-pingback) section below for more information on how error reporting works.\n\n#### Currently Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   Denakop\n-   FLUX\n-   Freestar\n-   Future Plc\n-   Galaxie Media\n-   Highfivve\n-   Hubvisor\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   Navegg\n-   NewsPassID\n-   Nexx360.io\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://www.pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   Sonobi\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n### RTC Callout Request Specification\n\nRTC callout requests are sent from the AMP runtime with the following headers:\n\n-   Accept: application/JSON\n-   Origin: Whatever the origin of the page is.\n-   Referer: Referer URL\n-   User-Agent: Standard user-agent information\n\nAdditionally, query string parameters are optionally sent as per the specification of the URL.\n\nRTC requests are sent using the [fetchJson method defined in xhr-impl.js.](https://github.com/ampproject/amphtml/blob/main/src/service/xhr-impl.js#L213) For RTC, in practice this is a GET request.\n\nRTC requests are only sent to HTTPS endpoints.\n\n### RTC Callout Endpoint and Response Specification\n\nThe RTC endpoint must respond to the RTC GET request with a valid JSON object of targeting information to insert into the ad request URL. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nResponses from one RTC callout do not affect any of the other RTC callouts. All requests are independent of each other.\n\nThe RTC callout endpoint must use HTTPS. HTTP requests are forbidden.\n\nThe RTC Response to a GET request must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   **<code>{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}</code>**</strong>\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### RTC Error Pingback\n\nRTC supports sending a 1% per-page sampling of RTC errors to specified errorReportingUrl's. (I.e. 1% of pages will send RTC error pingbacks for all RTC errors that occur on that page). For any given RTC callout URL, a corresponding errorReportingUrl may be specified, which will receive pings for, and only for, errors that resulted from the associated RTC callout. For example, you can not specify one errorReportingUrl that receives batched pings for all RTC callouts from a page. The errorReportingUrl must be a secure URL that uses HTTPS.\n\nVendors may specify an errorReportingUrl within their config in callout-vendors.js, e.g.:\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID'],\n     \"errorReportingUrl\": \"https://vendor1.com/e=ERROR_TYPE&h=HREF\",\n   }\n};\n```\n\nFor custom URLs specified by a publisher directly on the RTC Config, they specify the errorReportingUrl by setting values in the \"url\" array as an object, instead of a string, e.g.:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              {\"url\": \"https://www.AmpPublisher.biz/targetingB\",\n               \"errorReportingUrl\": \"https://www.AmpPublisher.biz?e=ERROR_TYPE&h=HREF\"}\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nIn both cases, the requirements for an errorReportingUrl are the same:\n\n-   errorReportingUrl must use HTTPS.\n-   Response should be an empty 200.\n-   errorReportingUrl may utilize two available macros that will be substituted in:\n    -   **ERROR_TYPE** - Will be sent as an enum value that corresponds to values in `RTC_ERROR_ENUM` found in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js).\n    -   **HREF** - The actual full URL of the page. Equivalent to historical value of AMP's window.context.location.href.\n\nThe error ping will be sent by creating an image pixel in the document. See `sendErrorMessage` in [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js) for implementation details.\n\n### AMP Consent Integration\n\nThe AMP-Consent extension provides publishers the ability to collect and store a user's consent through a UI control, while also providing the ability to block other AMP components based on the user's consent. See [here for documentation](https://github.com/ampproject/amphtml/blob/main/extensions/amp-consent/amp-consent.md).\n\nReal Time Config supports integration with AMP-Consent. If the AMP-consent response is neither `SUFFICIENT` nor `UNKNOWN_NOT_REQUIRED`, then by default all RTC callouts are suppressed. However, you may optionally modify this setting, to allow specific RTC callouts that should be sent regardless of the consent state. A publisher can modify this across all RTC requests for a given ad slot or on a per-RTC-callout basis. A publisher also may either permit all consent states, or only specific consent states, using the RTC Config attribute `sendRegardlessOfConsentState`.\n\nThe value of `sendRegardlessOfConsentState` should either be the boolean `true` or an array of consent policy state strings as defined in src/core/constants/consent-state.js (i.e. use the string keys, like`\"UNKNOWN\"` not its corresponding numeric value). In a case where the RTC callout would normally be supressed (for example if the AMP-consent response is `UNKNOWN`), it will instead be sent if `sendRegardlessOfConsentState` is set to boolean `true` or an array of values that contains a match for the AMP-consent state response (e.g. `['UNKNOWN']`). If set to an array, then only the values in that array (in addition to the defualt values of `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) are treated as valid.\n\nThe setting of `sendRegardlessOfConsentState` can either be done once for the entire ad slot by setting it as a top-level attribute on the RTC Config, or be done individually by setting it on any individual callouts as needed. If it is set at both the top-level and per-callout level, then if there is a mismatch, the per-callout level \"wins\". This is detailed below in the examples.\n\nHere are various examples of how to do this for any given ad slot:\n\n#### Allow all RTC callouts for all consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` at top-level to `true`, this indicates that for any consent state, all of the callouts in this RTC configuration should still be sent.\n\n#### Allow all RTC callouts for only certain consent states\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]}'\n>\n</amp-ad>\n```\n\nBy setting `sendRegardlessOfConsentState` to an array, this indicates that only when the page consent state matches any of the consent states in the array (in this case only `UNKNOWN` in addition to the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`) should all of the RTC callouts still be sent. For instance, if the page state is `INSUFFICIENT`, then none of the callout specified above will be sent. If the page state is `UNKNOWN`, then all of the callouts will be sent.\n\n#### Allow some RTC callouts in the \"url\" array\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": true},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first URL in the array \"urls\". Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to `https://www.AmpPublisher.biz/targetingA`.\n\nIs is also possible to set `sendRegardlessOfConsentState` here to an array as well, such as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\", \"INSUFFICIENT\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\n#### Allow some RTC callouts in the \"vendors\" object\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ]}'\n>\n</amp-ad>\n```\n\nIn this example, `sendRegardlessOfConsentState` is only set for one specific URL, the first vendor in the \"vendors\" object. Take the case when the page state is `UNKNOWN`. In that case, the only RTC callout that would be sent is the one to vendorA.\n\n#### Mixture of settings\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"macros\" {\"SLOT_ID\": \"1\"},\n                          \"sendRegardlessOfConsentState\": [\"INSUFFICIENT\"]},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n               {\"url\": \"https://www.AmpPublisher.biz/targetingA\",\n               \"sendRegardlessOfConsentState\": [\"UNKNOWN\"]},\n              \"https://www.AmpPublisher.biz/targetingB\"\n              ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n```\n\nIn this example, we have a mixture of various settings. In addition to all the callouts allowing the default states `SUFFICIENT` and `UNKNOWN_NOT_REQUIRED`, VendorA is set to allow page consent-state `INSUFFICIENT`, the first url in the `urls` array only state `UNKNOWN`, and the top-level setting across all the RTC callouts is set to `true`, indicating that we should send all RTC callouts regardless of consent-state. How do we reconcile these various values? As explained above, in the case where a top-level setting and a per-callout setting disagree, the per-callout setting wins.\n\nLet's first take an example where the page consent-state is `SUFFICIENT`. This is a default allowed state, so trivially all the callouts will be sent.\n\nNext, let's take an example where the page consent-state is `UNKNOWN`. The callout to vendorA is set to allow consent-state `INSUFFICIENT`, so it will not be sent. The callouts to vendorB and vendorC do not have individual `sendRegardlessOfConsentState` settings, so the top-level setting of `true` applies to them, and they will each be sent. In the `urls` array, the first URL has an individual setting of `UNKNOWN`, which is the current state, so it will be sent. Lastly, the final url does not have an individual setting, so the top-level setting of `true` applies to it, and it will be sent.\n\n### Blocking RTC\n\nThe `block-rtc` provides a way to utilize the `<amp-geo>` component to detect user's geo location to decide if a RTC callout should be prevented. The value of `block-rtc` should be a comma delimited string of geo group codes which are defined in `<amp-geo>` (details [here](https://github.com/ampproject/amphtml/blob/main/extensions/amp-geo/amp-geo.md)). If no `<amp-geo>` element is found or no valid value for this attribute, then the RTC callout will occur as normal.\n\n```html\n<amp-ad\n  width=\"300\"\n  height=\"200\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  block-rtc=\"geoGroup1,geoGroup2\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"sendRegardlessOfConsentState\": true}'\n>\n</amp-ad>\n\n<amp-geo>\n  <script type=\"application/json\">\n    {\n      \"ISOCountryGroups\": {\n        \"geoGroup1\": [ \"preset-eea\", \"unknown\" ],\n        \"geoGroup2\": [ \"preset-us-ca\" ]\n      }\n    }\n  </script>\n</amp-geo>\n```\n\n### URL Macro Substitution\n\nRTC supports macro substitution for building callout URLs. These macros can be specified by vendors, and by Fast Fetch implementations.\n\n#### Vendor Defined Macros\n\nA vendor can specify macros for substitution in their URL. The only requirement to do this is to include text in their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) that is intended to be replaced.\n\n**Example**\n\n```text\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/foo?slot_id=SLOT_ID\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\n##### Example 2: Use of Vendor URLs\n\nIf a publisher wishes to callout to vendor1, then they would specify their RTC config as:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor1\": {\"SLOT_ID\": \"1234\"}\n              }\n            }'\n>\n</amp-ad>\n```\n\nThe resulting RTC callout URL will then be, after macro expansion:\n\n**`https://vendor1.com/foo?slot_id=1234`**\n\n#### Fast Fetch Implementation Defined Macros\n\nIn addition to vendor-defined macros, with publishers specifying the values for substitution, there is also the ability to utilize macros defined by the Fast Fetch implementation. For example, imagine if there is a property, **fooProp,** of the element **fooEl** that is only calculated at runtime. A Fast Fetch network that wants to support optionally adding the value of fooProp to RTC callout URLs that it sends can do so by overriding the method [getCustomRealTimeConfigMacros on AmpA4a ](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/0.1/amp-a4a.js)in their Fast Fetch implementation. The method should return a mapping of macros to values or functions that resolve to a value.\n\n##### Example 3: Fast Fetch implementation defined macros\n\nFor example, Ad Network AmpAdCom overrides the property in their Fast Fetch Implementation:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    ‘FOO_PROP’: getElementById(‘fooEl’).getAttribute(‘fooProp’),\n    ‘OTHER_PROP’: ‘staticValue’\n  }\n}\n```\n\nThen, publishers and vendors alike would be able to specify the macro FOO_PROP in their URL, and the value would be substituted in at runtime by the Fast Fetch implementation.\n\n##### Vendor Macro Substitution with Fast Fetch Network Macro Substitution\n\nIt is possible for a vendor to specify macros in their URL into which the Fast Fetch implementation will substitute values, in addition to their own custom macros that the publisher may specify in the rtc-config. Take the following example:\n\n###### Example 4\n\nVendor1 wants to allow publishers to substitute in the value of the slot_id, and allow the Fast Fetch network implementation to substitute in the start time. Thus, they define their URL in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js) as follows. Note, the vendor only lists SLOT_ID in the macros array, even though SLOT_ID and START are both macros in their URL. The macros array is a list of macros that can be utilized by the publisher. Fast Fetch will always attempt to substitute in network-defined macros, regardless of whether they are defined in the macros array.\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor1\": {\n     \"url\": \"https://vendor1.com/slot_id=SLOT_ID&start_time=START\",\n     \"macros\": ['SLOT_ID']\n   }\n};\n```\n\nThe Fast Fetch implementation has overridden **getCustomRealTimeConfigMacros**, and supports the macro 'START', as seen here:\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now()\n  }\n}\n```\n\nFinally, a publisher who wishes to use Vendor1 with AmpAdCom's Fast Fetch implementation defines their rtc-config as:\n\n```html\n<!-- ampPublisher.biz/some/example/page.html -->\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor1\": {\"SLOT_ID\": \"1234\"}\n                }\n              }'\n>\n</amp-ad>\n```\n\nAfter URL macro expansion, the resulting URL is then\n\n```http\nhttps://vendor1.com/slot_id=1234&start_time=1508508227577\n```\n\n##### Conflicting macro substitution\n\nIt is possible, but inadvisable, to have a situation where a vendor specifies the same macro as the Fast Fetch network, i.e. in the above example if **getCustomRealTimeConfigMacros** was defined as\n\n```js\n/** amp-ad-network-ampadcom-impl.js */\n\nexport class AmpAdNetworkAmpAdComImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'SLOT_ID': '5678'\n  }\n}\n```\n\nThere is a collision in this case, because the Fast Fetch network is specifying a value to substitute for SLOT_ID, but the vendor has declared SLOT_ID as their custom macro, and the publisher is then trying to substitute in '1234' as the value. In a case like this, the Fast Fetch implementation always wins, i.e. the final URL would be:\n\n```http\nhttps://vendor1.com/slot_id=5678&start_time=1508508227577\n```\n\n### RTC Callout Result Merging\n\nThe merging of the results of the RTC callouts into the ad request URL is determined by the Fast Fetch network implementation, and thus may vary. Please refer to the specific documentation for the Fast Fetch implementation in use, for instance refer to the DoubleClick RTC documentation if using DoubleClick for Fast Fetch.\n\n### Error Cases\n\nListed below are the most prominent error cases in RTC. For usage of the following error cases, see [real-time-config-impl.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/real-time-config-impl.js)\n\n##### Misconfigured RTC Config\n\nIf the RTC config specified by the publisher does not meet the specification defined in this document, an error will be logged to the console, and RTC will be aborted.\n\n##### Bad JSON Response\n\nIf the response from an RTC callout is not valid JSON, i.e. JSON.parse fails, the response is dropped and ignored. An error is logged to the console.\n\n##### Duplicate Callout URLs\n\nRTC does not allow multiple callouts to identical URLs. Multiple callouts to the same domain are allowed, provided something in the path is different. I.e.\n\nThis is not allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=1234`\n   </td>\n  </tr>\n  <tr>\n   <td>Not allowed\n   </td>\n  </tr>\n</table>\n\nThis is allowed:\n\n<table>\n  <tr>\n   <td>Callout 1: `https://www.vendor1.com/foo?slot_id=1234`\n<p>\nCallout 2: `https://www.vendor1.com/foo?slot_id=5678`\n   </td>\n  </tr>\n  <tr>\n   <td>Allowed\n   </td>\n  </tr>\n</table>\n\nIn the case that more than one callout is attempted to be sent to the same URL, only one will be sent, and an error will be logged to the console for each subsequent attempt to send a callout to that URL.\n\n##### Insecure URLs\n\nAll RTC requests must be sent to valid SSL endpoints. An attempt to send a request to a URL that does not start with `https://` will be dropped. An error will be logged to the console.\n\n##### Maximum Callouts Exceeded\n\nRTC only allows a maximum of 5 RTC callouts to be sent per ad slot. Whether or not a valid response is received is irrelevant. If a request is dropped prior to actually being sent, it does not count against this limit. For instance, if a publisher specifies 7 URLs to send callouts to, and 2 of them get dropped due to being insecure URLs, then only 5 callouts will actually be sent. In the case that more than 5 callouts are attempted to be sent, only the first 5 will be, and all subsequent callouts will be ignored. An error will be logged to the console for each dropped callout.\n\nA publisher's custom URLs take precedence over vendor URLs, and are called out in the order in which they were specified. Then, the vendor URLs are called out, also in the order in which they were specified.\n\n##### Network Failure\n\nIf the XHR GET fails somehow, for example, if network connectivity is lost, the request is lost and an error is logged to the console.\n\n##### Unknown Vendor\n\nIf a publisher specifies a vendor in their RTC-config that is not actually declared in callout-vendors.js, an error is logged to the console, and no request is sent.\n\n##### Timeout\n\nThe timeout is either the default timeout of 1000ms, or a shorter timeout specified by the publisher in the RTC-config. If the time for a callout to complete exceeds the timeout, the request is dropped and an error is logged.\n\n### Single Request Architecture (SRA) Support\n\nThere is no SRA support at this time. In the event that SRA and RTC are attempted to be used on the same page, RTC will take precedence, and SRA will not be used.\n\n## End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up **amp-ad-network-fadnetwork-impl.js** and check the implementation of **getCustomRealTimeConfigMacros**:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"fadnetwork\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n                \"vendors\": {\n                  \"vendor-a\": {\"SLOT_ID\": \"1\"},\n                  \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n                  \"vendorc\": {}\n                },\n                \"urls\": [\n                  \"https://www.AmpPublisher.biz/A\",\n                  \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n                ],\n                \"timeoutMillis\": 750\n              }'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![Image of RTC Callout Sequence Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {\"vacation\": [\"beach\", \"city\"]}}\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\nAmpA4a builds a promise to an array of RTC Response Objects, and passes that Promise to **getAdUrl** in FadNetwork's Fast Fetch Implementation, which then resolves this promise.\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n\n  /** @override */\n  getAdUrl(opt_rtcResponsesPromise) {\n    return opt_rtcResponsesPromise.then(rtcResponseArray => {\n      buildAndSendAdUrl(rtcResponseArray);\n    });\n  }\n}\n```\n\nIn this specific case, the Promise resolves to the following array:\n\n```js\n[\n  /** Callout 1 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}',\n    rtcTime: 685,\n    callout: 'www.AmpPublisher.biz',\n  },\n\n  /** Callout 2 RTC Response Object */\n  {error: 'timeout', rtcTime: 750, callout: 'www.amptgt.biz'},\n\n  /** Callout 3 RTC Response Object */\n  {error: 'malformed_json_response', rtcTime: 580, callout: 'vendora'},\n\n  /** Callout 4 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}',\n    rtcTime: 700,\n    callout: 'vendor-b',\n  },\n\n  /** Callout 5 RTC Response Object */\n  {\n    response: '{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}',\n    rtcTime: 730,\n    callout: 'vendorc',\n  },\n];\n```\n\n**Example of Resolved Value of opt_rtcResponsesPromise passed to getAdUrl**\n\n**_Explanation of Errors in RTC Responses _**\n\n_Callout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console._\n\n_Callout 3 returns unparseable JSON, so it gets dropped and an error is logged._\n\n_Callout 1, 4, and 5 all return valid JSON and cause no errors_\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\n**Result of merging successful RTC Callouts 1, 4, and 5**\n\nFadNetwork then constructs and encodes their Ad URL as:\n\n```http\nhttps://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D\n```\n\n**FadNetwork's resulting Ad Request URL (use decodeURI to see original json)**\n\nFrom this point forward, all Fast Fetch behavior is exactly the same as non-RTC use cases, and regular Fast Fetch documentation may be consulted for additional questions.\n\n<!-- File: extensions/amp-a4a/rtc-publisher-implementation-guide.md (Tokens: ~3909 | Category: anthropic-skill) -->\n## AMP RTC Publisher Implementation Guide\n\n### Introduction\n\nThis implementation guide is intended for publishers who wish to begin using Real Time Config in their AMP Pages.\n\n### Background\n\nFor full details and background, please refer to the [RTC Documentation](./rtc-documentation.md). This is designed to be a simplified guide.\n\nAMP Real Time Config (RTC) is a new feature of Fast Fetch that allows Publishers to augment their ad requests with targeting information that is retrieved at runtime. Previously, all targeting data for Fast Fetch ad requests had to be statically defined on the amp-ad element. RTC allows up to 5 callouts to targeting servers for each individual ad slot, the results of which are appended to the ad request.\n\n### Requirements for Use\n\nTo use RTC, you must meet the following requirements:\n\n-   Use an ad network that supports Fast Fetch and AMP RTC\n-   Set the `rtc-config` attribute on each amp-ad element for which RTC is to be used, as specified below.\n\n<!-- markdown-link-check-disable -->\n\n### Supported Vendors\n\n-   Admax\n-   Adpushup\n-   AppNexus PSP\n-   APS\n-   Automatad\n-   Andbeyond\n-   Browsi\n-   Criteo\n-   FLUX\n-   [Freestar](https://freestar.com)\n-   Future Plc\n-   [Highfivve](https://highfivve.com)\n-   [Improve Digital](https://www.improvedigital.com)\n-   IndexExchange\n-   Kargo\n-   Newspassid\n-   Lotame\n-   Media.net\n-   Mediasquare\n-   OpenX\n-   PubMatic OpenWrap\n-   [PubWise](https://pubwise.io)\n-   Purch\n-   RichAudience\n-   Rubicon\n-   Salesforce\n-   [Snigel](https://www.snigel.com)\n-   T13\n-   Tail\n-   The Ozone Project\n-   Yieldbot\n-   Yieldlab\n\n<!-- markdown-link-check-enable -->\n\n### Overview\n\nTo use RTC, specify the `rtc-config` attribute on each `amp-ad` element for which RTC should be performed. The `rtc-config` specifies a list of third-party vendors and/or publisher-defined URLs, which should be called to retrieve targeting information. The default timeout for these callouts is 1 second, but the publisher may optionally specify a shorter timeout.\n\nEach individual RTC callout has this 1 second timeout imposed on it, but the callouts are sent quickly one after the other and execute in parallel.\n\n<table>\n  <tr>\n   <td>\n\n<img src=\"./RTCDiagram2.png\" width=\"\">\n\n   </td>\n  </tr>\n  <tr>\n   <td>Figure 1: RTC Callouts Timing Diagram\n<p>\n<em>Note, starting times for the diagrams have been spaced out for display purposes only. In reality, all RTC callouts are sent out faster.</em>\n   </td>\n  </tr>\n</table>\n\nExample from Figure 1:\n\n-   RTC Callout 1 starts at 0ms, and returns at 780ms, for a total time of 780ms. It does not timeout.\n-   RTC Callout 2 starts at 20ms, and returns at 760ms, for a total time of 740ms. It does not timeout.\n-   RTC Callout 3 starts at 50ms, and doesn't return until 1125ms, for a total time of 1075ms. This time surpasses the timeout of 1000ms. Thus, the request is resolved as an empty response by real-time-config-manager at 1050ms, when exactly 1000ms has elapsed from the perspective of RTC Callout 3. The ultimate response from RTC Callout 3 is dropped.\n-   RTC Callout 4 starts at 75ms, and returns at 760ms, for a total time of 685ms. It is not timed out.\n-   RTC Callout 5 starts at 100ms, and returns at 1010ms, for a total time of 910ms. It is not timed out. Note that RTC Callout 5 finishes more than 1000ms after the first RTC Callout is started.\n\nThe publisher-defined URLs take precedence over the vendor-defined ones, i.e. if a publisher specifies 5 custom URLs, and 5 vendors, only the 5 custom URLs will be called out to. The vendor- and publisher-defined URLs allow for macro substitution to build the callout URL. For instance, a publisher may specify the macro values that they wish to substitute into the vendor-defined url, or a publisher may define macros in their custom URL into which the ad network Fast Fetch implementation may substitute values.\n\nOnce a publisher has defined `rtc-config` on an amp-ad, all the work is done for them. When a user navigates to the page, as part of the Fast Fetch execution, all specified RTC callouts will be sent as early as possible to the desired endpoints, and the resulting targeting information will be merged into the ad request. The semantics of how the targeting information is merged is customized by the Fast Fetch Ad Network implementation. For details on how it will be merged, please refer to the documentation for whichever ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### Setting up RTC Config\n\nYou may use RTC to send callouts to a maximum of 5 different endpoints. Each `amp-ad` element that uses RTC must have the `rtc-config` attribute set with valid JSON.\n\n#### Example 1: RTC Specification on an amp-ad\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendorA\": {\"SLOT_ID\": \"1\"},\n              \"vendorB\": {\"PAGE_ID\": \"2\"},\n              \"vendorC\": {\"SLOT_W\": \"320\", \"SLOT_H\": \"50\"}\n              },\n            \"URLs\": [\n              \"https://www.AmpPublisher.biz/targetingA\",\n              \"https://www.AmpPublisher.biz/targetingB\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe value of `rtc-config` must conform to the following specification:\n\n```json\n{\n  \"vendors\": {\n    \"vendor1\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    },\n    \"vendor2\": {\n      \"MACRO_1\": \"MACRO_VALUE_1\",\n      \"MACRO_2\": \"MACRO_VALUE_2\"\n    }\n  },\n  \"urls\": [\n    \"https://www.exampleA.com/endpoint\",\n    {\n      \"url\": \"https://www.exampleb.com/endpoint\",\n      \"errorReportingUrl\": \"https://www.exampleb.com/endpoint?e=ERROR_TYPE&h=HREF\"\n    }\n  ],\n  \"timeoutMillis\": 500\n}\n```\n\n-   `vendors`\n    -   Optional parameter\n    -   Type: Object\n        -   Key is the name of the vendor to use.\n            -   Vendor to use must appear as a key in [callout-vendors.js](https://github.com/ampproject/amphtml/blob/main/src/service/real-time-config/callout-vendors.js)\n        -   Value is a mapping of macros to values.\n    -   Macros for a given vendor URL are specified by that particular vendor.\n        -   E.g., in Example 1 above, VendorA has specified the macro SLOT_ID in their callout URL (see Vendor URL Specification below). The RTC config specifies the value \"1\" to substitute for SLOT_ID in the callout URL.\n        -   Vendors can use the same macros as other vendors.\n-   `urls`\n    -   Optional parameter\n    -   Type: Array\n    -   Each value in the array must be a valid RTC endpoint URL, or an object that contains a \"url\" and an \"errorReportingUrl\". The array can be a mix of both of these types, as seen in the example above. In the case that an object is specified, the \"url\" within this object is treated equivalently as if it had been specified directly within the array, and errors from callouts to that URL are sent to its corresponding **errorReportingUrl**. The URLs specified here are the \"custom URLs\" mentioned above and throughout this document.\n        -   See [RTC Callout Endpoint and Response Specification](#rtc-callout-endpoint-and-response-specification) section below on all requirements for endpoint.\n        -   See [RTC Error Pingback](https://github.com/ampproject/amphtml/blob/main/extensions/amp-a4a/rtc-documentation.md#rtc-error-pingback) for information on how errorReportingUrl is used to send sampled RTC errors, and how to specify an errorReportingUrl.\n-   `timeoutMillis`\n    -   Optional parameter\n    -   Type: integer\n    -   Value in milliseconds for timeout to use for each individual RTC callout. Must be less than default value of 1000ms, and greater than 0.\n\nWhile all three parameters of `rtc-config` are optional, either \"vendors\" or \"urls\" _must be specified_ for RTC to occur. Both may be specified simultaneously. If neither \"vendors\" nor \"urls\" are specified, there are no endpoints to callout to and RTC is aborted. An error will be logged to the console.\n\n### Setting up an Endpoint\n\nIf a publisher wants to set up their own custom server to receive and respond to RTC callouts, they must meet the following specifications:\n\n#### Response and Endpoint Specification\n\nThe RTC endpoint must respond to the GET request with an object of targeting information to be inserted into the ad request url. Redirects are not allowed, and if the endpoint attempts to redirect, the RTC will be abandoned. Special care should be made to respond to these requests as quickly as possible, as there is a 1 second default timeout imposed by RTC, and publishers may optionally shorten this timeout. Responses that return after the timeout will be dropped.\n\nThe endpoint must use HTTPS.\n\nThe RTC Response to a GET must meet the following requirements:\n\n-   Status Code = 200\n-   See [here for Required Headers](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-cors-requests.md#ensuring-secure-responses) and note that Access-Control-Allow-Credentials: true must be present for cookies to be included in the request.\n-   Body of response is a JSON object of targeting information such as:\n    -   `{\"targeting\": {\"sport\":[\"rugby\",\"cricket\"]}}`\n    -   The response body must be JSON, but the actual structure of that data need not match the structure here. Refer to Fast Fetch Network-specific documentation for the required spec. (for example, if using DoubleClick, refer to DoubleClick docs).\n\n### Merging RTC Results into Ad Requests\n\nThe merging of the results of RTC is defined per ad network. AMP RTC simply provides the results of all the callouts to getAdUrl for the given network. For specifics on how the results of RTC will be used as part of the ad request, please refer to documentation specific to the ad network you are using (i.e. DoubleClick, AdSense, etc).\n\n### End-to-End Example\n\nAmpPublisher.biz uses FadNetwork's Fast Fetch implementation for all of their AMP pages. AmpPublisher.biz wants to start using RTC on their pages to add targeting information to their ad requests. They plan to make callouts to VendorA, VendorB, VendorC, and also to their own custom targeting servers: AmpPublisher.biz/A, and aptgt.biz/B.\n\nFirst, AmpPublisher's developer opens up callout-vendors.js to make sure that all of their desired vendors actually support RTC, and find:\n\n```js\n/** amp-a4a/0.1/callout-vendors.js */\nvendors: {\n   \"vendor-a\": {\n     \"url\": \"https://vendora.com?slot_id=SLOT_ID&start_time=START\",\n     \"macros\": [\"SLOT_ID\"]\n   },\n  \"vendor-b\": {\n     \"url\": \"https://vendor-b.net/rtc?p_id=PAGE_ID&adw=AD_W\",\n     \"macros\": [\"PAGE_ID\", \"AD_W\"]\n   },\n  \"vendorc\": {\n     \"url\": \"https://www.vendorC.co.uk/ept\"\n   }\n};\n```\n\nAll of the desired vendors are supported, thus they can use all of them.\n\nAmpPublisher now wants to check what macros they have available to use from FadNetwork's Fast Implementation, so they open up amp-ad-network-fadnetwork-impl.js and check the implementation of getCustomRealTimeConfigMacros:\n\n```js\n/** amp-ad-network-fadnetwork-impl.js */\n\nexport class AmpAdNetworkFadNetworkImpl extends AmpA4A {\n...\n/** @override */\ngetCustomRealTimeConfigMacros() {\n  return {\n    'START': Date.now(),\n    'V_HT': getViewportHeight(),\n    'V_WT': getViewportWidth()\n  }\n}\n```\n\nThey see that FadNetwork supports the macros START, V_HT, and V_WT. AmpPublisher then decides that for their two targeting servers they want to call out to, only one of them could actually use these macros.\n\nAmpPublisher has also decided that the default timeout of 1000ms per callout is too slow for their purposes, and wants to shorten it to 750ms.\n\nThus, they define their rtc-config:\n\n```html\n<amp-ad\n  width=\"320\"\n  height=\"50\"\n  type=\"network-foo\"\n  data-slot=\"/1234/5678\"\n  rtc-config='{\n            \"vendors\": {\n              \"vendor-a\": {\"SLOT_ID\": \"1\"},\n              \"vendor-b\": {\"PAGE_ID\": \"61393\", \"AD_W\": \"320\"},\n              \"vendorc\": {}\n              },\n            \"urls\": [\n              \"https://www.AmpPublisher.biz/A\",\n              \"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT\"\n            ],\n            \"timeoutMillis\": 750}'\n>\n</amp-ad>\n```\n\nThe setup of the HTML page is now done. At runtime, the next steps happen:\n\nReal-time-config-manager parses the rtc-config from the ad slot, and uses macro substitution to construct the following 5 URLs:\n\n```http\nhttps://vendora.com?slot_id=1&start_time=1508779857330\nhttps://vendor-b.net/rtc?p_id=61393&adw=320\nhttps://www.vendorC.co.uk/ept\nhttps://www.AmpPublisher.biz/A\nhttps://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400\n```\n\nThese 5 URLs are then called out to as quickly as possible in parallel. A publisher's custom URLs take precedence over vendor URLs, so the actual order in which they send is:\n\n![RTC Timing Diagram](./RTCDiagram.png)\n\nThe results of the 5 callouts are:\n\n```js\n/** Callout 1 response https://www.AmpPublisher.biz/A */\n{\"targeting\": {\"ages\": \"18-24\", \"g\":[\"m\", \"f\", \"o\"]}}\n\n/** Callout 2 response https://www.amptgt.biz/B?d=1508779857330&vht=1000&vwt=400 */\nNo Response, request was timed out due to surpassing 750ms.\n\n/** Callout 3 response VendorA */\n{\"targeting\": {'vacation': \"beach\" : 'city'\"\n\n/** Callout 4 response VendorB */\n{\"targeting\": {\"ages\": \"35-45\", \"i\": {\"sport\": \"baseball\"}}}\n\n/** Callout 5 response Vendor C */\n{\"targeting\": {\"i\": {\"city\": \"NYC\"}}}\n```\n\n**_Explanation of Errors in RTC Responses_**\n\nCallout 2 surpassed the timeout of 750ms, so it gets dropped and an error is logged to the console.\n\nCallout 3 returns unparseable JSON, so it gets dropped and an error is logged.\n\nCallout 1, 4, and 5 all return valid JSON and cause no errors.\n\nThe Fast Fetch Implementation for FadNetwork then uses this array of RTC response objects to build and send the ad request URL. It is at the discretion of FadNetwork to merge these parameters however they see fit. In this example, FadNetwork simply does a deep merge of all the successful RTC callout responses, with the last response given precedence in case of collision, and gets the resulting JSON:\n\n```json\n{\n  \"targeting\": {\n    \"ages\": \"35-45\",\n    \"g\": [\"m\", \"f\", \"o\"],\n    \"i\": {\"sport\": \"baseball\", \"city\": \"NYC\"}\n  }\n}\n```\n\nThis targeting information is then added to the Ad Request URL however FadNetwork's implementation dictates.\n\n<table>\n  <tr>\n   <td><code>https://www.fadnetwork.biz/adServer?%7B%E2%80%9Ctargeting%E2%80%9D:%20%7B%E2%80%9Cages%E2%80%9D:%20%E2%80%9C35-45%E2%80%9D,%20%E2%80%9Cg%E2%80%9D:%5B%E2%80%9Cm%E2%80%9D,%20%E2%80%9Cf%E2%80%9D,%20%E2%80%9Co%E2%80%9D%5D,%20%E2%80%9Ci%E2%80%9D:%20%7B%E2%80%9Csport%E2%80%9D:%20%E2%80%9Cbaseball%E2%80%9D,%20%E2%80%9Ccity%E2%80%9D:%20%E2%80%9CNYC%E2%80%9D%7D%7D</code>\n   </td>\n  </tr>\n  <tr>\n   <td>FadNetwork's resulting Ad Request URL (use decodeURI to see original json)\n   </td>\n  </tr>\n</table>\n\n<!-- File: extensions/amp-access-fewcents/amp-access-fewcents.md (Tokens: ~962 | Category: anthropic-skill) -->\n---\n$category@: presentation\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the Fewcents micropayments platform.\n---\n\n# amp-access-fewcents\n\n-   The `amp-access-fewcents` component is based on, and requires [`amp-access`](../amp-access/amp-access.md)\n-   amp-access-fewcents is built to be used with amp pages which internally uses amp-access to provide a behavior similar to amp-access, but built in such a way that it can be used with Fewcents.\n-   amp-access-fewcents component does not require an authorization, pingback or login configuration, because it is pre-configured to work with the Fewcents. You just need to pass or configure the extension according to your need like primary color for button, Publisher's can have their logo on the paywall.\n-   This component also relies on Access Content Markup to show and hide content.\n\n## Usage\n\n### The configuration on the pulisher end will look like this\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Where as the content access markup could end up looking like this:\n\nThe example below demonstrates `amp-access-fewcents` component in standalone use.\n\n```html\n  <section amp-access=\"NOT access\" amp-access-hide>\n    <div id=\"amp-access-fewcents-dialog\"></div>\n  </section>\n\n  <section amp-access=\"error\" amp-access-hide class=\"error-section\">\n    Oops... Something broke.\n  </section>\n\n  <div amp-access=\"access\" amp-access-hide>\n    <p>\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n      ullamcorper turpis vel commodo scelerisque. Phasellus luctus nunc ut\n      elit cursus, et imperdiet diam vehicula. Duis et nisi sed urna blandit\n      bibendum et sit amet erat. Suspendisse potenti.\n    </p>\n  </div>\n```\n\nElement div with id `amp-access-fewcents-dialog` is where the paywall will going to show up when user don't have the access to the article.\n\n### The following resources provide further documentation on using Fewcents with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [Fewcents](https://www.fewcents.co/)\n\n## Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n  <script id=\"amp-access\" type=\"application/json\">\n    {\n      \"vendor\": \"fewcents\",\n      \"fewcents\": {\n        \"publisherLogoUrl\" : \"logoUrl\",\n        \"contentSelector\" : \"amp-access-fewcents-dialog\",\n        \"primaryColor\" : \"#0000FF\",\n        \"accessKey\" : \"samplehost\",\n        \"category\": \"paywall\",\n        \"articleIdentifier\": \"sampleidentifier\"\n      }\n    }\n  </script>\n```\n\n### Keys summary:\n\n-   `vendor` : This is mandatory to pass and its value is \"fewcents\"\n-   `publisherLogoUrl` : Url of image of the publisher logo in the format of png.\n-   `contentSelector` : Id of div element where paywall will be rendered\n-   `primaryColor` : Background colour of the unlock button, else default colour will be used\n-   `accessKey` : This will be provided by fewcents to the publisher\n-   `categoty` : Represent catetory of paywall and will be provided by fewcents\n-   `articleIdentifier` : This lets fewcents to uniquely identify each article, and publisher should share this data with fewcents\n\n## Analytics\n\nGiven that `amp-access-fewcents` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nSeveral analytics reports are sent to fewcents on user actions on the paywall.\n\n## Layout and style\n\n```\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-access-fewcents-0.1.css\">\n```\n\n<!-- File: extensions/amp-access-laterpay/amp-access-laterpay.md (Tokens: ~3252 | Category: anthropic-skill) -->\n---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Allows publishers to integrate with the LaterPay micropayments platform.\n---\n\n# amp-access-laterpay\n\n## Usage\n\n[LaterPay](https://laterpay.net) is a micropayment platform that allows users to buy any online content with just two clicks, and get immediate access – without upfront registration, personal data, or payment. Users only pay, once their purchases have reached a total of \\$5 or 5€ across websites. Content providers can sell individual items or time passes, which allow flatrate access or time limited access to content.\n\nThe `amp-access-laterpay` component is based on, and requires [`amp-access`](../amp-access/amp-access.md).\n\nIf you're integrating LaterPay via the [Connector Script integration](https://docs.laterpay.net/connector/) you won't be able to use that integration on AMP pages. `amp-access-laterpay` is analogous to Connector Script, providing a similar set of features, but built for AMP pages.\n\nIt's also possible to sell content via LaterPay simply using `amp-access-laterpay` as the sole integration method.\n\nThe `amp-access-laterpay` component uses `amp-access` internally to provide a behavior similar to `amp-access`, but tailored for usage with the LaterPay service.\n\nIf you have your own paywall service that you'd like to use with `amp-access` and would like to use it together with LaterPay on the same page, it's also possible to do so.\n\nThe `amp-access-laterpay` component does not require an authorization or pingback configuration, because it is pre-configured to work with the LaterPay service. It also does not require manual setup of login links.\n\nThe different purchase options can be configured on the publisher's LaterPay account, and the component will retrieve the configuration and create a list of available purchase options.\n\nYou can refer to the documentation on configuring the [LaterPay Connector](https://docs.laterpay.net/connector/configuration/), LaterPay's existing front-end integration, to learn how to configure the purchase options.\n\nThe generated list can be styled and presented according to the publisher's preference.\n\nThis component also relies on [Access Content Markup](../amp-access/amp-access.md) to show and hide content.\n\n### Using amp-access-laterpay with amp-access\n\nIf you have an existing subscription system and you intend to use LaterPay only for individual article sales, it's possible to have both sale methods coexist in the same page, using both `amp-access` and `amp-access-laterpay` together.\n\nFirst of, please refer to the [`amp-access`](../amp-access/amp-access.md) documentation to learn how to configure `amp-access` with your existing paywall.\n\nThe [multiple providers](../amp-access/amp-access.md) section explains how to setup multiple providers with namespaces.\n\nWhen using it with LaterPay and an existing paywall integration, the necessary configuration can look something like this:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  [\n    {\n      \"vendor\": \"laterpay\",\n      \"laterpay\": {\n        \"region\": \"us\"\n      },\n      \"namespace\": \"laterpay\"\n    },\n    {\n      \"authorization\": \"https://pub.com/amp-access?rid=READER_ID&url=SOURCE_URL\",\n      \"pingback\": \"https://pub.com/amp-ping?rid=READER_ID&url=SOURCE_URL\",\n      \"login\": \"https://pub.com/amp-login?rid=READER_ID&url=SOURCE_URL\",\n      \"authorizationFallbackResponse\": {\"error\": true},\n      \"namespace\": \"publishername\"\n    }\n  ]\n</script>\n```\n\nWhere as the content access markup could end up looking like this:\n\n```html\n<section\n  amp-access=\"NOT error AND NOT laterpay.access AND NOT publishername.access\"\n  amp-access-hide\n>\n  <p>\n    <a on=\"tap:amp-access.login-publishername\"\n      >Login here to access your PublisherName subscription.</a\n    >\n  </p>\n\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"laterpay.access OR publishername.access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\nYou can find a more complete example [here](https://ampexample.laterpay.net/dual-amp-access.html).\n\n[tip type=\"read-on\"]\n\nThe following resources provide further documentation on using LaterPay with AMP:\n\n-   [`amp-access`](https://amp.dev/documentation/components/amp-access)\n-   [LaterPay](https://www.laterpay.net)\n-   [LaterPay: How we do MicroPayments](https://docs.laterpay.net/how_we_do_micropayments/)\n-   [LaterPay Connector](https://docs.laterpay.net/connector/) - Similar to `amp-access-laterpay` but for non AMP pages.\n\n[/tip]\n\n### Using Access Content Markup and showing the purchase list\n\nAccess Content Markup should be used in the same way as with `amp-access`.\n\nThe element with id `amp-access-laterpay-dialog` will render a list of purchase options when the user does not have access to the article. This list has some very basic styling and can be customized to feel more integrated in the publisher's page.\n\nMake sure you add the `amp-access-laterpay` class if you want to use the default styling.\n\n```html\n<section amp-access=\"NOT error AND NOT access\" amp-access-hide>\n  <div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\"></div>\n</section>\n\n<section amp-access=\"error\" amp-access-hide class=\"error-section\">\n  Oops... Something broke.\n</section>\n\n<div amp-access=\"access\" amp-access-hide>\n  <p>...article content...</p>\n</div>\n```\n\n### Configuration\n\nConfiguration is similar to `amp-access`, but no authorization, pingback and login links are required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"property\": value\n    }\n  }\n</script>\n```\n\nThe following values can be set in the `laterpay` config object:\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Property</th>\n    <th class=\"col-twenty\">Values</th>\n    <th class=\"col-fourty\">Description</th>\n  </tr>\n  <tr>\n    <td><code>articleTitleSelector</code></td>\n    <td>CSS selector <strong>required</strong></td>\n    <td>A CSS selector which determines the element in the page which contains the title of the article. This will ensure the page presented for purchase of the article will contain this title so the user is aware of what they're purchasing.</td>\n  </tr>\n  <tr>\n    <td><code>articleId</code></td>\n    <td>Comma separated list of identifiers</td>\n    <td>By default, the URL of an article is used to match it to a purchase option, but instead of specifying a URL path for a purchase option you can set an Article ID in the LaterPay Connector-UI and then use the <code>articleId</code> property to match the article with the purchase option.\n    <br />\n    This is necessary in cases where matching a purchase option by an article’s URL is not flexible enough. See the <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/article_id/\">configuration page for the LaterPay Connector()</a> to see learn about some example scenarios in which this is useful.</td>\n  </tr>\n  <tr>\n    <td><code>jwt</code></td>\n    <td>JWT token for dynamic payment configuration</td>\n    <td>This option allows you specify a signed JSON Web Token with a configuration for the available paid content. This means that you can provide an in page configuration, programatically generated in your pages rather than specifying it manually on LaterPay's Connector Admin interface. This might be specially useful when configuring Single Purchases for many different articles.\n    <br />\n    If you'd like more information on how to create this token and what content can be specified in it, please refer to LaterPay's <a href=\"https://docs.laterpay.net/connector/configuration/inpage_configuration/config_token/#jwt-object-properties\">JWT Paid Content API</a> documentation for the Connector Script integration.\n    </td>\n  </tr>\n  <tr>\n    <td><code>locale</code></td>\n    <td>string</td>\n    <td>Defines the style of price formatting appropriate for the locale.</td>\n  </tr>\n  <tr>\n    <td><code>localeMessages</code></td>\n    <td>object</td>\n    <td>Allows the publisher to customize or localize the text present in the generated list of purchase options. See the <a href=\"#localization\">Localization</a> section for more information.</td>\n  </tr>\n  <tr>\n    <td><code>scrollToTopAfterAuth</code></td>\n    <td>boolean</td>\n    <td>If true, scrolls the page to the top after the authorization process is successful. This can be helpful if the place where you show the dialog is further below in the page and the user could be confused by their current scroll position after returning to the page.</td>\n  </tr>\n  <tr>\n    <td><code>region</code></td>\n    <td>string</td>\n    <td>Specify if you are on the <code>eu</code> or <code>us</code> <a href=\"https://connectormwi.laterpay.net/docs/regions-environments-locales.html\">LaterPay region</a>.</td>\n  </tr>\n  <tr>\n    <td><code>sandbox</code></td>\n    <td>boolean</td>\n    <td>Only needed if you are using the sandbox mode to test out your server configuration. You also need to use AMP's <a href=\"https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#amp-runtime\">development mode</a>.</td>\n  </tr>\n</table>\n\n## Styling\n\nMultiple classes are applied to some of the elements in the generated markup. Elements with no classes can be referred unambiguously through CSS element selectors.\n\nSome basic layout CSS already exists, but it's recommended that publishers style it to match the look and feel of their pages.\n\nThe structure created for the dialog looks as follows:\n\n```html\n<div id=\"amp-access-laterpay-dialog\" class=\"amp-access-laterpay\">\n  <div class=\"amp-access-laterpay-container\">\n    <p class=\"amp-access-laterpay-header\">\n      Optional, appears if header locale message is defined.\n    </p>\n    <ul>\n      <li>\n        <label>\n          <input name=\"purchaseOption\" type=\"radio\" />\n          <div class=\"amp-access-laterpay-metadata\">\n            <span class=\"amp-access-laterpay-title\">Purchase option title</span>\n            <p class=\"amp-access-laterpay-description\">\n              Purchase option description\n            </p>\n          </div>\n        </label>\n        <p class=\"amp-access-laterpay-price-container\">\n          <span class=\"amp-access-laterpay-price\">0.15</span>\n          <sup class=\"amp-access-laterpay-currency\">USD</sup>\n        </p>\n      </li>\n      <!-- ... more list items for other purchase options ... -->\n    </ul>\n    <button class=\"amp-access-laterpay-purchase-button\">Buy Now</button>\n    <p class=\"amp-access-laterpay-already-purchased-container\">\n      <a href=\"...\">I already bought this</a>\n    </p>\n    <p class=\"amp-access-laterpay-footer\">\n      Optional, appears if footer locale message is defined.\n    </p>\n  </div>\n  <p class=\"amp-access-laterpay-badge\">\n    Powered by <a href=\"https://laterpay.net\" target=\"_blank\">LaterPay</a>\n  </p>\n</div>\n```\n\n## Analytics\n\nGiven that `amp-access-laterpay` is based on `amp-access` it supports all the [analytics events](../amp-access/amp-access.md) sent by `amp-access`.\n\nThe examples at [https://ampexample.laterpay.net/](https://ampexample.laterpay.net/) are all configured to send these analytics events if you'd like to see a more complete example as to how this would look in practice.\n\n## Localization\n\nThe text shown in the dialog for the purchase options will be defined by the publisher in the LaterPay Connector UI.\n\nThe remaining text is part of the extended component and can be changed and localized via the configuration options as follows:\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"laterpay\",\n    \"laterpay\": {\n      \"localeMessages\": {\n        \"messageKey\": \"message value\"\n      }\n    }\n  }\n</script>\n```\n\nThe following message keys can be translated or customized, but be aware that they should retain their original meaning and intent.\n\n<table>\n  <tr>\n    <th class=\"col-fourty\">Key</th>\n    <th class=\"col-fourty\">Description</th>\n    <th>Default value</th>\n  </tr>\n  <tr>\n    <td><code>payLaterButton</code></td>\n    <td>Text shown in the purchase button for options that can be paid later.</td>\n    <td>'Buy Now, Pay Later'</td>\n  </tr>\n  <tr>\n    <td><code>payNowButton</code></td>\n    <td>Text shown in the purchase button for options which will have to paid in the moment of purchase.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>defaultButton</code></td>\n    <td>Default text shown in the purchase button before any option is selected.</td>\n    <td>'Buy Now'</td>\n  </tr>\n  <tr>\n    <td><code>alreadyPurchasedLink</code></td>\n    <td>If the user has purchased the article in the past but they have lost their cookies (or are in a different device) they can use this link to login to LaterPay and retrieve their purchases.</td>\n    <td>'I already bought this'</td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>header</code></td>\n    <td>Optional header text.</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td class=\"col-fourty\"><code>footer</code></td>\n    <td>Optional footer text.</td>\n    <td></td>\n  </tr>\n</table>\n\n## Validation\n\nSee [`amp-access-laterpay` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-laterpay/validator-amp-access-laterpay.protoascii) in the AMP validator specification.\n\n<!-- File: extensions/amp-access-poool/amp-access-poool.md (Tokens: ~1376 | Category: anthropic-skill) -->\n---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Displays a Poool paywall.\n---\n\n# amp-access-poool\n\n## Usage\n\nThe `amp-access-poool` component, based on `amp-access`, loads and shows a paywall using your `bundleID` from Poool's Dashboard configuration.\n\nSee [poool.tech](https://poool.tech) for more details. `amp-access-poool` is based on, and requires,\n[`amp-access`](https://amp.dev/documentation/components/amp-access).\n\nAs you'll know if you're familiar with how Poool works outside of AMP, you cannot use `excerpt` and `hide` modes here. This is due to AMP's specific behavior. You will be able to lock or unlock your content with the `access` variable which is provided by `amp-access`. Check out the `poool-widget` section just below.\n\nThe `amp-access-poool` component does not require an authorization or pingback configuration because it is pre-configured to work with Poool.\n\nFor more information about modes, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#mode).\n\n### Configurations\n\nYou have to set configuration attributes within AMP in camelCase instead of the underscore (\" \\_ \") symbol traditionally used by Poool.\n\nFor example : use `customSegment=\"amp-custom-segment\"` to achieve `poool(\"config\", \"custom_segment\", \"amp-custom-segment\");`.\n\n#### HTML sections\n\n**Set poool-widget section, which contain poool paywall when access isn't granted.**\n\nThe `amp-access-poool` component requires 3 different sections:\n\n-   The article preview, shown when access hasn't been granted yet (with `amp-access=\"NOT access\"`) and identified by Poool using the `poool-access-preview` attribute\n-   The article content, shown when access has been granted (with `amp-access=\"access\"`), hidden by the `amp-access-hide` attribute until access has been granted, and identified by Poool using the `poool-access-content` attribute\n-   Poool's Paywall container, shown when access hasn't been granted yet (with `amp-access=\"NOT error AND NOT access\"`), identified by Poool using the `poool` id\n\n```html\n<section poool-access-preview amp-access=\"NOT access\">\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section poool-access-content amp-access=\"access\" amp-access-hide>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n  <p>\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur\n    ullamcorper turpis vel commodo scelerisque.\n  </p>\n</section>\n\n<section amp-access=\"NOT error AND NOT access\" id=\"poool\"></section>\n```\n\n#### amp-access script - poool config\n\n**Example: Basic paywall configuration (with default values)**\n\nConfiguration is similar to AMP Access, except no authorization, pingback or login url is required.\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"itemID\": \"amp-example-article\"\n    }\n  }\n</script>\n```\n\n**Example: Show a paywall for a user in a custom group/segment called \"amp-custom-segment\"**\n\n```html\n<script id=\"amp-access\" type=\"application/json\">\n  {\n    \"vendor\": \"poool\",\n    \"poool\": {\n      \"bundleID\": \"Your app id provided by poool\",\n      \"pageType\": \"premium\",\n      \"debug\": \"true\",\n      \"cookiesEnabled\": \"true\",\n      \"itemID\": \"amp-example-article\",\n      \"customSegment\": \"amp-custom-segment\"\n    }\n  }\n</script>\n```\n\nFor more information about configuration variables, check out our [SDK documentation](https://dev.poool.tech/doc/sdk#configuration).\n\n## Attributes\n\n### bundleID (required)\n\nYour App ID (you can find it on your Dashboard).\n\n### itemID (required)\n\nYour **unique** article ID.\n\n### pageType (required)\n\nUsed to tell Poool that a page has been visited by the current user.\nSee [documentation](https://dev.poool.tech/doc/sdk#page_view) for more information.\n\n### debug\n\nEnable/disable debug mode.\nSee [documentation](https://dev.poool.tech/doc/sdk#debug) for more information.\n\n### forceWidget\n\nOverride current widget for user.\nSee [documentation](https://dev.poool.tech/doc/sdk#force_widget) for more information.\n\n### loginButtonEnabled\n\nEnable/disable paywall \"login\" button.\nSee [documentation](https://dev.poool.tech/doc/sdk#login_button_enabled) for more information.\n\n### signatureEnabled\n\nEnable/disable paywall signature, shown under article content when the article has been unlocked.\nSee [documentation](https://dev.poool.tech/doc/sdk#signature_enabled) for more information.\n\n### videoClient\n\nSet default video client (vast, googima) for video widget.\nSee [documentation](https://dev.poool.tech/doc/sdk#video_client) for more information.\n\n### customSegment\n\nOverride native segments with a custom group/segment slug.\nSee [documentation](https://dev.poool.tech/doc/sdk#custom_segment) for more information.\n\n### cookiesEnabled\n\nFollowing latest GDPR requirements, we decided to disable cookies by default inside our paywall. You will have to explicitly set this attribute to reflect the user's consent.\nSee [documentation](https://dev.poool.tech/doc/sdk#cookies_enabled) for more information.\n\n### locale\n\nSet default locale for all texts inside the paywall.\nSee [documentation](https://dev.poool.tech/doc/sdk#locale) for more information.\n\n### context\n\nOverride default or native contexts with a custom context value.\nSee [documentation](https://dev.poool.tech/doc/sdk#context) for more information.\n\n## Validation\n\nSee [`amp-access-poool` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-poool/validator-amp-access-poool.protoascii) in the AMP validator specification.\n\n<!-- File: extensions/amp-access-scroll/amp-access-scroll.md (Tokens: ~286 | Category: anthropic-skill) -->\n---\n$category@: dynamic-content\nformats:\n  - websites\nteaser:\n  text: Integrates with Scroll membership.\n---\n\n# amp-access-scroll\n\n## Usage\n\nLets sites in the [Scroll](https://scroll.com) network identify Scroll members in order to serve them an ad-free, directly-monetized experience.\n\n### Configuration\n\nIn `<head>`, add\n\n```\n<script id=\"amp-access\" type=\"application/json\">\n{\n  \"vendor\": \"scroll\",\n  \"namespace\": \"scroll\"\n}\n</script>\n```\n\nBe sure not to add a trailing comma to the namespace line, which makes it invalid JSON!\n\nIf you are already using `amp-access` for a paywall, follow the steps in the `amp-access` documentation for [using namespaces and an array of providers](https://amp.dev/documentation/components/amp-access#multiple-access-providers).\n\n### Make each ad conditional\n\nAdd an `amp-access` attribute to each ad container.\n\n```\n<div class=\"amp-ad-container\" amp-access=\"NOT scroll.scroll\">\n  <amp-ad... >\n</div>\n```\n\nLearn more at [https://developer.scroll.com/amp](https://developer.scroll.com/amp).\n\n## Validation\n\nSee [`amp-access-scroll` rules](https://github.com/ampproject/amphtml/blob/main/extensions/amp-access-scroll/validator-amp-access-scroll.protoascii) in the AMP validator specification.\n\n<!-- File: extensions/amp-access/0.1/iframe-api/DEVELOPING.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/DEVELOPING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/DEVELOPING.md)\n\n<!-- File: extensions/amp-access/0.1/iframe-api/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Iframe-api Skill\n\nPath: `extensions/amp-access/0.1/iframe-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/0.1/iframe-api/package.json)\n\n<!-- File: extensions/amp-access/amp-access-analytics.md (Tokens: ~1191 | Category: anthropic-skill) -->\n# AMP Access and Analytics\n\n## Access analytics triggers\n\nAccess service issues events for major states in the access flow. These events can be reported through the analytics configuration by using triggers.\n\nSee [amp-analytics.md](../amp-analytics/amp-analytics.md) for details on _amp-analytics_ configuration.\n\n### Authorization received trigger (`\"on\": \"access-authorization-received\"`)\n\nThe `access-authorization-received` event is issued when the Authorization endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationReceived\": {\n    \"on\": \"access-authorization-received\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Authorization received trigger (`\"on\": \"access-authorization-failed\"`)\n\nThe `access-authorization-failed` event is issued when the Authorization endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessAuthorizationFailed\": {\n    \"on\": \"access-authorization-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Access view registered trigger (`\"on\": \"access-viewed\"`)\n\nThe `access-viewed` event is issued when the access system considers the page viewed and right before pingback is sent. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessViewed\": {\n    \"on\": \"access-viewed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback sent trigger (`\"on\": \"access-pingback-sent\"`)\n\nThe `access-pingback-sent` event is issued when the Pingback endpoint has succeeded. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackSent\": {\n    \"on\": \"access-pingback-sent\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Pingback failed trigger (`\"on\": \"access-pingback-failed\"`)\n\nThe `access-pingback-failed` event is issued when the Pingback endpoint has failed. Use these configurations to fire a request for this event.\n\n```javascript\n\"triggers\": {\n  \"accessPingbackFailed\": {\n    \"on\": \"access-pingback-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login started trigger (`\"on\": \"access-login[-type]-started\"`)\n\nThe `access-login[-type]-started` event is issued right before the Login dialog has been opened. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-started`. When multiple Login URLs are configured, the event is `access-login-type-started`, e.g. \"access-login-signup-started\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginStarted\": {\n    \"on\": \"access-login-started\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login success trigger (`\"on\": \"access-login[-type]-success\"`)\n\nThe `access-login[-type]-success` event is issued when Login dialog has succeeded. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-success`. When multiple Login URLs are configured, the event is `access-login-type-success`, e.g. \"access-login-signup-success\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginSuccess\": {\n    \"on\": \"access-login-success\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login rejected trigger (`\"on\": \"access-login[-type]-rejected\"`)\n\nThe `access-login[-type]-rejected` event is issued when Login dialog has been rejected by the user. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login-rejected`. When multiple Login URLs are configured, the event is `access-login-type-rejected`, e.g. \"access-login-signup-rejected\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginRejected\": {\n    \"on\": \"access-login-rejected\",\n    \"request\": \"event\"\n  }\n}\n```\n\n### Login failed trigger (`\"on\": \"access-login[-type]-failed\"`)\n\nThe `access-login[-type]-failed` event is issued when Login dialog has failed due to an unknown reason. Use these configurations to fire a request for this event.\n\nWhen only one Login URL is configured, the event is `access-login[-type]-failed`. When multiple Login URLs are configured, the event is `access-login-type-failed`, e.g. \"access-login-signup-failed\".\n\n```javascript\n\"triggers\": {\n  \"accessLoginFailed\": {\n    \"on\": \"access-login-failed\",\n    \"request\": \"event\"\n  }\n}\n```\n\n## Access analytics variables\n\nAccess contributes the following URL substitutions to the [amp-var-substitutions.md](../../docs/spec/amp-var-substitutions.md).\n\n### ACCESS_READER_ID\n\nThe `ACCESS_READER_ID` variable is substituted with the Reader ID used for access operations. This is a sensitive ID and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n\n### AUTHDATA(field)\n\nThe `AUTHDATA(field)` variable is substituted with the value of the field in the authorization response. The nested fields are allowed, such as `AUTHDATA(nested.field)`.\n\nThis variable will wait until authorization is complete before being available.\n\nData contained in `AUTHDATA` may be sensitive and care should be taken in sharing it. Please ensure that any data you pass to a third party complies with its terms of service.\n\n<!-- File: extensions/amp-access/amp-access.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-access Skill\n\nPath: `extensions/amp-access/amp-access.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-access/amp-access.md)\n\n<!-- File: extensions/amp-accordion/0.1/amp-accordion.md (Tokens: ~300 | Category: anthropic-skill) -->\n# 0.1 Skill\n\nPath: `extensions/amp-accordion/0.1/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/0.1/amp-accordion.md)\n\n<!-- File: extensions/amp-accordion/amp-accordion.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-accordion Skill\n\nPath: `extensions/amp-accordion/amp-accordion.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-accordion/amp-accordion.md)\n\n<!-- File: extensions/amp-action-macro/amp-action-macro.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-action-macro Skill\n\nPath: `extensions/amp-action-macro/amp-action-macro.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-action-macro/amp-action-macro.md)\n\n<!-- File: extensions/amp-ad-exit/amp-ad-exit.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-exit Skill\n\nPath: `extensions/amp-ad-exit/amp-ad-exit.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-exit/amp-ad-exit.md)\n\n<!-- File: extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-adsense-impl Skill\n\nPath: `extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-adsense-impl/amp-ad-network-adsense-impl-internal.md)\n\n<!-- File: extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-dianomi-impl Skill\n\nPath: `extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-dianomi-impl/amp-ad-network-dianomi-impl-internal.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/always-serve-npa.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-ad-network-doubleclick-impl-internal.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/amp-consent.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/amp-consent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/amp-consent.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/doubleclick-rtc.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/fluid.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/fluid.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/fluid.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/lazy-fetch.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/multi-size.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/multi-size.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/multi-size.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/refresh.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/refresh.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/refresh.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/render-on-idle.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/render-on-idle.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/render-on-idle.md)\n\n<!-- File: extensions/amp-ad-network-doubleclick-impl/safeframe.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Amp-ad-network-doubleclick-impl Skill\n\nPath: `extensions/amp-ad-network-doubleclick-impl/safeframe.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/ampproject/amphtml/HEAD/extensions/amp-ad-network-doubleclick-impl/safeframe.md)\n\n<!-- ... +488 more modular skills available via /api/skills/ampproject/amphtml?path={path} -->\n</yakaai_skills>"}