diff --git a/globals.d.ts b/globals.d.ts new file mode 100644 index 00000000..6cc2479c --- /dev/null +++ b/globals.d.ts @@ -0,0 +1,10 @@ +export declare global { + interface Document { + addEventListener(type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void): void; + dispatchEvent(ev: CustomEventMap[K]): void; + } + interface Window { + spaNavigate(url: URL, isBack: boolean = false) + } +} diff --git a/package-lock.json b/package-lock.json index c9f9b3ca..c250a4bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,8 +15,8 @@ "chalk": "^4.1.2", "cli-spinner": "^0.2.10", "d3": "^7.8.5", - "d3-force-reuse": "^1.0.1", "esbuild-sass-plugin": "^2.9.0", + "flexsearch": "0.7.21", "github-slugger": "^2.0.0", "globby": "^13.1.4", "gray-matter": "^4.0.3", @@ -57,6 +57,7 @@ "devDependencies": { "@types/cli-spinner": "^0.2.1", "@types/d3": "^7.4.0", + "@types/flexsearch": "^0.7.3", "@types/hast": "^2.3.4", "@types/node": "^20.1.2", "@types/pretty-time": "^1.1.2", @@ -403,20 +404,20 @@ "integrity": "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==" }, "node_modules/@floating-ui/dom": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.4.0.tgz", - "integrity": "sha512-b4F0iWffLiqb/TpP2PWVOixrZqE6ni+6VT64AmFH7sJIF3SFPLbe6/h3jQ5Cwffs+HaC9A8V0TQzCPBwVvziIA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.4.1.tgz", + "integrity": "sha512-loCXUOLzIC3jp50RFOKXZ/kQjjz26ryr/23M+FWG9jrmAv8lRf3DUfC2AiVZ3+K316GOhB08CR+Povwz8e9mDw==", "dependencies": { "@floating-ui/core": "^1.3.1" } }, "node_modules/@inquirer/checkbox": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-1.2.8.tgz", - "integrity": "sha512-yTnAsimBDy2Ft5Ky/0nNqJLkLYTX9/teuvkAHKm+aeOMVSaUfp8bPchkj6VThR5AHwzUhSnUswuYVUzTzWMzsw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-1.3.1.tgz", + "integrity": "sha512-3l3aC6gYOPGaVOa9cNe4dZ8t96e3CFifC3Hee1MD+F7qaRxGAuXnhCQiUr4ngj2P7xd9U3DCDbLXNsLKQoHYCg==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "figures": "^3.2.0" @@ -425,6 +426,27 @@ "node": ">=14.18.0" } }, + "node_modules/@inquirer/checkbox/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", + "dependencies": { + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/@inquirer/confirm": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-1.0.11.tgz", @@ -460,12 +482,12 @@ } }, "node_modules/@inquirer/editor": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-1.0.11.tgz", - "integrity": "sha512-fAvkEKVRelMe5NzB1GM2zmAqbV0OWwAhXd6r34VgCKBAEfwI622A3M06g0ObL9qkcs0U+YW0G943X0ZqcUmKnQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-1.2.0.tgz", + "integrity": "sha512-NMXLLNadvqIR6TD6mNZRa/PKHTvdaa4ndGGeXl+DwybQ4K7cVSJNRrztixpM1KDEoG8Ape5ightNwq25cyugTg==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "chalk": "^4.1.2", "external-editor": "^3.0.3" }, @@ -473,13 +495,34 @@ "node": ">=14.18.0" } }, - "node_modules/@inquirer/expand": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-1.0.11.tgz", - "integrity": "sha512-7JBEHJGyNx2KdRbrVrkD7aNz9P8FI54ug3WORwaJ3q/z19jy8+ItkswEkSn0cy1QHhB30fx3QlJdjFX14i59wA==", + "node_modules/@inquirer/editor/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@inquirer/expand": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-1.1.1.tgz", + "integrity": "sha512-fXk5NG2FOAiluDWPYfXHuof3sklL/HhZh3NnXfnBZ2IhTCRzXvlXRcQcPlev2sGcZknHn0g6JdKlxjSa+7H2nQ==", + "dependencies": { + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "chalk": "^4.1.2", "figures": "^3.2.0" }, @@ -487,26 +530,68 @@ "node": ">=14.18.0" } }, - "node_modules/@inquirer/input": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-1.1.2.tgz", - "integrity": "sha512-7/fS1EE9gvQJ7/NVKpsoyJeZAqbEoOiQBg6D8+YaCwnbEldXhKSyS53VlWoYrDWryw8XNutMpJI3o9vLxDw8KQ==", + "node_modules/@inquirer/expand/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@inquirer/input": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-1.2.1.tgz", + "integrity": "sha512-OYwG3dEo1+lMAE6rYB8b1HTg8eSP++jk0pHSjKZu00gTlN5IHW/dliB82nsWe9Bn//93E9LJ1KrhjFMqOzkCFw==", + "dependencies": { + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "chalk": "^4.1.2" }, "engines": { "node": ">=14.18.0" } }, - "node_modules/@inquirer/password": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-1.0.11.tgz", - "integrity": "sha512-2GtNIBN906V5PzLFe0GIrXKInZM47T7QZdET0ML0sdGn4HFI7WEN+Gw0W2yC+0xhiTtm1kdrhFxRNIq8AZFnLA==", + "node_modules/@inquirer/input/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", "dependencies": { - "@inquirer/input": "^1.1.2", - "@inquirer/type": "^1.0.5", + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@inquirer/password": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-1.1.1.tgz", + "integrity": "sha512-3M03aA04hOA4lRjLviB9uGoNmmd1YDNo4CYSFM9Uh4qlXdgvhke3xPU07k3kVstRIo0Te1hF14RL7vEgHJQ8tA==", + "dependencies": { + "@inquirer/input": "^1.2.1", + "@inquirer/type": "^1.1.0", "chalk": "^4.1.2" }, "engines": { @@ -533,25 +618,46 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-1.1.3.tgz", - "integrity": "sha512-aBlXdQeADYbk9pFG4Z8HvRnjM7i/RYKJmf311infV2ivkD+d1QIdWdo0RnCuqk0m/6tdYsRgkhWGVhEkeh0nQg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-1.2.1.tgz", + "integrity": "sha512-t8lMbE3Gqook4PvQYQl9eVJrl/mBy5kCgolwY9El8HLyGZ7Wc3SGIqHnQUlha4qms8HPOdUIBzyPfcAXl5+3SQ==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "chalk": "^4.1.2" }, "engines": { "node": ">=14.18.0" } }, - "node_modules/@inquirer/select": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-1.1.7.tgz", - "integrity": "sha512-3Ym0WOoVduu/AG5GwIxa+fNz8Eop7S1zADbUmMsllrubdYu7qMe9HaTHCb5JOjaVNSoFJuYPH6TizFzGVFVrCQ==", + "node_modules/@inquirer/rawlist/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", "dependencies": { - "@inquirer/core": "^1.3.0", - "@inquirer/type": "^1.0.5", + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@inquirer/select": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-1.2.1.tgz", + "integrity": "sha512-13JDLtlwFoqQUYRdMzz5wP3a4DWccJfNA/8M8MDUhhZ8HeKZ3MPaTMlpxwY+Q0Jgbmt56nf7xUuck0XXPce8Xw==", + "dependencies": { + "@inquirer/core": "^2.1.0", + "@inquirer/type": "^1.1.0", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "figures": "^3.2.0" @@ -560,10 +666,31 @@ "node": ">=14.18.0" } }, + "node_modules/@inquirer/select/node_modules/@inquirer/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-2.1.0.tgz", + "integrity": "sha512-Hq9hZ5G/VUaeWkSs283HZwwMbe79lcOI5HWwW1GIM1ohouy2/x489Qf/A1BJYvMUj+QG4LSB5LtVMjn9P3Ge6Q==", + "dependencies": { + "@inquirer/type": "^1.1.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.8.0", + "cli-width": "^4.0.0", + "figures": "^3.2.0", + "mute-stream": "^1.0.0", + "run-async": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/@inquirer/type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.0.5.tgz", - "integrity": "sha512-MCEsk3Ep4D8UwwyCGdMmtoTwfC78oxHusUKex1qR+WTJP4MKK/mykCTCXApbYYRBYuTpT71kdoOr9vxySh+l5Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.1.0.tgz", + "integrity": "sha512-XMaorygt2o/mXinZg/OOz6d3JKuV3o4jRc/3KDiVPeKLLkjiO4iJErbLKtKn+Od2ZC2lbiFQkrIuloVpEubisA==", "engines": { "node": ">=14.18.0" } @@ -1158,6 +1285,12 @@ "@types/ms": "*" } }, + "node_modules/@types/flexsearch": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@types/flexsearch/-/flexsearch-0.7.3.tgz", + "integrity": "sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==", + "dev": true + }, "node_modules/@types/geojson": { "version": "7946.0.10", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", @@ -1199,9 +1332,9 @@ } }, "node_modules/@types/node": { - "version": "20.2.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", - "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==", + "version": "20.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", + "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", "dev": true }, "node_modules/@types/parse5": { @@ -1519,11 +1652,11 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { - "node": ">= 12" + "node": ">= 10" } }, "node_modules/concat-map": { @@ -1711,25 +1844,6 @@ "node": ">=12" } }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-dsv/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/d3-ease": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", @@ -1762,19 +1876,6 @@ "node": ">=12" } }, - "node_modules/d3-force-reuse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d3-force-reuse/-/d3-force-reuse-1.0.1.tgz", - "integrity": "sha512-TyJfszB6JZmzOYr3oDayjm0LE1Fz0wsn9DkDcYopDOXY/M07rTTDGQ5wYQMZjmcobND3+Og53CATORFbFuQUqw==", - "dependencies": { - "d3-quadtree": "^1.0.3" - } - }, - "node_modules/d3-force-reuse/node_modules/d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" - }, "node_modules/d3-format": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", @@ -2143,6 +2244,17 @@ "node": ">=4" } }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -2211,6 +2323,11 @@ "node": ">=8" } }, + "node_modules/flexsearch": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz", + "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==" + }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -2266,9 +2383,9 @@ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, "node_modules/glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz", + "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", @@ -2298,9 +2415,9 @@ } }, "node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.0.tgz", + "integrity": "sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ==", "dependencies": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", @@ -2609,11 +2726,11 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -2820,6 +2937,14 @@ "katex": "cli.js" } }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -2846,9 +2971,9 @@ } }, "node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz", + "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==", "engines": { "node": "14 || >=16.14" } @@ -3889,9 +4014,9 @@ } }, "node_modules/preact-render-to-string": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.0.3.tgz", - "integrity": "sha512-UUP+EtmLw5ns0fT9C7+CTdLawm1wLmlrZ6WKzJ4Jwhb4EBu4vy5ufIZKlrfvWNnPl1JFoJzZwzfKs97H4N0Vug==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.1.0.tgz", + "integrity": "sha512-/AsKU4Q4R8r4aKwwNQrkQQNUVEDmTeZr6IwesDffobFRPcTk4dSQrfo1VOcXjtlcUss6QYEe7JShUGbQIhaw+A==", "dependencies": { "pretty-format": "^3.8.0" }, @@ -4005,10 +4130,11 @@ } }, "node_modules/rehype-pretty-code": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.6.tgz", - "integrity": "sha512-l94QKT6w00AIJp1FsbVnbKmcEckKdYkJQfstgiSI4GTt/hSdDrnQRz6rP8r01x1rXNFC2exMG4WY0X7fOpVQGw==", + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.8.tgz", + "integrity": "sha512-pwCqh4Y+D2brWBGLu8i9aRP+rfnABdwFIXJ1dSInC+Xf7PxoEOVGNvngFSsfplpJ88IfcgiGirXa+9cIsLEhlA==", "dependencies": { + "@types/hast": "^2.0.0", "hash-obj": "^4.0.0", "parse-numeric-range": "^1.3.0" }, @@ -4333,9 +4459,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", - "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "version": "1.63.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz", + "integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -4637,16 +4763,16 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/unherit": { diff --git a/package.json b/package.json index adc3bcc2..e16c92f8 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "cli-spinner": "^0.2.10", "d3": "^7.8.5", "esbuild-sass-plugin": "^2.9.0", + "flexsearch": "0.7.21", "github-slugger": "^2.0.0", "globby": "^13.1.4", "gray-matter": "^4.0.3", @@ -69,6 +70,7 @@ "devDependencies": { "@types/cli-spinner": "^0.2.1", "@types/d3": "^7.4.0", + "@types/flexsearch": "^0.7.3", "@types/hast": "^2.3.4", "@types/node": "^20.1.2", "@types/pretty-time": "^1.1.2", diff --git a/quartz.config.ts b/quartz.config.ts index 41d65a69..bd7a81dc 100644 --- a/quartz.config.ts +++ b/quartz.config.ts @@ -39,16 +39,16 @@ const config: QuartzConfig = { plugins: { transformers: [ Plugin.FrontMatter(), - Plugin.Description(), Plugin.TableOfContents(), Plugin.CreatedModifiedDate({ priority: ['frontmatter', 'filesystem'] // you can add 'git' here for last modified from Git but this makes the build slower }), - Plugin.GitHubFlavoredMarkdown(), Plugin.ObsidianFlavoredMarkdown(), - Plugin.ResolveLinks(), + Plugin.GitHubFlavoredMarkdown(), + Plugin.CrawlLinks(), Plugin.SyntaxHighlighting(), Plugin.Katex(), + Plugin.Description(), ], filters: [ Plugin.RemoveDrafts() @@ -60,6 +60,7 @@ const config: QuartzConfig = { header: [ Component.PageTitle({ title: "🪴 Quartz 4.0" }), Component.Spacer(), + Component.Search(), Component.Darkmode() ], beforeBody: [ @@ -73,6 +74,7 @@ const config: QuartzConfig = { right: [ Component.Graph(), Component.TableOfContents(), + Component.Backlinks() ], footer: [] }), diff --git a/quartz/bootstrap-cli.mjs b/quartz/bootstrap-cli.mjs index e6bb3f0a..2824f8e9 100755 --- a/quartz/bootstrap-cli.mjs +++ b/quartz/bootstrap-cli.mjs @@ -75,12 +75,14 @@ yargs(hideBin(process.argv)) text = text.replace('export default', '') text = text.replace('export', '') + const sourcefile = path.relative(path.resolve('.'), args.path) + const resolveDir = path.dirname(sourcefile) const transpiled = await esbuild.build({ stdin: { contents: text, loader: 'ts', - resolveDir: '.', - sourcefile: path.relative(path.resolve('.'), args.path), + resolveDir, + sourcefile, }, write: false, bundle: true, diff --git a/quartz/components/Backlinks.tsx b/quartz/components/Backlinks.tsx new file mode 100644 index 00000000..584746c5 --- /dev/null +++ b/quartz/components/Backlinks.tsx @@ -0,0 +1,19 @@ +import { QuartzComponentConstructor, QuartzComponentProps } from "./types" +import style from "./styles/backlinks.scss" +import { relativeToRoot } from "../path" + +function Backlinks({ fileData, allFiles }: QuartzComponentProps) { + const slug = fileData.slug! + const backlinkFiles = allFiles.filter(file => file.links?.includes(slug)) + return +} + +Backlinks.css = style +export default (() => Backlinks) satisfies QuartzComponentConstructor diff --git a/quartz/components/Search.tsx b/quartz/components/Search.tsx new file mode 100644 index 00000000..f8dd8045 --- /dev/null +++ b/quartz/components/Search.tsx @@ -0,0 +1,35 @@ +import { QuartzComponentConstructor } from "./types" +import style from "./styles/search.scss" +// @ts-ignore +import script from "./scripts/search.inline" + +export default (() => { + function Search() { + return + } + + Search.afterDOMLoaded = script + Search.css = style + + return Search +}) satisfies QuartzComponentConstructor diff --git a/quartz/components/index.ts b/quartz/components/index.ts index 98132388..61df101f 100644 --- a/quartz/components/index.ts +++ b/quartz/components/index.ts @@ -8,6 +8,8 @@ import Spacer from "./Spacer" import TableOfContents from "./TableOfContents" import TagList from "./TagList" import Graph from "./Graph" +import Backlinks from "./Backlinks" +import Search from "./Search" export { ArticleTitle, @@ -19,5 +21,7 @@ export { Spacer, TableOfContents, TagList, - Graph + Graph, + Backlinks, + Search } diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts index 40665ca4..1c1149dd 100644 --- a/quartz/components/scripts/graph.inline.ts +++ b/quartz/components/scripts/graph.inline.ts @@ -1,5 +1,6 @@ import { ContentDetails } from "../../plugins/emitters/contentIndex" import * as d3 from 'd3' +import { registerEscapeHandler } from "./handler" type NodeData = { id: string, @@ -25,7 +26,8 @@ function removeAllChildren(node: HTMLElement) { } async function renderGraph(container: string, slug: string) { - const graph = document.getElementById(container)! + const graph = document.getElementById(container) + if (!graph) return removeAllChildren(graph) let { @@ -265,16 +267,15 @@ function renderGlobalGraph() { const container = document.getElementById("global-graph-outer") container?.classList.add("active") - function hideGlobalGraph(this: HTMLElement, e: HTMLElementEventMap["click"]) { - if (e.target !== this) return + function hideGlobalGraph() { container?.classList.remove("active") - const graph = document.getElementById("global-graph-container")! + const graph = document.getElementById("global-graph-container") + if (!graph) return removeAllChildren(graph) } - container?.removeEventListener("click", hideGlobalGraph) - container?.addEventListener("click", hideGlobalGraph) + registerEscapeHandler(container, hideGlobalGraph) } document.addEventListener("nav", async (e: unknown) => { diff --git a/quartz/components/scripts/handler.ts b/quartz/components/scripts/handler.ts new file mode 100644 index 00000000..c806a8b6 --- /dev/null +++ b/quartz/components/scripts/handler.ts @@ -0,0 +1,19 @@ +export function registerEscapeHandler(outsideContainer: HTMLElement | null, cb: () => void) { + if (!outsideContainer) return + function click(this: HTMLElement, e: HTMLElementEventMap["click"]) { + if (e.target !== this) return + e.preventDefault() + cb() + } + + function esc(e: HTMLElementEventMap["keydown"]) { + if (!e.key.startsWith("Esc")) return + e.preventDefault() + cb() + } + + outsideContainer?.removeEventListener("click", click) + outsideContainer?.addEventListener("click", click) + document.removeEventListener("keydown", esc) + document.addEventListener('keydown', esc) +} diff --git a/quartz/components/scripts/popover.inline.ts b/quartz/components/scripts/popover.inline.ts index 5cbe170a..f7cd9986 100644 --- a/quartz/components/scripts/popover.inline.ts +++ b/quartz/components/scripts/popover.inline.ts @@ -39,6 +39,7 @@ document.addEventListener("nav", () => { const popoverElement = document.createElement("div") popoverElement.classList.add("popover") + // TODO: scroll this element if we specify a header/anchor to jump to const popoverInner = document.createElement("div") popoverInner.classList.add("popover-inner") popoverElement.appendChild(popoverInner) diff --git a/quartz/components/scripts/search.inline.ts b/quartz/components/scripts/search.inline.ts new file mode 100644 index 00000000..b1c62654 --- /dev/null +++ b/quartz/components/scripts/search.inline.ts @@ -0,0 +1,192 @@ +import { Document } from "flexsearch" +import { ContentDetails } from "../../plugins/emitters/contentIndex" +import { registerEscapeHandler } from "./handler" + +interface Item { + slug: string, + title: string, + content: string, +} +let index: Document | undefined = undefined + +function relative(from: string, to: string) { + const pieces = [location.protocol, '//', location.host, location.pathname] + const url = pieces.join('').slice(0, -from.length) + to + return url +} + +function removeAllChildren(node: HTMLElement) { + node.innerHTML = `` +} + +const contextWindowWords = 30 +function highlight(searchTerm: string, text: string, trim?: boolean) { + const tokenizedTerms = searchTerm.split(/\s+/).filter(t => t !== "") + let tokenizedText = text + .split(/\s+/) + .filter(t => t !== "") + + let startIndex = 0 + let endIndex = tokenizedText.length - 1 + if (trim) { + const includesCheck = (tok: string) => tokenizedTerms.some((term) => tok.toLowerCase().startsWith(term.toLowerCase())) + const occurencesIndices = tokenizedText.map(includesCheck) + + let bestSum = 0 + let bestIndex = 0 + for (let i = 0; i < Math.max(tokenizedText.length - contextWindowWords, 0); i++) { + const window = occurencesIndices.slice(i, i + contextWindowWords) + const windowSum = window.reduce((total, cur) => total + (cur ? 1 : 0), 0) + if (windowSum >= bestSum) { + bestSum = windowSum + bestIndex = i + } + } + + startIndex = Math.max(bestIndex - contextWindowWords, 0) + endIndex = Math.min(startIndex + 2 * contextWindowWords, tokenizedText.length - 1) + tokenizedText = tokenizedText.slice(startIndex, endIndex) + } + + const slice = tokenizedText.map(tok => { + // see if this tok is prefixed by any search terms + for (const searchTok of tokenizedTerms) { + if (tok.toLowerCase().includes(searchTok.toLowerCase())) { + const regex = new RegExp(searchTok, "gi") + return tok.replace(regex, `$&`) + } + } + return tok + }) + .join(" ") + + return `${startIndex === 0 ? "" : "..."}${slice}${endIndex === tokenizedText.length - 1 ? "" : "..."}` +} + +const encoder = (str: string) => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])/) +document.addEventListener("nav", async (e: unknown) => { + const currentSlug = (e as CustomEventMap["nav"]).detail.url + + // setup index if it hasn't been already + const data = await fetchData + if (!index) { + index = new Document({ + cache: true, + charset: 'latin:extra', + optimize: true, + encode: encoder, + document: { + id: "slug", + index: [ + { + field: "title", + tokenize: "forward", + }, + { + field: "content", + tokenize: "reverse", + }, + ] + }, + }) + + for (const [slug, fileData] of Object.entries(data)) { + index.add({ + slug, + title: fileData.title, + content: fileData.content + }) + } + } + + const container = document.getElementById("search-container") + const searchIcon = document.getElementById("search-icon") + const searchBar = document.getElementById("search-bar") as HTMLInputElement | null + const results = document.getElementById("results-container") + + function hideSearch() { + container?.classList.remove("active") + if (searchBar) { + searchBar.value = "" // clear the input when we dismiss the search + } + if (results) { + removeAllChildren(results) + } + } + + function showSearch() { + container?.classList.add("active") + searchBar?.focus() + } + + function shortcutHandler(e: HTMLElementEventMap["keydown"]) { + if (e.key === "k" && (e.ctrlKey || e.metaKey)) { + e.preventDefault() + const searchBarOpen = container?.classList.contains("active") + searchBarOpen ? hideSearch() : showSearch() + } else if (e.key === "Enter") { + const anchor = document.getElementsByClassName("result-card")[0] as HTMLInputElement | null + if (anchor) { + anchor.click() + } + } + } + + const formatForDisplay = (term: string, slug: string) => ({ + slug, + title: highlight(term, data[slug].title ?? ""), + content: highlight(term, data[slug].content ?? "", true), + }) + + const resultToHTML = ({ slug, title, content }: Item) => { + const button = document.createElement("button") + button.classList.add("result-card") + button.id = slug + button.innerHTML = `

