@browserless.io/browserless 2.2.0-beta-8 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -2
- package/bin/browserless.js +1 -1
- package/bin/scaffold/README.md +8 -7
- package/build/browserless.js +7 -6
- package/build/browsers/chrome.cdp.d.ts +6 -0
- package/build/browsers/chrome.cdp.js +6 -0
- package/build/browsers/chrome.playwright.d.ts +6 -0
- package/build/browsers/chrome.playwright.js +6 -0
- package/build/browsers/{cdp-chromium.d.ts → chromium.cdp.d.ts} +3 -2
- package/build/browsers/{cdp-chromium.js → chromium.cdp.js} +16 -10
- package/build/browsers/{playwright-chromium.d.ts → chromium.playwright.d.ts} +3 -2
- package/build/browsers/{playwright-chromium.js → chromium.playwright.js} +6 -5
- package/build/browsers/{playwright-firefox.d.ts → firefox.playwright.d.ts} +2 -2
- package/build/browsers/{playwright-firefox.js → firefox.playwright.js} +4 -4
- package/build/browsers/index.d.ts +20 -10
- package/build/browsers/index.js +110 -11
- package/build/browsers/{playwright-webkit.d.ts → webkit.playwright.d.ts} +2 -2
- package/build/browsers/{playwright-webkit.js → webkit.playwright.js} +4 -4
- package/build/data/selectors.json +1 -1
- package/build/exports.d.ts +6 -4
- package/build/exports.js +6 -4
- package/build/hooks.d.ts +4 -5
- package/build/hooks.js +4 -6
- package/build/http.d.ts +22 -1
- package/build/http.js +21 -0
- package/build/router.js +19 -3
- package/build/routes/{chromium/http/content-post.body.json → chrome/http/content.post.body.json} +8 -8
- package/build/routes/chrome/http/content.post.d.ts +7 -0
- package/build/routes/chrome/http/content.post.js +6 -0
- package/build/routes/chrome/http/download.post.d.ts +7 -0
- package/build/routes/chrome/http/download.post.js +6 -0
- package/build/routes/chrome/http/function.post.d.ts +7 -0
- package/build/routes/chrome/http/function.post.js +6 -0
- package/build/routes/chrome/http/json-list.get.d.ts +1 -0
- package/build/routes/chrome/http/json-list.get.js +1 -0
- package/build/routes/chrome/http/json-new.put.d.ts +1 -0
- package/build/routes/chrome/http/json-new.put.js +1 -0
- package/build/routes/chrome/http/json-protocol.get.d.ts +1 -0
- package/build/routes/chrome/http/json-protocol.get.js +1 -0
- package/build/routes/chrome/http/json-version.get.d.ts +1 -0
- package/build/routes/chrome/http/json-version.get.js +1 -0
- package/build/routes/chrome/http/json-version.get.response.json +44 -0
- package/build/routes/{chromium/http/pdf-post.body.json → chrome/http/pdf.post.body.json} +8 -8
- package/build/routes/chrome/http/pdf.post.d.ts +7 -0
- package/build/routes/chrome/http/pdf.post.js +6 -0
- package/build/routes/chrome/http/performance.post.d.ts +7 -0
- package/build/routes/chrome/http/performance.post.js +6 -0
- package/build/routes/{chromium/http/scrape-post.body.json → chrome/http/scrape.post.body.json} +8 -8
- package/build/routes/chrome/http/scrape.post.d.ts +7 -0
- package/build/routes/chrome/http/scrape.post.js +6 -0
- package/build/routes/{chromium/http/screenshot-post.body.json → chrome/http/screenshot.post.body.json} +8 -8
- package/build/routes/chrome/http/screenshot.post.d.ts +7 -0
- package/build/routes/chrome/http/screenshot.post.js +6 -0
- package/build/routes/chrome/tests/content.spec.js +311 -0
- package/build/routes/chrome/tests/download.spec.js +67 -0
- package/build/routes/chrome/tests/function.spec.d.ts +1 -0
- package/build/routes/chrome/tests/function.spec.js +245 -0
- package/build/routes/chrome/tests/json-version.spec.d.ts +1 -0
- package/build/routes/chrome/tests/json-version.spec.js +37 -0
- package/build/routes/chrome/tests/page-websocket.spec.d.ts +1 -0
- package/build/routes/chrome/tests/page-websocket.spec.js +97 -0
- package/build/routes/chrome/tests/pdf.spec.d.ts +1 -0
- package/build/routes/chrome/tests/pdf.spec.js +333 -0
- package/build/routes/chrome/tests/performance.spec.d.ts +1 -0
- package/build/routes/chrome/tests/performance.spec.js +124 -0
- package/build/routes/chrome/tests/scrape.spec.d.ts +1 -0
- package/build/routes/chrome/tests/scrape.spec.js +354 -0
- package/build/routes/chrome/tests/screenshot.spec.d.ts +1 -0
- package/build/routes/chrome/tests/screenshot.spec.js +339 -0
- package/build/routes/chrome/tests/websocket.spec.d.ts +1 -0
- package/build/routes/chrome/tests/websocket.spec.js +371 -0
- package/build/routes/chrome/ws/browser.d.ts +6 -0
- package/build/routes/chrome/ws/browser.js +5 -0
- package/build/routes/chrome/ws/cdp.d.ts +7 -0
- package/build/routes/chrome/ws/cdp.js +6 -0
- package/build/routes/chrome/ws/cdp.query.json +120 -0
- package/build/routes/chrome/ws/page.d.ts +6 -0
- package/build/routes/chrome/ws/page.js +5 -0
- package/build/routes/chrome/ws/page.query.json +120 -0
- package/build/routes/chrome/ws/playwright.d.ts +7 -0
- package/build/routes/chrome/ws/playwright.js +6 -0
- package/build/routes/chromium/http/content.post.body.json +510 -0
- package/build/routes/chromium/http/content.post.d.ts +1 -0
- package/build/routes/chromium/http/content.post.js +1 -0
- package/build/routes/chromium/http/content.post.query.json +183 -0
- package/build/routes/chromium/http/content.post.response.json +5 -0
- package/build/routes/chromium/http/download.post.body.json +32 -0
- package/build/routes/chromium/http/download.post.d.ts +1 -0
- package/build/routes/chromium/http/download.post.js +1 -0
- package/build/routes/chromium/http/download.post.query.json +120 -0
- package/build/routes/chromium/http/download.post.response.json +4 -0
- package/build/routes/chromium/http/function.post.body.json +32 -0
- package/build/routes/chromium/http/function.post.d.ts +1 -0
- package/build/routes/chromium/http/function.post.js +1 -0
- package/build/routes/chromium/http/function.post.query.json +120 -0
- package/build/routes/chromium/http/function.post.response.json +4 -0
- package/build/routes/chromium/http/json-list.get.d.ts +1 -0
- package/build/routes/chromium/http/json-list.get.js +1 -0
- package/build/routes/chromium/http/json-list.get.response.json +52 -0
- package/build/routes/chromium/http/json-new.put.d.ts +1 -0
- package/build/routes/chromium/http/json-new.put.js +1 -0
- package/build/routes/chromium/http/json-new.put.response.json +44 -0
- package/build/routes/chromium/http/json-protocol.get.d.ts +1 -0
- package/build/routes/chromium/http/json-protocol.get.js +1 -0
- package/build/routes/chromium/http/json-protocol.get.response.json +6 -0
- package/build/routes/chromium/http/json-version.get.d.ts +1 -0
- package/build/routes/chromium/http/json-version.get.js +1 -0
- package/build/routes/chromium/http/json-version.get.response.json +44 -0
- package/build/routes/chromium/http/pdf.post.body.json +654 -0
- package/build/routes/chromium/http/pdf.post.d.ts +1 -0
- package/build/routes/chromium/http/pdf.post.js +1 -0
- package/build/routes/chromium/http/pdf.post.query.json +120 -0
- package/build/routes/chromium/http/pdf.post.response.json +5 -0
- package/build/routes/chromium/http/performance.post.body.json +26 -0
- package/build/routes/chromium/http/performance.post.d.ts +1 -0
- package/build/routes/chromium/http/performance.post.js +1 -0
- package/build/routes/chromium/http/performance.post.query.json +120 -0
- package/build/routes/chromium/http/performance.post.response.json +7 -0
- package/build/routes/chromium/http/scrape.post.body.json +557 -0
- package/build/routes/chromium/http/scrape.post.d.ts +1 -0
- package/build/routes/chromium/http/scrape.post.js +1 -0
- package/build/routes/chromium/http/scrape.post.query.json +183 -0
- package/build/routes/chromium/http/scrape.post.response.json +309 -0
- package/build/routes/chromium/http/screenshot.post.body.json +600 -0
- package/build/routes/chromium/http/screenshot.post.d.ts +1 -0
- package/build/routes/chromium/http/screenshot.post.js +1 -0
- package/build/routes/chromium/http/screenshot.post.query.json +120 -0
- package/build/routes/chromium/http/screenshot.post.response.json +5 -0
- package/build/routes/chromium/tests/content.spec.js +16 -16
- package/build/routes/chromium/tests/download.spec.js +3 -3
- package/build/routes/chromium/tests/function.spec.js +10 -10
- package/build/routes/chromium/tests/page-websocket.spec.d.ts +1 -0
- package/build/routes/chromium/tests/page-websocket.spec.js +97 -0
- package/build/routes/chromium/tests/pdf.spec.js +16 -16
- package/build/routes/chromium/tests/performance.spec.js +7 -7
- package/build/routes/chromium/tests/scrape.spec.js +15 -15
- package/build/routes/chromium/tests/screenshot.spec.js +17 -17
- package/build/routes/chromium/tests/websocket.spec.js +31 -37
- package/build/routes/chromium/ws/browser.d.ts +1 -16
- package/build/routes/chromium/ws/browser.js +1 -10
- package/build/routes/chromium/ws/cdp.d.ts +1 -0
- package/build/routes/chromium/ws/cdp.js +1 -0
- package/build/routes/chromium/ws/cdp.query.json +120 -0
- package/build/routes/chromium/ws/page.d.ts +1 -16
- package/build/routes/chromium/ws/page.js +1 -10
- package/build/routes/chromium/ws/playwright.d.ts +1 -0
- package/build/routes/chromium/ws/playwright.js +1 -0
- package/build/routes/firefox/ws/{playwright-firefox.d.ts → playwright.d.ts} +5 -5
- package/build/routes/firefox/ws/{playwright-firefox.js → playwright.js} +4 -4
- package/build/routes/management/http/{sessions-get.response.json → sessions.get.response.json} +11 -1
- package/build/routes/management/http/{static-get.js → static.get.js} +2 -2
- package/build/routes/webkit/ws/{playwright-webkit.d.ts → playwright.d.ts} +5 -5
- package/build/routes/webkit/ws/{playwright-webkit.js → playwright.js} +4 -4
- package/build/routes/webkit/ws/playwright.query.json +100 -0
- package/build/{routes/chromium/ws/cdp-chromium.d.ts → shared/browser.ws.d.ts} +4 -4
- package/build/shared/browser.ws.js +12 -0
- package/build/{routes/chromium/ws/playwright-chromium.d.ts → shared/chromium.playwright.ws.d.ts} +4 -4
- package/build/{routes/chromium/ws/playwright-chromium.js → shared/chromium.playwright.ws.js} +6 -3
- package/build/shared/chromium.ws.d.ts +16 -0
- package/build/shared/chromium.ws.js +10 -0
- package/build/{routes/chromium/http/content-post.d.ts → shared/content.http.d.ts} +3 -3
- package/build/{routes/chromium/http/content-post.js → shared/content.http.js} +3 -3
- package/build/{routes/chromium/http/download-post.d.ts → shared/download.http.d.ts} +3 -3
- package/build/{routes/chromium/http/download-post.js → shared/download.http.js} +4 -4
- package/build/{routes/chromium/http/function-post.d.ts → shared/function.http.d.ts} +3 -3
- package/build/{routes/chromium/http/function-post.js → shared/function.http.js} +4 -4
- package/build/{routes/chromium/http/json-new.d.ts → shared/json-list.http.d.ts} +2 -3
- package/build/{routes/chromium/http/json-list.js → shared/json-list.http.js} +5 -8
- package/build/{routes/chromium/http/json-list.d.ts → shared/json-new.http.d.ts} +2 -3
- package/build/shared/json-new.http.js +34 -0
- package/build/{routes/chromium/http/json-protocol-get.js → shared/json-protocol.http.js} +2 -2
- package/build/{routes/chromium/http/json-version-get.js → shared/json-version.http.js} +3 -3
- package/build/shared/page.ws.d.ts +16 -0
- package/build/shared/page.ws.js +13 -0
- package/build/{routes/chromium/http/pdf-post.d.ts → shared/pdf.http.d.ts} +3 -3
- package/build/{routes/chromium/http/pdf-post.js → shared/pdf.http.js} +3 -3
- package/build/{routes/chromium/http/performance.d.ts → shared/performance.http.d.ts} +3 -3
- package/build/{routes/chromium/http/performance.js → shared/performance.http.js} +4 -4
- package/build/{routes/chromium/http/scrape-post.d.ts → shared/scrape.http.d.ts} +3 -3
- package/build/{routes/chromium/http/scrape-post.js → shared/scrape.http.js} +3 -3
- package/build/{routes/chromium/http/screenshot-post.d.ts → shared/screenshot.http.d.ts} +3 -3
- package/build/{routes/chromium/http/screenshot-post.js → shared/screenshot.http.js} +3 -3
- package/build/shared/utils/performance/child.d.ts +1 -0
- package/build/{routes/chromium → shared}/utils/performance/main.js +1 -1
- package/build/shared/utils/performance/types.js +1 -0
- package/build/shim.js +2 -1
- package/build/types.d.ts +10 -8
- package/build/utils.d.ts +8 -3
- package/build/utils.js +24 -11
- package/docker/base/Dockerfile +1 -1
- package/docker/chrome/Dockerfile +4 -4
- package/docker/chromium/.dockerignore +16 -0
- package/docker/chromium/Dockerfile +40 -0
- package/docker/firefox/Dockerfile +1 -1
- package/docker/multi/Dockerfile +13 -1
- package/docker/webkit/Dockerfile +1 -1
- package/extensions/ublock/3p-filters.html +1 -1
- package/extensions/ublock/_locales/ar/messages.json +4 -0
- package/extensions/ublock/_locales/az/messages.json +4 -0
- package/extensions/ublock/_locales/be/messages.json +4 -0
- package/extensions/ublock/_locales/bg/messages.json +5 -1
- package/extensions/ublock/_locales/bn/messages.json +4 -0
- package/extensions/ublock/_locales/br_FR/messages.json +6 -2
- package/extensions/ublock/_locales/bs/messages.json +4 -0
- package/extensions/ublock/_locales/ca/messages.json +4 -0
- package/extensions/ublock/_locales/cs/messages.json +4 -0
- package/extensions/ublock/_locales/cv/messages.json +4 -0
- package/extensions/ublock/_locales/cy/messages.json +1294 -0
- package/extensions/ublock/_locales/da/messages.json +4 -0
- package/extensions/ublock/_locales/de/messages.json +5 -1
- package/extensions/ublock/_locales/el/messages.json +4 -0
- package/extensions/ublock/_locales/en/messages.json +4 -0
- package/extensions/ublock/_locales/en_GB/messages.json +4 -0
- package/extensions/ublock/_locales/eo/messages.json +9 -5
- package/extensions/ublock/_locales/es/messages.json +4 -0
- package/extensions/ublock/_locales/et/messages.json +4 -0
- package/extensions/ublock/_locales/eu/messages.json +8 -4
- package/extensions/ublock/_locales/fa/messages.json +4 -0
- package/extensions/ublock/_locales/fi/messages.json +4 -0
- package/extensions/ublock/_locales/fil/messages.json +4 -0
- package/extensions/ublock/_locales/fr/messages.json +4 -0
- package/extensions/ublock/_locales/fy/messages.json +4 -0
- package/extensions/ublock/_locales/gl/messages.json +4 -0
- package/extensions/ublock/_locales/gu/messages.json +4 -0
- package/extensions/ublock/_locales/he/messages.json +4 -0
- package/extensions/ublock/_locales/hi/messages.json +4 -0
- package/extensions/ublock/_locales/hr/messages.json +4 -0
- package/extensions/ublock/_locales/hu/messages.json +4 -0
- package/extensions/ublock/_locales/hy/messages.json +4 -0
- package/extensions/ublock/_locales/id/messages.json +5 -1
- package/extensions/ublock/_locales/it/messages.json +4 -0
- package/extensions/ublock/_locales/ja/messages.json +4 -0
- package/extensions/ublock/_locales/ka/messages.json +34 -30
- package/extensions/ublock/_locales/kk/messages.json +4 -0
- package/extensions/ublock/_locales/kn/messages.json +4 -0
- package/extensions/ublock/_locales/ko/messages.json +4 -0
- package/extensions/ublock/_locales/ku/messages.json +4 -0
- package/extensions/ublock/_locales/lt/messages.json +4 -0
- package/extensions/ublock/_locales/lv/messages.json +4 -0
- package/extensions/ublock/_locales/mk/messages.json +4 -0
- package/extensions/ublock/_locales/ml/messages.json +4 -0
- package/extensions/ublock/_locales/mr/messages.json +4 -0
- package/extensions/ublock/_locales/ms/messages.json +13 -9
- package/extensions/ublock/_locales/nb/messages.json +4 -0
- package/extensions/ublock/_locales/nl/messages.json +4 -0
- package/extensions/ublock/_locales/no/messages.json +4 -0
- package/extensions/ublock/_locales/oc/messages.json +4 -0
- package/extensions/ublock/_locales/pa/messages.json +4 -0
- package/extensions/ublock/_locales/pl/messages.json +5 -1
- package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
- package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
- package/extensions/ublock/_locales/ro/messages.json +5 -1
- package/extensions/ublock/_locales/ru/messages.json +4 -0
- package/extensions/ublock/_locales/si/messages.json +4 -0
- package/extensions/ublock/_locales/sk/messages.json +4 -0
- package/extensions/ublock/_locales/sl/messages.json +4 -0
- package/extensions/ublock/_locales/so/messages.json +4 -0
- package/extensions/ublock/_locales/sq/messages.json +4 -0
- package/extensions/ublock/_locales/sr/messages.json +4 -0
- package/extensions/ublock/_locales/sv/messages.json +4 -0
- package/extensions/ublock/_locales/sw/messages.json +4 -0
- package/extensions/ublock/_locales/ta/messages.json +4 -0
- package/extensions/ublock/_locales/te/messages.json +4 -0
- package/extensions/ublock/_locales/th/messages.json +12 -8
- package/extensions/ublock/_locales/tr/messages.json +4 -0
- package/extensions/ublock/_locales/uk/messages.json +4 -0
- package/extensions/ublock/_locales/ur/messages.json +4 -0
- package/extensions/ublock/_locales/vi/messages.json +4 -0
- package/extensions/ublock/_locales/zh_CN/messages.json +6 -2
- package/extensions/ublock/_locales/zh_TW/messages.json +6 -2
- package/extensions/ublock/assets/assets.json +11 -11
- package/extensions/ublock/assets/resources/scriptlets.js +660 -378
- package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +7173 -3455
- package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +18829 -1918
- package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +21 -26
- package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +118 -46
- package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +710 -1117
- package/extensions/ublock/assets/ublock/badlists.txt +0 -4
- package/extensions/ublock/assets/ublock/badware.min.txt +116 -105
- package/extensions/ublock/assets/ublock/filters.min.txt +1443 -1097
- package/extensions/ublock/assets/ublock/privacy.min.txt +50 -31
- package/extensions/ublock/assets/ublock/quick-fixes.min.txt +97 -108
- package/extensions/ublock/assets/ublock/unbreak.min.txt +64 -21
- package/extensions/ublock/css/1p-filters.css +4 -0
- package/extensions/ublock/css/3p-filters.css +6 -4
- package/extensions/ublock/css/common.css +1 -1
- package/extensions/ublock/css/fa-icons.css +1 -0
- package/extensions/ublock/css/logger-ui.css +72 -52
- package/extensions/ublock/css/popup-fenix.css +1 -1
- package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
- package/extensions/ublock/js/3p-filters.js +3 -3
- package/extensions/ublock/js/assets.js +7 -4
- package/extensions/ublock/js/background.js +1 -3
- package/extensions/ublock/js/benchmarks.js +1 -0
- package/extensions/ublock/js/broadcast.js +12 -0
- package/extensions/ublock/js/click2load.js +2 -3
- package/extensions/ublock/js/codemirror/ubo-static-filtering.js +1 -0
- package/extensions/ublock/js/commands.js +10 -0
- package/extensions/ublock/js/contentscript-extra.js +13 -11
- package/extensions/ublock/js/contentscript.js +0 -31
- package/extensions/ublock/js/contextmenu.js +5 -1
- package/extensions/ublock/js/dyna-rules.js +83 -52
- package/extensions/ublock/js/fa-icons.js +1 -0
- package/extensions/ublock/js/filtering-context.js +0 -2
- package/extensions/ublock/js/i18n.js +1 -5
- package/extensions/ublock/js/logger-ui.js +71 -38
- package/extensions/ublock/js/logger.js +18 -14
- package/extensions/ublock/js/messaging.js +17 -5
- package/extensions/ublock/js/popup-fenix.js +6 -6
- package/extensions/ublock/js/scriptlet-filtering-core.js +14 -12
- package/extensions/ublock/js/scriptlet-filtering.js +149 -53
- package/extensions/ublock/js/scriptlets/scriptlet-loglevel-1.js +49 -0
- package/extensions/ublock/js/scriptlets/scriptlet-loglevel-2.js +49 -0
- package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
- package/extensions/ublock/js/static-dnr-filtering.js +4 -2
- package/extensions/ublock/js/static-filtering-parser.js +14 -8
- package/extensions/ublock/js/static-net-filtering.js +32 -30
- package/extensions/ublock/js/storage.js +18 -4
- package/extensions/ublock/js/traffic.js +3 -3
- package/extensions/ublock/js/ublock.js +1 -1
- package/extensions/ublock/js/vapi-background.js +15 -7
- package/extensions/ublock/logger-ui.html +18 -10
- package/extensions/ublock/manifest.json +4 -1
- package/extensions/ublock/web_accessible_resources/chartbeat.js +3 -0
- package/package.json +12 -11
- package/scripts/build-function.js +1 -1
- package/scripts/build-open-api.js +3 -2
- package/scripts/clean.js +6 -1
- package/scripts/install-debugger.js +20 -0
- package/scripts/install-devtools.js +40 -0
- package/src/browserless.ts +11 -9
- package/src/browsers/chrome.cdp.ts +10 -0
- package/src/browsers/chrome.playwright.ts +10 -0
- package/src/browsers/{cdp-chromium.ts → chromium.cdp.ts} +20 -13
- package/src/browsers/{playwright-chromium.ts → chromium.playwright.ts} +7 -6
- package/src/browsers/{playwright-firefox.ts → firefox.playwright.ts} +5 -5
- package/src/browsers/index.ts +160 -23
- package/src/browsers/{playwright-webkit.ts → webkit.playwright.ts} +5 -5
- package/src/exports.ts +6 -4
- package/src/hooks.ts +4 -12
- package/src/http.ts +21 -0
- package/src/router.ts +21 -5
- package/src/routes/chrome/http/content.post.ts +14 -0
- package/src/routes/chrome/http/download.post.ts +14 -0
- package/src/routes/chrome/http/function.post.ts +14 -0
- package/src/routes/chrome/http/json-list.get.ts +1 -0
- package/src/routes/chrome/http/json-new.put.ts +1 -0
- package/src/routes/chrome/http/json-protocol.get.ts +1 -0
- package/src/routes/chrome/http/json-version.get.ts +1 -0
- package/src/routes/chrome/http/pdf.post.ts +14 -0
- package/src/routes/chrome/http/performance.post.ts +14 -0
- package/src/routes/chrome/http/scrape.post.ts +14 -0
- package/src/routes/chrome/http/screenshot.post.ts +14 -0
- package/src/routes/chrome/tests/content.spec.ts +375 -0
- package/src/routes/chrome/tests/download.spec.ts +77 -0
- package/src/routes/chrome/tests/function.spec.ts +282 -0
- package/src/routes/chrome/tests/json-version.spec.ts +52 -0
- package/src/routes/chrome/tests/page-websocket.spec.ts +129 -0
- package/src/routes/chrome/tests/pdf.spec.ts +380 -0
- package/src/routes/chrome/tests/performance.spec.ts +155 -0
- package/src/routes/chrome/tests/scrape.spec.ts +417 -0
- package/src/routes/chrome/tests/screenshot.spec.ts +387 -0
- package/src/routes/chrome/tests/websocket.spec.ts +491 -0
- package/src/routes/chrome/ws/browser.ts +8 -0
- package/src/routes/chrome/ws/cdp.ts +12 -0
- package/src/routes/chrome/ws/page.ts +8 -0
- package/src/routes/chrome/ws/playwright.ts +12 -0
- package/src/routes/chromium/http/content.post.ts +6 -0
- package/src/routes/chromium/http/download.post.ts +6 -0
- package/src/routes/chromium/http/function.post.ts +6 -0
- package/src/routes/chromium/http/json-list.get.ts +1 -0
- package/src/routes/chromium/http/json-new.put.ts +1 -0
- package/src/routes/chromium/http/json-protocol.get.ts +1 -0
- package/src/routes/chromium/http/json-version.get.ts +1 -0
- package/src/routes/chromium/http/pdf.post.ts +6 -0
- package/src/routes/chromium/http/performance.post.ts +6 -0
- package/src/routes/chromium/http/scrape.post.ts +6 -0
- package/src/routes/chromium/http/screenshot.post.ts +6 -0
- package/src/routes/chromium/tests/content.spec.ts +36 -28
- package/src/routes/chromium/tests/download.spec.ts +3 -3
- package/src/routes/chromium/tests/function.spec.ts +18 -15
- package/src/routes/chromium/tests/page-websocket.spec.ts +129 -0
- package/src/routes/chromium/tests/pdf.spec.ts +31 -26
- package/src/routes/chromium/tests/performance.spec.ts +46 -34
- package/src/routes/chromium/tests/scrape.spec.ts +23 -20
- package/src/routes/chromium/tests/screenshot.spec.ts +24 -24
- package/src/routes/chromium/tests/websocket.spec.ts +31 -40
- package/src/routes/chromium/ws/browser.ts +1 -29
- package/src/routes/chromium/ws/cdp.ts +1 -0
- package/src/routes/chromium/ws/page.ts +1 -29
- package/src/routes/chromium/ws/playwright.ts +4 -0
- package/src/routes/firefox/ws/{playwright-firefox.ts → playwright.ts} +5 -5
- package/src/routes/management/http/{static-get.ts → static.get.ts} +2 -2
- package/src/routes/webkit/ws/{playwright-webkit.ts → playwright.ts} +5 -5
- package/src/shared/browser.ws.ts +34 -0
- package/src/{routes/chromium/ws/playwright-chromium.ts → shared/chromium.playwright.ws.ts} +7 -4
- package/src/{routes/chromium/ws/cdp-chromium.ts → shared/chromium.ws.ts} +6 -6
- package/src/{routes/chromium/http/content-post.ts → shared/content.http.ts} +4 -4
- package/src/{routes/chromium/http/download-post.ts → shared/download.http.ts} +4 -4
- package/src/{routes/chromium/http/function-post.ts → shared/function.http.ts} +4 -4
- package/src/shared/json-list.http.ts +35 -0
- package/src/{routes/chromium/http/json-new.ts → shared/json-new.http.ts} +23 -7
- package/src/{routes/chromium/http/json-protocol-get.ts → shared/json-protocol.http.ts} +3 -5
- package/src/{routes/chromium/http/json-version-get.ts → shared/json-version.http.ts} +4 -5
- package/src/shared/page.ws.ts +35 -0
- package/src/{routes/chromium/http/pdf-post.ts → shared/pdf.http.ts} +4 -4
- package/src/{routes/chromium/http/performance.ts → shared/performance.http.ts} +4 -4
- package/src/{routes/chromium/http/scrape-post.ts → shared/scrape.http.ts} +4 -4
- package/src/{routes/chromium/http/screenshot-post.ts → shared/screenshot.http.ts} +4 -4
- package/src/{routes/chromium → shared}/utils/function/handler.ts +2 -2
- package/src/{routes/chromium → shared}/utils/performance/main.ts +1 -2
- package/src/shim.ts +2 -1
- package/src/types.ts +27 -20
- package/src/utils.ts +32 -14
- package/static/devtools/Images/accelerometer-back.svg +1 -0
- package/static/devtools/Images/accelerometer-bottom.png +0 -0
- package/static/devtools/Images/accelerometer-front.svg +1 -0
- package/static/devtools/Images/accelerometer-left.png +0 -0
- package/static/devtools/Images/accelerometer-right.png +0 -0
- package/static/devtools/Images/accelerometer-top.png +0 -0
- package/static/devtools/Images/baseline-icon.svg +1 -0
- package/static/devtools/Images/breaking_change_icon.svg +1 -0
- package/static/devtools/Images/checkboxCheckmark.svg +1 -0
- package/static/devtools/Images/checker.png +0 -0
- package/static/devtools/Images/chevrons.svg +1 -0
- package/static/devtools/Images/chromeDisabledSelect.png +0 -0
- package/static/devtools/Images/chromeDisabledSelect_2x.png +0 -0
- package/static/devtools/Images/chromeLeft.avif +0 -0
- package/static/devtools/Images/chromeMiddle.avif +0 -0
- package/static/devtools/Images/chromeRight.avif +0 -0
- package/static/devtools/Images/chromeSelect.svg +1 -0
- package/static/devtools/Images/chromeSelectDark.svg +1 -0
- package/static/devtools/Images/cssoverview_icons_2x.avif +0 -0
- package/static/devtools/Images/dropdown_7x6_icon.svg +1 -0
- package/static/devtools/Images/elements_panel_icon.svg +1 -0
- package/static/devtools/Images/errorWave.svg +1 -0
- package/static/devtools/Images/error_icon.svg +1 -0
- package/static/devtools/Images/feedback_thin_16x16_icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-around-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-between-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-evenly-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-direction-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-center-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-around-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-between-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-evenly-icon.svg +1 -0
- package/static/devtools/Images/ic_checkmark_16x16.svg +3 -0
- package/static/devtools/Images/ic_delete_filter.svg +1 -0
- package/static/devtools/Images/ic_delete_list.svg +1 -0
- package/static/devtools/Images/ic_info_black_18dp.svg +1 -0
- package/static/devtools/Images/ic_page_next_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_page_prev_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_redo_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_show_node_16x16.svg +4 -0
- package/static/devtools/Images/ic_suggest_color.svg +6 -0
- package/static/devtools/Images/ic_undo_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_warning_black_18dp.svg +1 -0
- package/static/devtools/Images/issue-text-icon.svg +1 -0
- package/static/devtools/Images/largeIcons.svg +1 -0
- package/static/devtools/Images/lighthouse_logo.svg +1 -0
- package/static/devtools/Images/link_icon.svg +1 -0
- package/static/devtools/Images/mediumIcons.svg +1 -0
- package/static/devtools/Images/navigationControls.png +0 -0
- package/static/devtools/Images/navigationControls_2x.png +0 -0
- package/static/devtools/Images/network_panel_icon.svg +1 -0
- package/static/devtools/Images/nodeIcon.avif +0 -0
- package/static/devtools/Images/node_search_icon.svg +1 -0
- package/static/devtools/Images/popoverArrows.png +0 -0
- package/static/devtools/Images/profileGroupIcon.png +0 -0
- package/static/devtools/Images/profileIcon.png +0 -0
- package/static/devtools/Images/profileSmallIcon.png +0 -0
- package/static/devtools/Images/radioDot-dark-theme.png +0 -0
- package/static/devtools/Images/radioDot.png +0 -0
- package/static/devtools/Images/refresh_12x12_icon.svg +1 -0
- package/static/devtools/Images/resizeDiagonal.svg +1 -0
- package/static/devtools/Images/resizeHorizontal.svg +1 -0
- package/static/devtools/Images/resizeVertical.svg +1 -0
- package/static/devtools/Images/resourceCSSIcon.png +0 -0
- package/static/devtools/Images/resourceDocumentIcon.png +0 -0
- package/static/devtools/Images/resourceDocumentIconSmall.png +0 -0
- package/static/devtools/Images/resourceJSIcon.png +0 -0
- package/static/devtools/Images/resourcePlainIcon.png +0 -0
- package/static/devtools/Images/resourcePlainIconSmall.png +0 -0
- package/static/devtools/Images/resourcesTimeGraphIcon.avif +0 -0
- package/static/devtools/Images/searchNext.png +0 -0
- package/static/devtools/Images/searchPrev.png +0 -0
- package/static/devtools/Images/securityIcons.svg +1 -0
- package/static/devtools/Images/settings_14x14_icon.svg +1 -0
- package/static/devtools/Images/smallIcons.svg +1 -0
- package/static/devtools/Images/sources_panel_icon.svg +1 -0
- package/static/devtools/Images/speech.png +0 -0
- package/static/devtools/Images/toolbarResizerVertical.png +0 -0
- package/static/devtools/Images/touchCursor.png +0 -0
- package/static/devtools/Images/touchCursor_2x.png +0 -0
- package/static/devtools/Images/treeoutlineTriangles.svg +1 -0
- package/static/devtools/Images/warning_icon.svg +1 -0
- package/static/devtools/Images/whatsnew.avif +0 -0
- package/static/devtools/Tests.js +1654 -0
- package/static/devtools/accessibility/accessibility-legacy.js +1 -0
- package/static/devtools/accessibility/accessibility-meta.js +1 -0
- package/static/devtools/accessibility/accessibility.js +1 -0
- package/static/devtools/accessibility/accessibility_module.js +1 -0
- package/static/devtools/accessibility_test_runner/accessibility_test_runner.js +77 -0
- package/static/devtools/accessibility_test_runner/accessibility_test_runner_module.js +0 -0
- package/static/devtools/animation/animation-legacy.js +1 -0
- package/static/devtools/animation/animation-meta.js +1 -0
- package/static/devtools/animation/animation.js +1 -0
- package/static/devtools/animation/animation_module.js +1 -0
- package/static/devtools/application_test_runner/AppcacheTestRunner.js +220 -0
- package/static/devtools/application_test_runner/CacheStorageTestRunner.js +286 -0
- package/static/devtools/application_test_runner/IndexedDBTestRunner.js +476 -0
- package/static/devtools/application_test_runner/ResourceTreeTestRunner.js +99 -0
- package/static/devtools/application_test_runner/ResourcesTestRunner.js +167 -0
- package/static/devtools/application_test_runner/ServiceWorkersTestRunner.js +131 -0
- package/static/devtools/application_test_runner/application_test_runner.js +10 -0
- package/static/devtools/application_test_runner/application_test_runner_module.js +0 -0
- package/static/devtools/axe_core_test_runner/axe_core_test_runner.js +174 -0
- package/static/devtools/axe_core_test_runner/axe_core_test_runner_module.js +0 -0
- package/static/devtools/bindings/bindings-legacy.js +1 -0
- package/static/devtools/bindings/bindings.js +1 -0
- package/static/devtools/bindings_test_runner/AutomappingTestRunner.js +130 -0
- package/static/devtools/bindings_test_runner/BindingsTestRunner.js +238 -0
- package/static/devtools/bindings_test_runner/IsolatedFilesystemTestRunner.js +287 -0
- package/static/devtools/bindings_test_runner/OverridesTestRunner.js +26 -0
- package/static/devtools/bindings_test_runner/PersistenceTestRunner.js +109 -0
- package/static/devtools/bindings_test_runner/bindings_test_runner.js +9 -0
- package/static/devtools/bindings_test_runner/bindings_test_runner_module.js +0 -0
- package/static/devtools/browser_debugger/browser_debugger-legacy.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger-meta.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger_module.js +1 -0
- package/static/devtools/browser_sdk/browser_sdk-meta.js +1 -0
- package/static/devtools/browser_sdk/browser_sdk.js +1 -0
- package/static/devtools/changes/changes-legacy.js +1 -0
- package/static/devtools/changes/changes-meta.js +1 -0
- package/static/devtools/changes/changes.js +1 -0
- package/static/devtools/changes/changes_module.js +1 -0
- package/static/devtools/client_variations/client_variations.js +1 -0
- package/static/devtools/client_variations/client_variations_module.js +0 -0
- package/static/devtools/cm/cm.js +1 -0
- package/static/devtools/cm/cm_module.js +1 -0
- package/static/devtools/cm_headless/cm_headless.js +1 -0
- package/static/devtools/color_picker/color_picker-legacy.js +1 -0
- package/static/devtools/color_picker/color_picker.js +1 -0
- package/static/devtools/color_picker/color_picker_module.js +1 -0
- package/static/devtools/common/common-legacy.js +1 -0
- package/static/devtools/common/common.js +1 -0
- package/static/devtools/component_helpers/component_helpers.js +1 -0
- package/static/devtools/components/components-legacy.js +1 -0
- package/static/devtools/components/components.js +1 -0
- package/static/devtools/console/console-legacy.js +1 -0
- package/static/devtools/console/console-meta.js +1 -0
- package/static/devtools/console/console.js +6 -0
- package/static/devtools/console/console_module.js +1 -0
- package/static/devtools/console_counters/console_counters-legacy.js +1 -0
- package/static/devtools/console_counters/console_counters.js +1 -0
- package/static/devtools/console_test_runner/console_test_runner.js +696 -0
- package/static/devtools/console_test_runner/console_test_runner_module.js +0 -0
- package/static/devtools/cookie_table/cookie_table-legacy.js +1 -0
- package/static/devtools/cookie_table/cookie_table.js +1 -0
- package/static/devtools/cookie_table/cookie_table_module.js +1 -0
- package/static/devtools/coverage/coverage-legacy.js +1 -0
- package/static/devtools/coverage/coverage-meta.js +1 -0
- package/static/devtools/coverage/coverage.js +1 -0
- package/static/devtools/coverage/coverage_module.js +1 -0
- package/static/devtools/coverage_test_runner/coverage_test_runner.js +151 -0
- package/static/devtools/coverage_test_runner/coverage_test_runner_module.js +0 -0
- package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner.js +72 -0
- package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +0 -0
- package/static/devtools/css_overview/css_overview-meta.js +1 -0
- package/static/devtools/css_overview/css_overview.js +146 -0
- package/static/devtools/css_overview/css_overview_module.js +1 -0
- package/static/devtools/data_grid/data_grid-legacy.js +1 -0
- package/static/devtools/data_grid/data_grid.js +1 -0
- package/static/devtools/data_grid/data_grid_module.js +1 -0
- package/static/devtools/data_grid_test_runner/data_grid_test_runner.js +78 -0
- package/static/devtools/data_grid_test_runner/data_grid_test_runner_module.js +0 -0
- package/static/devtools/developer_resources/developer_resources-legacy.js +1 -0
- package/static/devtools/developer_resources/developer_resources-meta.js +1 -0
- package/static/devtools/developer_resources/developer_resources.js +1 -0
- package/static/devtools/developer_resources/developer_resources_module.js +1 -0
- package/static/devtools/device_mode_test_runner/device_mode_test_runner.js +45 -0
- package/static/devtools/device_mode_test_runner/device_mode_test_runner_module.js +0 -0
- package/static/devtools/devtools_app.html +20 -0
- package/static/devtools/devtools_app.js +1 -0
- package/static/devtools/devtools_compatibility.js +1546 -0
- package/static/devtools/diff/diff-legacy.js +1 -0
- package/static/devtools/diff/diff.js +1 -0
- package/static/devtools/diff/diff_module.js +0 -0
- package/static/devtools/dom_extension/dom_extension.js +1 -0
- package/static/devtools/elements/elements-legacy.js +1 -0
- package/static/devtools/elements/elements-meta.js +1 -0
- package/static/devtools/elements/elements.js +469 -0
- package/static/devtools/elements/elements_module.js +1 -0
- package/static/devtools/elements_test_runner/EditDOMTestRunner.js +78 -0
- package/static/devtools/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +39 -0
- package/static/devtools/elements_test_runner/ElementsTestRunner.js +1280 -0
- package/static/devtools/elements_test_runner/SetOuterHTMLTestRunner.js +115 -0
- package/static/devtools/elements_test_runner/StylesUpdateLinksTestRunner.js +134 -0
- package/static/devtools/elements_test_runner/elements_test_runner.js +9 -0
- package/static/devtools/elements_test_runner/elements_test_runner_module.js +0 -0
- package/static/devtools/emulated_devices/emulated_devices_module.js +0 -0
- package/static/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/static/devtools/emulation/emulation-legacy.js +1 -0
- package/static/devtools/emulation/emulation-meta.js +1 -0
- package/static/devtools/emulation/emulation.js +1 -0
- package/static/devtools/event_listeners/event_listeners-legacy.js +1 -0
- package/static/devtools/event_listeners/event_listeners.js +1 -0
- package/static/devtools/event_listeners/event_listeners_module.js +1 -0
- package/static/devtools/extensions/extensions-legacy.js +1 -0
- package/static/devtools/extensions/extensions.js +1 -0
- package/static/devtools/extensions_test_runner/ExtensionsNetworkTestRunner.js +27 -0
- package/static/devtools/extensions_test_runner/ExtensionsTestRunner.js +68 -0
- package/static/devtools/extensions_test_runner/extensions_test_runner.js +6 -0
- package/static/devtools/extensions_test_runner/extensions_test_runner_module.js +0 -0
- package/static/devtools/formatter/formatter-legacy.js +1 -0
- package/static/devtools/formatter/formatter.js +1 -0
- package/static/devtools/formatter/formatter_module.js +0 -0
- package/static/devtools/formatter_worker/FormatterActions.js +1 -0
- package/static/devtools/formatter_worker/formatter_worker-entrypoint.js +1 -0
- package/static/devtools/formatter_worker/formatter_worker.js +1 -0
- package/static/devtools/har_importer/har_importer-legacy.js +1 -0
- package/static/devtools/har_importer/har_importer.js +1 -0
- package/static/devtools/har_importer/har_importer_module.js +0 -0
- package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner.js +740 -0
- package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner_module.js +0 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model.js +1 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model_module.js +0 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker_module.js +0 -0
- package/static/devtools/help/help-legacy.js +1 -0
- package/static/devtools/help/help-meta.js +1 -0
- package/static/devtools/help/help.js +1 -0
- package/static/devtools/help/help_module.js +1 -0
- package/static/devtools/host/host-legacy.js +1 -0
- package/static/devtools/host/host.js +1 -0
- package/static/devtools/i18n/i18n.js +1 -0
- package/static/devtools/i18n/i18n_locales-tsconfig.json +8 -0
- package/static/devtools/i18n/locales/en-US.json +3566 -0
- package/static/devtools/inline_editor/inline_editor-legacy.js +1 -0
- package/static/devtools/inline_editor/inline_editor.js +203 -0
- package/static/devtools/inline_editor/inline_editor_module.js +1 -0
- package/static/devtools/input/input-legacy.js +1 -0
- package/static/devtools/input/input-meta.js +1 -0
- package/static/devtools/input/input.js +1 -0
- package/static/devtools/input/input_module.js +1 -0
- package/static/devtools/inspector.html +20 -0
- package/static/devtools/inspector.js +1 -0
- package/static/devtools/inspector_main/inspector_main-legacy.js +1 -0
- package/static/devtools/inspector_main/inspector_main-meta.js +1 -0
- package/static/devtools/inspector_main/inspector_main.js +1 -0
- package/static/devtools/integration_test_runner.html +14 -0
- package/static/devtools/integration_test_runner.js +2 -0
- package/static/devtools/issues/issues-legacy.js +1 -0
- package/static/devtools/issues/issues-meta.js +1 -0
- package/static/devtools/issues/issues.js +67 -0
- package/static/devtools/issues/issues_module.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata-legacy.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata_module.js +0 -0
- package/static/devtools/js_app.html +20 -0
- package/static/devtools/js_app.js +1 -0
- package/static/devtools/js_main/js_main-legacy.js +1 -0
- package/static/devtools/js_main/js_main.js +1 -0
- package/static/devtools/js_profiler/js_profiler-meta.js +1 -0
- package/static/devtools/js_profiler/js_profiler.js +1 -0
- package/static/devtools/js_profiler/js_profiler_module.js +0 -0
- package/static/devtools/layer_viewer/layer_viewer-legacy.js +1 -0
- package/static/devtools/layer_viewer/layer_viewer.js +1 -0
- package/static/devtools/layer_viewer/layer_viewer_module.js +1 -0
- package/static/devtools/layers/layers-legacy.js +1 -0
- package/static/devtools/layers/layers-meta.js +1 -0
- package/static/devtools/layers/layers.js +1 -0
- package/static/devtools/layers/layers_module.js +0 -0
- package/static/devtools/layers_test_runner/layers_test_runner.js +156 -0
- package/static/devtools/layers_test_runner/layers_test_runner_module.js +0 -0
- package/static/devtools/lighthouse/lighthouse-legacy.js +1 -0
- package/static/devtools/lighthouse/lighthouse-meta.js +1 -0
- package/static/devtools/lighthouse/lighthouse.js +70 -0
- package/static/devtools/lighthouse/lighthouse_module.js +1 -0
- package/static/devtools/lighthouse_test_runner/lighthouse_test_runner.js +136 -0
- package/static/devtools/lighthouse_test_runner/lighthouse_test_runner_module.js +0 -0
- package/static/devtools/lighthouse_worker/LighthouseService.js +195 -0
- package/static/devtools/lighthouse_worker/lighthouse_worker.js +6 -0
- package/static/devtools/lighthouse_worker.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector-legacy.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector.js +399 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector_module.js +0 -0
- package/static/devtools/main/main-legacy.js +1 -0
- package/static/devtools/main/main.js +1 -0
- package/static/devtools/media/media-legacy.js +1 -0
- package/static/devtools/media/media-meta.js +1 -0
- package/static/devtools/media/media.js +1 -0
- package/static/devtools/media/media_module.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling-legacy.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling-meta.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling.js +1 -0
- package/static/devtools/ndb_app.html +20 -0
- package/static/devtools/ndb_app.js +1 -0
- package/static/devtools/network/network-legacy.js +1 -0
- package/static/devtools/network/network-meta.js +1 -0
- package/static/devtools/network/network.js +72 -0
- package/static/devtools/network/network_module.js +1 -0
- package/static/devtools/network_test_runner/network_test_runner.js +280 -0
- package/static/devtools/network_test_runner/network_test_runner_module.js +0 -0
- package/static/devtools/node_app.html +20 -0
- package/static/devtools/node_app.js +1 -0
- package/static/devtools/node_debugger/node_debugger-meta.js +1 -0
- package/static/devtools/node_debugger/node_debugger.js +1 -0
- package/static/devtools/node_debugger/node_debugger_module.js +0 -0
- package/static/devtools/node_main/node_main-legacy.js +1 -0
- package/static/devtools/node_main/node_main-meta.js +1 -0
- package/static/devtools/node_main/node_main.js +1 -0
- package/static/devtools/object_ui/object_ui-legacy.js +1 -0
- package/static/devtools/object_ui/object_ui.js +3 -0
- package/static/devtools/object_ui/object_ui_module.js +1 -0
- package/static/devtools/perf_ui/perf_ui-legacy.js +1 -0
- package/static/devtools/perf_ui/perf_ui.js +152 -0
- package/static/devtools/perf_ui/perf_ui_module.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor-legacy.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor-meta.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor_module.js +1 -0
- package/static/devtools/performance_test_runner/TimelineDataTestRunner.js +5375 -0
- package/static/devtools/performance_test_runner/TimelineTestRunner.js +446 -0
- package/static/devtools/performance_test_runner/performance_test_runner.js +6 -0
- package/static/devtools/performance_test_runner/performance_test_runner_module.js +0 -0
- package/static/devtools/persistence/persistence-legacy.js +1 -0
- package/static/devtools/persistence/persistence-meta.js +1 -0
- package/static/devtools/persistence/persistence.js +1 -0
- package/static/devtools/platform/platform.js +1 -0
- package/static/devtools/profiler/profiler-legacy.js +1 -0
- package/static/devtools/profiler/profiler-meta.js +1 -0
- package/static/devtools/profiler/profiler.js +8 -0
- package/static/devtools/profiler/profiler_module.js +1 -0
- package/static/devtools/protocol_client/protocol_client-legacy.js +1 -0
- package/static/devtools/protocol_client/protocol_client.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor-legacy.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor-meta.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor_module.js +1 -0
- package/static/devtools/quick_open/quick_open-legacy.js +1 -0
- package/static/devtools/quick_open/quick_open.js +1 -0
- package/static/devtools/quick_open/quick_open_module.js +1 -0
- package/static/devtools/recorder/recorder.js +1 -0
- package/static/devtools/resources/resources-legacy.js +1 -0
- package/static/devtools/resources/resources-meta.js +1 -0
- package/static/devtools/resources/resources.js +28 -0
- package/static/devtools/resources/resources_module.js +1 -0
- package/static/devtools/root/root-legacy.js +1 -0
- package/static/devtools/root/root.js +1 -0
- package/static/devtools/screencast/screencast-legacy.js +1 -0
- package/static/devtools/screencast/screencast.js +1 -0
- package/static/devtools/sdk/sdk-legacy.js +1 -0
- package/static/devtools/sdk/sdk.js +2 -0
- package/static/devtools/sdk_test_runner/sdk_test_runner.js +297 -0
- package/static/devtools/sdk_test_runner/sdk_test_runner_module.js +0 -0
- package/static/devtools/search/search-legacy.js +1 -0
- package/static/devtools/search/search.js +1 -0
- package/static/devtools/search/search_module.js +1 -0
- package/static/devtools/security/security-legacy.js +1 -0
- package/static/devtools/security/security-meta.js +1 -0
- package/static/devtools/security/security.js +1 -0
- package/static/devtools/security/security_module.js +1 -0
- package/static/devtools/security_test_runner/security_test_runner.js +32 -0
- package/static/devtools/security_test_runner/security_test_runner_module.js +0 -0
- package/static/devtools/services/services-legacy.js +1 -0
- package/static/devtools/services/services.js +1 -0
- package/static/devtools/settings/settings-legacy.js +1 -0
- package/static/devtools/settings/settings-meta.js +1 -0
- package/static/devtools/settings/settings.js +1 -0
- package/static/devtools/settings/settings_module.js +1 -0
- package/static/devtools/shell.js +1 -0
- package/static/devtools/snippets/snippets-legacy.js +1 -0
- package/static/devtools/snippets/snippets.js +1 -0
- package/static/devtools/snippets/snippets_module.js +0 -0
- package/static/devtools/source_frame/source_frame-legacy.js +1 -0
- package/static/devtools/source_frame/source_frame.js +1 -0
- package/static/devtools/source_frame/source_frame_module.js +1 -0
- package/static/devtools/sources/sources-legacy.js +1 -0
- package/static/devtools/sources/sources-meta.js +1 -0
- package/static/devtools/sources/sources.js +13 -0
- package/static/devtools/sources/sources_module.js +1 -0
- package/static/devtools/sources_test_runner/AutocompleteTestRunner.js +46 -0
- package/static/devtools/sources_test_runner/DebuggerTestRunner.js +895 -0
- package/static/devtools/sources_test_runner/EditorTestRunner.js +237 -0
- package/static/devtools/sources_test_runner/LiveEditTestRunner.js +33 -0
- package/static/devtools/sources_test_runner/SearchTestRunner.js +158 -0
- package/static/devtools/sources_test_runner/SourcesTestRunner.js +173 -0
- package/static/devtools/sources_test_runner/sources_test_runner.js +10 -0
- package/static/devtools/sources_test_runner/sources_test_runner_module.js +0 -0
- package/static/devtools/startup/startup.js +1 -0
- package/static/devtools/test_runner/test_runner.js +1 -0
- package/static/devtools/text_editor/text_editor-legacy.js +1 -0
- package/static/devtools/text_editor/text_editor.js +1 -0
- package/static/devtools/text_editor/text_editor_module.js +1 -0
- package/static/devtools/text_utils/text_utils-legacy.js +1 -0
- package/static/devtools/text_utils/text_utils.js +1 -0
- package/static/devtools/theme_support/theme_support.js +1 -0
- package/static/devtools/third_party/acorn/acorn-tsconfig.json +8 -0
- package/static/devtools/third_party/acorn/acorn.js +1 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.d.ts +209 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs +5261 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs.d.ts +2 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs.map +1 -0
- package/static/devtools/third_party/acorn-loose/acorn-loose-tsconfig.json +8 -0
- package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.d.ts +16 -0
- package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.mjs +1418 -0
- package/static/devtools/third_party/axe-core/axe.js +16423 -0
- package/static/devtools/third_party/chromium/chromium-tsconfig.json +8 -0
- package/static/devtools/third_party/chromium/client-variations/ClientVariations.d.ts +13 -0
- package/static/devtools/third_party/chromium/client-variations/ClientVariations.js +27 -0
- package/static/devtools/third_party/codemirror/codemirror-tsconfig.json +72 -0
- package/static/devtools/third_party/codemirror/package/addon/comment/comment.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/addon/comment/comment.js +211 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.js +201 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.js +158 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.js +105 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.js +157 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.js +163 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.js +131 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/overlay.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/overlay.js +90 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/simple.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/simple.js +216 -0
- package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.js +333 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/active-line.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/active-line.js +72 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.js +119 -0
- package/static/devtools/third_party/codemirror/package/lib/codemirror.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/lib/codemirror.js +9800 -0
- package/static/devtools/third_party/codemirror/package/mode/clike/clike.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/clike/clike.js +935 -0
- package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.js +292 -0
- package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.js +359 -0
- package/static/devtools/third_party/codemirror/package/mode/css/css.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/css/css.js +864 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.js +37 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.js +153 -0
- package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.js +942 -0
- package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.js +148 -0
- package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.js +280 -0
- package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.js +886 -0
- package/static/devtools/third_party/codemirror/package/mode/php/php.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/php/php.js +234 -0
- package/static/devtools/third_party/codemirror/package/mode/python/python.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/python/python.js +399 -0
- package/static/devtools/third_party/codemirror/package/mode/shell/shell.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/shell/shell.js +168 -0
- package/static/devtools/third_party/codemirror/package/mode/wast/wast.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/wast/wast.js +41 -0
- package/static/devtools/third_party/codemirror/package/mode/xml/xml.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/xml/xml.js +413 -0
- package/static/devtools/third_party/i18n/bundle-tsconfig.json +8 -0
- package/static/devtools/third_party/i18n/i18n.d.ts +108 -0
- package/static/devtools/third_party/i18n/i18n.js +4336 -0
- package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.js +1140 -0
- package/static/devtools/third_party/lighthouse/lighthouse-tsconfig.json +10 -0
- package/static/devtools/third_party/lighthouse/locales/ar-XB.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ar.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/bg.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ca.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/cs.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/da.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/de.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/el.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-GB.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-US.json +2297 -0
- package/static/devtools/third_party/lighthouse/locales/en-XA.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-XL.json +2297 -0
- package/static/devtools/third_party/lighthouse/locales/es-419.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/es.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fil.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/he.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hu.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/id.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/it.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ja.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ko.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/lt.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/lv.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/nl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/no.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pt-PT.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pt.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ro.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ru.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sk.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sr-Latn.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sv.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ta.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/te.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/th.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/tr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/uk.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/vi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh-HK.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh-TW.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh.json +2066 -0
- package/static/devtools/third_party/lighthouse/report-assets/report-generator.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/report-assets/report-generator.js +167 -0
- package/static/devtools/third_party/lighthouse/report-assets/report.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/report-assets/report.js +5032 -0
- package/static/devtools/third_party/lit-html/lit-html-tsconfig.json +22 -0
- package/static/devtools/third_party/lit-html/lit-html.js +120 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.d.ts +28 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.js +101 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.d.ts +22 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.js +37 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/live.d.ts +38 -0
- package/static/devtools/third_party/lit-html/package/directives/live.js +73 -0
- package/static/devtools/third_party/lit-html/package/directives/live.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.d.ts +37 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.js +415 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.d.ts +36 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.js +78 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.d.ts +39 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js +52 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.d.ts +59 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.js +63 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.d.ts +29 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.js +44 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/part.d.ts +46 -0
- package/static/devtools/third_party/lit-html/package/lib/part.js +23 -0
- package/static/devtools/third_party/lit-html/package/lib/part.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.d.ts +148 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.js +476 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/render.d.ts +33 -0
- package/static/devtools/third_party/lit-html/package/lib/render.js +43 -0
- package/static/devtools/third_party/lit-html/package/lib/render.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.d.ts +57 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.js +48 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.d.ts +30 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.js +134 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.d.ts +42 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.js +131 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template.d.ts +92 -0
- package/static/devtools/third_party/lit-html/package/lib/template.js +215 -0
- package/static/devtools/third_party/lit-html/package/lib/template.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lit-html.d.ts +42 -0
- package/static/devtools/third_party/lit-html/package/lit-html.js +59 -0
- package/static/devtools/third_party/lit-html/package/lit-html.js.map +1 -0
- package/static/devtools/third_party/marked/marked-tsconfig.json +8 -0
- package/static/devtools/third_party/marked/marked.js +1 -0
- package/static/devtools/third_party/marked/package/lib/marked.esm.d.ts +1 -0
- package/static/devtools/third_party/marked/package/lib/marked.esm.js +2584 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +53 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js +64 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +176 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +356 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +21 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +423 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +516 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +39 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +76 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +26 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +120 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +266 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +60 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +181 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +316 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +174 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +647 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +53 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +77 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +33 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +873 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +76 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +92 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +25 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +33 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +34 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +37 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +59 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +89 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +109 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +82 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +83 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +189 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +313 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +60 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +735 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +962 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +276 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +421 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +128 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +150 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +322 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +463 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +439 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +724 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +62 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +80 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +262 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +152 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +31 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +910 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1343 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts +21 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +135 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +133 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +24 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.js +0 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +157 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +61 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +72 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +98 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +137 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +28 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +43 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +47 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +94 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +40 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +102 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +109 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +24 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +17 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +20 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +288 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +17 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +16 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +39 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +132 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +468 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +197 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +42 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +0 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +16 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +469 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +29 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +34 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +31 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +61 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +156 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +183 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +151 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +23 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +19 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +53 -0
- package/static/devtools/third_party/puppeteer/puppeteer-tsconfig.json +58 -0
- package/static/devtools/third_party/puppeteer/puppeteer.js +1 -0
- package/static/devtools/third_party/wasmparser/package/dist/esm/WasmDis.js +1595 -0
- package/static/devtools/third_party/wasmparser/package/dist/esm/WasmParser.js +3120 -0
- package/static/devtools/third_party/wasmparser/wasmparser-tsconfig.json +9 -0
- package/static/devtools/timeline/timeline-legacy.js +1 -0
- package/static/devtools/timeline/timeline-meta.js +1 -0
- package/static/devtools/timeline/timeline.js +1 -0
- package/static/devtools/timeline/timeline_module.js +1 -0
- package/static/devtools/timeline_model/timeline_model-legacy.js +1 -0
- package/static/devtools/timeline_model/timeline_model.js +1 -0
- package/static/devtools/timeline_model/timeline_model_module.js +0 -0
- package/static/devtools/toolbox.html +20 -0
- package/static/devtools/toolbox.js +1 -0
- package/static/devtools/toolbox_bootstrap/toolbox_bootstrap.js +1 -0
- package/static/devtools/ui/components/components.js +378 -0
- package/static/devtools/ui/ui-legacy.js +1 -0
- package/static/devtools/ui/ui.js +3 -0
- package/static/devtools/ui/utils/utils.js +1 -0
- package/static/devtools/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
- package/static/devtools/wasmparser_worker/wasmparser_worker.js +1 -0
- package/static/devtools/web_audio/graph_visualizer/graph_visualizer.js +1 -0
- package/static/devtools/web_audio/web_audio-legacy.js +1 -0
- package/static/devtools/web_audio/web_audio-meta.js +1 -0
- package/static/devtools/web_audio/web_audio.js +23 -0
- package/static/devtools/web_audio/web_audio_module.js +1 -0
- package/static/devtools/webauthn/webauthn-legacy.js +1 -0
- package/static/devtools/webauthn/webauthn-meta.js +1 -0
- package/static/devtools/webauthn/webauthn.js +6 -0
- package/static/devtools/webauthn/webauthn_module.js +1 -0
- package/static/devtools/worker_app.html +20 -0
- package/static/devtools/worker_app.js +1 -0
- package/static/devtools/worker_main/worker_main-legacy.js +1 -0
- package/static/devtools/worker_main/worker_main.js +1 -0
- package/static/devtools/worker_service/worker_service.js +1 -0
- package/static/devtools/workspace/workspace-legacy.js +1 -0
- package/static/devtools/workspace/workspace.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff-legacy.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff_module.js +0 -0
- package/static/docs/swagger.json +2337 -279
- package/static/function/client.js +1037 -992
- package/build/routes/chromium/http/json-new.js +0 -23
- package/build/routes/chromium/http/json-version-get.response.json +0 -37
- package/build/routes/chromium/utils/cdp.d.ts +0 -2
- package/build/routes/chromium/utils/cdp.js +0 -14
- package/build/routes/chromium/ws/cdp-chromium.js +0 -10
- package/src/routes/chromium/http/json-list.ts +0 -50
- package/src/routes/chromium/utils/cdp.ts +0 -19
- package/build/routes/{chromium/http/content-post.query.json → chrome/http/content.post.query.json} +0 -0
- package/build/routes/{chromium/http/content-post.response.json → chrome/http/content.post.response.json} +0 -0
- package/build/routes/{chromium/http/download-post.body.json → chrome/http/download.post.body.json} +0 -0
- package/build/routes/{chromium/http/download-post.query.json → chrome/http/download.post.query.json} +0 -0
- package/build/routes/{chromium/http/download-post.response.json → chrome/http/download.post.response.json} +0 -0
- package/build/routes/{chromium/http/function-post.body.json → chrome/http/function.post.body.json} +0 -0
- package/build/routes/{chromium/http/function-post.query.json → chrome/http/function.post.query.json} +0 -0
- package/build/routes/{chromium/http/function-post.response.json → chrome/http/function.post.response.json} +0 -0
- package/build/routes/{chromium/http/json-list.response.json → chrome/http/json-list.get.response.json} +0 -0
- package/build/routes/{chromium/http/json-new.response.json → chrome/http/json-new.put.response.json} +0 -0
- package/build/routes/{chromium/http/json-protocol-get.response.json → chrome/http/json-protocol.get.response.json} +0 -0
- package/build/routes/{chromium/http/pdf-post.query.json → chrome/http/pdf.post.query.json} +0 -0
- package/build/routes/{chromium/http/pdf-post.response.json → chrome/http/pdf.post.response.json} +0 -0
- package/build/routes/{chromium/http/performance.body.json → chrome/http/performance.post.body.json} +0 -0
- package/build/routes/{chromium/http/performance.query.json → chrome/http/performance.post.query.json} +0 -0
- package/build/routes/{chromium/http/performance.response.json → chrome/http/performance.post.response.json} +0 -0
- package/build/routes/{chromium/http/scrape-post.query.json → chrome/http/scrape.post.query.json} +0 -0
- package/build/routes/{chromium/http/scrape-post.response.json → chrome/http/scrape.post.response.json} +0 -0
- package/build/routes/{chromium/http/screenshot-post.query.json → chrome/http/screenshot.post.query.json} +0 -0
- package/build/routes/{chromium/http/screenshot-post.response.json → chrome/http/screenshot.post.response.json} +0 -0
- package/build/routes/{chromium/utils/performance/child.d.ts → chrome/tests/content.spec.d.ts} +0 -0
- package/build/routes/{chromium/utils/performance/types.js → chrome/tests/download.spec.d.ts} +0 -0
- package/build/routes/{chromium/ws/cdp-chromium.query.json → chrome/ws/browser.query.json} +0 -0
- package/build/routes/{chromium/ws/playwright-chromium.query.json → chrome/ws/playwright.query.json} +0 -0
- package/build/routes/{firefox/ws/playwright-firefox.query.json → chromium/ws/playwright.query.json} +0 -0
- package/build/routes/{webkit/ws/playwright-webkit.query.json → firefox/ws/playwright.query.json} +0 -0
- package/build/routes/management/http/{config-get.d.ts → config.get.d.ts} +0 -0
- package/build/routes/management/http/{config-get.js → config.get.js} +0 -0
- package/build/routes/management/http/{config-get.response.json → config.get.response.json} +0 -0
- package/build/routes/management/http/{metrics-total-get.d.ts → metrics-total.get.d.ts} +0 -0
- package/build/routes/management/http/{metrics-total-get.js → metrics-total.get.js} +0 -0
- package/build/routes/management/http/{metrics-total-get.response.json → metrics-total.get.response.json} +0 -0
- package/build/routes/management/http/{metrics-get.d.ts → metrics.get.d.ts} +0 -0
- package/build/routes/management/http/{metrics-get.js → metrics.get.js} +0 -0
- package/build/routes/management/http/{metrics-get.response.json → metrics.get.response.json} +0 -0
- package/build/routes/management/http/{sessions-get.d.ts → sessions.get.d.ts} +0 -0
- package/build/routes/management/http/{sessions-get.js → sessions.get.js} +0 -0
- package/build/routes/management/http/{static-get.d.ts → static.get.d.ts} +0 -0
- package/build/{routes/chromium/http/json-protocol-get.d.ts → shared/json-protocol.http.d.ts} +1 -1
- package/build/{routes/chromium/http/json-version-get.d.ts → shared/json-version.http.d.ts} +1 -1
- /package/build/{routes/chromium → shared}/utils/function/client.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/function/client.js +0 -0
- /package/build/{routes/chromium → shared}/utils/function/handler.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/function/handler.js +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/child.js +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/main.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/types.d.ts +0 -0
- /package/src/routes/management/http/{config-get.ts → config.get.ts} +0 -0
- /package/src/routes/management/http/{metrics-total-get.ts → metrics-total.get.ts} +0 -0
- /package/src/routes/management/http/{metrics-get.ts → metrics.get.ts} +0 -0
- /package/src/routes/management/http/{sessions-get.ts → sessions.get.ts} +0 -0
- /package/src/{routes/chromium → shared}/utils/function/client.ts +0 -0
- /package/src/{routes/chromium → shared}/utils/performance/child.ts +0 -0
- /package/src/{routes/chromium → shared}/utils/performance/types.ts +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{UIString as e,Throttler as t,Revealer as i,Color as s,Linkifier as n,SimpleHistoryManager as o,Progress as r,Settings as a,ParsedURL as c,Trie as l,EventTarget as d,ResourceType as h,ObjectWrapper as u}from"../common/common.js";import{ls as p,StringUtilities as _,ArrayUtilities as m,MapUtilities as g,SetUtilities as b,NumberUtilities as S}from"../platform/platform.js";import{Widget as C,UIUtils as f,Dialog as v,GlassPane as w,Toolbar as E,TextEditor as x,Tooltip as y,View as I,ListModel as L,ListControl as k,Context as T,ARIAUtils as P,Icon as M,ContextMenu as F,ViewManager as D,ShortcutRegistry as N,Geometry as B,Utils as U,InspectorView as A,TreeOutline as R,InplaceEditor as j,Panel as V,DropTarget as O,ActionRegistry as W,SplitWidget as H,SettingsUI as z,PopoverHelper as q,TabbedPane as G,SearchableView as K,XLink as $,KeyboardShortcut as J,Infobar as Q,ThrottledWidget as X,EmptyWidget as Y,Fragment as Z}from"../ui/ui.js";import{JavaScriptAutocomplete as ee,JavaScriptREPL as te,ObjectPopoverHelper as ie,RemoteObjectPreviewFormatter as se,ObjectPropertiesSection as ne}from"../object_ui/object_ui.js";import{Runtime as oe}from"../root/root.js";import{LiveLocation as re,IgnoreListManager as ae,DebuggerWorkspaceBinding as ce,CompilerScriptMapping as le,DefaultScriptMapping as de,NetworkProject as he,BreakpointManager as ue,ResourceScriptMapping as pe}from"../bindings/bindings.js";import{InspectorFrontendHost as _e,Platform as me,userMetrics as ge,UserMetrics as be}from"../host/host.js";import{Persistence as Se,FileSystemWorkspaceBinding as Ce,NetworkPersistenceManager as fe,PersistenceUtils as ve,IsolatedFileSystemManager as we}from"../persistence/persistence.js";import{DebuggerModel as Ee,SDKModel as xe,CSSMetadata as ye,DOMDebuggerModel as Ie,RuntimeModel as Le,OverlayModel as ke,RemoteObject as Te,ConsoleModel as Pe,NetworkRequest as Me}from"../sdk/sdk.js";import{Workspace as Fe,UISourceCode as De,FileManager as Ne}from"../workspace/workspace.js";import{CoverageModel as Be}from"../coverage/coverage.js";import{SourceFormatter as Ue,FormatterWorkerPool as Ae,ScriptFormatter as Re}from"../formatter/formatter.js";import{Spectrum as je}from"../color_picker/color_picker.js";import{SwatchPopoverHelper as Ve,ColorSwatch as Oe,Swatches as We,BezierEditor as He}from"../inline_editor/inline_editor.js";import{SourcesTextEditor as ze,SourceCodeDiff as qe,SourceFrame as Ge,ImageView as Ke,FontView as $e}from"../source_frame/source_frame.js";import{TextRange as Je,TextUtils as Qe,Text as Xe,TextCursor as Ye}from"../text_utils/text_utils.js";import{CodeMirrorUtils as Ze}from"../text_editor/text_editor.js";import{QuickOpen as et,FilteredListWidget as tt}from"../quick_open/quick_open.js";import{ExtensionServer as it}from"../extensions/extensions.js";import{ScriptSnippetFileSystem as st}from"../snippets/snippets.js";import{Icon as nt}from"../ui/components/components.js";import{WorkspaceDiff as ot}from"../workspace_diff/workspace_diff.js";import{RecordingFileSystem as rt,RecorderModel as at}from"../recorder/recorder.js";import{Linkifier as ct}from"../components/components.js";import{SearchView as lt}from"../search/search.js";import{LinearMemoryInspectorController as dt}from"../linear_memory_inspector/linear_memory_inspector.js";class ht extends C.HBox{constructor(t){super(!0),this.registerRequiredCSS("sources/dialog.css",{enableLegacyPatching:!1}),this.contentElement.createChild("label").textContent=e.UIString("Source map URL: "),this._input=f.createInput("add-source-map","text"),this._input.addEventListener("keydown",this._onKeyDown.bind(this),!1),this.contentElement.appendChild(this._input);const i=f.createTextButton(p`Add`,this._apply.bind(this));this.contentElement.appendChild(i),this._dialog=new v.Dialog,this._dialog.setSizeBehavior(w.SizeBehavior.MeasureContent),this._dialog.setDefaultFocusedElement(this._input),this._callback=t}show(){super.show(this._dialog.contentElement),this._dialog.show()}_done(e){this._dialog.hide(),this._callback(e)}_apply(){this._done(this._input.value)}_onKeyDown(e){"Enter"===e.key&&(e.consume(!0),this._apply())}}var ut=Object.freeze({__proto__:null,AddSourceMapURLDialog:ht});class pt extends C.Widget{constructor(e,t,i,s){super(!0),this.registerRequiredCSS("sources/breakpointEditDialog.css",{enableLegacyPatching:!0}),this._onFinish=s,this._finished=!1,this._editor=null,this.element.tabIndex=-1;const n=_t,o=mt;this._isLogpoint=t.startsWith(n)&&t.endsWith(o),this._isLogpoint&&(t=t.substring(n.length,t.length-o.length)),this._isLogpoint=this._isLogpoint||i,this.element.classList.add("sources-edit-breakpoint-dialog");const r=new E.Toolbar("source-frame-breakpoint-toolbar",this.contentElement);r.appendText(`Line ${e+1}:`),this._typeSelector=new E.ToolbarComboBox(this._onTypeChanged.bind(this),p`Breakpoint type`),this._typeSelector.createOption(p`Breakpoint`,gt.Breakpoint);const a=this._typeSelector.createOption(p`Conditional breakpoint`,gt.Conditional),c=this._typeSelector.createOption(p`Logpoint`,gt.Logpoint);this._typeSelector.select(this._isLogpoint?c:a),r.appendToolbarItem(this._typeSelector);const l=oe.Runtime.instance().extension(x.TextEditorFactory);l&&l.instance().then((e=>{const i={lineNumbers:!1,lineWrapping:!0,mimeType:"javascript",autoHeight:!0,bracketMatchingSetting:void 0,devtoolsAccessibleName:void 0,padBottom:void 0,maxHighlightLength:void 0,placeholder:void 0,lineWiseCopyCut:void 0,inputStyle:void 0};this._editor=e.createEditor(i),this._updatePlaceholder(),this._editor.widget().element.classList.add("condition-editor"),this._editor.configureAutocomplete(ee.JavaScriptAutocompleteConfig.createConfigForEditor(this._editor)),t&&this._editor.setText(t),this._editor.widget().markAsExternallyManaged(),this._editor.widget().show(this.contentElement),this._editor.setSelection(this._editor.fullRange()),this._editor.widget().focus(),this._editor.widget().element.addEventListener("keydown",this._onKeyDown.bind(this),!0),this.element.addEventListener("blur",(e=>{e.relatedTarget&&!e.relatedTarget.isSelfOrDescendant(this.element)&&this._finishEditing(!0)}),!0)}))}static _conditionForLogpoint(e){return`${_t}${e}${mt}`}_onTypeChanged(){const e=this._typeSelector.selectedOption();if(!e||!this._editor)return;const t=e.value;this._isLogpoint=t===gt.Logpoint,this._updatePlaceholder(),t===gt.Breakpoint&&(this._editor.setText(""),this._finishEditing(!0))}_updatePlaceholder(){const e=this._typeSelector.selectedOption();if(!e||!this._editor)return;const t=e.value;t===gt.Conditional?(this._editor.setPlaceholder(p`Expression to check before pausing, e.g. x > 5`),y.Tooltip.install(this._typeSelector.element,p`Pause only when the condition is true`)):t===gt.Logpoint&&(this._editor.setPlaceholder(p`Log message, e.g. 'x is', x`),y.Tooltip.install(this._typeSelector.element,p`Log a message to Console, do not break`))}_finishEditing(e){if(this._finished)return;if(this._finished=!0,!this._editor)return;this._editor.widget().detach();let t=this._editor.text();this._isLogpoint&&(t=pt._conditionForLogpoint(t)),this._onFinish({committed:e,condition:t})}async _onKeyDown(e){if(e instanceof KeyboardEvent&&this._editor){if("Enter"===e.key&&!e.shiftKey){e.consume(!0);const t=this._editor.text();e.ctrlKey||await ee.JavaScriptAutocomplete.isExpressionComplete(t)?this._finishEditing(!0):this._editor.newlineAndIndent()}isEscKey(e)&&(this._finishEditing(!1),e.stopImmediatePropagation())}}}const _t="/** DEVTOOLS_LOGPOINT */ console.log(",mt=")",gt={Breakpoint:"Breakpoint",Conditional:"Conditional",Logpoint:"Logpoint"};var bt=Object.freeze({__proto__:null,BreakpointEditDialog:pt,LogpointPrefix:_t,LogpointSuffix:mt,BreakpointType:gt});let St;class Ct extends I.SimpleView{constructor(){super(e.UIString("Call Stack"),!0),this.registerRequiredCSS("sources/callStackSidebarPane.css",{enableLegacyPatching:!0}),this._ignoreListMessageElement=this._createIgnoreListMessageElement(),this.contentElement.appendChild(this._ignoreListMessageElement),this._notPausedMessageElement=this.contentElement.createChild("div","gray-info-message"),this._notPausedMessageElement.textContent=e.UIString("Not paused"),this._notPausedMessageElement.tabIndex=-1,this._items=new L.ListModel,this._list=new k.ListControl(this._items,this,k.ListMode.NonViewport),this.contentElement.appendChild(this._list.element),this._list.element.addEventListener("contextmenu",this._onContextMenu.bind(this),!1),self.onInvokeElement(this._list.element,(e=>{const t=this._list.itemForNode(e.target);t&&(this._activateItem(t),e.consume(!0))})),this._showMoreMessageElement=this._createShowMoreMessageElement(),this._showMoreMessageElement.classList.add("hidden"),this.contentElement.appendChild(this._showMoreMessageElement),this._showIgnoreListed=!1,this._locationPool=new re.LiveLocationPool,this._updateThrottler=new t.Throttler(100),this._maxAsyncStackChainDepth=wt,this._update(),this._updateItemThrottler=new t.Throttler(100),this._scheduledForUpdateItems=new Set}static instance(e={forceNew:null}){const{forceNew:t}=e;return St&&!t||(St=new Ct),St}flavorChanged(e){this._showIgnoreListed=!1,this._maxAsyncStackChainDepth=wt,this._update()}_update(){this._updateThrottler.schedule((()=>this._doUpdate()))}async _doUpdate(){this._locationPool.disposeAll();const e=T.Context.instance().flavor(Ee.DebuggerPausedDetails);if(!e)return this.setDefaultFocusedElement(this._notPausedMessageElement),this._notPausedMessageElement.classList.remove("hidden"),this._ignoreListMessageElement.classList.add("hidden"),this._showMoreMessageElement.classList.add("hidden"),this._items.replaceAll([]),void T.Context.instance().setFlavor(Ee.CallFrame,null);let t=e.debuggerModel;this._notPausedMessageElement.classList.add("hidden");const i=[];for(const t of e.callFrames){const e=Et.createForDebuggerCallFrame(t,this._locationPool,this._refreshItem.bind(this)).then((e=>(ft.set(e,t),e)));i.push(e)}const s=await Promise.all(i);let n=e.asyncStackTrace;!n&&e.asyncStackTraceId&&(e.asyncStackTraceId.debuggerId&&(t=await Ee.DebuggerModel.modelForDebuggerId(e.asyncStackTraceId.debuggerId)),n=t?await t.fetchAsyncStackTrace(e.asyncStackTraceId):null);let o=e.callFrames,r=this._maxAsyncStackChainDepth;for(;n&&r>0;){let e="";if("async function"===n.description&&o.length&&n.callFrames.length){const t=o[o.length-1],i=f.beautifyFunctionName(t.functionName);e=f.asyncStackTraceLabel("await in "+i)}else e=f.asyncStackTraceLabel(n.description);s.push(...await Et.createItemsForAsyncStack(e,t,n.callFrames,this._locationPool,this._refreshItem.bind(this))),--r,o=n.callFrames,n.parent?n=n.parent:n.parentId?(n.parentId.debuggerId&&(t=await Ee.DebuggerModel.modelForDebuggerId(n.parentId.debuggerId)),n=t?await t.fetchAsyncStackTrace(n.parentId):null):n=null}if(this._showMoreMessageElement.classList.toggle("hidden",!n),this._items.replaceAll(s),this._maxAsyncStackChainDepth===wt){this._list.selectNextItem(!0,!1);const e=this._list.selectedItem();e&&this._activateItem(e)}this._updatedForTest()}_updatedForTest(){}_refreshItem(e){this._scheduledForUpdateItems.add(e),this._updateItemThrottler.schedule((async()=>{const e=Array.from(this._scheduledForUpdateItems);if(this._scheduledForUpdateItems.clear(),this._muteActivateItem=!0,!this._showIgnoreListed&&this._items.every((e=>e.isIgnoreListed))){this._showIgnoreListed=!0;for(let e=0;e<this._items.length;++e)this._list.refreshItemByIndex(e);this._ignoreListMessageElement.classList.toggle("hidden",!0)}else{const t=new Set(e);let i=!1;for(let e=0;e<this._items.length;++e){const s=this._items.at(e);t.has(s)&&this._list.refreshItemByIndex(e),i=i||s.isIgnoreListed}this._ignoreListMessageElement.classList.toggle("hidden",this._showIgnoreListed||!i)}delete this._muteActivateItem}))}createElementForItem(e){const t=document.createElement("div");t.classList.add("call-frame-item");const i=t.createChild("div","call-frame-item-title").createChild("div","call-frame-title-text");if(i.textContent=e.title,e.isAsyncHeader)t.classList.add("async-header");else{y.Tooltip.install(i,e.title);const s=t.createChild("div","call-frame-location");s.textContent=_.trimMiddle(e.linkText,30),y.Tooltip.install(s,e.linkText),t.classList.toggle("ignore-listed-call-frame",e.isIgnoreListed),e.isIgnoreListed&&P.setDescription(t,p`on ignore list`),ft.has(e)||P.setDisabled(t,!0)}const s=ft.get(e)===T.Context.instance().flavor(Ee.CallFrame);return t.classList.toggle("selected",s),P.setSelected(t,s),t.classList.toggle("hidden",!this._showIgnoreListed&&e.isIgnoreListed),t.appendChild(M.Icon.create("smallicon-thick-right-arrow","selected-call-frame-icon")),t.tabIndex=e===this._list.selectedItem()?0:-1,t}heightForItem(e){return console.assert(!1),0}isItemSelectable(e){return!0}selectedItemChanged(e,t,i,s){i&&(i.tabIndex=-1),s&&(this.setDefaultFocusedElement(s),s.tabIndex=0,this.hasFocus()&&s.focus())}updateSelectedItemARIA(e,t){return!0}_createIgnoreListMessageElement(){const t=document.createElement("div");t.classList.add("ignore-listed-message"),t.createChild("span");const i=t.createChild("span","link");i.textContent=e.UIString("Show ignore-listed frames"),P.markAsLink(i),i.tabIndex=0;const s=()=>{this._showIgnoreListed=!0;for(const e of this._items)this._refreshItem(e);this._ignoreListMessageElement.classList.toggle("hidden",!0)};return i.addEventListener("click",s),i.addEventListener("keydown",(e=>"Enter"===e.key&&s())),t}_createShowMoreMessageElement(){const t=document.createElement("div");t.classList.add("show-more-message"),t.createChild("span");const i=t.createChild("span","link");return i.textContent=e.UIString("Show more"),i.addEventListener("click",(()=>{this._maxAsyncStackChainDepth+=wt,this._update()}),!1),t}_onContextMenu(t){const i=this._list.itemForNode(t.target);if(!i)return;const s=new F.ContextMenu(t),n=ft.get(i);n&&s.defaultSection().appendItem(e.UIString("Restart frame"),(()=>n.restart())),s.defaultSection().appendItem(e.UIString("Copy stack trace"),this._copyStackTrace.bind(this)),i.uiLocation&&this.appendIgnoreListURLContextMenuItems(s,i.uiLocation.uiSourceCode),s.show()}_onClick(e){const t=this._list.itemForNode(e.target);t&&this._activateItem(t)}_activateItem(e){const t=e.uiLocation;if(this._muteActivateItem||!t)return;this._list.selectItem(e);const s=ft.get(e),n=this.activeCallFrameItem();s&&n!==e?(s.debuggerModel.setSelectedCallFrame(s),T.Context.instance().setFlavor(Ee.CallFrame,s),n&&this._refreshItem(n),this._refreshItem(e)):i.reveal(t)}activeCallFrameItem(){const e=T.Context.instance().flavor(Ee.CallFrame);return e&&this._items.find((t=>ft.get(t)===e))||null}appendIgnoreListURLContextMenuItems(t,i){const s=Se.PersistenceImpl.instance().binding(i);if(s&&(i=s.network),i.project().type()===Fe.projectTypes.FileSystem)return;const n=ae.IgnoreListManager.instance().canIgnoreListUISourceCode(i),o=ae.IgnoreListManager.instance().isIgnoreListedUISourceCode(i),r=i.project().type()===Fe.projectTypes.ContentScripts,a=ae.IgnoreListManager.instance();n&&(o?t.defaultSection().appendItem(e.UIString("Remove from ignore list"),a.unIgnoreListUISourceCode.bind(a,i)):t.defaultSection().appendItem(e.UIString("Add script to ignore list"),a.ignoreListUISourceCode.bind(a,i))),r&&(o?t.defaultSection().appendItem(e.UIString("Remove all content scripts from ignore list"),a.ignoreListContentScripts.bind(a)):t.defaultSection().appendItem(e.UIString("Add all content scripts to ignore list"),a.unIgnoreListContentScripts.bind(a)))}_selectNextCallFrameOnStack(){const e=this.activeCallFrameItem();for(let t=e?this._items.indexOf(e)+1:0;t<this._items.length;t++){const e=this._items.at(t);if(ft.has(e)){this._activateItem(e);break}}}_selectPreviousCallFrameOnStack(){const e=this.activeCallFrameItem();for(let t=e?this._items.indexOf(e)-1:this._items.length-1;t>=0;t--){const e=this._items.at(t);if(ft.has(e)){this._activateItem(e);break}}}_copyStackTrace(){const e=[];for(const t of this._items){let i=t.title;t.uiLocation&&(i+=" ("+t.uiLocation.linkText(!0)+")"),e.push(i)}_e.InspectorFrontendHostInstance.copyText(e.join("\n"))}}const ft=new WeakMap,vt=Symbol("element"),wt=32;class Et{static async createForDebuggerCallFrame(e,t,i){const s=new Et(f.beautifyFunctionName(e.functionName),i);return await ce.DebuggerWorkspaceBinding.instance().createCallFrameLiveLocation(e.location(),s._update.bind(s),t),s}static async createItemsForAsyncStack(e,t,i,s,n){const o=new WeakMap,r=new Et(e,n);o.set(r,new Set),r.isAsyncHeader=!0;const a=[],c=[];for(const e of i){const i=new Et(f.beautifyFunctionName(e.functionName),l),n=t?t.createRawLocationByScriptId(e.scriptId,e.lineNumber,e.columnNumber):null;n?c.push(ce.DebuggerWorkspaceBinding.instance().createCallFrameLiveLocation(n,i._update.bind(i),s)):(i.linkText=(e.url||"<unknown>")+":"+(e.lineNumber+1),i.updateDelegate(i)),a.push(i)}return await Promise.all(c),n(r),[r,...a];function l(e){n(e);let t=!1;const i=o.get(r);i&&(e.isIgnoreListed?(i.delete(e),t=0===i.size):(t=0===i.size,i.add(e)),r.isIgnoreListed=0===i.size),t&&n(r)}}constructor(e,t){this.isIgnoreListed=!1,this.title=e,this.linkText="",this.uiLocation=null,this.isAsyncHeader=!1,this.updateDelegate=t}async _update(e){const t=await e.uiLocation();this.isIgnoreListed=await e.isIgnoreListed(),this.linkText=t?t.linkText():"",this.uiLocation=t,this.updateDelegate(this)}}var xt=Object.freeze({__proto__:null,CallStackSidebarPane:Ct,elementSymbol:vt,defaultMaxAsyncStackChainDepth:wt,ActionDelegate:class{handleAction(e,t){switch(t){case"debugger.next-call-frame":return Ct.instance()._selectNextCallFrameOnStack(),!0;case"debugger.previous-call-frame":return Ct.instance()._selectPreviousCallFrameOnStack(),!0}return!1}},Item:Et});class yt{static accepts(e){return!1}wasShown(){}willHide(){}async rightToolbarItems(){return[]}leftToolbarItems(){return[]}populateLineGutterContextMenu(e,t){return Promise.resolve()}populateTextAreaContextMenu(e,t,i){return Promise.resolve()}dispose(){}}var It=Object.freeze({__proto__:null,Plugin:yt});class Lt extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t,this._originalSourceCode=Ue.SourceFormatter.instance().getOriginalUISourceCode(this._uiSourceCode),this._text=new E.ToolbarButton(p`Click to show Coverage Panel`),this._text.setSecondary(),this._text.addEventListener(E.ToolbarButton.Events.Click,(()=>{D.ViewManager.instance().showView("coverage")}));const i=xe.TargetManager.instance().mainTarget();i&&(this._model=i.model(Be.CoverageModel),this._model&&(this._model.addEventListener(Be.Events.CoverageReset,this._handleReset,this),this._coverage=this._model.getCoverageForUrl(this._originalSourceCode.url()),this._coverage&&this._coverage.addEventListener(Be.URLCoverageInfo.Events.SizesChanged,this._handleCoverageSizesChanged,this))),this._updateStats()}dispose(){this._coverage&&this._coverage.removeEventListener(Be.URLCoverageInfo.Events.SizesChanged,this._handleCoverageSizesChanged,this),this._model&&this._model.removeEventListener(Be.Events.CoverageReset,this._handleReset,this)}static accepts(e){return e.contentType().isDocumentOrScriptOrStyleSheet()}_handleReset(){this._coverage=null,this._updateStats()}_handleCoverageSizesChanged(){this._updateStats()}_updateStats(){this._coverage?(this._text.setTitle(p`Show Details`),this._text.setText(p`Coverage: ${this._coverage.usedPercentage().toFixed(1)} %`)):(this._text.setTitle(p`Click to show Coverage Panel`),this._text.setText(p`Coverage: n/a`))}async rightToolbarItems(){return[this._text]}}var kt=Object.freeze({__proto__:null,CoveragePlugin:Lt});class Tt extends yt{constructor(e){super(),this._textEditor=e,this._swatchPopoverHelper=new Ve.SwatchPopoverHelper,this._muteSwatchProcessing=!1,this._hadSwatchChange=!1,this._bezierEditor=null,this._editedSwatchTextRange=null,this._spectrum=null,this._currentSwatch=null,this._textEditor.configureAutocomplete({suggestionsCallback:this._cssSuggestions.bind(this),isWordChar:this._isWordChar.bind(this),anchorBehavior:void 0,substituteRangeCallback:void 0,tooltipCallback:void 0}),this._textEditor.addEventListener(ze.Events.ScrollChanged,this._textEditorScrolled,this),this._textEditor.addEventListener(x.Events.TextChanged,this._onTextChanged,this),this._updateSwatches(0,this._textEditor.linesCount-1),this._boundHandleKeyDown=null,this._registerShortcuts()}static accepts(e){return e.contentType().isStyleSheet()}_registerShortcuts(){this._boundHandleKeyDown=N.ShortcutRegistry.instance().addShortcutListener(this._textEditor.element,{"sources.increment-css":this._handleUnitModification.bind(this,1),"sources.increment-css-by-ten":this._handleUnitModification.bind(this,10),"sources.decrement-css":this._handleUnitModification.bind(this,-1),"sources.decrement-css-by-ten":this._handleUnitModification.bind(this,-10)})}_textEditorScrolled(){this._swatchPopoverHelper.isShowing()&&this._swatchPopoverHelper.hide(!0)}_modifyUnit(e,t){const i=parseInt(e,10);if(isNaN(i))return null;const s=e.substring(i.toString().length);return _.sprintf("%d%s",i+t,s)}async _handleUnitModification(e){const t=this._textEditor.selection().normalize();let i=this._textEditor.tokenAtTextPosition(t.startLine,t.startColumn);if(!i&&(t.startColumn>0&&(i=this._textEditor.tokenAtTextPosition(t.startLine,t.startColumn-1)),!i))return!1;if("css-number"!==i.type)return!1;const s=new Je.TextRange(t.startLine,i.startColumn,t.startLine,i.endColumn),n=this._textEditor.text(s),o=this._modifyUnit(n,e);return!!o&&(this._textEditor.editRange(s,o),t.startColumn=i.startColumn,t.endColumn=t.startColumn+o.length,this._textEditor.setSelection(t),!0)}_updateSwatches(e,t){const i=[],n=[],o=[ye.VariableRegex,ye.URLRegex,B.CubicBezier.Regex,s.Regex],r=new Map;r.set(s.Regex,this._createColorSwatch.bind(this)),r.set(B.CubicBezier.Regex,this._createBezierSwatch.bind(this));for(let s=e;s<=t;s++){const e=this._textEditor.line(s).substring(0,Pt),t=Qe.Utils.splitStringByRegexes(e,o);for(let a=0;a<t.length;a++){const c=t[a],l=r.get(o[c.regexIndex]);if(-1===c.regexIndex||!l)continue;const d=/[\s:;,(){}]/,h=c.position-1,u=c.position+c.value.length;if(h>=0&&!d.test(e.charAt(h))||u<e.length&&!d.test(e.charAt(u)))continue;const p=l(c.value);p&&(i.push(p),n.push(Je.TextRange.createFromLocation(s,c.position)))}}this._textEditor.operation(function(){const s=new Je.TextRange(e,0,t,this._textEditor.line(t).length);this._textEditor.bookmarks(s,Mt).forEach((e=>e.clear()));for(let e=0;e<i.length;e++){const t=i[e],s=n[e],o=this._textEditor.addBookmark(s.startLine,s.startColumn,t,Mt);Ft.set(t,o)}}.bind(this))}_createColorSwatch(t){const i=s.Color.parse(t);if(!i)return null;const n=new Oe.ColorSwatch;n.renderColor(i,!1,e.UIString("Open color picker."));const o=n.createChild("span");return o.textContent=t,o.setAttribute("hidden","true"),n.addEventListener("swatch-click",this._swatchIconClicked.bind(this,n),!1),n}_createBezierSwatch(t){if(!B.CubicBezier.parse(t))return null;const i=We.BezierSwatch.create();return i.setBezierText(t),y.Tooltip.install(i.iconElement(),e.UIString("Open cubic bezier editor.")),i.iconElement().addEventListener("click",this._swatchIconClicked.bind(this,i),!1),i.hideText(!0),i}_swatchIconClicked(e,t){t.consume(!0),this._hadSwatchChange=!1,this._muteSwatchProcessing=!0;const i=Ft.get(e);if(!i)return;const s=i.position();s&&(this._textEditor.setSelection(s),this._editedSwatchTextRange=s.clone(),this._editedSwatchTextRange&&(this._editedSwatchTextRange.endColumn+=(e.textContent||"").length),this._currentSwatch=e,Oe.ColorSwatch.isColorSwatch(e)?this._showSpectrum(e):e instanceof We.BezierSwatch&&this._showBezierEditor(e))}_showSpectrum(e){this._spectrum||(this._spectrum=new je.Spectrum,this._spectrum.addEventListener(je.Events.SizeChanged,this._spectrumResized,this),this._spectrum.addEventListener(je.Events.ColorChanged,this._spectrumChanged,this)),this._spectrum.setColor(e.color,e.format||""),this._swatchPopoverHelper.show(this._spectrum,e,this._swatchPopoverHidden.bind(this))}_spectrumResized(e){this._swatchPopoverHelper.reposition()}_spectrumChanged(e){const t=e.data,i=s.Color.parse(t);if(i&&this._currentSwatch){if(Oe.ColorSwatch.isColorSwatch(this._currentSwatch)){this._currentSwatch.renderColor(i)}this._changeSwatchText(t)}}_showBezierEditor(e){const t=B.CubicBezier.parse(e.bezierText())||B.CubicBezier.parse("linear");this._bezierEditor?this._bezierEditor.setBezier(t):(this._bezierEditor=new He.BezierEditor(t),this._bezierEditor.addEventListener(He.Events.BezierChanged,this._bezierChanged,this)),this._swatchPopoverHelper.show(this._bezierEditor,e.iconElement(),this._swatchPopoverHidden.bind(this))}_bezierChanged(e){const t=e.data;this._currentSwatch instanceof We.BezierSwatch&&this._currentSwatch.setBezierText(t),this._changeSwatchText(t)}_changeSwatchText(e){this._hadSwatchChange=!0;const t=this._editedSwatchTextRange;this._textEditor.editRange(t,e,"*swatch-text-changed"),t.endColumn=t.startColumn+e.length}_swatchPopoverHidden(e){this._muteSwatchProcessing=!1,!e&&this._hadSwatchChange&&this._textEditor.undo()}_onTextChanged(e){this._muteSwatchProcessing||this._updateSwatches(e.data.newRange.startLine,e.data.newRange.endLine)}_isWordChar(e){return Qe.Utils.isWordChar(e)||"."===e||"-"===e||"$"===e}_cssSuggestions(e,t){const i=this._textEditor.text(e);if(i.startsWith("$"))return null;const s=this._backtrackPropertyToken(e.startLine,e.startColumn-1);if(!s)return null;const n=this._textEditor.line(e.startLine).substring(s.startColumn,s.endColumn),o=ye.cssMetadata().propertyValues(n);return Promise.resolve(o.filter((e=>e.startsWith(i))).map((e=>({text:e,title:void 0,subtitle:void 0,iconType:void 0,priority:void 0,isSecondary:void 0,subtitleRenderer:void 0,selectionRange:void 0,hideGhostText:void 0,iconElement:void 0}))))}_backtrackPropertyToken(e,t){let i=t;const s=this._textEditor.line(e);let n=!1;for(let t=0;t<10&&i>=0;++t){const t=this._textEditor.tokenAtTextPosition(e,i);if(!t)return null;if("css-property"===t.type)return n?t:null;if(t.type&&-1===t.type.indexOf("whitespace")&&!t.type.startsWith("css-comment"))return null;if(!t.type&&":"===s.substring(t.startColumn,t.endColumn)){if(n)return null;n=!0}i=t.startColumn-1}return null}dispose(){this._swatchPopoverHelper.isShowing()&&this._swatchPopoverHelper.hide(!0),this._textEditor.removeEventListener(ze.Events.ScrollChanged,this._textEditorScrolled,this),this._textEditor.removeEventListener(x.Events.TextChanged,this._onTextChanged,this),this._textEditor.bookmarks(this._textEditor.fullRange(),Mt).forEach((e=>e.clear())),this._textEditor.element.removeEventListener("keydown",this._boundHandleKeyDown)}}const Pt=300,Mt=Symbol("swatch"),Ft=new WeakMap;var Dt=Object.freeze({__proto__:null,CSSPlugin:Tt,maxSwatchProcessingLength:Pt,SwatchBookmark:Mt});class Nt{constructor(){this._element=document.createElement("div"),this._element.classList.add("paused-message"),this._element.classList.add("flex-none");const e=U.createShadowRootWithCoreStyles(this._element,{cssFile:"sources/debuggerPausedMessage.css",enableLegacyPatching:!0,delegatesFocus:void 0});this._contentElement=e.createChild("div"),P.markAsPoliteLiveRegion(this._element,!1)}element(){return this._element}static _descriptionWithoutStack(e){const t=/^\s+at\s/m.exec(e);return t?e.substring(0,t.index-1):e.substring(0,e.lastIndexOf("\n"))}static async _createDOMBreakpointHitMessage(e){const t=document.createElement("span"),i=e.debuggerModel.target().model(Ie.DOMDebuggerModel);if(!e.auxData||!i)return t;const s=i.resolveDOMBreakpointData(e.auxData);if(!s)return t;const o=t.createChild("div","status-main");o.appendChild(M.Icon.create("smallicon-info","status-icon"));const r=Bt.get(s.type);o.appendChild(document.createTextNode(p`Paused on ${r}`));const a=t.createChild("div","status-sub monospace"),c=await n.Linkifier.linkify(s.node);if(a.appendChild(c),s.targetNode){const e=await n.Linkifier.linkify(s.targetNode);let t;t=s.insertion?s.targetNode===s.node?f.formatLocalized("Child %s added",[e]):f.formatLocalized("Descendant %s added",[e]):f.formatLocalized("Descendant %s removed",[e]),a.appendChild(document.createElement("br")),a.appendChild(t)}return t}async render(t,i,s){if(this._contentElement.removeChildren(),this._contentElement.hidden=!t,!t)return;const n=this._contentElement.createChild("div","paused-status"),o=t.reason===Protocol.Debugger.PausedEventReason.Exception||t.reason===Protocol.Debugger.PausedEventReason.PromiseRejection||t.reason===Protocol.Debugger.PausedEventReason.Assert||t.reason===Protocol.Debugger.PausedEventReason.OOM;let r;if(t.reason===Protocol.Debugger.PausedEventReason.DOM)r=await Nt._createDOMBreakpointHitMessage(t);else if(t.reason===Protocol.Debugger.PausedEventReason.EventListener){let i="";t.auxData&&(i=Ie.DOMDebuggerManager.instance().resolveEventListenerBreakpointTitle(t.auxData)),r=a(e.UIString("Paused on event listener"),i)}else if(t.reason===Protocol.Debugger.PausedEventReason.XHR){const i=t.auxData;r=a(e.UIString("Paused on XHR or fetch"),i.url||"")}else if(t.reason===Protocol.Debugger.PausedEventReason.Exception){const i=t.auxData,s=i.description||i.value||"",n=Nt._descriptionWithoutStack(s);r=a(e.UIString("Paused on exception"),n,s)}else if(t.reason===Protocol.Debugger.PausedEventReason.PromiseRejection){const i=t.auxData,s=i.description||i.value||"",n=Nt._descriptionWithoutStack(s);r=a(e.UIString("Paused on promise rejection"),n,s)}else if(t.reason===Protocol.Debugger.PausedEventReason.Assert)r=a(e.UIString("Paused on assertion"));else if(t.reason===Protocol.Debugger.PausedEventReason.DebugCommand)r=a(e.UIString("Paused on debugged function"));else if(t.reason===Protocol.Debugger.PausedEventReason.OOM)r=a(e.UIString("Paused before potential out-of-memory crash"));else if(t.reason===Protocol.Debugger.PausedEventReason.CSPViolation&&t.auxData&&t.auxData.violationType){const e=t.auxData.violationType;e===Protocol.DOMDebugger.CSPViolationType.TrustedtypeSinkViolation?r=a(p`Paused on CSP violation`,p`Trusted Type Sink Violation`):e===Protocol.DOMDebugger.CSPViolationType.TrustedtypePolicyViolation&&(r=a(p`Paused on CSP violation`,p`Trusted Type Policy Violation`))}else if(t.callFrames.length){const n=await i.rawLocationToUILocation(t.callFrames[0].location());r=a((n?s.findBreakpoint(n):null)?e.UIString("Paused on breakpoint"):e.UIString("Debugger paused"))}else console.warn("ScriptsPanel paused, but callFrames.length is zero.");function a(e,t,i){const s=document.createElement("span"),n=s.createChild("div","status-main"),r=M.Icon.create(o?"smallicon-error":"smallicon-info","status-icon");if(n.appendChild(r),n.appendChild(document.createTextNode(e)),t){const e=s.createChild("div","status-sub monospace");e.textContent=t,y.Tooltip.install(e,i||t)}return s}n.classList.toggle("error-reason",o),r&&n.appendChild(r)}}const Bt=new Map([[Protocol.DOMDebugger.DOMBreakpointType.SubtreeModified,e.UIString("subtree modifications")],[Protocol.DOMDebugger.DOMBreakpointType.AttributeModified,e.UIString("attribute modifications")],[Protocol.DOMDebugger.DOMBreakpointType.NodeRemoved,e.UIString("node removal")]]);var Ut=Object.freeze({__proto__:null,DebuggerPausedMessage:Nt,BreakpointTypeNouns:Bt});class At{constructor(e,t){this._sourcesView=e,this._historyManager=new o.SimpleHistoryManager(Rt),this._currentSourceFrameCallback=t}trackSourceFrameCursorJumps(e){e.textEditor.addEventListener(ze.Events.JumpHappened,this._onJumpHappened.bind(this))}_onJumpHappened(e){e.data.from&&this._updateActiveState(e.data.from),e.data.to&&this._pushActiveState(e.data.to)}rollback(){this._historyManager.rollback()}rollover(){this._historyManager.rollover()}updateCurrentState(){const e=this._currentSourceFrameCallback();e&&this._updateActiveState(e.textEditor.selection())}pushNewState(){const e=this._currentSourceFrameCallback();e&&this._pushActiveState(e.textEditor.selection())}_updateActiveState(e){const t=this._historyManager.active();if(!t)return;const i=this._currentSourceFrameCallback();if(!i)return;const s=new jt(this._sourcesView,this,i,e);t.merge(s)}_pushActiveState(e){const t=this._currentSourceFrameCallback();if(!t)return;const i=new jt(this._sourcesView,this,t,e);this._historyManager.push(i)}removeHistoryForSourceCode(e){this._historyManager.filterOut((t=>{const i=t;return i._projectId===e.project().id()&&i._url===e.url()}))}}const Rt=20;class jt{constructor(e,t,i,s){this._sourcesView=e,this._editingLocationManager=t;const n=i.uiSourceCode();this._projectId=n.project().id(),this._url=n.url();const o=this._positionFromSelection(s);this._positionHandle=i.textEditor.textEditorPositionHandle(o.lineNumber,o.columnNumber)}merge(e){this._projectId===e._projectId&&this._url===e._url&&(this._positionHandle=e._positionHandle)}_positionFromSelection(e){return{lineNumber:e.endLine,columnNumber:e.endColumn}}valid(){const e=this._positionHandle.resolve(),t=Fe.WorkspaceImpl.instance().uiSourceCode(this._projectId,this._url);return Boolean(e&&t)}reveal(){const e=this._positionHandle.resolve(),t=Fe.WorkspaceImpl.instance().uiSourceCode(this._projectId,this._url);e&&t&&(this._editingLocationManager.updateCurrentState(),this._sourcesView.showSourceLocation(t,e.lineNumber,e.columnNumber))}}var Vt=Object.freeze({__proto__:null,EditingLocationHistoryManager:At,HistoryDepth:Rt,EditingLocationHistoryEntry:jt});class Ot extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t,this._decorations=[],this._textEditor.installGutter(Ht,!0),this._workspaceDiff=ot.workspaceDiff(),this._workspaceDiff.subscribeToDiffChange(this._uiSourceCode,this._update,this),this._update()}static accepts(e){return e.project().type()===Fe.projectTypes.Network}_updateDecorations(e,t){this._textEditor.operation((function(){for(const t of e)t.remove();for(const e of t)e.install()}))}_update(){this._uiSourceCode?this._workspaceDiff.requestDiff(this._uiSourceCode).then(this._innerUpdate.bind(this)):this._innerUpdate(null)}_innerUpdate(e){if(!e)return this._updateDecorations(this._decorations,[]),void(this._decorations=[]);const t=qe.SourceCodeDiff.computeDiff(e),i=new Map;for(let e=0;e<t.length;++e){const s=t[e];for(let e=s.from;e<s.to;++e)i.set(e,{lineNumber:e,type:s.type})}const s=this._calculateDecorationsDiff(i),n=s.added.map((e=>new Wt(this._textEditor,e.lineNumber,e.type)));this._decorations=s.equal.concat(n),this._updateDecorations(s.removed,n),this._decorationsSetForTest(i)}_decorationsByLine(){const e=new Map;for(const t of this._decorations){const i=t.lineNumber();-1!==i&&e.set(i,t)}return e}_calculateDecorationsDiff(e){const t=this._decorationsByLine(),i=[...t.keys()],s=[...e.keys()];i.sort(((e,t)=>e-t)),s.sort(((e,t)=>e-t));const n=[],o=[],r=[];let a=0,c=0;for(;a<i.length&&c<s.length;){const l=i[a],d=s[c],h=t.get(l),u=e.get(d);if(!h)throw new Error("No decoration with key "+l);if(!u)throw new Error("No decoration with key "+d);l===d&&h.type===u.type?(r.push(h),++a,++c):l<=d?(n.push(h),++a):(o.push(u),++c)}for(;a<i.length;){const e=i[a++],s=t.get(e);if(!s)throw new Error("No decoration with key "+e);n.push(s)}for(;c<s.length;){const t=s[c++],i=e.get(t);if(!i)throw new Error("No decoration with key "+t);o.push(i)}return{added:o,removed:n,equal:r}}_decorationsSetForTest(e){}async populateLineGutterContextMenu(e,t){Ot._appendRevealDiffContextMenu(e,this._uiSourceCode)}async populateTextAreaContextMenu(e,t,i){Ot._appendRevealDiffContextMenu(e,this._uiSourceCode)}static _appendRevealDiffContextMenu(e,t){ot.workspaceDiff().isUISourceCodeModified(t)&&e.revealSection().appendItem(p`Local Modifications...`,(()=>{i.reveal(new ot.DiffUILocation(t))}))}dispose(){for(const e of this._decorations)e.remove();ot.workspaceDiff().unsubscribeFromDiffChange(this._uiSourceCode,this._update,this)}}class Wt{constructor(e,t,i){this._textEditor=e,this._position=this._textEditor.textEditorPositionHandle(t,0),this._className="",i===qe.EditType.Insert?this._className="diff-entry-insert":i===qe.EditType.Delete?this._className="diff-entry-delete":i===qe.EditType.Modify&&(this._className="diff-entry-modify"),this.type=i}lineNumber(){const e=this._position.resolve();return e?e.lineNumber:-1}install(){const e=this._position.resolve();if(!e)return;const t=document.createElement("div");t.classList.add("diff-marker"),t.textContent=" ",this._textEditor.setGutterDecoration(e.lineNumber,Ht,t),this._textEditor.toggleLineClass(e.lineNumber,this._className,!0)}remove(){const e=this._position.resolve();e&&(this._textEditor.setGutterDecoration(e.lineNumber,Ht,null),this._textEditor.toggleLineClass(e.lineNumber,this._className,!1))}}const Ht="CodeMirror-gutter-diff";var zt=Object.freeze({__proto__:null,GutterDiffPlugin:Ot,GutterDecoration:Wt,DiffGutterType:Ht,ContextMenuProvider:class{appendApplicableItems(e,t,i){let s=i;const n=Se.PersistenceImpl.instance().binding(s);n&&(s=n.network),Ot._appendRevealDiffContextMenu(t,s)}}});class qt extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t,this._compiling=!1,this._recompileScheduled=!1,this._timeout=null,this._message=null,this._disposed=!1,this._textEditor.addEventListener(x.Events.TextChanged,this._scheduleCompile,this),(this._uiSourceCode.hasCommits()||this._uiSourceCode.isDirty())&&this._scheduleCompile()}static accepts(e){if("js"===e.extension())return!0;if(st.isSnippetsUISourceCode(e))return!0;for(const t of xe.TargetManager.instance().models(Ee.DebuggerModel))if(ce.DebuggerWorkspaceBinding.instance().scriptFile(e,t))return!0;return!1}_scheduleCompile(){this._compiling?this._recompileScheduled=!0:(this._timeout&&clearTimeout(this._timeout),this._timeout=window.setTimeout(this._compile.bind(this),Gt))}_findRuntimeModel(){const e=xe.TargetManager.instance().models(Ee.DebuggerModel);for(let t=0;t<e.length;++t){if(ce.DebuggerWorkspaceBinding.instance().scriptFile(this._uiSourceCode,e[t]))return e[t].runtimeModel()}const t=xe.TargetManager.instance().mainTarget();return t?t.model(Le.RuntimeModel):null}async _compile(){const e=this._findRuntimeModel();if(!e)return;const t=T.Context.instance().flavor(Le.ExecutionContext);if(!t)return;const i=this._textEditor.text();if(i.length>102400)return;this._compiling=!0;const s=await e.compileScript(i,"",!1,t.id);if(this._compiling=!1,this._recompileScheduled)return this._recompileScheduled=!1,void this._scheduleCompile();if(this._message&&this._uiSourceCode.removeMessage(this._message),this._disposed||!s||!s.exceptionDetails)return;const n=s.exceptionDetails,o=Le.RuntimeModel.simpleTextFromException(n);this._message=this._uiSourceCode.addLineMessage(De.Message.Level.Error,o,n.lineNumber,n.columnNumber),this._compilationFinishedForTest()}_compilationFinishedForTest(){}dispose(){this._textEditor.removeEventListener(x.Events.TextChanged,this._scheduleCompile,this),this._message&&this._uiSourceCode.removeMessage(this._message),this._disposed=!0,this._timeout&&clearTimeout(this._timeout)}}const Gt=1e3;var Kt=Object.freeze({__proto__:null,JavaScriptCompilerPlugin:qt,CompileDelay:Gt});class $t extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t}static accepts(e){return rt.isRecordingUISourceCode(e)}leftToolbarItems(){const t=E.Toolbar.createActionButtonForId("recorder.toggle-recording");return t.setText(e.UIString("Record")),[t]}}var Jt=Object.freeze({__proto__:null,RecorderPlugin:$t});class Qt extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t}static accepts(e){return e.contentType().hasScripts()||Boolean(Qt._script(e))}async rightToolbarItems(){const e=le.CompilerScriptMapping.uiSourceCodeOrigin(this._uiSourceCode);if(e){const t=f.formatLocalized("(source mapped from %s)",[ct.Linkifier.linkifyURL(e)]);return[new E.ToolbarItem(t)]}const t=ce.DebuggerWorkspaceBinding.instance().pluginManager;if(t)for(const e of t.scriptsForUISourceCode(this._uiSourceCode))if(e.hasSourceURL){const t=f.formatLocalized("(provided via debug info by %s)",[ct.Linkifier.linkifyURL(e.sourceURL)]);return[new E.ToolbarItem(t)]}const i=await Qt._script(this._uiSourceCode);if(!i||!i.originStackTrace)return[];const s=Xt.linkifyStackTraceTopFrame(i.debuggerModel.target(),i.originStackTrace);return[new E.ToolbarItem(s)]}static async _script(e){const t=await ce.DebuggerWorkspaceBinding.instance().uiLocationToRawLocations(e,0,0);for(const e of t){const t=e.script();if(t&&t.originStackTrace)return t}return null}}const Xt=new ct.Linkifier;var Yt=Object.freeze({__proto__:null,ScriptOriginPlugin:Qt,linkifier:Xt});class Zt extends yt{constructor(e,t){super(),this._textEditor=e,this._uiSourceCode=t}static accepts(e){return st.isSnippetsUISourceCode(e)}async rightToolbarItems(){const t=E.Toolbar.createActionButtonForId("debugger.run-snippet");return t.setText(me.isMac()?e.UIString("⌘+Enter"):e.UIString("Ctrl+Enter")),[t]}}var ei=Object.freeze({__proto__:null,SnippetsPlugin:Zt});class ti{constructor(){this._searchId=0,this._searchResultCandidates=[],this._searchResultCallback=null,this._searchFinishedCallback=null,this._searchConfig=null}static _filesComparator(e,t){if(e.isDirty()&&!t.isDirty())return-1;if(!e.isDirty()&&t.isDirty())return 1;const i=e.project().type()===Fe.projectTypes.FileSystem&&!Se.PersistenceImpl.instance().binding(e);if(i!==(t.project().type()===Fe.projectTypes.FileSystem&&!Se.PersistenceImpl.instance().binding(t)))return i?1:-1;const s=e.url(),n=t.url();return s&&!n?-1:!s&&n?1:_.naturalOrderComparator(e.fullDisplayName(),t.fullDisplayName())}performIndexing(e){this.stopSearch();const t=this._projects(),i=new r.CompositeProgress(e);for(let e=0;e<t.length;++e){const s=t[e],n=i.createSubProgress(s.uiSourceCodes().length);s.indexContent(n)}}_projects(){const e=a.Settings.instance().moduleSetting("searchInAnonymousAndContentScripts").get();return Fe.WorkspaceImpl.instance().projects().filter((t=>t.type()!==Fe.projectTypes.Service&&(!(!e&&t.isServiceProject()&&t.type()!==Fe.projectTypes.Formatter)&&!(!e&&t.type()===Fe.projectTypes.ContentScripts))))}performSearch(e,t,i,s){this.stopSearch(),this._searchResultCandidates=[],this._searchResultCallback=i,this._searchFinishedCallback=s,this._searchConfig=e;const n=[],o=new r.CompositeProgress(t),a=o.createSubProgress(),c=new r.CompositeProgress(o.createSubProgress());for(const t of this._projects()){const i=t.uiSourceCodes().length,s=c.createSubProgress(i),o=this._projectFilesMatchingFileQuery(t,e),r=t.findFilesMatchingSearchRequest(e,o,s).then(this._processMatchingFilesForProject.bind(this,this._searchId,t,e,o));n.push(r)}Promise.all(n).then(this._processMatchingFiles.bind(this,this._searchId,a,this._searchFinishedCallback.bind(this,!0)))}_projectFilesMatchingFileQuery(e,t,i){const s=[],n=e.uiSourceCodes();for(let e=0;e<n.length;++e){const o=n[e];if(!o.contentType().isTextType())continue;const r=Se.PersistenceImpl.instance().binding(o);r&&r.network===o||(i&&!o.isDirty()||t.filePathMatchesFileQuery(o.fullDisplayName())&&s.push(o.url()))}return s.sort(_.naturalOrderComparator),s}_processMatchingFilesForProject(e,t,i,s,n){if(e!==this._searchId&&this._searchFinishedCallback)return void this._searchFinishedCallback(!1);n.sort(_.naturalOrderComparator),n=m.intersectOrdered(n,s,_.naturalOrderComparator);const o=this._projectFilesMatchingFileQuery(t,i,!0);n=m.mergeOrdered(n,o,_.naturalOrderComparator);const r=[];for(const e of n){const i=t.uiSourceCodeForURL(e);if(!i)continue;const s=de.DefaultScriptMapping.scriptForUISourceCode(i);s&&!s.isAnonymousScript()||r.push(i)}r.sort(ti._filesComparator),this._searchResultCandidates=m.mergeOrdered(this._searchResultCandidates,r,ti._filesComparator)}_processMatchingFiles(e,t,i){if(e!==this._searchId&&this._searchFinishedCallback)return void this._searchFinishedCallback(!1);const s=this._searchResultCandidates;if(!s.length)return t.done(),void i();t.setTotalWork(s.length);let n=0;let o=0;for(let e=0;e<20&&e<s.length;++e)a.call(this);function r(e){e.isDirty()?c.call(this,e,e.workingCopy()):e.requestContent().then((t=>{c.call(this,e,t.content||"")}))}function a(){if(n>=s.length)return o?void 0:(t.done(),void i());++o;const e=s[n++];setTimeout(r.bind(this,e),0)}function c(e,i){function s(e,t){return e.lineNumber-t.lineNumber}t.worked(1);let n=[];const r=this._searchConfig,c=r.queries();if(null!==i)for(let e=0;e<c.length;++e){const t=Qe.performSearchInContent(i,c[e],!r.ignoreCase(),r.isRegex());n=m.mergeOrdered(n,t,s)}if(n&&this._searchResultCallback){const t=new ii(e,n);this._searchResultCallback(t)}--o,a.call(this)}}stopSearch(){++this._searchId}}class ii{constructor(e,t){this._uiSourceCode=e,this._searchMatches=t}label(){return this._uiSourceCode.displayName()}description(){return this._uiSourceCode.fullDisplayName()}matchesCount(){return this._searchMatches.length}matchLineContent(e){return this._searchMatches[e].lineContent}matchRevealable(e){const t=this._searchMatches[e];return this._uiSourceCode.uiLocation(t.lineNumber,void 0)}matchLabel(e){return this._searchMatches[e].lineNumber+1}}var si=Object.freeze({__proto__:null,SourcesSearchScope:ti,FileBasedSearchResult:ii});let ni;class oi extends lt.SearchView{constructor(){super("sources")}static instance(){return ni||(ni=new oi),ni}static async openSearch(e,t){const i=D.ViewManager.instance().view("sources.search-sources-tab");(await D.ViewManager.instance().resolveLocation("drawer-view")).appendView(i),await D.ViewManager.instance().revealView(i);const s=await i.widget();return s.toggle(e,Boolean(t)),s}createScope(){return new ti}}var ri=Object.freeze({__proto__:null,SearchSourcesView:oi,ActionDelegate:class{handleAction(e,t){return this._showSearch(),!0}_showSearch(){const e=A.InspectorView.instance().element.window().getSelection();let t="";return e&&e.rangeCount&&(t=e.toString().replace(/\r?\n.*/,"")),oi.openSearch(t)}}});const ai={Domain:"domain",File:"file",FileSystem:"fs",FileSystemFolder:"fs-folder",Frame:"frame",NetworkFolder:"nw-folder",Root:"root",SourceMapFolder:"sm-folder",Worker:"worker"},ci=new Map([[ai.Root,1],[ai.Domain,10],[ai.FileSystemFolder,1],[ai.NetworkFolder,1],[ai.SourceMapFolder,2],[ai.File,10],[ai.Frame,70],[ai.Worker,90],[ai.FileSystem,100]]);class li extends C.VBox{constructor(){super(!0),this.registerRequiredCSS("sources/navigatorView.css",{enableLegacyPatching:!1}),this._placeholder=null,this._scriptsTree=new R.TreeOutlineInShadow,this._scriptsTree.registerRequiredCSS("sources/navigatorTree.css",{enableLegacyPatching:!0}),this._scriptsTree.setComparator(li._treeElementsCompare),this._scriptsTree.setFocusable(!1),this.contentElement.appendChild(this._scriptsTree.element),this.setDefaultFocusedElement(this._scriptsTree.element),this._uiSourceCodeNodes=new g.Multimap,this._subfolderNodes=new Map,this._rootNode=new _i(this),this._rootNode.populate(),this._frameNodes=new Map,this.contentElement.addEventListener("contextmenu",this.handleContextMenu.bind(this),!1),N.ShortcutRegistry.instance().addShortcutListener(this.contentElement,{"sources.rename":this._renameShortcut.bind(this)}),this._navigatorGroupByFolderSetting=a.Settings.instance().moduleSetting("navigatorGroupByFolder"),this._navigatorGroupByFolderSetting.addChangeListener(this._groupingChanged.bind(this)),this._initGrouping(),Se.PersistenceImpl.instance().addEventListener(Se.Events.BindingCreated,this._onBindingChanged,this),Se.PersistenceImpl.instance().addEventListener(Se.Events.BindingRemoved,this._onBindingChanged,this),xe.TargetManager.instance().addEventListener(xe.Events.NameChanged,this._targetNameChanged,this),xe.TargetManager.instance().observeTargets(this),this._resetWorkspace(Fe.WorkspaceImpl.instance()),this._workspace.uiSourceCodes().forEach(this._addUISourceCode.bind(this)),he.NetworkProjectManager.instance().addEventListener(he.Events.FrameAttributionAdded,this._frameAttributionAdded,this),he.NetworkProjectManager.instance().addEventListener(he.Events.FrameAttributionRemoved,this._frameAttributionRemoved,this),this._workspace}static _treeElementOrder(e){if(di.has(e))return 0;const t=e;let i=ci.get(t._nodeType)||0;if(t._uiSourceCode){const e=t._uiSourceCode.contentType();e.isDocument()?i+=3:e.isScript()?i+=5:e.isStyleSheet()?i+=10:i+=15}return i}static appendSearchItem(t,i){let s=e.UIString("Search in folder");i&&i.trim()||(i="*",s=e.UIString("Search in all files")),t.viewSection().appendItem(s,(()=>{i&&oi.openSearch("file:"+i.trim())}))}static _treeElementsCompare(e,t){const i=li._treeElementOrder(e),s=li._treeElementOrder(t);return i>s?1:i<s?-1:_.compare(e.titleAsText(),t.titleAsText())}setPlaceholder(e){function t(){const t=this._scriptsTree.firstChild();t?e.hideWidget():e.showWidget(),this._scriptsTree.element.classList.toggle("hidden",!t)}console.assert(!this._placeholder,"A placeholder widget was already set"),this._placeholder=e,e.show(this.contentElement,this.contentElement.firstChild),t.call(this),this._scriptsTree.addEventListener(R.Events.ElementAttached,t.bind(this)),this._scriptsTree.addEventListener(R.Events.ElementsDetached,t.bind(this))}_onBindingChanged(e){const t=e.data,i=this._uiSourceCodeNodes.get(t.network);for(const e of i)e.updateTitle();const s=this._uiSourceCodeNodes.get(t.fileSystem);for(const e of s)e.updateTitle();const n=Ce.FileSystemWorkspaceBinding.relativePath(t.fileSystem);let o="";for(let e=0;e<n.length-1;++e){o+=n[e];const i=this._folderNodeId(t.fileSystem.project(),null,null,t.fileSystem.origin(),o),s=this._subfolderNodes.get(i);s&&s.updateTitle(),o+="/"}const r=this._rootNode.child(t.fileSystem.project().id());r&&r.updateTitle()}focus(){this._scriptsTree.focus()}appendChild(e,t){this._scriptsTree.setFocusable(!0),e.appendChild(t)}removeChild(e,t){e.removeChild(t),0===this._scriptsTree.rootElement().childCount()&&this._scriptsTree.setFocusable(!1)}_resetWorkspace(e){this._workspace&&(this._workspace.removeEventListener(Fe.Events.UISourceCodeAdded,this._uiSourceCodeAdded,this),this._workspace.removeEventListener(Fe.Events.UISourceCodeRemoved,this._uiSourceCodeRemoved,this),this._workspace.removeEventListener(Fe.Events.ProjectAdded,this._projectAddedCallback,this),this._workspace.removeEventListener(Fe.Events.ProjectRemoved,this._projectRemovedCallback,this)),this._workspace=e,this._workspace.addEventListener(Fe.Events.UISourceCodeAdded,this._uiSourceCodeAdded,this),this._workspace.addEventListener(Fe.Events.UISourceCodeRemoved,this._uiSourceCodeRemoved,this),this._workspace.addEventListener(Fe.Events.ProjectAdded,this._projectAddedCallback,this),this._workspace.addEventListener(Fe.Events.ProjectRemoved,this._projectRemovedCallback,this),this._workspace.projects().forEach(this._projectAdded.bind(this)),this._computeUniqueFileSystemProjectNames()}_projectAddedCallback(e){const t=e.data;this._projectAdded(t),t.type()===Fe.projectTypes.FileSystem&&this._computeUniqueFileSystemProjectNames()}_projectRemovedCallback(e){const t=e.data;this._removeProject(t),t.type()===Fe.projectTypes.FileSystem&&this._computeUniqueFileSystemProjectNames()}workspace(){return this._workspace}acceptProject(e){return!e.isServiceProject()}_frameAttributionAdded(e){const t=e.data.uiSourceCode;if(!this._acceptsUISourceCode(t))return;const i=e.data.frame;this._addUISourceCodeNode(t,i)}_frameAttributionRemoved(e){const t=e.data.uiSourceCode;if(!this._acceptsUISourceCode(t))return;const i=e.data.frame,s=Array.from(this._uiSourceCodeNodes.get(t)).find((e=>e.frame()===i));this._removeUISourceCodeNode(s)}_acceptsUISourceCode(e){return this.acceptProject(e.project())}_addUISourceCode(e){if(!this._acceptsUISourceCode(e))return;const t=he.NetworkProject.framesForUISourceCode(e);if(t.length)for(const i of t)this._addUISourceCodeNode(e,i);else this._addUISourceCodeNode(e,null);this.uiSourceCodeAdded(e)}_addUISourceCodeNode(e,t){const i=e.contentType().isFromSourceMap();let s;s=e.project().type()===Fe.projectTypes.FileSystem?Ce.FileSystemWorkspaceBinding.relativePath(e).slice(0,-1):c.ParsedURL.extractPath(e.url()).split("/").slice(1,-1);const n=e.project(),o=he.NetworkProject.targetForUISourceCode(e),r=this._folderNode(e,n,o,t,e.origin(),s,i),a=new mi(this,e,t);r.appendChild(a),this._uiSourceCodeNodes.set(e,a),this._selectDefaultTreeNode()}uiSourceCodeAdded(e){}_uiSourceCodeAdded(e){const t=e.data;this._addUISourceCode(t)}_uiSourceCodeRemoved(e){const t=e.data;this._removeUISourceCode(t)}tryAddProject(e){this._projectAdded(e),e.uiSourceCodes().forEach(this._addUISourceCode.bind(this))}_projectAdded(e){!this.acceptProject(e)||e.type()!==Fe.projectTypes.FileSystem||st.isSnippetsProject(e)||this._rootNode.child(e.id())||(this._rootNode.appendChild(new bi(this,e,e.id(),ai.FileSystem,e.displayName())),this._selectDefaultTreeNode())}_selectDefaultTreeNode(){const e=this._rootNode.children();e.length&&!this._scriptsTree.selectedTreeElement&&e[0].treeNode().select(!0,!1)}_computeUniqueFileSystemProjectNames(){const e=this._workspace.projectsForType(Fe.projectTypes.FileSystem);if(!e.length)return;const t=new Se.PathEncoder,i=e.map((e=>{const i=e;return _.reverse(t.encode(i.fileSystemPath()))})),s=new l.Trie;for(const e of i)s.add(e);for(let n=0;n<e.length;++n){const o=i[n],r=e[n];s.remove(o);const a=s.longestPrefix(o,!1);s.add(o);const c=o.substring(0,a.length+1),l=t.decode(_.reverse(c)),d=this._rootNode.child(r.id());d&&d.setTitle(l)}}_removeProject(e){const t=e.uiSourceCodes();for(let e=0;e<t.length;++e)this._removeUISourceCode(t[e]);if(e.type()!==Fe.projectTypes.FileSystem)return;const i=this._rootNode.child(e.id());i&&this._rootNode.removeChild(i)}_folderNodeId(e,t,i,s,n){return(t?t.id():"")+":"+(e.type()===Fe.projectTypes.FileSystem?e.id():"")+":"+(this._groupByFrame&&i?i.id:"")+":"+s+":"+n}_folderNode(e,t,i,s,n,o,r){if(st.isSnippetsUISourceCode(e))return this._rootNode;if(i&&!this._groupByFolder&&!r)return this._domainNode(e,t,i,s,n);const a=o.join("/"),c=this._folderNodeId(t,i,s,n,a);let l=this._subfolderNodes.get(c);if(l)return l;if(!o.length)return i?this._domainNode(e,t,i,s,n):this._rootNode.child(t.id());const d=this._folderNode(e,t,i,s,n,o.slice(0,-1),r);let h=r?ai.SourceMapFolder:ai.NetworkFolder;t.type()===Fe.projectTypes.FileSystem&&(h=ai.FileSystemFolder);const u=o[o.length-1];return l=new gi(this,t,c,h,a,u),this._subfolderNodes.set(c,l),d.appendChild(l),l}_domainNode(e,t,i,s,n){const o=this._frameNode(t,i,s);if(!this._groupByDomain)return o;let r=o.child(n);return r||(r=new bi(this,t,n,ai.Domain,this._computeProjectDisplayName(i,n)),s&&n===c.ParsedURL.extractOrigin(s.url)&&di.add(r.treeNode()),o.appendChild(r),r)}_frameNode(e,t,i){if(!this._groupByFrame||!i)return this._targetNode(e,t);let s=this._frameNodes.get(i);if(s)return s;s=new bi(this,e,t.id()+":"+i.id,ai.Frame,i.displayName()),s.setHoverCallback((function(e){if(e){const e=t.model(ke.OverlayModel);e&&i&&e.highlightFrame(i.id)}else ke.OverlayModel.hideDOMNodeHighlight()})),this._frameNodes.set(i,s);const n=i.parentFrame();return this._frameNode(e,n?n.resourceTreeModel().target():t,n).appendChild(s),n||(di.add(s.treeNode()),s.treeNode().expand()),s}_targetNode(e,t){if(t===xe.TargetManager.instance().mainTarget())return this._rootNode;let i=this._rootNode.child("target:"+t.id());return i||(i=new bi(this,e,"target:"+t.id(),t.type()===xe.Type.Frame?ai.Frame:ai.Worker,t.name()),this._rootNode.appendChild(i)),i}_computeProjectDisplayName(t,i){const s=t.model(Le.RuntimeModel),n=s?s.executionContexts():[];for(const e of n)if(e.name&&e.origin&&i.startsWith(e.origin))return e.name;if(!i)return e.UIString("(no domain)");const o=new c.ParsedURL(i);return(o.isValid?o.host+(o.port?":"+o.port:""):"")||i}revealUISourceCode(e,t){const i=this._uiSourceCodeNodes.get(e);if(0===i.size)return null;const s=i.values().next().value;return s?(this._scriptsTree.selectedTreeElement&&this._scriptsTree.selectedTreeElement.deselect(),this._lastSelectedUISourceCode=e,s.reveal(t),s):null}_sourceSelected(e,t){this._lastSelectedUISourceCode=e,i.reveal(e,!t)}_removeUISourceCode(e){const t=this._uiSourceCodeNodes.get(e);for(const e of t)this._removeUISourceCodeNode(e)}_removeUISourceCodeNode(e){const t=e.uiSourceCode();this._uiSourceCodeNodes.delete(t,e);const i=t.project(),s=he.NetworkProject.targetForUISourceCode(t),n=e.frame();let o=e.parent;if(!o)return;o.removeChild(e);let r=o;for(;r&&(o=r.parent,o&&r.isEmpty())&&(o!==this._rootNode||i.type()!==Fe.projectTypes.FileSystem)&&(r instanceof bi||r instanceof gi);){if(r._type===ai.Frame){this._discardFrame(n);break}const e=this._folderNodeId(i,s,n,t.origin(),r instanceof gi&&r._folderPath||"");this._subfolderNodes.delete(e),o.removeChild(r),r=o}}reset(){for(const e of this._uiSourceCodeNodes.valuesArray())e.dispose();this._scriptsTree.removeChildren(),this._scriptsTree.setFocusable(!1),this._uiSourceCodeNodes.clear(),this._subfolderNodes.clear(),this._frameNodes.clear(),this._rootNode.reset(),this._resetWorkspace(Fe.WorkspaceImpl.instance())}handleContextMenu(e){}async _renameShortcut(){const e=this._scriptsTree.selectedTreeElement,t=e&&e._node;return!!(t&&t._uiSourceCode&&t._uiSourceCode.canRename())&&(this.rename(t,!1),!0)}_handleContextMenuCreate(e,t,i){if(i){const e=Ce.FileSystemWorkspaceBinding.relativePath(i);e.pop(),t=e.join("/")}this.create(e,t,i)}_handleContextMenuRename(e){this.rename(e,!1)}_handleContextMenuExclude(t,i){window.confirm(e.UIString("Are you sure you want to exclude this folder?"))&&(f.startBatchUpdate(),t.excludeFolder(Ce.FileSystemWorkspaceBinding.completeURL(t,i)),f.endBatchUpdate())}_handleContextMenuDelete(t){window.confirm(e.UIString("Are you sure you want to delete this file?"))&&t.project().deleteFile(t)}handleFileContextMenu(t,i){const s=i.uiSourceCode(),n=new F.ContextMenu(t);n.appendApplicableItems(s);const o=s.project();o.type()===Fe.projectTypes.FileSystem&&(n.editSection().appendItem(e.UIString("Rename…"),this._handleContextMenuRename.bind(this,i)),n.editSection().appendItem(e.UIString("Make a copy…"),this._handleContextMenuCreate.bind(this,o,"",s)),n.editSection().appendItem(e.UIString("Delete"),this._handleContextMenuDelete.bind(this,s))),n.show()}_handleDeleteOverrides(e){window.confirm(p`Are you sure you want to delete all overrides contained in this folder?`)&&this._handleDeleteOverridesHelper(e)}_handleDeleteOverridesHelper(e){if(e._children.forEach((e=>{this._handleDeleteOverridesHelper(e)})),e instanceof mi){Se.PersistenceImpl.instance().binding(e.uiSourceCode())&&e.uiSourceCode().project().deleteFile(e.uiSourceCode())}}handleFolderContextMenu(t,i){const s=i._folderPath||"",n=i._project||null,o=new F.ContextMenu(t);if(li.appendSearchItem(o,s),n){if(n.type()===Fe.projectTypes.FileSystem){const t=c.ParsedURL.urlToPlatformPath(Ce.FileSystemWorkspaceBinding.completeURL(n,s),me.isWin());o.revealSection().appendItem(e.UIString("Open folder"),(()=>_e.InspectorFrontendHostInstance.showItemInFolder(t))),n.canCreateFile()&&o.defaultSection().appendItem(e.UIString("New file"),(()=>{this._handleContextMenuCreate(n,s,void 0)}))}n.canExcludeFolder(s)&&o.defaultSection().appendItem(e.UIString("Exclude folder"),this._handleContextMenuExclude.bind(this,n,s)),n.type()===Fe.projectTypes.FileSystem&&(o.defaultSection().appendAction("sources.add-folder-to-workspace",void 0,!0),i instanceof bi&&o.defaultSection().appendItem(e.UIString("Remove folder from workspace"),(()=>{window.confirm(e.UIString("Are you sure you want to remove this folder?"))&&n.remove()})),"overrides"===n.fileSystem().type()&&o.defaultSection().appendItem(p`Delete all overrides`,this._handleDeleteOverrides.bind(this,i))),o.show()}}rename(e,t){const i=e.uiSourceCode();e.rename(function(s){if(!t)return;s?e._treeElement&&e._treeElement.listItemElement.hasFocus()&&this._sourceSelected(i,!0):i.remove()}.bind(this))}async create(e,t,i){let s="";i&&(s=(await i.requestContent()).content||"");const n=await e.createFile(t,null,s);if(!n)return;this._sourceSelected(n,!1);const o=this.revealUISourceCode(n,!0);o&&this.rename(o,!0)}_groupingChanged(){this.reset(),this._initGrouping(),this._workspace.uiSourceCodes().forEach(this._addUISourceCode.bind(this))}_initGrouping(){this._groupByFrame=!0,this._groupByDomain=this._navigatorGroupByFolderSetting.get(),this._groupByFolder=this._groupByDomain}_resetForTest(){this.reset(),this._workspace.uiSourceCodes().forEach(this._addUISourceCode.bind(this))}_discardFrame(e){const t=this._frameNodes.get(e);if(t){t.parent&&t.parent.removeChild(t),this._frameNodes.delete(e);for(const t of e.childFrames)this._discardFrame(t)}}targetAdded(e){}targetRemoved(e){const t=this._rootNode.child("target:"+e.id());t&&this._rootNode.removeChild(t)}_targetNameChanged(e){const t=e.data,i=this._rootNode.child("target:"+t.id());i&&i.setTitle(t.name())}}const di=new WeakSet;class hi extends R.TreeElement{constructor(e,t,i,s){super("",!0),this.listItemElement.classList.add("navigator-"+t+"-tree-item","navigator-folder-tree-item"),P.setAccessibleName(this.listItemElement,`${i}, ${t}`),this._nodeType=t,this.title=i,this.tooltip=i,this._navigatorView=e,this._hoverCallback=s;let n="largeicon-navigator-folder";t===ai.Domain?n="largeicon-navigator-domain":t===ai.Frame?n="largeicon-navigator-frame":t===ai.Worker&&(n="largeicon-navigator-worker"),this.setLeadingIcons([M.Icon.create(n,"icon")]),this._node}async onpopulate(){this._node.populate()}onattach(){this.collapse(),this._node.onattach(),this.listItemElement.addEventListener("contextmenu",this._handleContextMenuEvent.bind(this),!1),this.listItemElement.addEventListener("mousemove",this._mouseMove.bind(this),!1),this.listItemElement.addEventListener("mouseleave",this._mouseLeave.bind(this),!1)}setNode(e){this._node=e;const t=[];let i=e;for(;i&&!i.isRoot();)t.push(i._title),i=i.parent;t.reverse(),this.tooltip=t.join("/"),P.setAccessibleName(this.listItemElement,`${this.title}, ${this._nodeType}`)}_handleContextMenuEvent(e){this._node&&(this.select(),this._navigatorView.handleFolderContextMenu(e,this._node))}_mouseMove(e){!this._hovered&&this._hoverCallback&&(this._hovered=!0,this._hoverCallback(!0))}_mouseLeave(e){this._hoverCallback&&(this._hovered=!1,this._hoverCallback(!1))}}class ui extends R.TreeElement{constructor(e,t,i,s){super("",!1),this._nodeType=ai.File,this._node=s,this.title=i,this.listItemElement.classList.add("navigator-"+t.contentType().name()+"-tree-item","navigator-file-tree-item"),this.tooltip=t.url(),P.setAccessibleName(this.listItemElement,`${t.name()}, ${this._nodeType}`),d.fireEvent("source-tree-file-added",t.fullDisplayName()),this._navigatorView=e,this._uiSourceCode=t,this.updateIcon()}updateIcon(){const e=Se.PersistenceImpl.instance().binding(this._uiSourceCode);if(e){const t=document.createElement("span");t.classList.add("icon-stack");let i="largeicon-navigator-file-sync";st.isSnippetsUISourceCode(e.fileSystem)&&(i="largeicon-navigator-snippet");const s=M.Icon.create(i,"icon"),n=M.Icon.create("badge-navigator-file-sync","icon-badge");fe.NetworkPersistenceManager.instance().project()===e.fileSystem.project()&&(n.style.filter="hue-rotate(160deg)"),t.appendChild(s),t.appendChild(n),y.Tooltip.install(t,ve.PersistenceUtils.tooltipForUISourceCode(this._uiSourceCode)),this.setLeadingIcons([t])}else{let e="largeicon-navigator-file";st.isSnippetsUISourceCode(this._uiSourceCode)&&(e="largeicon-navigator-snippet");const t=M.Icon.create(e,"icon");this.setLeadingIcons([t])}}get uiSourceCode(){return this._uiSourceCode}onattach(){this.listItemElement.draggable=!0,this.listItemElement.addEventListener("click",this._onclick.bind(this),!1),this.listItemElement.addEventListener("contextmenu",this._handleContextMenuEvent.bind(this),!1),this.listItemElement.addEventListener("dragstart",this._ondragstart.bind(this),!1)}_shouldRenameOnMouseDown(){if(!this._uiSourceCode.canRename())return!1;if(!this.treeOutline)return!1;return this===this.treeOutline.selectedTreeElement&&this.treeOutline.element.hasFocus()&&!f.isBeingEdited(this.treeOutline.element)}selectOnMouseDown(e){1===e.which&&this._shouldRenameOnMouseDown()?setTimeout(function(){this._shouldRenameOnMouseDown()&&this._navigatorView.rename(this._node,!1)}.bind(this),300):super.selectOnMouseDown(e)}_ondragstart(e){e.dataTransfer&&(e.dataTransfer.setData("text/plain",this._uiSourceCode.url()),e.dataTransfer.effectAllowed="copy")}onspace(){return this._navigatorView._sourceSelected(this.uiSourceCode,!0),!0}_onclick(e){this._navigatorView._sourceSelected(this.uiSourceCode,!1)}ondblclick(e){const t=1===e.button;return this._navigatorView._sourceSelected(this.uiSourceCode,!t),!1}onenter(){return this._navigatorView._sourceSelected(this.uiSourceCode,!0),!0}ondelete(){return!0}_handleContextMenuEvent(e){this.select(),this._navigatorView.handleFileContextMenu(e,this._node)}}class pi{constructor(e,t,i){this.id=t,this._navigatorView=e,this._type=i,this._children=new Map,this._populated=!1,this._isMerged=!1,this.parent,this._title}treeNode(){throw"Not implemented"}dispose(){}updateTitle(){}isRoot(){return!1}hasChildren(){return!0}onattach(){}setTitle(e){throw"Not implemented"}populate(){this.isPopulated()||(this.parent&&this.parent.populate(),this._populated=!0,this.wasPopulated())}wasPopulated(){const e=this.children();for(let t=0;t<e.length;++t)this._navigatorView.appendChild(this.treeNode(),e[t].treeNode())}didAddChild(e){this.isPopulated()&&this._navigatorView.appendChild(this.treeNode(),e.treeNode())}willRemoveChild(e){this.isPopulated()&&this._navigatorView.removeChild(this.treeNode(),e.treeNode())}isPopulated(){return this._populated}isEmpty(){return!this._children.size}children(){return[...this._children.values()]}child(e){return this._children.get(e)||null}appendChild(e){this._children.set(e.id,e),e.parent=this,this.didAddChild(e)}removeChild(e){this.willRemoveChild(e),this._children.delete(e.id),e.parent=null,e.dispose()}reset(){this._children.clear()}}class _i extends pi{constructor(e){super(e,"",ai.Root)}isRoot(){return!0}treeNode(){return this._navigatorView._scriptsTree.rootElement()}}class mi extends pi{constructor(e,t,i){super(e,t.project().id()+":"+t.url(),ai.File),this._uiSourceCode=t,this._treeElement=null,this._eventListeners=[],this._frame=i}frame(){return this._frame}uiSourceCode(){return this._uiSourceCode}treeNode(){if(this._treeElement)return this._treeElement;this._treeElement=new ui(this._navigatorView,this._uiSourceCode,"",this),this.updateTitle();const e=this.updateTitle.bind(this,void 0);return this._eventListeners=[this._uiSourceCode.addEventListener(De.Events.TitleChanged,e),this._uiSourceCode.addEventListener(De.Events.WorkingCopyChanged,e),this._uiSourceCode.addEventListener(De.Events.WorkingCopyCommitted,e)],this._treeElement}updateTitle(t){if(!this._treeElement)return;let i=this._uiSourceCode.displayName();!t&&this._uiSourceCode.isDirty()&&(i="*"+i),this._treeElement.title=i,this._treeElement.updateIcon();let s=this._uiSourceCode.url();this._uiSourceCode.contentType().isFromSourceMap()&&(s=e.UIString("%s (from source map)",this._uiSourceCode.displayName())),this._treeElement.tooltip=s}hasChildren(){return!1}dispose(){d.EventTarget.removeEventListeners(this._eventListeners)}reveal(e){this.parent&&(this.parent.populate(),this.parent.treeNode().expand()),this._treeElement&&(this._treeElement.reveal(!0),e&&this._treeElement.select(!0))}rename(e){if(!this._treeElement)return;if(this._treeElement.listItemElement.focus(),!this._treeElement.treeOutline)return;const t=this._treeElement.treeOutline.element;function i(i){if(!i)return f.markBeingEdited(t,!1),this.updateTitle(),void this.rename(e);s.call(this,!0)}function s(i){f.markBeingEdited(t,!1),this.updateTitle(),e&&e(i)}f.markBeingEdited(t,!0),this.updateTitle(!0),this._treeElement.startEditingTitle(new j.Config(function(e,t,n){if(t!==n)return this._treeElement&&(this._treeElement.title=t),void this._uiSourceCode.rename(t).then(i.bind(this));s.call(this,!0)}.bind(this),s.bind(this,!1)))}}class gi extends pi{constructor(e,t,i,s,n,o){super(e,i,s),this._project=t,this._folderPath=n,this._title=o,this._treeElement}treeNode(){return this._treeElement||(this._treeElement=this._createTreeElement(this._title,this),this.updateTitle()),this._treeElement}updateTitle(){if(!this._treeElement||!this._project||this._project.type()!==Fe.projectTypes.FileSystem)return;const e=Ce.FileSystemWorkspaceBinding.fileSystemPath(this._project.id())+"/"+this._folderPath,t=Se.PersistenceImpl.instance().filePathHasBindings(e);this._treeElement.listItemElement.classList.toggle("has-mapped-files",t)}_createTreeElement(e,t){if(this._project&&this._project.type()!==Fe.projectTypes.FileSystem)try{e=decodeURI(e)}catch(e){}const i=new hi(this._navigatorView,this._type,e);return i.setNode(t),i}wasPopulated(){this._treeElement&&this._treeElement._node===this&&this._addChildrenRecursive()}_addChildrenRecursive(){const e=this.children();for(let t=0;t<e.length;++t){const i=e[t];this.didAddChild(i),i instanceof gi&&i._addChildrenRecursive()}}_shouldMerge(e){return this._type!==ai.Domain&&e instanceof gi}didAddChild(e){if(!this._treeElement)return;let t,i=this.children();if(1===i.length&&this._shouldMerge(e))return e._isMerged=!0,this._treeElement.title=this._treeElement.title+"/"+e._title,e._treeElement=this._treeElement,void this._treeElement.setNode(e);if(2===i.length&&(t=i[0]!==e?i[0]:i[1]),t&&t._isMerged){t._isMerged=!1;const e=[];e.push(this);let s=this;for(;s&&s._isMerged;)s=s.parent,s&&e.push(s);e.reverse();const n=e.map((e=>e._title)).join("/"),o=[];s=t;do{o.push(s),i=s.children(),s=1===i.length?i[0]:null}while(s&&s._isMerged);if(!this.isPopulated()){this._treeElement.title=n,this._treeElement.setNode(this);for(let e=0;e<o.length;++e)o[e]._treeElement=null,o[e]._isMerged=!1;return}const r=this._treeElement,a=this._createTreeElement(n,this);for(let t=0;t<e.length;++t)e[t]._treeElement=a;r.parent&&this._navigatorView.appendChild(r.parent,a),r.setNode(o[o.length-1]),r.title=o.map((e=>e._title)).join("/"),r.parent&&this._navigatorView.removeChild(r.parent,r),this._navigatorView.appendChild(this._treeElement,r),r.expanded&&a.expand()}this.isPopulated()&&this._navigatorView.appendChild(this._treeElement,e.treeNode())}willRemoveChild(e){const t=e;!t._isMerged&&this.isPopulated()&&this._treeElement&&t._treeElement&&this._navigatorView.removeChild(this._treeElement,t._treeElement)}}class bi extends pi{constructor(e,t,i,s,n){super(e,i,s),this._project=t,this._title=n,this.populate()}setHoverCallback(e){this._hoverCallback=e}treeNode(){return this._treeElement||(this._treeElement=new hi(this._navigatorView,this._type,this._title,this._hoverCallback),this._treeElement.setNode(this)),this._treeElement}onattach(){this.updateTitle()}updateTitle(){if(!this._treeElement||this._project.type()!==Fe.projectTypes.FileSystem)return;const e=Ce.FileSystemWorkspaceBinding.fileSystemPath(this._project.id()),t=this._treeElement.listItemElement.classList.contains("has-mapped-files"),i=Se.PersistenceImpl.instance().filePathHasBindings(e);t!==i&&(this._treeElement.listItemElement.classList.toggle("has-mapped-files",i),this._treeElement.childrenListElement.hasFocus()||(i?this._treeElement.expand():this._treeElement.collapse()))}setTitle(e){this._title=e,this._treeElement&&(this._treeElement.title=this._title)}}var Si=Object.freeze({__proto__:null,Types:ai,NavigatorView:li,NavigatorFolderTreeElement:hi,NavigatorSourceTreeElement:ui,NavigatorTreeNode:pi,NavigatorRootTreeNode:_i,NavigatorUISourceCodeTreeNode:mi,NavigatorFolderTreeNode:gi,NavigatorGroupTreeNode:bi});let Ci;class fi extends C.VBox{constructor(){super(!0),this.registerRequiredCSS("sources/threadsSidebarPane.css",{enableLegacyPatching:!0}),this._items=new L.ListModel,this._list=new k.ListControl(this._items,this,k.ListMode.NonViewport);const e=T.Context.instance().flavor(xe.Target);this._selectedModel=null!==e?e.model(Ee.DebuggerModel):null,this.contentElement.appendChild(this._list.element),T.Context.instance().addFlavorChangeListener(xe.Target,this._targetFlavorChanged,this),xe.TargetManager.instance().observeModels(Ee.DebuggerModel,this)}static instance(){return Ci||(Ci=new fi),Ci}static shouldBeShown(){return xe.TargetManager.instance().models(Ee.DebuggerModel).length>=2}createElementForItem(e){const t=document.createElement("div");t.classList.add("thread-item");const i=t.createChild("div","thread-item-title"),s=t.createChild("div","thread-item-paused-state");t.appendChild(M.Icon.create("smallicon-thick-right-arrow","selected-thread-icon")),t.tabIndex=-1,self.onInvokeElement(t,(t=>{T.Context.instance().setFlavor(xe.Target,e.target()),t.consume(!0)}));const n=T.Context.instance().flavor(xe.Target)===e.target();function o(){const t=e.runtimeModel().defaultExecutionContext();i.textContent=t&&t.label()?t.label():e.target().name()}function r(){s.textContent=e.isPaused()?p`paused`:""}return t.classList.toggle("selected",n),P.setSelected(t,n),e.addEventListener(Ee.Events.DebuggerPaused,r),e.addEventListener(Ee.Events.DebuggerResumed,r),e.runtimeModel().addEventListener(Le.Events.ExecutionContextChanged,o),xe.TargetManager.instance().addEventListener(xe.Events.NameChanged,(function(t){t.data===e.target()&&o()})),r(),o(),t}heightForItem(e){return console.assert(!1),0}isItemSelectable(e){return!0}selectedItemChanged(e,t,i,s){i&&(i.tabIndex=-1);const n=s;n&&(this.setDefaultFocusedElement(n),n.tabIndex=0,this.hasFocus()&&n.focus())}updateSelectedItemARIA(e,t){return!1}modelAdded(e){this._items.insert(this._items.length,e);T.Context.instance().flavor(xe.Target)===e.target()&&this._list.selectItem(e)}modelRemoved(e){this._items.remove(this._items.indexOf(e))}_targetFlavorChanged(e){const t=this.hasFocus(),i=e.data.model(Ee.DebuggerModel);this._list.selectItem(i),i&&this._list.refreshItem(i),null!==this._selectedModel&&this._list.refreshItem(this._selectedModel),this._selectedModel=i,t&&this.focus()}}var vi=Object.freeze({__proto__:null,ThreadsSidebarPane:fi});let wi,Ei;class xi extends V.Panel{constructor(){super("sources"),this.registerRequiredCSS("sources/sourcesPanel.css",{enableLegacyPatching:!1}),new O.DropTarget(this.element,[O.Type.Folder],e.UIString("Drop workspace folder here"),this._handleDrop.bind(this)),this._workspace=Fe.WorkspaceImpl.instance(),this._togglePauseAction=W.ActionRegistry.instance().action("debugger.toggle-pause"),this._stepOverAction=W.ActionRegistry.instance().action("debugger.step-over"),this._stepIntoAction=W.ActionRegistry.instance().action("debugger.step-into"),this._stepOutAction=W.ActionRegistry.instance().action("debugger.step-out"),this._stepAction=W.ActionRegistry.instance().action("debugger.step"),this._toggleBreakpointsActiveAction=W.ActionRegistry.instance().action("debugger.toggle-breakpoints-active"),this._debugToolbar=this._createDebugToolbar(),this._debugToolbarDrawer=this._createDebugToolbarDrawer(),this._debuggerPausedMessage=new Nt;this._splitWidget=new H.SplitWidget(!0,!0,"sourcesPanelSplitViewState",225),this._splitWidget.enableShowModeSaving(),this._splitWidget.show(this.element);this.editorView=new H.SplitWidget(!0,!1,"sourcesPanelNavigatorSplitViewState",225),this.editorView.enableShowModeSaving(),this._splitWidget.setMainWidget(this.editorView),this._navigatorTabbedLocation=D.ViewManager.instance().createTabbedLocation(this._revealNavigatorSidebar.bind(this),"navigator-view",!0);const t=this._navigatorTabbedLocation.tabbedPane();t.setMinimumSize(100,25),t.element.classList.add("navigator-tabbed-pane");const i=new E.ToolbarMenuButton(this._populateNavigatorMenu.bind(this),!0);if(i.setTitle(e.UIString("More options")),t.rightToolbar().appendToolbarItem(i),D.ViewManager.instance().hasViewsForLocation("run-view-sidebar")){const e=new H.SplitWidget(!1,!0,"sourcePanelNavigatorSidebarSplitViewState");e.setMainWidget(t);const i=D.ViewManager.instance().createTabbedLocation(this._revealNavigatorSidebar.bind(this),"run-view-sidebar").tabbedPane();e.setSidebarWidget(i),e.installResizer(i.headerElement()),this.editorView.setSidebarWidget(e)}else this.editorView.setSidebarWidget(t);this._sourcesView=new Ki,this._sourcesView.addEventListener($i.EditorSelected,this._editorSelected.bind(this)),this._toggleNavigatorSidebarButton=this.editorView.createShowHideSidebarButton(p`navigator`),this._toggleDebuggerSidebarButton=this._splitWidget.createShowHideSidebarButton(p`debugger`),this.editorView.setMainWidget(this._sourcesView),this._threadsSidebarPane=null,this._watchSidebarPane=D.ViewManager.instance().view("sources.watch"),this._callstackPane=Ct.instance(),a.Settings.instance().moduleSetting("sidebarPosition").addChangeListener(this._updateSidebarPosition.bind(this)),this._updateSidebarPosition(),this._updateDebuggerButtonsAndStatus(),this._pauseOnExceptionEnabledChanged(),a.Settings.instance().moduleSetting("pauseOnExceptionEnabled").addChangeListener(this._pauseOnExceptionEnabledChanged,this),this._liveLocationPool=new re.LiveLocationPool,this._setTarget(T.Context.instance().flavor(xe.Target)),a.Settings.instance().moduleSetting("breakpointsActive").addChangeListener(this._breakpointsActiveStateChanged,this),T.Context.instance().addFlavorChangeListener(xe.Target,this._onCurrentTargetChanged,this),T.Context.instance().addFlavorChangeListener(Ee.CallFrame,this._callFrameChanged,this),xe.TargetManager.instance().addModelListener(Ee.DebuggerModel,Ee.Events.DebuggerWasEnabled,this._debuggerWasEnabled,this),xe.TargetManager.instance().addModelListener(Ee.DebuggerModel,Ee.Events.DebuggerPaused,this._debuggerPaused,this),xe.TargetManager.instance().addModelListener(Ee.DebuggerModel,Ee.Events.DebuggerResumed,(e=>this._debuggerResumed(e.data))),xe.TargetManager.instance().addModelListener(Ee.DebuggerModel,Ee.Events.GlobalObjectCleared,(e=>this._debuggerResumed(e.data))),it.ExtensionServer.instance().addEventListener(it.Events.SidebarPaneAdded,this._extensionSidebarPaneAdded,this),xe.TargetManager.instance().observeTargets(this),this._lastModificationTime=window.performance.now()}static instance(e={forceNew:null}){const{forceNew:t}=e;return wi&&!t||(wi=new xi),wi}static updateResizerAndSidebarButtons(e){e._sourcesView.leftToolbar().removeToolbarItems(),e._sourcesView.rightToolbar().removeToolbarItems(),e._sourcesView.bottomToolbar().removeToolbarItems();const t=Li.isShowing()&&!A.InspectorView.instance().isDrawerMinimized();e._splitWidget.isVertical()||t?e._splitWidget.uninstallResizer(e._sourcesView.toolbarContainerElement()):e._splitWidget.installResizer(e._sourcesView.toolbarContainerElement()),t||(e._sourcesView.leftToolbar().appendToolbarItem(e._toggleNavigatorSidebarButton),e._splitWidget.isVertical()?e._sourcesView.rightToolbar().appendToolbarItem(e._toggleDebuggerSidebarButton):e._sourcesView.bottomToolbar().appendToolbarItem(e._toggleDebuggerSidebarButton))}targetAdded(e){this._showThreadsIfNeeded()}targetRemoved(e){}_showThreadsIfNeeded(){fi.shouldBeShown()&&!this._threadsSidebarPane&&(this._threadsSidebarPane=D.ViewManager.instance().view("sources.threads"),this._sidebarPaneStack&&this._threadsSidebarPane&&this._sidebarPaneStack.showView(this._threadsSidebarPane,this._splitWidget.isVertical()?this._watchSidebarPane:this._callstackPane))}_setTarget(e){if(!e)return;const t=e.model(Ee.DebuggerModel);t&&(t.isPaused()?this._showDebuggerPausedDetails(t.debuggerPausedDetails()):(this._paused=!1,this._clearInterface(),this._toggleDebuggerSidebarButton.setEnabled(!0)))}_onCurrentTargetChanged(e){const t=e.data;this._setTarget(t)}paused(){return this._paused||!1}wasShown(){T.Context.instance().setFlavor(xi,this),super.wasShown();const e=Li.instance();e&&e.isShowing()&&(A.InspectorView.instance().setDrawerMinimized(!0),xi.updateResizerAndSidebarButtons(this)),this.editorView.setMainWidget(this._sourcesView)}willHide(){super.willHide(),T.Context.instance().setFlavor(xi,null),Li.isShowing()&&(Li.instance()._showViewInWrapper(),A.InspectorView.instance().setDrawerMinimized(!1),xi.updateResizerAndSidebarButtons(this))}resolveLocation(e){return"sources.sidebar-top"===e||"sources.sidebar-bottom"===e||"sources.sidebar-tabs"===e?this._sidebarPaneStack||null:this._navigatorTabbedLocation}_ensureSourcesViewVisible(){return!!Li.isShowing()||!!A.InspectorView.instance().canSelectPanel("sources")&&(D.ViewManager.instance().showView("sources"),!0)}onResize(){"auto"===a.Settings.instance().moduleSetting("sidebarPosition").get()&&this.element.window().requestAnimationFrame(this._updateSidebarPosition.bind(this))}searchableView(){return this._sourcesView.searchableView()}_debuggerPaused(e){const t=e.data,i=t.debuggerPausedDetails();this._paused||this._setAsCurrentPanel(),T.Context.instance().flavor(xe.Target)===t.target()?this._showDebuggerPausedDetails(i):this._paused||T.Context.instance().setFlavor(xe.Target,t.target())}_showDebuggerPausedDetails(e){this._paused=!0,this._updateDebuggerButtonsAndStatus(),T.Context.instance().setFlavor(Ee.DebuggerPausedDetails,e),this._toggleDebuggerSidebarButton.setEnabled(!1),this._revealDebuggerSidebar(),window.focus(),_e.InspectorFrontendHostInstance.bringToFront()}_debuggerResumed(e){const t=e.target();T.Context.instance().flavor(xe.Target)===t&&(this._paused=!1,this._clearInterface(),this._toggleDebuggerSidebarButton.setEnabled(!0),this._switchToPausedTargetTimeout=setTimeout(this._switchToPausedTarget.bind(this,e),500))}_debuggerWasEnabled(e){const t=e.data;T.Context.instance().flavor(xe.Target)===t.target()&&this._updateDebuggerButtonsAndStatus()}get visibleView(){return this._sourcesView.visibleView()}showUISourceCode(e,t,i,s){if(s){const e=Li.isShowing();if(!this.isShowing()&&!e)return}else this._showEditor();this._sourcesView.showSourceLocation(e,t,i,s)}_showEditor(){Li.isShowing()||this._setAsCurrentPanel()}showUILocation(e,t){this.showUISourceCode(e.uiSourceCode,e.lineNumber,e.columnNumber,t)}_revealInNavigator(e,t){const i=oe.Runtime.instance().extensions(li);Promise.all(i.map((e=>e.instance()))).then(function(s){for(let n=0;n<s.length;++n){const o=s[n],r=i[n].descriptor().viewId;r&&o.acceptProject(e.project())&&(o.revealUISourceCode(e,!0),t?this._navigatorTabbedLocation.tabbedPane().selectTab(r):D.ViewManager.instance().showView(r))}}.bind(this))}_populateNavigatorMenu(t){const i=a.Settings.instance().moduleSetting("navigatorGroupByFolder");t.appendItemsAtLocation("navigatorMenu"),t.viewSection().appendCheckboxItem(e.UIString("Group by folder"),(()=>i.set(!i.get())),i.get())}setIgnoreExecutionLineEvents(e){this._ignoreExecutionLineEvents=e}updateLastModificationTime(){this._lastModificationTime=window.performance.now()}async _executionLineChanged(e){const t=await e.uiLocation();t&&(window.performance.now()-this._lastModificationTime<yi||this._sourcesView.showSourceLocation(t.uiSourceCode,t.lineNumber,t.columnNumber,void 0,!0))}_lastModificationTimeoutPassedForTest(){yi=Number.MIN_VALUE}_updateLastModificationTimeForTest(){yi=Number.MAX_VALUE}async _callFrameChanged(){const e=T.Context.instance().flavor(Ee.CallFrame);e&&(this._executionLineLocation&&this._executionLineLocation.dispose(),this._executionLineLocation=await ce.DebuggerWorkspaceBinding.instance().createCallFrameLiveLocation(e.location(),this._executionLineChanged.bind(this),this._liveLocationPool))}_pauseOnExceptionEnabledChanged(){const e=a.Settings.instance().moduleSetting("pauseOnExceptionEnabled").get(),t=this._pauseOnExceptionButton;t.setToggled(e),t.setTitle(e?p`Don't pause on exceptions`:p`Pause on exceptions`),this._debugToolbarDrawer.classList.toggle("expanded",e)}async _updateDebuggerButtonsAndStatus(){const e=T.Context.instance().flavor(xe.Target),t=e?e.model(Ee.DebuggerModel):null;t?this._paused?(this._togglePauseAction.setToggled(!0),this._togglePauseAction.setEnabled(!0),this._stepOverAction.setEnabled(!0),this._stepIntoAction.setEnabled(!0),this._stepOutAction.setEnabled(!0),this._stepAction.setEnabled(!0)):(this._togglePauseAction.setToggled(!1),this._togglePauseAction.setEnabled(!t.isPausing()),this._stepOverAction.setEnabled(!1),this._stepIntoAction.setEnabled(!1),this._stepOutAction.setEnabled(!1),this._stepAction.setEnabled(!1)):(this._togglePauseAction.setEnabled(!1),this._stepOverAction.setEnabled(!1),this._stepIntoAction.setEnabled(!1),this._stepOutAction.setEnabled(!1),this._stepAction.setEnabled(!1));const i=t?t.debuggerPausedDetails():null;await this._debuggerPausedMessage.render(i,ce.DebuggerWorkspaceBinding.instance(),ue.BreakpointManager.instance()),i&&this._updateDebuggerButtonsAndStatusForTest()}_updateDebuggerButtonsAndStatusForTest(){}_clearInterface(){this._updateDebuggerButtonsAndStatus(),T.Context.instance().setFlavor(Ee.DebuggerPausedDetails,null),this._switchToPausedTargetTimeout&&clearTimeout(this._switchToPausedTargetTimeout),this._liveLocationPool.disposeAll()}_switchToPausedTarget(e){if(delete this._switchToPausedTargetTimeout,!this._paused&&!e.isPaused())for(const e of xe.TargetManager.instance().models(Ee.DebuggerModel))if(e.isPaused()){T.Context.instance().setFlavor(xe.Target,e.target());break}}_togglePauseOnExceptions(){a.Settings.instance().moduleSetting("pauseOnExceptionEnabled").set(!this._pauseOnExceptionButton.toggled())}_runSnippet(){const e=this._sourcesView.currentUISourceCode();e&&st.evaluateScriptSnippet(e)}_toggleRecording(){const e=this._sourcesView.currentUISourceCode();if(!e)return;const t=T.Context.instance().flavor(xe.Target);if(!t)return;const i=t.model(at.RecorderModel);i&&i.toggleRecording(e)}_editorSelected(e){const t=e.data;this.editorView.mainWidget()&&a.Settings.instance().moduleSetting("autoRevealInNavigator").get()&&this._revealInNavigator(t,!0)}_togglePause(){const e=T.Context.instance().flavor(xe.Target);if(!e)return!0;const t=e.model(Ee.DebuggerModel);return!t||(this._paused?(this._paused=!1,t.resume()):t.pause(),this._clearInterface(),!0)}_prepareToResume(){if(!this._paused)return null;this._paused=!1,this._clearInterface();const e=T.Context.instance().flavor(xe.Target);return e?e.model(Ee.DebuggerModel):null}_longResume(e){const t=this._prepareToResume();t&&(t.skipAllPausesUntilReloadOrTimeout(500),t.resume())}_terminateExecution(e){const t=this._prepareToResume();t&&(t.runtimeModel().terminateExecution(),t.resume())}_stepOver(){const e=this._prepareToResume();return e&&e.stepOver(),!0}_stepInto(){const e=this._prepareToResume();return e&&e.stepInto(),!0}_stepIntoAsync(){const e=this._prepareToResume();return e&&e.scheduleStepIntoAsync(),!0}_stepOut(){const e=this._prepareToResume();return e&&e.stepOut(),!0}async _continueToLocation(e){const t=T.Context.instance().flavor(Le.ExecutionContext);if(!t)return;const i=(await ce.DebuggerWorkspaceBinding.instance().uiLocationToRawLocations(e.uiSourceCode,e.lineNumber,0)).find((e=>e.debuggerModel===t.debuggerModel));i&&this._prepareToResume()&&i.continueToLocation()}_toggleBreakpointsActive(){a.Settings.instance().moduleSetting("breakpointsActive").set(!a.Settings.instance().moduleSetting("breakpointsActive").get())}_breakpointsActiveStateChanged(){const e=a.Settings.instance().moduleSetting("breakpointsActive").get();this._toggleBreakpointsActiveAction.setToggled(!e),this._sourcesView.toggleBreakpointsActiveState(e)}_createDebugToolbar(){const t=new E.Toolbar("scripts-debug-toolbar"),i=new E.ToolbarButton(e.UIString("Resume with all pauses blocked for 500 ms"),"largeicon-play");i.addEventListener(E.ToolbarButton.Events.Click,this._longResume,this);const s=new E.ToolbarButton(p`Terminate current JavaScript call`,"largeicon-terminate-execution");return s.addEventListener(E.ToolbarButton.Events.Click,this._terminateExecution,this),t.appendToolbarItem(E.Toolbar.createLongPressActionButton(this._togglePauseAction,[s,i],[])),t.appendToolbarItem(E.Toolbar.createActionButton(this._stepOverAction)),t.appendToolbarItem(E.Toolbar.createActionButton(this._stepIntoAction)),t.appendToolbarItem(E.Toolbar.createActionButton(this._stepOutAction)),t.appendToolbarItem(E.Toolbar.createActionButton(this._stepAction)),t.appendSeparator(),t.appendToolbarItem(E.Toolbar.createActionButton(this._toggleBreakpointsActiveAction)),this._pauseOnExceptionButton=new E.ToolbarToggle("","largeicon-pause-on-exceptions"),this._pauseOnExceptionButton.addEventListener(E.ToolbarButton.Events.Click,this._togglePauseOnExceptions,this),t.appendToolbarItem(this._pauseOnExceptionButton),t}_createDebugToolbarDrawer(){const t=document.createElement("div");t.classList.add("scripts-debug-toolbar-drawer");const i=e.UIString("Pause on caught exceptions"),s=a.Settings.instance().moduleSetting("pauseOnCaughtException");return t.appendChild(z.createSettingCheckbox(i,s,!0)),t}appendApplicableItems(e,t,i){this._appendUISourceCodeItems(e,t,i),this._appendUISourceCodeFrameItems(e,t,i),this.appendUILocationItems(t,i),this._appendRemoteObjectItems(t,i),this._appendNetworkRequestItems(t,i)}_appendUISourceCodeItems(t,i,s){if(!(s instanceof De.UISourceCode&&t.target))return;const n=s,o=t.target;n.project().isServiceProject()||o.isSelfOrDescendant(this._navigatorTabbedLocation.widget().element)||i.revealSection().appendItem(e.UIString("Reveal in sidebar"),this._handleContextMenuReveal.bind(this,n))}_appendUISourceCodeFrameItems(e,t,i){i instanceof Ti&&(i.uiSourceCode().contentType().isFromSourceMap()||i.textEditor.selection().isEmpty()||t.debugSection().appendAction("debugger.evaluate-selection"))}appendUILocationItems(t,i){if(!(i instanceof De.UILocation))return;const s=i,n=s.uiSourceCode;if(!ce.DebuggerWorkspaceBinding.instance().scriptsForUISourceCode(n).every((e=>e.isJavaScript())))return;if(n.contentType().hasScripts()){const i=T.Context.instance().flavor(xe.Target),o=i?i.model(Ee.DebuggerModel):null;o&&o.isPaused()&&t.debugSection().appendItem(e.UIString("Continue to here"),this._continueToLocation.bind(this,s)),this._callstackPane.appendIgnoreListURLContextMenuItems(t,n)}}_handleContextMenuReveal(e){this.editorView.showBoth(),this._revealInNavigator(e)}_appendRemoteObjectItems(e,t){if(!(t instanceof Te.RemoteObject))return;const i=a.Settings.instance().moduleSetting("textEditorIndent").get(),s=t,n=T.Context.instance().flavor(Le.ExecutionContext);const o="wasm"===s.type?s.subtype:"node"===s.subtype?"outerHTML":s.type;if(e.debugSection().appendItem(p`Store ${o} as global variable`,(()=>Pe.ConsoleModel.instance().saveToTempVariable(n,s))),"function"!==s.type){const t=async()=>{const e=await s.callFunctionJSON(r,[{value:{subtype:s.subtype,indent:i}}]);_e.InspectorFrontendHostInstance.copyText(e)};e.clipboardSection().appendItem(p`Copy ${o}`,t)}function r(e){const t=e.subtype,i=e.indent;if("node"===t)return this instanceof Element?this.outerHTML:void 0;if(t&&void 0===this)return String(t);try{return JSON.stringify(this,null,i)}catch(e){return String(this)}}"function"===s.type&&e.debugSection().appendItem(p`Show function definition`,this._showFunctionDefinition.bind(this,s))}_appendNetworkRequestItems(t,i){if(!(i instanceof Me.NetworkRequest))return;const s=i,n=this._workspace.uiSourceCodeForURL(s.url());if(!n)return;const o=e.UIString("Open in Sources panel"),r=this.showUILocation.bind(this,n.uiLocation(0,0));t.revealSection().appendItem(o,r)}_showFunctionDefinition(e){e.debuggerModel().functionDetailsPromise(e).then(this._didGetFunctionDetails.bind(this))}async _didGetFunctionDetails(e){if(!e||!e.location)return;const t=await ce.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(e.location);t&&this.showUILocation(t)}_revealNavigatorSidebar(){this._setAsCurrentPanel(),this.editorView.showBoth(!0)}_revealDebuggerSidebar(){this._setAsCurrentPanel(),this._splitWidget.showBoth(!0)}_updateSidebarPosition(){let e;const t=a.Settings.instance().moduleSetting("sidebarPosition").get();if(e="right"!==t&&("bottom"===t||A.InspectorView.instance().element.offsetWidth<680),this.sidebarPaneView&&e===!this._splitWidget.isVertical())return;if(this.sidebarPaneView&&this.sidebarPaneView.shouldHideOnDetach())return;this.sidebarPaneView&&this.sidebarPaneView.detach(),this._splitWidget.setVertical(!e),this._splitWidget.element.classList.toggle("sources-split-view-vertical",e),xi.updateResizerAndSidebarButtons(this);const i=new C.VBox;i.element.appendChild(this._debugToolbar.element),i.element.appendChild(this._debugToolbarDrawer),i.setMinimumAndPreferredSizes(Ii,25,Ii,100),this._sidebarPaneStack=D.ViewManager.instance().createStackLocation(this._revealDebuggerSidebar.bind(this)),this._sidebarPaneStack.widget().element.classList.add("overflow-auto"),this._sidebarPaneStack.widget().show(i.element),this._sidebarPaneStack.widget().element.appendChild(this._debuggerPausedMessage.element()),this._sidebarPaneStack.appendApplicableItems("sources.sidebar-top"),this._threadsSidebarPane&&this._sidebarPaneStack.showView(this._threadsSidebarPane);const s=D.ViewManager.instance().view("sources.jsBreakpoints"),n=D.ViewManager.instance().view("sources.scopeChain");if(this._tabbedLocationHeader&&(this._splitWidget.uninstallResizer(this._tabbedLocationHeader),this._tabbedLocationHeader=null),e){const e=new H.SplitWidget(!0,!0,"sourcesPanelDebuggerSidebarSplitViewState",.5);e.setMainWidget(i),this._sidebarPaneStack.showView(s),this._sidebarPaneStack.showView(this._callstackPane);const t=D.ViewManager.instance().createTabbedLocation(this._revealDebuggerSidebar.bind(this));e.setSidebarWidget(t.tabbedPane()),this._tabbedLocationHeader=t.tabbedPane().headerElement(),this._splitWidget.installResizer(this._tabbedLocationHeader),this._splitWidget.installResizer(this._debugToolbar.gripElementForResize()),t.appendView(n),t.appendView(this._watchSidebarPane),t.appendApplicableItems("sources.sidebar-tabs"),this._extensionSidebarPanesContainer=t,this.sidebarPaneView=e}else this._sidebarPaneStack.appendView(this._watchSidebarPane),this._sidebarPaneStack.showView(s),this._sidebarPaneStack.showView(n),this._sidebarPaneStack.showView(this._callstackPane),this._extensionSidebarPanesContainer=this._sidebarPaneStack,this.sidebarPaneView=i,this._splitWidget.uninstallResizer(this._debugToolbar.gripElementForResize());this._sidebarPaneStack.appendApplicableItems("sources.sidebar-bottom");const o=it.ExtensionServer.instance().sidebarPanes();for(let e=0;e<o.length;++e)this._addExtensionSidebarPane(o[e]);this._splitWidget.setSidebarWidget(this.sidebarPaneView)}_setAsCurrentPanel(){return D.ViewManager.instance().showView("sources")}_extensionSidebarPaneAdded(e){const t=e.data;this._addExtensionSidebarPane(t)}_addExtensionSidebarPane(e){e.panelName()===this.name&&this._extensionSidebarPanesContainer.appendView(e)}sourcesView(){return this._sourcesView}_handleDrop(e){const t=e.items;if(!t.length)return;const i=t[0].webkitGetAsEntry();i.isDirectory&&_e.InspectorFrontendHostInstance.upgradeDraggedFileSystemPermissions(i.filesystem)}}let yi=200;const Ii=215;class Li extends C.VBox{constructor(){super(),this.element.classList.add("sources-view-wrapper"),this._view=xi.instance()._sourcesView}static instance(){return Ei||(Ei=new Li),Ei}static isShowing(){return Boolean(Ei)&&Ei.isShowing()}wasShown(){xi.instance().isShowing()?A.InspectorView.instance().setDrawerMinimized(!0):this._showViewInWrapper(),xi.updateResizerAndSidebarButtons(xi.instance())}willHide(){A.InspectorView.instance().setDrawerMinimized(!1),queueMicrotask((()=>{xi.updateResizerAndSidebarButtons(xi.instance())}))}_showViewInWrapper(){this._view.show(this.element)}}var ki=Object.freeze({__proto__:null,SourcesPanel:xi,get lastModificationTimeout(){return yi},minToolbarWidth:Ii,UILocationRevealer:class{reveal(e,t){return e instanceof De.UILocation?(xi.instance().showUILocation(e,t),Promise.resolve()):Promise.reject(new Error("Internal error: not a ui location"))}},DebuggerLocationRevealer:class{async reveal(e,t){if(!(e instanceof Ee.Location))throw new Error("Internal error: not a debugger location");const i=await ce.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(e);i&&xi.instance().showUILocation(i,t)}},UISourceCodeRevealer:class{reveal(e,t){return e instanceof De.UISourceCode?(xi.instance().showUISourceCode(e,void 0,void 0,t),Promise.resolve()):Promise.reject(new Error("Internal error: not a ui source code"))}},DebuggerPausedDetailsRevealer:class{reveal(e){return xi.instance()._setAsCurrentPanel()}},RevealingActionDelegate:class{handleAction(e,t){const i=xi.instance();if(!i._ensureSourcesViewVisible())return!1;switch(t){case"debugger.toggle-pause":return i._togglePause(),!0}return!1}},DebuggingActionDelegate:class{handleAction(e,t){const i=xi.instance();switch(t){case"debugger.step-over":return i._stepOver(),!0;case"debugger.step-into":return i._stepIntoAsync(),!0;case"debugger.step":return i._stepInto(),!0;case"debugger.step-out":return i._stepOut(),!0;case"debugger.run-snippet":return i._runSnippet(),!0;case"recorder.toggle-recording":return i._toggleRecording(),!0;case"debugger.toggle-breakpoints-active":return i._toggleBreakpointsActive(),!0;case"debugger.evaluate-selection":{const e=T.Context.instance().flavor(Ti);if(e){let t=e.textEditor.text(e.textEditor.selection());const i=T.Context.instance().flavor(Le.ExecutionContext);if(i){const e=Pe.ConsoleModel.instance().addCommandMessage(i,t);t=te.JavaScriptREPL.wrapObjectLiteral(t),Pe.ConsoleModel.instance().evaluateCommandInConsole(i,e,t,!0)}}return!0}}return!1}},WrapperView:Li});class Ti extends Ge.SourceFrameImpl{constructor(e){super((function(){if(e.isDirty())return Promise.resolve({content:e.workingCopy(),isEncoded:!1});return e.requestContent()})),this._uiSourceCode=e,oe.experiments.isEnabled("sourceDiff")&&(this._diff=new qe.SourceCodeDiff(this.textEditor)),this._muteSourceCodeEvents=!1,this._isSettingContent=!1,this._persistenceBinding=Se.PersistenceImpl.instance().binding(e),this._rowMessageBuckets=new Map,this._typeDecorationsPending=new Set,this._uiSourceCodeEventListeners=[],this._messageAndDecorationListeners=[],this._boundOnBindingChanged=this._onBindingChanged.bind(this),this.textEditor.addEventListener(ze.Events.EditorBlurred,(()=>T.Context.instance().setFlavor(Ti,null))),this.textEditor.addEventListener(ze.Events.EditorFocused,(()=>T.Context.instance().setFlavor(Ti,this))),a.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").addChangeListener(this._onNetworkPersistenceChanged,this),this._errorPopoverHelper=new q.PopoverHelper(this.element,this._getErrorPopoverContent.bind(this)),this._errorPopoverHelper.setHasPadding(!0),this._errorPopoverHelper.setTimeout(100,100),this._plugins=[],this._initializeUISourceCode()}_installMessageAndDecorationListeners(){if(this._persistenceBinding){const e=this._persistenceBinding.network,t=this._persistenceBinding.fileSystem;this._messageAndDecorationListeners=[e.addEventListener(De.Events.MessageAdded,this._onMessageAdded,this),e.addEventListener(De.Events.MessageRemoved,this._onMessageRemoved,this),e.addEventListener(De.Events.LineDecorationAdded,this._onLineDecorationAdded,this),e.addEventListener(De.Events.LineDecorationRemoved,this._onLineDecorationRemoved,this),t.addEventListener(De.Events.MessageAdded,this._onMessageAdded,this),t.addEventListener(De.Events.MessageRemoved,this._onMessageRemoved,this)]}else this._messageAndDecorationListeners=[this._uiSourceCode.addEventListener(De.Events.MessageAdded,this._onMessageAdded,this),this._uiSourceCode.addEventListener(De.Events.MessageRemoved,this._onMessageRemoved,this),this._uiSourceCode.addEventListener(De.Events.LineDecorationAdded,this._onLineDecorationAdded,this),this._uiSourceCode.addEventListener(De.Events.LineDecorationRemoved,this._onLineDecorationRemoved,this)]}uiSourceCode(){return this._uiSourceCode}setUISourceCode(e){this._unloadUISourceCode(),this._uiSourceCode=e,e.contentLoaded()?e.workingCopy()!==this.textEditor.text()&&this._innerSetContent(e.workingCopy()):e.requestContent().then((()=>{this._uiSourceCode===e&&e.workingCopy()!==this.textEditor.text()&&this._innerSetContent(e.workingCopy())})),this._initializeUISourceCode()}_unloadUISourceCode(){this._disposePlugins();for(const e of this._allMessages())this._removeMessageFromSource(e);d.EventTarget.removeEventListeners(this._messageAndDecorationListeners),d.EventTarget.removeEventListeners(this._uiSourceCodeEventListeners),this._uiSourceCode.removeWorkingCopyGetter(),Se.PersistenceImpl.instance().unsubscribeFromBindingEvent(this._uiSourceCode,this._boundOnBindingChanged)}_initializeUISourceCode(){this._uiSourceCodeEventListeners=[this._uiSourceCode.addEventListener(De.Events.WorkingCopyChanged,this._onWorkingCopyChanged,this),this._uiSourceCode.addEventListener(De.Events.WorkingCopyCommitted,this._onWorkingCopyCommitted,this),this._uiSourceCode.addEventListener(De.Events.TitleChanged,this._refreshHighlighterType,this)],Se.PersistenceImpl.instance().subscribeForBindingEvent(this._uiSourceCode,this._boundOnBindingChanged);for(const e of this._allMessages())this._addMessageToSource(e);if(this._installMessageAndDecorationListeners(),this._updateStyle(),this._decorateAllTypes(),this._refreshHighlighterType(),oe.experiments.isEnabled("sourcesPrettyPrint")){const e=new Set(["text/html","text/css","text/javascript"]);this.setCanPrettyPrint(e.has(this.highlighterType()),!0)}this._ensurePluginsLoaded()}wasShown(){super.wasShown(),window.setTimeout((()=>this._updateBucketDecorations()),0),this.setEditable(this._canEditSource());for(const e of this._plugins)e.wasShown()}willHide(){for(const e of this._plugins)e.willHide();super.willHide(),T.Context.instance().setFlavor(Ti,null),this._uiSourceCode.removeWorkingCopyGetter()}_refreshHighlighterType(){const e=Se.PersistenceImpl.instance().binding(this._uiSourceCode),t=e?e.network.mimeType():this._uiSourceCode.mimeType();this.highlighterType()!==t&&(this._disposePlugins(),this.setHighlighterType(t),this._ensurePluginsLoaded())}_canEditSource(){return!this.hasLoadError()&&(!this._uiSourceCode.editDisabled()&&("application/wasm"!==this._uiSourceCode.mimeType()&&(!!Se.PersistenceImpl.instance().binding(this._uiSourceCode)||(!!this._uiSourceCode.project().canSetFileContent()||!this._uiSourceCode.project().isServiceProject()&&(!(this._uiSourceCode.project().type()!==Fe.projectTypes.Network||!fe.NetworkPersistenceManager.instance().active())||(!this.pretty||!this._uiSourceCode.contentType().hasScripts())&&this._uiSourceCode.contentType()!==h.resourceTypes.Document)))))}_onNetworkPersistenceChanged(){this.setEditable(this._canEditSource())}commitEditing(){this._uiSourceCode.isDirty()&&(this._muteSourceCodeEvents=!0,this._uiSourceCode.commitWorkingCopy(),this._muteSourceCodeEvents=!1)}setContent(e,t){this._disposePlugins(),this._rowMessageBuckets.clear(),super.setContent(e,t);for(const e of this._allMessages())this._addMessageToSource(e);this._decorateAllTypes(),this._ensurePluginsLoaded()}_allMessages(){if(this._persistenceBinding){const e=this._persistenceBinding.network.messages();return b.addAll(e,this._persistenceBinding.fileSystem.messages()),e}return this._uiSourceCode.messages()}onTextChanged(e,t){const i=this.pretty;super.onTextChanged(e,t),this._errorPopoverHelper.hidePopover(),this._isSettingContent||(xi.instance().updateLastModificationTime(),this._muteSourceCodeEvents=!0,this.isClean()?this._uiSourceCode.resetWorkingCopy():this._uiSourceCode.setWorkingCopyGetter(this.textEditor.text.bind(this.textEditor)),this._muteSourceCodeEvents=!1,i!==this.pretty&&(this._updateStyle(),this._disposePlugins(),this._ensurePluginsLoaded()))}_onWorkingCopyChanged(e){this._muteSourceCodeEvents||this._innerSetContent(this._uiSourceCode.workingCopy())}_onWorkingCopyCommitted(e){this._muteSourceCodeEvents||this._innerSetContent(this._uiSourceCode.workingCopy()),this.contentCommitted(),this._updateStyle()}_ensurePluginsLoaded(){if(!this.loaded||this._plugins.length)return;const e=Se.PersistenceImpl.instance().binding(this._uiSourceCode),t=e?e.network:this._uiSourceCode;_s.accepts(t)&&this._plugins.push(new _s(this.textEditor,t,this)),Tt.accepts(t)&&this._plugins.push(new Tt(this.textEditor)),!this.pretty&&qt.accepts(t)&&this._plugins.push(new qt(this.textEditor,t)),Zt.accepts(t)&&this._plugins.push(new Zt(this.textEditor,t)),oe.experiments.isEnabled("recorder")&&$t.accepts(t)&&this._plugins.push(new $t(this.textEditor,t)),Qt.accepts(t)&&this._plugins.push(new Qt(this.textEditor,t)),!this.pretty&&oe.experiments.isEnabled("sourceDiff")&&Ot.accepts(t)&&this._plugins.push(new Ot(this.textEditor,t)),Lt.accepts(t)&&this._plugins.push(new Lt(this.textEditor,t)),this.dispatchEventToListeners(Ai.ToolbarItemsChanged);for(const e of this._plugins)e.wasShown()}_disposePlugins(){this.textEditor.operation((()=>{for(const e of this._plugins)e.dispose()})),this._plugins=[]}_onBindingChanged(){const e=Se.PersistenceImpl.instance().binding(this._uiSourceCode);e!==this._persistenceBinding&&(this._unloadUISourceCode(),this._persistenceBinding=e,this._initializeUISourceCode())}_updateStyle(){this.setEditable(this._canEditSource())}_innerSetContent(e){this._isSettingContent=!0;const t=this.textEditor.text();this._diff&&this._diff.highlightModifiedLines(t,e),t!==e&&this.setContent(e,null),this._isSettingContent=!1}async populateTextAreaContextMenu(e,t,i){await super.populateTextAreaContextMenu(e,t,i),e.appendApplicableItems(this._uiSourceCode);const s=this.editorLocationToUILocation(t,i);e.appendApplicableItems(new De.UILocation(this._uiSourceCode,s.lineNumber,s.columnNumber)),e.appendApplicableItems(this);for(const s of this._plugins)await s.populateTextAreaContextMenu(e,t,i)}dispose(){this._errorPopoverHelper.dispose(),this._unloadUISourceCode(),this.textEditor.dispose(),this.detach(),a.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").removeChangeListener(this._onNetworkPersistenceChanged,this)}_onMessageAdded(e){const t=e.data;this._addMessageToSource(t)}_getClampedEditorLineNumberForMessage(e){let{lineNumber:t}=this.uiLocationToEditorLocation(e.lineNumber(),e.columnNumber());return t>=this.textEditor.linesCount&&(t=this.textEditor.linesCount-1),t<0&&(t=0),t}_addMessageToSource(e){if(!this.loaded)return;const t=this._getClampedEditorLineNumberForMessage(e);let i=this._rowMessageBuckets.get(t);i||(i=new Bi(this,this.textEditor,t),this._rowMessageBuckets.set(t,i)),i.addMessage(e)}_onMessageRemoved(e){const t=e.data;this._removeMessageFromSource(t)}_removeMessageFromSource(e){if(!this.loaded)return;const t=this._getClampedEditorLineNumberForMessage(e),i=this._rowMessageBuckets.get(t);i&&(i.removeMessage(e),i.uniqueMessagesCount()||(i.detachFromEditor(),this._rowMessageBuckets.delete(t)))}_getErrorPopoverContent(e){const t=e,i=t.target,s=Ni.get(i.enclosingNodeOrSelfWithClass("text-editor-line-decoration"));return s?s.getPopover(i,t):null}_updateBucketDecorations(){for(const e of this._rowMessageBuckets.values())e._updateDecoration()}_onLineDecorationAdded(e){const t=e.data;this._decorateTypeThrottled(t.type())}_onLineDecorationRemoved(e){const t=e.data;this._decorateTypeThrottled(t.type())}async _decorateTypeThrottled(e){if(this._typeDecorationsPending.has(e))return;this._typeDecorationsPending.add(e);const t=oe.Runtime.instance().extensions(Ge.LineDecorator).find((t=>t.descriptor().decoratorType===e)),i=await t.instance();this._typeDecorationsPending.delete(e),this.textEditor.codeMirror().operation((()=>{i.decorate(this._persistenceBinding?this._persistenceBinding.network:this.uiSourceCode(),this.textEditor,e)}))}_decorateAllTypes(){if(this.loaded)for(const e of oe.Runtime.instance().extensions(Ge.LineDecorator)){const t=e.descriptor().decoratorType;null!==t&&this._uiSourceCode.decorationsForType(t)&&this._decorateTypeThrottled(t)}}async toolbarItems(){const e=await super.toolbarItems(),t=[];for(const i of this._plugins)e.push(...i.leftToolbarItems()),t.push(...await i.rightToolbarItems());return t.length?[...e,new E.ToolbarSeparator(!0),...t]:e}async populateLineGutterContextMenu(e,t){await super.populateLineGutterContextMenu(e,t);for(const i of this._plugins)await i.populateLineGutterContextMenu(e,t)}}function Pi(e){return e===De.Message.Level.Error?{color:"",width:"11px",height:"11px",iconName:"error_icon"}:e===De.Message.Level.Warning?{color:"",width:"11px",height:"11px",iconName:"warning_icon"}:e===De.Message.Level.Issue?{color:"",width:"11px",height:"11px",iconName:"breaking_change_icon"}:{color:"",width:"11px",height:"11px",iconName:"error_icon"}}const Mi=new Map;Mi.set(De.Message.Level.Error,"error"),Mi.set(De.Message.Level.Warning,"warning"),Mi.set(De.Message.Level.Issue,"warning");const Fi=new Map;Fi.set(De.Message.Level.Error,"text-editor-line-with-error"),Fi.set(De.Message.Level.Warning,"text-editor-line-with-warning"),Fi.set(De.Message.Level.Issue,"text-editor-line-with-warning");class Di{constructor(e){this._message=e,this._repeatCount=1,this.element=document.createElement("div"),this.element.classList.add("text-editor-row-message"),this._icon=new nt.Icon,this._icon.data=Pi(e.level()),this._icon.classList.add("text-editor-row-message-icon"),this._icon.addEventListener("click",(()=>this.callClickHandler())),this.element.append(this._icon),this._repeatCountElement=this.element.createChild("span","text-editor-row-message-repeat-count hidden","dt-small-bubble"),this._repeatCountElement.type=Mi.get(e.level());const t=this.element.createChild("div"),i=this._message.text().split("\n");for(let e=0;e<i.length;++e){t.createChild("div").textContent=i[e]}}message(){return this._message}callClickHandler(){const e=this._message.clickHandler();e&&e()}repeatCount(){return this._repeatCount}setRepeatCount(e){this._repeatCount!==e&&(this._repeatCount=e,this._updateMessageRepeatCount())}_updateMessageRepeatCount(){this._repeatCountElement.textContent=String(this._repeatCount);const e=this._repeatCount>1;this._repeatCountElement.classList.toggle("hidden",!e),this._icon.classList.toggle("hidden",e)}}const Ni=new WeakMap;class Bi{constructor(e,t,i){this._sourceFrame=e,this.textEditor=t,this._lineHandle=t.textEditorPositionHandle(i,0),this._decoration=document.createElement("div"),this._decoration.classList.add("text-editor-line-decoration"),Ni.set(this._decoration,this),this._wave=this._decoration.createChild("div","text-editor-line-decoration-wave"),this._errorIcon=new nt.Icon,this._errorIcon.data=Pi(De.Message.Level.Warning),this._errorIcon.classList.add("text-editor-line-decoration-icon-error","hidden"),this._issueIcon=new nt.Icon,this._issueIcon.data=Pi(De.Message.Level.Issue),this._issueIcon.classList.add("text-editor-line-decoration-icon-issue","hidden"),this._issueIcon.addEventListener("click",(()=>this._issueClickHandler()));const s=this._wave.createChild("span");s.append(this._errorIcon),s.append(this._issueIcon),s.classList.add("text-editor-line-decoration-icon"),this._wave.append(s),this._decorationStartColumn=null,this._messagesDescriptionElement=document.createElement("div"),this._messagesDescriptionElement.classList.add("text-editor-messages-description-container"),this._messages=[],this._level=null}_updateWavePosition(e,t){e=Math.min(e,this.textEditor.linesCount-1);const i=this.textEditor.line(e);t=Math.min(t,i.length);const s=Qe.Utils.lineIndent(i).length,n=Math.max(t-1,s);this._decorationStartColumn!==n&&(null!==this._decorationStartColumn&&this.textEditor.removeDecoration(this._decoration,e),this.textEditor.addDecoration(this._decoration,e,n),this._decorationStartColumn=n)}_messageDescription(e){this._messagesDescriptionElement.removeChildren(),U.appendStyle(this._messagesDescriptionElement,"source_frame/messagesPopover.css",{enableLegacyPatching:!1});for(const t of this._messages.filter((t=>e.has(t.message().level()))))this._messagesDescriptionElement.append(t.element);return this._messagesDescriptionElement}detachFromEditor(){const e=this._lineHandle.resolve();if(!e)return;const t=e.lineNumber;this._level&&this.textEditor.toggleLineClass(t,Fi.get(this._level),!1),null!==this._decorationStartColumn&&(this.textEditor.removeDecoration(this._decoration,t),this._decorationStartColumn=null)}uniqueMessagesCount(){return this._messages.length}_issueClickHandler(){const e=this._messages.find((e=>e.message().level()===De.Message.Level.Issue));e&&e.callClickHandler()}addMessage(e){for(let t=0;t<this._messages.length;++t){const i=this._messages[t];if(i.message().isEqual(e))return void i.setRepeatCount(i.repeatCount()+1)}const t=new Di(e);this._messages.push(t),this._updateDecoration()}removeMessage(e){for(let t=0;t<this._messages.length;++t){const i=this._messages[t];if(i.message().isEqual(e))return i.setRepeatCount(i.repeatCount()-1),i.repeatCount()||this._messages.splice(t,1),void this._updateDecoration()}}_updateDecoration(){if(!this._sourceFrame.isShowing())return;if(!this._messages.length)return;const e=this._lineHandle.resolve();if(!e)return;const t=e.lineNumber;let i=Number.MAX_VALUE,s=null,n=!1,o=!1;for(let e=0;e<this._messages.length;++e){const a=this._messages[e].message(),{columnNumber:c}=this._sourceFrame.uiLocationToEditorLocation(t,a.columnNumber());i=Math.min(i,c),(!s||(r=a,Ui[s.level()]-Ui[r.level()]<0))&&(s=a),n=n||a.level()===De.Message.Level.Issue,o=o||a.level()!==De.Message.Level.Issue}var r;this._updateWavePosition(t,i),s&&(this._level&&(this.textEditor.toggleLineClass(t,Fi.get(this._level),!1),this._errorIcon.classList.add("hidden"),this._issueIcon.classList.add("hidden")),this._level=s.level(),this._level&&(this.textEditor.toggleLineClass(t,Fi.get(this._level),!0),o&&(this._errorIcon.data=Pi(this._level),this._errorIcon.classList.remove("hidden")),n&&this._issueIcon.classList.remove("hidden")))}_getPopoverMessages(e){let t=null;return e.classList.contains("text-editor-line-decoration-icon-error")?t=this._messageDescription(new Set([De.Message.Level.Error,De.Message.Level.Warning])):e.classList.contains("text-editor-line-decoration-icon-issue")?t=this._messageDescription(new Set([De.Message.Level.Issue])):e.classList.contains("text-editor-line-decoration-wave")&&!e.classList.contains("text-editor-line-decoration-icon")&&(t=this._messageDescription(new Set([De.Message.Level.Error,De.Message.Level.Warning]))),t}getPopover(e,t){const i=e.enclosingNodeOrSelfWithClass("text-editor-line-decoration-icon-error")||e.enclosingNodeOrSelfWithClass("text-editor-line-decoration-icon-issue"),s=i?i.boxInWindow():new AnchorBox(t.clientX,t.clientY,1,1),n=this._getPopoverMessages(e);return n?{box:s,hide(){},show:e=>(e.contentElement.append(n),Promise.resolve(!0))}:null}}const Ui={Issue:2,Warning:3,Error:4};const Ai={ToolbarItemsChanged:Symbol("ToolbarItemsChanged")};var Ri=Object.freeze({__proto__:null,UISourceCodeFrame:Ti,RowMessage:Di,RowMessageBucket:Bi,Events:Ai});class ji extends u.ObjectWrapper{constructor(e,t,i,s){super(),this._delegate=e,this._tabbedPane=new G.TabbedPane,this._tabbedPane.setPlaceholderElement(i,s),this._tabbedPane.setTabDelegate(new qi(this)),this._tabbedPane.setCloseableTabs(!0),this._tabbedPane.setAllowTabReorder(!0,!0),this._tabbedPane.addEventListener(G.Events.TabClosed,this._tabClosed,this),this._tabbedPane.addEventListener(G.Events.TabSelected,this._tabSelected,this),Se.PersistenceImpl.instance().addEventListener(Se.Events.BindingCreated,this._onBindingCreated,this),Se.PersistenceImpl.instance().addEventListener(Se.Events.BindingRemoved,this._onBindingRemoved,this),this._tabIds=new Map,this._files=new Map,this._previouslyViewedFilesSetting=t,this._history=zi.fromObject(this._previouslyViewedFilesSetting.get()),this._uriToUISourceCode=new Map,this._currentFile,this._currentView}_onBindingCreated(e){const t=e.data;this._updateFileTitle(t.fileSystem);const i=this._tabIds.get(t.network);let s=this._tabIds.get(t.fileSystem);const n=this._currentFile===t.network,o=this._history.selectionRange(t.network.url()),r=this._history.scrollLineNumber(t.network.url());if(this._history.remove(t.network.url()),i){if(!s){const e=this._tabbedPane.tabView(i),n=this._tabbedPane.tabIndex(i);if(e instanceof Ti)this._delegate.recycleUISourceCodeFrame(e,t.fileSystem),s=this._appendFileTab(t.fileSystem,!1,n,e);else{s=this._appendFileTab(t.fileSystem,!1,n);const e=this._tabbedPane.tabView(s);this._restoreEditorProperties(e,o,r)}}this._closeTabs([i],!0),n&&this._tabbedPane.selectTab(s,!1),this._updateHistory()}}_onBindingRemoved(e){const t=e.data;this._updateFileTitle(t.fileSystem)}get view(){return this._tabbedPane}get visibleView(){return this._tabbedPane.visibleView}fileViews(){return this._tabbedPane.tabViews()}leftToolbar(){return this._tabbedPane.leftToolbar()}rightToolbar(){return this._tabbedPane.rightToolbar()}show(e){this._tabbedPane.show(e)}showFile(e){this._innerShowFile(this._canonicalUISourceCode(e),!0)}closeFile(e){const t=this._tabIds.get(e);t&&this._closeTabs([t])}closeAllFiles(){this._closeTabs(this._tabbedPane.tabIds())}historyUISourceCodes(){const e=[],t=this._history._urls();for(const i of t){const t=this._uriToUISourceCode.get(i);t&&e.push(t)}return e}_addViewListeners(){this._currentView&&this._currentView instanceof Ge.SourceFrameImpl&&(this._currentView.textEditor.addEventListener(ze.Events.ScrollChanged,this._scrollChanged,this),this._currentView.textEditor.addEventListener(ze.Events.SelectionChanged,this._selectionChanged,this))}_removeViewListeners(){this._currentView&&this._currentView instanceof Ge.SourceFrameImpl&&(this._currentView.textEditor.removeEventListener(ze.Events.ScrollChanged,this._scrollChanged,this),this._currentView.textEditor.removeEventListener(ze.Events.SelectionChanged,this._selectionChanged,this))}_scrollChanged(e){this._scrollTimer&&clearTimeout(this._scrollTimer);const t=e.data;this._scrollTimer=setTimeout(function(){this._history.save(this._previouslyViewedFilesSetting)}.bind(this),100),this._currentFile&&this._history.updateScrollLineNumber(this._currentFile.url(),t)}_selectionChanged(e){const t=e.data;this._currentFile&&this._history.updateSelectionRange(this._currentFile.url(),t),this._history.save(this._previouslyViewedFilesSetting),this._currentFile&&it.ExtensionServer.instance().sourceSelectionChanged(this._currentFile.url(),t)}_innerShowFile(e,t){const i=Se.PersistenceImpl.instance().binding(e);if(e=i?i.fileSystem:e,this._currentFile===e)return;this._removeViewListeners(),this._currentFile=e;const s=this._tabIds.get(e)||this._appendFileTab(e,t);this._tabbedPane.selectTab(s,t),t&&this._editorSelectedByUserAction();const n=this._currentView;this._currentView=this.visibleView,this._addViewListeners();const o={currentFile:this._currentFile,currentView:this._currentView,previousView:n,userGesture:t};this.dispatchEventToListeners(Vi.EditorSelected,o)}_titleForFile(e){let t=_.trimMiddle(e.displayName(!0),30);return e.isDirty()&&(t+="*"),t}_maybeCloseTab(t,i){const s=this._files.get(t);if(!s)return!1;return!(s.isDirty()&&s.project().canSetFileContent()&&!confirm(e.UIString("Are you sure you want to close unsaved file: %s?",s.name())))&&(s.resetWorkingCopy(),i&&this._tabbedPane.selectTab(i,!0),this._tabbedPane.closeTab(t,!0),!0)}_closeTabs(e,t){const i=[],s=[];for(let n=0;n<e.length;++n){const o=e[n],r=this._files.get(o);r&&(!t&&r.isDirty()?i.push(o):s.push(o))}i.length&&this._tabbedPane.selectTab(i[0],!0),this._tabbedPane.closeTabs(s,!0);for(let e=0;e<i.length;++e){const t=e+1<i.length?i[e+1]:null;if(!this._maybeCloseTab(i[e],t))break}}_onContextMenu(e,t){const i=this._files.get(e);i&&t.appendApplicableItems(i)}_canonicalUISourceCode(e){return this._uriToUISourceCode.has(e.url())?this._uriToUISourceCode.get(e.url()):(this._uriToUISourceCode.set(e.url(),e),e)}addUISourceCode(e){const t=this._canonicalUISourceCode(e),i=t!==e,s=Se.PersistenceImpl.instance().binding(t);if(e=s?s.fileSystem:t,i&&e.project().type()!==Fe.projectTypes.FileSystem&&e.disableEdit(),this._currentFile===e)return;const n=e.url(),o=this._history.index(n);if(-1===o)return;if(this._tabIds.has(e)||this._appendFileTab(e,!1),!o)return void this._innerShowFile(e,!1);if(!this._currentFile)return;const r=st.isSnippetsUISourceCode(this._currentFile),a=st.isSnippetsUISourceCode(e);this._history.index(this._currentFile.url())&&r&&!a&&this._innerShowFile(e,!1)}removeUISourceCode(e){this.removeUISourceCodes([e])}removeUISourceCodes(e){const t=[];for(const i of e){const e=this._tabIds.get(i);e&&t.push(e),this._uriToUISourceCode.get(i.url())===i&&this._uriToUISourceCode.delete(i.url())}this._tabbedPane.closeTabs(t)}_editorClosedByUserAction(e){this._history.remove(e.url()),this._updateHistory()}_editorSelectedByUserAction(){this._updateHistory()}_updateHistory(){const e=this._tabbedPane.lastOpenedTabIds(Wi);this._history.update(e.map(function(e){const t=this._files.get(e);return t?t.url():""}.bind(this))),this._history.save(this._previouslyViewedFilesSetting)}_tooltipForFile(e){return(e=Se.PersistenceImpl.instance().network(e)||e).url()}_appendFileTab(e,t,i,s){const n=s||this._delegate.viewForFile(e),o=this._titleForFile(e),r=this._tooltipForFile(e),a=this._generateTabId();if(this._tabIds.set(e,a),this._files.set(a,e),!s){const t=this._history.selectionRange(e.url()),i=this._history.scrollLineNumber(e.url());this._restoreEditorProperties(n,t,i)}return this._tabbedPane.appendTab(a,o,n,r,t,void 0,i),this._updateFileTitle(e),this._addUISourceCodeListeners(e),e.loadError()?this._addLoadErrorIcon(a):e.contentLoaded()||e.requestContent().then((t=>{e.loadError()&&this._addLoadErrorIcon(a)})),a}_addLoadErrorIcon(e){const t=M.Icon.create("smallicon-error");y.Tooltip.install(t,p`Unable to load this content.`),this._tabbedPane.tabView(e)&&this._tabbedPane.setTabIcon(e,t)}_restoreEditorProperties(e,t,i){const s=e instanceof Ge.SourceFrameImpl?e:null;s&&(t&&s.setSelection(t),"number"==typeof i&&s.scrollToLine(i))}_tabClosed(e){const t=e.data.tabId,i=e.data.isUserGesture,s=this._files.get(t);this._currentFile===s&&(this._removeViewListeners(),this._currentView=null,this._currentFile=null),this._tabIds.delete(s),this._files.delete(t),s&&(this._removeUISourceCodeListeners(s),this.dispatchEventToListeners(Vi.EditorClosed,s),i&&this._editorClosedByUserAction(s))}_tabSelected(e){const t=e.data.tabId,i=e.data.isUserGesture,s=this._files.get(t);s&&this._innerShowFile(s,i)}_addUISourceCodeListeners(e){e.addEventListener(De.Events.TitleChanged,this._uiSourceCodeTitleChanged,this),e.addEventListener(De.Events.WorkingCopyChanged,this._uiSourceCodeWorkingCopyChanged,this),e.addEventListener(De.Events.WorkingCopyCommitted,this._uiSourceCodeWorkingCopyCommitted,this)}_removeUISourceCodeListeners(e){e.removeEventListener(De.Events.TitleChanged,this._uiSourceCodeTitleChanged,this),e.removeEventListener(De.Events.WorkingCopyChanged,this._uiSourceCodeWorkingCopyChanged,this),e.removeEventListener(De.Events.WorkingCopyCommitted,this._uiSourceCodeWorkingCopyCommitted,this)}_updateFileTitle(t){const i=this._tabIds.get(t);if(i){const s=this._titleForFile(t),n=this._tooltipForFile(t);this._tabbedPane.changeTabTitle(i,s,n);let o=null;t.loadError()?(o=M.Icon.create("smallicon-error"),y.Tooltip.install(o,p`Unable to load this content.`)):Se.PersistenceImpl.instance().hasUnsavedCommittedChanges(t)?(o=M.Icon.create("smallicon-warning"),y.Tooltip.install(o,e.UIString("Changes to this file were not saved to file system."))):o=ve.PersistenceUtils.iconForUISourceCode(t),this._tabbedPane.setTabIcon(i,o)}}_uiSourceCodeTitleChanged(e){const t=e.data;this._updateFileTitle(t),this._updateHistory()}_uiSourceCodeWorkingCopyChanged(e){const t=e.data;this._updateFileTitle(t)}_uiSourceCodeWorkingCopyCommitted(e){const t=e.data.uiSourceCode;this._updateFileTitle(t)}_generateTabId(){return"tab_"+Oi++}currentFile(){return this._currentFile||null}}const Vi={EditorSelected:Symbol("EditorSelected"),EditorClosed:Symbol("EditorClosed")};let Oi=0;const Wi=30;class Hi{constructor(e,t,i){this.url=e,this._isSerializable=e.length<Hi.serializableUrlLengthLimit,this.selectionRange=t,this.scrollLineNumber=i}static fromObject(e){const t="selectionRange"in e?Je.TextRange.fromObject(e.selectionRange):void 0;return new Hi(e.url,t,e.scrollLineNumber)}serializeToObject(){if(!this._isSerializable)return null;const e={};return e.url=this.url,e.selectionRange=this.selectionRange,e.scrollLineNumber=this.scrollLineNumber,e}}Hi.serializableUrlLengthLimit=4096;class zi{constructor(e){this._items=e,this._itemsIndex=new Map,this._rebuildItemIndex()}static fromObject(e){const t=[];for(let i=0;i<e.length;++i)"url"in e[i]&&e[i].url&&t.push(Hi.fromObject(e[i]));return new zi(t)}index(e){const t=this._itemsIndex.get(e);return void 0!==t?t:-1}_rebuildItemIndex(){this._itemsIndex=new Map;for(let e=0;e<this._items.length;++e)console.assert(!this._itemsIndex.has(this._items[e].url)),this._itemsIndex.set(this._items[e].url,e)}selectionRange(e){const t=this.index(e);return-1!==t?this._items[t].selectionRange:void 0}updateSelectionRange(e,t){if(!t)return;const i=this.index(e);-1!==i&&(this._items[i].selectionRange=t)}scrollLineNumber(e){const t=this.index(e);return-1!==t?this._items[t].scrollLineNumber:void 0}updateScrollLineNumber(e,t){const i=this.index(e);-1!==i&&(this._items[i].scrollLineNumber=t)}update(e){for(let t=e.length-1;t>=0;--t){const i=this.index(e[t]);let s;-1!==i?(s=this._items[i],this._items.splice(i,1)):s=new Hi(e[t]),this._items.unshift(s),this._rebuildItemIndex()}}remove(e){const t=this.index(e);-1!==t&&(this._items.splice(t,1),this._rebuildItemIndex())}save(e){e.set(this._serializeToObject())}_serializeToObject(){const e=[];for(let t=0;t<this._items.length;++t){const i=this._items[t].serializeToObject();if(i&&e.push(i),e.length===Wi)break}return e}_urls(){const e=[];for(let t=0;t<this._items.length;++t)e.push(this._items[t].url);return e}}class qi{constructor(e){this._editorContainer=e}closeTabs(e,t){this._editorContainer._closeTabs(t)}onContextMenu(e,t){this._editorContainer._onContextMenu(e,t)}}var Gi=Object.freeze({__proto__:null,TabbedEditorContainerDelegate:class{viewForFile(e){throw new Error("Not implemented yet")}recycleUISourceCodeFrame(e,t){}},TabbedEditorContainer:ji,Events:Vi,get tabId(){return Oi},maximalPreviouslyViewedFilesCount:Wi,HistoryItem:Hi,History:zi,EditorContainerTabDelegate:qi});class Ki extends C.VBox{constructor(){super(),this.registerRequiredCSS("sources/sourcesView.css",{enableLegacyPatching:!0}),this.element.id="sources-panel-sources-view",this.setMinimumAndPreferredSizes(88,52,150,100),this._placeholderOptionArray=[],this._selectedIndex=0;const e=Fe.WorkspaceImpl.instance();if(this._searchableView=new K.SearchableView(this,this,"sourcesViewSearchConfig"),this._searchableView.setMinimalSearchQuerySize(0),this._searchableView.show(this.element),this._sourceViewByUISourceCode=new Map,this._editorContainer=new ji(this,a.Settings.instance().createLocalSetting("previouslyViewedFiles",[]),this._placeholderElement(),this._focusedPlaceholderElement),this._editorContainer.show(this._searchableView.element),this._editorContainer.addEventListener(Vi.EditorSelected,this._editorSelected,this),this._editorContainer.addEventListener(Vi.EditorClosed,this._editorClosed,this),this._historyManager=new At(this,this.currentSourceFrame.bind(this)),this._toolbarContainerElement=this.element.createChild("div","sources-toolbar"),!oe.experiments.isEnabled("sourcesPrettyPrint")){const e=new E.Toolbar("",this._toolbarContainerElement);oe.Runtime.instance().allInstances(Ji).then((t=>{for(const i of t)e.appendToolbarItem(i.button(this))}))}this._scriptViewToolbar=new E.Toolbar("",this._toolbarContainerElement),this._scriptViewToolbar.element.style.flex="auto",this._bottomToolbar=new E.Toolbar("",this._toolbarContainerElement),this._toolbarChangedListener=null,f.startBatchUpdate(),e.uiSourceCodes().forEach(this._addUISourceCode.bind(this)),f.endBatchUpdate(),e.addEventListener(Fe.Events.UISourceCodeAdded,this._uiSourceCodeAdded,this),e.addEventListener(Fe.Events.UISourceCodeRemoved,this._uiSourceCodeRemoved,this),e.addEventListener(Fe.Events.ProjectRemoved,this._projectRemoved.bind(this),this),window.opener||window.addEventListener("beforeunload",(function(e){if(e.returnValue)return;const t=[],s=Fe.WorkspaceImpl.instance().projectsForType(Fe.projectTypes.FileSystem);for(const e of s)t.push(...e.uiSourceCodes().filter((e=>e.isDirty())));if(t.length){e.returnValue=!0,D.ViewManager.instance().showView("sources");for(const e of t)i.reveal(e)}}),!0),this._shortcuts=new Map,this.element.addEventListener("keydown",this._handleKeyDown.bind(this),!1)}_placeholderElement(){this._placeholderOptionArray=[];const e=[{actionId:"quickOpen.show",description:p`Open file`},{actionId:"commandMenu.show",description:p`Run command`},{actionId:"sources.add-folder-to-workspace",description:p`Drop in a folder to add to workspace`}],t=document.createElement("div"),i=t.createChild("div","tabbed-pane-placeholder");i.addEventListener("keydown",this._placeholderOnKeyDown.bind(this),!1),P.markAsList(i),P.setAccessibleName(i,p`Source View Actions`);for(let t=0;t<e.length;t++){const s=e[t],n=N.ShortcutRegistry.instance().shortcutTitleForAction(s.actionId),o=i.createChild("div");P.markAsListitem(o);const r=o.createChild("div","tabbed-pane-placeholder-row");r.tabIndex=-1,P.markAsButton(r),n?(r.createChild("div","tabbed-pane-placeholder-key").textContent=n,r.createChild("div","tabbed-pane-placeholder-value").textContent=s.description):r.createChild("div","tabbed-pane-no-shortcut").textContent=s.description;const a=W.ActionRegistry.instance().action(s.actionId);a&&this._placeholderOptionArray.push({element:r,handler(){a.execute()}})}const s=this._placeholderOptionArray[0].element;return s.tabIndex=0,this._focusedPlaceholderElement=s,this._selectedIndex=0,t.appendChild($.XLink.create("https://developers.google.com/web/tools/chrome-devtools/sources?utm_source=devtools&utm_campaign=2018Q1","Learn more about Workspaces")),t}_placeholderOnKeyDown(e){const t=e;if(isEnterOrSpaceKey(t))return void this._placeholderOptionArray[this._selectedIndex].handler();let i=0;"ArrowDown"===t.key?i=1:"ArrowUp"===t.key&&(i=-1);const s=Math.max(Math.min(this._placeholderOptionArray.length-1,this._selectedIndex+i),0),n=this._placeholderOptionArray[s].element,o=this._placeholderOptionArray[this._selectedIndex].element;n!==o&&(o.tabIndex=-1,n.tabIndex=0,P.setSelected(o,!1),P.setSelected(n,!0),this._selectedIndex=s,n.focus())}static defaultUISourceCodeScores(){const e=new Map,t=T.Context.instance().flavor(Ki);if(t){const i=t._editorContainer.historyUISourceCodes();for(let t=1;t<i.length;++t)e.set(i[t],i.length-t)}return e}leftToolbar(){return this._editorContainer.leftToolbar()}rightToolbar(){return this._editorContainer.rightToolbar()}bottomToolbar(){return this._bottomToolbar}_registerShortcuts(e,t){for(let i=0;i<e.length;++i)this._shortcuts.set(e[i].key,t)}_handleKeyDown(e){const t=J.KeyboardShortcut.makeKeyFromEvent(e),i=this._shortcuts.get(t);i&&i()&&e.consume(!0)}wasShown(){super.wasShown(),T.Context.instance().setFlavor(Ki,this)}willHide(){T.Context.instance().setFlavor(Ki,null),super.willHide()}toolbarContainerElement(){return this._toolbarContainerElement}searchableView(){return this._searchableView}visibleView(){return this._editorContainer.visibleView}currentSourceFrame(){const e=this.visibleView();return e instanceof Ti?e:null}currentUISourceCode(){return this._editorContainer.currentFile()}_onCloseEditorTab(){const e=this._editorContainer.currentFile();return!!e&&(this._editorContainer.closeFile(e),!0)}_onJumpToPreviousLocation(){this._historyManager.rollback()}_onJumpToNextLocation(){this._historyManager.rollover()}_uiSourceCodeAdded(e){const t=e.data;this._addUISourceCode(t)}_addUISourceCode(e){e.project().isServiceProject()||e.project().type()===Fe.projectTypes.FileSystem&&"overrides"===Ce.FileSystemWorkspaceBinding.fileSystemType(e.project())||this._editorContainer.addUISourceCode(e)}_uiSourceCodeRemoved(e){const t=e.data;this._removeUISourceCodes([t])}_removeUISourceCodes(e){this._editorContainer.removeUISourceCodes(e);for(let t=0;t<e.length;++t)this._removeSourceFrame(e[t]),this._historyManager.removeHistoryForSourceCode(e[t])}_projectRemoved(e){const t=e.data.uiSourceCodes();this._removeUISourceCodes(t)}_updateScriptViewToolbarItems(){const e=this.visibleView();e instanceof I.SimpleView&&e.toolbarItems().then((e=>{this._scriptViewToolbar.removeToolbarItems(),e.map((e=>this._scriptViewToolbar.appendToolbarItem(e)))}))}showSourceLocation(e,t,i,s,n){this._historyManager.updateCurrentState(),this._editorContainer.showFile(e);const o=this.currentSourceFrame();o&&"number"==typeof t&&o.revealPosition(t,i,!n),this._historyManager.pushNewState();const r=this.visibleView();!s&&r&&r.focus()}_createSourceView(e){let t,i;const s=e.contentType();s===h.resourceTypes.Image?i=new Ke.ImageView(e.mimeType(),e):s===h.resourceTypes.Font?i=new $e.FontView(e.mimeType(),e):t=new Ti(e),t&&this._historyManager.trackSourceFrameCursorJumps(t);const n=t||i;return this._sourceViewByUISourceCode.set(e,n),n}_getOrCreateSourceView(e){return this._sourceViewByUISourceCode.get(e)||this._createSourceView(e)}recycleUISourceCodeFrame(e,t){this._sourceViewByUISourceCode.delete(e.uiSourceCode()),e.setUISourceCode(t),this._sourceViewByUISourceCode.set(t,e)}viewForFile(e){return this._getOrCreateSourceView(e)}_removeSourceFrame(e){const t=this._sourceViewByUISourceCode.get(e);this._sourceViewByUISourceCode.delete(e),t&&t instanceof Ti&&t.dispose()}_editorClosed(e){const t=e.data;this._historyManager.removeHistoryForSourceCode(t);let i=!1;this._editorContainer.currentFile()||(i=!0),this._removeToolbarChangedListener(),this._updateScriptViewToolbarItems(),this._searchableView.resetSearch();const s={};s.uiSourceCode=t,s.wasSelected=i,this.dispatchEventToListeners($i.EditorClosed,s)}_editorSelected(e){const t=e.data.previousView instanceof Ti?e.data.previousView:null;t&&t.setSearchableView(null);const i=e.data.currentView instanceof Ti?e.data.currentView:null;i&&i.setSearchableView(this._searchableView),this._searchableView.setReplaceable(Boolean(i)&&i.canEditSource()),this._searchableView.refreshSearch(),this._updateToolbarChangedListener(),this._updateScriptViewToolbarItems(),this.dispatchEventToListeners($i.EditorSelected,this._editorContainer.currentFile())}_removeToolbarChangedListener(){this._toolbarChangedListener&&d.EventTarget.removeEventListeners([this._toolbarChangedListener]),this._toolbarChangedListener=null}_updateToolbarChangedListener(){this._removeToolbarChangedListener();const e=this.currentSourceFrame();e&&(this._toolbarChangedListener=e.addEventListener(Ai.ToolbarItemsChanged,this._updateScriptViewToolbarItems,this))}searchCanceled(){this._searchView&&this._searchView.searchCanceled(),delete this._searchView,delete this._searchConfig}performSearch(e,t,i){const s=this.currentSourceFrame();s&&(this._searchView=s,this._searchConfig=e,this._searchView.performSearch(this._searchConfig,t,i))}jumpToNextSearchResult(){this._searchView&&(this._searchConfig&&this._searchView!==this.currentSourceFrame()?this.performSearch(this._searchConfig,!0):this._searchView.jumpToNextSearchResult())}jumpToPreviousSearchResult(){if(this._searchView)return this._searchConfig&&this._searchView!==this.currentSourceFrame()?(this.performSearch(this._searchConfig,!0),void(this._searchView&&this._searchView.jumpToLastSearchResult())):void this._searchView.jumpToPreviousSearchResult()}supportsCaseSensitiveSearch(){return!0}supportsRegexSearch(){return!0}replaceSelectionWith(e,t){const i=this.currentSourceFrame();i?i.replaceSelectionWith(e,t):console.assert(Boolean(i))}replaceAllWith(e,t){const i=this.currentSourceFrame();i?i.replaceAllWith(e,t):console.assert(Boolean(i))}_showOutlineQuickOpen(){et.QuickOpenImpl.show("@")}_showGoToLineQuickOpen(){this._editorContainer.currentFile()&&et.QuickOpenImpl.show(":")}_save(){this._saveSourceFrame(this.currentSourceFrame())}_saveAll(){this._editorContainer.fileViews().forEach(this._saveSourceFrame.bind(this))}_saveSourceFrame(e){if(!(e instanceof Ti))return;e.commitEditing()}toggleBreakpointsActiveState(e){this._editorContainer.view.element.classList.toggle("breakpoints-deactivated",!e)}}const $i={EditorClosed:Symbol("EditorClosed"),EditorSelected:Symbol("EditorSelected")};class Ji{button(e){throw new Error("Not implemented yet")}}class Qi{static _nextFile(e){function t(e){const t=e.lastIndexOf(".");return e.substr(0,-1!==t?t:e.length).toLowerCase()}const i=e.project().uiSourceCodes(),s=[],n=e.parentURL(),o=e.name(),r=t(o);for(let e=0;e<i.length;++e){const o=i[e];n===o.parentURL()&&(t(o.name())===r&&s.push(o.name()))}s.sort(_.naturalOrderComparator);const a=S.mod(s.indexOf(o)+1,s.length),c=(n?n+"/":"")+s[a],l=e.project().uiSourceCodeForURL(c);return l!==e?l:null}handleAction(e,t){const i=T.Context.instance().flavor(Ki);if(!i)return!1;const s=i.currentUISourceCode();if(!s)return!1;const n=Qi._nextFile(s);return!!n&&(i.showSourceLocation(n),!0)}}var Xi=Object.freeze({__proto__:null,SourcesView:Ki,Events:$i,EditorAction:Ji,SwitchFileActionDelegate:Qi,ActionDelegate:class{handleAction(e,t){const i=T.Context.instance().flavor(Ki);if(!i)return!1;switch(t){case"sources.close-all":return i._editorContainer.closeAllFiles(),!0;case"sources.jump-to-previous-location":return i._onJumpToPreviousLocation(),!0;case"sources.jump-to-next-location":return i._onJumpToNextLocation(),!0;case"sources.close-editor-tab":return i._onCloseEditorTab();case"sources.go-to-line":return i._showGoToLineQuickOpen(),!0;case"sources.go-to-member":return i._showOutlineQuickOpen(),!0;case"sources.save":return i._save(),!0;case"sources.save-all":return i._saveAll(),!0}return!1}}});class Yi{constructor(){this._pathsToFormatOnLoad=new Set,this._sourcesView,this._button}_editorSelected(e){const t=e.data;this._updateButton(t),this._isFormatableScript(t)&&this._pathsToFormatOnLoad.has(t.url())&&!Ue.SourceFormatter.instance().hasFormatted(t)&&this._showFormatted(t)}async _editorClosed(e){const t=e.data.uiSourceCode;e.data.wasSelected&&this._updateButton(null);const i=await Ue.SourceFormatter.instance().discardFormattedUISourceCode(t);i&&this._pathsToFormatOnLoad.delete(i.url())}_updateButton(t){const i=this._isFormatableScript(t);this._button.element.classList.toggle("hidden",!i),t&&this._button.setTitle(e.UIString("Pretty print "+t.name()))}button(t){return this._button||(this._sourcesView=t,this._sourcesView.addEventListener($i.EditorSelected,(e=>{this._editorSelected(e)})),this._sourcesView.addEventListener($i.EditorClosed,(e=>{this._editorClosed(e)})),this._button=new E.ToolbarButton(e.UIString("Pretty print"),"largeicon-pretty-print"),this._button.addEventListener(E.ToolbarButton.Events.Click,this._onFormatScriptButtonClicked,this),this._updateButton(t.currentUISourceCode())),this._button}_isFormatableScript(e){return!!e&&(!e.project().canSetFileContent()&&(e.project().type()!==Fe.projectTypes.Formatter&&(!Se.PersistenceImpl.instance().binding(e)&&("application/wasm"!==e.mimeType()&&e.contentType().hasScripts()))))}isCurrentUISourceCodeFormatable(){const e=this._sourcesView.currentUISourceCode();return this._isFormatableScript(e)}_onFormatScriptButtonClicked(e){this.toggleFormatScriptSource()}toggleFormatScriptSource(){const e=this._sourcesView.currentUISourceCode();e&&this._isFormatableScript(e)&&(this._pathsToFormatOnLoad.add(e.url()),this._showFormatted(e))}async _showFormatted(e){const t=await Ue.SourceFormatter.instance().format(e);if(e!==this._sourcesView.currentUISourceCode())return;const i=this._sourcesView.viewForFile(e);let s=[0,0];if(i instanceof Ge.SourceFrameImpl){const e=i.selection();s=t.mapping.originalToFormatted(e.startLine,e.startColumn)}this._sourcesView.showSourceLocation(t.formattedSourceCode,s[0],s[1])}}var Zi=Object.freeze({__proto__:null,ScriptFormatterEditorAction:Yi});const es=new WeakMap,ts=new WeakMap;class is{constructor(e,t,i){this.name=e,this.lineNumber=t,this.columnNumber=i}}const ss=async function(e){if(e.type()===Protocol.Debugger.ScopeType.Global)return[];const t=e.startLocation(),i=e.endLocation();if(!t||!i)return[];const s=t.script();if(!s||!s.sourceMapURL||s!==i.script())return[];const{content:n}=await s.requestContent();if(!n)return[];const o=new Xe.Text(n),r=new Je.TextRange(t.lineNumber,t.columnNumber,i.lineNumber,i.columnNumber),a=o.extract(r),c=o.toSourceRange(r).offset,l="function fui",d=await Ae.formatterWorkerPool().javaScriptIdentifiers(l+a),h=[],u=new Ye.TextCursor(o.lineEndings());for(const e of d){if(e.offset<l.length)continue;const t=c+e.offset-l.length;u.resetTo(t),h.push(new is(e.name,u.lineNumber(),u.columnNumber()))}return h},ns=async function(e){if(!e)return null;const{pluginManager:t}=ce.DebuggerWorkspaceBinding.instance();if(t){const i=await t.resolveScopeChain(e);if(i)return i}return e.scopeChain()},os=async e=>{let t=es.get(e);return t||(t=(async()=>{const t=new Map,s=e.callFrame().script,n=ce.DebuggerWorkspaceBinding.instance().sourceMapForScript(s);if(n){const o=new Map,r=[];for(const a of await ss(e)){const e=n.findEntry(a.lineNumber,a.columnNumber);e&&e.name?t.set(a.name,e.name):r.push(i(s,n,a,o).then((e=>{e&&t.set(a.name,e)})))}await Promise.all(r).then(us())}return t})(),es.set(e,t)),await t;async function i(e,t,i,s){const n=t.findEntry(i.lineNumber,i.columnNumber),o=t.findEntry(i.lineNumber,i.columnNumber+i.name.length);if(!(n&&o&&n.sourceURL&&n.sourceURL===o.sourceURL&&n.sourceLineNumber&&n.sourceColumnNumber&&o.sourceLineNumber&&o.sourceColumnNumber))return null;const r=new Je.TextRange(n.sourceLineNumber,n.sourceColumnNumber,o.sourceLineNumber,o.sourceColumnNumber),a=ce.DebuggerWorkspaceBinding.instance().uiSourceCodeForSourceMapSourceURL(e.debuggerModel,n.sourceURL,e.isContentScript());if(!a)return null;const{content:c}=await a.requestContent();if(!c)return null;let l=s.get(c);l||(l=new Xe.Text(c),s.set(c,l));const d=l.extract(r).trim();return/[a-zA-Z0-9_$]+/.test(d)?d:null}},rs=async e=>{const t=ts.get(e);if(t)return t;const i=e.scopeChain(),s=await Promise.all(i.map(os)),n=new Map;for(const e of s)for(const[t,i]of e)i&&!n.has(i)&&n.set(i,t);return ts.set(e,n),n},as=async(e,t,i,s,n,o)=>{if("application/wasm"===i.mimeType())return`memories["${t}"] ?? locals["${t}"] ?? tables["${t}"] ?? functions["${t}"] ?? globals["${t}"]`;if(!i.contentType().isFromSourceMap())return"";const r=await rs(e);if(r.has(t))return r.get(t);const a=(await ce.DebuggerWorkspaceBinding.instance().uiLocationToRawLocations(i,s,n)).find((t=>t.debuggerModel===e.debuggerModel));if(!a)return"";const c=a.script();if(!c)return"";const l=ce.DebuggerWorkspaceBinding.instance().sourceMapForScript(c);if(!l)return"";const{content:d}=await c.requestContent();if(!d)return"";const h=new Xe.Text(d),u=l.reverseMapTextRange(i.url(),new Je.TextRange(s,n,s,o));if(!u)return"";const p=h.extract(u);return p?await Ae.formatterWorkerPool().evaluatableJavaScriptSubstring(p):""},cs=async e=>{if(!e)return null;const t=e.scopeChain();if(0===t.length)return e.thisObject();const i=await os(t[0]),s=g.inverse(i).get("this");if(!s||1!==s.size)return e.thisObject();const[n]=s.values(),o=await e.evaluate({expression:n,objectGroup:"backtrace",includeCommandLineAPI:!1,silent:!0,returnByValue:!1,generatePreview:!0});return"exceptionDetails"in o?!o.exceptionDetails&&o.object?o.object:e.thisObject():null},ls=function(e){const t=e.startLocation(),i=e.endLocation(),s=t?t.script():null;return e.type()!==Protocol.Debugger.ScopeType.Global&&s&&i&&s.sourceMapURL&&s===i.script()?new ds(e):e.object()};class ds extends Te.RemoteObject{constructor(e){super(),this._scope=e,this._object=e.object()}customPreview(){return this._object.customPreview()}get objectId(){return this._object.objectId}get type(){return this._object.type}get subtype(){return this._object.subtype}get value(){return this._object.value}get description(){return this._object.description}get hasChildren(){return this._object.hasChildren}get preview(){return this._object.preview}arrayLength(){return this._object.arrayLength()}getOwnProperties(e){return this._object.getOwnProperties(e)}async getAllProperties(e,t){const i=await this._object.getAllProperties(e,t),s=await os(this._scope),n=i.properties,o=i.internalProperties,r=[];if(n)for(let e=0;e<n.length;++e){const t=n[e],i=s.get(t.name)||n[e].name;t.value&&r.push(new Te.RemoteObjectProperty(i,t.value,t.enumerable,t.writable,t.isOwn,t.wasThrown,t.symbol,t.synthetic))}return{properties:r,internalProperties:o}}async setPropertyValue(e,t){const i=await os(this._scope);let s;s="string"==typeof e?e:e.value;let n=s;for(const e of i.keys())if(i.get(e)===s){n=e;break}return this._object.setPropertyValue(n,t)}async deleteProperty(e){return this._object.deleteProperty(e)}callFunction(e,t){return this._object.callFunction(e,t)}callFunctionJSON(e,t){return this._object.callFunctionJSON(e,t)}release(){this._object.release()}debuggerModel(){return this._object.debuggerModel()}runtimeModel(){return this._object.runtimeModel()}isNode(){return this._object.isNode()}}let hs=function(){};const us=()=>hs;var ps=Object.freeze({__proto__:null,Identifier:is,scopeIdentifiers:ss,resolveScopeChain:ns,resolveScope:os,allVariablesInCallFrame:rs,resolveExpression:as,resolveThisObject:cs,resolveScopeInObject:ls,RemoteObject:ds,getScopeResolvedForTest:us,setScopeResolvedForTest:e=>{hs=e}});HTMLDivElement;class _s extends yt{constructor(e,t,i){super(),this._textEditor=e,this._uiSourceCode=t,this._transformer=i,this._executionLocation=null,this._controlDown=!1,this._asyncStepInHoveredLine=0,this._asyncStepInHovered=!1,this._clearValueWidgetsTimer=null,this._sourceMapInfobar=null,this._controlTimeout=null,this._scriptsPanel=xi.instance(),this._breakpointManager=ue.BreakpointManager.instance(),t.project().type()===Fe.projectTypes.Debugger&&this._textEditor.element.classList.add("source-frame-debugger-script"),this._popoverHelper=new q.PopoverHelper(this._scriptsPanel.element,this._getPopoverRequest.bind(this)),this._popoverHelper.setDisableOnClick(!0),this._popoverHelper.setTimeout(250,250),this._popoverHelper.setHasPadding(!0),this._boundPopoverHelperHide=this._popoverHelper.hidePopover.bind(this._popoverHelper),this._scriptsPanel.element.addEventListener("scroll",this._boundPopoverHelperHide,!0);const s={"debugger.toggle-breakpoint":async()=>{const e=this._textEditor.selection();return!!e&&(await this._toggleBreakpoint(e.startLine,!1),!0)},"debugger.toggle-breakpoint-enabled":async()=>{const e=this._textEditor.selection();return!!e&&(await this._toggleBreakpoint(e.startLine,!0),!0)},"debugger.breakpoint-input-window":async()=>{const e=this._textEditor.selection();if(!e)return!1;const t=this._lineBreakpointDecorations(e.startLine).map((e=>e.breakpoint)).filter((e=>Boolean(e)));let i=null;t.length&&(i=t[0]);const s=!!i&&i.condition().includes(_t);return this._editBreakpointCondition(e.startLine,i,null,s),!0}};N.ShortcutRegistry.instance().addShortcutListener(this._textEditor.element,s),this._boundKeyDown=this._onKeyDown.bind(this),this._textEditor.element.addEventListener("keydown",this._boundKeyDown,!0),this._boundKeyUp=this._onKeyUp.bind(this),this._textEditor.element.addEventListener("keyup",this._boundKeyUp,!0),this._boundMouseMove=this._onMouseMove.bind(this),this._textEditor.element.addEventListener("mousemove",this._boundMouseMove,!1),this._boundMouseDown=this._onMouseDown.bind(this),this._textEditor.element.addEventListener("mousedown",this._boundMouseDown,!0),this._boundBlur=this._onBlur.bind(this),this._textEditor.element.addEventListener("focusout",this._boundBlur,!1),this._boundWheel=this._onWheel.bind(this),this._textEditor.element.addEventListener("wheel",this._boundWheel,!0),this._boundGutterClick=e=>{this._handleGutterClick(e)},this._textEditor.addEventListener(ze.Events.GutterClick,this._boundGutterClick,this),this._breakpointManager.addEventListener(ue.Events.BreakpointAdded,this._breakpointAdded,this),this._breakpointManager.addEventListener(ue.Events.BreakpointRemoved,this._breakpointRemoved,this),this._uiSourceCode.addEventListener(De.Events.WorkingCopyChanged,this._workingCopyChanged,this),this._uiSourceCode.addEventListener(De.Events.WorkingCopyCommitted,this._workingCopyCommitted,this),this._breakpointDecorations=new Set,this._decorationByBreakpoint=new Map,this._possibleBreakpointsRequested=new Set,this._scriptFileForDebuggerModel=new Map,a.Settings.instance().moduleSetting("skipStackFramesPattern").addChangeListener(this._showIgnoreListInfobarIfNeeded,this),a.Settings.instance().moduleSetting("skipContentScripts").addChangeListener(this._showIgnoreListInfobarIfNeeded,this),this._valueWidgets=new Map,this._continueToLocationDecorations=null,T.Context.instance().addFlavorChangeListener(Ee.CallFrame,this._callFrameChanged,this),this._liveLocationPool=new re.LiveLocationPool,this._callFrameChanged(),this._updateScriptFiles(),this._uiSourceCode.isDirty()?(this._muted=!0,this._mutedFromStart=!0):(this._muted=!1,this._mutedFromStart=!1,this._initializeBreakpoints()),this._ignoreListInfobar=null,this._showIgnoreListInfobarIfNeeded();for(const e of this._scriptFileForDebuggerModel.values())e.checkMapping();this._hasLineWithoutMapping=!1,this._updateLinesWithoutMappingHighlight(),oe.experiments.isEnabled("sourcesPrettyPrint")||(this._prettyPrintInfobar=null,this._detectMinified())}static accepts(e){return e.contentType().hasScripts()}_showIgnoreListInfobarIfNeeded(){const t=this._uiSourceCode;if(!t.contentType().hasScripts())return;const i=t.project().type();if(!ae.IgnoreListManager.instance().isIgnoreListedUISourceCode(t))return void this._hideIgnoreListInfobar();this._ignoreListInfobar&&this._ignoreListInfobar.dispose();const s=new Q.Infobar(Q.Type.Warning,e.UIString("This script is on the debugger's ignore list"),[{text:p`Remove from ignore list`,highlight:!1,delegate:function(){ae.IgnoreListManager.instance().unIgnoreListUISourceCode(t),i===Fe.projectTypes.ContentScripts&&ae.IgnoreListManager.instance().unIgnoreListContentScripts()},dismiss:!0},{text:p`Configure`,highlight:!1,delegate:D.ViewManager.instance().showView.bind(D.ViewManager.instance(),"blackbox"),dismiss:!1}]);this._ignoreListInfobar=s,s.createDetailsRowMessage(e.UIString("The debugger will skip stepping through this script, and will not stop on exceptions."));const n=this._scriptFileForDebuggerModel.size?this._scriptFileForDebuggerModel.values().next().value:null;n&&n.hasSourceMapURL()&&s.createDetailsRowMessage(e.UIString("Source map found, but ignored for file on ignore list.")),this._textEditor.attachInfobar(this._ignoreListInfobar)}_hideIgnoreListInfobar(){this._ignoreListInfobar&&(this._ignoreListInfobar.dispose(),this._ignoreListInfobar=null)}wasShown(){this._executionLocation&&queueMicrotask((()=>{this._generateValuesInSource()}))}willHide(){this._popoverHelper.hidePopover()}async populateLineGutterContextMenu(t,i){const s=new De.UILocation(this._uiSourceCode,i,0);this._scriptsPanel.appendUILocationItems(t,s);const n=this._lineBreakpointDecorations(i).map((e=>e.breakpoint)).filter((e=>Boolean(e))),o=ce.DebuggerWorkspaceBinding.instance().scriptsForUISourceCode(this._uiSourceCode).every((e=>e.isJavaScript()));if(n.length){const s=1===n.length,r=s?e.UIString("Remove breakpoint"):e.UIString("Remove all breakpoints in line");t.debugSection().appendItem(r,(()=>n.map((e=>e.remove(!1))))),s&&o&&t.debugSection().appendItem(e.UIString("Edit breakpoint…"),this._editBreakpointCondition.bind(this,i,n[0],null,!1));if(n.some((e=>e.enabled()))){const i=s?e.UIString("Disable breakpoint"):e.UIString("Disable all breakpoints in line");t.debugSection().appendItem(i,(()=>n.map((e=>e.setEnabled(!1)))))}if(n.some((e=>!e.enabled()))){const i=s?e.UIString("Enable breakpoint"):e.UIString("Enable all breakpoints in line");t.debugSection().appendItem(i,(()=>n.map((e=>e.setEnabled(!0)))))}}else this._textEditor.hasLineClass(i,"cm-non-breakable-line")||(t.debugSection().appendItem(e.UIString("Add breakpoint"),this._createNewBreakpoint.bind(this,i,"",!0)),o&&(t.debugSection().appendItem(e.UIString("Add conditional breakpoint…"),this._editBreakpointCondition.bind(this,i,null,null,!1)),t.debugSection().appendItem(p`Add logpoint…`,this._editBreakpointCondition.bind(this,i,null,null,!0)),t.debugSection().appendItem(e.UIString("Never pause here"),this._createNewBreakpoint.bind(this,i,"false",!0))))}populateTextAreaContextMenu(t,i,s){function n(e){new ht(o.bind(null,e)).show()}function o(e,t){t&&e.addSourceMapURL(t)}return super.populateTextAreaContextMenu(t,i,s).then(function(){if(this._uiSourceCode.project().type()===Fe.projectTypes.Network&&a.Settings.instance().moduleSetting("jsSourceMapsEnabled").get()&&!ae.IgnoreListManager.instance().isIgnoreListedUISourceCode(this._uiSourceCode)&&this._scriptFileForDebuggerModel.size){const i=this._scriptFileForDebuggerModel.values().next().value,s=e.UIString("Add source map…");t.debugSection().appendItem(s,n.bind(null,i))}}.bind(this))}_workingCopyChanged(){this._scriptFileForDebuggerModel.size||(this._uiSourceCode.isDirty()?this._muteBreakpointsWhileEditing():this._restoreBreakpointsAfterEditing())}_workingCopyCommitted(e){this._scriptsPanel.updateLastModificationTime(),this._scriptFileForDebuggerModel.size||this._restoreBreakpointsAfterEditing()}_didMergeToVM(){this._restoreBreakpointsIfConsistentScripts()}_didDivergeFromVM(){this._muteBreakpointsWhileEditing()}_muteBreakpointsWhileEditing(){if(!this._muted){for(const e of this._breakpointDecorations)this._updateBreakpointDecoration(e);this._muted=!0}}async _restoreBreakpointsIfConsistentScripts(){for(const e of this._scriptFileForDebuggerModel.values())if(e.hasDivergedFromVM()||e.isMergingToVM())return;await this._restoreBreakpointsAfterEditing()}async _restoreBreakpointsAfterEditing(){if(this._muted=!1,this._mutedFromStart)return this._mutedFromStart=!1,void this._initializeBreakpoints();const e=Array.from(this._breakpointDecorations);this._breakpointDecorations.clear(),this._textEditor.operation((()=>e.map((e=>e.hide()))));for(const t of e){if(!t.breakpoint)continue;const e=t.enabled;t.breakpoint.remove(!1);const i=t.handle.resolve();i&&await this._setBreakpoint(i.lineNumber,i.columnNumber,t.condition,e)}}_isIdentifier(e){return e.startsWith("js-variable")||e.startsWith("js-property")||"js-def"===e||"variable"===e}_getPopoverRequest(e){if(J.KeyboardShortcut.eventHasCtrlOrMeta(e))return null;const t=T.Context.instance().flavor(xe.Target),i=t?t.model(Ee.DebuggerModel):null;if(!i||!i.isPaused())return null;const s=this._textEditor.coordinatesToCursorPosition(e.x,e.y);if(!s)return null;const n=s.startLine,o=s.startColumn,r=this._textEditor.selection().normalize();let a,c=-1,l=-1,d=-1;const h=T.Context.instance().flavor(Ee.CallFrame);if(!h)return null;if(r&&!r.isEmpty()){if(r.startLine!==r.endLine||r.startLine!==n||o<r.startColumn||o>r.endColumn)return null;const e=this._textEditor.cursorPositionToCoordinates(r.startLine,r.startColumn),t=this._textEditor.cursorPositionToCoordinates(r.endLine,r.endColumn);if(!e)throw new Error("Expected leftCorner to not be null.");if(!t)throw new Error("Expected rightCorner to not be null.");a=new AnchorBox(e.x,e.y,t.x-e.x,e.height),c=r.startLine,l=r.startColumn,d=r.endColumn-1}else if("application/wasm"===this._uiSourceCode.mimeType()){const e=this._textEditor.tokenAtTextPosition(s.startLine,s.startColumn);if(!e||"variable-2"!==e.type)return null;const t=this._textEditor.cursorPositionToCoordinates(s.startLine,e.startColumn),i=this._textEditor.cursorPositionToCoordinates(s.startLine,e.endColumn-1);if(!t)throw new Error("Expected leftCorner to not be null.");if(!i)throw new Error("Expected rightCorner to not be null.");a=new AnchorBox(t.x,t.y,i.x-t.x,t.height),c=s.startLine,l=e.startColumn,d=e.endColumn-1}else{const e=this._textEditor.tokenAtTextPosition(s.startLine,s.startColumn);if(!e||!e.type)return null;c=s.startLine;const t=this._textEditor.line(c),i=t.substring(e.startColumn,e.endColumn);if(!this._isIdentifier(e.type)&&("js-keyword"!==e.type||"this"!==i))return null;const n=this._textEditor.cursorPositionToCoordinates(c,e.startColumn),o=this._textEditor.cursorPositionToCoordinates(c,e.endColumn-1);if(!n)throw new Error("Expected leftCorner to not be null.");if(!o)throw new Error("Expected rightCorner to not be null.");for(a=new AnchorBox(n.x,n.y,o.x-n.x,n.height),l=e.startColumn,d=e.endColumn-1;l>1&&"."===t.charAt(l-1);){const e=this._textEditor.tokenAtTextPosition(c,l-2);if(!e||!e.type)return null;if("js-meta"===e.type)break;if("js-string-2"===e.type){if(e.endColumn<2)return null;if(l=t.lastIndexOf("`",e.endColumn-2),l<0)return null;break}l=e.startColumn}}let u,p;return{box:a,show:async e=>{const t=this._textEditor.line(c).substring(l,d+1),s=await async function(e,t){const i=await as(h,t,e,c,l,d);return await h.evaluate({expression:i||t,objectGroup:"popover",includeCommandLineAPI:!1,silent:!0,returnByValue:!1,generatePreview:!1,throwOnSideEffect:void 0,timeout:void 0,disableBreaks:void 0,replMode:void 0,allowUnsafeEvalBlockedByCSP:void 0})}(this._uiSourceCode,t);if(!s||"error"in s||!s.object||"object"===s.object.type&&"error"===s.object.subtype)return!1;u=await ie.ObjectPopoverHelper.buildObjectPopover(s.object,e);const n=T.Context.instance().flavor(Ee.CallFrame);if(!u||h!==n)return i.runtimeModel().releaseObjectGroup("popover"),u&&u.dispose(),!1;const o=new Je.TextRange(c,l,c,d);return p=this._textEditor.highlightRange(o,"source-frame-eval-expression"),!0},hide:()=>{u&&u.dispose(),i.runtimeModel().releaseObjectGroup("popover"),p&&this._textEditor.removeHighlight(p)}}}_onWheel(e){this._executionLocation&&J.KeyboardShortcut.eventHasCtrlOrMeta(e)&&e.preventDefault()}_onKeyDown(e){(!e.ctrlKey||!e.metaKey&&me.isMac())&&this._clearControlDown(),"Escape"!==e.key?J.KeyboardShortcut.eventHasCtrlOrMeta(e)&&this._executionLocation&&(this._controlDown=!0,e.key===(me.isMac()?"Meta":"Control")&&(this._controlTimeout=window.setTimeout((()=>{this._executionLocation&&this._controlDown&&this._showContinueToLocations()}),150))):this._popoverHelper.isPopoverVisible()&&(this._popoverHelper.hidePopover(),e.consume())}_onMouseMove(e){if(this._executionLocation&&this._controlDown&&J.KeyboardShortcut.eventHasCtrlOrMeta(e)&&(this._continueToLocationDecorations||this._showContinueToLocations()),this._continueToLocationDecorations){const t=e.target,i=this._textEditor.coordinatesToCursorPosition(e.x,e.y),s=Boolean(t.enclosingNodeOrSelfWithClass("source-frame-async-step-in"));this._setAsyncStepInHoveredLine(i?i.startLine:null,s)}}_setAsyncStepInHoveredLine(e,t){this._asyncStepInHoveredLine===e&&this._asyncStepInHovered===t||(this._asyncStepInHovered&&this._asyncStepInHoveredLine&&this._textEditor.toggleLineClass(this._asyncStepInHoveredLine,"source-frame-async-step-in-hovered",!1),this._asyncStepInHoveredLine=e,this._asyncStepInHovered=t,this._asyncStepInHovered&&this._asyncStepInHoveredLine&&this._textEditor.toggleLineClass(this._asyncStepInHoveredLine,"source-frame-async-step-in-hovered",!0))}_onMouseDown(e){if(!this._executionLocation||!J.KeyboardShortcut.eventHasCtrlOrMeta(e))return;if(!this._continueToLocationDecorations)return;e.consume();const t=this._textEditor.coordinatesToCursorPosition(e.x,e.y);if(t)for(const e of this._continueToLocationDecorations.keys()){const i=e.find();if(i.from.line===t.startLine&&i.to.line===t.startLine&&(i.from.ch<=t.startColumn&&t.startColumn<=i.to.ch)){const t=this._continueToLocationDecorations.get(e);if(!t)throw new Error("Expected a function");t();break}}}_onBlur(e){this._clearControlDown()}_onKeyUp(e){this._clearControlDown()}_clearControlDown(){this._controlDown=!1,this._clearContinueToLocations(),this._controlTimeout&&clearTimeout(this._controlTimeout)}async _editBreakpointCondition(e,t,i,s){const n=t?t.condition():"",o=document.createElement("div"),r=new pt(e,n,Boolean(s),(async s=>{r.detach(),this._textEditor.removeDecoration(o,e),s.committed&&(t?t.setCondition(s.condition):i?await this._setBreakpoint(i.lineNumber,i.columnNumber,s.condition,!0):await this._createNewBreakpoint(e,s.condition,!0))}));this._textEditor.addDecoration(o,e),r.markAsExternallyManaged(),r.show(o)}async _executionLineChanged(e){this._clearExecutionLine();const t=await e.uiLocation();if(!t||t.uiSourceCode.url()!==this._uiSourceCode.url())return void(this._executionLocation=null);this._executionLocation=t;const i=this._transformer.uiLocationToEditorLocation(t.lineNumber,t.columnNumber);this._textEditor.setExecutionLocation(i.lineNumber,i.columnNumber),this._textEditor.isShowing()&&queueMicrotask((()=>{this._controlDown?this._showContinueToLocations():this._generateValuesInSource()}))}_generateValuesInSource(){if(!a.Settings.instance().moduleSetting("inlineVariableValues").get())return;if(!T.Context.instance().flavor(Le.ExecutionContext))return;const e=T.Context.instance().flavor(Ee.CallFrame);if(!e)return;const t=e.localScope(),i=e.functionLocation();t&&i&&ls(t).getAllProperties(!1,!1).then(this._prepareScopeVariables.bind(this,e))}_showContinueToLocations(){this._popoverHelper.hidePopover();if(!T.Context.instance().flavor(Le.ExecutionContext))return;const e=T.Context.instance().flavor(Ee.CallFrame);if(!e)return;const t=e.functionLocation()||e.location();function i(e){this._clearContinueToLocationsNoRestore(),this._textEditor.hideExecutionLineBackground(),this._continueToLocationDecorations=new Map,e=e.reverse();let t=-1;for(const i of e){const e=this._transformer.uiLocationToEditorLocation(i.lineNumber,i.columnNumber),s=this._textEditor.tokenAtTextPosition(e.lineNumber,e.columnNumber);if(!s)continue;let n=s;const o=this._textEditor.line(e.lineNumber);let r=o.substring(n.startColumn,n.endColumn);if(!n.type&&"."===r){const t=this._textEditor.tokenAtTextPosition(e.lineNumber,n.endColumn+1);if(!t)throw new Error("nextToken should not be null.");n=t,r=o.substring(n.startColumn,n.endColumn)}if(!n.type)continue;if(!("js-keyword"===n.type&&("this"===r||"return"===r||"new"===r||"continue"===r||"break"===r))&&!this._isIdentifier(n.type))continue;if(t===e.lineNumber&&i.type!==Protocol.Debugger.BreakLocationType.Call)continue;let a=new Je.TextRange(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn-1),c=this._textEditor.highlightRange(a,"source-frame-continue-to-location");this._continueToLocationDecorations.set(c,i.continueToLocation.bind(i)),i.type===Protocol.Debugger.BreakLocationType.Call&&(t=e.lineNumber);let l="."===o[n.startColumn-1]&&"then"===r||"setTimeout"===r||"setInterval"===r||"postMessage"===r;if("new"===r){const t=this._textEditor.tokenAtTextPosition(e.lineNumber,n.endColumn+1);if(!t)throw new Error("nextToken should not be null.");n=t,r=o.substring(n.startColumn,n.endColumn),l="Worker"===r}const d=this._executionLocation&&i.lineNumber===this._executionLocation.lineNumber&&i.columnNumber===this._executionLocation.columnNumber;if(i.type===Protocol.Debugger.BreakLocationType.Call&&l){const t=this._findAsyncStepInRange(this._textEditor,e.lineNumber,o,n.endColumn);t&&(a=new Je.TextRange(e.lineNumber,t.from,e.lineNumber,t.to-1),c=this._textEditor.highlightRange(a,"source-frame-async-step-in"),this._continueToLocationDecorations.set(c,this._asyncStepIn.bind(this,i,Boolean(d))))}}this._continueToLocationRenderedForTest()}e.debuggerModel.getPossibleBreakpoints(t,null,!0).then((e=>this._textEditor.operation(i.bind(this,e))))}_continueToLocationRenderedForTest(){}_findAsyncStepInRange(e,t,i,s){let n,o=null,r=s,a=i.length,c=i.indexOf("(",s);const l=c;if(-1===c)return null;if(c++,u(),c>=i.length)return null;if(o=h(),!o)return null;if(r=o.startColumn,"js-keyword"===o.type&&"async"===n){if(u(),c>=i.length)return{from:r,to:a};if(o=h(),!o)return{from:r,to:a}}if("js-keyword"===o.type&&"function"===n)return{from:r,to:a};if("js-string"===o.type)return{from:l,to:a};if(o.type&&this._isIdentifier(o.type))return{from:r,to:a};if("("!==n)return null;const d=i.indexOf(")",c);return-1===d||-1!==i.substring(c,d).indexOf("(")?{from:r,to:a}:{from:r,to:d+1};function h(){return o=e.tokenAtTextPosition(t,c),o&&(c=o.endColumn,a=o.endColumn,n=i.substring(o.startColumn,o.endColumn)),o}function u(){for(;c<i.length;){if(" "===i[c]){c++;continue}const s=e.tokenAtTextPosition(t,c);if(!s)throw new Error("expected token to not be null");if("js-comment"!==s.type)break;c=s.endColumn}}}_asyncStepIn(e,t){function i(){e.debuggerModel.scheduleStepIntoAsync()}t?i():e.continueToLocation(i)}async _prepareScopeVariables(e,t){const i=t.properties;if(this._clearValueWidgets(),!i||!i.length||i.length>500||!this._textEditor.isShowing())return;const s=ce.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(e.functionLocation()),n=ce.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(e.location()),[o,r]=await Promise.all([s,n]);if(!o||!r||o.uiSourceCode.url()!==this._uiSourceCode.url()||r.uiSourceCode.url()!==this._uiSourceCode.url())return;const a=this._transformer.uiLocationToEditorLocation(o.lineNumber,o.columnNumber),c=this._transformer.uiLocationToEditorLocation(r.lineNumber,r.columnNumber),l=a.lineNumber,d=a.columnNumber,h=c.lineNumber;if(l>=h||h-l>500||l<0||h>=this._textEditor.linesCount)return;const u=new Map;for(const e of i)u.set(e.name,e.value);const p=new Map;let _=!1;const m=(new Ze.TokenizerFactory).createTokenizer("text/javascript");m(this._textEditor.line(l).substring(d),g.bind(this,l));for(let e=l+1;e<h;++e)m(this._textEditor.line(e),g.bind(this,e));function g(e,t,i,s,n){if(!_&&i&&this._isIdentifier(i)&&u.get(t)){let i=p.get(e);i||(i=new Set,p.set(e,i)),i.add(t)}_="."===t}this._textEditor.operation(this._renderDecorations.bind(this,u,p,l,h))}_renderDecorations(e,t,i,s){const n=new se.RemoteObjectPreviewFormatter;for(let o=i;o<s;++o){const i=t.get(o),s=this._valueWidgets.get(o);if(!i){s&&(this._valueWidgets.delete(o),this._textEditor.removeDecoration(s,o));continue}const r=document.createElement("div");r.classList.add("text-editor-value-decoration");const a=this._textEditor.cursorPositionToCoordinates(o,0);if(!a)throw new Error("base is expected to not be null");const c=this._textEditor.cursorPositionToCoordinates(o,this._textEditor.line(o).length);if(!c)throw new Error("offset is expected to not be null");const l=4,d=c.x-a.x+l;r.style.left=d+"px",r.__nameToToken=new Map;let h=0;for(const s of i){if(h>10)break;const i=t.get(o-1);if(i&&i.has(s))continue;h&&f.createTextChild(r,", ");const a=r.createChild("span");r.__nameToToken.set(s,a),f.createTextChild(a,s+" = ");const c=e.get(s);if(!c)throw new Error("value is expected to be null");const l=c.preview?c.preview.properties.length:0,d=c.preview&&c.preview.entries?c.preview.entries.length:0;if(c.preview&&l+d<10)n.appendObjectPreview(a,c.preview,!1);else{const e=ne.ObjectPropertiesSection.createPropertyValue(c,!1,!1);a.appendChild(e.element)}++h}let u=!0;if(s){u=!1;for(const e of r.__nameToToken.keys()){const t=s.__nameToToken.get(e),i=r.__nameToToken.get(e),n=t?t.textContent:"";(i?i.textContent:"")!==n&&(u=!0,f.runCSSAnimationOnce(r.__nameToToken.get(e),"source-frame-value-update-highlight"))}u&&(this._valueWidgets.delete(o),this._textEditor.removeDecoration(s,o))}u&&(this._valueWidgets.set(o,r),this._textEditor.addDecoration(r,o))}}_clearExecutionLine(){this._textEditor.operation((()=>{this._executionLocation&&this._textEditor.clearExecutionLine(),this._executionLocation=null,this._clearValueWidgetsTimer&&(clearTimeout(this._clearValueWidgetsTimer),this._clearValueWidgetsTimer=null),this._clearValueWidgetsTimer=window.setTimeout(this._clearValueWidgets.bind(this),1e3),this._clearContinueToLocationsNoRestore()}))}_clearValueWidgets(){this._clearValueWidgetsTimer&&clearTimeout(this._clearValueWidgetsTimer),this._clearValueWidgetsTimer=null,this._textEditor.operation((()=>{for(const e of this._valueWidgets.keys()){const t=this._valueWidgets.get(e);t&&this._textEditor.removeDecoration(t,e)}this._valueWidgets.clear()}))}_clearContinueToLocationsNoRestore(){const e=this._continueToLocationDecorations;e&&this._textEditor.operation((()=>{for(const t of e.keys())this._textEditor.removeHighlight(t);this._continueToLocationDecorations=null,this._setAsyncStepInHoveredLine(null,!1)}))}_clearContinueToLocations(){this._continueToLocationDecorations&&this._textEditor.operation((()=>{this._textEditor.showExecutionLineBackground(),this._generateValuesInSource(),this._clearContinueToLocationsNoRestore()}))}_lineBreakpointDecorations(e){return Array.from(this._breakpointDecorations).filter((t=>(t.handle.resolve()||{}).lineNumber===e))}_breakpointDecoration(e,t){for(const i of this._breakpointDecorations){const s=i.handle.resolve();if(s&&(s.lineNumber===e&&s.columnNumber===t))return i}return null}_updateBreakpointDecoration(e){function t(){if(!this._scheduledBreakpointDecorationUpdates)return;const e=new Set;for(const t of this._scheduledBreakpointDecorationUpdates){const i=t.handle.resolve();i&&e.add(i.lineNumber)}this._scheduledBreakpointDecorationUpdates=null;let t=!1;for(const n of e){const e=this._lineBreakpointDecorations(n);i.call(this,n,e),this._possibleBreakpointsRequested.has(n)?t=!0:s.call(this,n,e)}t||this._breakpointDecorationsUpdatedForTest()}function i(e,t){if(this._textEditor.toggleLineClass(e,"cm-breakpoint",!1),this._textEditor.toggleLineClass(e,"cm-breakpoint-disabled",!1),this._textEditor.toggleLineClass(e,"cm-breakpoint-unbound",!1),this._textEditor.toggleLineClass(e,"cm-breakpoint-conditional",!1),this._textEditor.toggleLineClass(e,"cm-breakpoint-logpoint",!1),t.length){t.sort(ms.mostSpecificFirst);const i=!t[0].enabled||this._muted,s=t[0].condition.includes(_t),n=!t[0].bound,o=Boolean(t[0].condition)&&!s;this._textEditor.toggleLineClass(e,"cm-breakpoint",!0),this._textEditor.toggleLineClass(e,"cm-breakpoint-disabled",i),this._textEditor.toggleLineClass(e,"cm-breakpoint-unbound",n&&!i),this._textEditor.toggleLineClass(e,"cm-breakpoint-logpoint",s),this._textEditor.toggleLineClass(e,"cm-breakpoint-conditional",o)}}function s(e,t){const i=new Set(t.map((e=>e.bookmark)).filter((e=>Boolean(e)))),s=this._textEditor.line(e).length,n=this._textEditor.bookmarks(new Je.TextRange(e,0,e,s),ms.bookmarkSymbol);for(const e of n)i.has(e)||e.clear();if(t.length)if(t.length>1)for(const e of t)e.update(),this._muted?e.hide():e.show();else t[0].update(),t[0].hide()}this._scheduledBreakpointDecorationUpdates||(this._scheduledBreakpointDecorationUpdates=new Set,queueMicrotask((()=>{this._textEditor.operation(t.bind(this))}))),this._scheduledBreakpointDecorationUpdates.add(e)}_breakpointDecorationsUpdatedForTest(){}async _inlineBreakpointClick(e,t){if(t.consume(!0),e.breakpoint)t.shiftKey?e.breakpoint.setEnabled(!e.breakpoint.enabled()):e.breakpoint.remove(!1);else{const t=e.handle.resolve();if(!t)return;const i=this._transformer.editorLocationToUILocation(t.lineNumber,t.columnNumber);await this._setBreakpoint(i.lineNumber,i.columnNumber,e.condition,!0)}}_inlineBreakpointContextMenu(t,i){i.consume(!0);const s=t.handle.resolve();if(!s)return;if(this._textEditor.hasLineClass(s.lineNumber,"cm-non-breakable-line"))return;if(!ce.DebuggerWorkspaceBinding.instance().scriptsForUISourceCode(this._uiSourceCode).every((e=>e.isJavaScript())))return;const n=this._transformer.editorLocationToUILocation(s.lineNumber,s.columnNumber),o=new F.ContextMenu(i);t.breakpoint?o.debugSection().appendItem(e.UIString("Edit breakpoint…"),this._editBreakpointCondition.bind(this,s.lineNumber,t.breakpoint,null,!1)):(o.debugSection().appendItem(e.UIString("Add conditional breakpoint…"),this._editBreakpointCondition.bind(this,s.lineNumber,null,s,!1)),o.debugSection().appendItem(p`Add logpoint…`,this._editBreakpointCondition.bind(this,s.lineNumber,null,s,!0)),o.debugSection().appendItem(e.UIString("Never pause here"),this._setBreakpoint.bind(this,n.lineNumber,n.columnNumber,"false",!0))),o.show()}_shouldIgnoreExternalBreakpointEvents(e){if(e.data.uiLocation.uiSourceCode!==this._uiSourceCode)return!0;if(this._muted)return!0;for(const e of this._scriptFileForDebuggerModel.values())if(e.isDivergingFromVM()||e.isMergingToVM())return!0;return!1}_breakpointAdded(e){if(this._shouldIgnoreExternalBreakpointEvents(e))return;const t=e.data.uiLocation,i=e.data.breakpoint;this._addBreakpoint(t,i)}_addBreakpoint(e,t){const i=this._transformer.uiLocationToEditorLocation(e.lineNumber,e.columnNumber),s=this._lineBreakpointDecorations(e.lineNumber);let n=this._breakpointDecoration(i.lineNumber,i.columnNumber);if(n)n.breakpoint=t,n.condition=t.condition(),n.enabled=t.enabled();else{const e=this._textEditor.textEditorPositionHandle(i.lineNumber,i.columnNumber);n=new ms(this._textEditor,e,t.condition(),t.enabled(),t.bound()||!t.hasBoundScript(),t),n.element.addEventListener("click",this._inlineBreakpointClick.bind(this,n),!0),n.element.addEventListener("contextmenu",this._inlineBreakpointContextMenu.bind(this,n),!0),this._breakpointDecorations.add(n)}if(this._decorationByBreakpoint.set(t,n),this._updateBreakpointDecoration(n),t.enabled()&&!s.length){this._possibleBreakpointsRequested.add(i.lineNumber);const e=this._transformer.editorLocationToUILocation(i.lineNumber,0),t=this._transformer.editorLocationToUILocation(i.lineNumber+1,0);this._breakpointManager.possibleBreakpoints(this._uiSourceCode,new Je.TextRange(e.lineNumber,e.columnNumber||0,t.lineNumber,t.columnNumber||0)).then(function(e,t){this._possibleBreakpointsRequested.delete(e);const i=this._lineBreakpointDecorations(e);for(const e of i)this._updateBreakpointDecoration(e);if(!i.some((e=>Boolean(e.breakpoint))))return;const s=new Set;for(const e of i){const t=e.handle.resolve();t&&s.add(t.columnNumber)}for(const i of t.slice(0,100)){const t=this._transformer.uiLocationToEditorLocation(i.lineNumber,i.columnNumber);if(t.lineNumber!==e)continue;if(s.has(t.columnNumber))continue;const n=this._textEditor.textEditorPositionHandle(t.lineNumber,t.columnNumber),o=new ms(this._textEditor,n,"",!1,!1,null);o.element.addEventListener("click",this._inlineBreakpointClick.bind(this,o),!0),o.element.addEventListener("contextmenu",this._inlineBreakpointContextMenu.bind(this,o),!0),this._breakpointDecorations.add(o),this._updateBreakpointDecoration(o)}}.bind(this,i.lineNumber))}}_breakpointRemoved(e){if(this._shouldIgnoreExternalBreakpointEvents(e))return;const t=e.data.uiLocation,i=e.data.breakpoint,s=this._decorationByBreakpoint.get(i);if(!s)return;this._decorationByBreakpoint.delete(i);const n=this._transformer.uiLocationToEditorLocation(t.lineNumber,t.columnNumber);s.breakpoint=null,s.enabled=!1;const o=this._lineBreakpointDecorations(n.lineNumber);if(o.some((e=>Boolean(e.breakpoint))))this._updateBreakpointDecoration(s);else for(const e of o)this._breakpointDecorations.delete(e),this._updateBreakpointDecoration(e)}_initializeBreakpoints(){const e=this._breakpointManager.breakpointLocationsForUISourceCode(this._uiSourceCode);for(const t of e)this._addBreakpoint(t.uiLocation,t.breakpoint)}_updateLinesWithoutMappingHighlight(){if(Boolean(le.CompilerScriptMapping.uiSourceCodeOrigin(this._uiSourceCode))){const e=this._textEditor.linesCount;for(let t=0;t<e;++t){const e=le.CompilerScriptMapping.uiLineHasMapping(this._uiSourceCode,t);e||(this._hasLineWithoutMapping=!0),this._hasLineWithoutMapping&&this._textEditor.toggleLineClass(t,"cm-non-breakable-line",!e)}return}const{pluginManager:e}=ce.DebuggerWorkspaceBinding.instance();e&&e.getMappedLines(this._uiSourceCode).then((e=>{if(void 0===e)return;const t=this._textEditor.linesCount;for(let i=0;i<t;++i){const t=e.has(i);t||(this._hasLineWithoutMapping=!0),this._hasLineWithoutMapping&&this._textEditor.toggleLineClass(i,"cm-non-breakable-line",!t)}})).catch(console.error)}_updateScriptFiles(){for(const e of xe.TargetManager.instance().models(Ee.DebuggerModel)){ce.DebuggerWorkspaceBinding.instance().scriptFile(this._uiSourceCode,e)&&this._updateScriptFile(e)}}_updateScriptFile(e){const t=this._scriptFileForDebuggerModel.get(e),i=ce.DebuggerWorkspaceBinding.instance().scriptFile(this._uiSourceCode,e);this._scriptFileForDebuggerModel.delete(e),t&&(t.removeEventListener(pe.ResourceScriptFile.Events.DidMergeToVM,this._didMergeToVM,this),t.removeEventListener(pe.ResourceScriptFile.Events.DidDivergeFromVM,this._didDivergeFromVM,this),this._muted&&!this._uiSourceCode.isDirty()&&this._restoreBreakpointsIfConsistentScripts()),i&&(this._scriptFileForDebuggerModel.set(e,i),i.addEventListener(pe.ResourceScriptFile.Events.DidMergeToVM,this._didMergeToVM,this),i.addEventListener(pe.ResourceScriptFile.Events.DidDivergeFromVM,this._didDivergeFromVM,this),i.checkMapping(),i.hasSourceMapURL()&&this._showSourceMapInfobar())}_showSourceMapInfobar(){this._sourceMapInfobar||(this._sourceMapInfobar=Q.Infobar.create(Q.Type.Info,e.UIString("Source Map detected."),[],a.Settings.instance().createSetting("sourceMapInfobarDisabled",!1)),this._sourceMapInfobar&&(this._sourceMapInfobar.createDetailsRowMessage(e.UIString("Associated files should be added to the file tree. You can debug these resolved source files as regular JavaScript files.")),this._sourceMapInfobar.createDetailsRowMessage(e.UIString("Associated files are available via file tree or %s.",N.ShortcutRegistry.instance().shortcutTitleForAction("quickOpen.show"))),this._sourceMapInfobar.setCloseCallback((()=>{this._sourceMapInfobar=null})),this._textEditor.attachInfobar(this._sourceMapInfobar)))}async _detectMinified(){const t=this._uiSourceCode.content();if(!t||!Qe.isMinified(t))return;const i=await oe.Runtime.instance().allInstances(Ji);let s=null;for(const e of i)if(e instanceof Yi){if(!e.isCurrentUISourceCodeFormatable())return;s=e.toggleFormatScriptSource.bind(e);break}if(this._prettyPrintInfobar=Q.Infobar.create(Q.Type.Info,e.UIString("Pretty-print this minified file?"),[{text:p`Pretty-print`,delegate:s,highlight:!0,dismiss:!0}],a.Settings.instance().createSetting("prettyPrintInfobarDisabled",!1)),!this._prettyPrintInfobar)return;this._prettyPrintInfobar.setCloseCallback((()=>{this._prettyPrintInfobar=null}));const n=new E.Toolbar(""),o=new E.ToolbarButton("","largeicon-pretty-print");n.appendToolbarItem(o),n.element.style.display="inline-block",n.element.style.verticalAlign="middle",n.element.style.marginBottom="3px",n.element.style.pointerEvents="none",n.element.tabIndex=-1;this._prettyPrintInfobar.createDetailsRowMessage().appendChild(f.formatLocalized("Pretty-printing will format this file in a new tab where you can continue debugging. You can also pretty-print this file by clicking the %s button on the bottom status bar.",[n.element])),this._textEditor.attachInfobar(this._prettyPrintInfobar)}async _handleGutterClick(e){if(this._muted)return;const t=e.data;if(t.gutterType!==ze.lineNumbersGutterType)return;const i=t.lineNumber,s=t.event;0!==s.button||s.altKey||s.ctrlKey||s.metaKey||(await this._toggleBreakpoint(i,s.shiftKey),s.consume(!0))}async _toggleBreakpoint(e,t){const i=this._lineBreakpointDecorations(e);if(!i.length)return void await this._createNewBreakpoint(e,"",!0);const s=this._textEditor.hasLineClass(e,"cm-breakpoint-disabled"),n=i.map((e=>e.breakpoint)).filter((e=>Boolean(e)));for(const e of n)t?e.setEnabled(s):e.remove(!1)}async _createNewBreakpoint(e,t,i){if(this._textEditor.hasLineClass(e,"cm-non-breakable-line"))return;ge.actionTaken(be.Action.ScriptsBreakpointSet);const s=this._transformer.editorLocationToUILocation(e);await this._setBreakpoint(s.lineNumber,s.columnNumber,t,i)}async _setBreakpoint(e,t,i,s){a.Settings.instance().moduleSetting("breakpointsActive").set(!0),await this._breakpointManager.setBreakpoint(this._uiSourceCode,e,t,i,s),this._breakpointWasSetForTest(e,t,i,s)}_breakpointWasSetForTest(e,t,i,s){}async _callFrameChanged(){this._liveLocationPool.disposeAll();const e=T.Context.instance().flavor(Ee.CallFrame);e?await ce.DebuggerWorkspaceBinding.instance().createCallFrameLiveLocation(e.location(),this._executionLineChanged.bind(this),this._liveLocationPool):this._clearExecutionLine()}dispose(){for(const e of this._breakpointDecorations)e.dispose();if(this._breakpointDecorations.clear(),this._scheduledBreakpointDecorationUpdates){for(const e of this._scheduledBreakpointDecorationUpdates)e.dispose();this._scheduledBreakpointDecorationUpdates.clear()}this._hideIgnoreListInfobar(),this._sourceMapInfobar&&this._sourceMapInfobar.dispose(),this._prettyPrintInfobar&&this._prettyPrintInfobar.dispose(),this._scriptsPanel.element.removeEventListener("scroll",this._boundPopoverHelperHide,!0);for(const e of this._scriptFileForDebuggerModel.values())e.removeEventListener(pe.ResourceScriptFile.Events.DidMergeToVM,this._didMergeToVM,this),e.removeEventListener(pe.ResourceScriptFile.Events.DidDivergeFromVM,this._didDivergeFromVM,this);this._scriptFileForDebuggerModel.clear(),this._textEditor.element.removeEventListener("keydown",this._boundKeyDown,!0),this._textEditor.element.removeEventListener("keyup",this._boundKeyUp,!0),this._textEditor.element.removeEventListener("mousemove",this._boundMouseMove,!1),this._textEditor.element.removeEventListener("mousedown",this._boundMouseDown,!0),this._textEditor.element.removeEventListener("focusout",this._boundBlur,!1),this._textEditor.element.removeEventListener("wheel",this._boundWheel,!0),this._textEditor.removeEventListener(ze.Events.GutterClick,this._boundGutterClick,this),this._popoverHelper.hidePopover(),this._popoverHelper.dispose(),this._breakpointManager.removeEventListener(ue.Events.BreakpointAdded,this._breakpointAdded,this),this._breakpointManager.removeEventListener(ue.Events.BreakpointRemoved,this._breakpointRemoved,this),this._uiSourceCode.removeEventListener(De.Events.WorkingCopyChanged,this._workingCopyChanged,this),this._uiSourceCode.removeEventListener(De.Events.WorkingCopyCommitted,this._workingCopyCommitted,this),a.Settings.instance().moduleSetting("skipStackFramesPattern").removeChangeListener(this._showIgnoreListInfobarIfNeeded,this),a.Settings.instance().moduleSetting("skipContentScripts").removeChangeListener(this._showIgnoreListInfobarIfNeeded,this),super.dispose(),this._clearExecutionLine(),T.Context.instance().removeFlavorChangeListener(Ee.CallFrame,this._callFrameChanged,this),this._liveLocationPool.disposeAll()}}class ms{constructor(e,t,i,s,n,o){this._textEditor=e,this.handle=t,this.condition=i,this.enabled=s,this.bound=n,this.breakpoint=o,this.element=document.createElement("span"),this.element.classList.toggle("cm-inline-breakpoint",!0),this.bookmark=null}static mostSpecificFirst(e,t){return e.enabled!==t.enabled?e.enabled?-1:1:e.bound!==t.bound?e.bound?-1:1:Boolean(e.condition)!==Boolean(t.condition)?Boolean(e.condition)?-1:1:0}update(){const e=Boolean(this.condition)&&this.condition.includes(_t),t=Boolean(this.condition)&&!e;this.element.classList.toggle("cm-inline-logpoint",e),this.element.classList.toggle("cm-inline-breakpoint-conditional",t),this.element.classList.toggle("cm-inline-disabled",!this.enabled)}show(){if(this.bookmark)return;const e=this.handle.resolve();e&&(this.bookmark=this._textEditor.addBookmark(e.lineNumber,e.columnNumber,this.element,ms.bookmarkSymbol),this.bookmark[ms._elementSymbolForTest]=this.element)}hide(){this.bookmark&&(this.bookmark.clear(),this.bookmark=null)}dispose(){const e=this.handle.resolve();e&&(this._textEditor.toggleLineClass(e.lineNumber,"cm-breakpoint",!1),this._textEditor.toggleLineClass(e.lineNumber,"cm-breakpoint-disabled",!1),this._textEditor.toggleLineClass(e.lineNumber,"cm-breakpoint-unbound",!1),this._textEditor.toggleLineClass(e.lineNumber,"cm-breakpoint-conditional",!1),this._textEditor.toggleLineClass(e.lineNumber,"cm-breakpoint-logpoint",!1)),this.hide()}}ms.bookmarkSymbol=Symbol("bookmark"),ms._elementSymbolForTest=Symbol("element");const gs=Symbol("bookmark");var bs=Object.freeze({__proto__:null,DebuggerPlugin:_s,BreakpointDecoration:ms,continueToLocationDecorationSymbol:gs});class Ss{constructor(e){this._query=e,this._queryUpperCase=e.toUpperCase(),this._score=new Int32Array(2e3),this._sequence=new Int32Array(2e3),this._dataUpperCase="",this._fileNameIndex=0}score(e,t){if(!e||!this._query)return 0;const i=this._query.length,s=e.length;(!this._score||this._score.length<i*s)&&(this._score=new Int32Array(i*s*2),this._sequence=new Int32Array(i*s*2));const n=this._score,o=this._sequence;this._dataUpperCase=e.toUpperCase(),this._fileNameIndex=e.lastIndexOf("/");for(let t=0;t<i;++t)for(let i=0;i<s;++i){const r=0===i?0:n[t*s+i-1],a=0===t||0===i?0:n[(t-1)*s+i-1],c=0===t||0===i?0:o[(t-1)*s+i-1],l=this._match(this._query,e,t,i,c);l&&a+l>=r?(o[t*s+i]=c+1,n[t*s+i]=a+l):(o[t*s+i]=0,n[t*s+i]=r)}t&&this._restoreMatchIndexes(o,i,s,t);return 256*n[i*s-1]+(256-e.length)}_testWordStart(e,t){if(0===t)return!0;const i=e.charAt(t-1);return"_"===i||"-"===i||"/"===i||"."===i||" "===i||e[t-1]!==this._dataUpperCase[t-1]&&e[t]===this._dataUpperCase[t]}_restoreMatchIndexes(e,t,i,s){let n=t-1,o=i-1;for(;n>=0&&o>=0;)switch(e[n*i+o]){case 0:--o;break;default:s.push(o),--n,--o}s.reverse()}_singleCharScore(e,t,i,s){const n=this._testWordStart(t,s),o=s>this._fileNameIndex;let r=10;return(0===s||"/"===t[s-1])&&(r+=4),n&&(r+=2),e[i]===t[s]&&e[i]===this._queryUpperCase[i]&&(r+=6),o&&(r+=4),s===this._fileNameIndex+1&&0===i&&(r+=5),o&&n&&(r+=3),r}_sequenceCharScore(e,t,i,s,n){let o=10;return s>this._fileNameIndex&&(o+=4),(0===s||"/"===t[s-1])&&(o+=5),o+=4*n,o}_match(e,t,i,s,n){return this._queryUpperCase[i]!==this._dataUpperCase[s]?0:n?this._sequenceCharScore(e,t,i,s-n,n):this._singleCharScore(e,t,i,s)}}var Cs=Object.freeze({__proto__:null,FilePathScoreFunction:Ss});class fs extends tt.Provider{constructor(){super(),this._queryLineNumberAndColumnNumber="",this._defaultScores=null,this._scorer=new Ss(""),this._uiSourceCodes=[],this._uiSourceCodeUrls=new Set,this._query}_projectRemoved(e){const t=e.data;this._populate(t),this.refresh()}_populate(e){this._uiSourceCodes=[],this._uiSourceCodeUrls.clear();for(const t of Fe.WorkspaceImpl.instance().projects())if(t!==e&&this.filterProject(t))for(const e of t.uiSourceCodes())this._filterUISourceCode(e)&&(this._uiSourceCodes.push(e),this._uiSourceCodeUrls.add(e.url()))}_filterUISourceCode(e){if(this._uiSourceCodeUrls.has(e.url()))return!1;const t=Se.PersistenceImpl.instance().binding(e);return!t||t.fileSystem===e}uiSourceCodeSelected(e,t,i){}filterProject(e){return!0}itemCount(){return this._uiSourceCodes.length}itemKeyAt(e){return this._uiSourceCodes[e].url()}setDefaultScores(e){this._defaultScores=e}itemScoreAt(e,t){const i=this._uiSourceCodes[e],s=this._defaultScores&&this._defaultScores.get(i)||0;if(!t||t.length<2)return s;this._query!==t&&(this._query=t,this._scorer=new Ss(t));let n=10;i.project().type()!==Fe.projectTypes.FileSystem||Se.PersistenceImpl.instance().binding(i)||(n=5);const o=i.fullDisplayName();return s+n*this._scorer.score(o,null)}renderItem(e,t,i,s){t=this.rewriteQuery(t);const n=this._uiSourceCodes[e],o=n.fullDisplayName(),r=[];new Ss(t).score(o,r);const a=o.lastIndexOf("/");i.classList.add("monospace"),s.classList.add("monospace"),i.textContent=n.displayName()+(this._queryLineNumberAndColumnNumber||""),this._renderSubtitleElement(s,o),y.Tooltip.install(s,o);const c=[];for(let e=0;e<r.length;++e)c.push({offset:r[e],length:1});if(r[0]>a){for(let e=0;e<c.length;++e)c[e].offset-=a+1;f.highlightRangesWithStyleClass(i,c,"highlight")}else f.highlightRangesWithStyleClass(s,c,"highlight")}_renderSubtitleElement(e,t){e.removeChildren();let i=t.lastIndexOf("/");t.length>55&&(i=t.length-55);e.createChild("div","first-part").textContent=t.substring(0,i);e.createChild("div","second-part").textContent=t.substring(i),y.Tooltip.install(e,t)}selectItem(e,t){const i=t.trim().match(/^([^:]*)(:\d+)?(:\d+)?$/);if(!i)return;let s,n;i[2]&&(s=parseInt(i[2].substr(1),10)-1),i[3]&&(n=parseInt(i[3].substr(1),10)-1);const o=null!==e?this._uiSourceCodes[e]:null;this.uiSourceCodeSelected(o,s,n)}rewriteQuery(e){if(!(e=e?e.trim():"")||":"===e)return"";const t=e.match(/^([^:]+)((?::[^:]*){0,2})$/);return this._queryLineNumberAndColumnNumber=t?t[2]:"",t?t[1]:e}_uiSourceCodeAdded(e){const t=e.data;this._filterUISourceCode(t)&&this.filterProject(t.project())&&(this._uiSourceCodes.push(t),this._uiSourceCodeUrls.add(t.url()),this.refresh())}notFoundText(){return e.UIString("No files found")}attach(){Fe.WorkspaceImpl.instance().addEventListener(Fe.Events.UISourceCodeAdded,this._uiSourceCodeAdded,this),Fe.WorkspaceImpl.instance().addEventListener(Fe.Events.ProjectRemoved,this._projectRemoved,this),this._populate()}detach(){Fe.WorkspaceImpl.instance().removeEventListener(Fe.Events.UISourceCodeAdded,this._uiSourceCodeAdded,this),Fe.WorkspaceImpl.instance().removeEventListener(Fe.Events.ProjectRemoved,this._projectRemoved,this),this._queryLineNumberAndColumnNumber="",this._defaultScores=null}}var vs=Object.freeze({__proto__:null,FilteredUISourceCodeListProvider:fs});class ws extends tt.Provider{selectItem(e,t){const s=this._currentUISourceCode();if(!s)return;const n=this._parsePosition(t);n&&i.reveal(s.uiLocation(n.line-1,n.column-1))}notFoundText(t){if(!this._currentUISourceCode())return e.UIString("No file selected.");const i=this._parsePosition(t),s=this._currentSourceFrame();if(!i){if(!s)return p`Type a number to go to that line.`;const e=s.wasmDisassembly,t=s.textEditor.currentLineNumber();if(e){const i=e.lineNumberToBytecodeOffset(e.lineNumbers-1),s=i.toString(16).length,n=e.lineNumberToBytecodeOffset(t);return p`Current position: 0x${n.toString(16).padStart(s,"0")}. Type an offset between 0x${"0".padStart(s,"0")} and 0x${i.toString(16)} to navigate to.`}const i=s.textEditor.linesCount;return p`Current line: ${t}. Type a line number between 1 and ${i} to navigate to.`}return s&&s.wasmDisassembly?p`Go to offset 0x${(i.column-1).toString(16)}.`:i.column&&i.column>1?p`Go to line ${i.line} and column ${i.column}.`:p`Go to line ${i.line}.`}_parsePosition(e){const t=this._currentSourceFrame();if(t&&t.wasmDisassembly){const t=e.match(/0x([0-9a-fA-F]+)/);if(!t||!t[0]||t[0].length!==e.length)return null;return{line:0,column:parseInt(t[0],16)+1}}const i=e.match(/([0-9]+)(\:[0-9]*)?/);if(!i||!i[0]||i[0].length!==e.length)return null;const s=parseInt(i[1],10);let n=0;return i[2]&&(n=parseInt(i[2].substring(1),10)),{line:Math.max(0|s,1),column:Math.max(0|n,1)}}_currentUISourceCode(){const e=T.Context.instance().flavor(Ki);return e?e.currentUISourceCode():null}_currentSourceFrame(){const e=T.Context.instance().flavor(Ki);return e?e.currentSourceFrame():null}}var Es=Object.freeze({__proto__:null,GoToLineQuickOpen:ws});var xs=Object.freeze({__proto__:null,InplaceFormatterEditorAction:class{constructor(){this._button,this._sourcesView}_editorSelected(e){const t=e.data;this._updateButton(t)}_editorClosed(e){e.data.wasSelected&&this._updateButton(null)}_updateButton(t){const i=this._isFormattable(t);this._button.element.classList.toggle("hidden",!i),t&&i&&this._button.setTitle(e.UIString("Format "+t.name()))}button(t){return this._button||(this._sourcesView=t,this._sourcesView.addEventListener($i.EditorSelected,this._editorSelected.bind(this)),this._sourcesView.addEventListener($i.EditorClosed,this._editorClosed.bind(this)),this._button=new E.ToolbarButton(e.UIString("Format"),"largeicon-pretty-print"),this._button.addEventListener(E.ToolbarButton.Events.Click,this._formatSourceInPlace,this),this._updateButton(t.currentUISourceCode())),this._button}_isFormattable(e){return!!e&&(!!e.project().canSetFileContent()||(!!Se.PersistenceImpl.instance().binding(e)||e.contentType().isStyleSheet()))}_formatSourceInPlace(e){const t=this._sourcesView.currentUISourceCode();t&&this._isFormattable(t)&&(t.isDirty()?this._contentLoaded(t,t.workingCopy()):t.requestContent().then((e=>{this._contentLoaded(t,e.content||"")})))}_contentLoaded(e,t){const i=e.mimeType();Re.FormatterInterface.format(e.contentType(),i,t,(async(t,i)=>{this._formattingComplete(e,t,i)}))}_formattingComplete(e,t,i){if(e.workingCopy()===t)return;const s=this._sourcesView.viewForFile(e);let n=[0,0];if(s){const e=s.selection();n=i.originalToFormatted(e.startLine,e.startColumn)}e.setWorkingCopy(t),this._sourcesView.showSourceLocation(e,n[0],n[1])}}});let ys;class Is extends X.ThrottledWidget{constructor(){super(!0),this.registerRequiredCSS("sources/javaScriptBreakpointsSidebarPane.css",{enableLegacyPatching:!0}),this._breakpointManager=ue.BreakpointManager.instance(),this._breakpointManager.addEventListener(ue.Events.BreakpointAdded,this.update,this),this._breakpointManager.addEventListener(ue.Events.BreakpointRemoved,this.update,this),a.Settings.instance().moduleSetting("breakpointsActive").addChangeListener(this.update,this),this._breakpoints=new L.ListModel,this._list=new k.ListControl(this._breakpoints,this,k.ListMode.NonViewport),P.markAsList(this._list.element),this.contentElement.appendChild(this._list.element),this._emptyElement=this.contentElement.createChild("div","gray-info-message"),this._emptyElement.textContent=p`No breakpoints`,this._emptyElement.tabIndex=-1,this.update()}static instance(){return ys||(ys=new Is),ys}_getBreakpointLocations(){const e=this._breakpointManager.allBreakpointLocations().filter((e=>e.uiLocation.uiSourceCode.project().type()!==Fe.projectTypes.Debugger));e.sort(((e,t)=>e.uiLocation.compareTo(t.uiLocation)));const t=[];let i=null,s=null;for(const n of e)(n.breakpoint!==i||s&&n.uiLocation.compareTo(s))&&(t.push(n),i=n.breakpoint,s=n.uiLocation);return t}_hideList(){this._list.element.classList.add("hidden"),this._emptyElement.classList.remove("hidden")}_ensureListShown(){this._list.element.classList.remove("hidden"),this._emptyElement.classList.add("hidden")}_groupBreakpointLocationsById(e){const t=new g.Multimap;for(const i of e){const e=i.uiLocation;t.set(e.id(),i)}const i=[];for(const e of t.keysArray()){const s=Array.from(t.get(e));s.length&&i.push(s)}return i}_getLocationIdsByLineId(e){const t=new g.Multimap;for(const i of e){const e=i.uiLocation;t.set(e.lineId(),e.id())}return t}async _getSelectedUILocation(){const e=T.Context.instance().flavor(Ee.DebuggerPausedDetails);return e&&e.callFrames.length?await ce.DebuggerWorkspaceBinding.instance().rawLocationToUILocation(e.callFrames[0].location()):null}_getContent(e){const t=new Map;return Promise.all(e.map((async([{uiLocation:{uiSourceCode:e}}])=>{if("application/wasm"===e.mimeType())return new Xe.Text("");const{content:i}=await e.requestContent(),s=i||"";if(t.has(s))return t.get(s);const n=new Xe.Text(s);return t.set(s,n),n})))}async doUpdate(){const e=this.hasFocus(),t=this._getBreakpointLocations();if(!t.length)return this._hideList(),this._setBreakpointItems([]),this._didUpdateForTest();this._ensureListShown();const i=this._groupBreakpointLocationsById(t),s=this._getLocationIdsByLineId(t),n=await this._getContent(i),o=await this._getSelectedUILocation(),r=[];for(let e=0;e<i.length;e++){const t=i[e],a=t[0].uiLocation,c=null!==o&&t.some((e=>e.uiLocation.id()===o.id())),l="application/wasm"!==a.uiSourceCode.mimeType()&&s.get(a.lineId()).size>1,d=n[e];r.push(new Ls(t,d,c,l))}return r.some((e=>e.isSelected))&&D.ViewManager.instance().showView("sources.jsBreakpoints"),this._list.element.classList.toggle("breakpoints-list-deactivated",!a.Settings.instance().moduleSetting("breakpointsActive").get()),this._setBreakpointItems(r),e&&this.focus(),this._didUpdateForTest()}_setBreakpointItems(e){if(this._breakpoints.length===e.length)for(let t=0;t<this._breakpoints.length;t++)this._breakpoints.at(t).isSimilar(e[t])||this._breakpoints.replace(t,e[t],!0);else this._breakpoints.replaceAll(e);!this._list.selectedItem()&&this._breakpoints.at(0)&&this._list.selectItem(this._breakpoints.at(0))}createElementForItem(e){const t=document.createElement("div");t.classList.add("breakpoint-entry"),P.markAsListitem(t),t.tabIndex=this._list.selectedItem()===e?0:-1,t.addEventListener("contextmenu",this._breakpointContextMenu.bind(this),!0),t.addEventListener("click",this._revealLocation.bind(this,t),!1);const i=f.CheckboxLabel.create(""),s=e.locations[0].uiLocation,n=e.locations.some((e=>e.breakpoint.enabled())),o=e.locations.some((e=>!e.breakpoint.enabled()));i.textElement.textContent=s.linkText()+(e.showColumn&&"number"==typeof s.columnNumber?":"+(s.columnNumber+1):""),i.checkboxElement.checked=n,i.checkboxElement.indeterminate=n&&o,i.checkboxElement.tabIndex=-1,i.addEventListener("click",this._breakpointCheckboxClicked.bind(this),!1),t.appendChild(i);let r=n?p`checked`:p`unchecked`;n&&o&&(r=p`mixed`),e.isSelected?(P.setDescription(t,p`${r} breakpoint hit`),t.classList.add("breakpoint-hit"),this.setDefaultFocusedElement(t)):P.setDescription(t,r),t.addEventListener("keydown",(e=>{" "===e.key&&(i.checkboxElement.click(),e.consume(!0))}));const a=t.createChild("div","source-text monospace"),c=s.lineNumber;if(e.text&&c<e.text.lineCount()){const t=e.text.lineAt(c),i=200;a.textContent=_.trimEndWithMaxLength(t.substring(e.showColumn&&s.columnNumber||0),i)}return Ts.set(t,e.locations),ks.set(t,s),t}heightForItem(e){return 0}isItemSelectable(e){return!0}selectedItemChanged(e,t,i,s){i&&(i.tabIndex=-1),s&&(s.tabIndex=0,this.setDefaultFocusedElement(s),this.hasFocus()&&s.focus())}updateSelectedItemARIA(e,t){return!0}_breakpointLocations(e){return e.target instanceof Element?this._breakpointLocationsForElement(e.target):[]}_breakpointLocationsForElement(e){const t=e.enclosingNodeOrSelfWithClass("breakpoint-entry");return t&&Ts.get(t)||[]}_breakpointCheckboxClicked(e){const t=this.hasFocus(),i=this._breakpointLocations(e).map((e=>e.breakpoint)),s=e.target.checkboxElement.checked;for(const e of i){e.setEnabled(s);const t=this._breakpoints.find((t=>t.locations.some((t=>t.breakpoint===e))));t&&this._list.refreshItem(t)}t&&this.focus(),e.consume()}_revealLocation(e){const t=this._breakpointLocationsForElement(e).map((e=>e.uiLocation));let s=null;for(const e of t)(!s||e.compareTo(s)<0)&&(s=e);s&&i.reveal(s)}_breakpointContextMenu(t){const i=this._breakpointLocations(t).map((e=>e.breakpoint)),s=new F.ContextMenu(t),n=i.length>1?e.UIString("Remove all breakpoints in line"):e.UIString("Remove breakpoint");s.defaultSection().appendItem(n,(()=>i.map((e=>e.remove(!1))))),t.target instanceof Element&&s.defaultSection().appendItem(p`Reveal location`,this._revealLocation.bind(this,t.target));const o=a.Settings.instance().moduleSetting("breakpointsActive").get(),r=o?e.UIString("Deactivate breakpoints"):e.UIString("Activate breakpoints");if(s.defaultSection().appendItem(r,(()=>a.Settings.instance().moduleSetting("breakpointsActive").set(!o))),i.some((e=>!e.enabled()))){const i=e.UIString("Enable all breakpoints");if(s.defaultSection().appendItem(i,this._toggleAllBreakpoints.bind(this,!0)),t.target instanceof Element){const i=e.UIString("Enable breakpoints in file");s.defaultSection().appendItem(i,this._toggleAllBreakpointsInFile.bind(this,t.target,!0))}}if(i.some((e=>e.enabled()))){const i=e.UIString("Disable all breakpoints");if(s.defaultSection().appendItem(i,this._toggleAllBreakpoints.bind(this,!1)),t.target instanceof Element){const i=e.UIString("Disable breakpoints in file");s.defaultSection().appendItem(i,this._toggleAllBreakpointsInFile.bind(this,t.target,!1))}}const c=e.UIString("Remove all breakpoints");s.defaultSection().appendItem(c,this._removeAllBreakpoints.bind(this));const l=e.UIString("Remove other breakpoints");s.defaultSection().appendItem(l,this._removeOtherBreakpoints.bind(this,new Set(i))),s.show()}_toggleAllBreakpointsInFile(e,t){const i=this._getBreakpointLocations(),s=this._breakpointLocationsForElement(e);i.forEach((e=>{s.some((t=>t.breakpoint.url()===e.breakpoint.url()))&&e.breakpoint.setEnabled(t)}))}_toggleAllBreakpoints(e){for(const t of this._breakpointManager.allBreakpointLocations())t.breakpoint.setEnabled(e)}_removeAllBreakpoints(){for(const e of this._breakpointManager.allBreakpointLocations())e.breakpoint.remove(!1)}_removeOtherBreakpoints(e){for(const t of this._breakpointManager.allBreakpointLocations())e.has(t.breakpoint)||t.breakpoint.remove(!1)}flavorChanged(e){this.update()}_didUpdateForTest(){}}class Ls{constructor(e,t,i,s){this.locations=e,this.text=t,this.isSelected=i,this.showColumn=s}isSimilar(e){return this.locations.length===e.locations.length&&this.locations.every(((t,i)=>t.uiLocation===e.locations[i].uiLocation))&&this.locations.every(((t,i)=>t.breakpoint===e.locations[i].breakpoint))&&(this.text===e.text||this.text&&e.text&&this.text.value()===e.text.value())&&this.isSelected===e.isSelected&&this.showColumn===e.showColumn}}const ks=new WeakMap;const Ts=new WeakMap;var Ps=Object.freeze({__proto__:null,JavaScriptBreakpointsSidebarPane:Is,retrieveLocationForElement:function(e){return ks.get(e)},BreakpointLocation:undefined});var Ms=Object.freeze({__proto__:null,OpenFileQuickOpen:class extends fs{attach(){this.setDefaultScores(Ki.defaultUISourceCodeScores()),super.attach()}uiSourceCodeSelected(e,t,s){ge.actionTaken(be.Action.SelectFileFromFilePicker),e&&("number"==typeof t?i.reveal(e.uiLocation(t,s)):i.reveal(e))}filterProject(e){return!e.isServiceProject()}renderAsTwoRows(){return!0}}});class Fs extends tt.Provider{constructor(){super(),this._items=[],this._active=!1}attach(){this._items=[],this._active=!1;const e=this._currentUISourceCode();e&&(this._active=Ae.formatterWorkerPool().outlineForMimetype(e.workingCopy(),e.contentType().canonicalMimeType(),this._didBuildOutlineChunk.bind(this)))}_didBuildOutlineChunk(e,t){this._items.push(...t),this.refresh()}itemCount(){return this._items.length}itemKeyAt(e){const t=this._items[e];return t.title+(t.subtitle?t.subtitle:"")}itemScoreAt(e,t){const i=this._items[e];return t.split("(")[0].toLowerCase()===i.title.toLowerCase()?1/(1+i.line):-i.line-1}renderItem(e,t,i,s){const n=this._items[e];i.textContent=n.title+(n.subtitle?n.subtitle:""),tt.FilteredListWidget.highlightRanges(i,t),s.textContent=":"+(n.line+1)}selectItem(e,t){if(null===e)return;const s=this._currentUISourceCode();if(!s)return;const n=this._items[e].line;!isNaN(n)&&n>=0&&i.reveal(s.uiLocation(n,this._items[e].column))}_currentUISourceCode(){const e=T.Context.instance().flavor(Ki);return e?e.currentUISourceCode():null}notFoundText(){return this._currentUISourceCode()?this._active?e.UIString("No results found"):e.UIString("Open a JavaScript or CSS file to see symbols"):e.UIString("No file selected.")}}var Ds=Object.freeze({__proto__:null,OutlineQuickOpen:Fs});let Ns;class Bs extends C.VBox{constructor(){super(!0),this.registerRequiredCSS("sources/scopeChainSidebarPane.css",{enableLegacyPatching:!1}),this._treeOutline=new ne.ObjectPropertiesSectionsTreeOutline,this._treeOutline.registerRequiredCSS("sources/scopeChainSidebarPane.css",{enableLegacyPatching:!1}),this._treeOutline.setShowSelectionOnKeyboardFocus(!0),this._expandController=new ne.ObjectPropertiesSectionsTreeExpandController(this._treeOutline),this._linkifier=new ct.Linkifier,this._infoElement=document.createElement("div"),this._infoElement.className="gray-info-message",this._infoElement.tabIndex=-1,this._update()}static instance(){return Ns||(Ns=new Bs),Ns}flavorChanged(e){this._update()}focus(){this.hasFocus()||T.Context.instance().flavor(Ee.DebuggerPausedDetails)&&this._treeOutline.forceSelect()}async _update(){this._infoElement.textContent=p`Loading...`,this.contentElement.removeChildren(),this.contentElement.appendChild(this._infoElement),this._linkifier.reset();const e=T.Context.instance().flavor(Ee.CallFrame),[t,i]=await Promise.all([cs(e),ns(e)]);if(e===T.Context.instance().flavor(Ee.CallFrame)){const s=T.Context.instance().flavor(Ee.DebuggerPausedDetails);if(this._treeOutline.removeChildren(),!s||!e||!i)return void(this._infoElement.textContent=p`Not paused`);this.contentElement.removeChildren(),this.contentElement.appendChild(this._treeOutline.element);let n=!1;for(let o=0;o<i.length;++o){const r=i[o],a=this._extraPropertiesForScope(r,s,e,t,0===o);r.type()===Protocol.Debugger.ScopeType.Local&&(n=!0);const c=this._createScopeSectionTreeElement(r,a);r.type()===Protocol.Debugger.ScopeType.Global?c.collapse():n&&r.type()!==Protocol.Debugger.ScopeType.Local||c.expand(),this._treeOutline.appendChild(c),0===o&&c.select(!0)}this._sidebarPaneUpdatedForTest()}}_createScopeSectionTreeElement(e,t){let i=null;(e.type()===Protocol.Debugger.ScopeType.Local||Protocol.Debugger.ScopeType.Closure)&&(i=p`No variables`);let s=e.typeName();if(e.type()===Protocol.Debugger.ScopeType.Closure){const t=e.name();s=t?p`Closure (${f.beautifyFunctionName(t)})`:p`Closure`}let n=e.description();s&&s!==n||(n=null);const o=e.icon(),r=document.createElement("div");if(r.classList.add("scope-chain-sidebar-pane-section-header"),r.classList.add("tree-element-title"),o){const e=document.createElement("img");e.classList.add("scope-chain-sidebar-pane-section-icon"),e.src=o,r.appendChild(e)}r.createChild("div","scope-chain-sidebar-pane-section-subtitle").textContent=n,r.createChild("div","scope-chain-sidebar-pane-section-title").textContent=s;const a=new ne.RootElement(ls(e),this._linkifier,i,!0,t);return a.title=r,a.listItemElement.classList.add("scope-chain-sidebar-pane-section"),a.listItemElement.setAttribute("aria-label",s),this._expandController.watchSection(s+(n?":"+n:""),a),a}_extraPropertiesForScope(t,i,s,n,o){if(t.type()!==Protocol.Debugger.ScopeType.Local||s.script.isWasm())return[];const r=[];if(n&&r.push(new Te.RemoteObjectProperty("this",n)),o){const t=i.exception();t&&r.push(new Te.RemoteObjectProperty(e.UIString("Exception"),t,void 0,void 0,void 0,void 0,void 0,!0));const n=s.returnValue();n&&r.push(new Te.RemoteObjectProperty(e.UIString("Return value"),n,void 0,void 0,void 0,void 0,void 0,!0,s.setReturnValue.bind(s)))}return r}_sidebarPaneUpdatedForTest(){}}class Us extends C.VBox{_isMemoryObjectProperty(e){return"object"===e.type&&e.subtype&&dt.ACCEPTED_MEMORY_TYPES.includes(e.subtype)}appendApplicableItems(e,t,i){i instanceof ne.ObjectPropertyTreeElement&&i.property&&i.property.value&&this._isMemoryObjectProperty(i.property.value)&&t.debugSection().appendItem(p`Reveal in Memory Inspector panel`,this._openMemoryInspector.bind(this,i.property.value))}async _openMemoryInspector(e){dt.LinearMemoryInspectorController.instance().openInspectorView(e,0)}}var As=Object.freeze({__proto__:null,ScopeChainSidebarPane:Bs,OpenLinearMemoryInspector:Us});let Rs,js,Vs,Os,Ws,Hs;class zs extends li{constructor(){super(),xe.TargetManager.instance().addEventListener(xe.Events.InspectedURLChanged,this._inspectedURLChanged,this),ge.panelLoaded("sources","DevTools.Launch.Sources")}static instance(e={forceNew:null}){const{forceNew:t}=e;return Rs&&!t||(Rs=new zs),Rs}acceptProject(e){return e.type()===Fe.projectTypes.Network}_inspectedURLChanged(e){const t=xe.TargetManager.instance().mainTarget();if(e.data!==t)return;const i=t&&t.inspectedURL();if(i)for(const e of this.workspace().uiSourceCodes())this.acceptProject(e.project())&&e.url()===i&&this.revealUISourceCode(e,!0)}uiSourceCodeAdded(e){const t=xe.TargetManager.instance().mainTarget(),i=t&&t.inspectedURL();i&&e.url()===i&&this.revealUISourceCode(e,!0)}}class qs extends li{constructor(){super();const e=new Y.EmptyWidget("");this.setPlaceholder(e),e.appendParagraph().appendChild(Z.html`
|
|
2
|
+
<div>${p`Sync changes in DevTools with the local filesystem`}</div><br />
|
|
3
|
+
${$.XLink.create("https://developers.google.com/web/tools/chrome-devtools/workspaces/",p`Learn more about Workspaces`)}
|
|
4
|
+
`);const t=new E.Toolbar("navigator-toolbar");t.appendItemsAtLocation("files-navigator-toolbar").then((()=>{t.empty()||this.contentElement.insertBefore(t.element,this.contentElement.firstChild)}))}static instance(){return js||(js=new qs),js}acceptProject(e){return e.type()===Fe.projectTypes.FileSystem&&"overrides"!==Ce.FileSystemWorkspaceBinding.fileSystemType(e)&&!st.isSnippetsProject(e)&&!rt.isRecordingProject(e)}handleContextMenu(e){const t=new F.ContextMenu(e);t.defaultSection().appendAction("sources.add-folder-to-workspace",void 0,!0),t.show()}}class Gs extends li{constructor(){super();const e=new Y.EmptyWidget("");this.setPlaceholder(e),e.appendParagraph().appendChild(Z.html`
|
|
5
|
+
<div>${p`Override page assets with files from a local folder`}</div><br />
|
|
6
|
+
${$.XLink.create("https://developers.google.com/web/updates/2018/01/devtools#overrides",p`Learn more`)}
|
|
7
|
+
`),this._toolbar=new E.Toolbar("navigator-toolbar"),this.contentElement.insertBefore(this._toolbar.element,this.contentElement.firstChild),fe.NetworkPersistenceManager.instance().addEventListener(fe.Events.ProjectChanged,this._updateProjectAndUI,this),this.workspace().addEventListener(Fe.Events.ProjectAdded,this._onProjectAddOrRemoved,this),this.workspace().addEventListener(Fe.Events.ProjectRemoved,this._onProjectAddOrRemoved,this),this._updateProjectAndUI()}static instance(e={forceNew:null}){const{forceNew:t}=e;return Vs&&!t||(Vs=new Gs),Vs}_onProjectAddOrRemoved(e){const t=e.data;t&&t.type()===Fe.projectTypes.FileSystem&&"overrides"!==Ce.FileSystemWorkspaceBinding.fileSystemType(t)||this._updateUI()}_updateProjectAndUI(){this.reset();const e=fe.NetworkPersistenceManager.instance().project();e&&this.tryAddProject(e),this._updateUI()}_updateUI(){this._toolbar.removeToolbarItems();const t=fe.NetworkPersistenceManager.instance().project();if(t){const i=new E.ToolbarSettingCheckbox(a.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled"));this._toolbar.appendToolbarItem(i),this._toolbar.appendToolbarItem(new E.ToolbarSeparator(!0));const s=new E.ToolbarButton(e.UIString("Clear configuration"),"largeicon-clear");return s.addEventListener(E.ToolbarButton.Events.Click,(()=>{t.remove()})),void this._toolbar.appendToolbarItem(s)}const i=e.UIString("Select folder for overrides"),s=new E.ToolbarButton(i,"largeicon-add",i);s.addEventListener(E.ToolbarButton.Events.Click,(e=>{this._setupNewWorkspace()}),this),this._toolbar.appendToolbarItem(s)}async _setupNewWorkspace(){await we.IsolatedFileSystemManager.instance().addFileSystem("overrides")&&a.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").set(!0)}acceptProject(e){return e===fe.NetworkPersistenceManager.instance().project()}}class Ks extends li{constructor(){super();const e=new Y.EmptyWidget("");this.setPlaceholder(e),e.appendParagraph().appendChild(Z.html`
|
|
8
|
+
<div>${p`Content scripts served by extensions appear here`}</div><br />
|
|
9
|
+
${$.XLink.create("https://developer.chrome.com/extensions/content_scripts",p`Learn more`)}
|
|
10
|
+
`)}static instance(e={forceNew:null}){const{forceNew:t}=e;return Os&&!t||(Os=new Ks),Os}acceptProject(e){return e.type()===Fe.projectTypes.ContentScripts}}class $s extends li{constructor(){super();const t=new Y.EmptyWidget("");this.setPlaceholder(t),t.appendParagraph().appendChild(Z.html`
|
|
11
|
+
<div>${p`Create and save code snippets for later reuse`}</div><br />
|
|
12
|
+
${$.XLink.create("https://developers.google.com/web/tools/chrome-devtools/javascript/snippets",p`Learn more`)}
|
|
13
|
+
`);const i=new E.Toolbar("navigator-toolbar"),s=new E.ToolbarButton(p`New snippet`,"largeicon-add",e.UIString("New snippet"));s.addEventListener(E.ToolbarButton.Events.Click,(e=>{this.create(st.findSnippetsProject(),"")})),i.appendToolbarItem(s),this.contentElement.insertBefore(i.element,this.contentElement.firstChild)}static instance(){return Ws||(Ws=new $s),Ws}acceptProject(e){return st.isSnippetsProject(e)}handleContextMenu(e){const t=new F.ContextMenu(e);t.headerSection().appendItem(p`Create new snippet`,(()=>this.create(st.findSnippetsProject(),""))),t.show()}handleFileContextMenu(t,i){const s=i.uiSourceCode(),n=new F.ContextMenu(t);n.headerSection().appendItem(e.UIString("Run"),(()=>st.evaluateScriptSnippet(s))),n.editSection().appendItem(e.UIString("Rename…"),(()=>this.rename(i,!1))),n.editSection().appendItem(e.UIString("Remove"),(()=>s.project().deleteFile(s))),n.saveSection().appendItem(e.UIString("Save as..."),this._handleSaveAs.bind(this,s)),n.show()}async _handleSaveAs(e){e.commitWorkingCopy();const{content:t}=await e.requestContent();Ne.FileManager.instance().save(e.url(),t||"",!0),Ne.FileManager.instance().close(e.url())}}class Js extends li{constructor(){super();const e=new Y.EmptyWidget("");this.setPlaceholder(e);e.appendParagraph().innerText=p`Record and replay browser interactions`;const t=new E.Toolbar("navigator-toolbar"),i=new E.ToolbarButton(p`Add recording`,"largeicon-add",p`Add recording`);i.addEventListener(E.ToolbarButton.Events.Click,(e=>{this.create(rt.findRecordingsProject(),'{"steps": []}')})),t.appendToolbarItem(i),this.contentElement.insertBefore(t.element,this.contentElement.firstChild)}static instance(){return Hs||(Hs=new Js),Hs}acceptProject(e){return rt.isRecordingProject(e)}handleContextMenu(e){const t=new F.ContextMenu(e);t.headerSection().appendItem(p`Add recording`,(()=>this.create(rt.findRecordingsProject(),""))),t.show()}handleFileContextMenu(t,i){const s=i.uiSourceCode(),n=new F.ContextMenu(t);n.editSection().appendItem(e.UIString("Rename…"),(()=>this.rename(i,!1))),n.editSection().appendItem(e.UIString("Remove"),(()=>s.project().deleteFile(s))),n.saveSection().appendItem(e.UIString("Save as..."),this._handleSaveAs.bind(this,s)),n.show()}async _handleSaveAs(e){e.commitWorkingCopy();const{content:t}=await e.requestContent();Ne.FileManager.instance().save(e.url(),t||"",!0),Ne.FileManager.instance().close(e.url())}}var Qs=Object.freeze({__proto__:null,NetworkNavigatorView:zs,FilesNavigatorView:qs,OverridesNavigatorView:Gs,ContentScriptsNavigatorView:Ks,SnippetsNavigatorView:$s,RecordingsNavigatorView:Js,ActionDelegate:class{handleAction(e,t){switch(t){case"sources.create-snippet":return st.findSnippetsProject().createFile("",null,"").then((e=>i.reveal(e))),!0;case"sources.add-folder-to-workspace":return we.IsolatedFileSystemManager.instance().addFileSystem(),!0}return!1}}});let Xs;class Ys extends X.ThrottledWidget{constructor(){super(!0),this.registerRequiredCSS("object_ui/objectValue.css",{enableLegacyPatching:!0}),this.registerRequiredCSS("sources/watchExpressionsSidebarPane.css",{enableLegacyPatching:!0}),this._watchExpressions=[],this._emptyElement,this._watchExpressionsSetting=a.Settings.instance().createLocalSetting("watchExpressions",[]),this._addButton=new E.ToolbarButton(p`Add watch expression`,"largeicon-add"),this._addButton.addEventListener(E.ToolbarButton.Events.Click,(e=>{this._addButtonClicked()})),this._refreshButton=new E.ToolbarButton(p`Refresh watch expressions`,"largeicon-refresh"),this._refreshButton.addEventListener(E.ToolbarButton.Events.Click,this.update,this),this.contentElement.classList.add("watch-expressions"),this.contentElement.addEventListener("contextmenu",this._contextMenu.bind(this),!1),this._treeOutline=new ne.ObjectPropertiesSectionsTreeOutline,this._treeOutline.registerRequiredCSS("sources/watchExpressionsSidebarPane.css",{enableLegacyPatching:!0}),this._treeOutline.setShowSelectionOnKeyboardFocus(!0),this._expandController=new ne.ObjectPropertiesSectionsTreeExpandController(this._treeOutline),T.Context.instance().addFlavorChangeListener(Le.ExecutionContext,this.update,this),T.Context.instance().addFlavorChangeListener(Ee.CallFrame,this.update,this),this._linkifier=new ct.Linkifier,this.update()}static instance(){return Xs||(Xs=new Ys),Xs}toolbarItems(){return[this._addButton,this._refreshButton]}focus(){this.hasFocus()||this._watchExpressions.length>0&&this._treeOutline.forceSelect()}hasExpressions(){return Boolean(this._watchExpressionsSetting.get().length)}_saveExpressions(){const e=[];for(let t=0;t<this._watchExpressions.length;t++)this._watchExpressions[t].expression()&&e.push(this._watchExpressions[t].expression());this._watchExpressionsSetting.set(e)}async _addButtonClicked(){await D.ViewManager.instance().showView("sources.watch"),this._emptyElement.classList.add("hidden"),this._createWatchExpression(null).startEditing()}doUpdate(){this._linkifier.reset(),this.contentElement.removeChildren(),this._treeOutline.removeChildren(),this._watchExpressions=[],this._emptyElement=this.contentElement.createChild("div","gray-info-message"),this._emptyElement.textContent=e.UIString("No watch expressions"),this._emptyElement.tabIndex=-1;const t=this._watchExpressionsSetting.get();t.length&&this._emptyElement.classList.add("hidden");for(let e=0;e<t.length;++e){const i=t[e];i&&this._createWatchExpression(i)}return Promise.resolve()}_createWatchExpression(e){this.contentElement.appendChild(this._treeOutline.element);const t=new Zs(e,this._expandController,this._linkifier);return t.addEventListener(Zs.Events.ExpressionUpdated,this._watchExpressionUpdated,this),this._treeOutline.appendChild(t.treeElement()),this._watchExpressions.push(t),t}_watchExpressionUpdated(e){const t=e.data;t.expression()||(m.removeElement(this._watchExpressions,t),this._treeOutline.removeChild(t.treeElement()),this._emptyElement.classList.toggle("hidden",Boolean(this._watchExpressions.length)),0===this._watchExpressions.length&&this._treeOutline.element.remove()),this._saveExpressions()}_contextMenu(e){const t=new F.ContextMenu(e);this._populateContextMenu(t,e),t.show()}_populateContextMenu(t,i){let s=!1;for(const e of this._watchExpressions)s=s||e.isEditing();s||t.debugSection().appendItem(e.UIString("Add watch expression"),this._addButtonClicked.bind(this)),this._watchExpressions.length>1&&t.debugSection().appendItem(e.UIString("Delete all watch expressions"),this._deleteAllButtonClicked.bind(this));const n=this._treeOutline.treeElementFromEvent(i);if(!n)return;const o=this._watchExpressions.find((e=>n.hasAncestorOrSelf(e.treeElement())));o&&o._populateContextMenu(t,i)}_deleteAllButtonClicked(){this._watchExpressions=[],this._saveExpressions(),this.update()}_focusAndAddExpressionToWatch(e){D.ViewManager.instance().showView("sources.watch"),this.doUpdate(),this._addExpressionToWatch(e)}_addExpressionToWatch(e){this._createWatchExpression(e),this._saveExpressions(),this.update()}handleAction(e,t){const i=T.Context.instance().flavor(Ti);if(!i)return!1;const s=i.textEditor.text(i.textEditor.selection());return this._focusAndAddExpressionToWatch(s),!0}_addPropertyPathToWatch(e){this._addExpressionToWatch(e.path())}appendApplicableItems(e,t,i){i instanceof ne.ObjectPropertyTreeElement&&!i.property.synthetic&&t.debugSection().appendItem(p`Add property path to watch`,this._addPropertyPathToWatch.bind(this,i));const s=T.Context.instance().flavor(Ti);s&&!s.textEditor.selection().isEmpty()&&t.debugSection().appendAction("sources.add-to-watch")}}class Zs extends u.ObjectWrapper{constructor(e,t,i){super(),this._treeElement,this._nameElement,this._valueElement,this._expression=e,this._expandController=t,this._element=document.createElement("div"),this._element.classList.add("watch-expression"),this._element.classList.add("monospace"),this._editing=!1,this._linkifier=i,this._createWatchExpression(),this.update()}treeElement(){return this._treeElement}expression(){return this._expression}update(){const e=T.Context.instance().flavor(Le.ExecutionContext);e&&this._expression&&e.evaluate({expression:this._expression,objectGroup:Zs._watchObjectGroupId,includeCommandLineAPI:!1,silent:!0,returnByValue:!1,generatePreview:!1,allowUnsafeEvalBlockedByCSP:void 0,disableBreaks:void 0,replMode:void 0,throwOnSideEffect:void 0,timeout:void 0},!1,!1).then((e=>{"object"in e&&this._createWatchExpression(e.object,e.exceptionDetails)}))}startEditing(){this._editing=!0,this._element.removeChildren();const e=this._element.createChild("div");e.textContent=this._nameElement.textContent,this._textPrompt=new ne.ObjectPropertyPrompt,this._textPrompt.renderAsBlock();const t=this._textPrompt.attachAndStartEditing(e,this._finishEditing.bind(this));this._treeElement.listItemElement.classList.add("watch-expression-editing"),this._treeElement.collapse(),t.classList.add("watch-expression-text-prompt-proxy"),t.addEventListener("keydown",this._promptKeyDown.bind(this),!1);const i=this._element.getComponentSelection();i&&i.selectAllChildren(e)}isEditing(){return Boolean(this._editing)}_finishEditing(e,t){if(e&&e.consume(t),this._editing=!1,this._treeElement.listItemElement.classList.remove("watch-expression-editing"),this._textPrompt){this._textPrompt.detach();const e=t?this._expression:this._textPrompt.text();this._textPrompt=void 0,this._element.removeChildren(),this._updateExpression(e)}}_dblClickOnWatchExpression(e){e.consume(),this.isEditing()||this.startEditing()}_updateExpression(e){this._expression&&this._expandController.stopWatchSectionsWithId(this._expression),this._expression=e,this.update(),this.dispatchEventToListeners(Zs.Events.ExpressionUpdated,this)}_deleteWatchExpression(e){e.consume(!0),this._updateExpression(null)}_createWatchExpression(e,t){this._result=e||null,this._element.removeChildren();const i=this._treeElement;if(this._createWatchExpressionTreeElement(e,t),i&&i.parent){const e=i.parent,t=e.indexOfChild(i);e.removeChild(i),e.insertChild(this._treeElement,t)}this._treeElement.select()}_createWatchExpressionHeader(t,i){const s=this._element.createChild("div","watch-expression-header"),n=M.Icon.create("smallicon-cross","watch-expression-delete-button");y.Tooltip.install(n,p`Delete watch expression`),n.addEventListener("click",this._deleteWatchExpression.bind(this),!1);const o=s.createChild("div","watch-expression-title tree-element-title");if(o.appendChild(n),this._nameElement=ne.ObjectPropertiesSection.createNameElement(this._expression),Boolean(i)||!t)this._valueElement=document.createElement("span"),this._valueElement.classList.add("watch-expression-error"),this._valueElement.classList.add("value"),o.classList.add("dimmed"),this._valueElement.textContent=e.UIString("<not available>"),void 0!==i&&void 0!==i.exception&&void 0!==i.exception.description&&y.Tooltip.install(this._valueElement,i.exception.description);else{const e=ne.ObjectPropertiesSection.createPropertyValueWithCustomSupport(t,Boolean(i),!1,o,this._linkifier);this._valueElement=e.element}const r=document.createElement("span");return r.classList.add("watch-expressions-separator"),r.textContent=": ",o.append(this._nameElement,r,this._valueElement),s}_createWatchExpressionTreeElement(e,t){const i=this._createWatchExpressionHeader(e,t);!t&&e&&e.hasChildren&&!e.customPreview()?(i.classList.add("watch-expression-object-header"),this._treeElement=new ne.RootElement(e,this._linkifier),this._expandController.watchSection(this._expression,this._treeElement),this._treeElement.toggleOnClick=!1,this._treeElement.listItemElement.addEventListener("click",this._onSectionClick.bind(this),!1),this._treeElement.listItemElement.addEventListener("dblclick",this._dblClickOnWatchExpression.bind(this))):(i.addEventListener("dblclick",this._dblClickOnWatchExpression.bind(this)),this._treeElement=new R.TreeElement),this._treeElement.title=this._element,this._treeElement.listItemElement.classList.add("watch-expression-tree-item"),this._treeElement.listItemElement.addEventListener("keydown",(e=>{"Enter"!==e.key||this.isEditing()||(this.startEditing(),e.consume(!0))}))}_onSectionClick(e){e.consume(!0);1===e.detail?this._preventClickTimeout=setTimeout(function(){if(!this._treeElement)return;this._treeElement.expanded?this._treeElement.collapse():this._treeElement.expand()}.bind(this),333):void 0!==this._preventClickTimeout&&(window.clearTimeout(this._preventClickTimeout),this._preventClickTimeout=void 0)}_promptKeyDown(e){("Enter"===e.key||isEscKey(e))&&this._finishEditing(e,isEscKey(e))}_populateContextMenu(t,i){this.isEditing()||t.editSection().appendItem(e.UIString("Delete watch expression"),this._updateExpression.bind(this,null)),this.isEditing()||!this._result||"number"!==this._result.type&&"string"!==this._result.type||t.clipboardSection().appendItem(e.UIString("Copy value"),this._copyValueButtonClicked.bind(this));const s=f.deepElementFromEvent(i);s&&this._valueElement.isSelfOrAncestor(s)&&this._result&&t.appendApplicableItems(this._result)}_copyValueButtonClicked(){_e.InspectorFrontendHostInstance.copyText(this._valueElement.textContent)}}Zs._watchObjectGroupId="watch-group",Zs.Events={ExpressionUpdated:Symbol("ExpressionUpdated")};var en=Object.freeze({__proto__:null,WatchExpressionsSidebarPane:Ys,WatchExpression:Zs});export{ut as AddSourceMapURLDialog,bt as BreakpointEditDialog,Dt as CSSPlugin,xt as CallStackSidebarPane,kt as CoveragePlugin,Ut as DebuggerPausedMessage,bs as DebuggerPlugin,Vt as EditingLocationHistoryManager,Cs as FilePathScoreFunction,vs as FilteredUISourceCodeListProvider,Es as GoToLineQuickOpen,zt as GutterDiffPlugin,xs as InplaceFormatterEditorAction,Ps as JavaScriptBreakpointsSidebarPane,Kt as JavaScriptCompilerPlugin,Si as NavigatorView,Ms as OpenFileQuickOpen,Ds as OutlineQuickOpen,It as Plugin,Jt as RecorderPlugin,As as ScopeChainSidebarPane,Zi as ScriptFormatterEditorAction,Yt as ScriptOriginPlugin,ri as SearchSourcesView,ei as SnippetsPlugin,ps as SourceMapNamesResolver,Qs as SourcesNavigator,ki as SourcesPanel,si as SourcesSearchScope,Xi as SourcesView,Gi as TabbedEditorContainer,vi as ThreadsSidebarPane,Ri as UISourceCodeFrame,en as WatchExpressionsSidebarPane};
|