${title}

${content}

` + button.addEventListener('click', () => { + const targ = relative(currentSlug, slug) + window.spaNavigate(new URL(targ)) + }) + return button + } + + function displayResults(finalResults: Item[]) { + if (!results) return + + removeAllChildren(results) + if (finalResults.length === 0) { + results.innerHTML = `` + } else { + results.append(...finalResults.map(resultToHTML)) + } + + } + + function onType(e: HTMLElementEventMap["input"]) { + const term = (e.target as HTMLInputElement).value + const searchResults = index?.search(term, 5) ?? [] + const getByField = (field: string): string[] => { + const results = searchResults.filter((x) => x.field === field) + return results.length === 0 ? [] : [...results[0].result] as string[] + } + + // order titles ahead of content + const allIds: Set = new Set([...getByField("title"), ...getByField("content")]) + const finalResults = [...allIds].map(id => formatForDisplay(term, id)) + displayResults(finalResults) + } + + + document.removeEventListener("keydown", shortcutHandler) + document.addEventListener("keydown", shortcutHandler) + searchIcon?.removeEventListener("click", showSearch) + searchIcon?.addEventListener("click", showSearch) + searchBar?.removeEventListener("input", onType) + searchBar?.addEventListener("input", onType) + + // register handlers + registerEscapeHandler(container, hideSearch) +}) diff --git a/quartz/components/styles/backlinks.scss b/quartz/components/styles/backlinks.scss new file mode 100644 index 00000000..3344a7b5 --- /dev/null +++ b/quartz/components/styles/backlinks.scss @@ -0,0 +1,22 @@ +.backlinks { + & > h3 { + font-size: 1rem; + margin: 0; + } + + & > ul { + list-style: none; + padding: 0; + margin: 0; + + & > li { + margin: 0.5rem 0; + padding: 0.25rem 1rem; + border: var(--lightgray) 1px solid; + border-radius: 5px; + & > a { + background-color: transparent; + } + } + } +} diff --git a/quartz/components/styles/popover.scss b/quartz/components/styles/popover.scss index 0006292c..9b794476 100644 --- a/quartz/components/styles/popover.scss +++ b/quartz/components/styles/popover.scss @@ -23,6 +23,8 @@ height: 20rem; padding: 0 1rem 1rem 1rem; font-weight: initial; + line-height: initial; + font-size: initial; border: 1px solid var(--gray); background-color: var(--light); border-radius: 5px; @@ -30,6 +32,10 @@ overflow: scroll; } + h1 { + font-size: 1.5rem; + } + visibility: hidden; opacity: 0; transition: opacity 0.3s ease, visibility 0.3s ease; diff --git a/quartz/components/styles/search.scss b/quartz/components/styles/search.scss new file mode 100644 index 00000000..bac584b3 --- /dev/null +++ b/quartz/components/styles/search.scss @@ -0,0 +1,134 @@ +.search { + min-width: 5rem; + max-width: 12rem; + flex-grow: 0.3; + margin: 0 1.5rem; + + & > #search-icon { + background-color: var(--lightgray); + border-radius: 4px; + height: 2rem; + display: flex; + align-items: center; + cursor: pointer; + + & > div { + flex-grow: 1; + } + + & > p { + display: inline; + padding: 0 1rem; + } + + & svg { + cursor: pointer; + width: 18px; + min-width: 18px; + margin: 0 0.5rem; + + .search-path { + stroke: var(--darkgray); + stroke-width: 2px; + transition: stroke 0.5s ease; + } + } + } + + & > #search-container { + position: fixed; + z-index: 999; + left: 0; + top: 0; + width: 100vw; + height: 100vh; + overflow: scroll; + display: none; + backdrop-filter: blur(4px); + + &.active { + display: inline-block; + } + + & > #search-space { + width: 50%; + margin-top: 15vh; + margin-left: auto; + margin-right: auto; + + @media all and (max-width: 1200px) { + width: 90%; + } + + & > * { + width: 100%; + border-radius: 5px; + background: var(--light); + box-shadow: 0 14px 50px rgba(27, 33, 48, 0.12), 0 10px 30px rgba(27, 33, 48, 0.16); + margin-bottom: 2em; + } + + & > input { + box-sizing: border-box; + padding: 0.5em 1em; + font-family: var(--bodyFont); + color: var(--dark); + font-size: 1.1em; + border: 1px solid var(--lightgray); + + &:focus { + outline: none; + } + } + + & > #results-container { + & .result-card { + padding: 1em; + cursor: pointer; + transition: background 0.2s ease; + border: 1px solid var(--lightgray); + border-bottom: none; + width: 100%; + + // normalize button props + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; + text-transform: none; + text-align: left; + background: var(--light); + outline: none; + + & .highlight { + color: var(--secondary); + } + + &:hover, &:focus { + background: var(--lightgray); + } + + &:first-of-type { + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + + &:last-of-type { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom: 1px solid var(--lightgray); + } + + & > h3 { + margin: 0; + } + + & > p { + margin-bottom: 0; + } + } + } + + } + } +} diff --git a/quartz/components/styles/toc.scss b/quartz/components/styles/toc.scss index 117d2938..eee3ee8a 100644 --- a/quartz/components/styles/toc.scss +++ b/quartz/components/styles/toc.scss @@ -30,7 +30,6 @@ button#toc { overflow: hidden; max-height: none; transition: max-height 0.3s ease; - font-size: 0.9rem; & ul { list-style: none; diff --git a/quartz/components/types.ts b/quartz/components/types.ts index 0b9b0eb7..c7584b6f 100644 --- a/quartz/components/types.ts +++ b/quartz/components/types.ts @@ -10,6 +10,7 @@ export type QuartzComponentProps = { cfg: GlobalConfiguration children: QuartzComponent[] | JSX.Element[] tree: Node + allFiles: QuartzPluginData[] } export type QuartzComponent = ComponentType & { diff --git a/quartz/path.ts b/quartz/path.ts index 3ae51ccb..18d74d73 100644 --- a/quartz/path.ts +++ b/quartz/path.ts @@ -9,10 +9,6 @@ export function trimPathSuffix(fp: string): string { let [cleanPath, anchor] = fp.split("#", 2) anchor = anchor === undefined ? "" : "#" + anchor - if (cleanPath.endsWith("index")) { - cleanPath = cleanPath.slice(0, -"index".length) - } - return cleanPath + anchor } @@ -48,7 +44,8 @@ export function relativeToRoot(slug: string, fp: string): string { } export function relative(src: string, dest: string): string { - return path.relative(src, dest) + return "./" + path.relative(src, dest) + } export const QUARTZ = "quartz" diff --git a/quartz/plugins/emitters/contentIndex.ts b/quartz/plugins/emitters/contentIndex.ts index 0e03c23a..cd7c9245 100644 --- a/quartz/plugins/emitters/contentIndex.ts +++ b/quartz/plugins/emitters/contentIndex.ts @@ -1,20 +1,7 @@ -import { visit } from "unist-util-visit" import { QuartzEmitterPlugin } from "../types" -import { Element } from "hast" import path from "path" -import { trimPathSuffix } from "../../path" -interface Options { - indexAnchorLinks: boolean, - indexExternalLinks: boolean, -} - -const defaultOptions: Options = { - indexAnchorLinks: false, - indexExternalLinks: false, -} - -export type ContentIndex = Map +export type ContentIndex = Map export type ContentDetails = { title: string, links?: string[], @@ -22,39 +9,17 @@ export type ContentDetails = { content: string, } -export const ContentIndex: QuartzEmitterPlugin = (userOpts) => { - const opts = { ...userOpts, ...defaultOptions } +export const ContentIndex: QuartzEmitterPlugin = () => { return { name: "ContentIndex", async emit(_contentDir, _cfg, content, _resources, emit) { const fp = path.join("static", "contentIndex") const linkIndex: ContentIndex = new Map() - for (const [tree, file] of content) { - let slug = trimPathSuffix(file.data.slug!) - - const outgoing: Set = new Set() - visit(tree, 'element', (node: Element) => { - if (node.tagName === 'a' && node.properties && typeof node.properties.href === 'string') { - let dest = node.properties.href - if (dest.startsWith(".")) { - const normalizedPath = path.normalize(path.join(slug, dest)) - dest = trimPathSuffix(normalizedPath) - outgoing.add(dest) - } else if (dest.startsWith("#")) { - if (opts.indexAnchorLinks) { - outgoing.add(dest) - } - } else { - if (opts.indexExternalLinks) { - outgoing.add(dest) - } - } - } - }) - + for (const [_tree, file] of content) { + let slug = file.data.slug! linkIndex.set(slug, { title: file.data.frontmatter?.title!, - links: [...outgoing], + links: file.data.links ?? [], tags: file.data.frontmatter?.tags, content: file.data.text ?? "" }) diff --git a/quartz/plugins/emitters/contentPage.tsx b/quartz/plugins/emitters/contentPage.tsx index d88cf9c3..03bc0ff7 100644 --- a/quartz/plugins/emitters/contentPage.tsx +++ b/quartz/plugins/emitters/contentPage.tsx @@ -33,7 +33,7 @@ export const ContentPage: QuartzEmitterPlugin = (opts) => { }, async emit(_contentDir, cfg, content, resources, emit): Promise { const fps: string[] = [] - + const allFiles = content.map(c => c[1].data) for (const [tree, file] of content) { const baseDir = resolveToRoot(file.data.slug!) const pageResources: StaticResources = { @@ -50,13 +50,14 @@ export const ContentPage: QuartzEmitterPlugin = (opts) => { externalResources: pageResources, cfg, children: [], - tree + tree, + allFiles } const Content = opts.content const doc = - +
{header.map(HeaderComponent => )} diff --git a/quartz/plugins/index.ts b/quartz/plugins/index.ts index 358c59e0..0378b1bb 100644 --- a/quartz/plugins/index.ts +++ b/quartz/plugins/index.ts @@ -51,6 +51,7 @@ export function emitComponentResources(cfg: GlobalConfiguration, resources: Stat componentResources.afterDOMLoaded.push(spaRouterScript) } else { componentResources.afterDOMLoaded.push(` + window.spaNavigate = (url, _) => window.location.assign(url) const event = new CustomEvent("nav", { detail: { slug: document.body.dataset.slug } }) document.dispatchEvent(event)` ) diff --git a/quartz/plugins/transformers/index.ts b/quartz/plugins/transformers/index.ts index 51aaa341..b43b9c8c 100644 --- a/quartz/plugins/transformers/index.ts +++ b/quartz/plugins/transformers/index.ts @@ -3,7 +3,7 @@ export { GitHubFlavoredMarkdown } from './gfm' export { CreatedModifiedDate } from './lastmod' export { Katex } from './latex' export { Description } from './description' -export { ResolveLinks } from './links' +export { CrawlLinks } from './links' export { ObsidianFlavoredMarkdown } from './ofm' export { SyntaxHighlighting } from './syntax' export { TableOfContents } from './toc' diff --git a/quartz/plugins/transformers/links.ts b/quartz/plugins/transformers/links.ts index 4bf0e08e..3083ce7b 100644 --- a/quartz/plugins/transformers/links.ts +++ b/quartz/plugins/transformers/links.ts @@ -1,5 +1,5 @@ import { QuartzTransformerPlugin } from "../types" -import { relative, relativeToRoot, slugify } from "../../path" +import { relative, relativeToRoot, slugify, trimPathSuffix } from "../../path" import path from "path" import { visit } from 'unist-util-visit' import isAbsoluteUrl from "is-absolute-url" @@ -9,14 +9,18 @@ interface Options { markdownLinkResolution: 'absolute' | 'relative' /** Strips folders from a link so that it looks nice */ prettyLinks: boolean + indexAnchorLinks: boolean + indexExternalLinks: boolean } const defaultOptions: Options = { markdownLinkResolution: 'absolute', - prettyLinks: true + prettyLinks: true, + indexAnchorLinks: false, + indexExternalLinks: false, } -export const ResolveLinks: QuartzTransformerPlugin | undefined> = (userOpts) => { +export const CrawlLinks: QuartzTransformerPlugin | undefined> = (userOpts) => { const opts = { ...defaultOptions, ...userOpts } return { name: "LinkProcessing", @@ -36,6 +40,7 @@ export const ResolveLinks: QuartzTransformerPlugin | undefined> } } + const outgoing: Set = new Set() visit(tree, 'element', (node, _index, _parent) => { // rewrite all links if ( @@ -43,13 +48,27 @@ export const ResolveLinks: QuartzTransformerPlugin | undefined> node.properties && typeof node.properties.href === 'string' ) { - node.properties.className = isAbsoluteUrl(node.properties.href) ? "external" : "internal" + let dest = node.properties.href + node.properties.className = isAbsoluteUrl(dest) ? "external" : "internal" + // don't process external links or intra-document anchors - if (!(isAbsoluteUrl(node.properties.href) || node.properties.href.startsWith("#"))) { - node.properties.href = transformLink(node.properties.href) + if (!(isAbsoluteUrl(dest) || dest.startsWith("#"))) { + node.properties.href = transformLink(dest) + } + + dest = node.properties.href + if (dest.startsWith(".")) { + const normalizedPath = path.normalize(path.join(curSlug, dest)) + outgoing.add(trimPathSuffix(normalizedPath)) + } else if (dest.startsWith("#")) { + if (opts.indexAnchorLinks) { + outgoing.add(dest) + } } else { - + if (opts.indexExternalLinks) { + outgoing.add(dest) + } } // rewrite link internals if prettylinks is on @@ -70,8 +89,16 @@ export const ResolveLinks: QuartzTransformerPlugin | undefined> } } }) + + file.data.links = [...outgoing] } }] } } } + +declare module 'vfile' { + interface DataMap { + links: string[] + } +} diff --git a/quartz/styles/base.scss b/quartz/styles/base.scss index fcd4a5d1..fe626017 100644 --- a/quartz/styles/base.scss +++ b/quartz/styles/base.scss @@ -193,6 +193,7 @@ pre { code { font-size: 0.9em; + color: var(--dark); font-family: var(--codeFont); border-radius: 5px; padding: 0.1rem 0.2rem; diff --git a/tsconfig.json b/tsconfig.json index 6f5f221b..d71eecb7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,9 @@ { "compilerOptions": { "lib": [ - "esnext" + "esnext", + "DOM", + "DOM.Iterable" ], "module": "esnext", "target": "esnext", diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo index 25487091..671a1db5 100644 --- a/tsconfig.tsbuildinfo +++ b/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/preact/src/jsx.d.ts","./node_modules/preact/src/index.d.ts","./node_modules/preact/jsx-runtime/src/index.d.ts","./node_modules/@types/unist/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/minurl.shared.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/index.d.ts","./quartz/resources.ts","./node_modules/@types/hast/index.d.ts","./quartz/plugins/vfile.ts","./quartz/plugins/types.ts","./quartz/cfg.ts","./node_modules/chalk/index.d.ts","./node_modules/@types/pretty-time/index.d.ts","./quartz/perf.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/minipass/index.d.ts","./node_modules/lru-cache/dist/cjs/index.d.ts","./node_modules/path-scurry/dist/cjs/index.d.ts","./node_modules/minimatch/dist/cjs/ast.d.ts","./node_modules/minimatch/dist/cjs/escape.d.ts","./node_modules/minimatch/dist/cjs/unescape.d.ts","./node_modules/minimatch/dist/cjs/index.d.ts","./node_modules/glob/dist/mjs/pattern.d.ts","./node_modules/glob/dist/mjs/processor.d.ts","./node_modules/glob/dist/mjs/walker.d.ts","./node_modules/glob/dist/mjs/ignore.d.ts","./node_modules/glob/dist/mjs/glob.d.ts","./node_modules/glob/dist/mjs/has-magic.d.ts","./node_modules/glob/dist/mjs/index.d.ts","./node_modules/rimraf/dist/mjs/index.d.ts","./node_modules/@nodelib/fs.stat/out/types/index.d.ts","./node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","./node_modules/@nodelib/fs.stat/out/settings.d.ts","./node_modules/@nodelib/fs.stat/out/providers/async.d.ts","./node_modules/@nodelib/fs.stat/out/index.d.ts","./node_modules/@nodelib/fs.scandir/out/types/index.d.ts","./node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","./node_modules/@nodelib/fs.scandir/out/settings.d.ts","./node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","./node_modules/@nodelib/fs.scandir/out/index.d.ts","./node_modules/@nodelib/fs.walk/out/types/index.d.ts","./node_modules/@nodelib/fs.walk/out/settings.d.ts","./node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","./node_modules/@nodelib/fs.walk/out/readers/async.d.ts","./node_modules/@nodelib/fs.walk/out/providers/async.d.ts","./node_modules/@nodelib/fs.walk/out/index.d.ts","./node_modules/fast-glob/out/types/index.d.ts","./node_modules/fast-glob/out/settings.d.ts","./node_modules/fast-glob/out/managers/tasks.d.ts","./node_modules/fast-glob/out/index.d.ts","./node_modules/globby/index.d.ts","./node_modules/@types/serve-handler/index.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/remark-parse/lib/index.d.ts","./node_modules/remark-parse/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/to-vfile/lib/index.d.ts","./node_modules/to-vfile/index.d.ts","./quartz/path.ts","./quartz/processors/parse.ts","./quartz/processors/filter.ts","./node_modules/gray-matter/gray-matter.d.ts","./node_modules/micromark-extension-frontmatter/matters.d.ts","./node_modules/micromark-extension-frontmatter/lib/syntax.d.ts","./node_modules/micromark-extension-frontmatter/lib/html.d.ts","./node_modules/micromark-extension-frontmatter/index.d.ts","./node_modules/remark-frontmatter/index.d.ts","./quartz/plugins/transformers/frontmatter.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/index.d.ts","./node_modules/@types/nlcst/index.d.ts","./node_modules/retext-smartypants/index.d.ts","./node_modules/remark-smartypants/index.d.ts","./quartz/plugins/transformers/gfm.ts","./node_modules/@napi-rs/simple-git/index.d.ts","./quartz/plugins/transformers/lastmod.ts","./node_modules/mdast-util-math/lib/index.d.ts","./node_modules/mdast-util-math/index.d.ts","./node_modules/remark-math/index.d.ts","./node_modules/@types/katex/index.d.ts","./node_modules/rehype-katex/index.d.ts","./quartz/plugins/transformers/latex.ts","./node_modules/hast-util-to-string/index.d.ts","./quartz/plugins/transformers/description.ts","./quartz/plugins/transformers/index.ts","./quartz/plugins/filters/draft.ts","./quartz/plugins/filters/explicit.ts","./quartz/plugins/filters/index.ts","./quartz/plugins/emitters/contentpage.ts","./quartz/plugins/emitters/index.ts","./quartz/plugins/index.ts","./quartz/processors/emit.ts","./quartz/index.ts","./quartz.config.ts","./quartz/components/head.tsx","./package.json","./node_modules/@types/cli-spinner/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/require-from-string/index.d.ts","./node_modules/@types/yargs-parser/index.d.ts","./node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"cf0779719c437592be3ed4cb0f76760a13aa6c6408e53ea6ab186a92d8b65002","2f6891be00549893b5ce20ba53f1940f56822053d1a71b8a455ee699478a7468","670683503e4e107e88dfec53d4360106fefb23ae2cb01575ba338849647b15f2","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","e0c7d85789b8811c90a8d21e25021349e8a756a256ae42d9e816ecd392f00f71","bb8aba28c9589792407d6ae0c1a6568f3ddc40be20da25bc1939e2c9d76436bb","8fa1868ab5af3818ff4746f383ea84206596e284f7dc5ffd40a0fac08ed093f9","8d4537ea6fcdde620af5bfb4e19f88db40d44073f76f567283aa043b81ef8a3e","0bb848976eff244e33741d63372cbfb4d15153a92c171d0a374a3c0ef327a175","af79b166f5d41ec2ebae57e9b67df564452b90ae3f0af4cb3c2d8ad5adbfd2db",{"version":"5e7d495b84c100f0f4d98eb26a189f573937e8632c1f651439ecda4b16953ffa","signature":"a8f2eab52233e1a594649ee899ddb034f50528d234a0c31cf58a86b56e4d1a6d"},"3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0",{"version":"95e60d420050b849dfa2f318b8276eca66ab524421df318c0b5f6386d6b146f3","signature":"57aef9f13921c86297e800d319ca15316164d8da2a19198ded077159befbcfc1"},{"version":"2f060147829e0141094da2c52adc321e16ebe63f6ac4c0f0a7ed9786279f5f2b","signature":"c351b409da6a82856b4a56e8a40919dc5d9418bcb31de92df5df297fec51d063"},{"version":"6c2b7fac41ad649749508f18d5b1485404ee77ffb4966e97826ad914bd05f0ca","signature":"bfcdf9b6f0a223f44883ea8875fc1a604b42c8d57e52bb3ed6f4835493d96ffe"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","43a95e70896efd3483a07162a10895b0f1c9b6f05092ef114b46b1d9f7eef63a",{"version":"224bc47ac7f9a1f3795c1046ebfb8aae8b76180daf7d41ed77623b03b1a078d3","signature":"79a71c1a17f13f766d817c9357eb3de259659405679f75328fa36cc7606ec132"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"241a2e19e03fd1d884e0f304429378d05bc2c1b26b5693c84868f7ad0674982d","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","0b70ce7a20fa21c7201a5a972b7f2288cb90ace8a2dde9f3344b5dfc6504abaf",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","3fd0f1af75fb7abe0ea376aa71541daaf489f3d87c394b1165db684ea44b48be","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"f1a0b2dde686cb8a995d4ed11848be5eaf76fd5d56532942e0737b39d4a02c6d","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"6a325d4c96569bdd5a9a59f819a672e2d5644ee6cf98ab910e0064402557af8d","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","1fb6c5ec52332a8b531a8d7a5300ac9301f98c4fe62f68e744e0841ccba65e7e",{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","244cdeb8c344eb42e6142cbb0727752b9b735443fba7007c11b14ca06ebed97c",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","69f5747ad0887c24c76858ed458712101771349f2287e21871fcd1562daa7dc0",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"220717df86539e219f619d31965d177e7235185e4bc6f6e6ed7e11a9b004d5ca","d0f7a15f34c5572c4d3710a95053196e76da944543dabe8265944bb7c6f52700","cb656e57ac7dcb4a0850d3063f6f2618b11bdefcbf241fdd7ebf5b52107b17a0","25552cdd29362e0176f96789dc0414de7f44bc144b07c74fac7577a28f91d70b","97066cfd7010c2463bfcc2e7c0adc4bf2786ea682035f5a210c21f123ca42237","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","d392cdf58e0c7a988c3df400caa63a5c070c0bf13996ec619e3535e19e952a95","6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","237aa833f2cd2ff42db5d3f5a2b7b143ead11aff861097593ecd99015a69b220","50542cad26bd372cb942d418d42cdeced50a4d4226db390a1e3405f3d9a6103f","60660150e844e9d27f7ae4dfc7456f27fc683bed718d0e4a1dd4908d5da11d35","ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","5e763f3932cf04417e4145a103da1f1f67b10f7c584bcc976641611ed72af668","a5dcba6cd802f8e47bf0d83f3836a92cd494fac81b8a49924f190f61f92795ce","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","4498108732bcb5b7000ff9cdc011058b4155e985271ac3f926468acfed0c79dd","36d7b72ed8f35f9e21cc223c06697eca0d4699178fc59cfd3a310e2983fd0fd6","5a5cbc7aa7c4f74f49073d747a2a2518d1ec22694c88bc46092b0f25ccb8ebb7","51bfe35171efe121cefb2501a6cd674c367d541c4c8b0ae639c126adcc84f37d","4efb2a45d9d3e146d6237c2b74c2afcc7512f8bdd939995f2beaa27ec385a600","d51a4e4450ee23d941db79652c660ca2612691dba235fd5d14d4b2a622c72312","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","cce0134a9da5d93b08f4da07a18ca5bcb8f595216783bca8572182a928f0f03b","31c74be259150eec1e3f8f4113f99cd10d5f1a278a5a7ef6fa29478d71766618","87c28e995603b79f21470eac66a70f9e437aecd70e514bb7e1a5a090aee5ea54","ac72dfd5a793c277251c116b35791d3ce358edfea94b942c270d2bda9be5cbfe","c1b6d322936b18698bf8ea6deed76e28d5a6a3cccb6c7fa345a01c969f637b65","8b0a2400ba7522569871331988f820ba4cfc386f845b01058c63a62ad9db8d03","d3e29566a694a4068d450a58f59e3a3662fc12f74345343d441ef4d954984503","f7b3e68f7972250809e5b0cbd8f0e1f9da8c1dbf70244f289b204f1b49c2d398","4c7c99f7787c5c2ea6cbd911a7b5c7c2a4ee1cb9d7f538805ee2550cf1f1fb99","1557bf37fc8d5f129436caa0212f25d6cbeaf9d20e2e3a60b13306ff62a1d7a0","9a1e77270d63875c9a38630f9a7a9126f9a8df0245d5eb220832a65d408079eb","e48d0036e626bb40f236e236670722445ffff854908c2d9515b2b5b7f677794f","30f9018873d6d80256298011161a664a14b927f719f8a7605ceb8b49bc8808da","f543ea0fe820064a2cdbb39d2b2846c507467c4771eafcda2091da43b05c077b","9066d02264a67aae05410c340c8fa41a79bb076c33d1c6ae3ec29a05828f4c05","00435c177c3da6998c2f95b9e71239f00cfabd3461401cc4d8606ee3afb732b1","d432a2956d1efa172e1c60a8186a81657f2f9f4ba449c6abdfa9d057d484c45d","bc6679207eccaa45e49b930ad45ec8e7903bd8b0868e086d8bad91f79c914ca0","4dd35e71d52007465787dd2f374cc756a29e6c9b96dc237d0465d0294170c529","7ebf1f440efe6efebeb58a44000820cbe959da9d9496621fa6dcbc02666e3002","08a9e70641597e23d00be62e3a94b69ad93c5cf5541ec7bfdeb5e9f69c845507","ded59c554118589a8729fb70429318e41e7e8155b2aff5f3d7a77933e49dbc10","3af507089e65c1472a87e5f7345ec18838d7e923c2c06fdad3d31543278af762","c867e6d7de78f96eb55b534b3aca1da4e029a6ab0e4ea9d0610acf11d737f8a0","2df075b38e2135201202640fe92bce8d03fb319fece410b088a22ab4e1be7702","b9f07153f8e881c4cca036abccaa134df30cf09a3381772d089d1eeabe45770d","88213e972b5989f217627bdcb79a697f66821e8ff135265712346d532243084f","bf6122555f34582e6d5424a88676d90f2333e0e920764895c15d39b6c856053c","bf04a1c9ccfeabf521b7b97f388d05bc5f628422253399eb157fec0d9cd213ce","3c6ecfcc6ac82b5866368d1efbddeeb3bfae03962747bf6928d8faa092e5b369","06d19317f4c8474255b3ceab7102763faf7ff0aa4cc305384b13ccb6d27b2e50","ebe1694b3a7a0265b9cf8fb3bfed6575907247b61add671ea9771fd6715d1b29","bdf4a7242e5cce621b5ba689351af780b0b665d97ea88c71f50801aa80560236","6bd6ae32288500128ae355de57d6bc3b5884f37e1e5d5ac597b142f63b3c8121","a6634dbc56e3d75efac697e59fef032aa15cc537acf7f6ad3a045001f48483f8","0ac932efed612f58eb5033bd449a5fe7ae1bc61fa0ff960f6ebbc8bd4ceda267","b4a07a5abe3d0a4c05f6722c024f842dc7909d5ab8e9212d98c393c2ea8cb09f",{"version":"c9d003974ada0aa6b4aa6e619fcfc68bb641107255ac1265f75fb2abf5d21fc5","signature":"73b060ae3f66f7598d036695d4e3adedb592839cc260f5f0650ef7771f93a0d6"},{"version":"48fd9ad07b2050480b9756c5be2336bfc1593d29de98e8d8f9a74b34d0db2607","signature":"72f0f1d4f0fa63bd0972d092f16008f3fd798d3aa1355cf8d3f8fa90e5f86035"},{"version":"db3890a8829cb6e3467ab5df9cd2b2215bdb7b859a2c9d82c1e624859f7ca6e7","signature":"7b9b2e7a7c50fa34900379156363bbdfe479f8a13180c78ba45b20648538cd25"},"a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","fa81d09d80cc4288c57f8b0c30892392fc9ea7b1d59c3126472f432cb8f305dc","92098dee0026977e476fdcf2f7d35a57edf0a59448902e76b6429b177e4a0003","c0ab9e9990cdddf3d917bab6812c60d31aa7f358182ba61e9bdde2daed3f7968","9e4646339b6e49806147a857bedbb5d7d930a8101fb4724b4a0e2eb7910ac69d","0c0ad11991c2556f9c0e3074cc2f9bd04bd704f546b40363aec12c3fa5d5e41c",{"version":"cdab0c4ea2dbc56fe362e5ff39e21a450d7aa7ba33ded4a973510cf69b6d85a8","signature":"d0ea35611e3cb7f8807218ea5c23cb24da54ea9d342a98d1fdecada8d4c39893"},"8510f56ab8598d18ec11cb2535112e2aace53e06da7d2d4fbb046e5c6cfb743e","1f85065e4d231eeb843a8485847ca66855a82984db1788ead57db359c6a52128","73e6d5fd05900c8e38c3f340bb48fead3f5d057932f422266239a227a7384145","26c304c279c0faf6ac61854c67373342e002a3d6c7ff0d8fcc7cee94f0ad323a","19e19f843bd6f03937653773c6f359015e8de2f8c4ec7767fb72caec64b98222","d5d6306719dffccd6ecd770265c7833d4e87c374cd894ffba23a64cbb5781c82","7ccd7b1d3c72e8ee639f48aaf190a4d2c9bf4c6650a22501d0fa98b8e3fc2fe1","ac052259a6eec4dc9e73e2309a64fa0fc4f7edba776418355b25e67cf24d3318","e83857dd6e1c80bacacdaee3eaf2bd71d8331880fd4705489e5e1383e0ac78a8","dceb21129b0ae66beddafba41b8765f27bf95669a8f7fbe3e94025e01c9351a8","859ea22746d11ed8386ec8d9b63b998462510705d527b83494f6a2fcaa7a5de4","825b79a00bb5650472780a23f75ee17cffe4d0eae235da96e50d3b8cd9456ea5","5b6ba1af9d52d4a47eb6908d1aebd2fe348d8212205b203d25ae528b46822eff","92ae8af22ba9f4d3728ee0075a23f5a9f2e071bb677e7db01ec2f44cc01ed473","a3f55be7fa724c524698e82466c2a651f352e673f63428d953923de161b1095c","f34def9623f89b02ac2568eeee0cfa655411e56b79f1198143053709d1987110","bc0d6e115f78a602be8f82c6977c3a3b4f84fa144e06706bd768797cd683f2b5","fb4b80d4f7140829a10b48ea77584e191098d20fbe77039e171fce8de1b257ac","871b7a0478e9b76721ca4f596acd219b2ff60f58fbf95198117ce4c1bf8eb52a","38a6564c83f8e5c76f0cbbd823c5ed16c9ea9e55f25629ca4a1384d3447b27f9","2faea076f501719cba9eb56cdf431e5efc09bc81b12a4329a825fedce77c6503","46f0d38a72546ad31308f6730267f835bea40803b9117c42a29ad009706cda9f","3a2cad3fdc52e8407c3c9a044c10a4db897bba4c1e30a96461f2e7b2be9955c0","a8e0ac700a94d9a42add85453d32842101fb1f08c1a296a02eb27105e78917e1","70cb02181c04656d711bca5c332549beae390bed0107bd97c419a3466bb39306","afe412b89ebed32a7eb2e44fe185cb24027d36f8543023e57ca36ead6e59193c","5a0012861a95843c567475a90362f686019af229a8946779ccc44c7efb5b1f44","586c4ef6496185cdbc08391fdc5f49dd80b14cdb2d01ace355b2b150f3fe71eb","148e197eb64a4c80531e4c959012755ce7fbfdbcb8d17721eac0c8a983c3e51c","edb06b0fc903fc619a7f2a3aeb6579e5b787eb624c349da738b574720558a596","d6fdaeb6f1e4e29d7827e30d743dfef5cb6c8bca4bc546001a3b3e751a2de06c","92f92e2b21f14f7ad07b15902ba806b89f37d8a83a7d127f7e638f92f241ddf8","74f4c396d57693d72e769ccc21b83542a78a6f3825ee0fe69cfefd7713f5e6cf","03a3957f7ccf2ceb0940c64e35734ed50c0d090c161924c44e79cfb7c9c437f1","010bb5235c40300fe81fd4af2dc7d48b573ef626e65d529242035274121f4c83","801bcd63fc346570aa633c166bc5869da8cb9ad252e113c4fe46800296f54147","1b23c2aae14c17f361f6fcef69be7a298f47c27724c9a1f891ea52eeea0a9f7f","4dd0179485e44a0d416b258ffc27667454ee4da96a7816ca998909cc42891d09","ff9426068448c2ecd28cef056c51c7eb9dbaeb3c7b8a5ab4843103d9081840eb",{"version":"1347854a31a7b54e7c65d41ecf33c09da692653790a16db985c08fd1f68e6a12","signature":"67d4fc529a736ed13bc0bb896f9fba0a45d4a97a1da9a4ef4279656886a852d2"},"9ccad2264d463d89f9246a6e2b3c5fc2ea4fa93fd1d766661dd3fc06a0ec6128",{"version":"fdd5f0f022d5a24ca8d2d2721efab91ea7e2047d7f07ee8d08693a77d4ca959c","signature":"a90c40035b671f1ab008e3e24004769cf09ad69b5a350a0294dc450f25dd91d3"},"eac47ed99cc76de6507dd9d6a9910023d3fd810227f473050546c1b786bead4b","5cc3a8b25d4670152aff1f05614a58c94829388c033951aebf4be5cfa6c43ea9","6ba2d97e94a13a5c21c3c7105f01fda5491b7ecf638230cebc46ead1204a8559","a3c1977660766af91c7b8efe2106792f0f6375bde60a4f28a438242bd93c558e","ee2beb928f0554aacc404552cb44c86c8afd1aaf8e452e405e37861681c695bd",{"version":"123758d1e3ba2cd346c4b846596deb78e321841cd78c2964c7f41be77adef237","signature":"3d56bf34769c6f0ce3888f4936586fd1cfe19b2cb3f8460579edb4ae5e80468d"},"86ae9ad4466ed3302ebdf35cb380df8d798f998f44c76c8985d8edce586fa0cb",{"version":"16e0aabbac29efdb657febdbd49b78a848d0932882bedc7a50829bd44b0afb5a","signature":"045fd07a1aab58a8f455fa929af79a45eaf85d7db4dfa26035a481201736c284"},{"version":"e41ea5d0f4a28bc4c2b7da0da4b6f529ca4cbf817b4062ae23762db8a18eb105","signature":"08ad86db2b3fd8b6bb131f9133e6ab4f456165492a3ff7c7ef4a15e7a5a017fd"},{"version":"d08278434931478679e5350b565eda7bf2c5fc8167059bf811a4f2839745bd1b","signature":"10d436be92a171150483cb13823ee92b4aff2f993d89727ba2f6e8f70ab1127e"},{"version":"d884fb2c47314e00c982b4da2c50e55e740eef17516122a8850889b12ce0a246","signature":"126a68fe50a9fbba85fefc9c1fea6e92171c98655d5b25a661863a6df1fd1ca4"},{"version":"21f105677d8c332867fc33c0820c6c2ae3bab9359a67394d4029d4a2b2b4879f","signature":"b1478d32f7d34beab99ba1352b10e8c4d009ad07f4c544c7911f400b4a54bbbb"},{"version":"cc2531828dbc58344fac5c2a1823987ec46fb0b0bee3250df71b71c5eec044e7","signature":"83f8beaa0224eece2c50388f7e9bfa551199a60a7a691d62e806100b27e91462"},{"version":"0d960dea09740f620ebf03c7cd8ca8069259406da8aa793578882e6c50049efe","signature":"772949094875b7fff2bc5037a9eb8a50373bc548d09492f7e03893ba7486999c"},{"version":"552db59614829a98cfa6a695cffbc2bb99e0b5bc8b5bfcc22d37c1d2d9408531","signature":"b92974ac691ed7a5292bb8ff36efc378470f0a23f8bb762ef65712e938f55acd"},{"version":"408e0d28a95c78536c1eaf23fdd6451fcca95ac75b41a15f0e0e46a7c6784feb","signature":"79ada1fe36dd967f27d4d10daded1bc295c21be4be9c9de81c3bed05af451440"},{"version":"eb4dbaebbf210d67b4f95d3da54845553127f9a83bfba1f7d5e3683c9b4f45f3","signature":"cadba0a98abadfe3db2a3704205545e5fc327900b35705864778cc2e3ef958a9"},{"version":"2c5e718f6e47b1ebfd6f872397627f275cdfa463595855482ea5bf94442e4a25","signature":"3812d5ce8a81edcce39a04a48803dc1f93a0e824572aefcacacb8b6d8c9c803b"},{"version":"c9603a69d64ea8bea2bf844e60440d6f093e1be04123948ad65043dff762b3f1","signature":"94abc4282911dd9b2c40aecff403657035c7ab90722d49219fcb094b0c79de0f"},{"version":"384df7903e085f52b76cc27af6e06896e4ce867c8e232fca266ac7a8f69d798f","signature":"6c684effd3e05f70c30f7e8f51c80573a84d857608a325eeb85806f6af196dcd"},"c0df6627d0c30dc70d26c2d500506b073ff63584c4621f9261e510ad954ad2bd","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","16bc73d6aa0d950847e7b46da26c86e8cfa9c94a8365e43cb175d3467a1f4b13","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750"],"root":[71,[73,75],78,[208,210],217,257,259,265,[267,279]],"options":{"allowSyntheticDefaultImports":true,"esModuleInterop":true,"jsx":4,"jsxImportSource":"preact","module":99,"skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[125],[125,152,153],[125,153,154,155,156],[125,132,153,155],[125,152,154],[96,125,132],[96,125,132,148],[125,148,149,150,151],[125,148,150],[125,149],[113,125,132,157,158,159,162],[125,158,159,161],[95,125,132,157,158,159,160],[125,159],[125,157,158],[125,132,157],[125,132],[125,281],[64,125],[79,125],[82,125],[83,88,116,125],[84,95,96,103,113,124,125],[84,85,95,103,125],[86,125],[87,88,96,104,125],[88,113,121,125],[89,91,95,103,125],[90,125],[91,92,125],[95,125],[93,95,125],[95,96,97,113,124,125],[95,96,97,110,113,116,125],[125,129],[91,95,98,103,113,124,125],[95,96,98,99,103,113,121,124,125],[98,100,113,121,124,125],[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],[95,101,125],[102,124,125],[91,95,103,113,125],[104,125],[105,125],[82,106,125],[107,123,125,129],[108,125],[109,125],[95,110,111,125],[110,112,125,127],[83,95,113,114,115,116,125],[83,113,115,125],[113,114,125],[116,125],[117,125],[113,125],[95,119,120,125],[119,120,125],[88,103,113,121,125],[122,125],[103,123,125],[83,98,109,124,125],[88,125],[113,125,126],[125,127],[125,128],[83,88,95,97,106,113,124,125,127,129],[113,125,130],[96,98,125,132],[125,285],[125,132,164,165,166],[125,164,165],[125,164],[125,132,163],[125,132,133,135,139,140,143],[125,144],[125,135,139,142],[125,133,135,139,142,143,144,145],[125,132,139],[125,135,139,140,142],[125,132,133,135,140,141,143],[125,167],[72,125,203],[125,172],[64,125,170,171,173,250,261],[125,173,247,249,261],[125,170,173,247,248,250,261],[125,251],[125,173,247,250,261],[125,170,173,247,250,260,261],[72,125,176,201,202,203],[72,125,170,176,203,261],[125,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[72,125,170,203,261],[125,225,226,246],[125,170,225,261],[125,170,261],[125,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[125,225],[64,125,170,247,250,261],[125,212,213,214],[125,171,212],[125,218,219],[125,171],[125,221,222],[125,171,220,223],[125,139],[125,136,137,138],[95,113,125,132],[96,105,125,132,133,134],[61,62,125],[61,125],[62,125],[70,72,125,203,263],[70,125,170,212,215,261],[70,125,170,224,252,261],[70,125,170,261],[70,125,170,174,261],[70,125,170,173,250,261],[125,203,204],[70,72,125,170,202,203,261],[70,125,170,255,261],[70,125,254],[96,125,132,146],[125,206],[69,124,125,132,217,259,267,274],[64,69,125,217,259,267,274],[65,125],[68,125],[64,66,67,69,125,217,259,267,274],[63,125,274,276],[63,74,125],[63,71,125],[63,75,76,78,98,105,125,147,168,169,209,210,275],[63,105,125],[63,76,77,125],[63,73,74,125,208],[63,125,272],[63,73,74,125],[63,125,269,270],[63,69,71,74,125,217,259,267,268,271,273],[63,69,70,72,74,125,203,217,259,266,274],[63,69,70,74,125,211,216,259,267,274],[63,70,74,125,253,256],[63,125,217,257,259,265,267],[63,69,70,74,96,105,125,217,258,267,274],[63,70,71,74,125,262,264],[63,70,71,73,125],[63,68,72,125,203],[63,73,74,75,78,96,105,125,208,274],[63,73,74,78,125],[63,70,72,73,74,78,105,125,174,175,203,205,207,208],[63,125],[72,125],[70,72,125,263],[64,69,125,274],[64,66,67,69,125,274],[74],[62,71],[75],[73,74],[272],[269,270],[69,71,74,217,259,267,268,271,273,274],[69,70,74,217,259,267,274],[70,74],[217,257,259,265,267],[70,71,74],[70,71,73],[68,72,203],[73,75],[70,72,73,74,174,203]],"referencedMap":[[258,1],[154,2],[157,3],[156,4],[155,5],[153,6],[149,7],[152,8],[151,9],[150,10],[148,6],[163,11],[162,12],[161,13],[160,14],[159,15],[158,16],[280,17],[282,18],[72,19],[283,1],[263,1],[170,19],[281,1],[254,19],[79,20],[80,20],[82,21],[83,22],[84,23],[85,24],[86,25],[87,26],[88,27],[89,28],[90,29],[91,30],[92,30],[94,31],[93,32],[95,31],[96,33],[97,34],[81,35],[131,1],[98,36],[99,37],[100,38],[132,39],[101,40],[102,41],[103,42],[104,43],[105,44],[106,45],[107,46],[108,47],[109,48],[110,49],[111,49],[112,50],[113,51],[115,52],[114,53],[116,54],[117,55],[118,56],[119,57],[120,58],[121,59],[122,60],[123,61],[124,62],[125,63],[126,64],[127,65],[128,66],[129,67],[130,68],[77,1],[284,1],[169,69],[64,1],[285,1],[286,70],[76,1],[167,71],[166,72],[165,73],[164,74],[144,75],[145,76],[143,77],[146,78],[140,79],[141,80],[142,81],[168,82],[211,1],[266,83],[134,1],[248,1],[173,84],[172,85],[250,86],[249,87],[252,88],[251,89],[261,90],[260,89],[203,91],[177,92],[178,92],[179,92],[180,92],[181,92],[182,92],[183,92],[184,92],[185,92],[186,92],[187,92],[201,93],[188,92],[189,92],[190,92],[191,92],[192,92],[193,92],[194,92],[195,92],[197,92],[198,92],[196,92],[199,92],[200,92],[202,92],[176,94],[247,95],[227,96],[228,96],[229,96],[230,96],[231,96],[232,96],[233,97],[235,96],[234,96],[246,98],[236,96],[238,96],[237,96],[240,96],[239,96],[241,96],[242,96],[243,96],[244,96],[245,96],[226,99],[225,100],[215,101],[214,102],[213,102],[212,1],[220,103],[219,104],[218,104],[223,105],[221,104],[222,104],[224,106],[171,1],[136,107],[137,107],[139,108],[138,107],[133,109],[135,110],[63,111],[62,112],[61,113],[264,114],[216,115],[253,116],[262,117],[175,118],[174,119],[205,120],[204,121],[256,122],[255,123],[147,124],[207,125],[206,126],[59,1],[60,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[10,1],[1,1],[11,1],[58,1],[70,127],[66,128],[65,19],[69,129],[68,130],[67,1],[279,1],[277,131],[75,132],[278,133],[276,134],[208,135],[78,136],[272,137],[273,138],[269,139],[270,139],[271,140],[274,141],[267,142],[217,143],[257,144],[268,145],[259,146],[265,147],[74,148],[73,149],[275,150],[210,151],[209,152],[71,153]],"exportedModulesMap":[[258,1],[154,2],[157,3],[156,4],[155,5],[153,6],[149,7],[152,8],[151,9],[150,10],[148,6],[163,11],[162,12],[161,13],[160,14],[159,15],[158,16],[280,17],[282,18],[72,19],[283,1],[263,1],[170,19],[281,1],[254,19],[79,20],[80,20],[82,21],[83,22],[84,23],[85,24],[86,25],[87,26],[88,27],[89,28],[90,29],[91,30],[92,30],[94,31],[93,32],[95,31],[96,33],[97,34],[81,35],[131,1],[98,36],[99,37],[100,38],[132,39],[101,40],[102,41],[103,42],[104,43],[105,44],[106,45],[107,46],[108,47],[109,48],[110,49],[111,49],[112,50],[113,51],[115,52],[114,53],[116,54],[117,55],[118,56],[119,57],[120,58],[121,59],[122,60],[123,61],[124,62],[125,63],[126,64],[127,65],[128,66],[129,67],[130,68],[77,1],[284,1],[169,69],[64,1],[285,1],[286,70],[76,1],[167,71],[166,72],[165,73],[164,74],[144,75],[145,76],[143,77],[146,78],[140,79],[141,80],[142,81],[168,82],[211,1],[266,154],[134,1],[248,1],[173,84],[172,85],[250,86],[249,87],[252,88],[251,89],[261,90],[260,89],[203,91],[177,92],[178,92],[179,92],[180,92],[181,92],[182,92],[183,92],[184,92],[185,92],[186,92],[187,92],[201,93],[188,92],[189,92],[190,92],[191,92],[192,92],[193,92],[194,92],[195,92],[197,92],[198,92],[196,92],[199,92],[200,92],[202,92],[176,94],[247,95],[227,96],[228,96],[229,96],[230,96],[231,96],[232,96],[233,97],[235,96],[234,96],[246,98],[236,96],[238,96],[237,96],[240,96],[239,96],[241,96],[242,96],[243,96],[244,96],[245,96],[226,99],[225,100],[215,101],[214,102],[213,102],[212,1],[220,103],[219,104],[218,104],[223,105],[221,104],[222,104],[224,106],[171,1],[136,107],[137,107],[139,108],[138,107],[133,109],[135,110],[63,111],[62,112],[61,113],[264,155],[216,115],[253,116],[262,117],[175,118],[174,119],[205,120],[204,121],[256,122],[255,123],[147,124],[207,125],[206,126],[59,1],[60,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[10,1],[1,1],[11,1],[58,1],[70,156],[66,128],[65,19],[69,129],[68,157],[67,1],[75,158],[278,159],[276,160],[272,161],[273,162],[269,161],[270,161],[271,163],[274,164],[267,165],[217,165],[257,166],[268,167],[259,165],[265,168],[74,169],[73,170],[275,171],[210,161],[209,172]],"semanticDiagnosticsPerFile":[258,154,157,156,155,153,149,152,151,150,148,163,162,161,160,159,158,280,282,72,283,263,170,281,254,79,80,82,83,84,85,86,87,88,89,90,91,92,94,93,95,96,97,81,131,98,99,100,132,101,102,103,104,105,106,107,108,109,110,111,112,113,115,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,77,284,169,64,285,286,76,167,166,165,164,144,145,143,146,140,141,142,168,211,266,134,248,173,172,250,249,252,251,261,260,203,177,178,179,180,181,182,183,184,185,186,187,201,188,189,190,191,192,193,194,195,197,198,196,199,200,202,176,247,227,228,229,230,231,232,233,235,234,246,236,238,237,240,239,241,242,243,244,245,226,225,215,214,213,212,220,219,218,223,221,222,224,171,136,137,139,138,133,135,63,62,61,264,216,253,262,175,174,205,204,256,255,147,207,206,59,60,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,10,1,11,58,70,66,65,69,68,67,279,277,75,278,276,208,78,272,273,269,270,271,274,267,217,257,268,259,265,74,73,275,210,209,71],"affectedFilesPendingEmit":[279,277,75,278,276,208,78,272,273,269,270,271,274,267,217,257,268,259,265,74,73,275,210,209,71]},"version":"5.0.4"} \ No newline at end of file +{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./globals.d.ts","./index.d.ts","./node_modules/preact/src/jsx.d.ts","./node_modules/preact/src/index.d.ts","./node_modules/preact/jsx-runtime/src/index.d.ts","./node_modules/@types/unist/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/minurl.shared.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/index.d.ts","./quartz/resources.tsx","./node_modules/@types/hast/index.d.ts","./quartz/plugins/vfile.ts","./quartz/components/types.ts","./quartz/plugins/types.ts","./quartz/theme.ts","./quartz/cfg.ts","./quartz/components/articletitle.tsx","./node_modules/property-information/lib/util/info.d.ts","./node_modules/property-information/lib/util/schema.d.ts","./node_modules/property-information/lib/find.d.ts","./node_modules/property-information/lib/hast-to-react.d.ts","./node_modules/property-information/lib/normalize.d.ts","./node_modules/property-information/index.d.ts","./node_modules/hast-util-to-jsx-runtime/lib/components.d.ts","./node_modules/hast-util-to-jsx-runtime/lib/index.d.ts","./node_modules/hast-util-to-jsx-runtime/index.d.ts","./node_modules/@floating-ui/core/src/computeposition.d.ts","./node_modules/@floating-ui/core/src/detectoverflow.d.ts","./node_modules/@floating-ui/core/src/middleware/arrow.d.ts","./node_modules/@floating-ui/core/src/middleware/autoplacement.d.ts","./node_modules/@floating-ui/core/src/middleware/flip.d.ts","./node_modules/@floating-ui/core/src/middleware/hide.d.ts","./node_modules/@floating-ui/core/src/middleware/inline.d.ts","./node_modules/@floating-ui/core/src/middleware/offset.d.ts","./node_modules/@floating-ui/core/src/middleware/shift.d.ts","./node_modules/@floating-ui/core/src/middleware/size.d.ts","./node_modules/@floating-ui/core/src/utils/recttoclientrect.d.ts","./node_modules/@floating-ui/core/src/types.d.ts","./node_modules/@floating-ui/core/index.d.ts","./node_modules/@floating-ui/dom/src/autoupdate.d.ts","./node_modules/@floating-ui/dom/src/platform.d.ts","./node_modules/@floating-ui/dom/src/utils/getoverflowancestors.d.ts","./node_modules/@floating-ui/dom/src/index.d.ts","./node_modules/@floating-ui/dom/src/types.d.ts","./node_modules/@floating-ui/dom/index.d.ts","./quartz/components/scripts/popover.inline.ts","./quartz/components/content.tsx","./quartz/components/scripts/darkmode.inline.ts","./quartz/components/darkmode.tsx","./node_modules/github-slugger/index.d.ts","./quartz/path.ts","./quartz/components/head.tsx","./quartz/components/pagetitle.tsx","./node_modules/reading-time/index.d.ts","./quartz/components/readingtime.tsx","./quartz/components/spacer.tsx","./quartz/components/scripts/toc.inline.ts","./quartz/components/tableofcontents.tsx","./quartz/components/taglist.tsx","./node_modules/unist-util-is/lib/index.d.ts","./node_modules/unist-util-is/index.d.ts","./node_modules/unist-util-visit-parents/lib/complex-types.d.ts","./node_modules/unist-util-visit-parents/lib/index.d.ts","./node_modules/unist-util-visit-parents/index.d.ts","./node_modules/unist-util-visit-parents/complex-types.d.ts","./node_modules/unist-util-visit/lib/index.d.ts","./node_modules/unist-util-visit/index.d.ts","./quartz/plugins/emitters/contentindex.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-selection/index.d.ts","./node_modules/@types/d3-axis/index.d.ts","./node_modules/@types/d3-brush/index.d.ts","./node_modules/@types/d3-chord/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/geojson/index.d.ts","./node_modules/@types/d3-contour/index.d.ts","./node_modules/@types/d3-delaunay/index.d.ts","./node_modules/@types/d3-dispatch/index.d.ts","./node_modules/@types/d3-drag/index.d.ts","./node_modules/@types/d3-dsv/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-fetch/index.d.ts","./node_modules/@types/d3-force/index.d.ts","./node_modules/@types/d3-format/index.d.ts","./node_modules/@types/d3-geo/index.d.ts","./node_modules/@types/d3-hierarchy/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-polygon/index.d.ts","./node_modules/@types/d3-quadtree/index.d.ts","./node_modules/@types/d3-random/index.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/@types/d3-scale-chromatic/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/@types/d3-time-format/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/d3-transition/index.d.ts","./node_modules/@types/d3-zoom/index.d.ts","./node_modules/@types/d3/index.d.ts","./quartz/components/scripts/graph.inline.ts","./quartz/components/graph.tsx","./quartz/components/index.ts","./node_modules/micromorph/index.d.ts","./quartz/components/scripts/spa.inline.ts","./node_modules/gray-matter/gray-matter.d.ts","./node_modules/micromark-extension-frontmatter/matters.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/micromark-extension-frontmatter/lib/syntax.d.ts","./node_modules/micromark-extension-frontmatter/lib/html.d.ts","./node_modules/micromark-extension-frontmatter/index.d.ts","./node_modules/remark-frontmatter/index.d.ts","./quartz/plugins/transformers/frontmatter.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/index.d.ts","./node_modules/@types/nlcst/index.d.ts","./node_modules/retext-smartypants/index.d.ts","./node_modules/remark-smartypants/index.d.ts","./node_modules/rehype-slug/index.d.ts","./node_modules/hast-util-is-element/index.d.ts","./node_modules/rehype-autolink-headings/lib/index.d.ts","./node_modules/rehype-autolink-headings/index.d.ts","./quartz/plugins/transformers/gfm.ts","./node_modules/@napi-rs/simple-git/index.d.ts","./quartz/plugins/transformers/lastmod.ts","./node_modules/mdast-util-math/lib/index.d.ts","./node_modules/mdast-util-math/index.d.ts","./node_modules/remark-math/index.d.ts","./node_modules/@types/katex/index.d.ts","./node_modules/rehype-katex/index.d.ts","./quartz/plugins/transformers/latex.ts","./node_modules/hast-util-to-string/index.d.ts","./quartz/plugins/transformers/description.ts","./node_modules/is-absolute-url/index.d.ts","./quartz/plugins/transformers/links.ts","./node_modules/mdast-util-find-and-replace/lib/index.d.ts","./node_modules/mdast-util-find-and-replace/index.d.ts","./node_modules/parse5/dist/common/html.d.ts","./node_modules/parse5/dist/common/token.d.ts","./node_modules/parse5/dist/common/error-codes.d.ts","./node_modules/parse5/dist/tokenizer/preprocessor.d.ts","./node_modules/parse5/dist/tokenizer/index.d.ts","./node_modules/parse5/dist/tree-adapters/interface.d.ts","./node_modules/parse5/dist/parser/open-element-stack.d.ts","./node_modules/parse5/dist/parser/formatting-element-list.d.ts","./node_modules/parse5/dist/parser/index.d.ts","./node_modules/parse5/dist/tree-adapters/default.d.ts","./node_modules/parse5/dist/serializer/index.d.ts","./node_modules/parse5/dist/common/foreign-content.d.ts","./node_modules/parse5/dist/index.d.ts","./node_modules/hast-util-raw/complex-types.d.ts","./node_modules/hast-util-raw/lib/index.d.ts","./node_modules/hast-util-raw/index.d.ts","./node_modules/rehype-raw/index.d.ts","./quartz/components/scripts/callout.inline.ts","./quartz/plugins/transformers/ofm.ts","./node_modules/vscode-textmate/release/utils.d.ts","./node_modules/vscode-textmate/release/oniglib.d.ts","./node_modules/vscode-textmate/release/rule.d.ts","./node_modules/vscode-textmate/release/rawgrammar.d.ts","./node_modules/vscode-textmate/release/theme.d.ts","./node_modules/vscode-textmate/release/encodedtokenattributes.d.ts","./node_modules/vscode-textmate/release/main.d.ts","./node_modules/shiki/dist/index.d.ts","./node_modules/rehype-pretty-code/index.d.ts","./quartz/plugins/transformers/syntax.ts","./node_modules/mdast-util-to-string/lib/index.d.ts","./node_modules/mdast-util-to-string/index.d.ts","./quartz/plugins/transformers/toc.ts","./quartz/plugins/transformers/index.ts","./quartz/plugins/filters/draft.ts","./quartz/plugins/filters/explicit.ts","./quartz/plugins/filters/index.ts","./node_modules/preact-render-to-string/src/index.d.ts","./quartz/components/header.tsx","./quartz/components/scripts/clipboard.inline.ts","./quartz/components/body.tsx","./quartz/plugins/emitters/contentpage.tsx","./quartz/plugins/emitters/aliases.ts","./quartz/plugins/emitters/cname.ts","./quartz/plugins/emitters/index.ts","./quartz/plugins/index.ts","./quartz.config.ts","./node_modules/chalk/index.d.ts","./node_modules/@types/pretty-time/index.d.ts","./quartz/perf.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/minipass/index.d.ts","./node_modules/lru-cache/dist/cjs/index.d.ts","./node_modules/path-scurry/dist/cjs/index.d.ts","./node_modules/minimatch/dist/cjs/ast.d.ts","./node_modules/minimatch/dist/cjs/escape.d.ts","./node_modules/minimatch/dist/cjs/unescape.d.ts","./node_modules/minimatch/dist/cjs/index.d.ts","./node_modules/glob/dist/mjs/pattern.d.ts","./node_modules/glob/dist/mjs/processor.d.ts","./node_modules/glob/dist/mjs/walker.d.ts","./node_modules/glob/dist/mjs/ignore.d.ts","./node_modules/glob/dist/mjs/glob.d.ts","./node_modules/glob/dist/mjs/has-magic.d.ts","./node_modules/glob/dist/mjs/index.d.ts","./node_modules/rimraf/dist/mjs/index.d.ts","./node_modules/@nodelib/fs.stat/out/types/index.d.ts","./node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","./node_modules/@nodelib/fs.stat/out/settings.d.ts","./node_modules/@nodelib/fs.stat/out/providers/async.d.ts","./node_modules/@nodelib/fs.stat/out/index.d.ts","./node_modules/@nodelib/fs.scandir/out/types/index.d.ts","./node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","./node_modules/@nodelib/fs.scandir/out/settings.d.ts","./node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","./node_modules/@nodelib/fs.scandir/out/index.d.ts","./node_modules/@nodelib/fs.walk/out/types/index.d.ts","./node_modules/@nodelib/fs.walk/out/settings.d.ts","./node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","./node_modules/@nodelib/fs.walk/out/readers/async.d.ts","./node_modules/@nodelib/fs.walk/out/providers/async.d.ts","./node_modules/@nodelib/fs.walk/out/index.d.ts","./node_modules/fast-glob/out/types/index.d.ts","./node_modules/fast-glob/out/settings.d.ts","./node_modules/fast-glob/out/managers/tasks.d.ts","./node_modules/fast-glob/out/index.d.ts","./node_modules/globby/index.d.ts","./node_modules/@types/serve-handler/index.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/remark-parse/lib/index.d.ts","./node_modules/remark-parse/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/to-vfile/lib/index.d.ts","./node_modules/to-vfile/index.d.ts","./node_modules/@types/workerpool/index.d.ts","./node_modules/@types/cli-spinner/index.d.ts","./quartz/log.ts","./quartz/processors/parse.ts","./quartz/processors/filter.ts","./quartz/processors/emit.ts","./quartz/build.ts","./quartz/worker.ts","./package.json","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/parse5/lib/tree-adapters/default.d.ts","./node_modules/@types/parse5/index.d.ts","./node_modules/@types/yargs-parser/index.d.ts","./node_modules/@types/yargs/index.d.ts","./quartz/resources.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"134d17146352bc4d1b3411101dde431269cf9a97f2392b98ebe4d47c788044a8","affectsGlobalScope":true},{"version":"fb374a56248d8a0717687924469f8a022a4e95a2d3502f5ac79fdaf01f15edf6","affectsGlobalScope":true},"cf0779719c437592be3ed4cb0f76760a13aa6c6408e53ea6ab186a92d8b65002","2f6891be00549893b5ce20ba53f1940f56822053d1a71b8a455ee699478a7468","670683503e4e107e88dfec53d4360106fefb23ae2cb01575ba338849647b15f2","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","e0c7d85789b8811c90a8d21e25021349e8a756a256ae42d9e816ecd392f00f71","bb8aba28c9589792407d6ae0c1a6568f3ddc40be20da25bc1939e2c9d76436bb","8fa1868ab5af3818ff4746f383ea84206596e284f7dc5ffd40a0fac08ed093f9","8d4537ea6fcdde620af5bfb4e19f88db40d44073f76f567283aa043b81ef8a3e","0bb848976eff244e33741d63372cbfb4d15153a92c171d0a374a3c0ef327a175","af79b166f5d41ec2ebae57e9b67df564452b90ae3f0af4cb3c2d8ad5adbfd2db",{"version":"2d3bc86618092afa61f4e7bb368f264a019ba49b0737b827dec308b873b89302","signature":"04a2bd7c5b8d109b6462a67bd109aa9c76bd7304bfdf2698082fb8254f526b03"},"3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0",{"version":"95e60d420050b849dfa2f318b8276eca66ab524421df318c0b5f6386d6b146f3","signature":"57aef9f13921c86297e800d319ca15316164d8da2a19198ded077159befbcfc1"},{"version":"5523b803931e9325d07a02a44bee3f8c6a783d4a0e65aee63f8a4cf2798ef807","signature":"0b8d31568bef472ff499541f47ec99d008bfb734f233245f75e1e4963dfbef27"},{"version":"15203c0e2ef4cba5d48195d9056e2975ca2da0297614796d1575d7a7695a690c","signature":"4110d2938564a85b1721e5f057c4828346e86b8b080e9d17ef4b04cd74863888"},{"version":"f35192ce1312b6474d7fc04a8f43628bf227ef1038ded1848ed170c1c7de191a","signature":"c251b24e72e6ad5e74ee3776237270af0f720fc76e3f043139db67108803a396"},{"version":"000ef5e70b97dc076c4b8bec38d44416dc69ef97bab91faff44e91c9e471b590","signature":"a5bef85933f47647e6e5c2b66bcdfffd12893b51fd8b1eed92c5c1731bf6fa48"},{"version":"4c98ee952a93149e93eaeacb9e931f2c2b1770286e90ee1ac0808e42db4581f7","signature":"db268b93914f3bdbedf2e95c7bd400873cd25036dc62df98a38b2ad36726640f"},"7bd32cd2e05737c6a5041ca7a31ceca0c14ce065661c5d1ae5f7bfa35ff3fc5e","bdbb3f4e3f608f6034a78af17466f05ee85b1f1414f5e6f25f591c73a2f9b015","74e27c864416d1ad8947d13cef35e7c9afe0608255eb455096026e988c962295","46ab5ea5cdbc0ce75ade44ec0d9aa164f81e42b061d8e573b832a73ed181da57","d752d4dde165ab9bd56ddd111f59a6bf46eebbc6d4ba4e433f2ea21d1d0599e6","6527f50c0513ce908927055546f39578b9aaed6f1a69dec209b9101fd2d41017","222a249948ca193e1d11201057fe385cd69318c52314cf0a39d88d82739b7b20","4da5022999387d1d65bb058196da994891b4c46ec908c6571503dcf434766895","90c6c9dd17a3ca7c4aecf3990bc338f3a4575b70c38cac4e30d5e430f204deed","8dc56f817d20cf0717842ac1dcf3ac1a450ac3c667f1285754901e4af97bbe47","72156b7624d678a2686a22a45014218be4da7147f1058a5a5072fe981c492dd5","a20d054b8be41316bcc29752c5b9b42fab727b887a076a3af3bee18813d6e8c2","2eba4ddfbd6837ef33e58644f7dffbfe465d7222f9a9101789f02427f9541488","bb82c16e8371bfc6ee2ffd0095fd321d6acfa57c6c6445019567fec1b6b5e92a","6c65126b657a275259c4759b2b2f7b04879e61bc6c51df025b3748f87652a9eb","a5ad75d3dd3d3df0f62cb7a8ea12e76e0b4a3143ecde9e29c9cc0586b88365c0","03cd482c80ad0b724ca7d55cef7e3823d593b7cced98d7ef9d1bf757c5055b77","e93f395b0d6e68525181a6ecb3e7b81b1c5bf551f32f6cebbdffdef354fbe4a3","b881b069efb9d55b4b4b98de76d8c3920a29254e24f8f0c38557186e38cf6955","115825b28cb924401622fcab8676c3bab7ceebd9062a14229efe9c02bb8db8fb","2fa33b23888562c8111e9e10238eb26499c26616499446ac975263e41e0dc4af","b42d535c794251030828022716b5c1d526014d71a1b868679ecbe6599bb3fea1","2cc54857ac3d2aa83d258db5c8aba9587c31dcb9f903f22603343f90326e6c2b","b0ed00813c153e350a56faa8c15668bf21375928e9b88bcc482d20f1f8415179","d0608ff924f53fee147c937c04efaa1e9010d44134d6f376b2fd5939dcc32a8d","3c8a75014278db57b6fe929a8877d60abee9ca84b8cdcc6df4f7da21cf06854c","b1b8f88d8704effc053062568916a6bd7b7bc6b24b411a53de383e888bf36144","b42d535c794251030828022716b5c1d526014d71a1b868679ecbe6599bb3fea1",{"version":"6d4d79e6fe3077cc4fc4ad862875a87588ae467a7bc6d4d9f29e916e40591fb9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"70a889eec4a6374693c16f00ec480f4617db1cc3edda7f9ad87f567179ab8531","signature":"bea96cc48fa3a5e30ad7bae5c028b12ed4694dff17693836aaa46cc834b93feb"},{"version":"dd82dc1c4a11e0ab673cefe915a85ac6d201cf1c421c5f494138ae1bbab5072e","signature":"187bfe3be0e92d1af047d56ca3998ba9201c7ddda83f40bfe621f1093e75c6ed","affectsGlobalScope":true},{"version":"bb1379f0079b639f1ad87048e58769ee67f36ec29b51a45906fb70cd8f9de1c8","signature":"c9cc7d2475deade9d2957ddd34981c4ef0dbbb81cce769f55fa1f2670b1d8546"},"1ac0f0d4aa1197aded0e7a41a08d2e687e7db61c967a2fad216b736f18a740fa",{"version":"96ef1319e8e0f99fb812f7d505f91f568180a38d5438fb06a63477bea67b1f19","signature":"6ed8e7d3ef29b6d31bc9f56114f31f14115af0264321f34febb81cc553c310a1"},{"version":"76d86d9ba18881bce6596a4bdd009e59eb79faf873b61fa6191b5afc4b36e802","signature":"0ef5cc92999e91463d45458fa2d10b8321f83156aa48ebbc2ceabdaa37c504b2"},{"version":"c01866bcba18405a4e5fb8eda84090036ccf5af4e238912599476c6e75a38cd9","signature":"815fb6c44493113a38acc078d39f41ff9fbe81f1bcb01f21850bda5e3494f2e3"},"3d1600dc772549c3eacc2b8b0b26f2fd51f269cb863504b3edc3bd7dbbb1e4d2",{"version":"14136398ab419c919cac6d63a03647abbebc135598b1369ff01c3718d3f5929e","signature":"e3108ecd5a11b42d161aa318d1491db01e9ac3be64de77092e251478a1822477"},{"version":"7fc0c8d4b89c20289c7da73c9418e83fad9e871a2dc548c6dd198d6c2ac1eb35","signature":"11bddfda5d6b7315da285fec3ecdf4ecb4c62ccaed9115a68a20bbabbc36e233"},{"version":"1bb74e8ef96bba804760216526e3ec5e547e4e1ebe9ae31274c49c96d98ffd28","signature":"d066a30d75e96d038b6d9ab0c8ef58a1b7fb1f7de8f017e3def7186fe89605ef","affectsGlobalScope":true},{"version":"3ba0b5c532c90cb781546a44d0f005f72cf6ae51a417a50d23b8506be6dd6e8c","signature":"c58bb444d526af6c9a29499052cc6c9282d679ee0c3b6490beebc3d8c6e829ac"},{"version":"1c83e89fcc8d598f66b213f96e24f0ec1d5a831969f74b670e5b992c3585262c","signature":"6f11b7d2d2015e4fb61d1ddd1c35435b44540935174b5009448b86ac9f337a12"},"63c010c8e3e0c33bfe2c4fffca858f9a7a28ee84c090652ae9f8501a6037afe5","c8abd849f7fdb1e4787b53520896cf142f2e19821f9af86615a6af4436074eef","cab76feb8bdafd8f888d060a7a014f5a407c7599e0b0d1f85e4e36694248a1f8","41a2c5474756ee1b12e5502bcaadddd6daa9b79e5fbed24b5c9e7d4352383170","cee0181994c0afe05ffc4bfc05ffdf4eba3275cef012c562b23572056e8b3466","0801dffb28c9a67ab387b8bd47392c05bbe3678d56b95a9127015e116437435f","d4de3f9c6acd93a96b7551506870ae1b84a60d07ba075d2d99296f9e27b96d35","083609ca47c047c6802bd40e974346a9509ef28367bb07769dbcead77cc7359f",{"version":"51b58989837383b23357099388c980d83cc9f0023e1956c88f107b7900ae3c23","signature":"b6417d818449c2166b234af40f4312437d9031de84d502096acd6b14d3b07b00"},"4fa5c6721346cafc445797831da394916f173d79a8343ac8bbf183d06042e869","a8c897d63ae6e779bbc4f4753a386389dfc3a45ceec6b6672f55b072d822d302","8fddb452bfcb60c598245e997aa9c9dce14b85a4c2e02489a50d97ab49e9b622","25d505ffc43befd205d780441b0a16e752ec1028f383a55cadd41841d1c7f153","39cb5be3f5302e759253b89f11bd3e885930b5649b840f4d5a81a763a5dd6c40","8a460dcdabe873ab0a85e421a7f339ad74445f60917bf67deed7d15d836b0247","a3b6c93a9838b8c94c6998e85646d6f2d07c20ecfe1e235dba62158b29451391","8f2d349c69976569d4c32e0e4e66598c9688159cac28cde38bbe0039dd1cadfa","6adc0305186bd1f72ca64adbd054b8e5e71f93b1d0623e90ebabf153541c06c0","c85a93f216df4ebb6dfea7ad46c8d6161a0f1948a20967ba0c85f0fff3f9edcd","0df330f74158aee4ce076b0bb15eb53fab95f615d26ccbd6ec6f5c4273110047","7b2ff705f3c3358807afce85ef146b7f7cdc882a79442630b034ec24d6a3906e","344ac2d6764eaa6b23b2e8e736c9bf0ae06a53479c6a1371d3d89ac964022692","e5907221fa3198e26f294ad77bf8f2996990b40484fe6781b65e099b1fe57933","ada362e162ad90df10c921c845546d911a6ad648a641a6945bf08c3ef1a09a17","f156602a8527c97f898fc96a33b7e025eed27870c2a63842c0c9ed506d7203ea","a8c34714c5da0bb0d2f74d31a44c9fb8b3b87efe6d8a0891182f9f6077723e69","4b51be04eb5bd9b929448380b3ced483ef1f6c3bbfaf7d3425bdbfa3b8eab11f","c24944ff5879b91478b153cf16802b9c6a10cfa3b7d85855813a08431ec2d36a","f1ba7a42f644ba5a281dd41b4bfc813d1f4a59e9c99227315cf778284d1e0b22","7adc301a699032ffd6d57e9ce97b2507e2ad652771cda558cb7ebb49a06e7696","f6319ead2de997fe24e6acc3594942d6819a4570f40e42cb979f5b078f3da1ca","4d3ae1585844151755e9d76cc41d82a6770b150559cb318c5366c869d487e01f","589cbf58df97db61280be456952054f5d54070e87a2c371303844a4bb288d8fa","c4e910182d6de2fcb3922631733faafdecd593370248adc1013be93352a8cc78","6bbf574c575a0491388f32aaa69c648140f24637b1d98ea6f3c97074c339f9e9",{"version":"07104ffff8802481908f08b4a220e399cc692d5edcfaaa7e6632156fc267be35","affectsGlobalScope":true},"3e135eeb6a6be4b07c1d2a170c105dde5f8b5c705f9be4e0f01166259724f125","f6c30cfb96957bb21586996d7c5d5861c236417f31b5f790055624c7df07e944","be04184c354d4b7207e68298ea4e0539cd3e55889778f3bad120c71593ad408e","37cf86c0651242b9b8c1b0bf89228a7be8ae40db6f3aac0b9e1de75bc7ddd5cb","32e5beeefac1493f9dbf2498eb4de6b5ef69a411eb1b9321cdf25a6f37086361",{"version":"4adc884c9c79f4579531b7dd8cb4722c2d681a925086fdab737b0208edbd15d9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"beb8d52b05d0a1ee1152b20f6e235f844ff8a1f0c0401cddfdc39df9ca9c0733","signature":"f6344f5621a8b19e44be2133a91e0389cd4afb9d51c37f19419e1bd83f762039"},{"version":"4aabf44e506e7f07eed0c6d2ea234d7ffaf79dfc33dd7fa59eb930776013044e","signature":"1492d37d739294681d12cfcafce4317a8dcd9caf581a1ed493a88b8fe660f62e"},"9a1753ba092cbb7fa7c09355643656ce62f3e65fc204d273f4764a234194d541",{"version":"1df2f76c8a0126985bc29de1c197482a4373925547ef9a36021d012540dc5501","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","fa81d09d80cc4288c57f8b0c30892392fc9ea7b1d59c3126472f432cb8f305dc","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","4cef6b76f45c58ff3044e1851afecd32be09fa6def7a626115b555b063e3e9ef","4fedbda3802091cd7dc7ca57059790ec6456a67a1f62638d0734d13e5b558d34","fea1f289a0585cdb13cd296e7fae0faaaa5dbf94d94687fe9d4f55dba6f4e138","9e4646339b6e49806147a857bedbb5d7d930a8101fb4724b4a0e2eb7910ac69d","0c0ad11991c2556f9c0e3074cc2f9bd04bd704f546b40363aec12c3fa5d5e41c",{"version":"b524e329069896deedee95027b9666f8554bad8cc71f8b7b9e7ca69ca4fc0e1b","signature":"77336f441a096bdb2ca4a8321afa5c0db164a4a81b9b85c07823b06a9214f847"},"8510f56ab8598d18ec11cb2535112e2aace53e06da7d2d4fbb046e5c6cfb743e","1f85065e4d231eeb843a8485847ca66855a82984db1788ead57db359c6a52128","f10c018418c8621e4ab10596aed7202c49c36df8fda7f3c8a6ceba18724f4f85","26c304c279c0faf6ac61854c67373342e002a3d6c7ff0d8fcc7cee94f0ad323a","cc4ad1e0de78e65fbf1603669017fb939355e7bb4d38e48e78af619a390e4e23","f7598141e8c7143330f1cbfecb221b6f2beb95dc853ad6c20842891442944d0b","7ccd7b1d3c72e8ee639f48aaf190a4d2c9bf4c6650a22501d0fa98b8e3fc2fe1","31c74be259150eec1e3f8f4113f99cd10d5f1a278a5a7ef6fa29478d71766618","171a8d5b10a71ab01c4f43c110565a6a81d975eef7c46be20fc8162e21b2f188","ac052259a6eec4dc9e73e2309a64fa0fc4f7edba776418355b25e67cf24d3318","e83857dd6e1c80bacacdaee3eaf2bd71d8331880fd4705489e5e1383e0ac78a8","dceb21129b0ae66beddafba41b8765f27bf95669a8f7fbe3e94025e01c9351a8","859ea22746d11ed8386ec8d9b63b998462510705d527b83494f6a2fcaa7a5de4","825b79a00bb5650472780a23f75ee17cffe4d0eae235da96e50d3b8cd9456ea5","5b6ba1af9d52d4a47eb6908d1aebd2fe348d8212205b203d25ae528b46822eff","92ae8af22ba9f4d3728ee0075a23f5a9f2e071bb677e7db01ec2f44cc01ed473","a3f55be7fa724c524698e82466c2a651f352e673f63428d953923de161b1095c","f34def9623f89b02ac2568eeee0cfa655411e56b79f1198143053709d1987110","bc0d6e115f78a602be8f82c6977c3a3b4f84fa144e06706bd768797cd683f2b5","fb4b80d4f7140829a10b48ea77584e191098d20fbe77039e171fce8de1b257ac","871b7a0478e9b76721ca4f596acd219b2ff60f58fbf95198117ce4c1bf8eb52a","38a6564c83f8e5c76f0cbbd823c5ed16c9ea9e55f25629ca4a1384d3447b27f9","2faea076f501719cba9eb56cdf431e5efc09bc81b12a4329a825fedce77c6503","46f0d38a72546ad31308f6730267f835bea40803b9117c42a29ad009706cda9f","3a2cad3fdc52e8407c3c9a044c10a4db897bba4c1e30a96461f2e7b2be9955c0","a8e0ac700a94d9a42add85453d32842101fb1f08c1a296a02eb27105e78917e1","70cb02181c04656d711bca5c332549beae390bed0107bd97c419a3466bb39306","afe412b89ebed32a7eb2e44fe185cb24027d36f8543023e57ca36ead6e59193c","5a0012861a95843c567475a90362f686019af229a8946779ccc44c7efb5b1f44","586c4ef6496185cdbc08391fdc5f49dd80b14cdb2d01ace355b2b150f3fe71eb","148e197eb64a4c80531e4c959012755ce7fbfdbcb8d17721eac0c8a983c3e51c","edb06b0fc903fc619a7f2a3aeb6579e5b787eb624c349da738b574720558a596","d6fdaeb6f1e4e29d7827e30d743dfef5cb6c8bca4bc546001a3b3e751a2de06c","92f92e2b21f14f7ad07b15902ba806b89f37d8a83a7d127f7e638f92f241ddf8","74f4c396d57693d72e769ccc21b83542a78a6f3825ee0fe69cfefd7713f5e6cf","03a3957f7ccf2ceb0940c64e35734ed50c0d090c161924c44e79cfb7c9c437f1","010bb5235c40300fe81fd4af2dc7d48b573ef626e65d529242035274121f4c83","801bcd63fc346570aa633c166bc5869da8cb9ad252e113c4fe46800296f54147","1b23c2aae14c17f361f6fcef69be7a298f47c27724c9a1f891ea52eeea0a9f7f","4dd0179485e44a0d416b258ffc27667454ee4da96a7816ca998909cc42891d09","ff9426068448c2ecd28cef056c51c7eb9dbaeb3c7b8a5ab4843103d9081840eb","0a8e2910c8837f59fc6866cf9b81d4bb8c2d5449a242b7c0f8a41f07e88a07d8","9691ea7fbb97b0f4b0b8ce69d07b3f928800882e3b806bcd0b3bba12d2c7f443","78c5ff36a7b6e97c7825be17744fd45ffb2770ec40f486ca3dc4c1f9fabe2b6e","3c33c018c64e65691075dfae05fbc58febd6ce2d452257c35505ca70c96899d7",{"version":"f79e3d614997028f58234ae2fd3246ff309e50ae3aa79d1b7e566606f725bad9","signature":"8834205ba141ab91313b86538e251c725253c8929ee16ffe25dcaa8aff209dac"},"9ccad2264d463d89f9246a6e2b3c5fc2ea4fa93fd1d766661dd3fc06a0ec6128",{"version":"f4a33cba20c971633134c62578108c621b4eab52844972d1f7eb2a1912cc3290","signature":"11535ba3e664110f0c5d406378ce9cdf5c606c5507bcdbf468e297b9c15ae79b"},"eac47ed99cc76de6507dd9d6a9910023d3fd810227f473050546c1b786bead4b","5cc3a8b25d4670152aff1f05614a58c94829388c033951aebf4be5cfa6c43ea9","6ba2d97e94a13a5c21c3c7105f01fda5491b7ecf638230cebc46ead1204a8559","a3c1977660766af91c7b8efe2106792f0f6375bde60a4f28a438242bd93c558e","ee2beb928f0554aacc404552cb44c86c8afd1aaf8e452e405e37861681c695bd",{"version":"5548c13a597571841a7c8e69bec72dd0c0941434fc9b7c66b2cf8daffc09e55b","signature":"d31c215f5e38113de9053c4fc2cf8927d56d28b9f44fedf46fb8d9f5c34bc45c"},"86ae9ad4466ed3302ebdf35cb380df8d798f998f44c76c8985d8edce586fa0cb",{"version":"7fac1232159689174969588ffda33e60135e9363fabbc3160dec98a11ccf95d7","signature":"c13809b0af560a664d6c648bf57ab6ab8852eae07c341b5f0be1239380a6ebef"},"082030c53946fdee90e485ee3fcf88fb07af4811d375f0d92e806ef6d893a54b",{"version":"36c911e670562f1963117cfa793a2902201e42195fd9b3cdb8ec2b0ba9bc501f","signature":"12244da595faa055ae514fa4e03fedf9d4d8807fd2223a60f430d9c4876bac2d"},"97ea5f1a03786cb55ff31e41afeef6c2c672de4697eff80f6b68f043694cf892","30d7301a01f01ccbeeced6181f48abe5715dab628868400e827d6dd057aabe97","3411c785dbe8fd42f7d644d1e05a7e72b624774a08a9356479754999419c3c5a","8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","33f3795a4617f98b1bb8dac36312119d02f31897ae75436a1e109ce042b48ee8","2850c9c5dc28d34ad5f354117d0419f325fc8932d2a62eadc4dc52c018cd569b","c753948f7e0febe7aa1a5b71a714001a127a68861309b2c4127775aa9b6d4f24","3e7a40e023e1d4a9eef1a6f08a3ded8edacb67ae5fce072014205d730f717ba5","a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","382100b010774614310d994bbf16cc9cd291c14f0d417126c7a7cfad1dc1d3f8","91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","4fdf56315340bd1770eb52e1601c3a98e45b1d207202831357e99ce29c35b55c","927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","be6fd74528b32986fbf0cd2cfa9192a5ed7f369060b32a7adcb0c8d055708e61","0e6d87e1af5b3cb046c54714f8afdd0d0fe3c499d96954f29466f92def0f435c","b25eaf53a7b338ea38921dcfe882a0e46a36a49c439a580018cd1e523a970dbb","2bc1325de383b9b270e0800b370cd33b87998f67380a0353167c37c3dcc13d3e","ded25fdd0b036433f1c7044d0f05c9c792b4873a648fbd33eec49f6238e3e572",{"version":"616bef7bfad90c7a561c88c83843d0325169dcfdeefaf991af88b63ef10d0f79","signature":"53637ba23c3f931f6f60396116156ba13b78463135de55a05e2dd73373dc0289","affectsGlobalScope":true},{"version":"7aae8efe26f9a884a4d4185a7937bd09d113e3a828b4ccdb41a787471cf99e05","signature":"c187cfd2a997a4b37c0c343cbc2824a5493060afd5915f1c872e5743b5c3ca62"},"e617a4e3425c1c4f6337f9065c844fee758eb60f2befe40f87d6bc295fe3dd6c","84cc254263404913255f7ed1ac7bdd05d5f1f2c233f6b48915f64aca2321ec17","67a4f653163df230b46606a9b97b568b5150d0e0e1ae1d613c59f7a3b0512449","3b1c2ccfa2572201a53e54008e1a2a321ef826f4260264749ed5158643cad6c0","0b30b078f688f2b4f4e378fa383e02e2d4c4213a1b22aebb020461e36e34aa92","7f204c0b47583a898e6dbe667ad290b837cd99822bf133d0ff23ba072becec52","df8ac16e33db5d15a25a0a175e8a5d5bd3d3b2f1d5d0edff099ac26e619932b6","3ccb7756294a7ed5b0e33a30b42c7b1b32a1736852a2db22a61906b45d31f72e","d87c0f0380023f1eca5063a3c058b0b82f9295ce0eeebfdd49ec6e4d62b3c7a5",{"version":"0d82410334bf181772799bf13876575e8f6408bb76ad14396db3b8e4eee30e5b","signature":"2ffb5be570de81083b20081137239470ae8a03c5b7ca1594cb93884a722b75c8"},"0cb2f19ca25c0f21a28218c5dcb5a7e994e81985086ca5daa9c8f4ebe64fde14","87f45900e657071ede09193a640840449cbbd84f442fa110ff6ad48258a79960",{"version":"84333266c11a8b7e8e97f78619365c2283136a16520cc59efb3e46a10e24d95f","signature":"56fc117444fb16ff297d7c268cac9f0c2d70c300b25c313883982603958d1c77"},{"version":"b7820d05d1ac6596d8443a97b379ca0c5a1ec0c8c205f9d6b293548b46a7e452","signature":"decc248f53073b1cfb6fc6f110de9ef45cede19ee8a3228c8503ceb75e9969b6"},{"version":"7a921d32d182b211908ad5f8923f1a830519c12aedf4e469467c98ed02429f98","signature":"55e1ed3c1bde44633a0d47f5304541684e92db561027cc5e1704e8807785528d"},{"version":"190b8d024802f36edaeb098ce014ebf32980b4e3c1ac8fbaf08f46b81f9d2c22","signature":"3dfa32f25c6a1129e7993dd3e0a66c14732e8939fe59e299581a77013de603e0"},{"version":"21f105677d8c332867fc33c0820c6c2ae3bab9359a67394d4029d4a2b2b4879f","signature":"b1478d32f7d34beab99ba1352b10e8c4d009ad07f4c544c7911f400b4a54bbbb"},"b8fafa9f8ae9069eff148da320ed56acd5c3c95112c5e03d4796e15ac76b974c",{"version":"6bedcd4a23e8cfbffb39c521199c894b848d6b12959dffc50824f15896a3014d","signature":"d2081c21fd7f6bd7ff4326487d1bf46c31c93e6ab1a01356f3cf334da6697caf"},{"version":"4e2b4193fa5ce0c618ce53ac2b3d8971baf420b7392bcbc5a40c517a5731d11d","signature":"d76c5c2aa1d91bb93a9104fe9a768eb82c7a0e0dd573b348fe21845b41067274","affectsGlobalScope":true},{"version":"21bcc28dc5705a3a8e894ce4abcc30a666a9dbebfa211ddca4dd4b7de17dfc34","signature":"ed2d3c7bef952d0a87da591e1a2bfbe1086875ec2e7b4fac37b3f26ebfadbfea"},{"version":"eaf44cc649de5bc94870ae012629e6aba795f0eccc9d384e3e4788e8bbc07191","signature":"454e63a439bcac2d835b9016ec9039dbe365ed2d151d828fcb3c754f2b5c3235"},{"version":"056c2a7d27a34b56a2da28352ac865c3c784559dd515a463b267f8777583c0cf","signature":"d3ba77bd072cc0991b464f492c747027a27fb74c89309571a6efe16eb78124f4"},{"version":"ac98b7f9d0652e3b6735c1477a07a3c4bc2fbcf95a793097f2ae9cc08d6a8e03","signature":"34b60b0acf1688ecb1235489ead4174f29e94c63b4558c569c873b19ed2b69c2"},{"version":"37fca5e875981363005aa9315efa2da8c5ae8f90f16698f817c6bb2c31846fbf","signature":"4eedecaaeefddaf61f98644c7efa2c86dbacfc9c1980b6385d2f7c107cbe1adb"},{"version":"18ab9e236c38e3e5eb0934039f8126b8ae373f895d1cff1a90b33d234d3c4f44","signature":"97c6284e4b12ac4ace567c6276dfd6d41065df7c5c29e532df63d27a42525eab"},{"version":"4085f9b9f77795f2320d360694adb04fc67c6cda7a3840644bdea77103898c64","signature":"13238d15e5de8fb1872f3075ee114727cce493008c172e8041c67de505aa8425"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","43a95e70896efd3483a07162a10895b0f1c9b6f05092ef114b46b1d9f7eef63a",{"version":"224bc47ac7f9a1f3795c1046ebfb8aae8b76180daf7d41ed77623b03b1a078d3","signature":"79a71c1a17f13f766d817c9357eb3de259659405679f75328fa36cc7606ec132"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"241a2e19e03fd1d884e0f304429378d05bc2c1b26b5693c84868f7ad0674982d","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","0b70ce7a20fa21c7201a5a972b7f2288cb90ace8a2dde9f3344b5dfc6504abaf",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","3fd0f1af75fb7abe0ea376aa71541daaf489f3d87c394b1165db684ea44b48be","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"f1a0b2dde686cb8a995d4ed11848be5eaf76fd5d56532942e0737b39d4a02c6d","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"6a325d4c96569bdd5a9a59f819a672e2d5644ee6cf98ab910e0064402557af8d","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","1fb6c5ec52332a8b531a8d7a5300ac9301f98c4fe62f68e744e0841ccba65e7e",{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","244cdeb8c344eb42e6142cbb0727752b9b735443fba7007c11b14ca06ebed97c",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","69f5747ad0887c24c76858ed458712101771349f2287e21871fcd1562daa7dc0",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"220717df86539e219f619d31965d177e7235185e4bc6f6e6ed7e11a9b004d5ca","d0f7a15f34c5572c4d3710a95053196e76da944543dabe8265944bb7c6f52700","cb656e57ac7dcb4a0850d3063f6f2618b11bdefcbf241fdd7ebf5b52107b17a0","25552cdd29362e0176f96789dc0414de7f44bc144b07c74fac7577a28f91d70b","97066cfd7010c2463bfcc2e7c0adc4bf2786ea682035f5a210c21f123ca42237","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","d392cdf58e0c7a988c3df400caa63a5c070c0bf13996ec619e3535e19e952a95","6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","237aa833f2cd2ff42db5d3f5a2b7b143ead11aff861097593ecd99015a69b220","50542cad26bd372cb942d418d42cdeced50a4d4226db390a1e3405f3d9a6103f","60660150e844e9d27f7ae4dfc7456f27fc683bed718d0e4a1dd4908d5da11d35","ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","5e763f3932cf04417e4145a103da1f1f67b10f7c584bcc976641611ed72af668","a5dcba6cd802f8e47bf0d83f3836a92cd494fac81b8a49924f190f61f92795ce","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","4498108732bcb5b7000ff9cdc011058b4155e985271ac3f926468acfed0c79dd","36d7b72ed8f35f9e21cc223c06697eca0d4699178fc59cfd3a310e2983fd0fd6","5a5cbc7aa7c4f74f49073d747a2a2518d1ec22694c88bc46092b0f25ccb8ebb7","51bfe35171efe121cefb2501a6cd674c367d541c4c8b0ae639c126adcc84f37d","4efb2a45d9d3e146d6237c2b74c2afcc7512f8bdd939995f2beaa27ec385a600","d51a4e4450ee23d941db79652c660ca2612691dba235fd5d14d4b2a622c72312","99d951629f7096dcd79adbaa83a85e3be57613005533bd23029b3aba4ce9383e","ac72dfd5a793c277251c116b35791d3ce358edfea94b942c270d2bda9be5cbfe","c1b6d322936b18698bf8ea6deed76e28d5a6a3cccb6c7fa345a01c969f637b65","8b0a2400ba7522569871331988f820ba4cfc386f845b01058c63a62ad9db8d03","d3e29566a694a4068d450a58f59e3a3662fc12f74345343d441ef4d954984503","f7b3e68f7972250809e5b0cbd8f0e1f9da8c1dbf70244f289b204f1b49c2d398","4c7c99f7787c5c2ea6cbd911a7b5c7c2a4ee1cb9d7f538805ee2550cf1f1fb99","1557bf37fc8d5f129436caa0212f25d6cbeaf9d20e2e3a60b13306ff62a1d7a0","9a1e77270d63875c9a38630f9a7a9126f9a8df0245d5eb220832a65d408079eb","e48d0036e626bb40f236e236670722445ffff854908c2d9515b2b5b7f677794f","30f9018873d6d80256298011161a664a14b927f719f8a7605ceb8b49bc8808da","f543ea0fe820064a2cdbb39d2b2846c507467c4771eafcda2091da43b05c077b","9066d02264a67aae05410c340c8fa41a79bb076c33d1c6ae3ec29a05828f4c05","00435c177c3da6998c2f95b9e71239f00cfabd3461401cc4d8606ee3afb732b1","d432a2956d1efa172e1c60a8186a81657f2f9f4ba449c6abdfa9d057d484c45d","bc6679207eccaa45e49b930ad45ec8e7903bd8b0868e086d8bad91f79c914ca0","4dd35e71d52007465787dd2f374cc756a29e6c9b96dc237d0465d0294170c529","7ebf1f440efe6efebeb58a44000820cbe959da9d9496621fa6dcbc02666e3002","08a9e70641597e23d00be62e3a94b69ad93c5cf5541ec7bfdeb5e9f69c845507","ded59c554118589a8729fb70429318e41e7e8155b2aff5f3d7a77933e49dbc10","3af507089e65c1472a87e5f7345ec18838d7e923c2c06fdad3d31543278af762","c867e6d7de78f96eb55b534b3aca1da4e029a6ab0e4ea9d0610acf11d737f8a0","2df075b38e2135201202640fe92bce8d03fb319fece410b088a22ab4e1be7702","b9f07153f8e881c4cca036abccaa134df30cf09a3381772d089d1eeabe45770d","88213e972b5989f217627bdcb79a697f66821e8ff135265712346d532243084f","bf6122555f34582e6d5424a88676d90f2333e0e920764895c15d39b6c856053c","bf04a1c9ccfeabf521b7b97f388d05bc5f628422253399eb157fec0d9cd213ce","3c6ecfcc6ac82b5866368d1efbddeeb3bfae03962747bf6928d8faa092e5b369","06d19317f4c8474255b3ceab7102763faf7ff0aa4cc305384b13ccb6d27b2e50","ebe1694b3a7a0265b9cf8fb3bfed6575907247b61add671ea9771fd6715d1b29","bdf4a7242e5cce621b5ba689351af780b0b665d97ea88c71f50801aa80560236","6bd6ae32288500128ae355de57d6bc3b5884f37e1e5d5ac597b142f63b3c8121","a6634dbc56e3d75efac697e59fef032aa15cc537acf7f6ad3a045001f48483f8","0ac932efed612f58eb5033bd449a5fe7ae1bc61fa0ff960f6ebbc8bd4ceda267","b4a07a5abe3d0a4c05f6722c024f842dc7909d5ab8e9212d98c393c2ea8cb09f","7f208ece77be50a024bf2309ca2e7ad1e747fa29f31e9906e3851d3be6641b9e","c0df6627d0c30dc70d26c2d500506b073ff63584c4621f9261e510ad954ad2bd",{"version":"e88f9fd0378cbd9b22b140a61d3b203727af7f3262c13de22cc86739467592f1","signature":"843e5b4615221e2297a8466945eeb3326723f4fd1192c06620ecc001dbaa87b5"},{"version":"e771fe92973f495d9f144c8fe059dac65ae1a83ab822764c38cb43367c29c3cd","signature":"384e88791da61e5e7c78faad8c5ffa4874ccd8f0b0c499c09744959c55445a23"},{"version":"f321747f0a859e20b6e228596fa370c063c37879df4878b571251c106ecf6568","signature":"20346a0a18e673d87ac10bdcec07bbef6b1d73f6354933cc6ea198052db90dde"},{"version":"6d6045873be5694b5909223a2b1963ac4cb44e922db7495f8636649f3e3274d2","signature":"af4ad03cc9d094f7ac7e525a67f8e924f36db2be48cc38ee6c57ce1ac6e7e86b"},"f480f1e9a35fd352a7904fe1896a0f5f9f429aa2dbd4476f4055c67e6bc0caf1","edc69b6ef64b1964e00cebfd6be38f7503311853b3c955799932e1cc60d19f19",{"version":"ab736f78e252de51957095ea382a4b4d55eeae1f41dbd980eff87ea713d636cf","signature":"9eb79516694cfb1d2e17fc18233db4b4720c435a603b2d7a6d5c423a126b2fe7"},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750"],"root":[62,63,74,[76,81],[110,113],[115,117],[119,123],132,[165,167],169,178,224,226,232,234,236,256,257,267,[270,274],[276,284],287,[416,422]],"options":{"allowSyntheticDefaultImports":true,"esModuleInterop":true,"jsx":4,"jsxImportSource":"preact","module":99,"skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[334],[102,334],[92,102,334],[91,92,93,94,95,96,97,98,99,100,101,334],[108,334],[103,104,105,106,108,334],[103,104,105,106,107,334],[334,361,362],[334,362,363,364,365],[334,341,362,364],[334,361,363],[305,334,341],[305,334,341,357],[334,357,358,359,360],[334,357,359],[334,358],[322,334,341,366,367,368,371],[334,367,368,370],[304,334,341,366,367,368,369],[334,368],[334,366,367],[334,341,366],[334,341],[134,162,334],[133,139,334],[144,334],[139,334],[138,334],[156,334],[152,334],[134,151,162,334],[133,134,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,334],[334,423],[67,334],[288,334],[291,334],[292,297,325,334],[293,304,305,312,322,333,334],[293,294,304,312,334],[295,334],[296,297,305,313,334],[297,322,330,334],[298,300,304,312,334],[299,334],[300,301,334],[304,334],[302,304,334],[304,305,306,322,333,334],[304,305,306,319,322,325,334],[334,338],[300,304,307,312,322,333,334],[304,305,307,308,312,322,330,333,334],[307,309,322,330,333,334],[288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340],[304,310,334],[311,333,334],[300,304,312,322,334],[313,334],[314,334],[291,315,334],[316,332,334,338],[317,334],[318,334],[304,319,320,334],[319,321,334,336],[292,304,322,323,324,325,334],[292,322,324,334],[322,323,334],[325,334],[326,334],[322,334],[304,328,329,334],[328,329,334],[297,312,322,330,334],[331,334],[312,332,334],[292,307,318,333,334],[297,334],[322,334,335],[334,336],[334,337],[292,297,304,306,315,322,333,334,336,338],[322,334,339],[334,425],[334,426],[305,307,334,341],[293,334,338,341],[334,427],[334,341,373,374,375],[334,373,374],[334,373],[334,341,372],[334,341,342,344,348,349,352],[334,353],[334,344,348,351],[334,342,344,348,351,352,353,354],[334,341,348],[334,344,348,349,351],[334,341,342,344,349,350,352],[334,376],[67,75,252,334,409],[75,252,334,409],[252,253,334],[72,75,178,226,234,251,252,270,283,334,409],[88,89,334],[67,75,87,88,252,334,409],[237,334],[128,172,228,334],[173,181,184,186,334],[67,172,173,181,184,187,213,228,334],[187,210,212,228,334],[172,187,210,211,213,228,334],[214,334],[187,210,213,228,334],[172,187,210,213,227,228,334],[75,252,334,382,407,408,409],[75,172,228,252,334,382,409],[334,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406],[75,172,228,252,334,409],[188,189,209,334],[172,188,228,334],[172,228,334],[190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,334],[188,334],[67,172,210,213,228,334],[268,334],[171,174,175,334],[171,173,181,184,187,334],[173,179,180,184,187,334],[173,181,184,187,334],[173,181,182,183,187,334],[334,348],[334,345,346,347],[304,322,334,341],[240,334],[239,240,334],[239,334],[239,240,241,243,244,247,248,249,250,334],[240,244,334],[239,240,241,243,244,245,246,334],[239,244,334],[244,248,334],[240,241,242,334],[241,334],[239,240,244,334],[305,314,334,341,342,343],[65,334],[64,65,334],[64,334],[82,83,84,85,86,334],[82,83,334],[82,334],[118,322,334],[222,334],[73,75,221,252,334,409],[73,75,230,252,334,409],[73,265,334],[73,75,252,253,254,334,409],[73,75,252,334,409],[73,171,172,176,228,334],[73,172,185,215,228,334],[73,172,228,334],[73,172,228,334,380],[73,172,187,213,228,334],[334,409,410],[73,75,172,228,252,334,408,409],[73,172,218,228,334],[73,217,334],[305,334,341,355],[264,334],[334,412],[72,178,226,234,270,283,333,334,341],[67,72,178,226,234,270,283,334],[67,124,334],[126,128,334],[125,127,334],[67,125,127,334],[67,124,125,126,334],[125,128,130,334],[67,124,125,128,129,334],[68,334],[71,334],[67,69,70,72,178,226,234,270,283,334],[262,334],[259,261,262,263,334],[258,334],[260,334],[258,259,261,334],[259,334],[66,80,167,283,334],[66,284,285,287,307,314,334,356,377,378,417,418,419],[66,78,79,334],[66,77,334],[63,66,77,334],[63,66,77,90,110,334],[63,66,77,165,334],[66,74,77,115,334],[66,81,111,113,116,117,119,120,122,123,166,334],[66,77,115,334],[66,77,118,334],[66,132,164,334],[66,109,334],[66,168,334],[66,77,114,115,334],[65,66,74,75,76,80,252,334,409],[66,334,415],[66,114,314,334],[66,285,286,334],[66,78,115,314,334],[66,78,334],[66,75,78,115,131,252,314,334,409],[66,74,77,78,115,275,276,278,334],[66,132,279,280,281,334],[66,272,273,334],[63,66,72,74,77,78,79,80,169,178,226,234,270,271,274,282,334],[66,72,75,78,178,226,233,252,270,283,334,409],[66,72,78,170,177,226,234,270,283,334],[66,73,78,216,219,220,223,334],[66,178,224,226,232,234,236,257,267,270,334],[66,72,78,178,225,234,270,283,305,314,334],[66,78,229,231,334],[66,78,115,131,235,314,334],[66,73,74,78,115,131,172,228,238,255,314,334],[66,78,266,334],[66,72,78,114,131,172,178,226,228,234,269,283,334],[66,73,74,76,77,80,334],[66,71,75,252,334,409],[66,76,78,80,115,283,285,287,305,314,334,377],[66,76,78,287,334],[66,73,75,76,78,115,252,285,287,313,314,334,379,380,381,409,411,413,414,416],[66,297,334],[66,334],[66,284,334,417],[72,75,178,226,234,251,252,283,334,409],[75,334],[67,172,173,187,213,228,334],[75,334,382,407,408,409],[75,172,228,334,382,409],[75,172,228,334,409],[173,334],[173,181,184,334],[73,75,230,334],[73,75,172,228,334,408,409],[72,178,226,234,283,333,334,341],[67,72,283,334],[67,69,70,72,283,334],[80],[78,79],[65,77],[66,77],[65],[81,111,113,116,117,119,120,122,123,166],[65,74,75,76,80,252,409],[415],[78],[77,78],[132,279,280,281],[272,273],[72,78,80,178,226,234,271,274,282,283,429],[72,78,178,226,234,270,283],[178,224,226,232,234,236,257,267,270],[73,74,76,77,80],[71,75,252,409],[76,80],[76,78],[73,75,76,78,252,380,409],[66]],"referencedMap":[[62,1],[63,1],[103,2],[91,2],[92,2],[93,2],[94,3],[95,2],[96,3],[97,2],[98,2],[99,3],[100,3],[102,4],[101,2],[109,5],[104,5],[107,6],[105,5],[108,7],[106,1],[225,1],[363,8],[366,9],[365,10],[364,11],[362,12],[358,13],[361,14],[360,15],[359,16],[357,12],[372,17],[371,18],[370,19],[369,20],[368,21],[367,22],[415,23],[133,1],[135,24],[136,24],[137,1],[138,1],[140,25],[141,1],[142,1],[143,24],[144,1],[145,1],[146,26],[147,1],[148,1],[149,27],[150,1],[151,28],[152,1],[153,1],[154,1],[155,1],[158,1],[157,29],[134,1],[159,30],[160,1],[156,1],[161,1],[162,24],[163,31],[164,32],[424,33],[139,1],[75,34],[230,1],[172,34],[423,1],[217,34],[288,35],[289,35],[291,36],[292,37],[293,38],[294,39],[295,40],[296,41],[297,42],[298,43],[299,44],[300,45],[301,45],[303,46],[302,47],[304,46],[305,48],[306,49],[290,50],[340,1],[307,51],[308,52],[309,53],[341,54],[310,55],[311,56],[312,57],[313,58],[314,59],[315,60],[316,61],[317,62],[318,63],[319,64],[320,64],[321,65],[322,66],[324,67],[323,68],[325,69],[326,70],[327,71],[328,72],[329,73],[330,74],[331,75],[332,76],[333,77],[334,78],[335,79],[336,80],[337,81],[338,82],[339,83],[426,84],[425,85],[286,1],[378,86],[67,1],[414,87],[427,1],[428,88],[285,1],[379,1],[376,89],[375,90],[374,91],[373,92],[114,1],[353,93],[354,94],[352,95],[355,96],[349,97],[350,98],[351,99],[377,100],[170,1],[221,101],[252,102],[254,103],[253,104],[90,105],[88,102],[89,106],[233,102],[235,1],[343,1],[211,1],[238,107],[237,108],[187,109],[186,110],[213,111],[212,112],[215,113],[214,114],[228,115],[227,114],[409,116],[383,117],[384,117],[385,117],[386,117],[387,117],[388,117],[389,117],[390,117],[391,117],[392,117],[393,117],[407,118],[394,117],[395,117],[396,117],[397,117],[398,117],[399,117],[400,117],[401,117],[403,117],[404,117],[402,117],[405,117],[406,117],[408,117],[382,119],[210,120],[190,121],[191,121],[192,121],[193,121],[194,121],[195,121],[196,122],[198,121],[197,121],[209,123],[199,121],[201,121],[200,121],[203,121],[202,121],[204,121],[205,121],[206,121],[207,121],[208,121],[189,124],[188,125],[269,126],[268,122],[176,127],[175,128],[174,128],[171,1],[181,129],[180,130],[179,130],[184,131],[182,130],[183,130],[185,130],[173,1],[168,1],[345,132],[346,132],[348,133],[347,132],[342,134],[241,135],[250,136],[239,1],[240,137],[251,138],[246,139],[247,140],[245,141],[249,142],[243,143],[242,144],[248,145],[244,136],[344,146],[275,147],[66,148],[65,149],[64,147],[87,150],[84,151],[85,1],[86,1],[82,1],[83,152],[118,153],[223,154],[222,155],[231,156],[266,157],[255,158],[220,159],[177,160],[216,161],[229,162],[381,163],[380,164],[411,165],[410,166],[219,167],[218,168],[356,169],[265,170],[413,171],[412,172],[60,1],[61,1],[12,1],[13,1],[15,1],[14,1],[2,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[3,1],[4,1],[27,1],[24,1],[25,1],[26,1],[28,1],[29,1],[30,1],[5,1],[31,1],[32,1],[33,1],[34,1],[6,1],[38,1],[35,1],[36,1],[37,1],[39,1],[7,1],[40,1],[45,1],[46,1],[41,1],[42,1],[43,1],[44,1],[8,1],[50,1],[47,1],[48,1],[49,1],[51,1],[9,1],[52,1],[53,1],[54,1],[57,1],[55,1],[56,1],[58,1],[10,1],[1,1],[11,1],[59,1],[73,173],[125,174],[124,34],[129,175],[128,176],[126,177],[127,178],[131,179],[130,180],[69,181],[68,34],[72,182],[71,183],[70,1],[263,184],[264,185],[259,186],[261,187],[260,188],[262,186],[258,189],[422,1],[284,190],[420,191],[80,192],[81,193],[278,194],[111,195],[113,194],[166,196],[116,197],[276,193],[167,198],[117,199],[119,200],[256,1],[277,1],[112,1],[165,201],[110,202],[169,203],[121,1],[120,193],[122,194],[123,204],[77,205],[416,206],[115,207],[287,208],[280,209],[281,210],[132,211],[279,212],[282,213],[272,210],[273,210],[274,214],[283,215],[234,216],[178,217],[224,218],[271,219],[226,220],[232,221],[236,222],[257,223],[267,224],[270,225],[78,226],[76,227],[419,228],[418,229],[417,230],[74,231],[79,232],[421,233]],"exportedModulesMap":[[62,1],[63,1],[103,2],[91,2],[92,2],[93,2],[94,3],[95,2],[96,3],[97,2],[98,2],[99,3],[100,3],[102,4],[101,2],[109,5],[104,5],[107,6],[105,5],[108,7],[106,1],[225,1],[363,8],[366,9],[365,10],[364,11],[362,12],[358,13],[361,14],[360,15],[359,16],[357,12],[372,17],[371,18],[370,19],[369,20],[368,21],[367,22],[415,23],[133,1],[135,24],[136,24],[137,1],[138,1],[140,25],[141,1],[142,1],[143,24],[144,1],[145,1],[146,26],[147,1],[148,1],[149,27],[150,1],[151,28],[152,1],[153,1],[154,1],[155,1],[158,1],[157,29],[134,1],[159,30],[160,1],[156,1],[161,1],[162,24],[163,31],[164,32],[424,33],[139,1],[75,34],[230,1],[172,34],[423,1],[217,34],[288,35],[289,35],[291,36],[292,37],[293,38],[294,39],[295,40],[296,41],[297,42],[298,43],[299,44],[300,45],[301,45],[303,46],[302,47],[304,46],[305,48],[306,49],[290,50],[340,1],[307,51],[308,52],[309,53],[341,54],[310,55],[311,56],[312,57],[313,58],[314,59],[315,60],[316,61],[317,62],[318,63],[319,64],[320,64],[321,65],[322,66],[324,67],[323,68],[325,69],[326,70],[327,71],[328,72],[329,73],[330,74],[331,75],[332,76],[333,77],[334,78],[335,79],[336,80],[337,81],[338,82],[339,83],[426,84],[425,85],[286,1],[378,86],[67,1],[414,87],[427,1],[428,88],[285,1],[379,1],[376,89],[375,90],[374,91],[373,92],[114,1],[353,93],[354,94],[352,95],[355,96],[349,97],[350,98],[351,99],[377,100],[170,1],[221,101],[252,102],[254,103],[253,234],[90,105],[88,102],[89,106],[233,235],[235,1],[343,1],[211,1],[238,107],[237,108],[187,109],[186,236],[213,111],[212,112],[215,113],[214,114],[228,115],[227,114],[409,237],[383,238],[384,238],[385,238],[386,238],[387,238],[388,238],[389,238],[390,238],[391,238],[392,238],[393,238],[407,118],[394,238],[395,238],[396,238],[397,238],[398,238],[399,238],[400,238],[401,238],[403,238],[404,238],[402,238],[405,238],[406,238],[408,238],[382,239],[210,120],[190,121],[191,121],[192,121],[193,121],[194,121],[195,121],[196,122],[198,121],[197,121],[209,123],[199,121],[201,121],[200,121],[203,121],[202,121],[204,121],[205,121],[206,121],[207,121],[208,121],[189,124],[188,125],[269,126],[268,122],[176,127],[175,128],[174,128],[171,1],[181,129],[180,240],[179,240],[184,131],[182,240],[183,130],[185,241],[173,1],[168,1],[345,132],[346,132],[348,133],[347,132],[342,134],[241,135],[250,136],[239,1],[240,137],[251,138],[246,139],[247,140],[245,141],[249,142],[243,143],[242,144],[248,145],[244,136],[344,146],[275,147],[66,148],[65,149],[64,147],[87,150],[84,151],[85,1],[86,1],[82,1],[83,152],[118,153],[223,154],[222,155],[231,242],[266,157],[255,158],[220,159],[177,160],[216,161],[229,162],[381,163],[380,164],[411,165],[410,243],[219,167],[218,168],[356,169],[265,170],[413,171],[412,244],[60,1],[61,1],[12,1],[13,1],[15,1],[14,1],[2,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[3,1],[4,1],[27,1],[24,1],[25,1],[26,1],[28,1],[29,1],[30,1],[5,1],[31,1],[32,1],[33,1],[34,1],[6,1],[38,1],[35,1],[36,1],[37,1],[39,1],[7,1],[40,1],[45,1],[46,1],[41,1],[42,1],[43,1],[44,1],[8,1],[50,1],[47,1],[48,1],[49,1],[51,1],[9,1],[52,1],[53,1],[54,1],[57,1],[55,1],[56,1],[58,1],[10,1],[1,1],[11,1],[59,1],[73,245],[125,174],[124,34],[129,175],[128,176],[126,177],[127,178],[131,179],[130,180],[69,181],[68,34],[72,182],[71,246],[70,1],[263,184],[264,185],[259,186],[261,187],[260,188],[262,186],[258,189],[284,247],[420,191],[80,248],[81,249],[278,249],[111,250],[113,251],[166,251],[116,249],[276,249],[167,252],[117,249],[119,249],[120,251],[122,249],[123,249],[77,253],[416,254],[280,255],[281,255],[132,255],[279,256],[282,257],[272,255],[273,255],[274,258],[283,259],[234,260],[178,260],[224,255],[271,261],[226,260],[232,255],[236,255],[257,255],[267,255],[270,260],[78,262],[76,263],[419,264],[418,265],[417,266],[74,267],[421,233]],"semanticDiagnosticsPerFile":[62,63,103,91,92,93,94,95,96,97,98,99,100,102,101,109,104,107,105,108,106,225,363,366,365,364,362,358,361,360,359,357,372,371,370,369,368,367,415,133,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,158,157,134,159,160,156,161,162,163,164,424,139,75,230,172,423,217,288,289,291,292,293,294,295,296,297,298,299,300,301,303,302,304,305,306,290,340,307,308,309,341,310,311,312,313,314,315,316,317,318,319,320,321,322,324,323,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,426,425,286,378,67,414,427,428,285,379,376,375,374,373,114,353,354,352,355,349,350,351,377,170,221,252,254,253,90,88,89,233,235,343,211,238,237,187,186,213,212,215,214,228,227,409,383,384,385,386,387,388,389,390,391,392,393,407,394,395,396,397,398,399,400,401,403,404,402,405,406,408,382,210,190,191,192,193,194,195,196,198,197,209,199,201,200,203,202,204,205,206,207,208,189,188,269,268,176,175,174,171,181,180,179,184,182,183,185,173,168,345,346,348,347,342,241,250,239,240,251,246,247,245,249,243,242,248,244,344,275,66,65,64,87,84,85,86,82,83,118,223,222,231,266,255,220,177,216,229,381,380,411,410,219,218,356,265,413,412,60,61,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,10,1,11,59,73,125,124,129,128,126,127,131,130,69,68,72,71,70,263,264,259,261,260,262,258,422,284,420,80,81,278,111,113,166,116,276,167,117,119,256,277,112,165,110,169,121,120,122,123,77,416,115,287,280,281,132,279,282,272,273,274,283,234,178,224,271,226,232,236,257,267,270,78,76,419,418,417,74,79,421],"affectedFilesPendingEmit":[422,284,420,80,81,278,111,113,166,116,276,167,117,119,256,277,112,165,110,169,121,120,122,123,77,416,115,287,280,281,132,279,282,272,273,274,283,234,178,224,271,226,232,236,257,267,270,78,76,419,418,417,74,79,421]},"version":"5.0.4"} \ No newline at end of file