diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..4f1db0d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5420 @@ +{ + "name": "softland", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "softland", + "version": "0.0.1", + "license": "ISC", + "dependencies": { + "@codemirror/autocomplete": "^6.0.2", + "@codemirror/commands": "^6.2.2", + "@codemirror/lang-markdown": "6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.1", + "@codemirror/view": "^6.9.3", + "@lezer/common": "^1.0.0", + "@lezer/generator": "^1.0.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "@lezer/markdown": "^1.0.2", + "@nextjournal/lezer-clojure": "^1.0.0", + "@radix-ui/themes": "^2.0.3", + "lezer-clojure": "0.1.10", + "prop-types": "15.8.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "recharts": "^2.4.1", + "shadow-cljs": "^2.20.1", + "w3c-keyname": "^2.2.4", + "web-tree-sitter": "^0.22.6" + }, + "devDependencies": { + "karma": "6.4.0", + "karma-chrome-launcher": "3.1.1", + "karma-cljs-test": "0.1.0", + "puppeteer": "15.2.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.18.6", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.6.tgz", + "integrity": "sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.8.0.tgz", + "integrity": "sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/lang-css": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz", + "integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.0.2", + "@lezer/css": "^1.1.7" + } + }, + "node_modules/@codemirror/lang-html": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.9.tgz", + "integrity": "sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/lang-css": "^6.0.0", + "@codemirror/lang-javascript": "^6.0.0", + "@codemirror/language": "^6.4.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0", + "@lezer/css": "^1.1.0", + "@lezer/html": "^1.3.0" + } + }, + "node_modules/@codemirror/lang-javascript": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.3.tgz", + "integrity": "sha512-8PR3vIWg7pSu7ur8A07pGiYHgy3hHj+mRYRCSG8q+mPIrl0F02rgpGv+DsQTHRTc30rydOsf5PZ7yjKFg2Ackw==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0", + "@lezer/javascript": "^1.0.0" + } + }, + "node_modules/@codemirror/lang-markdown": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.0.0.tgz", + "integrity": "sha512-ozJaO1W4WgGlwWOoYCSYzbVhhM0YM/4lAWLrNsBbmhh5Ztpl0qm4CgEQRl3t8/YcylTZYBIXiskui8sHNGd4dg==", + "dependencies": { + "@codemirror/lang-html": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/markdown": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.10.8", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.8.tgz", + "integrity": "sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.4.tgz", + "integrity": "sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.35.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.10.tgz", + "integrity": "sha512-RMdPdmsrUf53pb2VwflKGHEe1XVM07hI7vV2ntgw1dmqhimpatSJKva4VA9h4TLUDOD4EIF02201oZurpnEFsg==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", + "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", + "dependencies": { + "@marijn/find-cluster-break": "^1.0.0" + } + }, + "node_modules/@codemirror/view": { + "version": "6.36.3", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.36.3.tgz", + "integrity": "sha512-N2bilM47QWC8Hnx0rMdDxO2x2ImJ1FvZWXubwKgjeoOrWwEiFrtpA7SFHcuZ+o2Ze2VzbkgbzWVj4+V18LVkeg==", + "dependencies": { + "@codemirror/state": "^6.5.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==" + }, + "node_modules/@lezer/common": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==" + }, + "node_modules/@lezer/css": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.10.tgz", + "integrity": "sha512-V5/89eDapjeAkWPBpWEfQjZ1Hag3aYUUJOL8213X0dFRuXJ4BXa5NKl9USzOnaLod4AOpmVCkduir2oKwZYZtg==", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/generator": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-1.7.2.tgz", + "integrity": "sha512-CwgULPOPPmH54tv4gki18bElLCdJ1+FBC+nGVSVD08vFWDsMjS7KEjNTph9JOypDnet90ujN3LzQiW3CyVODNQ==", + "dependencies": { + "@lezer/common": "^1.1.0", + "@lezer/lr": "^1.3.0" + }, + "bin": { + "lezer-generator": "src/lezer-generator.cjs" + } + }, + "node_modules/@lezer/highlight": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", + "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/html": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.10.tgz", + "integrity": "sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/javascript": { + "version": "1.4.21", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.21.tgz", + "integrity": "sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ==", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.1.3", + "@lezer/lr": "^1.3.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", + "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/markdown": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.4.2.tgz", + "integrity": "sha512-iYewCigG/517D0xJPQd7RGaCjZAFwROiH8T9h7OTtz0bRVtkxzFhGBFJ9JGKgBBs4uuo1cvxzyQ5iKhDLMcLUQ==", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0" + } + }, + "node_modules/@marijn/find-cluster-break": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", + "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==" + }, + "node_modules/@nextjournal/lezer-clojure": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nextjournal/lezer-clojure/-/lezer-clojure-1.0.0.tgz", + "integrity": "sha512-VZyuGu4zw5mkTOwQBTaGVNWmsOZAPw5ZRxu1/Knk/Xfs7EDBIogwIs5UXTYkuECX5ZQB8eOB+wKA2pc7VyqaZQ==", + "dependencies": { + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@radix-ui/colors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-3.0.0.tgz", + "integrity": "sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==" + }, + "node_modules/@radix-ui/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz", + "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==" + }, + "node_modules/@radix-ui/react-accessible-icon": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.1.2.tgz", + "integrity": "sha512-+rnMO0SEfzkcHr93RshkQVpOA26MtGOv4pcS9QUnLg4F8+GDmCJ8c2FEPhPz5e7arf31EzbTqJxFbzg3qen14g==", + "dependencies": { + "@radix-ui/react-visually-hidden": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.6.tgz", + "integrity": "sha512-p4XnPqgej8sZAAReCAKgz1REYZEBLR8hU9Pg27wFnCWIMc8g1ccCs0FjBcy05V15VTu8pAePw/VDYeOm/uZ6yQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dialog": "1.1.6", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", + "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-aspect-ratio": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.2.tgz", + "integrity": "sha512-TaJxYoCpxJ7vfEkv2PTNox/6zzmpKXT6ewvCuf2tTOIVN45/Jahhlld29Yw4pciOXS2Xq91/rSGEdmEnUWZCqA==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.3.tgz", + "integrity": "sha512-Paen00T4P8L8gd9bNsRMw7Cbaz85oxiv+hzomsRZgFm2byltPFDtfcoqlWJ8GyZlIBWgLssJlzLCnKU0G0302g==", + "dependencies": { + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.4.tgz", + "integrity": "sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz", + "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.6.tgz", + "integrity": "sha512-aUP99QZ3VU84NPsHeaFt4cQUNgJqFsLLOt/RbbWXszZ6MP0DpDyjkFZORr4RpAEx3sUBk+Kc8h13yGtC5Qw8dg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-menu": "2.1.6", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", + "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", + "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", + "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz", + "integrity": "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-menu": "2.1.6", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", + "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-form/-/react-form-0.0.3.tgz", + "integrity": "sha512-kgE+Z/haV6fxE5WqIXj05KkaXa3OkZASoTDy25yX2EIp/x0c54rOH/vFr5nOZTg7n7T1z8bSyXmiVIFP9bbhPQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-label": "2.0.2", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form/node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.6.tgz", + "integrity": "sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz", + "integrity": "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", + "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", + "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", + "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", + "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", + "dependencies": { + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.2.3.tgz", + "integrity": "sha512-xtCsqt8Rp09FK50ItqEqTJ7Sxanz8EM8dnkVIhJrc/wkMMomSmXHvYbhv3E7Zx4oXh98aaLt9W679SUYXg4IDA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", + "integrity": "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.3.tgz", + "integrity": "sha512-l7+NNBfBYYJa9tNqVcP2AGvxdE3lmE6kFTBXdvHgUaZuy+4wGCL1Cl2AfaR7RKyimj7lZURGLwFO59k4eBnDJQ==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz", + "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", + "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slider": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.2.3.tgz", + "integrity": "sha512-nNrLAWLjGESnhqBqcCNW4w2nn7LxudyMzeB6VgdyAnFLC6kfQgnAjSL2v6UkQTnDctJBlxrmxfplWS4iYjdUTw==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", + "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz", + "integrity": "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz", + "integrity": "sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz", + "integrity": "sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz", + "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", + "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", + "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", + "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", + "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==" + }, + "node_modules/@radix-ui/themes": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/themes/-/themes-2.0.3.tgz", + "integrity": "sha512-yaXQ8aWT2P1CQ0Xe6YCRD9HXsfMTvKkrIYkrc4aitCzhGTLS0sjtTqKmrxIWMVA+3DIbEuG9K/8aAMRJBhep8g==", + "dependencies": { + "@radix-ui/colors": "^3.0.0", + "@radix-ui/primitive": "^1.0.1", + "@radix-ui/react-accessible-icon": "^1.0.3", + "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-aspect-ratio": "^1.0.3", + "@radix-ui/react-avatar": "^1.0.4", + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-context-menu": "^2.1.5", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-direction": "^1.0.1", + "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-form": "^0.0.3", + "@radix-ui/react-hover-card": "^1.0.7", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-portal": "^1.0.4", + "@radix-ui/react-radio-group": "^1.1.3", + "@radix-ui/react-scroll-area": "^1.0.5", + "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slider": "^1.1.2", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-switch": "^1.0.3", + "@radix-ui/react-tabs": "^1.0.4", + "@radix-ui/react-tooltip": "^1.0.7", + "@radix-ui/react-use-callback-ref": "^1.0.1", + "@radix-ui/react-visually-hidden": "^1.0.3", + "classnames": "^2.3.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "node_modules/@types/node": { + "version": "22.13.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.8.tgz", + "integrity": "sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==", + "dev": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "dependencies": { + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "dependencies": { + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/devtools-protocol": { + "version": "0.0.1011705", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz", + "integrity": "sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/fast-equals": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz", + "integrity": "sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/karma": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz", + "integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-cljs-test": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/karma-cljs-test/-/karma-cljs-test-0.1.0.tgz", + "integrity": "sha512-fd4aLynTv3htQCUS+OV1HfoB9UqYfEVFruKxkfTE3zB2aoSCHD966ZitSSgUeVYahWiaCK0XHZp9cB39t65cLQ==", + "dev": true + }, + "node_modules/lezer": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz", + "integrity": "sha512-cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==", + "deprecated": "This package has been replaced by @lezer/lr", + "dependencies": { + "lezer-tree": "^0.13.2" + } + }, + "node_modules/lezer-clojure": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/lezer-clojure/-/lezer-clojure-0.1.10.tgz", + "integrity": "sha512-aBDffG323AyhNJXIXKb9joCVviiJqZ8LPfH/W6SwyLxyzfE71ze77uhXnxZjz0F4agsw/TXxImUan2DXQvZ41A==", + "dependencies": { + "lezer": "^0.13.0" + } + }, + "node_modules/lezer-tree": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz", + "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==", + "deprecated": "This package has been replaced by @lezer/common" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/log4js/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/puppeteer": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-15.2.0.tgz", + "integrity": "sha512-6Mzj5pbq4J4DxJE5o6V+arrOB9Gma0CxOLP1zKYMrMR7AYuNaPzsK7pBrpDwI64W6Mxk5G7NqiLSFTrgSzR1zg==", + "deprecated": "< 22.8.2 is no longer supported", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.1011705", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "pkg-dir": "4.2.0", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.8.0" + }, + "engines": { + "node": ">=14.1.0" + } + }, + "node_modules/puppeteer/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-remove-scroll": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-smooth": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", + "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readline-sync": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", + "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/recharts": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.1.tgz", + "integrity": "sha512-v8PUTUlyiDe56qUj82w/EDVuzEFXwEHp9/xOowGAZwfLjB9uAy3GllQVIYMWF6nU+qibx85WF75zD7AjqoT54Q==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^18.3.1", + "react-smooth": "^4.0.4", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/recharts/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shadow-cljs": { + "version": "2.28.21", + "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.28.21.tgz", + "integrity": "sha512-O5VUJkTh0bWqPBSKoWnQwEe/jfvbxHkzCA7SEx8f1Eavb7nDFcoNFDkgGjJtaAyaaSw/cmABrT2EeksnXw/25g==", + "dependencies": { + "node-libs-browser": "^2.2.1", + "readline-sync": "^1.4.7", + "shadow-cljs-jar": "1.3.4", + "source-map-support": "^0.4.15", + "which": "^1.3.1", + "ws": "^7.4.6" + }, + "bin": { + "shadow-cljs": "cli/runner.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/shadow-cljs-jar": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz", + "integrity": "sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA==" + }, + "node_modules/shadow-cljs/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/streamroller/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", + "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/victory-vendor": { + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/web-tree-sitter": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.22.6.tgz", + "integrity": "sha512-hS87TH71Zd6mGAmYCvlgxeGDjqd9GTeqXNqTT+u0Gs51uIozNIaaq/kUAbV/Zf56jb2ZOyG8BxZs2GG9wbLi6Q==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json index 13749e1..5573594 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "react-dom": "18.2.0", "recharts": "^2.4.1", "shadow-cljs": "^2.20.1", + "web-tree-sitter": "^0.22.6", "w3c-keyname": "^2.2.4" }, "devDependencies": { diff --git a/resources/public/JetBrainsMono-Regular.ttf b/resources/public/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000..dff66cc Binary files /dev/null and b/resources/public/JetBrainsMono-Regular.ttf differ diff --git a/resources/public/font_atlas.json b/resources/public/font_atlas.json index 2ca0d75..d45d5c0 100644 --- a/resources/public/font_atlas.json +++ b/resources/public/font_atlas.json @@ -1 +1 @@ -{"atlas":{"type":"msdf","distanceRange":16,"distanceRangeMiddle":0,"size":256,"width":8192,"height":8192,"yOrigin":"bottom"},"metrics":{"emSize":1,"lineHeight":1.3200000000000001,"ascender":1.02,"descender":-0.29999999999999999,"underlineY":-0.17999999999999999,"underlineThickness":0.050000000000000003},"glyphs":[{"unicode":33,"advance":0.59999999999999998,"planeBounds":{"left":0.16931066176470588,"bottom":-0.037109375,"right":0.44274816176470588,"top":0.763671875},"atlasBounds":{"left":135.5,"bottom":4791.5,"right":205.5,"top":4996.5}},{"unicode":34,"advance":0.59999999999999998,"planeBounds":{"left":0.15618750000000001,"bottom":0.396484375,"right":0.54681250000000003,"top":0.763671875},"atlasBounds":{"left":2164.5,"bottom":3244.5,"right":2264.5,"top":3338.5}},{"unicode":35,"advance":0.59999999999999998,"planeBounds":{"left":-0.0082656250000000195,"bottom":-0.033203125,"right":0.63626562500000006,"top":0.763671875},"atlasBounds":{"left":8026.5,"bottom":5442.5,"right":8191.5,"top":5646.5}},{"unicode":36,"advance":0.59999999999999998,"planeBounds":{"left":0.029835736424984306,"bottom":-0.173828125,"right":0.58842948642498438,"top":0.904296875},"atlasBounds":{"left":7459.5,"bottom":7508.5,"right":7602.5,"top":7784.5}},{"unicode":37,"advance":0.59999999999999998,"planeBounds":{"left":-0.055140624999999978,"bottom":-0.037109375,"right":0.68314062500000006,"top":0.767578125},"atlasBounds":{"left":4228.5,"bottom":5000.5,"right":4417.5,"top":5206.5}},{"unicode":38,"advance":0.59999999999999998,"planeBounds":{"left":-0.013641237745098067,"bottom":-0.044921875,"right":0.65432751225490193,"top":0.771484375},"atlasBounds":{"left":3283.5,"bottom":5215.5,"right":3454.5,"top":5424.5}},{"unicode":39,"advance":0.59999999999999998,"planeBounds":{"left":0.25970312499999998,"bottom":0.396484375,"right":0.44329687500000003,"top":0.763671875},"atlasBounds":{"left":3000.5,"bottom":3244.5,"right":3047.5,"top":3338.5}},{"unicode":40,"advance":0.59999999999999998,"planeBounds":{"left":0.15742074548192772,"bottom":-0.154296875,"right":0.60663949548192775,"top":0.876953125},"atlasBounds":{"left":3867.5,"bottom":7164.5,"right":3982.5,"top":7428.5}},{"unicode":41,"advance":0.59999999999999998,"planeBounds":{"left":0.019319196428571449,"bottom":-0.154296875,"right":0.46853794642857144,"top":0.876953125},"atlasBounds":{"left":3983.5,"bottom":7164.5,"right":4098.5,"top":7428.5}},{"unicode":42,"advance":0.59999999999999998,"planeBounds":{"left":0.022984375000000008,"bottom":0.080078125,"right":0.60501562500000006,"top":0.654296875},"atlasBounds":{"left":7592.5,"bottom":3496.5,"right":7741.5,"top":3643.5}},{"unicode":43,"advance":0.59999999999999998,"planeBounds":{"left":0.04287499999999999,"bottom":0.064453125,"right":0.574125,"top":0.599609375},"atlasBounds":{"left":1860.5,"bottom":3347.5,"right":1996.5,"top":3484.5}},{"unicode":44,"advance":0.59999999999999998,"planeBounds":{"left":0.11359375000000001,"bottom":-0.193359375,"right":0.37140624999999999,"top":0.177734375},"atlasBounds":{"left":1547.5,"bottom":3243.5,"right":1613.5,"top":3338.5}},{"unicode":45,"advance":0.59999999999999998,"planeBounds":{"left":0.11123437500000001,"bottom":0.267578125,"right":0.505765625,"top":0.392578125},"atlasBounds":{"left":8021.5,"bottom":7520.5,"right":8122.5,"top":7552.5}},{"unicode":46,"advance":0.59999999999999998,"planeBounds":{"left":0.15487839673913045,"bottom":-0.044921875,"right":0.37753464673913045,"top":0.177734375},"atlasBounds":{"left":8103.5,"bottom":3656.5,"right":8160.5,"top":3713.5}},{"unicode":47,"advance":0.59999999999999998,"planeBounds":{"left":-0.0053593749999999675,"bottom":-0.142578125,"right":0.63135937500000006,"top":0.861328125},"atlasBounds":{"left":2689.5,"bottom":6635.5,"right":2852.5,"top":6892.5}},{"unicode":48,"advance":0.59999999999999998,"planeBounds":{"left":0.04024798387096775,"bottom":-0.044921875,"right":0.58712298387096784,"top":0.771484375},"atlasBounds":{"left":3455.5,"bottom":5215.5,"right":3595.5,"top":5424.5}},{"unicode":49,"advance":0.59999999999999998,"planeBounds":{"left":0.019640625000000033,"bottom":-0.033203125,"right":0.53135937499999997,"top":0.763671875},"atlasBounds":{"left":3876.5,"bottom":4792.5,"right":4007.5,"top":4996.5}},{"unicode":50,"advance":0.59999999999999998,"planeBounds":{"left":0.015921874999999985,"bottom":-0.033203125,"right":0.59014062499999997,"top":0.771484375},"atlasBounds":{"left":4418.5,"bottom":5000.5,"right":4565.5,"top":5206.5}},{"unicode":51,"advance":0.59999999999999998,"planeBounds":{"left":0.02946428571428571,"bottom":-0.044921875,"right":0.59196428571428572,"top":0.763671875},"atlasBounds":{"left":1012.5,"bottom":4999.5,"right":1156.5,"top":5206.5}},{"unicode":52,"advance":0.59999999999999998,"planeBounds":{"left":0.029093750000000033,"bottom":-0.033203125,"right":0.53690625000000003,"top":0.763671875},"atlasBounds":{"left":4124.5,"bottom":4792.5,"right":4254.5,"top":4996.5}},{"unicode":53,"advance":0.59999999999999998,"planeBounds":{"left":0.034398437500000011,"bottom":-0.044921875,"right":0.58908593750000005,"top":0.763671875},"atlasBounds":{"left":1157.5,"bottom":4999.5,"right":1299.5,"top":5206.5}},{"unicode":54,"advance":0.59999999999999998,"planeBounds":{"left":0.026600650027808669,"bottom":-0.044921875,"right":0.55394440002780865,"top":0.763671875},"atlasBounds":{"left":1300.5,"bottom":4999.5,"right":1435.5,"top":5206.5}},{"unicode":55,"advance":0.59999999999999998,"planeBounds":{"left":0.095562500000000009,"bottom":-0.033203125,"right":0.64243749999999999,"top":0.763671875},"atlasBounds":{"left":4255.5,"bottom":4792.5,"right":4395.5,"top":4996.5}},{"unicode":56,"advance":0.59999999999999998,"planeBounds":{"left":0.02743989849833145,"bottom":-0.044921875,"right":0.58212739849833151,"top":0.771484375},"atlasBounds":{"left":3596.5,"bottom":5215.5,"right":3738.5,"top":5424.5}},{"unicode":57,"advance":0.59999999999999998,"planeBounds":{"left":0.077994612068965546,"bottom":-0.033203125,"right":0.60533836206896563,"top":0.771484375},"atlasBounds":{"left":4566.5,"bottom":5000.5,"right":4701.5,"top":5206.5}},{"unicode":58,"advance":0.59999999999999998,"planeBounds":{"left":0.15494404644268772,"bottom":-0.044921875,"right":0.44400654644268778,"top":0.591796875},"atlasBounds":{"left":7235.5,"bottom":3821.5,"right":7309.5,"top":3984.5}},{"unicode":59,"advance":0.59999999999999998,"planeBounds":{"left":0.081740327380952396,"bottom":-0.193359375,"right":0.44502157738095244,"top":0.591796875},"atlasBounds":{"left":3887.5,"bottom":4178.5,"right":3980.5,"top":4379.5}},{"unicode":60,"advance":0.59999999999999998,"planeBounds":{"left":0.058421874999999984,"bottom":0.041015625,"right":0.59357812500000007,"top":0.619140625},"atlasBounds":{"left":6244.5,"bottom":3495.5,"right":6381.5,"top":3643.5}},{"unicode":61,"advance":0.59999999999999998,"planeBounds":{"left":0.04287499999999999,"bottom":0.150390625,"right":0.574125,"top":0.509765625},"atlasBounds":{"left":4450.5,"bottom":3246.5,"right":4586.5,"top":3338.5}},{"unicode":62,"advance":0.59999999999999998,"planeBounds":{"left":0.023421874999999988,"bottom":0.041015625,"right":0.55857812500000004,"top":0.619140625},"atlasBounds":{"left":6382.5,"bottom":3495.5,"right":6519.5,"top":3643.5}},{"unicode":63,"advance":0.59999999999999998,"planeBounds":{"left":0.1245308322192514,"bottom":-0.037109375,"right":0.56593708221925132,"top":0.763671875},"atlasBounds":{"left":206.5,"bottom":4791.5,"right":319.5,"top":4996.5}},{"unicode":64,"advance":0.59999999999999998,"planeBounds":{"left":-0.0071684027777777467,"bottom":-0.212890625,"right":0.62173784722222225,"top":0.771484375},"atlasBounds":{"left":7871.5,"bottom":6379.5,"right":8032.5,"top":6631.5}},{"unicode":65,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":4556.5,"bottom":4792.5,"right":4695.5,"top":4996.5}},{"unicode":66,"advance":0.59999999999999998,"planeBounds":{"left":0.026736895161290301,"bottom":-0.033203125,"right":0.5814243951612903,"top":0.763671875},"atlasBounds":{"left":4837.5,"bottom":4792.5,"right":4979.5,"top":4996.5}},{"unicode":67,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.771484375},"atlasBounds":{"left":3739.5,"bottom":5215.5,"right":3877.5,"top":5424.5}},{"unicode":68,"advance":0.59999999999999998,"planeBounds":{"left":0.027229166666666697,"bottom":-0.033203125,"right":0.57410416666666675,"top":0.763671875},"atlasBounds":{"left":4980.5,"bottom":4792.5,"right":5120.5,"top":4996.5}},{"unicode":69,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.763671875},"atlasBounds":{"left":5121.5,"bottom":4792.5,"right":5270.5,"top":4996.5}},{"unicode":70,"advance":0.59999999999999998,"planeBounds":{"left":0.031171875000000016,"bottom":-0.033203125,"right":0.62882812499999996,"top":0.763671875},"atlasBounds":{"left":5271.5,"bottom":4792.5,"right":5424.5,"top":4996.5}},{"unicode":71,"advance":0.59999999999999998,"planeBounds":{"left":0.049439948156682033,"bottom":-0.044921875,"right":0.58850244815668207,"top":0.771484375},"atlasBounds":{"left":3878.5,"bottom":5215.5,"right":4016.5,"top":5424.5}},{"unicode":72,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":5584.5,"bottom":4792.5,"right":5731.5,"top":4996.5}},{"unicode":73,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.763671875},"atlasBounds":{"left":5732.5,"bottom":4792.5,"right":5873.5,"top":4996.5}},{"unicode":74,"advance":0.59999999999999998,"planeBounds":{"left":0.012122983870967765,"bottom":-0.044921875,"right":0.59024798387096777,"top":0.763671875},"atlasBounds":{"left":1436.5,"bottom":4999.5,"right":1584.5,"top":5206.5}},{"unicode":75,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.033203125,"right":0.64309375000000002,"top":0.763671875},"atlasBounds":{"left":8033.5,"bottom":6427.5,"right":8191.5,"top":6631.5}},{"unicode":76,"advance":0.59999999999999998,"planeBounds":{"left":0.059812499999999991,"bottom":-0.033203125,"right":0.54418750000000005,"top":0.763671875},"atlasBounds":{"left":6161.5,"bottom":4792.5,"right":6285.5,"top":4996.5}},{"unicode":77,"advance":0.59999999999999998,"planeBounds":{"left":0.0073593750000000213,"bottom":-0.033203125,"right":0.62064062500000006,"top":0.763671875},"atlasBounds":{"left":6286.5,"bottom":4792.5,"right":6443.5,"top":4996.5}},{"unicode":78,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.763671875},"atlasBounds":{"left":6444.5,"bottom":4792.5,"right":6592.5,"top":4996.5}},{"unicode":79,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.771484375},"atlasBounds":{"left":4017.5,"bottom":5215.5,"right":4153.5,"top":5424.5}},{"unicode":80,"advance":0.59999999999999998,"planeBounds":{"left":0.026308894230769212,"bottom":-0.033203125,"right":0.61615264423076921,"top":0.763671875},"atlasBounds":{"left":6593.5,"bottom":4792.5,"right":6744.5,"top":4996.5}},{"unicode":81,"advance":0.59999999999999998,"planeBounds":{"left":0.046421875000000015,"bottom":-0.212890625,"right":0.58157812500000006,"top":0.771484375},"atlasBounds":{"left":0.5,"bottom":6121.5,"right":137.5,"top":6373.5}},{"unicode":82,"advance":0.59999999999999998,"planeBounds":{"left":0.026161637931034491,"bottom":-0.033203125,"right":0.60428663793103454,"top":0.763671875},"atlasBounds":{"left":6745.5,"bottom":4792.5,"right":6893.5,"top":4996.5}},{"unicode":83,"advance":0.59999999999999998,"planeBounds":{"left":0.032109375000000002,"bottom":-0.044921875,"right":0.582890625,"top":0.771484375},"atlasBounds":{"left":4291.5,"bottom":5215.5,"right":4432.5,"top":5424.5}},{"unicode":84,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.033203125,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":8048.5,"bottom":5002.5,"right":8191.5,"top":5206.5}},{"unicode":85,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.763671875},"atlasBounds":{"left":1585.5,"bottom":4999.5,"right":1726.5,"top":5206.5}},{"unicode":86,"advance":0.59999999999999998,"planeBounds":{"left":0.10051562499999998,"bottom":-0.033203125,"right":0.643484375,"top":0.763671875},"atlasBounds":{"left":6894.5,"bottom":4792.5,"right":7033.5,"top":4996.5}},{"unicode":87,"advance":0.59999999999999998,"planeBounds":{"left":0.044046875000000027,"bottom":-0.033203125,"right":0.67295312500000004,"top":0.763671875},"atlasBounds":{"left":7034.5,"bottom":4792.5,"right":7195.5,"top":4996.5}},{"unicode":88,"advance":0.59999999999999998,"planeBounds":{"left":-0.028437500000000008,"bottom":-0.033203125,"right":0.6434375,"top":0.763671875},"atlasBounds":{"left":7196.5,"bottom":4792.5,"right":7368.5,"top":4996.5}},{"unicode":89,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.763671875},"atlasBounds":{"left":7369.5,"bottom":4792.5,"right":7517.5,"top":4996.5}},{"unicode":90,"advance":0.59999999999999998,"planeBounds":{"left":0.013078125000000012,"bottom":-0.033203125,"right":0.60292187500000005,"top":0.763671875},"atlasBounds":{"left":7518.5,"bottom":4792.5,"right":7669.5,"top":4996.5}},{"unicode":91,"advance":0.59999999999999998,"planeBounds":{"left":0.12084375,"bottom":-0.142578125,"right":0.56615625000000003,"top":0.861328125},"atlasBounds":{"left":2853.5,"bottom":6635.5,"right":2967.5,"top":6892.5}},{"unicode":92,"advance":0.59999999999999998,"planeBounds":{"left":0.141125,"bottom":-0.142578125,"right":0.484875,"top":0.861328125},"atlasBounds":{"left":2968.5,"bottom":6635.5,"right":3056.5,"top":6892.5}},{"unicode":93,"advance":0.59999999999999998,"planeBounds":{"left":0.059843750000000001,"bottom":-0.142578125,"right":0.50515624999999997,"top":0.861328125},"atlasBounds":{"left":3057.5,"bottom":6635.5,"right":3171.5,"top":6892.5}},{"unicode":94,"advance":0.59999999999999998,"planeBounds":{"left":0.069765625000000012,"bottom":0.306640625,"right":0.55023437500000005,"top":0.763671875},"atlasBounds":{"left":8068.5,"bottom":7311.5,"right":8191.5,"top":7428.5}},{"unicode":95,"advance":0.59999999999999998,"planeBounds":{"left":-0.029843750000000006,"bottom":-0.115234375,"right":0.52484375000000005,"top":0.009765625},"atlasBounds":{"left":8045.5,"bottom":6645.5,"right":8187.5,"top":6677.5}},{"unicode":96,"advance":0.59999999999999998,"planeBounds":{"left":0.22667187499999999,"bottom":0.611328125,"right":0.44932812500000002,"top":0.818359375},"atlasBounds":{"left":8024.5,"bottom":6898.5,"right":8081.5,"top":6951.5}},{"unicode":97,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.591796875},"atlasBounds":{"left":7835.5,"bottom":3821.5,"right":7968.5,"top":3984.5}},{"unicode":98,"advance":0.59999999999999998,"planeBounds":{"left":0.027063068181818143,"bottom":-0.044921875,"right":0.55050056818181814,"top":0.763671875},"atlasBounds":{"left":2046.5,"bottom":4999.5,"right":2180.5,"top":5206.5}},{"unicode":99,"advance":0.59999999999999998,"planeBounds":{"left":0.054383744347088724,"bottom":-0.044921875,"right":0.5621962443470887,"top":0.591796875},"atlasBounds":{"left":0.5,"bottom":3644.5,"right":130.5,"top":3807.5}},{"unicode":100,"advance":0.59999999999999998,"planeBounds":{"left":0.047374431818181795,"bottom":-0.044921875,"right":0.60206193181818191,"top":0.763671875},"atlasBounds":{"left":2181.5,"bottom":4999.5,"right":2323.5,"top":5206.5}},{"unicode":101,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.591796875},"atlasBounds":{"left":431.5,"bottom":3644.5,"right":561.5,"top":3807.5}},{"unicode":102,"advance":0.59999999999999998,"planeBounds":{"left":-0.031578125000000012,"bottom":-0.212890625,"right":0.62857812499999999,"top":0.763671875},"atlasBounds":{"left":1899.5,"bottom":6123.5,"right":2068.5,"top":6373.5}},{"unicode":103,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.591796875},"atlasBounds":{"left":4702.5,"bottom":5000.5,"right":4834.5,"top":5206.5}},{"unicode":104,"advance":0.59999999999999998,"planeBounds":{"left":0.026563068181818143,"bottom":-0.033203125,"right":0.55000056818181819,"top":0.763671875},"atlasBounds":{"left":0.5,"bottom":4585.5,"right":134.5,"top":4789.5}},{"unicode":105,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.033203125,"right":0.53917187499999997,"top":0.802734375},"atlasBounds":{"left":556.5,"bottom":5210.5,"right":691.5,"top":5424.5}},{"unicode":106,"advance":0.59999999999999998,"planeBounds":{"left":-0.0030164473684210196,"bottom":-0.212890625,"right":0.54385855263157901,"top":0.802734375},"atlasBounds":{"left":1855.5,"bottom":6896.5,"right":1995.5,"top":7156.5}},{"unicode":107,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.033203125,"right":0.60906250000000006,"top":0.763671875},"atlasBounds":{"left":543.5,"bottom":4585.5,"right":691.5,"top":4789.5}},{"unicode":108,"advance":0.59999999999999998,"planeBounds":{"left":0.072125000000000022,"bottom":-0.033203125,"right":0.54087499999999999,"top":0.763671875},"atlasBounds":{"left":839.5,"bottom":4585.5,"right":959.5,"top":4789.5}},{"unicode":109,"advance":0.59999999999999998,"planeBounds":{"left":-0.0078995535714285418,"bottom":-0.033203125,"right":0.58975669642857143,"top":0.591796875},"atlasBounds":{"left":5818.5,"bottom":3647.5,"right":5971.5,"top":3807.5}},{"unicode":110,"advance":0.59999999999999998,"planeBounds":{"left":0.026563068181818143,"bottom":-0.033203125,"right":0.55000056818181819,"top":0.591796875},"atlasBounds":{"left":5972.5,"bottom":3647.5,"right":6106.5,"top":3807.5}},{"unicode":111,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.044921875,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":693.5,"bottom":3644.5,"right":821.5,"top":3807.5}},{"unicode":112,"advance":0.59999999999999998,"planeBounds":{"left":-0.0030619318181818447,"bottom":-0.212890625,"right":0.55162556818181818,"top":0.591796875},"atlasBounds":{"left":4835.5,"bottom":5000.5,"right":4977.5,"top":5206.5}},{"unicode":113,"advance":0.59999999999999998,"planeBounds":{"left":0.048772321428571429,"bottom":-0.212890625,"right":0.57220982142857146,"top":0.591796875},"atlasBounds":{"left":4978.5,"bottom":5000.5,"right":5112.5,"top":5206.5}},{"unicode":114,"advance":0.59999999999999998,"planeBounds":{"left":0.047397836538461566,"bottom":-0.033203125,"right":0.56692908653846152,"top":0.591796875},"atlasBounds":{"left":6270.5,"bottom":3647.5,"right":6403.5,"top":3807.5}},{"unicode":115,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.041015625,"right":0.5598947010869566,"top":0.591796875},"atlasBounds":{"left":3321.5,"bottom":3645.5,"right":3456.5,"top":3807.5}},{"unicode":116,"advance":0.59999999999999998,"planeBounds":{"left":0.058328124999999988,"bottom":-0.033203125,"right":0.58567187500000006,"top":0.736328125},"atlasBounds":{"left":5445.5,"bottom":4182.5,"right":5580.5,"top":4379.5}},{"unicode":117,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.583984375},"atlasBounds":{"left":4662.5,"bottom":3646.5,"right":4796.5,"top":3807.5}},{"unicode":118,"advance":0.59999999999999998,"planeBounds":{"left":0.081281249999999985,"bottom":-0.033203125,"right":0.60471874999999997,"top":0.583984375},"atlasBounds":{"left":2164.5,"bottom":3485.5,"right":2298.5,"top":3643.5}},{"unicode":119,"advance":0.59999999999999998,"planeBounds":{"left":0.051984375000000006,"bottom":-0.033203125,"right":0.63401562499999997,"top":0.583984375},"atlasBounds":{"left":2299.5,"bottom":3485.5,"right":2448.5,"top":3643.5}},{"unicode":120,"advance":0.59999999999999998,"planeBounds":{"left":-0.0087343749999999817,"bottom":-0.033203125,"right":0.59673437500000004,"top":0.583984375},"atlasBounds":{"left":2449.5,"bottom":3485.5,"right":2604.5,"top":3643.5}},{"unicode":121,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.583984375},"atlasBounds":{"left":1095.5,"bottom":4585.5,"right":1227.5,"top":4789.5}},{"unicode":122,"advance":0.59999999999999998,"planeBounds":{"left":0.02201562499999999,"bottom":-0.033203125,"right":0.56498437499999998,"top":0.583984375},"atlasBounds":{"left":2605.5,"bottom":3485.5,"right":2744.5,"top":3643.5}},{"unicode":123,"advance":0.59999999999999998,"planeBounds":{"left":0.060156249999999994,"bottom":-0.142578125,"right":0.61484375000000002,"top":0.861328125},"atlasBounds":{"left":3172.5,"bottom":6635.5,"right":3314.5,"top":6892.5}},{"unicode":124,"advance":0.59999999999999998,"planeBounds":{"left":0.174328125,"bottom":-0.142578125,"right":0.451671875,"top":0.861328125},"atlasBounds":{"left":3315.5,"bottom":6635.5,"right":3386.5,"top":6892.5}},{"unicode":125,"advance":0.59999999999999998,"planeBounds":{"left":0.011156249999999996,"bottom":-0.142578125,"right":0.56584374999999998,"top":0.861328125},"atlasBounds":{"left":3387.5,"bottom":6635.5,"right":3529.5,"top":6892.5}},{"unicode":126,"advance":0.59999999999999998,"planeBounds":{"left":0.045874999999999985,"bottom":0.224609375,"right":0.577125,"top":0.482421875},"atlasBounds":{"left":7150.5,"bottom":3272.5,"right":7286.5,"top":3338.5}},{"unicode":160,"advance":0.59999999999999998},{"unicode":161,"advance":0.59999999999999998,"planeBounds":{"left":0.15629871323529412,"bottom":-0.212890625,"right":0.43364246323529415,"top":0.587890625},"atlasBounds":{"left":477.5,"bottom":4791.5,"right":548.5,"top":4996.5}},{"unicode":162,"advance":0.59999999999999998,"planeBounds":{"left":0.054332743710691855,"bottom":-0.173828125,"right":0.56214524371069186,"top":0.724609375},"atlasBounds":{"left":6702.5,"bottom":5890.5,"right":6832.5,"top":6120.5}},{"unicode":163,"advance":0.59999999999999998,"planeBounds":{"left":-0.00071370967741937719,"bottom":-0.033203125,"right":0.59303629032258065,"top":0.771484375},"atlasBounds":{"left":5113.5,"bottom":5000.5,"right":5265.5,"top":5206.5}},{"unicode":164,"advance":0.59999999999999998,"planeBounds":{"left":0.0035000000000000265,"bottom":0.087890625,"right":0.62850000000000006,"top":0.658203125},"atlasBounds":{"left":7742.5,"bottom":3497.5,"right":7902.5,"top":3643.5}},{"unicode":165,"advance":0.59999999999999998,"planeBounds":{"left":0.0043749999999999848,"bottom":-0.033203125,"right":0.66062500000000002,"top":0.763671875},"atlasBounds":{"left":1228.5,"bottom":4585.5,"right":1396.5,"top":4789.5}},{"unicode":166,"advance":0.59999999999999998,"planeBounds":{"left":0.174328125,"bottom":-0.142578125,"right":0.451671875,"top":0.861328125},"atlasBounds":{"left":3530.5,"bottom":6635.5,"right":3601.5,"top":6892.5}},{"unicode":167,"advance":0.59999999999999998,"planeBounds":{"left":0.0086688194444444373,"bottom":-0.189453125,"right":0.59070006944444453,"top":0.771484375},"atlasBounds":{"left":7734.5,"bottom":6127.5,"right":7883.5,"top":6373.5}},{"unicode":169,"advance":0.59999999999999998,"planeBounds":{"left":0.024117953431372508,"bottom":0.076171875,"right":0.62177420343137246,"top":0.771484375},"atlasBounds":{"left":2381.5,"bottom":3996.5,"right":2534.5,"top":4174.5}},{"unicode":171,"advance":0.59999999999999998,"planeBounds":{"left":0.0094531250000000257,"bottom":0.005859375,"right":0.63054687500000006,"top":0.552734375},"atlasBounds":{"left":1219.5,"bottom":3344.5,"right":1378.5,"top":3484.5}},{"unicode":172,"advance":0.59999999999999998,"planeBounds":{"left":0.076171875000000014,"bottom":0.158203125,"right":0.548828125,"top":0.419921875},"atlasBounds":{"left":6865.5,"bottom":3271.5,"right":6986.5,"top":3338.5}},{"unicode":174,"advance":0.59999999999999998,"planeBounds":{"left":0.024117953431372508,"bottom":0.076171875,"right":0.62177420343137246,"top":0.771484375},"atlasBounds":{"left":2535.5,"bottom":3996.5,"right":2688.5,"top":4174.5}},{"unicode":176,"advance":0.59999999999999998,"planeBounds":{"left":0.17081249999999998,"bottom":0.423828125,"right":0.53018750000000003,"top":0.771484375},"atlasBounds":{"left":5085.5,"bottom":3249.5,"right":5177.5,"top":3338.5}},{"unicode":177,"advance":0.59999999999999998,"planeBounds":{"left":-0.0069687499999999914,"bottom":-0.033203125,"right":0.57896875000000003,"top":0.603515625},"atlasBounds":{"left":1102.5,"bottom":3644.5,"right":1252.5,"top":3807.5}},{"unicode":178,"advance":0.59999999999999998,"planeBounds":{"left":0.14774857954545456,"bottom":0.349609375,"right":0.55009232954545451,"top":0.869140625},"atlasBounds":{"left":4002.5,"bottom":3351.5,"right":4105.5,"top":3484.5}},{"unicode":179,"advance":0.59999999999999998,"planeBounds":{"left":0.15428804347826089,"bottom":0.345703125,"right":0.56053804347826086,"top":0.861328125},"atlasBounds":{"left":5018.5,"bottom":3352.5,"right":5122.5,"top":3484.5}},{"unicode":181,"advance":0.59999999999999998,"planeBounds":{"left":-0.0015624999999999942,"bottom":-0.212890625,"right":0.57656249999999998,"top":0.583984375},"atlasBounds":{"left":1974.5,"bottom":4585.5,"right":2122.5,"top":4789.5}},{"unicode":182,"advance":0.59999999999999998,"planeBounds":{"left":0.081092865566037745,"bottom":-0.212890625,"right":0.60062411556603779,"top":0.763671875},"atlasBounds":{"left":2069.5,"bottom":6123.5,"right":2202.5,"top":6373.5}},{"unicode":183,"advance":0.59999999999999998,"planeBounds":{"left":0.15487839673913045,"bottom":0.228515625,"right":0.37753464673913045,"top":0.451171875},"atlasBounds":{"left":0.5,"bottom":2863.5,"right":57.5,"top":2920.5}},{"unicode":185,"advance":0.59999999999999998,"planeBounds":{"left":0.14459374999999999,"bottom":0.349609375,"right":0.52740624999999997,"top":0.861328125},"atlasBounds":{"left":5223.5,"bottom":3353.5,"right":5321.5,"top":3484.5}},{"unicode":187,"advance":0.59999999999999998,"planeBounds":{"left":-0.030046874999999976,"bottom":0.005859375,"right":0.59104687499999997,"top":0.552734375},"atlasBounds":{"left":1379.5,"bottom":3344.5,"right":1538.5,"top":3484.5}},{"unicode":188,"advance":0.59999999999999998,"planeBounds":{"left":-0.0069218749999999897,"bottom":-0.033203125,"right":0.58292187500000003,"top":0.763671875},"atlasBounds":{"left":2123.5,"bottom":4585.5,"right":2274.5,"top":4789.5}},{"unicode":189,"advance":0.59999999999999998,"planeBounds":{"left":-0.0061750000000000095,"bottom":-0.033203125,"right":0.58757500000000007,"top":0.763671875},"atlasBounds":{"left":2275.5,"bottom":4585.5,"right":2427.5,"top":4789.5}},{"unicode":190,"advance":0.59999999999999998,"planeBounds":{"left":-0.0069218749999999897,"bottom":-0.033203125,"right":0.58292187500000003,"top":0.763671875},"atlasBounds":{"left":2428.5,"bottom":4585.5,"right":2579.5,"top":4789.5}},{"unicode":191,"advance":0.59999999999999998,"planeBounds":{"left":0.033036694004524893,"bottom":-0.212890625,"right":0.47444294400452486,"top":0.587890625},"atlasBounds":{"left":549.5,"bottom":4791.5,"right":662.5,"top":4996.5}},{"unicode":192,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.982421875},"atlasBounds":{"left":1996.5,"bottom":6896.5,"right":2135.5,"top":7156.5}},{"unicode":193,"advance":0.59999999999999998,"planeBounds":{"left":-0.014921874999999989,"bottom":-0.033203125,"right":0.57492187500000003,"top":0.982421875},"atlasBounds":{"left":2136.5,"bottom":6896.5,"right":2287.5,"top":7156.5}},{"unicode":194,"advance":0.59999999999999998,"planeBounds":{"left":-0.015374999999999986,"bottom":-0.033203125,"right":0.57837499999999997,"top":0.982421875},"atlasBounds":{"left":2288.5,"bottom":6896.5,"right":2440.5,"top":7156.5}},{"unicode":195,"advance":0.59999999999999998,"planeBounds":{"left":-0.015640624999999977,"bottom":-0.033203125,"right":0.59764062500000004,"top":0.978515625},"atlasBounds":{"left":775.5,"bottom":6633.5,"right":932.5,"top":6892.5}},{"unicode":196,"advance":0.59999999999999998,"planeBounds":{"left":-0.014993055555555539,"bottom":-0.033203125,"right":0.59438194444444448,"top":0.970703125},"atlasBounds":{"left":3602.5,"bottom":6635.5,"right":3758.5,"top":6892.5}},{"unicode":197,"advance":0.59999999999999998,"planeBounds":{"left":-0.014902573529411782,"bottom":-0.033203125,"right":0.53978492647058818,"top":1.017578125},"atlasBounds":{"left":1482.5,"bottom":7159.5,"right":1624.5,"top":7428.5}},{"unicode":198,"advance":0.59999999999999998,"planeBounds":{"left":-0.044874999999999984,"bottom":-0.033203125,"right":0.673875,"top":0.763671875},"atlasBounds":{"left":2580.5,"bottom":4585.5,"right":2764.5,"top":4789.5}},{"unicode":199,"advance":0.59999999999999998,"planeBounds":{"left":0.053494047619047636,"bottom":-0.232421875,"right":0.59255654761904764,"top":0.771484375},"atlasBounds":{"left":3759.5,"bottom":6635.5,"right":3897.5,"top":6892.5}},{"unicode":200,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":2441.5,"bottom":6896.5,"right":2590.5,"top":7156.5}},{"unicode":201,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":2591.5,"bottom":6896.5,"right":2740.5,"top":7156.5}},{"unicode":202,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":2741.5,"bottom":6896.5,"right":2890.5,"top":7156.5}},{"unicode":203,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.970703125},"atlasBounds":{"left":3898.5,"bottom":6635.5,"right":4047.5,"top":6892.5}},{"unicode":204,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.982421875},"atlasBounds":{"left":2891.5,"bottom":6896.5,"right":3032.5,"top":7156.5}},{"unicode":205,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.982421875},"atlasBounds":{"left":3033.5,"bottom":6896.5,"right":3174.5,"top":7156.5}},{"unicode":206,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.982421875},"atlasBounds":{"left":3175.5,"bottom":6896.5,"right":3316.5,"top":7156.5}},{"unicode":207,"advance":0.59999999999999998,"planeBounds":{"left":0.037397569444444438,"bottom":-0.033203125,"right":0.5959913194444445,"top":0.970703125},"atlasBounds":{"left":4048.5,"bottom":6635.5,"right":4191.5,"top":6892.5}},{"unicode":208,"advance":0.59999999999999998,"planeBounds":{"left":-0.022661458333333283,"bottom":-0.033203125,"right":0.57499479166666678,"top":0.763671875},"atlasBounds":{"left":3369.5,"bottom":4585.5,"right":3522.5,"top":4789.5}},{"unicode":209,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.978515625},"atlasBounds":{"left":933.5,"bottom":6633.5,"right":1081.5,"top":6892.5}},{"unicode":210,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.982421875},"atlasBounds":{"left":5327.5,"bottom":7165.5,"right":5463.5,"top":7428.5}},{"unicode":211,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.982421875},"atlasBounds":{"left":5464.5,"bottom":7165.5,"right":5600.5,"top":7428.5}},{"unicode":212,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.982421875},"atlasBounds":{"left":5601.5,"bottom":7165.5,"right":5737.5,"top":7428.5}},{"unicode":213,"advance":0.59999999999999998,"planeBounds":{"left":0.049718237704918067,"bottom":-0.044921875,"right":0.59659323770491801,"top":0.978515625},"atlasBounds":{"left":1251.5,"bottom":6894.5,"right":1391.5,"top":7156.5}},{"unicode":214,"advance":0.59999999999999998,"planeBounds":{"left":0.048412682149362514,"bottom":-0.044921875,"right":0.59528768214936245,"top":0.970703125},"atlasBounds":{"left":3317.5,"bottom":6896.5,"right":3457.5,"top":7156.5}},{"unicode":215,"advance":0.59999999999999998,"planeBounds":{"left":0.061406250000000002,"bottom":0.107421875,"right":0.55359375,"top":0.556640625},"atlasBounds":{"left":7032.5,"bottom":3369.5,"right":7158.5,"top":3484.5}},{"unicode":216,"advance":0.59999999999999998,"planeBounds":{"left":-0.039062499999999993,"bottom":-0.072265625,"right":0.6640625,"top":0.783203125},"atlasBounds":{"left":3428.5,"bottom":5427.5,"right":3608.5,"top":5646.5}},{"unicode":217,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.982421875},"atlasBounds":{"left":5738.5,"bottom":7165.5,"right":5879.5,"top":7428.5}},{"unicode":218,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.982421875},"atlasBounds":{"left":5880.5,"bottom":7165.5,"right":6021.5,"top":7428.5}},{"unicode":219,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.982421875},"atlasBounds":{"left":6022.5,"bottom":7165.5,"right":6163.5,"top":7428.5}},{"unicode":220,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.970703125},"atlasBounds":{"left":3458.5,"bottom":6896.5,"right":3599.5,"top":7156.5}},{"unicode":221,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.982421875},"atlasBounds":{"left":3600.5,"bottom":6896.5,"right":3748.5,"top":7156.5}},{"unicode":222,"advance":0.59999999999999998,"planeBounds":{"left":0.022877520161290306,"bottom":-0.033203125,"right":0.5892837701612903,"top":0.763671875},"atlasBounds":{"left":4592.5,"bottom":4585.5,"right":4737.5,"top":4789.5}},{"unicode":223,"advance":0.59999999999999998,"planeBounds":{"left":-0.1651034482758621,"bottom":-0.212890625,"right":0.5848965517241379,"top":0.771484375},"atlasBounds":{"left":276.5,"bottom":6121.5,"right":468.5,"top":6373.5}},{"unicode":224,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.818359375},"atlasBounds":{"left":4487.5,"bottom":5653.5,"right":4620.5,"top":5874.5}},{"unicode":225,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.818359375},"atlasBounds":{"left":4621.5,"bottom":5653.5,"right":4754.5,"top":5874.5}},{"unicode":226,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.818359375},"atlasBounds":{"left":4755.5,"bottom":5653.5,"right":4888.5,"top":5874.5}},{"unicode":227,"advance":0.59999999999999998,"planeBounds":{"left":0.044490384615384584,"bottom":-0.044921875,"right":0.57574038461538457,"top":0.814453125},"atlasBounds":{"left":1435.5,"bottom":5426.5,"right":1571.5,"top":5646.5}},{"unicode":228,"advance":0.59999999999999998,"planeBounds":{"left":0.044137954059829024,"bottom":-0.044921875,"right":0.57148170405982901,"top":0.802734375},"atlasBounds":{"left":6667.5,"bottom":5429.5,"right":6802.5,"top":5646.5}},{"unicode":229,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.857421875},"atlasBounds":{"left":6433.5,"bottom":5889.5,"right":6566.5,"top":6120.5}},{"unicode":230,"advance":0.59999999999999998,"planeBounds":{"left":-0.019126816860465072,"bottom":-0.044921875,"right":0.61759193313953498,"top":0.591796875},"atlasBounds":{"left":1668.5,"bottom":3644.5,"right":1831.5,"top":3807.5}},{"unicode":231,"advance":0.59999999999999998,"planeBounds":{"left":0.054315883119486756,"bottom":-0.232421875,"right":0.56212838311948676,"top":0.591796875},"atlasBounds":{"left":2489.5,"bottom":5213.5,"right":2619.5,"top":5424.5}},{"unicode":232,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.818359375},"atlasBounds":{"left":4889.5,"bottom":5653.5,"right":5019.5,"top":5874.5}},{"unicode":233,"advance":0.59999999999999998,"planeBounds":{"left":0.047718749999999983,"bottom":-0.044921875,"right":0.55553125000000003,"top":0.818359375},"atlasBounds":{"left":5020.5,"bottom":5653.5,"right":5150.5,"top":5874.5}},{"unicode":234,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.818359375},"atlasBounds":{"left":5151.5,"bottom":5653.5,"right":5281.5,"top":5874.5}},{"unicode":235,"advance":0.59999999999999998,"planeBounds":{"left":0.047553819444444437,"bottom":-0.044921875,"right":0.56708506944444448,"top":0.802734375},"atlasBounds":{"left":6803.5,"bottom":5429.5,"right":6936.5,"top":5646.5}},{"unicode":236,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.033203125,"right":0.53917187499999997,"top":0.818359375},"atlasBounds":{"left":4395.5,"bottom":5428.5,"right":4530.5,"top":5646.5}},{"unicode":237,"advance":0.59999999999999998,"planeBounds":{"left":0.012203124999999997,"bottom":-0.033203125,"right":0.57079687499999998,"top":0.818359375},"atlasBounds":{"left":4531.5,"bottom":5428.5,"right":4674.5,"top":5646.5}},{"unicode":238,"advance":0.59999999999999998,"planeBounds":{"left":0.012656249999999997,"bottom":-0.033203125,"right":0.56734375000000004,"top":0.818359375},"atlasBounds":{"left":4675.5,"bottom":5428.5,"right":4817.5,"top":5646.5}},{"unicode":239,"advance":0.59999999999999998,"planeBounds":{"left":0.012038194444444443,"bottom":-0.033203125,"right":0.58235069444444443,"top":0.802734375},"atlasBounds":{"left":8045.5,"bottom":6678.5,"right":8191.5,"top":6892.5}},{"unicode":240,"advance":0.59999999999999998,"planeBounds":{"left":0.031150862068965501,"bottom":-0.044921875,"right":0.56240086206896545,"top":0.763671875},"atlasBounds":{"left":2457.5,"bottom":4999.5,"right":2593.5,"top":5206.5}},{"unicode":241,"advance":0.59999999999999998,"planeBounds":{"left":0.026109374999999994,"bottom":-0.033203125,"right":0.57689062499999999,"top":0.814453125},"atlasBounds":{"left":6937.5,"bottom":5429.5,"right":7078.5,"top":5646.5}},{"unicode":242,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.044921875,"right":0.54949999999999999,"top":0.818359375},"atlasBounds":{"left":5282.5,"bottom":5653.5,"right":5410.5,"top":5874.5}},{"unicode":243,"advance":0.59999999999999998,"planeBounds":{"left":0.048249487704918055,"bottom":-0.044921875,"right":0.55606198770491799,"top":0.818359375},"atlasBounds":{"left":5411.5,"bottom":5653.5,"right":5541.5,"top":5874.5}},{"unicode":244,"advance":0.59999999999999998,"planeBounds":{"left":0.048702612704918047,"bottom":-0.044921875,"right":0.55260886270491805,"top":0.818359375},"atlasBounds":{"left":5542.5,"bottom":5653.5,"right":5671.5,"top":5874.5}},{"unicode":245,"advance":0.59999999999999998,"planeBounds":{"left":0.048436987704918062,"bottom":-0.044921875,"right":0.571874487704918,"top":0.814453125},"atlasBounds":{"left":1572.5,"bottom":5426.5,"right":1706.5,"top":5646.5}},{"unicode":246,"advance":0.59999999999999998,"planeBounds":{"left":0.050037682149362557,"bottom":-0.044921875,"right":0.56566268214936255,"top":0.802734375},"atlasBounds":{"left":7079.5,"bottom":5429.5,"right":7211.5,"top":5646.5}},{"unicode":247,"advance":0.59999999999999998,"planeBounds":{"left":0.072671875000000011,"bottom":0.029296875,"right":0.54532812500000005,"top":0.638671875},"atlasBounds":{"left":5043.5,"bottom":3487.5,"right":5164.5,"top":3643.5}},{"unicode":248,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.064453125,"right":0.63203125000000004,"top":0.623046875},"atlasBounds":{"left":6081.5,"bottom":3998.5,"right":6251.5,"top":4174.5}},{"unicode":249,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.818359375},"atlasBounds":{"left":5672.5,"bottom":5653.5,"right":5806.5,"top":5874.5}},{"unicode":250,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.818359375},"atlasBounds":{"left":5807.5,"bottom":5653.5,"right":5941.5,"top":5874.5}},{"unicode":251,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.818359375},"atlasBounds":{"left":5942.5,"bottom":5653.5,"right":6076.5,"top":5874.5}},{"unicode":252,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.802734375},"atlasBounds":{"left":7212.5,"bottom":5429.5,"right":7346.5,"top":5646.5}},{"unicode":253,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.818359375},"atlasBounds":{"left":4099.5,"bottom":7164.5,"right":4231.5,"top":7428.5}},{"unicode":254,"advance":0.59999999999999998,"planeBounds":{"left":-0.0050619318181818447,"bottom":-0.212890625,"right":0.54962556818181818,"top":0.763671875},"atlasBounds":{"left":2203.5,"bottom":6123.5,"right":2345.5,"top":6373.5}},{"unicode":255,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.802734375},"atlasBounds":{"left":3749.5,"bottom":6896.5,"right":3881.5,"top":7156.5}},{"unicode":256,"advance":0.59999999999999998,"planeBounds":{"left":-0.014874999999999985,"bottom":-0.033203125,"right":0.57887500000000003,"top":0.935546875},"atlasBounds":{"left":5741.5,"bottom":6125.5,"right":5893.5,"top":6373.5}},{"unicode":257,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.767578125},"atlasBounds":{"left":311.5,"bottom":4998.5,"right":444.5,"top":5206.5}},{"unicode":258,"advance":0.59999999999999998,"planeBounds":{"left":-0.015734374999999981,"bottom":-0.033203125,"right":0.58973437500000003,"top":0.982421875},"atlasBounds":{"left":3882.5,"bottom":6896.5,"right":4037.5,"top":7156.5}},{"unicode":259,"advance":0.59999999999999998,"planeBounds":{"left":0.044396634615384581,"bottom":-0.044921875,"right":0.56783413461538457,"top":0.818359375},"atlasBounds":{"left":6077.5,"bottom":5653.5,"right":6211.5,"top":5874.5}},{"unicode":260,"advance":0.59999999999999998,"planeBounds":{"left":-0.015796875000000005,"bottom":-0.232421875,"right":0.54279687499999996,"top":0.763671875},"atlasBounds":{"left":7039.5,"bottom":6376.5,"right":7182.5,"top":6631.5}},{"unicode":261,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.232421875,"right":0.56438100961538451,"top":0.591796875},"atlasBounds":{"left":2620.5,"bottom":5213.5,"right":2753.5,"top":5424.5}},{"unicode":262,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.982421875},"atlasBounds":{"left":6164.5,"bottom":7165.5,"right":6302.5,"top":7428.5}},{"unicode":263,"advance":0.59999999999999998,"planeBounds":{"left":0.053034067622950778,"bottom":-0.044921875,"right":0.56475281762295082,"top":0.818359375},"atlasBounds":{"left":6212.5,"bottom":5653.5,"right":6343.5,"top":5874.5}},{"unicode":264,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.982421875},"atlasBounds":{"left":6303.5,"bottom":7165.5,"right":6441.5,"top":7428.5}},{"unicode":265,"advance":0.59999999999999998,"planeBounds":{"left":0.054383744347088724,"bottom":-0.044921875,"right":0.5621962443470887,"top":0.818359375},"atlasBounds":{"left":6344.5,"bottom":5653.5,"right":6474.5,"top":5874.5}},{"unicode":266,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.970703125},"atlasBounds":{"left":4038.5,"bottom":6896.5,"right":4176.5,"top":7156.5}},{"unicode":267,"advance":0.59999999999999998,"planeBounds":{"left":0.054383744347088724,"bottom":-0.044921875,"right":0.5621962443470887,"top":0.802734375},"atlasBounds":{"left":7347.5,"bottom":5429.5,"right":7477.5,"top":5646.5}},{"unicode":268,"advance":0.59999999999999998,"planeBounds":{"left":0.05379485887096775,"bottom":-0.044921875,"right":0.6045761088709678,"top":0.982421875},"atlasBounds":{"left":6442.5,"bottom":7165.5,"right":6583.5,"top":7428.5}},{"unicode":269,"advance":0.59999999999999998,"planeBounds":{"left":0.053268442622950794,"bottom":-0.044921875,"right":0.58451844262295083,"top":0.818359375},"atlasBounds":{"left":6475.5,"bottom":5653.5,"right":6611.5,"top":5874.5}},{"unicode":270,"advance":0.59999999999999998,"planeBounds":{"left":0.026390625000000004,"bottom":-0.033203125,"right":0.600609375,"top":0.982421875},"atlasBounds":{"left":4177.5,"bottom":6896.5,"right":4324.5,"top":7156.5}},{"unicode":271,"advance":0.59999999999999998,"planeBounds":{"left":0.02868780637254905,"bottom":-0.044921875,"right":0.70446905637254909,"top":0.763671875},"atlasBounds":{"left":2864.5,"bottom":4999.5,"right":3037.5,"top":5206.5}},{"unicode":272,"advance":0.59999999999999998,"planeBounds":{"left":-0.022661458333333283,"bottom":-0.033203125,"right":0.57499479166666678,"top":0.763671875},"atlasBounds":{"left":5328.5,"bottom":4585.5,"right":5481.5,"top":4789.5}},{"unicode":273,"advance":0.59999999999999998,"planeBounds":{"left":0.049778935185185176,"bottom":-0.044921875,"right":0.68259143518518528,"top":0.763671875},"atlasBounds":{"left":3038.5,"bottom":4999.5,"right":3200.5,"top":5206.5}},{"unicode":274,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.935546875},"atlasBounds":{"left":5894.5,"bottom":6125.5,"right":6043.5,"top":6373.5}},{"unicode":275,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.767578125},"atlasBounds":{"left":445.5,"bottom":4998.5,"right":575.5,"top":5206.5}},{"unicode":276,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":4325.5,"bottom":6896.5,"right":4474.5,"top":7156.5}},{"unicode":277,"advance":0.59999999999999998,"planeBounds":{"left":0.047812499999999994,"bottom":-0.044921875,"right":0.56343750000000004,"top":0.818359375},"atlasBounds":{"left":6612.5,"bottom":5653.5,"right":6744.5,"top":5874.5}},{"unicode":278,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.970703125},"atlasBounds":{"left":4192.5,"bottom":6635.5,"right":4341.5,"top":6892.5}},{"unicode":279,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.802734375},"atlasBounds":{"left":7478.5,"bottom":5429.5,"right":7608.5,"top":5646.5}},{"unicode":280,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.232421875,"right":0.61801562499999996,"top":0.763671875},"atlasBounds":{"left":7183.5,"bottom":6376.5,"right":7332.5,"top":6631.5}},{"unicode":281,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000002,"bottom":-0.232421875,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":2754.5,"bottom":5213.5,"right":2882.5,"top":5424.5}},{"unicode":282,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":4475.5,"bottom":6896.5,"right":4624.5,"top":7156.5}},{"unicode":283,"advance":0.59999999999999998,"planeBounds":{"left":0.047953124999999999,"bottom":-0.044921875,"right":0.57529687500000004,"top":0.818359375},"atlasBounds":{"left":6745.5,"bottom":5653.5,"right":6880.5,"top":5874.5}},{"unicode":284,"advance":0.59999999999999998,"planeBounds":{"left":0.049439948156682033,"bottom":-0.044921875,"right":0.58850244815668207,"top":0.982421875},"atlasBounds":{"left":6584.5,"bottom":7165.5,"right":6722.5,"top":7428.5}},{"unicode":285,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.818359375},"atlasBounds":{"left":4232.5,"bottom":7164.5,"right":4364.5,"top":7428.5}},{"unicode":286,"advance":0.59999999999999998,"planeBounds":{"left":0.04970110887096775,"bottom":-0.044921875,"right":0.59266985887096779,"top":0.982421875},"atlasBounds":{"left":6723.5,"bottom":7165.5,"right":6862.5,"top":7428.5}},{"unicode":287,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.818359375},"atlasBounds":{"left":4365.5,"bottom":7164.5,"right":4497.5,"top":7428.5}},{"unicode":288,"advance":0.59999999999999998,"planeBounds":{"left":0.049439948156682033,"bottom":-0.044921875,"right":0.58850244815668207,"top":0.970703125},"atlasBounds":{"left":4625.5,"bottom":6896.5,"right":4763.5,"top":7156.5}},{"unicode":289,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.802734375},"atlasBounds":{"left":4764.5,"bottom":6896.5,"right":4896.5,"top":7156.5}},{"unicode":290,"advance":0.59999999999999998,"planeBounds":{"left":0.049439948156682033,"bottom":-0.271484375,"right":0.58850244815668207,"top":0.771484375},"atlasBounds":{"left":1625.5,"bottom":7161.5,"right":1763.5,"top":7428.5}},{"unicode":291,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.912109375},"atlasBounds":{"left":3287.5,"bottom":7496.5,"right":3419.5,"top":7784.5}},{"unicode":292,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.982421875},"atlasBounds":{"left":4897.5,"bottom":6896.5,"right":5044.5,"top":7156.5}},{"unicode":293,"advance":0.59999999999999998,"planeBounds":{"left":0.014703693181818148,"bottom":-0.033203125,"right":0.54985994318181819,"top":0.978515625},"atlasBounds":{"left":1082.5,"bottom":6633.5,"right":1219.5,"top":6892.5}},{"unicode":294,"advance":0.59999999999999998,"planeBounds":{"left":0.019328124999999988,"bottom":-0.033203125,"right":0.67167187500000003,"top":0.763671875},"atlasBounds":{"left":8024.5,"bottom":6952.5,"right":8191.5,"top":7156.5}},{"unicode":295,"advance":0.59999999999999998,"planeBounds":{"left":0.020516193181818194,"bottom":-0.033203125,"right":0.54004744318181819,"top":0.763671875},"atlasBounds":{"left":6511.5,"bottom":4585.5,"right":6644.5,"top":4789.5}},{"unicode":296,"advance":0.59999999999999998,"planeBounds":{"left":0.038703124999999998,"bottom":-0.033203125,"right":0.59729687500000006,"top":0.978515625},"atlasBounds":{"left":1220.5,"bottom":6633.5,"right":1363.5,"top":6892.5}},{"unicode":297,"advance":0.59999999999999998,"planeBounds":{"left":0.012390625000000004,"bottom":-0.033203125,"right":0.58660937499999999,"top":0.814453125},"atlasBounds":{"left":7609.5,"bottom":5429.5,"right":7756.5,"top":5646.5}},{"unicode":298,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.935546875},"atlasBounds":{"left":6225.5,"bottom":6125.5,"right":6366.5,"top":6373.5}},{"unicode":299,"advance":0.59999999999999998,"planeBounds":{"left":0.012656249999999997,"bottom":-0.033203125,"right":0.56734375000000004,"top":0.767578125},"atlasBounds":{"left":808.5,"bottom":4791.5,"right":950.5,"top":4996.5}},{"unicode":300,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.982421875},"atlasBounds":{"left":5045.5,"bottom":6896.5,"right":5186.5,"top":7156.5}},{"unicode":301,"advance":0.59999999999999998,"planeBounds":{"left":0.012296875000000001,"bottom":-0.033203125,"right":0.57870312499999998,"top":0.818359375},"atlasBounds":{"left":4818.5,"bottom":5428.5,"right":4963.5,"top":5646.5}},{"unicode":302,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.232421875,"right":0.58939062500000006,"top":0.763671875},"atlasBounds":{"left":7443.5,"bottom":6376.5,"right":7584.5,"top":6631.5}},{"unicode":303,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.232421875,"right":0.53917187499999997,"top":0.802734375},"atlasBounds":{"left":2735.5,"bottom":7163.5,"right":2870.5,"top":7428.5}},{"unicode":304,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.970703125},"atlasBounds":{"left":4342.5,"bottom":6635.5,"right":4483.5,"top":6892.5}},{"unicode":305,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.033203125,"right":0.53917187499999997,"top":0.583984375},"atlasBounds":{"left":1131.5,"bottom":3485.5,"right":1266.5,"top":3643.5}},{"unicode":308,"advance":0.59999999999999998,"planeBounds":{"left":0.011810483870967772,"bottom":-0.044921875,"right":0.73056048387096784,"top":0.982421875},"atlasBounds":{"left":6863.5,"bottom":7165.5,"right":7047.5,"top":7428.5}},{"unicode":309,"advance":0.59999999999999998,"planeBounds":{"left":-0.0038593749999999683,"bottom":-0.212890625,"right":0.632859375,"top":0.818359375},"atlasBounds":{"left":4498.5,"bottom":7164.5,"right":4661.5,"top":7428.5}},{"unicode":310,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.271484375,"right":0.64309375000000002,"top":0.763671875},"atlasBounds":{"left":2871.5,"bottom":7163.5,"right":3029.5,"top":7428.5}},{"unicode":311,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.271484375,"right":0.60906250000000006,"top":0.763671875},"atlasBounds":{"left":3030.5,"bottom":7163.5,"right":3178.5,"top":7428.5}},{"unicode":312,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.033203125,"right":0.60906250000000006,"top":0.583984375},"atlasBounds":{"left":577.5,"bottom":3485.5,"right":725.5,"top":3643.5}},{"unicode":313,"advance":0.59999999999999998,"planeBounds":{"left":0.059812499999999991,"bottom":-0.033203125,"right":0.54418750000000005,"top":0.982421875},"atlasBounds":{"left":5187.5,"bottom":6896.5,"right":5311.5,"top":7156.5}},{"unicode":314,"advance":0.59999999999999998,"planeBounds":{"left":0.072125000000000022,"bottom":-0.033203125,"right":0.54087499999999999,"top":0.982421875},"atlasBounds":{"left":5312.5,"bottom":6896.5,"right":5432.5,"top":7156.5}},{"unicode":315,"advance":0.59999999999999998,"planeBounds":{"left":0.059812499999999991,"bottom":-0.271484375,"right":0.54418750000000005,"top":0.763671875},"atlasBounds":{"left":3179.5,"bottom":7163.5,"right":3303.5,"top":7428.5}},{"unicode":316,"advance":0.59999999999999998,"planeBounds":{"left":0.072125000000000022,"bottom":-0.271484375,"right":0.54087499999999999,"top":0.763671875},"atlasBounds":{"left":3304.5,"bottom":7163.5,"right":3424.5,"top":7428.5}},{"unicode":317,"advance":0.59999999999999998,"planeBounds":{"left":0.059812499999999991,"bottom":-0.033203125,"right":0.54418750000000005,"top":0.763671875},"atlasBounds":{"left":6792.5,"bottom":4585.5,"right":6916.5,"top":4789.5}},{"unicode":318,"advance":0.59999999999999998,"planeBounds":{"left":0.072328124999999993,"bottom":-0.033203125,"right":0.59967187499999997,"top":0.763671875},"atlasBounds":{"left":6917.5,"bottom":4585.5,"right":7052.5,"top":4789.5}},{"unicode":319,"advance":0.59999999999999998,"planeBounds":{"left":0.059812499999999991,"bottom":-0.033203125,"right":0.54418750000000005,"top":0.763671875},"atlasBounds":{"left":7186.5,"bottom":4585.5,"right":7310.5,"top":4789.5}},{"unicode":320,"advance":0.59999999999999998,"planeBounds":{"left":0.052468749999999988,"bottom":-0.033203125,"right":0.65403125000000006,"top":0.763671875},"atlasBounds":{"left":8037.5,"bottom":5220.5,"right":8191.5,"top":5424.5}},{"unicode":321,"advance":0.59999999999999998,"planeBounds":{"left":-0.019656249999999997,"bottom":-0.033203125,"right":0.55065624999999996,"top":0.763671875},"atlasBounds":{"left":7311.5,"bottom":4585.5,"right":7457.5,"top":4789.5}},{"unicode":322,"advance":0.59999999999999998,"planeBounds":{"left":0.068171875000000021,"bottom":-0.033203125,"right":0.54082812499999999,"top":0.763671875},"atlasBounds":{"left":7458.5,"bottom":4585.5,"right":7579.5,"top":4789.5}},{"unicode":323,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.982421875},"atlasBounds":{"left":5433.5,"bottom":6896.5,"right":5581.5,"top":7156.5}},{"unicode":324,"advance":0.59999999999999998,"planeBounds":{"left":0.025921874999999987,"bottom":-0.033203125,"right":0.56107812499999998,"top":0.818359375},"atlasBounds":{"left":4964.5,"bottom":5428.5,"right":5101.5,"top":5646.5}},{"unicode":325,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.271484375,"right":0.60306250000000006,"top":0.763671875},"atlasBounds":{"left":3425.5,"bottom":7163.5,"right":3573.5,"top":7428.5}},{"unicode":326,"advance":0.59999999999999998,"planeBounds":{"left":0.026563068181818143,"bottom":-0.271484375,"right":0.55000056818181819,"top":0.591796875},"atlasBounds":{"left":6881.5,"bottom":5653.5,"right":7015.5,"top":5874.5}},{"unicode":327,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.982421875},"atlasBounds":{"left":5582.5,"bottom":6896.5,"right":5730.5,"top":7156.5}},{"unicode":328,"advance":0.59999999999999998,"planeBounds":{"left":0.026156249999999995,"bottom":-0.033203125,"right":0.58084374999999999,"top":0.818359375},"atlasBounds":{"left":5102.5,"bottom":5428.5,"right":5244.5,"top":5646.5}},{"unicode":329,"advance":0.59999999999999998,"planeBounds":{"left":0.021609943181818147,"bottom":-0.033203125,"right":0.54895369318181819,"top":0.822265625},"atlasBounds":{"left":3770.5,"bottom":5427.5,"right":3905.5,"top":5646.5}},{"unicode":330,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.212890625,"right":0.60306250000000006,"top":0.763671875},"atlasBounds":{"left":2346.5,"bottom":6123.5,"right":2494.5,"top":6373.5}},{"unicode":331,"advance":0.59999999999999998,"planeBounds":{"left":0.028516193181818143,"bottom":-0.212890625,"right":0.54804744318181819,"top":0.591796875},"atlasBounds":{"left":6056.5,"bottom":5000.5,"right":6189.5,"top":5206.5}},{"unicode":332,"advance":0.59999999999999998,"planeBounds":{"left":0.048530737704918059,"bottom":-0.044921875,"right":0.579780737704918,"top":0.935546875},"atlasBounds":{"left":1475.5,"bottom":6122.5,"right":1611.5,"top":6373.5}},{"unicode":333,"advance":0.59999999999999998,"planeBounds":{"left":0.048702612704918047,"bottom":-0.044921875,"right":0.55260886270491805,"top":0.767578125},"atlasBounds":{"left":576.5,"bottom":4998.5,"right":705.5,"top":5206.5}},{"unicode":334,"advance":0.59999999999999998,"planeBounds":{"left":0.04962448770491807,"bottom":-0.044921875,"right":0.58868698770491801,"top":0.982421875},"atlasBounds":{"left":7048.5,"bottom":7165.5,"right":7186.5,"top":7428.5}},{"unicode":335,"advance":0.59999999999999998,"planeBounds":{"left":0.048343237704918052,"bottom":-0.044921875,"right":0.563968237704918,"top":0.818359375},"atlasBounds":{"left":7016.5,"bottom":5653.5,"right":7148.5,"top":5874.5}},{"unicode":336,"advance":0.59999999999999998,"planeBounds":{"left":0.049374487704918098,"bottom":-0.044921875,"right":0.65093698770491815,"top":0.982421875},"atlasBounds":{"left":7187.5,"bottom":7165.5,"right":7341.5,"top":7428.5}},{"unicode":337,"advance":0.59999999999999998,"planeBounds":{"left":0.050046362704918079,"bottom":-0.044921875,"right":0.62426511270491813,"top":0.818359375},"atlasBounds":{"left":7149.5,"bottom":5653.5,"right":7296.5,"top":5874.5}},{"unicode":338,"advance":0.59999999999999998,"planeBounds":{"left":-0.01225,"bottom":-0.044921875,"right":0.67525000000000002,"top":0.771484375},"atlasBounds":{"left":5009.5,"bottom":5215.5,"right":5185.5,"top":5424.5}},{"unicode":339,"advance":0.59999999999999998,"planeBounds":{"left":-0.020845999446290085,"bottom":-0.044921875,"right":0.61977900055370994,"top":0.591796875},"atlasBounds":{"left":6941.5,"bottom":3821.5,"right":7105.5,"top":3984.5}},{"unicode":340,"advance":0.59999999999999998,"planeBounds":{"left":0.026161637931034491,"bottom":-0.033203125,"right":0.60428663793103454,"top":0.982421875},"atlasBounds":{"left":5731.5,"bottom":6896.5,"right":5879.5,"top":7156.5}},{"unicode":341,"advance":0.59999999999999998,"planeBounds":{"left":0.047828124999999985,"bottom":-0.033203125,"right":0.575171875,"top":0.818359375},"atlasBounds":{"left":5245.5,"bottom":5428.5,"right":5380.5,"top":5646.5}},{"unicode":342,"advance":0.59999999999999998,"planeBounds":{"left":0.026161637931034491,"bottom":-0.271484375,"right":0.60428663793103454,"top":0.763671875},"atlasBounds":{"left":3574.5,"bottom":7163.5,"right":3722.5,"top":7428.5}},{"unicode":343,"advance":0.59999999999999998,"planeBounds":{"left":-0.070195913461538445,"bottom":-0.271484375,"right":0.56652283653846158,"top":0.591796875},"atlasBounds":{"left":7297.5,"bottom":5653.5,"right":7460.5,"top":5874.5}},{"unicode":344,"advance":0.59999999999999998,"planeBounds":{"left":0.026161637931034491,"bottom":-0.033203125,"right":0.60428663793103454,"top":0.982421875},"atlasBounds":{"left":5880.5,"bottom":6896.5,"right":6028.5,"top":7156.5}},{"unicode":345,"advance":0.59999999999999998,"planeBounds":{"left":0.048062499999999994,"bottom":-0.033203125,"right":0.59493750000000001,"top":0.818359375},"atlasBounds":{"left":5381.5,"bottom":5428.5,"right":5521.5,"top":5646.5}},{"unicode":346,"advance":0.59999999999999998,"planeBounds":{"left":0.032109375000000002,"bottom":-0.044921875,"right":0.582890625,"top":0.982421875},"atlasBounds":{"left":7342.5,"bottom":7165.5,"right":7483.5,"top":7428.5}},{"unicode":347,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.041015625,"right":0.5598947010869566,"top":0.818359375},"atlasBounds":{"left":1707.5,"bottom":5426.5,"right":1842.5,"top":5646.5}},{"unicode":348,"advance":0.59999999999999998,"planeBounds":{"left":0.032109375000000002,"bottom":-0.044921875,"right":0.582890625,"top":0.982421875},"atlasBounds":{"left":7484.5,"bottom":7165.5,"right":7625.5,"top":7428.5}},{"unicode":349,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.041015625,"right":0.5598947010869566,"top":0.818359375},"atlasBounds":{"left":1843.5,"bottom":5426.5,"right":1978.5,"top":5646.5}},{"unicode":350,"advance":0.59999999999999998,"planeBounds":{"left":0.031961226851851834,"bottom":-0.232421875,"right":0.58274247685185188,"top":0.771484375},"atlasBounds":{"left":4484.5,"bottom":6635.5,"right":4625.5,"top":6892.5}},{"unicode":351,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.232421875,"right":0.5598947010869566,"top":0.591796875},"atlasBounds":{"left":2883.5,"bottom":5213.5,"right":3018.5,"top":5424.5}},{"unicode":352,"advance":0.59999999999999998,"planeBounds":{"left":0.033130208333333362,"bottom":-0.044921875,"right":0.59953645833333336,"top":0.982421875},"atlasBounds":{"left":7626.5,"bottom":7165.5,"right":7771.5,"top":7428.5}},{"unicode":353,"advance":0.59999999999999998,"planeBounds":{"left":0.032640625,"bottom":-0.041015625,"right":0.57560937499999998,"top":0.818359375},"atlasBounds":{"left":1979.5,"bottom":5426.5,"right":2118.5,"top":5646.5}},{"unicode":354,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.232421875,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":7585.5,"bottom":6376.5,"right":7728.5,"top":6631.5}},{"unicode":355,"advance":0.59999999999999998,"planeBounds":{"left":0.058328124999999988,"bottom":-0.232421875,"right":0.58567187500000006,"top":0.736328125},"atlasBounds":{"left":6548.5,"bottom":6125.5,"right":6683.5,"top":6373.5}},{"unicode":356,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.033203125,"right":0.64629687499999999,"top":0.982421875},"atlasBounds":{"left":6029.5,"bottom":6896.5,"right":6172.5,"top":7156.5}},{"unicode":357,"advance":0.59999999999999998,"planeBounds":{"left":0.058328124999999988,"bottom":-0.033203125,"right":0.58567187500000006,"top":0.833984375},"atlasBounds":{"left":3558.5,"bottom":5652.5,"right":3693.5,"top":5874.5}},{"unicode":358,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.033203125,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":697.5,"bottom":4380.5,"right":840.5,"top":4584.5}},{"unicode":359,"advance":0.59999999999999998,"planeBounds":{"left":0.054374999999999986,"bottom":-0.033203125,"right":0.58562500000000006,"top":0.736328125},"atlasBounds":{"left":5720.5,"bottom":4182.5,"right":5856.5,"top":4379.5}},{"unicode":360,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.978515625},"atlasBounds":{"left":1392.5,"bottom":6894.5,"right":1533.5,"top":7156.5}},{"unicode":361,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.814453125},"atlasBounds":{"left":2119.5,"bottom":5426.5,"right":2253.5,"top":5646.5}},{"unicode":362,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.935546875},"atlasBounds":{"left":1612.5,"bottom":6122.5,"right":1753.5,"top":6373.5}},{"unicode":363,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.767578125},"atlasBounds":{"left":706.5,"bottom":4998.5,"right":840.5,"top":5206.5}},{"unicode":364,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":0.982421875},"atlasBounds":{"left":7772.5,"bottom":7165.5,"right":7913.5,"top":7428.5}},{"unicode":365,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.818359375},"atlasBounds":{"left":7461.5,"bottom":5653.5,"right":7595.5,"top":5874.5}},{"unicode":366,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":1.017578125},"atlasBounds":{"left":7879.5,"bottom":7512.5,"right":8020.5,"top":7784.5}},{"unicode":367,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.857421875},"atlasBounds":{"left":6567.5,"bottom":5889.5,"right":6701.5,"top":6120.5}},{"unicode":368,"advance":0.59999999999999998,"planeBounds":{"left":0.052765095338983097,"bottom":-0.044921875,"right":0.6504213453389831,"top":0.982421875},"atlasBounds":{"left":7914.5,"bottom":7165.5,"right":8067.5,"top":7428.5}},{"unicode":369,"advance":0.59999999999999998,"planeBounds":{"left":0.051483845338983078,"bottom":-0.044921875,"right":0.62570259533898309,"top":0.818359375},"atlasBounds":{"left":7596.5,"bottom":5653.5,"right":7743.5,"top":5874.5}},{"unicode":370,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.232421875,"right":0.60298384533898308,"top":0.763671875},"atlasBounds":{"left":7729.5,"bottom":6376.5,"right":7870.5,"top":6631.5}},{"unicode":371,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.232421875,"right":0.57481197033898312,"top":0.583984375},"atlasBounds":{"left":5319.5,"bottom":5215.5,"right":5453.5,"top":5424.5}},{"unicode":372,"advance":0.59999999999999998,"planeBounds":{"left":0.044046875000000027,"bottom":-0.033203125,"right":0.67295312500000004,"top":0.982421875},"atlasBounds":{"left":6173.5,"bottom":6896.5,"right":6334.5,"top":7156.5}},{"unicode":373,"advance":0.59999999999999998,"planeBounds":{"left":0.051984375000000006,"bottom":-0.033203125,"right":0.63401562499999997,"top":0.818359375},"atlasBounds":{"left":5522.5,"bottom":5428.5,"right":5671.5,"top":5646.5}},{"unicode":374,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.982421875},"atlasBounds":{"left":6335.5,"bottom":6896.5,"right":6483.5,"top":7156.5}},{"unicode":375,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.818359375},"atlasBounds":{"left":4662.5,"bottom":7164.5,"right":4794.5,"top":7428.5}},{"unicode":376,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.970703125},"atlasBounds":{"left":4626.5,"bottom":6635.5,"right":4774.5,"top":6892.5}},{"unicode":377,"advance":0.59999999999999998,"planeBounds":{"left":0.013078125000000012,"bottom":-0.033203125,"right":0.60292187500000005,"top":0.982421875},"atlasBounds":{"left":6484.5,"bottom":6896.5,"right":6635.5,"top":7156.5}},{"unicode":378,"advance":0.59999999999999998,"planeBounds":{"left":0.02201562499999999,"bottom":-0.033203125,"right":0.56498437499999998,"top":0.818359375},"atlasBounds":{"left":5672.5,"bottom":5428.5,"right":5811.5,"top":5646.5}},{"unicode":379,"advance":0.59999999999999998,"planeBounds":{"left":0.013078125000000012,"bottom":-0.033203125,"right":0.60292187500000005,"top":0.970703125},"atlasBounds":{"left":4775.5,"bottom":6635.5,"right":4926.5,"top":6892.5}},{"unicode":380,"advance":0.59999999999999998,"planeBounds":{"left":0.02201562499999999,"bottom":-0.033203125,"right":0.56498437499999998,"top":0.802734375},"atlasBounds":{"left":863.5,"bottom":5210.5,"right":1002.5,"top":5424.5}},{"unicode":381,"advance":0.59999999999999998,"planeBounds":{"left":0.013078125000000012,"bottom":-0.033203125,"right":0.60292187500000005,"top":0.982421875},"atlasBounds":{"left":6636.5,"bottom":6896.5,"right":6787.5,"top":7156.5}},{"unicode":382,"advance":0.59999999999999998,"planeBounds":{"left":0.021156249999999998,"bottom":-0.033203125,"right":0.57584374999999999,"top":0.818359375},"atlasBounds":{"left":5812.5,"bottom":5428.5,"right":5954.5,"top":5646.5}},{"unicode":383,"advance":0.59999999999999998,"planeBounds":{"left":-0.066468749999999993,"bottom":-0.212890625,"right":0.64446875000000003,"top":0.763671875},"atlasBounds":{"left":2495.5,"bottom":6123.5,"right":2677.5,"top":6373.5}},{"unicode":399,"advance":0.59999999999999998,"planeBounds":{"left":0.050296345338983091,"bottom":-0.044921875,"right":0.57764009533898308,"top":0.771484375},"atlasBounds":{"left":5454.5,"bottom":5215.5,"right":5589.5,"top":5424.5}},{"unicode":400,"advance":0.59999999999999998,"planeBounds":{"left":0.031674596774193611,"bottom":-0.044921875,"right":0.6097995967741936,"top":0.771484375},"atlasBounds":{"left":5590.5,"bottom":5215.5,"right":5738.5,"top":5424.5}},{"unicode":402,"advance":0.59999999999999998,"planeBounds":{"left":-0.10514062499999999,"bottom":-0.212890625,"right":0.63314062500000001,"top":0.763671875},"atlasBounds":{"left":2678.5,"bottom":6123.5,"right":2867.5,"top":6373.5}},{"unicode":416,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.044921875,"right":0.63857761270491809,"top":0.841796875},"atlasBounds":{"left":1632.5,"bottom":5647.5,"right":1783.5,"top":5874.5}},{"unicode":417,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.044921875,"right":0.62031198770491813,"top":0.673828125},"atlasBounds":{"left":1706.5,"bottom":3990.5,"right":1852.5,"top":4174.5}},{"unicode":431,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.044921875,"right":0.70871822033898313,"top":0.873046875},"atlasBounds":{"left":4956.5,"bottom":5885.5,"right":5124.5,"top":6120.5}},{"unicode":432,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.044921875,"right":0.68004634533898312,"top":0.693359375},"atlasBounds":{"left":0.5,"bottom":3985.5,"right":161.5,"top":4174.5}},{"unicode":461,"advance":0.59999999999999998,"planeBounds":{"left":-0.01609374999999998,"bottom":-0.033203125,"right":0.60109374999999998,"top":0.982421875},"atlasBounds":{"left":6788.5,"bottom":6896.5,"right":6946.5,"top":7156.5}},{"unicode":486,"advance":0.59999999999999998,"planeBounds":{"left":0.049341733870967762,"bottom":-0.044921875,"right":0.60402923387096785,"top":0.982421875},"atlasBounds":{"left":0.5,"bottom":6893.5,"right":142.5,"top":7156.5}},{"unicode":487,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.818359375},"atlasBounds":{"left":4795.5,"bottom":7164.5,"right":4927.5,"top":7428.5}},{"unicode":490,"advance":0.59999999999999998,"planeBounds":{"left":0.048345253833950275,"bottom":-0.232421875,"right":0.57959525383395039,"top":0.771484375},"atlasBounds":{"left":4927.5,"bottom":6635.5,"right":5063.5,"top":6892.5}},{"unicode":491,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.232421875,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":3019.5,"bottom":5213.5,"right":3147.5,"top":5424.5}},{"unicode":500,"advance":0.59999999999999998,"planeBounds":{"left":0.049439948156682033,"bottom":-0.044921875,"right":0.58850244815668207,"top":0.982421875},"atlasBounds":{"left":143.5,"bottom":6893.5,"right":281.5,"top":7156.5}},{"unicode":501,"advance":0.59999999999999998,"planeBounds":{"left":0.056372685185185227,"bottom":-0.212890625,"right":0.57199768518518523,"top":0.818359375},"atlasBounds":{"left":4928.5,"bottom":7164.5,"right":5060.5,"top":7428.5}},{"unicode":508,"advance":0.59999999999999998,"planeBounds":{"left":-0.044874999999999984,"bottom":-0.033203125,"right":0.673875,"top":0.982421875},"atlasBounds":{"left":6947.5,"bottom":6896.5,"right":7131.5,"top":7156.5}},{"unicode":509,"advance":0.59999999999999998,"planeBounds":{"left":-0.019126816860465072,"bottom":-0.044921875,"right":0.61759193313953498,"top":0.818359375},"atlasBounds":{"left":7744.5,"bottom":5653.5,"right":7907.5,"top":5874.5}},{"unicode":510,"advance":0.59999999999999998,"planeBounds":{"left":-0.039062499999999993,"bottom":-0.072265625,"right":0.6640625,"top":0.982421875},"atlasBounds":{"left":701.5,"bottom":7158.5,"right":881.5,"top":7428.5}},{"unicode":511,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.064453125,"right":0.63203125000000004,"top":0.818359375},"atlasBounds":{"left":2269.5,"bottom":5648.5,"right":2439.5,"top":5874.5}},{"unicode":536,"advance":0.59999999999999998,"planeBounds":{"left":0.032109375000000002,"bottom":-0.271484375,"right":0.582890625,"top":0.771484375},"atlasBounds":{"left":1764.5,"bottom":7161.5,"right":1905.5,"top":7428.5}},{"unicode":537,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.271484375,"right":0.5598947010869566,"top":0.591796875},"atlasBounds":{"left":7908.5,"bottom":5653.5,"right":8043.5,"top":5874.5}},{"unicode":538,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.271484375,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":3723.5,"bottom":7163.5,"right":3866.5,"top":7428.5}},{"unicode":539,"advance":0.59999999999999998,"planeBounds":{"left":0.058328124999999988,"bottom":-0.271484375,"right":0.58567187500000006,"top":0.736328125},"atlasBounds":{"left":1940.5,"bottom":6634.5,"right":2075.5,"top":6892.5}},{"unicode":562,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.935546875},"atlasBounds":{"left":6822.5,"bottom":6125.5,"right":6970.5,"top":6373.5}},{"unicode":567,"advance":0.59999999999999998,"planeBounds":{"left":-0.0029531249999999718,"bottom":-0.212890625,"right":0.500953125,"top":0.583984375},"atlasBounds":{"left":3764.5,"bottom":4380.5,"right":3893.5,"top":4584.5}},{"unicode":601,"advance":0.59999999999999998,"planeBounds":{"left":0.049468220338983043,"bottom":-0.044921875,"right":0.54946822033898313,"top":0.591796875},"atlasBounds":{"left":7106.5,"bottom":3821.5,"right":7234.5,"top":3984.5}},{"unicode":755,"advance":0.59999999999999998,"planeBounds":{"left":0.088446913992869899,"bottom":-0.279296875,"right":0.37750941399286991,"top":-0.021484375},"atlasBounds":{"left":7287.5,"bottom":3272.5,"right":7361.5,"top":3338.5}},{"unicode":759,"advance":0.59999999999999998,"planeBounds":{"left":0.10859375,"bottom":-0.244140625,"right":0.49140624999999999,"top":-0.044921875},"atlasBounds":{"left":8082.5,"bottom":6900.5,"right":8180.5,"top":6951.5}},{"unicode":894,"advance":0.59999999999999998,"planeBounds":{"left":0.081740327380952396,"bottom":-0.193359375,"right":0.44502157738095244,"top":0.591796875},"atlasBounds":{"left":4121.5,"bottom":4178.5,"right":4214.5,"top":4379.5}},{"unicode":902,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":4194.5,"bottom":4380.5,"right":4333.5,"top":4584.5}},{"unicode":903,"advance":0.59999999999999998,"planeBounds":{"left":0.19887839673913044,"bottom":0.232421875,"right":0.42153464673913044,"top":0.455078125},"atlasBounds":{"left":8124.5,"bottom":3281.5,"right":8181.5,"top":3338.5}},{"unicode":904,"advance":0.59999999999999998,"planeBounds":{"left":-0.065296875000000004,"bottom":-0.033203125,"right":0.61829687499999997,"top":0.763671875},"atlasBounds":{"left":5185.5,"bottom":4380.5,"right":5360.5,"top":4584.5}},{"unicode":905,"advance":0.59999999999999998,"planeBounds":{"left":-0.065984375000000012,"bottom":-0.033203125,"right":0.60198437500000002,"top":0.763671875},"atlasBounds":{"left":5361.5,"bottom":4380.5,"right":5532.5,"top":4584.5}},{"unicode":906,"advance":0.59999999999999998,"planeBounds":{"left":-0.065625000000000017,"bottom":-0.033203125,"right":0.59062500000000007,"top":0.763671875},"atlasBounds":{"left":5683.5,"bottom":4380.5,"right":5851.5,"top":4584.5}},{"unicode":908,"advance":0.59999999999999998,"planeBounds":{"left":-0.034034067622950803,"bottom":-0.044921875,"right":0.5792471823770492,"top":0.771484375},"atlasBounds":{"left":5915.5,"bottom":5215.5,"right":6072.5,"top":5424.5}},{"unicode":910,"advance":0.59999999999999998,"planeBounds":{"left":-0.081593749999999979,"bottom":-0.033203125,"right":0.66059374999999998,"top":0.763671875},"atlasBounds":{"left":6435.5,"bottom":4380.5,"right":6625.5,"top":4584.5}},{"unicode":911,"advance":0.59999999999999998,"planeBounds":{"left":-0.039029233870967732,"bottom":-0.033203125,"right":0.57815826612903232,"top":0.771484375},"atlasBounds":{"left":6190.5,"bottom":5000.5,"right":6348.5,"top":5206.5}},{"unicode":912,"advance":0.59999999999999998,"planeBounds":{"left":0.066470588235294142,"bottom":-0.033203125,"right":0.56647058823529417,"top":0.931640625},"atlasBounds":{"left":7605.5,"bottom":6126.5,"right":7733.5,"top":6373.5}},{"unicode":913,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":6626.5,"bottom":4380.5,"right":6765.5,"top":4584.5}},{"unicode":914,"advance":0.59999999999999998,"planeBounds":{"left":0.026736895161290301,"bottom":-0.033203125,"right":0.5814243951612903,"top":0.763671875},"atlasBounds":{"left":7215.5,"bottom":4380.5,"right":7357.5,"top":4584.5}},{"unicode":915,"advance":0.59999999999999998,"planeBounds":{"left":0.059625000000000018,"bottom":-0.033203125,"right":0.65337500000000004,"top":0.763671875},"atlasBounds":{"left":7505.5,"bottom":4380.5,"right":7657.5,"top":4584.5}},{"unicode":916,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":7800.5,"bottom":4380.5,"right":7939.5,"top":4584.5}},{"unicode":917,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.763671875},"atlasBounds":{"left":7940.5,"bottom":4380.5,"right":8089.5,"top":4584.5}},{"unicode":918,"advance":0.59999999999999998,"planeBounds":{"left":0.013078125000000012,"bottom":-0.033203125,"right":0.60292187500000005,"top":0.763671875},"atlasBounds":{"left":0.5,"bottom":4175.5,"right":151.5,"top":4379.5}},{"unicode":919,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":292.5,"bottom":4175.5,"right":439.5,"top":4379.5}},{"unicode":920,"advance":0.59999999999999998,"planeBounds":{"left":0.048345253833950275,"bottom":-0.044921875,"right":0.57959525383395039,"top":0.771484375},"atlasBounds":{"left":6073.5,"bottom":5215.5,"right":6209.5,"top":5424.5}},{"unicode":921,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.763671875},"atlasBounds":{"left":440.5,"bottom":4175.5,"right":581.5,"top":4379.5}},{"unicode":922,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.033203125,"right":0.64309375000000002,"top":0.763671875},"atlasBounds":{"left":582.5,"bottom":4175.5,"right":740.5,"top":4379.5}},{"unicode":923,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":741.5,"bottom":4175.5,"right":880.5,"top":4379.5}},{"unicode":924,"advance":0.59999999999999998,"planeBounds":{"left":0.0073593750000000213,"bottom":-0.033203125,"right":0.62064062500000006,"top":0.763671875},"atlasBounds":{"left":1033.5,"bottom":4175.5,"right":1190.5,"top":4379.5}},{"unicode":925,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.763671875},"atlasBounds":{"left":1191.5,"bottom":4175.5,"right":1339.5,"top":4379.5}},{"unicode":926,"advance":0.59999999999999998,"planeBounds":{"left":0.0073593750000000221,"bottom":-0.033203125,"right":0.62064062500000006,"top":0.763671875},"atlasBounds":{"left":1340.5,"bottom":4175.5,"right":1497.5,"top":4379.5}},{"unicode":927,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.771484375},"atlasBounds":{"left":6210.5,"bottom":5215.5,"right":6346.5,"top":5424.5}},{"unicode":928,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":1498.5,"bottom":4175.5,"right":1645.5,"top":4379.5}},{"unicode":929,"advance":0.59999999999999998,"planeBounds":{"left":0.026308894230769212,"bottom":-0.033203125,"right":0.61615264423076921,"top":0.763671875},"atlasBounds":{"left":1798.5,"bottom":4175.5,"right":1949.5,"top":4379.5}},{"unicode":931,"advance":0.59999999999999998,"planeBounds":{"left":0.0048281249999999843,"bottom":-0.033203125,"right":0.65717187499999996,"top":0.763671875},"atlasBounds":{"left":2090.5,"bottom":4175.5,"right":2257.5,"top":4379.5}},{"unicode":932,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.033203125,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":2258.5,"bottom":4175.5,"right":2401.5,"top":4379.5}},{"unicode":933,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.763671875},"atlasBounds":{"left":2402.5,"bottom":4175.5,"right":2550.5,"top":4379.5}},{"unicode":934,"advance":0.59999999999999998,"planeBounds":{"left":0.016678506299734733,"bottom":-0.056640625,"right":0.61433475629973477,"top":0.802734375},"atlasBounds":{"left":2254.5,"bottom":5426.5,"right":2407.5,"top":5646.5}},{"unicode":935,"advance":0.59999999999999998,"planeBounds":{"left":-0.028437500000000008,"bottom":-0.033203125,"right":0.6434375,"top":0.763671875},"atlasBounds":{"left":2727.5,"bottom":4175.5,"right":2899.5,"top":4379.5}},{"unicode":936,"advance":0.59999999999999998,"planeBounds":{"left":0.041404233870967776,"bottom":-0.033203125,"right":0.64296673387096781,"top":0.763671875},"atlasBounds":{"left":2900.5,"bottom":4175.5,"right":3054.5,"top":4379.5}},{"unicode":937,"advance":0.59999999999999998,"planeBounds":{"left":-0.026669858870967737,"bottom":-0.033203125,"right":0.57879889112903238,"top":0.771484375},"atlasBounds":{"left":6349.5,"bottom":5000.5,"right":6504.5,"top":5206.5}},{"unicode":938,"advance":0.59999999999999998,"planeBounds":{"left":0.037397569444444438,"bottom":-0.033203125,"right":0.5959913194444445,"top":0.970703125},"atlasBounds":{"left":5198.5,"bottom":6635.5,"right":5341.5,"top":6892.5}},{"unicode":939,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.970703125},"atlasBounds":{"left":5342.5,"bottom":6635.5,"right":5490.5,"top":6892.5}},{"unicode":940,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.818359375},"atlasBounds":{"left":0.5,"bottom":5425.5,"right":133.5,"top":5646.5}},{"unicode":941,"advance":0.59999999999999998,"planeBounds":{"left":0.034978478773584891,"bottom":-0.041015625,"right":0.57013472877358495,"top":0.818359375},"atlasBounds":{"left":2408.5,"bottom":5426.5,"right":2545.5,"top":5646.5}},{"unicode":942,"advance":0.59999999999999998,"planeBounds":{"left":0.026874999999999986,"bottom":-0.033203125,"right":0.55812499999999998,"top":0.818359375},"atlasBounds":{"left":5955.5,"bottom":5428.5,"right":6091.5,"top":5646.5}},{"unicode":943,"advance":0.59999999999999998,"planeBounds":{"left":0.065859374999999998,"bottom":-0.033203125,"right":0.55414062500000005,"top":0.818359375},"atlasBounds":{"left":6092.5,"bottom":5428.5,"right":6217.5,"top":5646.5}},{"unicode":944,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.931640625},"atlasBounds":{"left":2868.5,"bottom":6123.5,"right":3002.5,"top":6373.5}},{"unicode":945,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.591796875},"atlasBounds":{"left":7969.5,"bottom":3821.5,"right":8102.5,"top":3984.5}},{"unicode":946,"advance":0.59999999999999998,"planeBounds":{"left":-0.0028773148148148178,"bottom":-0.212890625,"right":0.57524768518518521,"top":0.771484375},"atlasBounds":{"left":831.5,"bottom":6121.5,"right":979.5,"top":6373.5}},{"unicode":947,"advance":0.59999999999999998,"planeBounds":{"left":0.082281249999999986,"bottom":-0.212890625,"right":0.60571874999999997,"top":0.583984375},"atlasBounds":{"left":3205.5,"bottom":4175.5,"right":3339.5,"top":4379.5}},{"unicode":948,"advance":0.59999999999999998,"planeBounds":{"left":0.047231854838709682,"bottom":-0.044921875,"right":0.59410685483870962,"top":0.763671875},"atlasBounds":{"left":3352.5,"bottom":4999.5,"right":3492.5,"top":5206.5}},{"unicode":949,"advance":0.59999999999999998,"planeBounds":{"left":0.034978478773584891,"bottom":-0.041015625,"right":0.57013472877358495,"top":0.591796875},"atlasBounds":{"left":3457.5,"bottom":3645.5,"right":3594.5,"top":3807.5}},{"unicode":950,"advance":0.59999999999999998,"planeBounds":{"left":0.078009640957446821,"bottom":-0.208984375,"right":0.64441589095744678,"top":0.763671875},"atlasBounds":{"left":5595.5,"bottom":6124.5,"right":5740.5,"top":6373.5}},{"unicode":951,"advance":0.59999999999999998,"planeBounds":{"left":0.026563068181818143,"bottom":-0.033203125,"right":0.55000056818181819,"top":0.591796875},"atlasBounds":{"left":7039.5,"bottom":3647.5,"right":7173.5,"top":3807.5}},{"unicode":952,"advance":0.59999999999999998,"planeBounds":{"left":0.049328125000000056,"bottom":-0.044921875,"right":0.57667187500000006,"top":0.763671875},"atlasBounds":{"left":3493.5,"bottom":4999.5,"right":3628.5,"top":5206.5}},{"unicode":953,"advance":0.59999999999999998,"planeBounds":{"left":0.06521875000000002,"bottom":-0.033203125,"right":0.54178124999999999,"top":0.583984375},"atlasBounds":{"left":2880.5,"bottom":3485.5,"right":3002.5,"top":3643.5}},{"unicode":954,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.033203125,"right":0.60906250000000006,"top":0.583984375},"atlasBounds":{"left":7656.5,"bottom":3649.5,"right":7804.5,"top":3807.5}},{"unicode":955,"advance":0.59999999999999998,"planeBounds":{"left":-0.014484375000000011,"bottom":-0.033203125,"right":0.52848437500000001,"top":0.763671875},"atlasBounds":{"left":3584.5,"bottom":4175.5,"right":3723.5,"top":4379.5}},{"unicode":956,"advance":0.59999999999999998,"planeBounds":{"left":-0.0015624999999999942,"bottom":-0.212890625,"right":0.57656249999999998,"top":0.583984375},"atlasBounds":{"left":3435.5,"bottom":4175.5,"right":3583.5,"top":4379.5}},{"unicode":957,"advance":0.59999999999999998,"planeBounds":{"left":0.081281249999999985,"bottom":-0.033203125,"right":0.60471874999999997,"top":0.583984375},"atlasBounds":{"left":2745.5,"bottom":3485.5,"right":2879.5,"top":3643.5}},{"unicode":958,"advance":0.59999999999999998,"planeBounds":{"left":0.053945130683852496,"bottom":-0.208984375,"right":0.61644513068385254,"top":0.771484375},"atlasBounds":{"left":1754.5,"bottom":6122.5,"right":1898.5,"top":6373.5}},{"unicode":959,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.044921875,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":7310.5,"bottom":3821.5,"right":7438.5,"top":3984.5}},{"unicode":960,"advance":0.59999999999999998,"planeBounds":{"left":0.033578125000000014,"bottom":-0.037109375,"right":0.62342187500000001,"top":0.583984375},"atlasBounds":{"left":7174.5,"bottom":3648.5,"right":7325.5,"top":3807.5}},{"unicode":961,"advance":0.59999999999999998,"planeBounds":{"left":-0.0012296080508474581,"bottom":-0.212890625,"right":0.54955164194915251,"top":0.591796875},"atlasBounds":{"left":6505.5,"bottom":5000.5,"right":6646.5,"top":5206.5}},{"unicode":962,"advance":0.59999999999999998,"planeBounds":{"left":0.057650069619588032,"bottom":-0.208984375,"right":0.56155631961958807,"top":0.591796875},"atlasBounds":{"left":1105.5,"bottom":4791.5,"right":1234.5,"top":4996.5}},{"unicode":963,"advance":0.59999999999999998,"planeBounds":{"left":0.04845261270491806,"bottom":-0.044921875,"right":0.61485886270491807,"top":0.583984375},"atlasBounds":{"left":5227.5,"bottom":3646.5,"right":5372.5,"top":3807.5}},{"unicode":964,"advance":0.59999999999999998,"planeBounds":{"left":0.058328124999999988,"bottom":-0.033203125,"right":0.58567187500000006,"top":0.583984375},"atlasBounds":{"left":866.5,"bottom":3485.5,"right":1001.5,"top":3643.5}},{"unicode":965,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.583984375},"atlasBounds":{"left":4527.5,"bottom":3646.5,"right":4661.5,"top":3807.5}},{"unicode":966,"advance":0.59999999999999998,"planeBounds":{"left":0.012563038793103404,"bottom":-0.212890625,"right":0.58678178879310339,"top":0.587890625},"atlasBounds":{"left":1235.5,"bottom":4791.5,"right":1382.5,"top":4996.5}},{"unicode":967,"advance":0.59999999999999998,"planeBounds":{"left":-0.0087343749999999817,"bottom":-0.033203125,"right":0.59673437500000004,"top":0.583984375},"atlasBounds":{"left":263.5,"bottom":3485.5,"right":418.5,"top":3643.5}},{"unicode":968,"advance":0.59999999999999998,"planeBounds":{"left":0.018671345338983101,"bottom":-0.212890625,"right":0.60851509533898307,"top":0.583984375},"atlasBounds":{"left":1646.5,"bottom":4175.5,"right":1797.5,"top":4379.5}},{"unicode":969,"advance":0.59999999999999998,"planeBounds":{"left":0.0077674811439346764,"bottom":-0.044921875,"right":0.58589248114393466,"top":0.591796875},"atlasBounds":{"left":953.5,"bottom":3644.5,"right":1101.5,"top":3807.5}},{"unicode":970,"advance":0.59999999999999998,"planeBounds":{"left":0.066694444444444473,"bottom":-0.033203125,"right":0.5666944444444445,"top":0.802734375},"atlasBounds":{"left":1003.5,"bottom":5210.5,"right":1131.5,"top":5424.5}},{"unicode":971,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.802734375},"atlasBounds":{"left":7757.5,"bottom":5429.5,"right":7891.5,"top":5646.5}},{"unicode":972,"advance":0.59999999999999998,"planeBounds":{"left":0.049202612704918047,"bottom":-0.044921875,"right":0.55310886270491799,"top":0.818359375},"atlasBounds":{"left":134.5,"bottom":5425.5,"right":263.5,"top":5646.5}},{"unicode":973,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.818359375},"atlasBounds":{"left":264.5,"bottom":5425.5,"right":398.5,"top":5646.5}},{"unicode":974,"advance":0.59999999999999998,"planeBounds":{"left":0.0077674811439346764,"bottom":-0.044921875,"right":0.58589248114393466,"top":0.818359375},"atlasBounds":{"left":399.5,"bottom":5425.5,"right":547.5,"top":5646.5}},{"unicode":975,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.212890625,"right":0.64309375000000002,"top":0.763671875},"atlasBounds":{"left":3003.5,"bottom":6123.5,"right":3161.5,"top":6373.5}},{"unicode":981,"advance":0.59999999999999998,"planeBounds":{"left":-0.029578125000000014,"bottom":-0.212890625,"right":0.63057812499999999,"top":0.763671875},"atlasBounds":{"left":3162.5,"bottom":6123.5,"right":3331.5,"top":6373.5}},{"unicode":982,"advance":0.59999999999999998,"planeBounds":{"left":0.0081461148648648996,"bottom":-0.044921875,"right":0.65658361486486494,"top":0.583984375},"atlasBounds":{"left":4197.5,"bottom":3646.5,"right":4363.5,"top":3807.5}},{"unicode":983,"advance":0.59999999999999998,"planeBounds":{"left":0.028015624999999988,"bottom":-0.212890625,"right":0.57098437499999999,"top":0.583984375},"atlasBounds":{"left":152.5,"bottom":4175.5,"right":291.5,"top":4379.5}},{"unicode":1025,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.970703125},"atlasBounds":{"left":5491.5,"bottom":6635.5,"right":5640.5,"top":6892.5}},{"unicode":1026,"advance":0.59999999999999998,"planeBounds":{"left":0.029105113636363644,"bottom":-0.212890625,"right":0.56816761363636359,"top":0.763671875},"atlasBounds":{"left":3332.5,"bottom":6123.5,"right":3470.5,"top":6373.5}},{"unicode":1027,"advance":0.59999999999999998,"planeBounds":{"left":0.059625000000000018,"bottom":-0.033203125,"right":0.65337500000000004,"top":0.982421875},"atlasBounds":{"left":7132.5,"bottom":6896.5,"right":7284.5,"top":7156.5}},{"unicode":1028,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.771484375},"atlasBounds":{"left":6347.5,"bottom":5215.5,"right":6485.5,"top":5424.5}},{"unicode":1029,"advance":0.59999999999999998,"planeBounds":{"left":0.032109375000000002,"bottom":-0.044921875,"right":0.582890625,"top":0.771484375},"atlasBounds":{"left":6486.5,"bottom":5215.5,"right":6627.5,"top":5424.5}},{"unicode":1030,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":0.763671875},"atlasBounds":{"left":7658.5,"bottom":4380.5,"right":7799.5,"top":4584.5}},{"unicode":1031,"advance":0.59999999999999998,"planeBounds":{"left":0.036897569444444438,"bottom":-0.033203125,"right":0.59549131944444444,"top":0.970703125},"atlasBounds":{"left":5641.5,"bottom":6635.5,"right":5784.5,"top":6892.5}},{"unicode":1032,"advance":0.59999999999999998,"planeBounds":{"left":0.012122983870967765,"bottom":-0.044921875,"right":0.59024798387096777,"top":0.763671875},"atlasBounds":{"left":3800.5,"bottom":4999.5,"right":3948.5,"top":5206.5}},{"unicode":1033,"advance":0.59999999999999998,"planeBounds":{"left":-0.082434782608695648,"bottom":-0.037109375,"right":0.60506521739130437,"top":0.763671875},"atlasBounds":{"left":1690.5,"bottom":4791.5,"right":1866.5,"top":4996.5}},{"unicode":1034,"advance":0.59999999999999998,"planeBounds":{"left":-0.017259640957446767,"bottom":-0.033203125,"right":0.60383410904255319,"top":0.763671875},"atlasBounds":{"left":7055.5,"bottom":4380.5,"right":7214.5,"top":4584.5}},{"unicode":1035,"advance":0.59999999999999998,"planeBounds":{"left":0.029105113636363644,"bottom":-0.033203125,"right":0.56816761363636359,"top":0.763671875},"atlasBounds":{"left":6916.5,"bottom":4380.5,"right":7054.5,"top":4584.5}},{"unicode":1036,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.033203125,"right":0.64309375000000002,"top":0.982421875},"atlasBounds":{"left":7285.5,"bottom":6896.5,"right":7443.5,"top":7156.5}},{"unicode":1038,"advance":0.59999999999999998,"planeBounds":{"left":0.10051562499999998,"bottom":-0.033203125,"right":0.643484375,"top":0.982421875},"atlasBounds":{"left":7444.5,"bottom":6896.5,"right":7583.5,"top":7156.5}},{"unicode":1039,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.158203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":3472.5,"bottom":5884.5,"right":3619.5,"top":6120.5}},{"unicode":1040,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":6295.5,"bottom":4380.5,"right":6434.5,"top":4584.5}},{"unicode":1041,"advance":0.59999999999999998,"planeBounds":{"left":0.02684375,"bottom":-0.033203125,"right":0.59715625000000006,"top":0.763671875},"atlasBounds":{"left":6148.5,"bottom":4380.5,"right":6294.5,"top":4584.5}},{"unicode":1042,"advance":0.59999999999999998,"planeBounds":{"left":0.026736895161290301,"bottom":-0.033203125,"right":0.5814243951612903,"top":0.763671875},"atlasBounds":{"left":6005.5,"bottom":4380.5,"right":6147.5,"top":4584.5}},{"unicode":1043,"advance":0.59999999999999998,"planeBounds":{"left":0.059625000000000018,"bottom":-0.033203125,"right":0.65337500000000004,"top":0.763671875},"atlasBounds":{"left":5852.5,"bottom":4380.5,"right":6004.5,"top":4584.5}},{"unicode":1044,"advance":0.59999999999999998,"planeBounds":{"left":-0.059171875000000013,"bottom":-0.173828125,"right":0.59317187500000002,"top":0.763671875},"atlasBounds":{"left":833.5,"bottom":5880.5,"right":1000.5,"top":6120.5}},{"unicode":1045,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.763671875},"atlasBounds":{"left":5533.5,"bottom":4380.5,"right":5682.5,"top":4584.5}},{"unicode":1046,"advance":0.59999999999999998,"planeBounds":{"left":-0.065999999999999975,"bottom":-0.033203125,"right":0.68400000000000005,"top":0.763671875},"atlasBounds":{"left":7999.5,"bottom":5916.5,"right":8191.5,"top":6120.5}},{"unicode":1047,"advance":0.59999999999999998,"planeBounds":{"left":0.010890301724137956,"bottom":-0.044921875,"right":0.58120280172413796,"top":0.771484375},"atlasBounds":{"left":6628.5,"bottom":5215.5,"right":6774.5,"top":5424.5}},{"unicode":1048,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.763671875},"atlasBounds":{"left":5036.5,"bottom":4380.5,"right":5184.5,"top":4584.5}},{"unicode":1049,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.982421875},"atlasBounds":{"left":7584.5,"bottom":6896.5,"right":7732.5,"top":7156.5}},{"unicode":1050,"advance":0.59999999999999998,"planeBounds":{"left":0.025906250000000023,"bottom":-0.033203125,"right":0.64309375000000002,"top":0.763671875},"atlasBounds":{"left":4735.5,"bottom":4380.5,"right":4893.5,"top":4584.5}},{"unicode":1051,"advance":0.59999999999999998,"planeBounds":{"left":-0.055125000000000014,"bottom":-0.037109375,"right":0.60112500000000002,"top":0.763671875},"atlasBounds":{"left":1867.5,"bottom":4791.5,"right":2035.5,"top":4996.5}},{"unicode":1052,"advance":0.59999999999999998,"planeBounds":{"left":0.0073593750000000213,"bottom":-0.033203125,"right":0.62064062500000006,"top":0.763671875},"atlasBounds":{"left":4482.5,"bottom":4380.5,"right":4639.5,"top":4584.5}},{"unicode":1053,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":4334.5,"bottom":4380.5,"right":4481.5,"top":4584.5}},{"unicode":1054,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.771484375},"atlasBounds":{"left":6775.5,"bottom":5215.5,"right":6911.5,"top":5424.5}},{"unicode":1055,"advance":0.59999999999999998,"planeBounds":{"left":0.026890625000000005,"bottom":-0.033203125,"right":0.60110937500000006,"top":0.763671875},"atlasBounds":{"left":4046.5,"bottom":4380.5,"right":4193.5,"top":4584.5}},{"unicode":1056,"advance":0.59999999999999998,"planeBounds":{"left":0.026308894230769212,"bottom":-0.033203125,"right":0.61615264423076921,"top":0.763671875},"atlasBounds":{"left":3894.5,"bottom":4380.5,"right":4045.5,"top":4584.5}},{"unicode":1057,"advance":0.59999999999999998,"planeBounds":{"left":0.053439948156682029,"bottom":-0.044921875,"right":0.59250244815668207,"top":0.771484375},"atlasBounds":{"left":6912.5,"bottom":5215.5,"right":7050.5,"top":5424.5}},{"unicode":1058,"advance":0.59999999999999998,"planeBounds":{"left":0.087703125000000007,"bottom":-0.033203125,"right":0.64629687499999999,"top":0.763671875},"atlasBounds":{"left":3620.5,"bottom":4380.5,"right":3763.5,"top":4584.5}},{"unicode":1059,"advance":0.59999999999999998,"planeBounds":{"left":0.10051562499999998,"bottom":-0.033203125,"right":0.643484375,"top":0.763671875},"atlasBounds":{"left":3480.5,"bottom":4380.5,"right":3619.5,"top":4584.5}},{"unicode":1060,"advance":0.59999999999999998,"planeBounds":{"left":0.016678506299734733,"bottom":-0.056640625,"right":0.61433475629973477,"top":0.802734375},"atlasBounds":{"left":2688.5,"bottom":5426.5,"right":2841.5,"top":5646.5}},{"unicode":1061,"advance":0.59999999999999998,"planeBounds":{"left":-0.028437500000000008,"bottom":-0.033203125,"right":0.6434375,"top":0.763671875},"atlasBounds":{"left":3156.5,"bottom":4380.5,"right":3328.5,"top":4584.5}},{"unicode":1062,"advance":0.59999999999999998,"planeBounds":{"left":0.028656249999999998,"bottom":-0.173828125,"right":0.58334375000000005,"top":0.763671875},"atlasBounds":{"left":1001.5,"bottom":5880.5,"right":1143.5,"top":6120.5}},{"unicode":1063,"advance":0.59999999999999998,"planeBounds":{"left":0.07762023305084749,"bottom":-0.033203125,"right":0.60105773305084742,"top":0.763671875},"atlasBounds":{"left":2870.5,"bottom":4380.5,"right":3004.5,"top":4584.5}},{"unicode":1064,"advance":0.59999999999999998,"planeBounds":{"left":-0.0058124999999999661,"bottom":-0.033203125,"right":0.6348125,"top":0.763671875},"atlasBounds":{"left":2705.5,"bottom":4380.5,"right":2869.5,"top":4584.5}},{"unicode":1065,"advance":0.59999999999999998,"planeBounds":{"left":-0.0078593749999999688,"bottom":-0.173828125,"right":0.628859375,"top":0.763671875},"atlasBounds":{"left":1144.5,"bottom":5880.5,"right":1307.5,"top":6120.5}},{"unicode":1066,"advance":0.59999999999999998,"planeBounds":{"left":0.033267518939393947,"bottom":-0.033203125,"right":0.56061126893939406,"top":0.763671875},"atlasBounds":{"left":2403.5,"bottom":4380.5,"right":2538.5,"top":4584.5}},{"unicode":1067,"advance":0.59999999999999998,"planeBounds":{"left":-0.0063125000000000212,"bottom":-0.033203125,"right":0.63431250000000006,"top":0.763671875},"atlasBounds":{"left":2238.5,"bottom":4380.5,"right":2402.5,"top":4584.5}},{"unicode":1068,"advance":0.59999999999999998,"planeBounds":{"left":0.028314393939393948,"bottom":-0.033203125,"right":0.55956439393939406,"top":0.763671875},"atlasBounds":{"left":2101.5,"bottom":4380.5,"right":2237.5,"top":4584.5}},{"unicode":1069,"advance":0.59999999999999998,"planeBounds":{"left":0.035222718253968256,"bottom":-0.044921875,"right":0.57428521825396817,"top":0.771484375},"atlasBounds":{"left":7051.5,"bottom":5215.5,"right":7189.5,"top":5424.5}},{"unicode":1070,"advance":0.59999999999999998,"planeBounds":{"left":-0.0065287499999999955,"bottom":-0.044921875,"right":0.64190875000000003,"top":0.771484375},"atlasBounds":{"left":7190.5,"bottom":5215.5,"right":7356.5,"top":5424.5}},{"unicode":1071,"advance":0.59999999999999998,"planeBounds":{"left":-0.0096874999999999791,"bottom":-0.033203125,"right":0.59968750000000004,"top":0.763671875},"atlasBounds":{"left":1652.5,"bottom":4380.5,"right":1808.5,"top":4584.5}},{"unicode":1072,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.591796875},"atlasBounds":{"left":7439.5,"bottom":3821.5,"right":7572.5,"top":3984.5}},{"unicode":1073,"advance":0.59999999999999998,"planeBounds":{"left":0.049000000000000002,"bottom":-0.044921875,"right":0.58025000000000004,"top":0.771484375},"atlasBounds":{"left":7357.5,"bottom":5215.5,"right":7493.5,"top":5424.5}},{"unicode":1074,"advance":0.59999999999999998,"planeBounds":{"left":0.02849158653846157,"bottom":-0.033203125,"right":0.55583533653846151,"top":0.583984375},"atlasBounds":{"left":4047.5,"bottom":3485.5,"right":4182.5,"top":3643.5}},{"unicode":1075,"advance":0.59999999999999998,"planeBounds":{"left":0.032806172895500724,"bottom":-0.041015625,"right":0.5601499228955007,"top":0.591796875},"atlasBounds":{"left":3185.5,"bottom":3645.5,"right":3320.5,"top":3807.5}},{"unicode":1076,"advance":0.59999999999999998,"planeBounds":{"left":0.047893679378531076,"bottom":-0.044921875,"right":0.57133117937853106,"top":0.771484375},"atlasBounds":{"left":7494.5,"bottom":5215.5,"right":7628.5,"top":5424.5}},{"unicode":1077,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.591796875},"atlasBounds":{"left":822.5,"bottom":3644.5,"right":952.5,"top":3807.5}},{"unicode":1078,"advance":0.59999999999999998,"planeBounds":{"left":-0.048250000000000001,"bottom":-0.033203125,"right":0.63924999999999998,"top":0.583984375},"atlasBounds":{"left":4306.5,"bottom":3485.5,"right":4482.5,"top":3643.5}},{"unicode":1079,"advance":0.59999999999999998,"planeBounds":{"left":0.02251650943396228,"bottom":-0.041015625,"right":0.55376650943396222,"top":0.591796875},"atlasBounds":{"left":3731.5,"bottom":3645.5,"right":3867.5,"top":3807.5}},{"unicode":1080,"advance":0.59999999999999998,"planeBounds":{"left":0.049999431818181776,"bottom":-0.044921875,"right":0.57343693181818178,"top":0.583984375},"atlasBounds":{"left":5092.5,"bottom":3646.5,"right":5226.5,"top":3807.5}},{"unicode":1081,"advance":0.59999999999999998,"planeBounds":{"left":0.049999431818181776,"bottom":-0.044921875,"right":0.57343693181818178,"top":0.818359375},"atlasBounds":{"left":548.5,"bottom":5425.5,"right":682.5,"top":5646.5}},{"unicode":1082,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.033203125,"right":0.60906250000000006,"top":0.583984375},"atlasBounds":{"left":7805.5,"bottom":3649.5,"right":7953.5,"top":3807.5}},{"unicode":1083,"advance":0.59999999999999998,"planeBounds":{"left":-0.046093749999999982,"bottom":-0.037109375,"right":0.57109375000000007,"top":0.583984375},"atlasBounds":{"left":7326.5,"bottom":3648.5,"right":7484.5,"top":3807.5}},{"unicode":1084,"advance":0.59999999999999998,"planeBounds":{"left":0.010437500000000008,"bottom":-0.033203125,"right":0.58856249999999999,"top":0.583984375},"atlasBounds":{"left":7954.5,"bottom":3649.5,"right":8102.5,"top":3807.5}},{"unicode":1085,"advance":0.59999999999999998,"planeBounds":{"left":0.028015624999999988,"bottom":-0.033203125,"right":0.57098437499999999,"top":0.583984375},"atlasBounds":{"left":726.5,"bottom":3485.5,"right":865.5,"top":3643.5}},{"unicode":1086,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.044921875,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":302.5,"bottom":3644.5,"right":430.5,"top":3807.5}},{"unicode":1087,"advance":0.59999999999999998,"planeBounds":{"left":0.028015624999999988,"bottom":-0.033203125,"right":0.57098437499999999,"top":0.583984375},"atlasBounds":{"left":1539.5,"bottom":3485.5,"right":1678.5,"top":3643.5}},{"unicode":1088,"advance":0.59999999999999998,"planeBounds":{"left":-0.0030619318181818447,"bottom":-0.212890625,"right":0.55162556818181818,"top":0.591796875},"atlasBounds":{"left":7002.5,"bottom":5000.5,"right":7144.5,"top":5206.5}},{"unicode":1089,"advance":0.59999999999999998,"planeBounds":{"left":0.052383744347088722,"bottom":-0.044921875,"right":0.5601962443470887,"top":0.591796875},"atlasBounds":{"left":1406.5,"bottom":3644.5,"right":1536.5,"top":3807.5}},{"unicode":1090,"advance":0.59999999999999998,"planeBounds":{"left":0.068468749999999981,"bottom":-0.033203125,"right":0.60753124999999997,"top":0.583984375},"atlasBounds":{"left":3155.5,"bottom":3485.5,"right":3293.5,"top":3643.5}},{"unicode":1091,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.583984375},"atlasBounds":{"left":7053.5,"bottom":4585.5,"right":7185.5,"top":4789.5}},{"unicode":1092,"advance":0.59999999999999998,"planeBounds":{"left":-0.029578125000000014,"bottom":-0.212890625,"right":0.63057812499999999,"top":0.763671875},"atlasBounds":{"left":3471.5,"bottom":6123.5,"right":3640.5,"top":6373.5}},{"unicode":1093,"advance":0.59999999999999998,"planeBounds":{"left":-0.0087343749999999817,"bottom":-0.033203125,"right":0.59673437500000004,"top":0.583984375},"atlasBounds":{"left":1837.5,"bottom":3485.5,"right":1992.5,"top":3643.5}},{"unicode":1094,"advance":0.59999999999999998,"planeBounds":{"left":0.025921874999999987,"bottom":-0.173828125,"right":0.56107812499999998,"top":0.583984375},"atlasBounds":{"left":6879.5,"bottom":4185.5,"right":7016.5,"top":4379.5}},{"unicode":1095,"advance":0.59999999999999998,"planeBounds":{"left":0.066641509433962298,"bottom":-0.033203125,"right":0.5666415094339623,"top":0.583984375},"atlasBounds":{"left":1267.5,"bottom":3485.5,"right":1395.5,"top":3643.5}},{"unicode":1096,"advance":0.59999999999999998,"planeBounds":{"left":-0.006640624999999979,"bottom":-0.033203125,"right":0.60664062500000004,"top":0.583984375},"atlasBounds":{"left":419.5,"bottom":3485.5,"right":576.5,"top":3643.5}},{"unicode":1097,"advance":0.59999999999999998,"planeBounds":{"left":-0.0072343749999999821,"bottom":-0.173828125,"right":0.59823437499999998,"top":0.583984375},"atlasBounds":{"left":6723.5,"bottom":4185.5,"right":6878.5,"top":4379.5}},{"unicode":1098,"advance":0.59999999999999998,"planeBounds":{"left":0.0060884533898305157,"bottom":-0.033203125,"right":0.56077595338983055,"top":0.583984375},"atlasBounds":{"left":1396.5,"bottom":3485.5,"right":1538.5,"top":3643.5}},{"unicode":1099,"advance":0.59999999999999998,"planeBounds":{"left":-0.0071406249999999786,"bottom":-0.033203125,"right":0.60614062499999999,"top":0.583984375},"atlasBounds":{"left":1679.5,"bottom":3485.5,"right":1836.5,"top":3643.5}},{"unicode":1100,"advance":0.59999999999999998,"planeBounds":{"left":0.041713453389830506,"bottom":-0.033203125,"right":0.56515095338983057,"top":0.583984375},"atlasBounds":{"left":3756.5,"bottom":3485.5,"right":3890.5,"top":3643.5}},{"unicode":1101,"advance":0.59999999999999998,"planeBounds":{"left":0.044458933905251484,"bottom":-0.044921875,"right":0.54836518390525146,"top":0.591796875},"atlasBounds":{"left":2768.5,"bottom":3644.5,"right":2897.5,"top":3807.5}},{"unicode":1102,"advance":0.59999999999999998,"planeBounds":{"left":-0.0057493351063830035,"bottom":-0.044921875,"right":0.59581316489361702,"top":0.591796875},"atlasBounds":{"left":2613.5,"bottom":3644.5,"right":2767.5,"top":3807.5}},{"unicode":1103,"advance":0.59999999999999998,"planeBounds":{"left":-0.0011093749999999964,"bottom":-0.033203125,"right":0.57310937500000003,"top":0.583984375},"atlasBounds":{"left":115.5,"bottom":3485.5,"right":262.5,"top":3643.5}},{"unicode":1105,"advance":0.59999999999999998,"planeBounds":{"left":0.048053819444444437,"bottom":-0.044921875,"right":0.56758506944444442,"top":0.802734375},"atlasBounds":{"left":7892.5,"bottom":5429.5,"right":8025.5,"top":5646.5}},{"unicode":1106,"advance":0.59999999999999998,"planeBounds":{"left":0.020016193181818197,"bottom":-0.212890625,"right":0.53954744318181813,"top":0.763671875},"atlasBounds":{"left":3641.5,"bottom":6123.5,"right":3774.5,"top":6373.5}},{"unicode":1107,"advance":0.59999999999999998,"planeBounds":{"left":0.032945913461538495,"bottom":-0.041015625,"right":0.58372716346153841,"top":0.818359375},"atlasBounds":{"left":2842.5,"bottom":5426.5,"right":2983.5,"top":5646.5}},{"unicode":1108,"advance":0.59999999999999998,"planeBounds":{"left":0.049127083333333391,"bottom":-0.044921875,"right":0.55693958333333338,"top":0.591796875},"atlasBounds":{"left":1537.5,"bottom":3644.5,"right":1667.5,"top":3807.5}},{"unicode":1109,"advance":0.59999999999999998,"planeBounds":{"left":0.032550951086956575,"bottom":-0.041015625,"right":0.5598947010869566,"top":0.591796875},"atlasBounds":{"left":3595.5,"bottom":3645.5,"right":3730.5,"top":3807.5}},{"unicode":1110,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.033203125,"right":0.53917187499999997,"top":0.802734375},"atlasBounds":{"left":1132.5,"bottom":5210.5,"right":1267.5,"top":5424.5}},{"unicode":1111,"advance":0.59999999999999998,"planeBounds":{"left":0.012038194444444443,"bottom":-0.033203125,"right":0.58235069444444443,"top":0.802734375},"atlasBounds":{"left":1268.5,"bottom":5210.5,"right":1414.5,"top":5424.5}},{"unicode":1112,"advance":0.59999999999999998,"planeBounds":{"left":-0.0030164473684210196,"bottom":-0.212890625,"right":0.54385855263157901,"top":0.802734375},"atlasBounds":{"left":7733.5,"bottom":6896.5,"right":7873.5,"top":7156.5}},{"unicode":1113,"advance":0.59999999999999998,"planeBounds":{"left":-0.072244015957446756,"bottom":-0.037109375,"right":0.59181848404255322,"top":0.583984375},"atlasBounds":{"left":7485.5,"bottom":3648.5,"right":7655.5,"top":3807.5}},{"unicode":1114,"advance":0.59999999999999998,"planeBounds":{"left":-0.0055677083333333342,"bottom":-0.033203125,"right":0.59208854166666669,"top":0.583984375},"atlasBounds":{"left":3602.5,"bottom":3485.5,"right":3755.5,"top":3643.5}},{"unicode":1115,"advance":0.59999999999999998,"planeBounds":{"left":0.020516193181818194,"bottom":-0.033203125,"right":0.54004744318181819,"top":0.763671875},"atlasBounds":{"left":3694.5,"bottom":4585.5,"right":3827.5,"top":4789.5}},{"unicode":1116,"advance":0.59999999999999998,"planeBounds":{"left":0.030937500000000007,"bottom":-0.033203125,"right":0.60906250000000006,"top":0.818359375},"atlasBounds":{"left":6218.5,"bottom":5428.5,"right":6366.5,"top":5646.5}},{"unicode":1118,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.818359375},"atlasBounds":{"left":5061.5,"bottom":7164.5,"right":5193.5,"top":7428.5}},{"unicode":1119,"advance":0.59999999999999998,"planeBounds":{"left":0.028015624999999988,"bottom":-0.158203125,"right":0.57098437499999999,"top":0.583984375},"atlasBounds":{"left":7684.5,"bottom":4189.5,"right":7823.5,"top":4379.5}},{"unicode":1168,"advance":0.59999999999999998,"planeBounds":{"left":0.059312500000000025,"bottom":-0.033203125,"right":0.66868749999999999,"top":0.857421875},"atlasBounds":{"left":7842.5,"bottom":5892.5,"right":7998.5,"top":6120.5}},{"unicode":1169,"advance":0.59999999999999998,"planeBounds":{"left":0.063109374999999995,"bottom":-0.033203125,"right":0.61389062500000002,"top":0.689453125},"atlasBounds":{"left":1564.5,"bottom":3989.5,"right":1705.5,"top":4174.5}},{"unicode":1170,"advance":0.59999999999999998,"planeBounds":{"left":0.014234374999999981,"bottom":-0.033203125,"right":0.65876562500000002,"top":0.763671875},"atlasBounds":{"left":2765.5,"bottom":4585.5,"right":2930.5,"top":4789.5}},{"unicode":1171,"advance":0.59999999999999998,"planeBounds":{"left":0.022078125000000011,"bottom":-0.033203125,"right":0.61192187500000006,"top":0.583984375},"atlasBounds":{"left":3003.5,"bottom":3485.5,"right":3154.5,"top":3643.5}},{"unicode":1178,"advance":0.59999999999999998,"planeBounds":{"left":0.018406250000000023,"bottom":-0.173828125,"right":0.63559375000000007,"top":0.763671875},"atlasBounds":{"left":1308.5,"bottom":5880.5,"right":1466.5,"top":6120.5}},{"unicode":1179,"advance":0.59999999999999998,"planeBounds":{"left":0.025984375000000007,"bottom":-0.173828125,"right":0.60801562500000006,"top":0.583984375},"atlasBounds":{"left":6573.5,"bottom":4185.5,"right":6722.5,"top":4379.5}},{"unicode":1186,"advance":0.59999999999999998,"planeBounds":{"left":0.023890625000000006,"bottom":-0.173828125,"right":0.59810937500000005,"top":0.763671875},"atlasBounds":{"left":1467.5,"bottom":5880.5,"right":1614.5,"top":6120.5}},{"unicode":1187,"advance":0.59999999999999998,"planeBounds":{"left":0.025515624999999993,"bottom":-0.173828125,"right":0.56848437500000004,"top":0.583984375},"atlasBounds":{"left":6433.5,"bottom":4185.5,"right":6572.5,"top":4379.5}},{"unicode":1198,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.763671875},"atlasBounds":{"left":1825.5,"bottom":4585.5,"right":1973.5,"top":4789.5}},{"unicode":1199,"advance":0.59999999999999998,"planeBounds":{"left":0.082281249999999986,"bottom":-0.212890625,"right":0.60571874999999997,"top":0.583984375},"atlasBounds":{"left":1690.5,"bottom":4585.5,"right":1824.5,"top":4789.5}},{"unicode":1200,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.763671875},"atlasBounds":{"left":1541.5,"bottom":4585.5,"right":1689.5,"top":4789.5}},{"unicode":1201,"advance":0.59999999999999998,"planeBounds":{"left":0.046703124999999998,"bottom":-0.212890625,"right":0.60529687500000007,"top":0.583984375},"atlasBounds":{"left":1397.5,"bottom":4585.5,"right":1540.5,"top":4789.5}},{"unicode":1206,"advance":0.59999999999999998,"planeBounds":{"left":0.067620233050847509,"bottom":-0.173828125,"right":0.59105773305084741,"top":0.763671875},"atlasBounds":{"left":1615.5,"bottom":5880.5,"right":1749.5,"top":6120.5}},{"unicode":1207,"advance":0.59999999999999998,"planeBounds":{"left":0.062641509433962281,"bottom":-0.173828125,"right":0.56264150943396229,"top":0.583984375},"atlasBounds":{"left":6304.5,"bottom":4185.5,"right":6432.5,"top":4379.5}},{"unicode":1210,"advance":0.59999999999999998,"planeBounds":{"left":-0.0010854166666666449,"bottom":-0.033203125,"right":0.52235208333333338,"top":0.763671875},"atlasBounds":{"left":960.5,"bottom":4585.5,"right":1094.5,"top":4789.5}},{"unicode":1211,"advance":0.59999999999999998,"planeBounds":{"left":0.033333333333333381,"bottom":-0.033203125,"right":0.53333333333333344,"top":0.583984375},"atlasBounds":{"left":1002.5,"bottom":3485.5,"right":1130.5,"top":3643.5}},{"unicode":1240,"advance":0.59999999999999998,"planeBounds":{"left":0.042218749999999992,"bottom":-0.044921875,"right":0.58128124999999997,"top":0.771484375},"atlasBounds":{"left":7629.5,"bottom":5215.5,"right":7767.5,"top":5424.5}},{"unicode":1241,"advance":0.59999999999999998,"planeBounds":{"left":0.044752827109896844,"bottom":-0.044921875,"right":0.55256532710989692,"top":0.591796875},"atlasBounds":{"left":562.5,"bottom":3644.5,"right":692.5,"top":3807.5}},{"unicode":1244,"advance":0.59999999999999998,"planeBounds":{"left":-0.065999999999999975,"bottom":-0.033203125,"right":0.68400000000000005,"top":0.970703125},"atlasBounds":{"left":5785.5,"bottom":6635.5,"right":5977.5,"top":6892.5}},{"unicode":1245,"advance":0.59999999999999998,"planeBounds":{"left":-0.048250000000000001,"bottom":-0.033203125,"right":0.63924999999999998,"top":0.802734375},"atlasBounds":{"left":1415.5,"bottom":5210.5,"right":1591.5,"top":5424.5}},{"unicode":1246,"advance":0.59999999999999998,"planeBounds":{"left":0.011828819444444463,"bottom":-0.044921875,"right":0.59386006944444447,"top":0.970703125},"atlasBounds":{"left":7874.5,"bottom":6896.5,"right":8023.5,"top":7156.5}},{"unicode":1247,"advance":0.59999999999999998,"planeBounds":{"left":0.021256944444444488,"bottom":-0.041015625,"right":0.56813194444444448,"top":0.802734375},"atlasBounds":{"left":268.5,"bottom":5208.5,"right":408.5,"top":5424.5}},{"unicode":1252,"advance":0.59999999999999998,"planeBounds":{"left":0.024937500000000008,"bottom":-0.033203125,"right":0.60306250000000006,"top":0.970703125},"atlasBounds":{"left":5978.5,"bottom":6635.5,"right":6126.5,"top":6892.5}},{"unicode":1253,"advance":0.59999999999999998,"planeBounds":{"left":0.049999431818181776,"bottom":-0.044921875,"right":0.57343693181818178,"top":0.802734375},"atlasBounds":{"left":0.5,"bottom":5207.5,"right":134.5,"top":5424.5}},{"unicode":1254,"advance":0.59999999999999998,"planeBounds":{"left":0.048412682149362514,"bottom":-0.044921875,"right":0.59528768214936245,"top":0.970703125},"atlasBounds":{"left":0.5,"bottom":6632.5,"right":140.5,"top":6892.5}},{"unicode":1255,"advance":0.59999999999999998,"planeBounds":{"left":0.050037682149362557,"bottom":-0.044921875,"right":0.56566268214936255,"top":0.802734375},"atlasBounds":{"left":135.5,"bottom":5207.5,"right":267.5,"top":5424.5}},{"unicode":1256,"advance":0.59999999999999998,"planeBounds":{"left":0.050297387295081999,"bottom":-0.044921875,"right":0.57764113729508204,"top":0.771484375},"atlasBounds":{"left":7768.5,"bottom":5215.5,"right":7903.5,"top":5424.5}},{"unicode":1257,"advance":0.59999999999999998,"planeBounds":{"left":0.049758333333333335,"bottom":-0.044921875,"right":0.54975833333333335,"top":0.591796875},"atlasBounds":{"left":7573.5,"bottom":3821.5,"right":7701.5,"top":3984.5}},{"unicode":1268,"advance":0.59999999999999998,"planeBounds":{"left":0.07762023305084749,"bottom":-0.033203125,"right":0.60105773305084742,"top":0.970703125},"atlasBounds":{"left":6127.5,"bottom":6635.5,"right":6261.5,"top":6892.5}},{"unicode":1269,"advance":0.59999999999999998,"planeBounds":{"left":0.06683595387840674,"bottom":-0.033203125,"right":0.56683595387840668,"top":0.802734375},"atlasBounds":{"left":1592.5,"bottom":5210.5,"right":1720.5,"top":5424.5}},{"unicode":2794,"advance":0.59999999999999998,"planeBounds":{"left":0.055859374999999996,"bottom":-0.044921875,"right":0.54414062500000004,"top":0.681640625},"atlasBounds":{"left":575.5,"bottom":3988.5,"right":700.5,"top":4174.5}},{"unicode":7808,"advance":0.59999999999999998,"planeBounds":{"left":0.044046875000000027,"bottom":-0.033203125,"right":0.67295312500000004,"top":0.982421875},"atlasBounds":{"left":141.5,"bottom":6632.5,"right":302.5,"top":6892.5}},{"unicode":7809,"advance":0.59999999999999998,"planeBounds":{"left":0.051984375000000006,"bottom":-0.033203125,"right":0.63401562499999997,"top":0.818359375},"atlasBounds":{"left":6367.5,"bottom":5428.5,"right":6516.5,"top":5646.5}},{"unicode":7810,"advance":0.59999999999999998,"planeBounds":{"left":0.044046875000000027,"bottom":-0.033203125,"right":0.67295312500000004,"top":0.982421875},"atlasBounds":{"left":303.5,"bottom":6632.5,"right":464.5,"top":6892.5}},{"unicode":7811,"advance":0.59999999999999998,"planeBounds":{"left":0.051984375000000006,"bottom":-0.033203125,"right":0.63401562499999997,"top":0.818359375},"atlasBounds":{"left":6517.5,"bottom":5428.5,"right":6666.5,"top":5646.5}},{"unicode":7812,"advance":0.59999999999999998,"planeBounds":{"left":0.044046875000000027,"bottom":-0.033203125,"right":0.67295312500000004,"top":0.970703125},"atlasBounds":{"left":6262.5,"bottom":6635.5,"right":6423.5,"top":6892.5}},{"unicode":7813,"advance":0.59999999999999998,"planeBounds":{"left":0.051984375000000006,"bottom":-0.033203125,"right":0.63401562499999997,"top":0.802734375},"atlasBounds":{"left":1721.5,"bottom":5210.5,"right":1870.5,"top":5424.5}},{"unicode":7838,"advance":0.59999999999999998,"planeBounds":{"left":0.027671875000000016,"bottom":-0.033203125,"right":0.62532812500000001,"top":0.763671875},"atlasBounds":{"left":5874.5,"bottom":4792.5,"right":6027.5,"top":4996.5}},{"unicode":7840,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.240234375,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":6424.5,"bottom":6635.5,"right":6563.5,"top":6892.5}},{"unicode":7841,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.240234375,"right":0.56438100961538451,"top":0.591796875},"atlasBounds":{"left":1871.5,"bottom":5211.5,"right":2004.5,"top":5424.5}},{"unicode":7842,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":1.009765625},"atlasBounds":{"left":1906.5,"bottom":7161.5,"right":2045.5,"top":7428.5}},{"unicode":7843,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.044921875,"right":0.56438100961538451,"top":0.853515625},"atlasBounds":{"left":6833.5,"bottom":5890.5,"right":6966.5,"top":6120.5}},{"unicode":7844,"advance":0.59999999999999998,"planeBounds":{"left":-0.014953124999999972,"bottom":-0.033203125,"right":0.73895312499999999,"top":1.052734375},"atlasBounds":{"left":4813.5,"bottom":7506.5,"right":5006.5,"top":7784.5}},{"unicode":7845,"advance":0.59999999999999998,"planeBounds":{"left":0.044865384615384599,"bottom":-0.044921875,"right":0.7323653846153847,"top":0.931640625},"atlasBounds":{"left":3775.5,"bottom":6123.5,"right":3951.5,"top":6373.5}},{"unicode":7846,"advance":0.59999999999999998,"planeBounds":{"left":-0.014625000000000015,"bottom":-0.033203125,"right":0.641625,"top":1.052734375},"atlasBounds":{"left":5007.5,"bottom":7506.5,"right":5175.5,"top":7784.5}},{"unicode":7847,"advance":0.59999999999999998,"planeBounds":{"left":0.043193509615384609,"bottom":-0.044921875,"right":0.63303725961538471,"top":0.931640625},"atlasBounds":{"left":3952.5,"bottom":6123.5,"right":4103.5,"top":6373.5}},{"unicode":7848,"advance":0.59999999999999998,"planeBounds":{"left":-0.01470937500000004,"bottom":-0.033203125,"right":0.68450937499999998,"top":1.052734375},"atlasBounds":{"left":5176.5,"bottom":7506.5,"right":5355.5,"top":7784.5}},{"unicode":7849,"advance":0.59999999999999998,"planeBounds":{"left":0.04361538461538457,"bottom":-0.044921875,"right":0.6686153846153845,"top":0.962890625},"atlasBounds":{"left":2076.5,"bottom":6634.5,"right":2236.5,"top":6892.5}},{"unicode":7850,"advance":0.59999999999999998,"planeBounds":{"left":-0.016046874999999974,"bottom":-0.033203125,"right":0.60504687499999998,"top":1.052734375},"atlasBounds":{"left":5356.5,"bottom":7506.5,"right":5515.5,"top":7784.5}},{"unicode":7851,"advance":0.59999999999999998,"planeBounds":{"left":0.04317788461538459,"bottom":-0.044921875,"right":0.59005288461538463,"top":0.958984375},"atlasBounds":{"left":6698.5,"bottom":6635.5,"right":6838.5,"top":6892.5}},{"unicode":7852,"advance":0.59999999999999998,"planeBounds":{"left":-0.015374999999999986,"bottom":-0.240234375,"right":0.57837499999999997,"top":0.982421875},"atlasBounds":{"left":1185.5,"bottom":7471.5,"right":1337.5,"top":7784.5}},{"unicode":7853,"advance":0.59999999999999998,"planeBounds":{"left":0.04484975961538458,"bottom":-0.240234375,"right":0.56438100961538451,"top":0.818359375},"atlasBounds":{"left":0.5,"bottom":7157.5,"right":133.5,"top":7428.5}},{"unicode":7854,"advance":0.59999999999999998,"planeBounds":{"left":-0.014781249999999982,"bottom":-0.033203125,"right":0.58678125000000003,"top":1.052734375},"atlasBounds":{"left":5516.5,"bottom":7506.5,"right":5670.5,"top":7784.5}},{"unicode":7855,"advance":0.59999999999999998,"planeBounds":{"left":0.044443509615384583,"bottom":-0.044921875,"right":0.57178725961538457,"top":0.923828125},"atlasBounds":{"left":6971.5,"bottom":6125.5,"right":7106.5,"top":6373.5}},{"unicode":7856,"advance":0.59999999999999998,"planeBounds":{"left":-0.014781249999999982,"bottom":-0.033203125,"right":0.58678125000000003,"top":1.052734375},"atlasBounds":{"left":5671.5,"bottom":7506.5,"right":5825.5,"top":7784.5}},{"unicode":7857,"advance":0.59999999999999998,"planeBounds":{"left":0.044443509615384583,"bottom":-0.044921875,"right":0.57178725961538457,"top":0.923828125},"atlasBounds":{"left":7107.5,"bottom":6125.5,"right":7242.5,"top":6373.5}},{"unicode":7858,"advance":0.59999999999999998,"planeBounds":{"left":-0.014781249999999982,"bottom":-0.033203125,"right":0.58678125000000003,"top":1.052734375},"atlasBounds":{"left":5826.5,"bottom":7506.5,"right":5980.5,"top":7784.5}},{"unicode":7859,"advance":0.59999999999999998,"planeBounds":{"left":0.044443509615384583,"bottom":-0.044921875,"right":0.57178725961538457,"top":0.962890625},"atlasBounds":{"left":2237.5,"bottom":6634.5,"right":2372.5,"top":6892.5}},{"unicode":7860,"advance":0.59999999999999998,"planeBounds":{"left":-0.016046874999999974,"bottom":-0.033203125,"right":0.60504687499999998,"top":1.052734375},"atlasBounds":{"left":5981.5,"bottom":7506.5,"right":6140.5,"top":7784.5}},{"unicode":7861,"advance":0.59999999999999998,"planeBounds":{"left":0.04317788461538459,"bottom":-0.044921875,"right":0.59005288461538463,"top":0.958984375},"atlasBounds":{"left":6839.5,"bottom":6635.5,"right":6979.5,"top":6892.5}},{"unicode":7862,"advance":0.59999999999999998,"planeBounds":{"left":-0.015734374999999981,"bottom":-0.240234375,"right":0.58973437500000003,"top":0.982421875},"atlasBounds":{"left":1338.5,"bottom":7471.5,"right":1493.5,"top":7784.5}},{"unicode":7863,"advance":0.59999999999999998,"planeBounds":{"left":0.044396634615384581,"bottom":-0.240234375,"right":0.56783413461538457,"top":0.818359375},"atlasBounds":{"left":134.5,"bottom":7157.5,"right":268.5,"top":7428.5}},{"unicode":7864,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.240234375,"right":0.61801562499999996,"top":0.763671875},"atlasBounds":{"left":6980.5,"bottom":6635.5,"right":7129.5,"top":6892.5}},{"unicode":7865,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.240234375,"right":0.55521643518518526,"top":0.591796875},"atlasBounds":{"left":2005.5,"bottom":5211.5,"right":2135.5,"top":5424.5}},{"unicode":7866,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":1.009765625},"atlasBounds":{"left":2046.5,"bottom":7161.5,"right":2195.5,"top":7428.5}},{"unicode":7867,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.044921875,"right":0.55521643518518526,"top":0.853515625},"atlasBounds":{"left":6967.5,"bottom":5890.5,"right":7097.5,"top":6120.5}},{"unicode":7868,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":0.978515625},"atlasBounds":{"left":1364.5,"bottom":6633.5,"right":1513.5,"top":6892.5}},{"unicode":7869,"advance":0.59999999999999998,"planeBounds":{"left":0.047906249999999991,"bottom":-0.044921875,"right":0.57134375000000004,"top":0.814453125},"atlasBounds":{"left":2984.5,"bottom":5426.5,"right":3118.5,"top":5646.5}},{"unicode":7870,"advance":0.59999999999999998,"planeBounds":{"left":0.036578125000000017,"bottom":-0.033203125,"right":0.75142187500000002,"top":1.052734375},"atlasBounds":{"left":6141.5,"bottom":7506.5,"right":6324.5,"top":7784.5}},{"unicode":7871,"advance":0.59999999999999998,"planeBounds":{"left":0.048281250000000005,"bottom":-0.044921875,"right":0.72796875000000005,"top":0.931640625},"atlasBounds":{"left":4104.5,"bottom":6123.5,"right":4278.5,"top":6373.5}},{"unicode":7872,"advance":0.59999999999999998,"planeBounds":{"left":0.034953125000000022,"bottom":-0.033203125,"right":0.65604687500000003,"top":1.052734375},"atlasBounds":{"left":6325.5,"bottom":7506.5,"right":6484.5,"top":7784.5}},{"unicode":7873,"advance":0.59999999999999998,"planeBounds":{"left":0.048562500000000022,"bottom":-0.044921875,"right":0.62668750000000006,"top":0.931640625},"atlasBounds":{"left":4279.5,"bottom":6123.5,"right":4427.5,"top":6373.5}},{"unicode":7874,"advance":0.59999999999999998,"planeBounds":{"left":0.034868749999999997,"bottom":-0.033203125,"right":0.69893125,"top":1.052734375},"atlasBounds":{"left":6485.5,"bottom":7506.5,"right":6655.5,"top":7784.5}},{"unicode":7875,"advance":0.59999999999999998,"planeBounds":{"left":0.048984374999999983,"bottom":-0.044921875,"right":0.66226562499999997,"top":0.962890625},"atlasBounds":{"left":2373.5,"bottom":6634.5,"right":2530.5,"top":6892.5}},{"unicode":7876,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.033203125,"right":0.61801562499999996,"top":1.052734375},"atlasBounds":{"left":6656.5,"bottom":7506.5,"right":6805.5,"top":7784.5}},{"unicode":7877,"advance":0.59999999999999998,"planeBounds":{"left":0.048546875000000003,"bottom":-0.044921875,"right":0.58370312499999999,"top":0.958984375},"atlasBounds":{"left":7130.5,"bottom":6635.5,"right":7267.5,"top":6892.5}},{"unicode":7878,"advance":0.59999999999999998,"planeBounds":{"left":0.035984375000000006,"bottom":-0.240234375,"right":0.61801562499999996,"top":0.982421875},"atlasBounds":{"left":1494.5,"bottom":7471.5,"right":1643.5,"top":7784.5}},{"unicode":7879,"advance":0.59999999999999998,"planeBounds":{"left":0.04740393518518516,"bottom":-0.240234375,"right":0.55521643518518526,"top":0.818359375},"atlasBounds":{"left":269.5,"bottom":7157.5,"right":399.5,"top":7428.5}},{"unicode":7880,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.033203125,"right":0.58939062500000006,"top":1.009765625},"atlasBounds":{"left":2196.5,"bottom":7161.5,"right":2337.5,"top":7428.5}},{"unicode":7881,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.033203125,"right":0.53917187499999997,"top":0.853515625},"atlasBounds":{"left":2008.5,"bottom":5647.5,"right":2143.5,"top":5874.5}},{"unicode":7882,"advance":0.59999999999999998,"planeBounds":{"left":0.038609374999999994,"bottom":-0.240234375,"right":0.58939062500000006,"top":0.763671875},"atlasBounds":{"left":7268.5,"bottom":6635.5,"right":7409.5,"top":6892.5}},{"unicode":7883,"advance":0.59999999999999998,"planeBounds":{"left":0.011828124999999983,"bottom":-0.240234375,"right":0.53917187499999997,"top":0.802734375},"atlasBounds":{"left":2338.5,"bottom":7161.5,"right":2473.5,"top":7428.5}},{"unicode":7884,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.240234375,"right":0.57938729508196729,"top":0.771484375},"atlasBounds":{"left":1514.5,"bottom":6633.5,"right":1650.5,"top":6892.5}},{"unicode":7885,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.240234375,"right":0.54949999999999999,"top":0.591796875},"atlasBounds":{"left":2136.5,"bottom":5211.5,"right":2264.5,"top":5424.5}},{"unicode":7886,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":1.009765625},"atlasBounds":{"left":882.5,"bottom":7158.5,"right":1018.5,"top":7428.5}},{"unicode":7887,"advance":0.59999999999999998,"planeBounds":{"left":0.049500000000000044,"bottom":-0.044921875,"right":0.54949999999999999,"top":0.853515625},"atlasBounds":{"left":7098.5,"bottom":5890.5,"right":7226.5,"top":6120.5}},{"unicode":7888,"advance":0.59999999999999998,"planeBounds":{"left":0.048452612704918074,"bottom":-0.044921875,"right":0.73985886270491819,"top":1.052734375},"atlasBounds":{"left":4175.5,"bottom":7503.5,"right":4352.5,"top":7784.5}},{"unicode":7889,"advance":0.59999999999999998,"planeBounds":{"left":0.048811987704918076,"bottom":-0.044921875,"right":0.72849948770491812,"top":0.931640625},"atlasBounds":{"left":4428.5,"bottom":6123.5,"right":4602.5,"top":6373.5}},{"unicode":7890,"advance":0.59999999999999998,"planeBounds":{"left":0.048780737704918087,"bottom":-0.044921875,"right":0.64253073770491809,"top":1.052734375},"atlasBounds":{"left":4353.5,"bottom":7503.5,"right":4505.5,"top":7784.5}},{"unicode":7891,"advance":0.59999999999999998,"planeBounds":{"left":0.04909323770491808,"bottom":-0.044921875,"right":0.62721823770491814,"top":0.931640625},"atlasBounds":{"left":4603.5,"bottom":6123.5,"right":4751.5,"top":6373.5}},{"unicode":7892,"advance":0.59999999999999998,"planeBounds":{"left":0.048696362704918068,"bottom":-0.044921875,"right":0.68541511270491806,"top":1.052734375},"atlasBounds":{"left":4506.5,"bottom":7503.5,"right":4669.5,"top":7784.5}},{"unicode":7893,"advance":0.59999999999999998,"planeBounds":{"left":0.049515112704918096,"bottom":-0.044921875,"right":0.66279636270491815,"top":0.962890625},"atlasBounds":{"left":2531.5,"bottom":6634.5,"right":2688.5,"top":6892.5}},{"unicode":7894,"advance":0.59999999999999998,"planeBounds":{"left":0.049311987704918077,"bottom":-0.044921875,"right":0.60399948770491818,"top":1.052734375},"atlasBounds":{"left":4670.5,"bottom":7503.5,"right":4812.5,"top":7784.5}},{"unicode":7895,"advance":0.59999999999999998,"planeBounds":{"left":0.049077612704918061,"bottom":-0.044921875,"right":0.58423386270491806,"top":0.958984375},"atlasBounds":{"left":7410.5,"bottom":6635.5,"right":7547.5,"top":6892.5}},{"unicode":7896,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.240234375,"right":0.57938729508196729,"top":0.982421875},"atlasBounds":{"left":1644.5,"bottom":7471.5,"right":1780.5,"top":7784.5}},{"unicode":7897,"advance":0.59999999999999998,"planeBounds":{"left":0.048702612704918047,"bottom":-0.240234375,"right":0.55260886270491805,"top":0.818359375},"atlasBounds":{"left":400.5,"bottom":7157.5,"right":529.5,"top":7428.5}},{"unicode":7898,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.044921875,"right":0.63857761270491809,"top":0.982421875},"atlasBounds":{"left":282.5,"bottom":6893.5,"right":433.5,"top":7156.5}},{"unicode":7899,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.044921875,"right":0.62031198770491813,"top":0.818359375},"atlasBounds":{"left":683.5,"bottom":5425.5,"right":829.5,"top":5646.5}},{"unicode":7900,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.044921875,"right":0.63857761270491809,"top":0.982421875},"atlasBounds":{"left":434.5,"bottom":6893.5,"right":585.5,"top":7156.5}},{"unicode":7901,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.044921875,"right":0.62031198770491813,"top":0.818359375},"atlasBounds":{"left":830.5,"bottom":5425.5,"right":976.5,"top":5646.5}},{"unicode":7902,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.044921875,"right":0.63857761270491809,"top":1.009765625},"atlasBounds":{"left":1019.5,"bottom":7158.5,"right":1170.5,"top":7428.5}},{"unicode":7903,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.044921875,"right":0.62031198770491813,"top":0.853515625},"atlasBounds":{"left":7227.5,"bottom":5890.5,"right":7373.5,"top":6120.5}},{"unicode":7904,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.044921875,"right":0.63857761270491809,"top":0.978515625},"atlasBounds":{"left":1534.5,"bottom":6894.5,"right":1685.5,"top":7156.5}},{"unicode":7905,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.044921875,"right":0.62031198770491813,"top":0.814453125},"atlasBounds":{"left":3119.5,"bottom":5426.5,"right":3265.5,"top":5646.5}},{"unicode":7906,"advance":0.59999999999999998,"planeBounds":{"left":0.048733862704918092,"bottom":-0.240234375,"right":0.63857761270491809,"top":0.841796875},"atlasBounds":{"left":7238.5,"bottom":7507.5,"right":7389.5,"top":7784.5}},{"unicode":7907,"advance":0.59999999999999998,"planeBounds":{"left":0.049999487704918084,"bottom":-0.240234375,"right":0.62031198770491813,"top":0.673828125},"atlasBounds":{"left":5349.5,"bottom":5886.5,"right":5495.5,"top":6120.5}},{"unicode":7908,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.240234375,"right":0.60298384533898308,"top":0.763671875},"atlasBounds":{"left":7651.5,"bottom":6635.5,"right":7792.5,"top":6892.5}},{"unicode":7909,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.240234375,"right":0.57481197033898312,"top":0.583984375},"atlasBounds":{"left":3148.5,"bottom":5213.5,"right":3282.5,"top":5424.5}},{"unicode":7910,"advance":0.59999999999999998,"planeBounds":{"left":0.052202595338983075,"bottom":-0.044921875,"right":0.60298384533898308,"top":1.009765625},"atlasBounds":{"left":1171.5,"bottom":7158.5,"right":1312.5,"top":7428.5}},{"unicode":7911,"advance":0.59999999999999998,"planeBounds":{"left":0.051374470338983062,"bottom":-0.044921875,"right":0.57481197033898312,"top":0.853515625},"atlasBounds":{"left":7374.5,"bottom":5890.5,"right":7508.5,"top":6120.5}},{"unicode":7912,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.044921875,"right":0.70871822033898313,"top":0.982421875},"atlasBounds":{"left":586.5,"bottom":6893.5,"right":754.5,"top":7156.5}},{"unicode":7913,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.044921875,"right":0.68004634533898312,"top":0.818359375},"atlasBounds":{"left":977.5,"bottom":5425.5,"right":1138.5,"top":5646.5}},{"unicode":7914,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.044921875,"right":0.70871822033898313,"top":0.982421875},"atlasBounds":{"left":755.5,"bottom":6893.5,"right":923.5,"top":7156.5}},{"unicode":7915,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.044921875,"right":0.68004634533898312,"top":0.818359375},"atlasBounds":{"left":1139.5,"bottom":5425.5,"right":1300.5,"top":5646.5}},{"unicode":7916,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.044921875,"right":0.70871822033898313,"top":1.009765625},"atlasBounds":{"left":1313.5,"bottom":7158.5,"right":1481.5,"top":7428.5}},{"unicode":7917,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.044921875,"right":0.68004634533898312,"top":0.853515625},"atlasBounds":{"left":7509.5,"bottom":5890.5,"right":7670.5,"top":6120.5}},{"unicode":7918,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.044921875,"right":0.70871822033898313,"top":0.978515625},"atlasBounds":{"left":1686.5,"bottom":6894.5,"right":1854.5,"top":7156.5}},{"unicode":7919,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.044921875,"right":0.68004634533898312,"top":0.814453125},"atlasBounds":{"left":3266.5,"bottom":5426.5,"right":3427.5,"top":5646.5}},{"unicode":7920,"advance":0.59999999999999998,"planeBounds":{"left":0.05246822033898306,"bottom":-0.240234375,"right":0.70871822033898313,"top":0.873046875},"atlasBounds":{"left":3463.5,"bottom":7499.5,"right":3631.5,"top":7784.5}},{"unicode":7921,"advance":0.59999999999999998,"planeBounds":{"left":0.051140095338983053,"bottom":-0.240234375,"right":0.68004634533898312,"top":0.693359375},"atlasBounds":{"left":3310.5,"bottom":5881.5,"right":3471.5,"top":6120.5}},{"unicode":7922,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.982421875},"atlasBounds":{"left":465.5,"bottom":6632.5,"right":613.5,"top":6892.5}},{"unicode":7923,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.818359375},"atlasBounds":{"left":5194.5,"bottom":7164.5,"right":5326.5,"top":7428.5}},{"unicode":7924,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.240234375,"right":0.6610625,"top":0.763671875},"atlasBounds":{"left":7896.5,"bottom":6635.5,"right":8044.5,"top":6892.5}},{"unicode":7925,"advance":0.59999999999999998,"planeBounds":{"left":0.05407755681818182,"bottom":-0.279296875,"right":0.57360880681818183,"top":0.583984375},"atlasBounds":{"left":1301.5,"bottom":5425.5,"right":1434.5,"top":5646.5}},{"unicode":7926,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":1.009765625},"atlasBounds":{"left":2474.5,"bottom":7161.5,"right":2622.5,"top":7428.5}},{"unicode":7927,"advance":0.59999999999999998,"planeBounds":{"left":0.053905681818181776,"bottom":-0.212890625,"right":0.56953068181818178,"top":0.853515625},"atlasBounds":{"left":7746.5,"bottom":7511.5,"right":7878.5,"top":7784.5}},{"unicode":7928,"advance":0.59999999999999998,"planeBounds":{"left":0.082937499999999997,"bottom":-0.033203125,"right":0.6610625,"top":0.978515625},"atlasBounds":{"left":1651.5,"bottom":6633.5,"right":1799.5,"top":6892.5}},{"unicode":7929,"advance":0.59999999999999998,"planeBounds":{"left":0.054905681818181777,"bottom":-0.212890625,"right":0.57053068181818178,"top":0.814453125},"atlasBounds":{"left":924.5,"bottom":6893.5,"right":1056.5,"top":7156.5}},{"unicode":8208,"advance":0.59999999999999998,"planeBounds":{"left":0.11123437500000001,"bottom":0.267578125,"right":0.505765625,"top":0.392578125},"atlasBounds":{"left":8039.5,"bottom":6135.5,"right":8140.5,"top":6167.5}},{"unicode":8211,"advance":0.59999999999999998,"planeBounds":{"left":0.051187499999999983,"bottom":0.267578125,"right":0.56681250000000005,"top":0.392578125},"atlasBounds":{"left":8038.5,"bottom":3505.5,"right":8170.5,"top":3537.5}},{"unicode":8212,"advance":0.59999999999999998,"planeBounds":{"left":-0.027437500000000007,"bottom":0.267578125,"right":0.6444375,"top":0.392578125},"atlasBounds":{"left":171.5,"bottom":3145.5,"right":343.5,"top":3177.5}},{"unicode":8216,"advance":0.59999999999999998,"planeBounds":{"left":0.22628645833333333,"bottom":0.392578125,"right":0.47238020833333333,"top":0.763671875},"atlasBounds":{"left":1681.5,"bottom":3243.5,"right":1744.5,"top":3338.5}},{"unicode":8217,"advance":0.59999999999999998,"planeBounds":{"left":0.20784598214285716,"bottom":0.392578125,"right":0.4539397321428571,"top":0.763671875},"atlasBounds":{"left":1861.5,"bottom":3243.5,"right":1924.5,"top":3338.5}},{"unicode":8218,"advance":0.59999999999999998,"planeBounds":{"left":0.12784598214285714,"bottom":-0.193359375,"right":0.37393973214285714,"top":0.177734375},"atlasBounds":{"left":1483.5,"bottom":3243.5,"right":1546.5,"top":3338.5}},{"unicode":8220,"advance":0.59999999999999998,"planeBounds":{"left":0.12727524038461538,"bottom":0.392578125,"right":0.57649399038461535,"top":0.763671875},"atlasBounds":{"left":1745.5,"bottom":3243.5,"right":1860.5,"top":3338.5}},{"unicode":8221,"advance":0.59999999999999998,"planeBounds":{"left":0.021330357142857175,"bottom":0.396484375,"right":0.47445535714285719,"top":0.767578125},"atlasBounds":{"left":1925.5,"bottom":3243.5,"right":2041.5,"top":3338.5}},{"unicode":8222,"advance":0.59999999999999998,"planeBounds":{"left":0.019158482142857185,"bottom":-0.193359375,"right":0.4996272321428572,"top":0.177734375},"atlasBounds":{"left":8068.5,"bottom":7215.5,"right":8191.5,"top":7310.5}},{"unicode":8224,"advance":0.59999999999999998,"planeBounds":{"left":0.093046875000000029,"bottom":-0.142578125,"right":0.59695312499999997,"top":0.861328125},"atlasBounds":{"left":0.5,"bottom":6374.5,"right":129.5,"top":6631.5}},{"unicode":8225,"advance":0.59999999999999998,"planeBounds":{"left":0.034703125000000001,"bottom":-0.142578125,"right":0.59329687500000006,"top":0.861328125},"atlasBounds":{"left":130.5,"bottom":6374.5,"right":273.5,"top":6631.5}},{"unicode":8226,"advance":0.59999999999999998,"planeBounds":{"left":0.17530342741935484,"bottom":0.228515625,"right":0.4526471774193549,"top":0.501953125},"atlasBounds":{"left":5482.5,"bottom":3268.5,"right":5553.5,"top":3338.5}},{"unicode":8228,"advance":0.59999999999999998,"planeBounds":{"left":0.15487839673913045,"bottom":-0.044921875,"right":0.37753464673913045,"top":0.177734375},"atlasBounds":{"left":0.5,"bottom":2979.5,"right":57.5,"top":3036.5}},{"unicode":8230,"advance":0.59999999999999998,"planeBounds":{"left":-0.010796875000000011,"bottom":-0.044921875,"right":0.54779687499999996,"top":0.205078125},"atlasBounds":{"left":7662.5,"bottom":3274.5,"right":7805.5,"top":3338.5}},{"unicode":8240,"advance":0.59999999999999998,"planeBounds":{"left":-0.086889616935483874,"bottom":-0.037109375,"right":0.62795413306451608,"top":0.767578125},"atlasBounds":{"left":6647.5,"bottom":5000.5,"right":6830.5,"top":5206.5}},{"unicode":8242,"advance":0.59999999999999998,"planeBounds":{"left":0.11359375000000001,"bottom":0.388671875,"right":0.37140624999999999,"top":0.759765625},"atlasBounds":{"left":1614.5,"bottom":3243.5,"right":1680.5,"top":3338.5}},{"unicode":8243,"advance":0.59999999999999998,"planeBounds":{"left":0.018671875000000015,"bottom":0.388671875,"right":0.491328125,"top":0.759765625},"atlasBounds":{"left":2042.5,"bottom":3243.5,"right":2163.5,"top":3338.5}},{"unicode":8244,"advance":0.59999999999999998,"planeBounds":{"left":-0.061406249999999975,"bottom":0.384765625,"right":0.57140625,"top":0.759765625},"atlasBounds":{"left":1320.5,"bottom":3242.5,"right":1482.5,"top":3338.5}},{"unicode":8249,"advance":0.59999999999999998,"planeBounds":{"left":0.12904687500000001,"bottom":0.005859375,"right":0.50795312500000001,"top":0.552734375},"atlasBounds":{"left":1121.5,"bottom":3344.5,"right":1218.5,"top":3484.5}},{"unicode":8250,"advance":0.59999999999999998,"planeBounds":{"left":0.092546875000000001,"bottom":0.005859375,"right":0.47145312500000003,"top":0.552734375},"atlasBounds":{"left":1023.5,"bottom":3344.5,"right":1120.5,"top":3484.5}},{"unicode":8254,"advance":0.59999999999999998,"planeBounds":{"left":0.035843750000000001,"bottom":0.736328125,"right":0.73115625000000006,"top":0.861328125},"atlasBounds":{"left":347.5,"bottom":3152.5,"right":525.5,"top":3184.5}},{"unicode":8255,"advance":0.59999999999999998,"planeBounds":{"left":-0.016406249999999973,"bottom":-0.212890625,"right":0.61640625000000004,"top":0.033203125},"atlasBounds":{"left":7806.5,"bottom":3275.5,"right":7968.5,"top":3338.5}},{"unicode":8261,"advance":0.59999999999999998,"planeBounds":{"left":0.11784375,"bottom":-0.142578125,"right":0.56315625000000002,"top":0.861328125},"atlasBounds":{"left":274.5,"bottom":6374.5,"right":388.5,"top":6631.5}},{"unicode":8262,"advance":0.59999999999999998,"planeBounds":{"left":0.064843750000000006,"bottom":-0.142578125,"right":0.51015624999999998,"top":0.861328125},"atlasBounds":{"left":389.5,"bottom":6374.5,"right":503.5,"top":6631.5}},{"unicode":8304,"advance":0.59999999999999998,"planeBounds":{"left":0.15082812500000001,"bottom":0.345703125,"right":0.55317187499999998,"top":0.869140625},"atlasBounds":{"left":3055.5,"bottom":3350.5,"right":3158.5,"top":3484.5}},{"unicode":8308,"advance":0.59999999999999998,"planeBounds":{"left":0.1545,"bottom":0.349609375,"right":0.52949999999999997,"top":0.861328125},"atlasBounds":{"left":5322.5,"bottom":3353.5,"right":5418.5,"top":3484.5}},{"unicode":8309,"advance":0.59999999999999998,"planeBounds":{"left":0.14942812500000002,"bottom":0.345703125,"right":0.55177187500000002,"top":0.861328125},"atlasBounds":{"left":4468.5,"bottom":3352.5,"right":4571.5,"top":3484.5}},{"unicode":8310,"advance":0.59999999999999998,"planeBounds":{"left":0.14869726966873703,"bottom":0.345703125,"right":0.53150976966873709,"top":0.861328125},"atlasBounds":{"left":4106.5,"bottom":3352.5,"right":4204.5,"top":3484.5}},{"unicode":8311,"advance":0.59999999999999998,"planeBounds":{"left":0.18864062500000001,"bottom":0.349609375,"right":0.57535937500000001,"top":0.861328125},"atlasBounds":{"left":5419.5,"bottom":3353.5,"right":5518.5,"top":3484.5}},{"unicode":8312,"advance":0.59999999999999998,"planeBounds":{"left":0.14717496294466403,"bottom":0.345703125,"right":0.54951871294466403,"top":0.869140625},"atlasBounds":{"left":3159.5,"bottom":3350.5,"right":3262.5,"top":3484.5}},{"unicode":8313,"advance":0.59999999999999998,"planeBounds":{"left":0.17636744432661719,"bottom":0.349609375,"right":0.55136744432661711,"top":0.869140625},"atlasBounds":{"left":3396.5,"bottom":3351.5,"right":3492.5,"top":3484.5}},{"unicode":8314,"advance":0.59999999999999998,"planeBounds":{"left":0.15021875000000004,"bottom":0.271484375,"right":0.50178124999999996,"top":0.619140625},"atlasBounds":{"left":4904.5,"bottom":3249.5,"right":4994.5,"top":3338.5}},{"unicode":8316,"advance":0.59999999999999998,"planeBounds":{"left":0.1521875,"bottom":0.443359375,"right":0.54281250000000003,"top":0.712890625},"atlasBounds":{"left":5554.5,"bottom":3269.5,"right":5654.5,"top":3338.5}},{"unicode":8320,"advance":0.59999999999999998,"planeBounds":{"left":0.068828125000000004,"bottom":-0.169921875,"right":0.47117187500000002,"top":0.353515625},"atlasBounds":{"left":2704.5,"bottom":3350.5,"right":2807.5,"top":3484.5}},{"unicode":8321,"advance":0.59999999999999998,"planeBounds":{"left":0.14459374999999999,"bottom":-0.166015625,"right":0.52740624999999997,"top":0.349609375},"atlasBounds":{"left":4919.5,"bottom":3352.5,"right":5017.5,"top":3484.5}},{"unicode":8322,"advance":0.59999999999999998,"planeBounds":{"left":0.14774857954545456,"bottom":-0.166015625,"right":0.55009232954545451,"top":0.353515625},"atlasBounds":{"left":3702.5,"bottom":3351.5,"right":3805.5,"top":3484.5}},{"unicode":8323,"advance":0.59999999999999998,"planeBounds":{"left":0.15428804347826089,"bottom":-0.169921875,"right":0.56053804347826086,"top":0.349609375},"atlasBounds":{"left":3597.5,"bottom":3351.5,"right":3701.5,"top":3484.5}},{"unicode":8324,"advance":0.59999999999999998,"planeBounds":{"left":0.072499999999999995,"bottom":-0.166015625,"right":0.44750000000000001,"top":0.349609375},"atlasBounds":{"left":4371.5,"bottom":3352.5,"right":4467.5,"top":3484.5}},{"unicode":8325,"advance":0.59999999999999998,"planeBounds":{"left":0.067428125000000019,"bottom":-0.169921875,"right":0.46977187500000001,"top":0.349609375},"atlasBounds":{"left":3493.5,"bottom":3351.5,"right":3596.5,"top":3484.5}},{"unicode":8326,"advance":0.59999999999999998,"planeBounds":{"left":0.066697269668737069,"bottom":-0.169921875,"right":0.44950976966873707,"top":0.349609375},"atlasBounds":{"left":3806.5,"bottom":3351.5,"right":3904.5,"top":3484.5}},{"unicode":8327,"advance":0.59999999999999998,"planeBounds":{"left":0.106640625,"bottom":-0.166015625,"right":0.49335937499999999,"top":0.349609375},"atlasBounds":{"left":5123.5,"bottom":3352.5,"right":5222.5,"top":3484.5}},{"unicode":8328,"advance":0.59999999999999998,"planeBounds":{"left":0.06417496294466403,"bottom":-0.181640625,"right":0.46651871294466402,"top":0.341796875},"atlasBounds":{"left":2808.5,"bottom":3350.5,"right":2911.5,"top":3484.5}},{"unicode":8329,"advance":0.59999999999999998,"planeBounds":{"left":0.094367444326617173,"bottom":-0.166015625,"right":0.46936744432661714,"top":0.353515625},"atlasBounds":{"left":3905.5,"bottom":3351.5,"right":4001.5,"top":3484.5}},{"unicode":8363,"advance":0.59999999999999998,"planeBounds":{"left":0.011062499999999992,"bottom":-0.091796875,"right":0.68293749999999998,"top":0.763671875},"atlasBounds":{"left":4222.5,"bottom":5427.5,"right":4394.5,"top":5646.5}},{"unicode":8364,"advance":0.59999999999999998,"planeBounds":{"left":-0.0094955357142857046,"bottom":-0.044921875,"right":0.59206696428571437,"top":0.771484375},"atlasBounds":{"left":4704.5,"bottom":5215.5,"right":4858.5,"top":5424.5}},{"unicode":8366,"advance":0.59999999999999998,"planeBounds":{"left":0.040812500000000022,"bottom":-0.033203125,"right":0.65018750000000003,"top":0.763671875},"atlasBounds":{"left":3392.5,"bottom":4792.5,"right":3548.5,"top":4996.5}},{"unicode":8372,"advance":0.59999999999999998,"planeBounds":{"left":0.021984375000000007,"bottom":-0.044921875,"right":0.60401562500000006,"top":0.771484375},"atlasBounds":{"left":4859.5,"bottom":5215.5,"right":5008.5,"top":5424.5}},{"unicode":8381,"advance":0.59999999999999998,"planeBounds":{"left":-0.016648437500000016,"bottom":-0.033203125,"right":0.6161640625,"top":0.763671875},"atlasBounds":{"left":4290.5,"bottom":4585.5,"right":4452.5,"top":4789.5}},{"unicode":8383,"advance":0.59999999999999998,"planeBounds":{"left":0.0265632267441861,"bottom":-0.173828125,"right":0.5812507267441861,"top":0.904296875},"atlasBounds":{"left":7603.5,"bottom":7508.5,"right":7745.5,"top":7784.5}},{"unicode":8450,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.771484375},"atlasBounds":{"left":7904.5,"bottom":5215.5,"right":8036.5,"top":5424.5}},{"unicode":8461,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.033203125,"right":0.55781250000000004,"top":0.763671875},"atlasBounds":{"left":6028.5,"bottom":4792.5,"right":6160.5,"top":4996.5}},{"unicode":8467,"advance":0.59999999999999998,"planeBounds":{"left":0.041417613636363641,"bottom":-0.033203125,"right":0.56485511363636365,"top":0.771484375},"atlasBounds":{"left":7913.5,"bottom":5000.5,"right":8047.5,"top":5206.5}},{"unicode":8469,"advance":0.59999999999999998,"planeBounds":{"left":0.063671875000000017,"bottom":-0.033203125,"right":0.53632812500000004,"top":0.763671875},"atlasBounds":{"left":270.5,"bottom":4585.5,"right":391.5,"top":4789.5}},{"unicode":8470,"advance":0.59999999999999998,"planeBounds":{"left":-0.037030172413793132,"bottom":-0.033203125,"right":0.68171982758620686,"top":0.771484375},"atlasBounds":{"left":7296.5,"bottom":5000.5,"right":7480.5,"top":5206.5}},{"unicode":8473,"advance":0.59999999999999998,"planeBounds":{"left":0.042968749999999986,"bottom":-0.033203125,"right":0.58203125,"top":0.763671875},"atlasBounds":{"left":4453.5,"bottom":4585.5,"right":4591.5,"top":4789.5}},{"unicode":8474,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.212890625,"right":0.55781250000000004,"top":0.771484375},"atlasBounds":{"left":1230.5,"bottom":6121.5,"right":1362.5,"top":6373.5}},{"unicode":8477,"advance":0.59999999999999998,"planeBounds":{"left":0.043203125000000002,"bottom":-0.033203125,"right":0.60179687500000001,"top":0.763671875},"atlasBounds":{"left":1957.5,"bottom":4380.5,"right":2100.5,"top":4584.5}},{"unicode":8482,"advance":0.59999999999999998,"planeBounds":{"left":0.05331250000000002,"bottom":0.337890625,"right":0.66268749999999998,"top":0.763671875},"atlasBounds":{"left":7781.5,"bottom":3375.5,"right":7937.5,"top":3484.5}},{"unicode":8484,"advance":0.59999999999999998,"planeBounds":{"left":0.038281249999999989,"bottom":-0.033203125,"right":0.56171875000000004,"top":0.763671875},"atlasBounds":{"left":135.5,"bottom":4585.5,"right":269.5,"top":4789.5}},{"unicode":8494,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999992,"bottom":-0.044921875,"right":0.57148437500000004,"top":0.771484375},"atlasBounds":{"left":0.5,"bottom":4997.5,"right":139.5,"top":5206.5}},{"unicode":8512,"advance":0.59999999999999998,"planeBounds":{"left":0.022109374999999994,"bottom":-0.212890625,"right":0.57289062499999999,"top":0.763671875},"atlasBounds":{"left":4752.5,"bottom":6123.5,"right":4893.5,"top":6373.5}},{"unicode":8586,"advance":0.59999999999999998,"planeBounds":{"left":0.0098593749999999862,"bottom":-0.044921875,"right":0.584078125,"top":0.763671875},"atlasBounds":{"left":4080.5,"bottom":4999.5,"right":4227.5,"top":5206.5}},{"unicode":8587,"advance":0.59999999999999998,"planeBounds":{"left":0.008007812500000008,"bottom":-0.033203125,"right":0.57050781250000004,"top":0.771484375},"atlasBounds":{"left":7633.5,"bottom":5000.5,"right":7777.5,"top":5206.5}},{"unicode":8592,"advance":0.59999999999999998,"planeBounds":{"left":-0.021406249999999967,"bottom":0.017578125,"right":0.61140625000000004,"top":0.642578125},"atlasBounds":{"left":5373.5,"bottom":3647.5,"right":5535.5,"top":3807.5}},{"unicode":8593,"advance":0.59999999999999998,"planeBounds":{"left":0.0070312500000000088,"bottom":-0.033203125,"right":0.59296875000000004,"top":0.771484375},"atlasBounds":{"left":7145.5,"bottom":5000.5,"right":7295.5,"top":5206.5}},{"unicode":8594,"advance":0.59999999999999998,"planeBounds":{"left":-0.011406249999999968,"bottom":0.017578125,"right":0.62140625000000005,"top":0.642578125},"atlasBounds":{"left":6534.5,"bottom":3647.5,"right":6696.5,"top":3807.5}},{"unicode":8595,"advance":0.59999999999999998,"planeBounds":{"left":0.036031250000000008,"bottom":-0.044921875,"right":0.62196874999999996,"top":0.763671875},"atlasBounds":{"left":3201.5,"bottom":4999.5,"right":3351.5,"top":5206.5}},{"unicode":8596,"advance":0.59999999999999998,"planeBounds":{"left":-0.112109375,"bottom":0.017578125,"right":0.71210937500000004,"top":0.642578125},"atlasBounds":{"left":6827.5,"bottom":3647.5,"right":7038.5,"top":3807.5}},{"unicode":8597,"advance":0.59999999999999998,"planeBounds":{"left":0.0070312500000000088,"bottom":-0.205078125,"right":0.59296875000000004,"top":0.931640625},"atlasBounds":{"left":3136.5,"bottom":7493.5,"right":3286.5,"top":7784.5}},{"unicode":8598,"advance":0.59999999999999998,"planeBounds":{"left":0.027609374999999995,"bottom":0.208984375,"right":0.57839062500000005,"top":0.763671875},"atlasBounds":{"left":306.5,"bottom":3342.5,"right":447.5,"top":3484.5}},{"unicode":8599,"advance":0.59999999999999998,"planeBounds":{"left":0.021609374999999993,"bottom":0.208984375,"right":0.57239062500000004,"top":0.763671875},"atlasBounds":{"left":448.5,"bottom":3342.5,"right":589.5,"top":3484.5}},{"unicode":8600,"advance":0.59999999999999998,"planeBounds":{"left":0.021609374999999993,"bottom":-0.033203125,"right":0.57239062500000004,"top":0.517578125},"atlasBounds":{"left":739.5,"bottom":3343.5,"right":880.5,"top":3484.5}},{"unicode":8601,"advance":0.59999999999999998,"planeBounds":{"left":0.027609374999999995,"bottom":-0.033203125,"right":0.57839062500000005,"top":0.517578125},"atlasBounds":{"left":881.5,"bottom":3343.5,"right":1022.5,"top":3484.5}},{"unicode":8605,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.126953125,"right":0.62226562500000004,"top":0.478515625},"atlasBounds":{"left":4587.5,"bottom":3248.5,"right":4752.5,"top":3338.5}},{"unicode":8606,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":7938.5,"bottom":3375.5,"right":8103.5,"top":3484.5}},{"unicode":8608,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":0.5,"bottom":3229.5,"right":165.5,"top":3338.5}},{"unicode":8610,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":166.5,"bottom":3229.5,"right":331.5,"top":3338.5}},{"unicode":8611,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":7449.5,"bottom":3375.5,"right":7614.5,"top":3484.5}},{"unicode":8613,"advance":0.59999999999999998,"planeBounds":{"left":0.077343750000000003,"bottom":-0.033203125,"right":0.52265625000000004,"top":0.583984375},"atlasBounds":{"left":0.5,"bottom":3485.5,"right":114.5,"top":3643.5}},{"unicode":8614,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":7615.5,"bottom":3375.5,"right":7780.5,"top":3484.5}},{"unicode":8615,"advance":0.59999999999999998,"planeBounds":{"left":0.077343750000000003,"bottom":-0.033203125,"right":0.52265625000000004,"top":0.583984375},"atlasBounds":{"left":4483.5,"bottom":3485.5,"right":4597.5,"top":3643.5}},{"unicode":8617,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.083984375,"right":0.62226562500000004,"top":0.763671875},"atlasBounds":{"left":1087.5,"bottom":3810.5,"right":1252.5,"top":3984.5}},{"unicode":8618,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.083984375,"right":0.62226562500000004,"top":0.763671875},"atlasBounds":{"left":1429.5,"bottom":3810.5,"right":1594.5,"top":3984.5}},{"unicode":8621,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.060546875,"right":0.62226562500000004,"top":0.486328125},"atlasBounds":{"left":332.5,"bottom":3229.5,"right":497.5,"top":3338.5}},{"unicode":8638,"advance":0.59999999999999998,"planeBounds":{"left":0.223203125,"bottom":-0.212890625,"right":0.53179687500000006,"top":0.873046875},"atlasBounds":{"left":6806.5,"bottom":7506.5,"right":6885.5,"top":7784.5}},{"unicode":8649,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":-0.072265625,"right":0.62226562500000004,"top":0.626953125},"atlasBounds":{"left":2034.5,"bottom":3995.5,"right":2199.5,"top":4174.5}},{"unicode":8656,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.001953125,"right":0.63203125000000004,"top":0.658203125},"atlasBounds":{"left":6635.5,"bottom":3816.5,"right":6805.5,"top":3984.5}},{"unicode":8657,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.212890625,"right":0.64179687500000004,"top":0.873046875},"atlasBounds":{"left":6886.5,"bottom":7506.5,"right":7061.5,"top":7784.5}},{"unicode":8658,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.001953125,"right":0.63203125000000004,"top":0.658203125},"atlasBounds":{"left":6252.5,"bottom":3816.5,"right":6422.5,"top":3984.5}},{"unicode":8659,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.224609375,"right":0.64179687500000004,"top":0.861328125},"atlasBounds":{"left":7062.5,"bottom":7506.5,"right":7237.5,"top":7784.5}},{"unicode":8660,"advance":0.59999999999999998,"planeBounds":{"left":-0.112109375,"bottom":0.001953125,"right":0.71210937500000004,"top":0.658203125},"atlasBounds":{"left":6423.5,"bottom":3816.5,"right":6634.5,"top":3984.5}},{"unicode":8667,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.001953125,"right":0.63203125000000004,"top":0.658203125},"atlasBounds":{"left":5911.5,"bottom":3816.5,"right":6081.5,"top":3984.5}},{"unicode":8670,"advance":0.59999999999999998,"planeBounds":{"left":0.083203125000000003,"bottom":-0.033203125,"right":0.51679687500000004,"top":0.794921875},"atlasBounds":{"left":2377.5,"bottom":5212.5,"right":2488.5,"top":5424.5}},{"unicode":8671,"advance":0.59999999999999998,"planeBounds":{"left":0.083203125000000003,"bottom":-0.064453125,"right":0.51679687500000004,"top":0.763671875},"atlasBounds":{"left":2265.5,"bottom":5212.5,"right":2376.5,"top":5424.5}},{"unicode":8677,"advance":0.59999999999999998,"planeBounds":{"left":-0.03240624999999997,"bottom":0.103515625,"right":0.60040625000000003,"top":0.556640625},"atlasBounds":{"left":6869.5,"bottom":3368.5,"right":7031.5,"top":3484.5}},{"unicode":8679,"advance":0.59999999999999998,"planeBounds":{"left":-0.012499999999999973,"bottom":-0.033203125,"right":0.61250000000000004,"top":0.822265625},"atlasBounds":{"left":3609.5,"bottom":5427.5,"right":3769.5,"top":5646.5}},{"unicode":8680,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.017578125,"right":0.63203125000000004,"top":0.654296875},"atlasBounds":{"left":131.5,"bottom":3644.5,"right":301.5,"top":3807.5}},{"unicode":8682,"advance":0.59999999999999998,"planeBounds":{"left":-0.012499999999999973,"bottom":-0.033203125,"right":0.61250000000000004,"top":0.822265625},"atlasBounds":{"left":3906.5,"bottom":5427.5,"right":4066.5,"top":5646.5}},{"unicode":8704,"advance":0.59999999999999998,"planeBounds":{"left":0.10051562499999998,"bottom":-0.033203125,"right":0.643484375,"top":0.763671875},"atlasBounds":{"left":1950.5,"bottom":4175.5,"right":2089.5,"top":4379.5}},{"unicode":8705,"advance":0.59999999999999998,"planeBounds":{"left":0.13507812499999999,"bottom":-0.044921875,"right":0.47492187499999999,"top":0.591796875},"atlasBounds":{"left":8103.5,"bottom":3821.5,"right":8190.5,"top":3984.5}},{"unicode":8706,"advance":0.59999999999999998,"planeBounds":{"left":0.049510465371127993,"bottom":-0.044921875,"right":0.55732296537112802,"top":0.763671875},"atlasBounds":{"left":3949.5,"bottom":4999.5,"right":4079.5,"top":5206.5}},{"unicode":8707,"advance":0.59999999999999998,"planeBounds":{"left":0.0099843750000000071,"bottom":-0.033203125,"right":0.59201562500000005,"top":0.763671875},"atlasBounds":{"left":6766.5,"bottom":4380.5,"right":6915.5,"top":4584.5}},{"unicode":8708,"advance":0.59999999999999998,"planeBounds":{"left":-0.019093749999999979,"bottom":-0.142578125,"right":0.59809374999999998,"top":0.861328125},"atlasBounds":{"left":504.5,"bottom":6374.5,"right":662.5,"top":6631.5}},{"unicode":8709,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":-0.033203125,"right":0.65579687500000006,"top":0.763671875},"atlasBounds":{"left":2551.5,"bottom":4175.5,"right":2726.5,"top":4379.5}},{"unicode":8710,"advance":0.59999999999999998,"planeBounds":{"left":-0.01548437500000001,"bottom":-0.033203125,"right":0.52748437500000001,"top":0.763671875},"atlasBounds":{"left":841.5,"bottom":4380.5,"right":980.5,"top":4584.5}},{"unicode":8711,"advance":0.59999999999999998,"planeBounds":{"left":0.10051562499999998,"bottom":-0.033203125,"right":0.643484375,"top":0.763671875},"atlasBounds":{"left":422.5,"bottom":4380.5,"right":561.5,"top":4584.5}},{"unicode":8712,"advance":0.59999999999999998,"planeBounds":{"left":0.011520833333333353,"bottom":0.044921875,"right":0.65214583333333342,"top":0.673828125},"atlasBounds":{"left":3868.5,"bottom":3646.5,"right":4032.5,"top":3807.5}},{"unicode":8713,"advance":0.59999999999999998,"planeBounds":{"left":0.01358934294871795,"bottom":-0.091796875,"right":0.65030809294871794,"top":0.814453125},"atlasBounds":{"left":5496.5,"bottom":5888.5,"right":5659.5,"top":6120.5}},{"unicode":8714,"advance":0.59999999999999998,"planeBounds":{"left":0.13312499999999999,"bottom":0.150390625,"right":0.47687499999999999,"top":0.513671875},"atlasBounds":{"left":8103.5,"bottom":3714.5,"right":8191.5,"top":3807.5}},{"unicode":8715,"advance":0.59999999999999998,"planeBounds":{"left":-0.024199596774193543,"bottom":0.044921875,"right":0.61642540322580652,"top":0.673828125},"atlasBounds":{"left":4927.5,"bottom":3646.5,"right":5091.5,"top":3807.5}},{"unicode":8716,"advance":0.59999999999999998,"planeBounds":{"left":-0.022346874999999999,"bottom":-0.091796875,"right":0.61437187500000001,"top":0.814453125},"atlasBounds":{"left":5660.5,"bottom":5888.5,"right":5823.5,"top":6120.5}},{"unicode":8718,"advance":0.59999999999999998,"planeBounds":{"left":0.087109375000000003,"bottom":-0.033203125,"right":0.51289062500000004,"top":0.544921875},"atlasBounds":{"left":7482.5,"bottom":3495.5,"right":7591.5,"top":3643.5}},{"unicode":8719,"advance":0.59999999999999998,"planeBounds":{"left":0.013734374999999981,"bottom":-0.212890625,"right":0.65826562499999997,"top":0.763671875},"atlasBounds":{"left":4894.5,"bottom":6123.5,"right":5059.5,"top":6373.5}},{"unicode":8720,"advance":0.59999999999999998,"planeBounds":{"left":-0.058265625000000022,"bottom":-0.212890625,"right":0.58626562500000001,"top":0.763671875},"atlasBounds":{"left":5060.5,"bottom":6123.5,"right":5225.5,"top":6373.5}},{"unicode":8721,"advance":0.59999999999999998,"planeBounds":{"left":-0.05065625,"bottom":-0.212890625,"right":0.64465625000000004,"top":0.763671875},"atlasBounds":{"left":5226.5,"bottom":6123.5,"right":5404.5,"top":6373.5}},{"unicode":8722,"advance":0.59999999999999998,"planeBounds":{"left":0.11123437500000001,"bottom":0.267578125,"right":0.505765625,"top":0.392578125},"atlasBounds":{"left":8090.5,"bottom":4403.5,"right":8191.5,"top":4435.5}},{"unicode":8723,"advance":0.59999999999999998,"planeBounds":{"left":0.079031250000000011,"bottom":-0.052734375,"right":0.66496875,"top":0.583984375},"atlasBounds":{"left":1832.5,"bottom":3644.5,"right":1982.5,"top":3807.5}},{"unicode":8725,"advance":0.59999999999999998,"planeBounds":{"left":0.019078125000000012,"bottom":-0.033203125,"right":0.60892187500000006,"top":0.763671875},"atlasBounds":{"left":881.5,"bottom":4175.5,"right":1032.5,"top":4379.5}},{"unicode":8728,"advance":0.59999999999999998,"planeBounds":{"left":0.14765625000000002,"bottom":0.177734375,"right":0.45234374999999999,"top":0.482421875},"atlasBounds":{"left":5403.5,"bottom":3260.5,"right":5481.5,"top":3338.5}},{"unicode":8729,"advance":0.59999999999999998,"planeBounds":{"left":0.15487839673913045,"bottom":0.208984375,"right":0.37753464673913045,"top":0.431640625},"atlasBounds":{"left":0.5,"bottom":2921.5,"right":57.5,"top":2978.5}},{"unicode":8730,"advance":0.59999999999999998,"planeBounds":{"left":0.031828124999999985,"bottom":-0.033203125,"right":0.68417187499999998,"top":0.763671875},"atlasBounds":{"left":3549.5,"bottom":4792.5,"right":3716.5,"top":4996.5}},{"unicode":8734,"advance":0.59999999999999998,"planeBounds":{"left":0.0099506801209104032,"bottom":0.126953125,"right":0.60760693012091038,"top":0.537109375},"atlasBounds":{"left":8038.5,"bottom":3538.5,"right":8191.5,"top":3643.5}},{"unicode":8739,"advance":0.59999999999999998,"planeBounds":{"left":0.190953125,"bottom":-0.033203125,"right":0.437046875,"top":0.763671875},"atlasBounds":{"left":8128.5,"bottom":4792.5,"right":8191.5,"top":4996.5}},{"unicode":8740,"advance":0.59999999999999998,"planeBounds":{"left":0.097703125000000002,"bottom":-0.033203125,"right":0.531296875,"top":0.763671875},"atlasBounds":{"left":1540.5,"bottom":4380.5,"right":1651.5,"top":4584.5}},{"unicode":8741,"advance":0.59999999999999998,"planeBounds":{"left":0.091343750000000001,"bottom":-0.033203125,"right":0.53665625000000006,"top":0.763671875},"atlasBounds":{"left":1135.5,"bottom":4380.5,"right":1249.5,"top":4584.5}},{"unicode":8743,"advance":0.59999999999999998,"planeBounds":{"left":0.0022812499999999821,"bottom":0.017578125,"right":0.52571875000000001,"top":0.583984375},"atlasBounds":{"left":0.5,"bottom":3339.5,"right":134.5,"top":3484.5}},{"unicode":8744,"advance":0.59999999999999998,"planeBounds":{"left":0.081281249999999985,"bottom":0.017578125,"right":0.60471874999999997,"top":0.583984375},"atlasBounds":{"left":7903.5,"bottom":3498.5,"right":8037.5,"top":3643.5}},{"unicode":8745,"advance":0.59999999999999998,"planeBounds":{"left":0.0018169642857142866,"bottom":0.044921875,"right":0.58775446428571432,"top":0.626953125},"atlasBounds":{"left":5626.5,"bottom":3494.5,"right":5776.5,"top":3643.5}},{"unicode":8746,"advance":0.59999999999999998,"planeBounds":{"left":0.03121673387096777,"bottom":0.044921875,"right":0.61715423387096779,"top":0.626953125},"atlasBounds":{"left":5935.5,"bottom":3494.5,"right":6085.5,"top":3643.5}},{"unicode":8747,"advance":0.59999999999999998,"planeBounds":{"left":-0.10564062499999997,"bottom":-0.212890625,"right":0.63264062500000007,"top":0.763671875},"atlasBounds":{"left":5405.5,"bottom":6123.5,"right":5594.5,"top":6373.5}},{"unicode":8756,"advance":0.59999999999999998,"planeBounds":{"left":0.0050781250000000114,"bottom":-0.044921875,"right":0.59492187500000004,"top":0.591796875},"atlasBounds":{"left":3033.5,"bottom":3644.5,"right":3184.5,"top":3807.5}},{"unicode":8757,"advance":0.59999999999999998,"planeBounds":{"left":0.035078125000000016,"bottom":-0.044921875,"right":0.62492187499999996,"top":0.591796875},"atlasBounds":{"left":2461.5,"bottom":3644.5,"right":2612.5,"top":3807.5}},{"unicode":8758,"advance":0.59999999999999998,"planeBounds":{"left":0.19062500000000002,"bottom":-0.044921875,"right":0.40937499999999999,"top":0.591796875},"atlasBounds":{"left":2271.5,"bottom":3644.5,"right":2327.5,"top":3807.5}},{"unicode":8759,"advance":0.59999999999999998,"planeBounds":{"left":-0.0072590785573122254,"bottom":-0.044921875,"right":0.59820967144268777,"top":0.544921875},"atlasBounds":{"left":5318.5,"bottom":3492.5,"right":5473.5,"top":3643.5}},{"unicode":8760,"advance":0.59999999999999998,"planeBounds":{"left":0.092734375000000022,"bottom":0.150390625,"right":0.48726562500000004,"top":0.517578125},"atlasBounds":{"left":2707.5,"bottom":3244.5,"right":2808.5,"top":3338.5}},{"unicode":8761,"advance":0.59999999999999998,"planeBounds":{"left":-0.022729166666666696,"bottom":0.076171875,"right":0.66477083333333331,"top":0.583984375},"atlasBounds":{"left":5519.5,"bottom":3354.5,"right":5695.5,"top":3484.5}},{"unicode":8764,"advance":0.59999999999999998,"planeBounds":{"left":0.045874999999999985,"bottom":0.224609375,"right":0.577125,"top":0.482421875},"atlasBounds":{"left":7525.5,"bottom":3272.5,"right":7661.5,"top":3338.5}},{"unicode":8766,"advance":0.59999999999999998,"planeBounds":{"left":0.0065312500000000093,"bottom":0.154296875,"right":0.59246874999999999,"top":0.505859375},"atlasBounds":{"left":4753.5,"bottom":3248.5,"right":4903.5,"top":3338.5}},{"unicode":8771,"advance":0.59999999999999998,"planeBounds":{"left":0.035703125000000002,"bottom":0.150390625,"right":0.59429687500000006,"top":0.595703125},"atlasBounds":{"left":7159.5,"bottom":3370.5,"right":7302.5,"top":3484.5}},{"unicode":8773,"advance":0.59999999999999998,"planeBounds":{"left":0.022031250000000013,"bottom":0.064453125,"right":0.60796875000000006,"top":0.677734375},"atlasBounds":{"left":4892.5,"bottom":3486.5,"right":5042.5,"top":3643.5}},{"unicode":8775,"advance":0.59999999999999998,"planeBounds":{"left":0.022437500000000006,"bottom":-0.134765625,"right":0.6005625,"top":0.814453125},"atlasBounds":{"left":437.5,"bottom":5877.5,"right":585.5,"top":6120.5}},{"unicode":8776,"advance":0.59999999999999998,"planeBounds":{"left":0.024796874999999999,"bottom":0.080078125,"right":0.59120312500000005,"top":0.580078125},"atlasBounds":{"left":5908.5,"bottom":3356.5,"right":6053.5,"top":3484.5}},{"unicode":8777,"advance":0.59999999999999998,"planeBounds":{"left":0.025296875,"bottom":-0.091796875,"right":0.591703125,"top":0.814453125},"atlasBounds":{"left":5824.5,"bottom":5888.5,"right":5969.5,"top":6120.5}},{"unicode":8779,"advance":0.59999999999999998,"planeBounds":{"left":0.012125000000000014,"bottom":0.029296875,"right":0.60587500000000005,"top":0.630859375},"atlasBounds":{"left":5165.5,"bottom":3489.5,"right":5317.5,"top":3643.5}},{"unicode":8781,"advance":0.59999999999999998,"planeBounds":{"left":0.011125000000000013,"bottom":0.087890625,"right":0.60487500000000005,"top":0.572265625},"atlasBounds":{"left":6338.5,"bottom":3360.5,"right":6490.5,"top":3484.5}},{"unicode":8788,"advance":0.59999999999999998,"planeBounds":{"left":-0.041845108695652174,"bottom":0.072265625,"right":0.66127989130434783,"top":0.587890625},"atlasBounds":{"left":4738.5,"bottom":3352.5,"right":4918.5,"top":3484.5}},{"unicode":8791,"advance":0.59999999999999998,"planeBounds":{"left":0.030781249999999982,"bottom":0.064453125,"right":0.55421874999999998,"top":0.740234375},"atlasBounds":{"left":2390.5,"bottom":3811.5,"right":2524.5,"top":3984.5}},{"unicode":8799,"advance":0.59999999999999998,"planeBounds":{"left":0.030781249999999982,"bottom":0.064453125,"right":0.55421874999999998,"top":0.806640625},"atlasBounds":{"left":7373.5,"bottom":4189.5,"right":7507.5,"top":4379.5}},{"unicode":8800,"advance":0.59999999999999998,"planeBounds":{"left":0.039562499999999994,"bottom":-0.091796875,"right":0.58643750000000006,"top":0.814453125},"atlasBounds":{"left":5970.5,"bottom":5888.5,"right":6110.5,"top":6120.5}},{"unicode":8801,"advance":0.59999999999999998,"planeBounds":{"left":0.023343750000000003,"bottom":0.083984375,"right":0.59365625,"top":0.572265625},"atlasBounds":{"left":6054.5,"bottom":3359.5,"right":6200.5,"top":3484.5}},{"unicode":8802,"advance":0.59999999999999998,"planeBounds":{"left":0.023343750000000003,"bottom":-0.087890625,"right":0.59365625,"top":0.755859375},"atlasBounds":{"left":409.5,"bottom":5208.5,"right":555.5,"top":5424.5}},{"unicode":8803,"advance":0.59999999999999998,"planeBounds":{"left":0.030656249999999996,"bottom":0.068359375,"right":0.58534375000000005,"top":0.591796875},"atlasBounds":{"left":2912.5,"bottom":3350.5,"right":3054.5,"top":3484.5}},{"unicode":8804,"advance":0.59999999999999998,"planeBounds":{"left":0.0082656250000000177,"bottom":-0.033203125,"right":0.61373437500000005,"top":0.744140625},"atlasBounds":{"left":4822.5,"bottom":4180.5,"right":4977.5,"top":4379.5}},{"unicode":8805,"advance":0.59999999999999998,"planeBounds":{"left":0.0083437500000000022,"bottom":-0.033203125,"right":0.57865624999999998,"top":0.744140625},"atlasBounds":{"left":4675.5,"bottom":4180.5,"right":4821.5,"top":4379.5}},{"unicode":8810,"advance":0.59999999999999998,"planeBounds":{"left":-0.028968749999999995,"bottom":0.041015625,"right":0.68196875000000001,"top":0.619140625},"atlasBounds":{"left":7107.5,"bottom":3495.5,"right":7289.5,"top":3643.5}},{"unicode":8811,"advance":0.59999999999999998,"planeBounds":{"left":-0.064968749999999992,"bottom":0.041015625,"right":0.64596874999999998,"top":0.619140625},"atlasBounds":{"left":6924.5,"bottom":3495.5,"right":7106.5,"top":3643.5}},{"unicode":8812,"advance":0.59999999999999998,"planeBounds":{"left":0.12631249999999999,"bottom":-0.087890625,"right":0.48568749999999999,"top":0.638671875},"atlasBounds":{"left":1060.5,"bottom":3988.5,"right":1152.5,"top":4174.5}},{"unicode":8813,"advance":0.59999999999999998,"planeBounds":{"left":0.011125000000000013,"bottom":-0.033203125,"right":0.60487500000000005,"top":0.697265625},"atlasBounds":{"left":162.5,"bottom":3987.5,"right":314.5,"top":4174.5}},{"unicode":8814,"advance":0.59999999999999998,"planeBounds":{"left":0.042609374999999991,"bottom":-0.103515625,"right":0.59339062500000006,"top":0.763671875},"atlasBounds":{"left":3054.5,"bottom":5652.5,"right":3195.5,"top":5874.5}},{"unicode":8815,"advance":0.59999999999999998,"planeBounds":{"left":0.024015624999999988,"bottom":-0.103515625,"right":0.56698437499999998,"top":0.763671875},"atlasBounds":{"left":2914.5,"bottom":5652.5,"right":3053.5,"top":5874.5}},{"unicode":8816,"advance":0.59999999999999998,"planeBounds":{"left":0.011718750000000016,"bottom":-0.142578125,"right":0.61328125,"top":0.814453125},"atlasBounds":{"left":7884.5,"bottom":6128.5,"right":8038.5,"top":6373.5}},{"unicode":8817,"advance":0.59999999999999998,"planeBounds":{"left":-0.00056249999999999334,"bottom":-0.142578125,"right":0.57756249999999998,"top":0.814453125},"atlasBounds":{"left":0.5,"bottom":5875.5,"right":148.5,"top":6120.5}},{"unicode":8818,"advance":0.59999999999999998,"planeBounds":{"left":0.00085937500000002093,"bottom":-0.033203125,"right":0.614140625,"top":0.744140625},"atlasBounds":{"left":4362.5,"bottom":4180.5,"right":4519.5,"top":4379.5}},{"unicode":8819,"advance":0.59999999999999998,"planeBounds":{"left":0.0083437500000000039,"bottom":-0.037109375,"right":0.57865624999999998,"top":0.744140625},"atlasBounds":{"left":4215.5,"bottom":4179.5,"right":4361.5,"top":4379.5}},{"unicode":8826,"advance":0.59999999999999998,"planeBounds":{"left":0.041843749999999999,"bottom":0.021484375,"right":0.61215624999999996,"top":0.634765625},"atlasBounds":{"left":4745.5,"bottom":3486.5,"right":4891.5,"top":3643.5}},{"unicode":8827,"advance":0.59999999999999998,"planeBounds":{"left":0.018343750000000002,"bottom":0.021484375,"right":0.58865624999999999,"top":0.634765625},"atlasBounds":{"left":4598.5,"bottom":3486.5,"right":4744.5,"top":3643.5}},{"unicode":8828,"advance":0.59999999999999998,"planeBounds":{"left":-0.0024062499999999692,"bottom":-0.033203125,"right":0.63040625000000006,"top":0.759765625},"atlasBounds":{"left":3724.5,"bottom":4176.5,"right":3886.5,"top":4379.5}},{"unicode":8834,"advance":0.59999999999999998,"planeBounds":{"left":0.021222355769230768,"bottom":0.091796875,"right":0.64231610576923071,"top":0.626953125},"atlasBounds":{"left":1700.5,"bottom":3347.5,"right":1859.5,"top":3484.5}},{"unicode":8835,"advance":0.59999999999999998,"planeBounds":{"left":-0.017795454545454573,"bottom":0.091796875,"right":0.60720454545454539,"top":0.626953125},"atlasBounds":{"left":1539.5,"bottom":3347.5,"right":1699.5,"top":3484.5}},{"unicode":8836,"advance":0.59999999999999998,"planeBounds":{"left":0.01907954545454546,"bottom":-0.091796875,"right":0.64407954545454549,"top":0.814453125},"atlasBounds":{"left":6111.5,"bottom":5888.5,"right":6271.5,"top":6120.5}},{"unicode":8837,"advance":0.59999999999999998,"planeBounds":{"left":-0.017825581395348802,"bottom":-0.091796875,"right":0.60717441860465127,"top":0.814453125},"atlasBounds":{"left":6272.5,"bottom":5888.5,"right":6432.5,"top":6120.5}},{"unicode":8838,"advance":0.59999999999999998,"planeBounds":{"left":-0.014937500000000008,"bottom":-0.033203125,"right":0.65693750000000006,"top":0.708984375},"atlasBounds":{"left":7993.5,"bottom":4189.5,"right":8165.5,"top":4379.5}},{"unicode":8839,"advance":0.59999999999999998,"planeBounds":{"left":-0.036920454545454506,"bottom":-0.033203125,"right":0.61932954545454555,"top":0.708984375},"atlasBounds":{"left":7824.5,"bottom":4189.5,"right":7992.5,"top":4379.5}},{"unicode":8840,"advance":0.59999999999999998,"planeBounds":{"left":-0.10834517045454549,"bottom":-0.142578125,"right":0.6299360795454545,"top":0.861328125},"atlasBounds":{"left":663.5,"bottom":6374.5,"right":852.5,"top":6631.5}},{"unicode":8841,"advance":0.59999999999999998,"planeBounds":{"left":-0.037984375000000008,"bottom":-0.142578125,"right":0.62998437500000004,"top":0.861328125},"atlasBounds":{"left":853.5,"bottom":6374.5,"right":1024.5,"top":6631.5}},{"unicode":8846,"advance":0.59999999999999998,"planeBounds":{"left":0.038281249999999989,"bottom":-0.033203125,"right":0.56171875000000004,"top":0.763671875},"atlasBounds":{"left":6067.5,"bottom":4585.5,"right":6201.5,"top":4789.5}},{"unicode":8847,"advance":0.59999999999999998,"planeBounds":{"left":-0.014171875000000018,"bottom":0.064453125,"right":0.63817187500000006,"top":0.595703125},"atlasBounds":{"left":2099.5,"bottom":3348.5,"right":2266.5,"top":3484.5}},{"unicode":8848,"advance":0.59999999999999998,"planeBounds":{"left":-0.022171875000000018,"bottom":0.064453125,"right":0.63017187500000005,"top":0.595703125},"atlasBounds":{"left":2267.5,"bottom":3348.5,"right":2434.5,"top":3484.5}},{"unicode":8849,"advance":0.59999999999999998,"planeBounds":{"left":-0.032296875000000003,"bottom":-0.033203125,"right":0.651296875,"top":0.708984375},"atlasBounds":{"left":7508.5,"bottom":4189.5,"right":7683.5,"top":4379.5}},{"unicode":8850,"advance":0.59999999999999998,"planeBounds":{"left":-0.032296875000000003,"bottom":-0.033203125,"right":0.651296875,"top":0.708984375},"atlasBounds":{"left":7197.5,"bottom":4189.5,"right":7372.5,"top":4379.5}},{"unicode":8851,"advance":0.59999999999999998,"planeBounds":{"left":0.0028593750000000216,"bottom":0.044921875,"right":0.616140625,"top":0.626953125},"atlasBounds":{"left":5777.5,"bottom":3494.5,"right":5934.5,"top":3643.5}},{"unicode":8852,"advance":0.59999999999999998,"planeBounds":{"left":0.0028593750000000216,"bottom":0.044921875,"right":0.616140625,"top":0.626953125},"atlasBounds":{"left":6086.5,"bottom":3494.5,"right":6243.5,"top":3643.5}},{"unicode":8853,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":5377.5,"bottom":3998.5,"right":5552.5,"top":4174.5}},{"unicode":8854,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.013671875,"right":0.64179687500000004,"top":0.673828125},"atlasBounds":{"left":7478.5,"bottom":3998.5,"right":7653.5,"top":4174.5}},{"unicode":8855,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":5905.5,"bottom":3998.5,"right":6080.5,"top":4174.5}},{"unicode":8856,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":5729.5,"bottom":3998.5,"right":5904.5,"top":4174.5}},{"unicode":8857,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.033203125,"right":0.64179687500000004,"top":0.654296875},"atlasBounds":{"left":3217.5,"bottom":3998.5,"right":3392.5,"top":4174.5}},{"unicode":8859,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":7830.5,"bottom":3998.5,"right":8005.5,"top":4174.5}},{"unicode":8860,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":7654.5,"bottom":3998.5,"right":7829.5,"top":4174.5}},{"unicode":8861,"advance":0.59999999999999998,"planeBounds":{"left":-0.032796875000000003,"bottom":-0.013671875,"right":0.65079687500000005,"top":0.673828125},"atlasBounds":{"left":3393.5,"bottom":3998.5,"right":3568.5,"top":4174.5}},{"unicode":8862,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.001953125,"right":0.63203125000000004,"top":0.662109375},"atlasBounds":{"left":5299.5,"bottom":3814.5,"right":5469.5,"top":3984.5}},{"unicode":8863,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.001953125,"right":0.63203125000000004,"top":0.662109375},"atlasBounds":{"left":5128.5,"bottom":3814.5,"right":5298.5,"top":3984.5}},{"unicode":8864,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.001953125,"right":0.63203125000000004,"top":0.662109375},"atlasBounds":{"left":5641.5,"bottom":3814.5,"right":5811.5,"top":3984.5}},{"unicode":8865,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.001953125,"right":0.63203125000000004,"top":0.662109375},"atlasBounds":{"left":5470.5,"bottom":3814.5,"right":5640.5,"top":3984.5}},{"unicode":8866,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":4615.5,"bottom":3813.5,"right":4785.5,"top":3984.5}},{"unicode":8867,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":4786.5,"bottom":3813.5,"right":4956.5,"top":3984.5}},{"unicode":8868,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":4102.5,"bottom":3813.5,"right":4272.5,"top":3984.5}},{"unicode":8869,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":3076.5,"bottom":3813.5,"right":3246.5,"top":3984.5}},{"unicode":8884,"advance":0.59999999999999998,"planeBounds":{"left":0.011718750000000016,"bottom":-0.033203125,"right":0.61328125,"top":0.744140625},"atlasBounds":{"left":4520.5,"bottom":4180.5,"right":4674.5,"top":4379.5}},{"unicode":8888,"advance":0.59999999999999998,"planeBounds":{"left":-0.011406249999999968,"bottom":0.201171875,"right":0.62140625000000005,"top":0.458984375},"atlasBounds":{"left":6987.5,"bottom":3272.5,"right":7149.5,"top":3338.5}},{"unicode":8891,"advance":0.59999999999999998,"planeBounds":{"left":0.011406250000000024,"bottom":-0.033203125,"right":0.62859375000000006,"top":0.728515625},"atlasBounds":{"left":6005.5,"bottom":4184.5,"right":6163.5,"top":4379.5}},{"unicode":8892,"advance":0.59999999999999998,"planeBounds":{"left":0.0067343749999999808,"bottom":0.044921875,"right":0.65126562499999996,"top":0.771484375},"atlasBounds":{"left":315.5,"bottom":3988.5,"right":480.5,"top":4174.5}},{"unicode":8893,"advance":0.59999999999999998,"planeBounds":{"left":0.085296875000000008,"bottom":0.044921875,"right":0.65170312500000005,"top":0.771484375},"atlasBounds":{"left":1418.5,"bottom":3988.5,"right":1563.5,"top":4174.5}},{"unicode":8898,"advance":0.59999999999999998,"planeBounds":{"left":0.026562499999999992,"bottom":-0.033203125,"right":0.57343750000000004,"top":0.763671875},"atlasBounds":{"left":150.5,"bottom":4380.5,"right":290.5,"top":4584.5}},{"unicode":8899,"advance":0.59999999999999998,"planeBounds":{"left":0.026562499999999992,"bottom":-0.033203125,"right":0.57343750000000004,"top":0.763671875},"atlasBounds":{"left":7580.5,"bottom":4585.5,"right":7720.5,"top":4789.5}},{"unicode":8900,"advance":0.59999999999999998,"planeBounds":{"left":0.12617187500000002,"bottom":0.158203125,"right":0.47382812499999999,"top":0.505859375},"atlasBounds":{"left":4995.5,"bottom":3249.5,"right":5084.5,"top":3338.5}},{"unicode":8902,"advance":0.59999999999999998,"planeBounds":{"left":0.14765625000000002,"bottom":0.185546875,"right":0.45234374999999999,"top":0.498046875},"atlasBounds":{"left":5324.5,"bottom":3258.5,"right":5402.5,"top":3338.5}},{"unicode":8904,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.017578125,"right":0.63203125000000004,"top":0.701171875},"atlasBounds":{"left":740.5,"bottom":3809.5,"right":910.5,"top":3984.5}},{"unicode":8905,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.017578125,"right":0.63203125000000004,"top":0.701171875},"atlasBounds":{"left":569.5,"bottom":3809.5,"right":739.5,"top":3984.5}},{"unicode":8906,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.017578125,"right":0.63203125000000004,"top":0.701171875},"atlasBounds":{"left":398.5,"bottom":3809.5,"right":568.5,"top":3984.5}},{"unicode":8910,"advance":0.59999999999999998,"planeBounds":{"left":0.027953125000000027,"bottom":-0.033203125,"right":0.64904687500000002,"top":0.583984375},"atlasBounds":{"left":3442.5,"bottom":3485.5,"right":3601.5,"top":3643.5}},{"unicode":8912,"advance":0.59999999999999998,"planeBounds":{"left":0.013473958333333343,"bottom":0.044921875,"right":0.65019270833333342,"top":0.673828125},"atlasBounds":{"left":4033.5,"bottom":3646.5,"right":4196.5,"top":3807.5}},{"unicode":8930,"advance":0.59999999999999998,"planeBounds":{"left":-0.032296875000000003,"bottom":-0.142578125,"right":0.651296875,"top":0.861328125},"atlasBounds":{"left":1025.5,"bottom":6374.5,"right":1200.5,"top":6631.5}},{"unicode":8942,"advance":0.59999999999999998,"planeBounds":{"left":0.20479687500000002,"bottom":-0.009765625,"right":0.39620312499999999,"top":0.677734375},"atlasBounds":{"left":4273.5,"bottom":3998.5,"right":4322.5,"top":4174.5}},{"unicode":8943,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.236328125,"right":0.64179687500000004,"top":0.431640625},"atlasBounds":{"left":171.5,"bottom":3178.5,"right":346.5,"top":3228.5}},{"unicode":8944,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.009765625,"right":0.64179687500000004,"top":0.677734375},"atlasBounds":{"left":6252.5,"bottom":3998.5,"right":6427.5,"top":4174.5}},{"unicode":8945,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.009765625,"right":0.64179687500000004,"top":0.677734375},"atlasBounds":{"left":8006.5,"bottom":3998.5,"right":8181.5,"top":4174.5}},{"unicode":8962,"advance":0.59999999999999998,"planeBounds":{"left":0.048046875000000031,"bottom":-0.033203125,"right":0.55195312500000004,"top":0.591796875},"atlasBounds":{"left":6404.5,"bottom":3647.5,"right":6533.5,"top":3807.5}},{"unicode":8963,"advance":0.59999999999999998,"planeBounds":{"left":0.016796874999999999,"bottom":0.435546875,"right":0.58320312500000004,"top":0.771484375},"atlasBounds":{"left":5178.5,"bottom":3252.5,"right":5323.5,"top":3338.5}},{"unicode":8964,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":-0.044921875,"right":0.62226562500000004,"top":0.376953125},"atlasBounds":{"left":498.5,"bottom":3230.5,"right":663.5,"top":3338.5}},{"unicode":8965,"advance":0.59999999999999998,"planeBounds":{"left":0.016796874999999999,"bottom":0.318359375,"right":0.58320312500000004,"top":0.763671875},"atlasBounds":{"left":7303.5,"bottom":3370.5,"right":7448.5,"top":3484.5}},{"unicode":8968,"advance":0.59999999999999998,"planeBounds":{"left":0.12084375,"bottom":-0.142578125,"right":0.56615625000000003,"top":0.861328125},"atlasBounds":{"left":1201.5,"bottom":6374.5,"right":1315.5,"top":6631.5}},{"unicode":8969,"advance":0.59999999999999998,"planeBounds":{"left":0.19965625000000001,"bottom":-0.142578125,"right":0.50434374999999998,"top":0.861328125},"atlasBounds":{"left":1316.5,"bottom":6374.5,"right":1394.5,"top":6631.5}},{"unicode":8970,"advance":0.59999999999999998,"planeBounds":{"left":0.12165625000000001,"bottom":-0.142578125,"right":0.42634375000000002,"top":0.861328125},"atlasBounds":{"left":1395.5,"bottom":6374.5,"right":1473.5,"top":6631.5}},{"unicode":8971,"advance":0.59999999999999998,"planeBounds":{"left":0.059843750000000001,"bottom":-0.142578125,"right":0.50515624999999997,"top":0.861328125},"atlasBounds":{"left":1474.5,"bottom":6374.5,"right":1588.5,"top":6631.5}},{"unicode":8984,"advance":0.59999999999999998,"planeBounds":{"left":-0.030078125000000015,"bottom":0.041015625,"right":0.63007812500000004,"top":0.697265625},"atlasBounds":{"left":6082.5,"bottom":3816.5,"right":6251.5,"top":3984.5}},{"unicode":8988,"advance":0.59999999999999998,"planeBounds":{"left":0.20642187500000003,"bottom":0.498046875,"right":0.61657812499999998,"top":0.861328125},"atlasBounds":{"left":4344.5,"bottom":3245.5,"right":4449.5,"top":3338.5}},{"unicode":8989,"advance":0.59999999999999998,"planeBounds":{"left":0.14799999999999999,"bottom":0.498046875,"right":0.52300000000000002,"top":0.861328125},"atlasBounds":{"left":4247.5,"bottom":3245.5,"right":4343.5,"top":3338.5}},{"unicode":8990,"advance":0.59999999999999998,"planeBounds":{"left":0.129,"bottom":-0.142578125,"right":0.504,"top":0.224609375},"atlasBounds":{"left":3493.5,"bottom":3244.5,"right":3589.5,"top":3338.5}},{"unicode":8991,"advance":0.59999999999999998,"planeBounds":{"left":0.041421875000000018,"bottom":-0.142578125,"right":0.451578125,"top":0.224609375},"atlasBounds":{"left":3590.5,"bottom":3244.5,"right":3695.5,"top":3338.5}},{"unicode":8996,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.396484375,"right":0.64179687500000004,"top":0.763671875},"atlasBounds":{"left":3877.5,"bottom":3244.5,"right":4052.5,"top":3338.5}},{"unicode":8997,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":-0.033203125,"right":0.62226562500000004,"top":0.763671875},"atlasBounds":{"left":4738.5,"bottom":4585.5,"right":4903.5,"top":4789.5}},{"unicode":8998,"advance":0.59999999999999998,"planeBounds":{"left":-0.086406249999999976,"bottom":0.033203125,"right":0.79640624999999998,"top":0.708984375},"atlasBounds":{"left":2525.5,"bottom":3811.5,"right":2751.5,"top":3984.5}},{"unicode":9000,"advance":0.59999999999999998,"planeBounds":{"left":-0.11992187499999998,"bottom":0.033203125,"right":0.71992187500000004,"top":0.708984375},"atlasBounds":{"left":1947.5,"bottom":3811.5,"right":2162.5,"top":3984.5}},{"unicode":9003,"advance":0.59999999999999998,"planeBounds":{"left":-0.19640624999999998,"bottom":0.033203125,"right":0.68640625,"top":0.708984375},"atlasBounds":{"left":2163.5,"bottom":3811.5,"right":2389.5,"top":3984.5}},{"unicode":9014,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.763671875},"atlasBounds":{"left":7888.5,"bottom":4585.5,"right":8058.5,"top":4789.5}},{"unicode":9015,"advance":0.59999999999999998,"planeBounds":{"left":0.13789062500000002,"bottom":-0.142578125,"right":0.46210937499999999,"top":0.861328125},"atlasBounds":{"left":1589.5,"bottom":6374.5,"right":1672.5,"top":6631.5}},{"unicode":9016,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":1673.5,"bottom":6374.5,"right":1843.5,"top":6631.5}},{"unicode":9017,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":1844.5,"bottom":6374.5,"right":2014.5,"top":6631.5}},{"unicode":9018,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":2015.5,"bottom":6374.5,"right":2185.5,"top":6631.5}},{"unicode":9019,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":2186.5,"bottom":6374.5,"right":2356.5,"top":6631.5}},{"unicode":9020,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":2357.5,"bottom":6374.5,"right":2527.5,"top":6631.5}},{"unicode":9021,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":-0.142578125,"right":0.65579687500000006,"top":0.861328125},"atlasBounds":{"left":2528.5,"bottom":6374.5,"right":2703.5,"top":6631.5}},{"unicode":9022,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":3041.5,"bottom":3998.5,"right":3216.5,"top":4174.5}},{"unicode":9023,"advance":0.59999999999999998,"planeBounds":{"left":-0.0053593749999999675,"bottom":-0.142578125,"right":0.63135937500000006,"top":0.861328125},"atlasBounds":{"left":2704.5,"bottom":6374.5,"right":2867.5,"top":6631.5}},{"unicode":9024,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999992,"bottom":-0.142578125,"right":0.57148437500000004,"top":0.861328125},"atlasBounds":{"left":2868.5,"bottom":6374.5,"right":3007.5,"top":6631.5}},{"unicode":9025,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3008.5,"bottom":6374.5,"right":3178.5,"top":6631.5}},{"unicode":9026,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3179.5,"bottom":6374.5,"right":3349.5,"top":6631.5}},{"unicode":9027,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3350.5,"bottom":6374.5,"right":3520.5,"top":6631.5}},{"unicode":9028,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3521.5,"bottom":6374.5,"right":3691.5,"top":6631.5}},{"unicode":9029,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.033203125,"right":0.63179687500000004,"top":0.763671875},"atlasBounds":{"left":6202.5,"bottom":4585.5,"right":6377.5,"top":4789.5}},{"unicode":9030,"advance":0.59999999999999998,"planeBounds":{"left":-0.031796875000000002,"bottom":-0.033203125,"right":0.65179687500000005,"top":0.763671875},"atlasBounds":{"left":5623.5,"bottom":4585.5,"right":5798.5,"top":4789.5}},{"unicode":9031,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3692.5,"bottom":6374.5,"right":3862.5,"top":6631.5}},{"unicode":9032,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":3863.5,"bottom":6374.5,"right":4033.5,"top":6631.5}},{"unicode":9033,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":-0.142578125,"right":0.65579687500000006,"top":0.861328125},"atlasBounds":{"left":4034.5,"bottom":6374.5,"right":4209.5,"top":6631.5}},{"unicode":9034,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.181640625,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":140.5,"bottom":4997.5,"right":310.5,"top":5206.5}},{"unicode":9035,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999989,"bottom":-0.142578125,"right":0.57148437500000004,"top":0.861328125},"atlasBounds":{"left":4210.5,"bottom":6374.5,"right":4349.5,"top":6631.5}},{"unicode":9036,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":4350.5,"bottom":6374.5,"right":4520.5,"top":6631.5}},{"unicode":9037,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":4521.5,"bottom":6374.5,"right":4691.5,"top":6631.5}},{"unicode":9038,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":3418.5,"bottom":3813.5,"right":3588.5,"top":3984.5}},{"unicode":9039,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.771484375},"atlasBounds":{"left":6831.5,"bottom":5000.5,"right":7001.5,"top":5206.5}},{"unicode":9040,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":4692.5,"bottom":6374.5,"right":4862.5,"top":6631.5}},{"unicode":9041,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.779296875},"atlasBounds":{"left":841.5,"bottom":4998.5,"right":1011.5,"top":5206.5}},{"unicode":9042,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999989,"bottom":-0.142578125,"right":0.57148437500000004,"top":0.861328125},"atlasBounds":{"left":4863.5,"bottom":6374.5,"right":5002.5,"top":6631.5}},{"unicode":9043,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5003.5,"bottom":6374.5,"right":5173.5,"top":6631.5}},{"unicode":9044,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5174.5,"bottom":6374.5,"right":5344.5,"top":6631.5}},{"unicode":9045,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.634765625},"atlasBounds":{"left":4957.5,"bottom":3813.5,"right":5127.5,"top":3984.5}},{"unicode":9046,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.044921875,"right":0.63203125000000004,"top":0.763671875},"atlasBounds":{"left":3629.5,"bottom":4999.5,"right":3799.5,"top":5206.5}},{"unicode":9047,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5345.5,"bottom":6374.5,"right":5515.5,"top":6631.5}},{"unicode":9048,"advance":0.59999999999999998,"planeBounds":{"left":0.040828125000000014,"bottom":-0.181640625,"right":0.44317187499999999,"top":0.763671875},"atlasBounds":{"left":729.5,"bottom":5878.5,"right":832.5,"top":6120.5}},{"unicode":9049,"advance":0.59999999999999998,"planeBounds":{"left":0.022656249999999996,"bottom":-0.181640625,"right":0.57734375000000004,"top":0.763671875},"atlasBounds":{"left":586.5,"bottom":5878.5,"right":728.5,"top":6120.5}},{"unicode":9050,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.181640625,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":1456.5,"bottom":5647.5,"right":1631.5,"top":5874.5}},{"unicode":9051,"advance":0.59999999999999998,"planeBounds":{"left":0.10859375,"bottom":-0.181640625,"right":0.49140624999999999,"top":0.482421875},"atlasBounds":{"left":5812.5,"bottom":3814.5,"right":5910.5,"top":3984.5}},{"unicode":9052,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":-0.181640625,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":642.5,"bottom":5647.5,"right":817.5,"top":5874.5}},{"unicode":9053,"advance":0.59999999999999998,"planeBounds":{"left":0.048046875000000031,"bottom":-0.033203125,"right":0.55195312500000004,"top":0.591796875},"atlasBounds":{"left":6697.5,"bottom":3647.5,"right":6826.5,"top":3807.5}},{"unicode":9054,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5516.5,"bottom":6374.5,"right":5686.5,"top":6631.5}},{"unicode":9055,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":3921.5,"bottom":3998.5,"right":4096.5,"top":4174.5}},{"unicode":9056,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5687.5,"bottom":6374.5,"right":5857.5,"top":6631.5}},{"unicode":9057,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.802734375},"atlasBounds":{"left":692.5,"bottom":5210.5,"right":862.5,"top":5424.5}},{"unicode":9058,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999989,"bottom":-0.033203125,"right":0.57148437500000004,"top":0.970703125},"atlasBounds":{"left":6029.5,"bottom":6374.5,"right":6168.5,"top":6631.5}},{"unicode":9059,"advance":0.59999999999999998,"planeBounds":{"left":0.10273437500000002,"bottom":0.185546875,"right":0.49726562499999999,"top":0.712890625},"atlasBounds":{"left":2435.5,"bottom":3349.5,"right":2536.5,"top":3484.5}},{"unicode":9060,"advance":0.59999999999999998,"planeBounds":{"left":0.10273437500000002,"bottom":0.177734375,"right":0.49726562499999999,"top":0.712890625},"atlasBounds":{"left":1997.5,"bottom":3347.5,"right":2098.5,"top":3484.5}},{"unicode":9061,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.970703125},"atlasBounds":{"left":261.5,"bottom":5876.5,"right":436.5,"top":6120.5}},{"unicode":9062,"advance":0.59999999999999998,"planeBounds":{"left":0.048046875000000031,"bottom":-0.142578125,"right":0.55195312500000004,"top":0.861328125},"atlasBounds":{"left":6169.5,"bottom":6374.5,"right":6298.5,"top":6631.5}},{"unicode":9063,"advance":0.59999999999999998,"planeBounds":{"left":-0.0027343749999999825,"bottom":-0.142578125,"right":0.60273437500000004,"top":0.861328125},"atlasBounds":{"left":6299.5,"bottom":6374.5,"right":6454.5,"top":6631.5}},{"unicode":9064,"advance":0.59999999999999998,"planeBounds":{"left":0.045874999999999985,"bottom":0.224609375,"right":0.577125,"top":0.712890625},"atlasBounds":{"left":6201.5,"bottom":3359.5,"right":6337.5,"top":3484.5}},{"unicode":9065,"advance":0.59999999999999998,"planeBounds":{"left":0.024210069444444489,"bottom":0.041015625,"right":0.56717881944444448,"top":0.802734375},"atlasBounds":{"left":6164.5,"bottom":4184.5,"right":6303.5,"top":4379.5}},{"unicode":9066,"advance":0.59999999999999998,"planeBounds":{"left":0.141234375,"bottom":0.005859375,"right":0.53576562500000002,"top":0.583984375},"atlasBounds":{"left":8090.5,"bottom":4436.5,"right":8191.5,"top":4584.5}},{"unicode":9067,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999989,"bottom":-0.033203125,"right":0.57148437500000004,"top":0.978515625},"atlasBounds":{"left":1800.5,"bottom":6633.5,"right":1939.5,"top":6892.5}},{"unicode":9068,"advance":0.59999999999999998,"planeBounds":{"left":0.048137295081967242,"bottom":-0.044921875,"right":0.57938729508196729,"top":0.771484375},"atlasBounds":{"left":4154.5,"bottom":5215.5,"right":4290.5,"top":5424.5}},{"unicode":9069,"advance":0.59999999999999998,"planeBounds":{"left":0.044140625000000031,"bottom":-0.142578125,"right":0.55585937500000004,"top":0.861328125},"atlasBounds":{"left":6455.5,"bottom":6374.5,"right":6586.5,"top":6631.5}},{"unicode":9070,"advance":0.59999999999999998,"planeBounds":{"left":0.040771306818181828,"bottom":-0.181640625,"right":0.47436505681818181,"top":0.771484375},"atlasBounds":{"left":149.5,"bottom":5876.5,"right":260.5,"top":6120.5}},{"unicode":9071,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":6587.5,"bottom":6374.5,"right":6757.5,"top":6631.5}},{"unicode":9072,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":6758.5,"bottom":6374.5,"right":6928.5,"top":6631.5}},{"unicode":9073,"advance":0.59999999999999998,"planeBounds":{"left":0.081281249999999985,"bottom":0.017578125,"right":0.60471874999999997,"top":0.814453125},"atlasBounds":{"left":562.5,"bottom":4380.5,"right":696.5,"top":4584.5}},{"unicode":9074,"advance":0.59999999999999998,"planeBounds":{"left":0.0013437500000000023,"bottom":0.017578125,"right":0.57165624999999998,"top":0.814453125},"atlasBounds":{"left":6645.5,"bottom":4585.5,"right":6791.5,"top":4789.5}},{"unicode":9075,"advance":0.59999999999999998,"planeBounds":{"left":0.06521875000000002,"bottom":-0.033203125,"right":0.54178124999999999,"top":0.583984375},"atlasBounds":{"left":4183.5,"bottom":3485.5,"right":4305.5,"top":3643.5}},{"unicode":9076,"advance":0.59999999999999998,"planeBounds":{"left":-0.0012296080508474581,"bottom":-0.212890625,"right":0.54955164194915251,"top":0.591796875},"atlasBounds":{"left":5779.5,"bottom":5000.5,"right":5920.5,"top":5206.5}},{"unicode":9077,"advance":0.59999999999999998,"planeBounds":{"left":0.00780563186813192,"bottom":-0.044921875,"right":0.58593063186813199,"top":0.591796875},"atlasBounds":{"left":2122.5,"bottom":3644.5,"right":2270.5,"top":3807.5}},{"unicode":9078,"advance":0.59999999999999998,"planeBounds":{"left":-0.012406249999999969,"bottom":-0.181640625,"right":0.62040625000000005,"top":0.591796875},"atlasBounds":{"left":4978.5,"bottom":4181.5,"right":5140.5,"top":4379.5}},{"unicode":9079,"advance":0.59999999999999998,"planeBounds":{"left":0.012703124999999999,"bottom":-0.181640625,"right":0.57129687500000004,"top":0.591796875},"atlasBounds":{"left":5301.5,"bottom":4181.5,"right":5444.5,"top":4379.5}},{"unicode":9080,"advance":0.59999999999999998,"planeBounds":{"left":-0.033109374999999996,"bottom":-0.181640625,"right":0.541109375,"top":0.583984375},"atlasBounds":{"left":5857.5,"bottom":4183.5,"right":6004.5,"top":4379.5}},{"unicode":9081,"advance":0.59999999999999998,"planeBounds":{"left":-0.034832589285714248,"bottom":-0.181640625,"right":0.5862611607142858,"top":0.591796875},"atlasBounds":{"left":5141.5,"bottom":4181.5,"right":5300.5,"top":4379.5}},{"unicode":9082,"advance":0.59999999999999998,"planeBounds":{"left":0.026685000000000007,"bottom":-0.044921875,"right":0.62043500000000007,"top":0.591796875},"atlasBounds":{"left":1253.5,"bottom":3644.5,"right":1405.5,"top":3807.5}},{"unicode":9097,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":2689.5,"bottom":3998.5,"right":2864.5,"top":4174.5}},{"unicode":9098,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":0.5,"bottom":3808.5,"right":175.5,"top":3984.5}},{"unicode":9099,"advance":0.59999999999999998,"planeBounds":{"left":-0.011406249999999968,"bottom":0.052734375,"right":0.62140625000000005,"top":0.681640625},"atlasBounds":{"left":4364.5,"bottom":3646.5,"right":4526.5,"top":3807.5}},{"unicode":9109,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.142578125,"right":0.63203125000000004,"top":0.861328125},"atlasBounds":{"left":5858.5,"bottom":6374.5,"right":6028.5,"top":6631.5}},{"unicode":9115,"advance":0.59999999999999998,"planeBounds":{"left":0.23567187500000003,"bottom":-0.333984375,"right":0.58332812499999998,"top":0.873046875},"atlasBounds":{"left":2064.5,"bottom":7475.5,"right":2153.5,"top":7784.5}},{"unicode":9116,"advance":0.59999999999999998,"planeBounds":{"left":0.23554687500000002,"bottom":-0.333984375,"right":0.36445312499999999,"top":1.052734375},"atlasBounds":{"left":6507.5,"bottom":7836.5,"right":6540.5,"top":8191.5}},{"unicode":9117,"advance":0.59999999999999998,"planeBounds":{"left":0.23567187500000003,"bottom":-0.154296875,"right":0.58332812499999998,"top":1.052734375},"atlasBounds":{"left":2154.5,"bottom":7475.5,"right":2243.5,"top":7784.5}},{"unicode":9118,"advance":0.59999999999999998,"planeBounds":{"left":0.016671875000000013,"bottom":-0.333984375,"right":0.364328125,"top":0.873046875},"atlasBounds":{"left":2244.5,"bottom":7475.5,"right":2333.5,"top":7784.5}},{"unicode":9119,"advance":0.59999999999999998,"planeBounds":{"left":0.23554687500000002,"bottom":-0.333984375,"right":0.36445312499999999,"top":1.052734375},"atlasBounds":{"left":6541.5,"bottom":7836.5,"right":6574.5,"top":8191.5}},{"unicode":9120,"advance":0.59999999999999998,"planeBounds":{"left":0.016671875000000013,"bottom":-0.154296875,"right":0.364328125,"top":1.052734375},"atlasBounds":{"left":2334.5,"bottom":7475.5,"right":2423.5,"top":7784.5}},{"unicode":9121,"advance":0.59999999999999998,"planeBounds":{"left":0.23506250000000001,"bottom":-0.333984375,"right":0.53193750000000006,"top":0.861328125},"atlasBounds":{"left":2424.5,"bottom":7478.5,"right":2500.5,"top":7784.5}},{"unicode":9122,"advance":0.59999999999999998,"planeBounds":{"left":0.23554687500000002,"bottom":-0.333984375,"right":0.36445312499999999,"top":1.052734375},"atlasBounds":{"left":6575.5,"bottom":7836.5,"right":6608.5,"top":8191.5}},{"unicode":9123,"advance":0.59999999999999998,"planeBounds":{"left":0.23506250000000001,"bottom":-0.142578125,"right":0.53193750000000006,"top":1.052734375},"atlasBounds":{"left":2501.5,"bottom":7478.5,"right":2577.5,"top":7784.5}},{"unicode":9124,"advance":0.59999999999999998,"planeBounds":{"left":0.068062499999999984,"bottom":-0.333984375,"right":0.36493750000000003,"top":0.861328125},"atlasBounds":{"left":2578.5,"bottom":7478.5,"right":2654.5,"top":7784.5}},{"unicode":9125,"advance":0.59999999999999998,"planeBounds":{"left":0.23554687500000002,"bottom":-0.333984375,"right":0.36445312499999999,"top":1.052734375},"atlasBounds":{"left":6609.5,"bottom":7836.5,"right":6642.5,"top":8191.5}},{"unicode":9126,"advance":0.59999999999999998,"planeBounds":{"left":0.068062499999999984,"bottom":-0.142578125,"right":0.36493750000000003,"top":1.052734375},"atlasBounds":{"left":2655.5,"bottom":7478.5,"right":2731.5,"top":7784.5}},{"unicode":9127,"advance":0.59999999999999998,"planeBounds":{"left":0.233875,"bottom":-0.333984375,"right":0.51512500000000006,"top":0.861328125},"atlasBounds":{"left":2732.5,"bottom":7478.5,"right":2804.5,"top":7784.5}},{"unicode":9128,"advance":0.59999999999999998,"planeBounds":{"left":0.02507812500000001,"bottom":-0.333984375,"right":0.36492187500000001,"top":1.052734375},"atlasBounds":{"left":6643.5,"bottom":7836.5,"right":6730.5,"top":8191.5}},{"unicode":9129,"advance":0.59999999999999998,"planeBounds":{"left":0.233875,"bottom":-0.142578125,"right":0.51512500000000006,"top":1.052734375},"atlasBounds":{"left":2805.5,"bottom":7478.5,"right":2877.5,"top":7784.5}},{"unicode":9130,"advance":0.59999999999999998,"planeBounds":{"left":0.23554687500000002,"bottom":-0.333984375,"right":0.36445312499999999,"top":1.052734375},"atlasBounds":{"left":6731.5,"bottom":7836.5,"right":6764.5,"top":8191.5}},{"unicode":9131,"advance":0.59999999999999998,"planeBounds":{"left":0.08487500000000002,"bottom":-0.333984375,"right":0.36612500000000003,"top":0.861328125},"atlasBounds":{"left":2878.5,"bottom":7478.5,"right":2950.5,"top":7784.5}},{"unicode":9132,"advance":0.59999999999999998,"planeBounds":{"left":0.235078125,"bottom":-0.333984375,"right":0.57492187500000003,"top":1.052734375},"atlasBounds":{"left":6765.5,"bottom":7836.5,"right":6852.5,"top":8191.5}},{"unicode":9133,"advance":0.59999999999999998,"planeBounds":{"left":0.08487500000000002,"bottom":-0.142578125,"right":0.36612500000000003,"top":1.052734375},"atlasBounds":{"left":2951.5,"bottom":7478.5,"right":3023.5,"top":7784.5}},{"unicode":9166,"advance":0.59999999999999998,"planeBounds":{"left":-0.052109374999999993,"bottom":0.017578125,"right":0.64710937499999999,"top":0.763671875},"atlasBounds":{"left":7017.5,"bottom":4188.5,"right":7196.5,"top":4379.5}},{"unicode":9211,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.044921875,"right":0.65156250000000004,"top":0.759765625},"atlasBounds":{"left":5598.5,"bottom":5000.5,"right":5778.5,"top":5206.5}},{"unicode":9212,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.044921875,"right":0.65156250000000004,"top":0.654296875},"atlasBounds":{"left":2200.5,"bottom":3995.5,"right":2380.5,"top":4174.5}},{"unicode":9213,"advance":0.59999999999999998,"planeBounds":{"left":0.21210937500000002,"bottom":-0.037109375,"right":0.38789062499999999,"top":0.646484375},"atlasBounds":{"left":352.5,"bottom":3809.5,"right":397.5,"top":3984.5}},{"unicode":9214,"advance":0.59999999999999998,"planeBounds":{"left":-0.025937500000000009,"bottom":-0.041015625,"right":0.64593750000000005,"top":0.630859375},"atlasBounds":{"left":2752.5,"bottom":3812.5,"right":2924.5,"top":3984.5}},{"unicode":9216,"advance":0.59999999999999998,"planeBounds":{"left":0.0089062500000000235,"bottom":-0.044921875,"right":0.62609375,"top":0.763671875},"atlasBounds":{"left":1887.5,"bottom":4999.5,"right":2045.5,"top":5206.5}},{"unicode":9217,"advance":0.59999999999999998,"planeBounds":{"left":0.016694078947368407,"bottom":-0.033203125,"right":0.62606907894736841,"top":0.767578125},"atlasBounds":{"left":2036.5,"bottom":4791.5,"right":2192.5,"top":4996.5}},{"unicode":9218,"advance":0.59999999999999998,"planeBounds":{"left":0.018334703947368414,"bottom":-0.033203125,"right":0.63942845394736847,"top":0.767578125},"atlasBounds":{"left":2350.5,"bottom":4791.5,"right":2509.5,"top":4996.5}},{"unicode":9219,"advance":0.59999999999999998,"planeBounds":{"left":0.022406250000000027,"bottom":-0.033203125,"right":0.63959374999999996,"top":0.763671875},"atlasBounds":{"left":3717.5,"bottom":4792.5,"right":3875.5,"top":4996.5}},{"unicode":9220,"advance":0.59999999999999998,"planeBounds":{"left":0.022093750000000034,"bottom":-0.033203125,"right":0.65490625000000002,"top":0.763671875},"atlasBounds":{"left":7670.5,"bottom":4792.5,"right":7832.5,"top":4996.5}},{"unicode":9221,"advance":0.59999999999999998,"planeBounds":{"left":0.021218750000000015,"bottom":-0.091796875,"right":0.62278125000000006,"top":0.763671875},"atlasBounds":{"left":4067.5,"bottom":5427.5,"right":4221.5,"top":5646.5}},{"unicode":9222,"advance":0.59999999999999998,"planeBounds":{"left":-0.018718750000000017,"bottom":-0.033203125,"right":0.62971874999999999,"top":0.763671875},"atlasBounds":{"left":7721.5,"bottom":4585.5,"right":7887.5,"top":4789.5}},{"unicode":9223,"advance":0.59999999999999998,"planeBounds":{"left":0.012484375000000009,"bottom":-0.033203125,"right":0.59451562499999999,"top":0.763671875},"atlasBounds":{"left":0.5,"bottom":4380.5,"right":149.5,"top":4584.5}},{"unicode":9224,"advance":0.59999999999999998,"planeBounds":{"left":0.012185763888888939,"bottom":-0.037109375,"right":0.60984201388888892,"top":0.763671875},"atlasBounds":{"left":951.5,"bottom":4791.5,"right":1104.5,"top":4996.5}},{"unicode":9225,"advance":0.59999999999999998,"planeBounds":{"left":0.010234374999999981,"bottom":-0.033203125,"right":0.65476562500000002,"top":0.763671875},"atlasBounds":{"left":2539.5,"bottom":4380.5,"right":2704.5,"top":4584.5}},{"unicode":9226,"advance":0.59999999999999998,"planeBounds":{"left":0.04603125000000001,"bottom":-0.033203125,"right":0.63196874999999997,"top":0.763671875},"atlasBounds":{"left":3005.5,"bottom":4380.5,"right":3155.5,"top":4584.5}},{"unicode":9227,"advance":0.59999999999999998,"planeBounds":{"left":0.033953125000000028,"bottom":-0.033203125,"right":0.65504687500000003,"top":0.763671875},"atlasBounds":{"left":1380.5,"bottom":4380.5,"right":1539.5,"top":4584.5}},{"unicode":9228,"advance":0.59999999999999998,"planeBounds":{"left":0.032671875000000017,"bottom":-0.033203125,"right":0.63032812500000002,"top":0.763671875},"atlasBounds":{"left":981.5,"bottom":4380.5,"right":1134.5,"top":4584.5}},{"unicode":9229,"advance":0.59999999999999998,"planeBounds":{"left":0.022625000000000013,"bottom":-0.033203125,"right":0.61637500000000001,"top":0.767578125},"atlasBounds":{"left":8039.5,"bottom":6168.5,"right":8191.5,"top":6373.5}},{"unicode":9230,"advance":0.59999999999999998,"planeBounds":{"left":0.017147203947368402,"bottom":-0.037109375,"right":0.62261595394736846,"top":0.767578125},"atlasBounds":{"left":5442.5,"bottom":5000.5,"right":5597.5,"top":5206.5}},{"unicode":9231,"advance":0.59999999999999998,"planeBounds":{"left":0.018194078947368408,"bottom":-0.033203125,"right":0.62756907894736846,"top":0.767578125},"atlasBounds":{"left":320.5,"bottom":4791.5,"right":476.5,"top":4996.5}},{"unicode":9232,"advance":0.59999999999999998,"planeBounds":{"left":0.015265625000000019,"bottom":-0.033203125,"right":0.62073437500000006,"top":0.763671875},"atlasBounds":{"left":4904.5,"bottom":4585.5,"right":5059.5,"top":4789.5}},{"unicode":9233,"advance":0.59999999999999998,"planeBounds":{"left":0.014843750000000005,"bottom":-0.033203125,"right":0.58515625000000004,"top":0.763671875},"atlasBounds":{"left":7358.5,"bottom":4380.5,"right":7504.5,"top":4584.5}},{"unicode":9234,"advance":0.59999999999999998,"planeBounds":{"left":0.014484375000000008,"bottom":-0.033203125,"right":0.59651562499999999,"top":0.763671875},"atlasBounds":{"left":7978.5,"bottom":4792.5,"right":8127.5,"top":4996.5}},{"unicode":9235,"advance":0.59999999999999998,"planeBounds":{"left":0.014249999999999999,"bottom":-0.037109375,"right":0.57674999999999998,"top":0.763671875},"atlasBounds":{"left":663.5,"bottom":4791.5,"right":807.5,"top":4996.5}},{"unicode":9236,"advance":0.59999999999999998,"planeBounds":{"left":0.01525,"bottom":-0.033203125,"right":0.57774999999999999,"top":0.763671875},"atlasBounds":{"left":7833.5,"bottom":4792.5,"right":7977.5,"top":4996.5}},{"unicode":9237,"advance":0.59999999999999998,"planeBounds":{"left":0.0094531250000000257,"bottom":-0.033203125,"right":0.63054687500000006,"top":0.763671875},"atlasBounds":{"left":4396.5,"bottom":4792.5,"right":4555.5,"top":4996.5}},{"unicode":9238,"advance":0.59999999999999998,"planeBounds":{"left":0.016694078947368407,"bottom":-0.033203125,"right":0.62606907894736841,"top":0.767578125},"atlasBounds":{"left":2193.5,"bottom":4791.5,"right":2349.5,"top":4996.5}},{"unicode":9239,"advance":0.59999999999999998,"planeBounds":{"left":0.022111895161290314,"bottom":-0.033203125,"right":0.60804939516129042,"top":0.763671875},"atlasBounds":{"left":392.5,"bottom":4585.5,"right":542.5,"top":4789.5}},{"unicode":9240,"advance":0.59999999999999998,"planeBounds":{"left":0.022718750000000017,"bottom":-0.033203125,"right":0.62428125000000001,"top":0.767578125},"atlasBounds":{"left":3121.5,"bottom":4791.5,"right":3275.5,"top":4996.5}},{"unicode":9241,"advance":0.59999999999999998,"planeBounds":{"left":0.022406250000000027,"bottom":-0.033203125,"right":0.63959374999999996,"top":0.763671875},"atlasBounds":{"left":5425.5,"bottom":4792.5,"right":5583.5,"top":4996.5}},{"unicode":9242,"advance":0.59999999999999998,"planeBounds":{"left":0.018040349108658704,"bottom":-0.033203125,"right":0.6078840991086587,"top":0.767578125},"atlasBounds":{"left":2969.5,"bottom":4791.5,"right":3120.5,"top":4996.5}},{"unicode":9243,"advance":0.59999999999999998,"planeBounds":{"left":0.022718750000000017,"bottom":-0.037109375,"right":0.62428125000000001,"top":0.763671875},"atlasBounds":{"left":2814.5,"bottom":4791.5,"right":2968.5,"top":4996.5}},{"unicode":9244,"advance":0.59999999999999998,"planeBounds":{"left":0.031951388888888932,"bottom":-0.037109375,"right":0.61007638888888893,"top":0.763671875},"atlasBounds":{"left":2665.5,"bottom":4791.5,"right":2813.5,"top":4996.5}},{"unicode":9245,"advance":0.59999999999999998,"planeBounds":{"left":0.019592013888888937,"bottom":-0.037109375,"right":0.60943576388888898,"top":0.767578125},"atlasBounds":{"left":7481.5,"bottom":5000.5,"right":7632.5,"top":5206.5}},{"unicode":9246,"advance":0.59999999999999998,"planeBounds":{"left":0.0092326388888889412,"bottom":-0.037109375,"right":0.61079513888888892,"top":0.763671875},"atlasBounds":{"left":2510.5,"bottom":4791.5,"right":2664.5,"top":4996.5}},{"unicode":9247,"advance":0.59999999999999998,"planeBounds":{"left":0.028683046497584592,"bottom":-0.037109375,"right":0.61071429649758457,"top":0.763671875},"atlasBounds":{"left":1540.5,"bottom":4791.5,"right":1689.5,"top":4996.5}},{"unicode":9248,"advance":0.59999999999999998,"planeBounds":{"left":0.016582967836257345,"bottom":-0.033203125,"right":0.62595796783625735,"top":0.767578125},"atlasBounds":{"left":1383.5,"bottom":4791.5,"right":1539.5,"top":4996.5}},{"unicode":9249,"advance":0.59999999999999998,"planeBounds":{"left":0.013984375000000007,"bottom":-0.033203125,"right":0.59601562500000005,"top":0.763671875},"atlasBounds":{"left":3055.5,"bottom":4175.5,"right":3204.5,"top":4379.5}},{"unicode":9251,"advance":0.59999999999999998,"planeBounds":{"left":-0.059281249999999987,"bottom":-0.212890625,"right":0.54228125000000005,"top":0.033203125},"atlasBounds":{"left":7969.5,"bottom":3275.5,"right":8123.5,"top":3338.5}},{"unicode":9252,"advance":0.59999999999999998,"planeBounds":{"left":0.0095312500000000085,"bottom":-0.033203125,"right":0.59546874999999999,"top":0.763671875},"atlasBounds":{"left":3329.5,"bottom":4380.5,"right":3479.5,"top":4584.5}},{"unicode":9472,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.287109375,"right":0.65156250000000004,"top":0.455078125},"atlasBounds":{"left":347.5,"bottom":3185.5,"right":527.5,"top":3228.5}},{"unicode":9473,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":5813.5,"bottom":3270.5,"right":5993.5,"top":3338.5}},{"unicode":9474,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":-0.431640625,"right":0.38203124999999999,"top":1.154296875},"atlasBounds":{"left":0.5,"bottom":7785.5,"right":42.5,"top":8191.5}},{"unicode":9475,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.431640625,"right":0.43281249999999999,"top":1.154296875},"atlasBounds":{"left":43.5,"bottom":7785.5,"right":111.5,"top":8191.5}},{"unicode":9476,"advance":0.59999999999999998,"planeBounds":{"left":0.0050781250000000114,"bottom":0.287109375,"right":0.59492187500000004,"top":0.455078125},"atlasBounds":{"left":0.5,"bottom":3125.5,"right":151.5,"top":3168.5}},{"unicode":9477,"advance":0.59999999999999998,"planeBounds":{"left":0.0050781250000000114,"bottom":0.236328125,"right":0.59492187500000004,"top":0.501953125},"atlasBounds":{"left":6713.5,"bottom":3270.5,"right":6864.5,"top":3338.5}},{"unicode":9478,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":-0.251953125,"right":0.38203124999999999,"top":0.970703125},"atlasBounds":{"left":1781.5,"bottom":7471.5,"right":1823.5,"top":7784.5}},{"unicode":9479,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.251953125,"right":0.43281249999999999,"top":0.970703125},"atlasBounds":{"left":1824.5,"bottom":7471.5,"right":1892.5,"top":7784.5}},{"unicode":9480,"advance":0.59999999999999998,"planeBounds":{"left":-0.006640624999999979,"bottom":0.287109375,"right":0.60664062500000004,"top":0.455078125},"atlasBounds":{"left":8033.5,"bottom":6383.5,"right":8190.5,"top":6426.5}},{"unicode":9481,"advance":0.59999999999999998,"planeBounds":{"left":-0.006640624999999979,"bottom":0.236328125,"right":0.60664062500000004,"top":0.501953125},"atlasBounds":{"left":5655.5,"bottom":3270.5,"right":5812.5,"top":3338.5}},{"unicode":9482,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":-0.228515625,"right":0.38203124999999999,"top":0.966796875},"atlasBounds":{"left":3024.5,"bottom":7478.5,"right":3066.5,"top":7784.5}},{"unicode":9483,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.228515625,"right":0.43281249999999999,"top":0.966796875},"atlasBounds":{"left":3067.5,"bottom":7478.5,"right":3135.5,"top":7784.5}},{"unicode":9484,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":0.455078125},"atlasBounds":{"left":237.5,"bottom":5647.5,"right":348.5,"top":5874.5}},{"unicode":9485,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":0.501953125},"atlasBounds":{"left":1987.5,"bottom":5881.5,"right":2098.5,"top":6120.5}},{"unicode":9486,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":0.455078125},"atlasBounds":{"left":112.5,"bottom":5647.5,"right":236.5,"top":5874.5}},{"unicode":9487,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":0.501953125},"atlasBounds":{"left":1862.5,"bottom":5881.5,"right":1986.5,"top":6120.5}},{"unicode":9488,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":0.455078125},"atlasBounds":{"left":0.5,"bottom":5647.5,"right":111.5,"top":5874.5}},{"unicode":9489,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":0.501953125},"atlasBounds":{"left":1750.5,"bottom":5881.5,"right":1861.5,"top":6120.5}},{"unicode":9490,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":0.455078125},"atlasBounds":{"left":2144.5,"bottom":5647.5,"right":2268.5,"top":5874.5}},{"unicode":9491,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":0.501953125},"atlasBounds":{"left":3185.5,"bottom":5881.5,"right":3309.5,"top":6120.5}},{"unicode":9492,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.287109375,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":4000.5,"bottom":5652.5,"right":4111.5,"top":5874.5}},{"unicode":9493,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.236328125,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":5125.5,"bottom":5885.5,"right":5236.5,"top":6120.5}},{"unicode":9494,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":0.287109375,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":3832.5,"bottom":5652.5,"right":3956.5,"top":5874.5}},{"unicode":9495,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":0.236328125,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":3620.5,"bottom":5885.5,"right":3744.5,"top":6120.5}},{"unicode":9496,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.287109375,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":4375.5,"bottom":5652.5,"right":4486.5,"top":5874.5}},{"unicode":9497,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.236328125,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":5237.5,"bottom":5885.5,"right":5348.5,"top":6120.5}},{"unicode":9498,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":0.287109375,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":4112.5,"bottom":5652.5,"right":4236.5,"top":5874.5}},{"unicode":9499,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":0.236328125,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":3926.5,"bottom":5885.5,"right":4050.5,"top":6120.5}},{"unicode":9500,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":112.5,"bottom":7785.5,"right":223.5,"top":8191.5}},{"unicode":9501,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":224.5,"bottom":7785.5,"right":335.5,"top":8191.5}},{"unicode":9502,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":336.5,"bottom":7785.5,"right":460.5,"top":8191.5}},{"unicode":9503,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":461.5,"bottom":7785.5,"right":585.5,"top":8191.5}},{"unicode":9504,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":586.5,"bottom":7785.5,"right":710.5,"top":8191.5}},{"unicode":9505,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":711.5,"bottom":7785.5,"right":835.5,"top":8191.5}},{"unicode":9506,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":836.5,"bottom":7785.5,"right":960.5,"top":8191.5}},{"unicode":9507,"advance":0.59999999999999998,"planeBounds":{"left":0.1678125,"bottom":-0.431640625,"right":0.65218750000000003,"top":1.154296875},"atlasBounds":{"left":961.5,"bottom":7785.5,"right":1085.5,"top":8191.5}},{"unicode":9508,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":1086.5,"bottom":7785.5,"right":1197.5,"top":8191.5}},{"unicode":9509,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":1198.5,"bottom":7785.5,"right":1309.5,"top":8191.5}},{"unicode":9510,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":1310.5,"bottom":7785.5,"right":1434.5,"top":8191.5}},{"unicode":9511,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.052734375},"atlasBounds":{"left":6382.5,"bottom":7811.5,"right":6506.5,"top":8191.5}},{"unicode":9512,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":1435.5,"bottom":7785.5,"right":1559.5,"top":8191.5}},{"unicode":9513,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":1560.5,"bottom":7785.5,"right":1684.5,"top":8191.5}},{"unicode":9514,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":1685.5,"bottom":7785.5,"right":1809.5,"top":8191.5}},{"unicode":9515,"advance":0.59999999999999998,"planeBounds":{"left":-0.052187500000000012,"bottom":-0.431640625,"right":0.4321875,"top":1.154296875},"atlasBounds":{"left":1810.5,"bottom":7785.5,"right":1934.5,"top":8191.5}},{"unicode":9516,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.455078125},"atlasBounds":{"left":1827.5,"bottom":5647.5,"right":2007.5,"top":5874.5}},{"unicode":9517,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":3004.5,"bottom":5881.5,"right":3184.5,"top":6120.5}},{"unicode":9518,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":2823.5,"bottom":5881.5,"right":3003.5,"top":6120.5}},{"unicode":9519,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":2642.5,"bottom":5881.5,"right":2822.5,"top":6120.5}},{"unicode":9520,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.455078125},"atlasBounds":{"left":1275.5,"bottom":5647.5,"right":1455.5,"top":5874.5}},{"unicode":9521,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":2461.5,"bottom":5881.5,"right":2641.5,"top":6120.5}},{"unicode":9522,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":2280.5,"bottom":5881.5,"right":2460.5,"top":6120.5}},{"unicode":9523,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":2099.5,"bottom":5881.5,"right":2279.5,"top":6120.5}},{"unicode":9524,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.287109375,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3377.5,"bottom":5652.5,"right":3557.5,"top":5874.5}},{"unicode":9525,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4775.5,"bottom":5885.5,"right":4955.5,"top":6120.5}},{"unicode":9526,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4594.5,"bottom":5885.5,"right":4774.5,"top":6120.5}},{"unicode":9527,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4413.5,"bottom":5885.5,"right":4593.5,"top":6120.5}},{"unicode":9528,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.287109375,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3196.5,"bottom":5652.5,"right":3376.5,"top":5874.5}},{"unicode":9529,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4232.5,"bottom":5885.5,"right":4412.5,"top":6120.5}},{"unicode":9530,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4051.5,"bottom":5885.5,"right":4231.5,"top":6120.5}},{"unicode":9531,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3745.5,"bottom":5885.5,"right":3925.5,"top":6120.5}},{"unicode":9532,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":1935.5,"bottom":7785.5,"right":2115.5,"top":8191.5}},{"unicode":9533,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2116.5,"bottom":7785.5,"right":2296.5,"top":8191.5}},{"unicode":9534,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2297.5,"bottom":7785.5,"right":2477.5,"top":8191.5}},{"unicode":9535,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2478.5,"bottom":7785.5,"right":2658.5,"top":8191.5}},{"unicode":9536,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2659.5,"bottom":7785.5,"right":2839.5,"top":8191.5}},{"unicode":9537,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2840.5,"bottom":7785.5,"right":3020.5,"top":8191.5}},{"unicode":9538,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3021.5,"bottom":7785.5,"right":3201.5,"top":8191.5}},{"unicode":9539,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3202.5,"bottom":7785.5,"right":3382.5,"top":8191.5}},{"unicode":9540,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3383.5,"bottom":7785.5,"right":3563.5,"top":8191.5}},{"unicode":9541,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3564.5,"bottom":7785.5,"right":3744.5,"top":8191.5}},{"unicode":9542,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3745.5,"bottom":7785.5,"right":3925.5,"top":8191.5}},{"unicode":9543,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":3926.5,"bottom":7785.5,"right":4106.5,"top":8191.5}},{"unicode":9544,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4107.5,"bottom":7785.5,"right":4287.5,"top":8191.5}},{"unicode":9545,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4288.5,"bottom":7785.5,"right":4468.5,"top":8191.5}},{"unicode":9546,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4469.5,"bottom":7785.5,"right":4649.5,"top":8191.5}},{"unicode":9547,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":4650.5,"bottom":7785.5,"right":4830.5,"top":8191.5}},{"unicode":9548,"advance":0.59999999999999998,"planeBounds":{"left":0.038281249999999989,"bottom":0.287109375,"right":0.56171875000000004,"top":0.455078125},"atlasBounds":{"left":0.5,"bottom":3081.5,"right":134.5,"top":3124.5}},{"unicode":9549,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":0.236328125,"right":0.55781250000000004,"top":0.501953125},"atlasBounds":{"left":6580.5,"bottom":3270.5,"right":6712.5,"top":3338.5}},{"unicode":9550,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":-0.197265625,"right":0.38203124999999999,"top":0.927734375},"atlasBounds":{"left":3420.5,"bottom":7496.5,"right":3462.5,"top":7784.5}},{"unicode":9551,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.177734375,"right":0.43281249999999999,"top":0.904296875},"atlasBounds":{"left":7390.5,"bottom":7507.5,"right":7458.5,"top":7784.5}},{"unicode":9552,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.185546875,"right":0.65156250000000004,"top":0.552734375},"atlasBounds":{"left":3696.5,"bottom":3244.5,"right":3876.5,"top":3338.5}},{"unicode":9553,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":-0.431640625,"right":0.48164062499999999,"top":1.154296875},"atlasBounds":{"left":4831.5,"bottom":7785.5,"right":4924.5,"top":8191.5}},{"unicode":9554,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":0.552734375},"atlasBounds":{"left":980.5,"bottom":6121.5,"right":1091.5,"top":6373.5}},{"unicode":9555,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":-0.431640625,"right":0.65257812500000001,"top":0.455078125},"atlasBounds":{"left":1137.5,"bottom":5647.5,"right":1274.5,"top":5874.5}},{"unicode":9556,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":-0.431640625,"right":0.65257812500000001,"top":0.552734375},"atlasBounds":{"left":138.5,"bottom":6121.5,"right":275.5,"top":6373.5}},{"unicode":9557,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":0.552734375},"atlasBounds":{"left":1363.5,"bottom":6121.5,"right":1474.5,"top":6373.5}},{"unicode":9558,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":-0.431640625,"right":0.48257812500000002,"top":0.455078125},"atlasBounds":{"left":818.5,"bottom":5647.5,"right":955.5,"top":5874.5}},{"unicode":9559,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":-0.431640625,"right":0.48257812500000002,"top":0.552734375},"atlasBounds":{"left":1092.5,"bottom":6121.5,"right":1229.5,"top":6373.5}},{"unicode":9560,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.185546875,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":7493.5,"bottom":6125.5,"right":7604.5,"top":6373.5}},{"unicode":9561,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":0.287109375,"right":0.65257812500000001,"top":1.154296875},"atlasBounds":{"left":4237.5,"bottom":5652.5,"right":4374.5,"top":5874.5}},{"unicode":9562,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":0.185546875,"right":0.65257812500000001,"top":1.154296875},"atlasBounds":{"left":7355.5,"bottom":6125.5,"right":7492.5,"top":6373.5}},{"unicode":9563,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.185546875,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":7243.5,"bottom":6125.5,"right":7354.5,"top":6373.5}},{"unicode":9564,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":0.287109375,"right":0.48257812500000002,"top":1.154296875},"atlasBounds":{"left":3694.5,"bottom":5652.5,"right":3831.5,"top":5874.5}},{"unicode":9565,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":0.185546875,"right":0.48257812500000002,"top":1.154296875},"atlasBounds":{"left":6684.5,"bottom":6125.5,"right":6821.5,"top":6373.5}},{"unicode":9566,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":4925.5,"bottom":7785.5,"right":5036.5,"top":8191.5}},{"unicode":9567,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":-0.431640625,"right":0.65257812500000001,"top":1.154296875},"atlasBounds":{"left":5037.5,"bottom":7785.5,"right":5174.5,"top":8191.5}},{"unicode":9568,"advance":0.59999999999999998,"planeBounds":{"left":0.117421875,"bottom":-0.431640625,"right":0.65257812500000001,"top":1.154296875},"atlasBounds":{"left":5175.5,"bottom":7785.5,"right":5312.5,"top":8191.5}},{"unicode":9569,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":5313.5,"bottom":7785.5,"right":5424.5,"top":8191.5}},{"unicode":9570,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":-0.431640625,"right":0.48257812500000002,"top":1.154296875},"atlasBounds":{"left":5425.5,"bottom":7785.5,"right":5562.5,"top":8191.5}},{"unicode":9571,"advance":0.59999999999999998,"planeBounds":{"left":-0.052578125000000017,"bottom":-0.431640625,"right":0.48257812500000002,"top":1.154296875},"atlasBounds":{"left":5563.5,"bottom":7785.5,"right":5700.5,"top":8191.5}},{"unicode":9572,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.552734375},"atlasBounds":{"left":650.5,"bottom":6121.5,"right":830.5,"top":6373.5}},{"unicode":9573,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.455078125},"atlasBounds":{"left":956.5,"bottom":5647.5,"right":1136.5,"top":5874.5}},{"unicode":9574,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":0.552734375},"atlasBounds":{"left":469.5,"bottom":6121.5,"right":649.5,"top":6373.5}},{"unicode":9575,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.185546875,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":6367.5,"bottom":6125.5,"right":6547.5,"top":6373.5}},{"unicode":9576,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.287109375,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":2664.5,"bottom":5652.5,"right":2844.5,"top":5874.5}},{"unicode":9577,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.185546875,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":6044.5,"bottom":6125.5,"right":6224.5,"top":6373.5}},{"unicode":9578,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":5701.5,"bottom":7785.5,"right":5881.5,"top":8191.5}},{"unicode":9579,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":5882.5,"bottom":7785.5,"right":6062.5,"top":8191.5}},{"unicode":9580,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.431640625,"right":0.65156250000000004,"top":1.154296875},"atlasBounds":{"left":6063.5,"bottom":7785.5,"right":6243.5,"top":8191.5}},{"unicode":9581,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":-0.431640625,"right":0.65179687500000005,"top":0.455078125},"atlasBounds":{"left":461.5,"bottom":5647.5,"right":572.5,"top":5874.5}},{"unicode":9582,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":-0.431640625,"right":0.38179687500000004,"top":0.455078125},"atlasBounds":{"left":349.5,"bottom":5647.5,"right":460.5,"top":5874.5}},{"unicode":9583,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.287109375,"right":0.38179687500000004,"top":1.154296875},"atlasBounds":{"left":2552.5,"bottom":5652.5,"right":2663.5,"top":5874.5}},{"unicode":9584,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.287109375,"right":0.65179687500000005,"top":1.154296875},"atlasBounds":{"left":2440.5,"bottom":5652.5,"right":2551.5,"top":5874.5}},{"unicode":9585,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.193359375,"right":0.65156250000000004,"top":0.912109375},"atlasBounds":{"left":3632.5,"bottom":7501.5,"right":3812.5,"top":7784.5}},{"unicode":9586,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.193359375,"right":0.65156250000000004,"top":0.912109375},"atlasBounds":{"left":3813.5,"bottom":7501.5,"right":3993.5,"top":7784.5}},{"unicode":9587,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.193359375,"right":0.65156250000000004,"top":0.912109375},"atlasBounds":{"left":3994.5,"bottom":7501.5,"right":4174.5,"top":7784.5}},{"unicode":9588,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.287109375,"right":0.38179687500000004,"top":0.455078125},"atlasBounds":{"left":0.5,"bottom":3037.5,"right":111.5,"top":3080.5}},{"unicode":9589,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":0.287109375,"right":0.38203124999999999,"top":1.154296875},"atlasBounds":{"left":3957.5,"bottom":5652.5,"right":3999.5,"top":5874.5}},{"unicode":9590,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.287109375,"right":0.65179687500000005,"top":0.455078125},"atlasBounds":{"left":8068.5,"bottom":7171.5,"right":8179.5,"top":7214.5}},{"unicode":9591,"advance":0.59999999999999998,"planeBounds":{"left":0.21796875000000002,"bottom":-0.431640625,"right":0.38203124999999999,"top":0.455078125},"atlasBounds":{"left":1784.5,"bottom":5647.5,"right":1826.5,"top":5874.5}},{"unicode":9592,"advance":0.59999999999999998,"planeBounds":{"left":-0.051796874999999999,"bottom":0.236328125,"right":0.38179687500000004,"top":0.501953125},"atlasBounds":{"left":6175.5,"bottom":3270.5,"right":6286.5,"top":3338.5}},{"unicode":9593,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":0.287109375,"right":0.43281249999999999,"top":1.154296875},"atlasBounds":{"left":2845.5,"bottom":5652.5,"right":2913.5,"top":5874.5}},{"unicode":9594,"advance":0.59999999999999998,"planeBounds":{"left":0.218203125,"bottom":0.236328125,"right":0.65179687500000005,"top":0.501953125},"atlasBounds":{"left":6287.5,"bottom":3270.5,"right":6398.5,"top":3338.5}},{"unicode":9595,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.431640625,"right":0.43281249999999999,"top":0.455078125},"atlasBounds":{"left":573.5,"bottom":5647.5,"right":641.5,"top":5874.5}},{"unicode":9596,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":6399.5,"bottom":3270.5,"right":6579.5,"top":3338.5}},{"unicode":9597,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.431640625,"right":0.43281249999999999,"top":1.154296875},"atlasBounds":{"left":6244.5,"bottom":7785.5,"right":6312.5,"top":8191.5}},{"unicode":9598,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":0.236328125,"right":0.65156250000000004,"top":0.501953125},"atlasBounds":{"left":5994.5,"bottom":3270.5,"right":6174.5,"top":3338.5}},{"unicode":9599,"advance":0.59999999999999998,"planeBounds":{"left":0.16718750000000002,"bottom":-0.431640625,"right":0.43281249999999999,"top":1.154296875},"atlasBounds":{"left":6313.5,"bottom":7785.5,"right":6381.5,"top":8191.5}},{"unicode":9600,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.326171875,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":1153.5,"bottom":3988.5,"right":1323.5,"top":4174.5}},{"unicode":9601,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":-0.103515625},"atlasBounds":{"left":8021.5,"bottom":7553.5,"right":8191.5,"top":7612.5}},{"unicode":9602,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.064453125},"atlasBounds":{"left":773.5,"bottom":3236.5,"right":943.5,"top":3338.5}},{"unicode":9603,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.228515625},"atlasBounds":{"left":135.5,"bottom":3340.5,"right":305.5,"top":3484.5}},{"unicode":9604,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.392578125},"atlasBounds":{"left":889.5,"bottom":3988.5,"right":1059.5,"top":4174.5}},{"unicode":9605,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.556640625},"atlasBounds":{"left":7671.5,"bottom":5892.5,"right":7841.5,"top":6120.5}},{"unicode":9606,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.724609375},"atlasBounds":{"left":530.5,"bottom":7157.5,"right":700.5,"top":7428.5}},{"unicode":9607,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":0.888671875},"atlasBounds":{"left":1893.5,"bottom":7471.5,"right":2063.5,"top":7784.5}},{"unicode":9608,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":6853.5,"bottom":7836.5,"right":7023.5,"top":8191.5}},{"unicode":9609,"advance":0.59999999999999998,"planeBounds":{"left":-0.032421874999999989,"bottom":-0.333984375,"right":0.55742187500000007,"top":1.052734375},"atlasBounds":{"left":7024.5,"bottom":7836.5,"right":7175.5,"top":8191.5}},{"unicode":9610,"advance":0.59999999999999998,"planeBounds":{"left":-0.032812500000000022,"bottom":-0.333984375,"right":0.48281250000000003,"top":1.052734375},"atlasBounds":{"left":7176.5,"bottom":7836.5,"right":7308.5,"top":8191.5}},{"unicode":9611,"advance":0.59999999999999998,"planeBounds":{"left":-0.03125,"bottom":-0.333984375,"right":0.40625,"top":1.052734375},"atlasBounds":{"left":7309.5,"bottom":7836.5,"right":7421.5,"top":8191.5}},{"unicode":9612,"advance":0.59999999999999998,"planeBounds":{"left":-0.031640625000000006,"bottom":-0.333984375,"right":0.33164062500000002,"top":1.052734375},"atlasBounds":{"left":7422.5,"bottom":7836.5,"right":7515.5,"top":8191.5}},{"unicode":9613,"advance":0.59999999999999998,"planeBounds":{"left":-0.032812499999999994,"bottom":-0.333984375,"right":0.23281250000000001,"top":1.052734375},"atlasBounds":{"left":7516.5,"bottom":7836.5,"right":7584.5,"top":8191.5}},{"unicode":9614,"advance":0.59999999999999998,"planeBounds":{"left":-0.032421875000000003,"bottom":-0.333984375,"right":0.18242187500000001,"top":1.052734375},"atlasBounds":{"left":7585.5,"bottom":7836.5,"right":7640.5,"top":8191.5}},{"unicode":9615,"advance":0.59999999999999998,"planeBounds":{"left":-0.032812499999999994,"bottom":-0.333984375,"right":0.10781250000000001,"top":1.052734375},"atlasBounds":{"left":7641.5,"bottom":7836.5,"right":7677.5,"top":8191.5}},{"unicode":9616,"advance":0.59999999999999998,"planeBounds":{"left":0.26835937500000001,"bottom":-0.333984375,"right":0.63164062500000007,"top":1.052734375},"atlasBounds":{"left":7678.5,"bottom":7836.5,"right":7771.5,"top":8191.5}},{"unicode":9617,"advance":0.59999999999999998,"planeBounds":{"left":0.027265625000000019,"bottom":-0.271484375,"right":0.63273437499999996,"top":1.052734375},"atlasBounds":{"left":1029.5,"bottom":7445.5,"right":1184.5,"top":7784.5}},{"unicode":9618,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":7772.5,"bottom":7836.5,"right":7942.5,"top":8191.5}},{"unicode":9619,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":7943.5,"bottom":7836.5,"right":8113.5,"top":8191.5}},{"unicode":9620,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.822265625,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":0.5,"bottom":3169.5,"right":170.5,"top":3228.5}},{"unicode":9621,"advance":0.59999999999999998,"planeBounds":{"left":0.4921875,"bottom":-0.333984375,"right":0.6328125,"top":1.052734375},"atlasBounds":{"left":8114.5,"bottom":7836.5,"right":8150.5,"top":8191.5}},{"unicode":9622,"advance":0.59999999999999998,"planeBounds":{"left":-0.031640625000000006,"bottom":-0.333984375,"right":0.33164062500000002,"top":0.392578125},"atlasBounds":{"left":795.5,"bottom":3988.5,"right":888.5,"top":4174.5}},{"unicode":9623,"advance":0.59999999999999998,"planeBounds":{"left":0.26835937500000001,"bottom":-0.333984375,"right":0.63164062500000007,"top":0.392578125},"atlasBounds":{"left":481.5,"bottom":3988.5,"right":574.5,"top":4174.5}},{"unicode":9624,"advance":0.59999999999999998,"planeBounds":{"left":-0.031640625000000006,"bottom":0.326171875,"right":0.33164062500000002,"top":1.052734375},"atlasBounds":{"left":701.5,"bottom":3988.5,"right":794.5,"top":4174.5}},{"unicode":9625,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":0.5,"bottom":7429.5,"right":170.5,"top":7784.5}},{"unicode":9626,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":171.5,"bottom":7429.5,"right":341.5,"top":7784.5}},{"unicode":9627,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":342.5,"bottom":7429.5,"right":512.5,"top":7784.5}},{"unicode":9628,"advance":0.59999999999999998,"planeBounds":{"left":-0.042890625000000009,"bottom":-0.333984375,"right":0.63289062500000004,"top":1.052734375},"atlasBounds":{"left":513.5,"bottom":7429.5,"right":686.5,"top":7784.5}},{"unicode":9629,"advance":0.59999999999999998,"planeBounds":{"left":0.26835937500000001,"bottom":0.326171875,"right":0.63164062500000007,"top":1.052734375},"atlasBounds":{"left":1324.5,"bottom":3988.5,"right":1417.5,"top":4174.5}},{"unicode":9630,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":687.5,"bottom":7429.5,"right":857.5,"top":7784.5}},{"unicode":9631,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.333984375,"right":0.63203125000000004,"top":1.052734375},"atlasBounds":{"left":858.5,"bottom":7429.5,"right":1028.5,"top":7784.5}},{"unicode":9632,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":8021.5,"bottom":7613.5,"right":8191.5,"top":7784.5}},{"unicode":9633,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":3931.5,"bottom":3813.5,"right":4101.5,"top":3984.5}},{"unicode":9642,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.177734375,"right":0.48164062499999999,"top":0.544921875},"atlasBounds":{"left":2439.5,"bottom":3244.5,"right":2532.5,"top":3338.5}},{"unicode":9643,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.177734375,"right":0.48164062499999999,"top":0.544921875},"atlasBounds":{"left":2906.5,"bottom":3244.5,"right":2999.5,"top":3338.5}},{"unicode":9650,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.025390625,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":911.5,"bottom":3810.5,"right":1086.5,"top":3984.5}},{"unicode":9651,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.025390625,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":1253.5,"bottom":3810.5,"right":1428.5,"top":3984.5}},{"unicode":9652,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.177734375,"right":0.48164062499999999,"top":0.552734375},"atlasBounds":{"left":1132.5,"bottom":3242.5,"right":1225.5,"top":3338.5}},{"unicode":9653,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.177734375,"right":0.48164062499999999,"top":0.552734375},"atlasBounds":{"left":1226.5,"bottom":3242.5,"right":1319.5,"top":3338.5}},{"unicode":9654,"advance":0.59999999999999998,"planeBounds":{"left":-0.032890625000000007,"bottom":0.017578125,"right":0.64289062500000005,"top":0.705078125},"atlasBounds":{"left":7304.5,"bottom":3998.5,"right":7477.5,"top":4174.5}},{"unicode":9655,"advance":0.59999999999999998,"planeBounds":{"left":-0.032890625000000007,"bottom":0.017578125,"right":0.64289062500000005,"top":0.705078125},"atlasBounds":{"left":4675.5,"bottom":3998.5,"right":4848.5,"top":4174.5}},{"unicode":9656,"advance":0.59999999999999998,"planeBounds":{"left":0.11750000000000001,"bottom":0.177734375,"right":0.49249999999999999,"top":0.544921875},"atlasBounds":{"left":2809.5,"bottom":3244.5,"right":2905.5,"top":3338.5}},{"unicode":9657,"advance":0.59999999999999998,"planeBounds":{"left":0.11750000000000001,"bottom":0.177734375,"right":0.49249999999999999,"top":0.544921875},"atlasBounds":{"left":4150.5,"bottom":3244.5,"right":4246.5,"top":3338.5}},{"unicode":9658,"advance":0.59999999999999998,"planeBounds":{"left":-0.032890625000000007,"bottom":0.177734375,"right":0.64289062500000005,"top":0.544921875},"atlasBounds":{"left":2265.5,"bottom":3244.5,"right":2438.5,"top":3338.5}},{"unicode":9659,"advance":0.59999999999999998,"planeBounds":{"left":-0.032890625000000007,"bottom":0.177734375,"right":0.64289062500000005,"top":0.544921875},"atlasBounds":{"left":3222.5,"bottom":3244.5,"right":3395.5,"top":3338.5}},{"unicode":9660,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.693359375},"atlasBounds":{"left":1595.5,"bottom":3811.5,"right":1770.5,"top":3984.5}},{"unicode":9661,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.693359375},"atlasBounds":{"left":1771.5,"bottom":3811.5,"right":1946.5,"top":3984.5}},{"unicode":9662,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.166015625,"right":0.48164062499999999,"top":0.544921875},"atlasBounds":{"left":944.5,"bottom":3241.5,"right":1037.5,"top":3338.5}},{"unicode":9663,"advance":0.59999999999999998,"planeBounds":{"left":0.118359375,"bottom":0.166015625,"right":0.48164062499999999,"top":0.544921875},"atlasBounds":{"left":1038.5,"bottom":3241.5,"right":1131.5,"top":3338.5}},{"unicode":9664,"advance":0.59999999999999998,"planeBounds":{"left":-0.042890625000000009,"bottom":0.017578125,"right":0.63289062500000004,"top":0.705078125},"atlasBounds":{"left":6778.5,"bottom":3998.5,"right":6951.5,"top":4174.5}},{"unicode":9665,"advance":0.59999999999999998,"planeBounds":{"left":-0.042890625000000009,"bottom":0.017578125,"right":0.63289062500000004,"top":0.705078125},"atlasBounds":{"left":6604.5,"bottom":3998.5,"right":6777.5,"top":4174.5}},{"unicode":9666,"advance":0.59999999999999998,"planeBounds":{"left":0.1075,"bottom":0.177734375,"right":0.48249999999999998,"top":0.544921875},"atlasBounds":{"left":3396.5,"bottom":3244.5,"right":3492.5,"top":3338.5}},{"unicode":9667,"advance":0.59999999999999998,"planeBounds":{"left":0.1075,"bottom":0.177734375,"right":0.48249999999999998,"top":0.544921875},"atlasBounds":{"left":4053.5,"bottom":3244.5,"right":4149.5,"top":3338.5}},{"unicode":9668,"advance":0.59999999999999998,"planeBounds":{"left":-0.042890625000000009,"bottom":0.177734375,"right":0.63289062500000004,"top":0.544921875},"atlasBounds":{"left":2533.5,"bottom":3244.5,"right":2706.5,"top":3338.5}},{"unicode":9669,"advance":0.59999999999999998,"planeBounds":{"left":-0.042890625000000009,"bottom":0.177734375,"right":0.63289062500000004,"top":0.544921875},"atlasBounds":{"left":3048.5,"bottom":3244.5,"right":3221.5,"top":3338.5}},{"unicode":9670,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":5553.5,"bottom":3998.5,"right":5728.5,"top":4174.5}},{"unicode":9671,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":3569.5,"bottom":3998.5,"right":3744.5,"top":4174.5}},{"unicode":9672,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":4849.5,"bottom":3998.5,"right":5024.5,"top":4174.5}},{"unicode":9673,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":6952.5,"bottom":3998.5,"right":7127.5,"top":4174.5}},{"unicode":9674,"advance":0.59999999999999998,"planeBounds":{"left":0.028515624999999992,"bottom":-0.033203125,"right":0.57148437500000004,"top":0.751953125},"atlasBounds":{"left":3981.5,"bottom":4178.5,"right":4120.5,"top":4379.5}},{"unicode":9675,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":4097.5,"bottom":3998.5,"right":4272.5,"top":4174.5}},{"unicode":9676,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":4323.5,"bottom":3998.5,"right":4498.5,"top":4174.5}},{"unicode":9678,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":5201.5,"bottom":3998.5,"right":5376.5,"top":4174.5}},{"unicode":9679,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":3745.5,"bottom":3998.5,"right":3920.5,"top":4174.5}},{"unicode":9684,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":176.5,"bottom":3808.5,"right":351.5,"top":3984.5}},{"unicode":9685,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":7128.5,"bottom":3998.5,"right":7303.5,"top":4174.5}},{"unicode":9702,"advance":0.59999999999999998,"planeBounds":{"left":0.14765625000000002,"bottom":0.212890625,"right":0.45234374999999999,"top":0.517578125},"atlasBounds":{"left":8104.5,"bottom":3406.5,"right":8182.5,"top":3484.5}},{"unicode":9703,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":4444.5,"bottom":3813.5,"right":4614.5,"top":3984.5}},{"unicode":9704,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":3589.5,"bottom":3813.5,"right":3759.5,"top":3984.5}},{"unicode":9705,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":3760.5,"bottom":3813.5,"right":3930.5,"top":3984.5}},{"unicode":9706,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":4273.5,"bottom":3813.5,"right":4443.5,"top":3984.5}},{"unicode":9707,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":0.025390625,"right":0.63203125000000004,"top":0.693359375},"atlasBounds":{"left":3247.5,"bottom":3813.5,"right":3417.5,"top":3984.5}},{"unicode":9711,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":6428.5,"bottom":3998.5,"right":6603.5,"top":4174.5}},{"unicode":9718,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":4499.5,"bottom":3998.5,"right":4674.5,"top":4174.5}},{"unicode":9863,"advance":0.59999999999999998,"planeBounds":{"left":-0.027796875000000006,"bottom":0.017578125,"right":0.65579687500000006,"top":0.705078125},"atlasBounds":{"left":5025.5,"bottom":3998.5,"right":5200.5,"top":4174.5}},{"unicode":9888,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.033203125,"right":0.64179687500000004,"top":0.771484375},"atlasBounds":{"left":5266.5,"bottom":5000.5,"right":5441.5,"top":5206.5}},{"unicode":9889,"advance":0.59999999999999998,"planeBounds":{"left":-0.012499999999999973,"bottom":-0.142578125,"right":0.61250000000000004,"top":0.873046875},"atlasBounds":{"left":614.5,"bottom":6632.5,"right":774.5,"top":6892.5}},{"unicode":10003,"advance":0.59999999999999998,"planeBounds":{"left":0.0084375000000000058,"bottom":0.099609375,"right":0.58656249999999999,"top":0.650390625},"atlasBounds":{"left":590.5,"bottom":3343.5,"right":738.5,"top":3484.5}},{"unicode":10005,"advance":0.59999999999999998,"planeBounds":{"left":0.041687499999999982,"bottom":0.072265625,"right":0.55731249999999999,"top":0.591796875},"atlasBounds":{"left":3263.5,"bottom":3351.5,"right":3395.5,"top":3484.5}},{"unicode":10007,"advance":0.59999999999999998,"planeBounds":{"left":0.0050781250000000106,"bottom":0.064453125,"right":0.59492187500000004,"top":0.654296875},"atlasBounds":{"left":5474.5,"bottom":3492.5,"right":5625.5,"top":3643.5}},{"unicode":10038,"advance":0.59999999999999998,"planeBounds":{"left":0.0065312500000000093,"bottom":0.025390625,"right":0.59246874999999999,"top":0.693359375},"atlasBounds":{"left":2925.5,"bottom":3813.5,"right":3075.5,"top":3984.5}},{"unicode":10094,"advance":0.59999999999999998,"planeBounds":{"left":0.11790625,"bottom":-0.033203125,"right":0.48509374999999999,"top":0.763671875},"atlasBounds":{"left":3340.5,"bottom":4175.5,"right":3434.5,"top":4379.5}},{"unicode":10095,"advance":0.59999999999999998,"planeBounds":{"left":0.11490625,"bottom":-0.033203125,"right":0.48209374999999999,"top":0.763671875},"atlasBounds":{"left":4640.5,"bottom":4380.5,"right":4734.5,"top":4584.5}},{"unicode":10096,"advance":0.59999999999999998,"planeBounds":{"left":0.077890625000000005,"bottom":-0.033203125,"right":0.52710937499999999,"top":0.763671875},"atlasBounds":{"left":4008.5,"bottom":4792.5,"right":4123.5,"top":4996.5}},{"unicode":10097,"advance":0.59999999999999998,"planeBounds":{"left":0.072890625000000001,"bottom":-0.033203125,"right":0.52210937499999999,"top":0.763671875},"atlasBounds":{"left":3276.5,"bottom":4792.5,"right":3391.5,"top":4996.5}},{"unicode":10132,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.087890625,"right":0.62226562500000004,"top":0.572265625},"atlasBounds":{"left":6491.5,"bottom":3360.5,"right":6656.5,"top":3484.5}},{"unicode":10140,"advance":0.59999999999999998,"planeBounds":{"left":-0.026718750000000017,"bottom":0.068359375,"right":0.62171874999999999,"top":0.591796875},"atlasBounds":{"left":2537.5,"bottom":3350.5,"right":2703.5,"top":3484.5}},{"unicode":10141,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.072265625,"right":0.62226562500000004,"top":0.587890625},"atlasBounds":{"left":4205.5,"bottom":3352.5,"right":4370.5,"top":3484.5}},{"unicode":10142,"advance":0.59999999999999998,"planeBounds":{"left":-0.022265625000000022,"bottom":0.072265625,"right":0.62226562500000004,"top":0.587890625},"atlasBounds":{"left":4572.5,"bottom":3352.5,"right":4737.5,"top":3484.5}},{"unicode":10204,"advance":0.59999999999999998,"planeBounds":{"left":-0.021406249999999967,"bottom":0.201171875,"right":0.61140625000000004,"top":0.458984375},"atlasBounds":{"left":7362.5,"bottom":3272.5,"right":7524.5,"top":3338.5}},{"unicode":10214,"advance":0.59999999999999998,"planeBounds":{"left":0.12828125000000001,"bottom":-0.142578125,"right":0.52671875000000001,"top":0.861328125},"atlasBounds":{"left":7548.5,"bottom":6635.5,"right":7650.5,"top":6892.5}},{"unicode":10215,"advance":0.59999999999999998,"planeBounds":{"left":0.07328125000000002,"bottom":-0.142578125,"right":0.47171875000000002,"top":0.861328125},"atlasBounds":{"left":7793.5,"bottom":6635.5,"right":7895.5,"top":6892.5}},{"unicode":10216,"advance":0.59999999999999998,"planeBounds":{"left":0.092109375000000007,"bottom":-0.146484375,"right":0.51789062500000005,"top":0.849609375},"atlasBounds":{"left":6929.5,"bottom":6376.5,"right":7038.5,"top":6631.5}},{"unicode":10217,"advance":0.59999999999999998,"planeBounds":{"left":0.082109374999999998,"bottom":-0.146484375,"right":0.50789062500000004,"top":0.849609375},"atlasBounds":{"left":7333.5,"bottom":6376.5,"right":7442.5,"top":6631.5}},{"unicode":10218,"advance":0.59999999999999998,"planeBounds":{"left":0.067234374999999985,"bottom":-0.142578125,"right":0.58676562499999996,"top":0.861328125},"atlasBounds":{"left":5064.5,"bottom":6635.5,"right":5197.5,"top":6892.5}},{"unicode":10219,"advance":0.59999999999999998,"planeBounds":{"left":0.013234374999999979,"bottom":-0.142578125,"right":0.53276562500000002,"top":0.861328125},"atlasBounds":{"left":6564.5,"bottom":6635.5,"right":6697.5,"top":6892.5}},{"unicode":10229,"advance":0.59999999999999998,"planeBounds":{"left":-0.073046874999999969,"bottom":0.041015625,"right":0.67304687500000004,"top":0.619140625},"atlasBounds":{"left":7290.5,"bottom":3495.5,"right":7481.5,"top":3643.5}},{"unicode":10230,"advance":0.59999999999999998,"planeBounds":{"left":-0.073046874999999969,"bottom":0.041015625,"right":0.67304687500000004,"top":0.619140625},"atlasBounds":{"left":6520.5,"bottom":3495.5,"right":6711.5,"top":3643.5}},{"unicode":10231,"advance":0.59999999999999998,"planeBounds":{"left":-0.112109375,"bottom":0.041015625,"right":0.71210937500000004,"top":0.619140625},"atlasBounds":{"left":6712.5,"bottom":3495.5,"right":6923.5,"top":3643.5}},{"unicode":10518,"advance":0.59999999999999998,"planeBounds":{"left":-0.112109375,"bottom":0.041015625,"right":0.71210937500000004,"top":0.509765625},"atlasBounds":{"left":6657.5,"bottom":3364.5,"right":6868.5,"top":3484.5}},{"unicode":10570,"advance":0.59999999999999998,"planeBounds":{"left":-0.112109375,"bottom":0.080078125,"right":0.71210937500000004,"top":0.580078125},"atlasBounds":{"left":5696.5,"bottom":3356.5,"right":5907.5,"top":3484.5}},{"unicode":10631,"advance":0.59999999999999998,"planeBounds":{"left":0.14250000000000002,"bottom":-0.154296875,"right":0.51749999999999996,"top":0.873046875},"atlasBounds":{"left":1154.5,"bottom":6893.5,"right":1250.5,"top":7156.5}},{"unicode":10632,"advance":0.59999999999999998,"planeBounds":{"left":0.082500000000000004,"bottom":-0.154296875,"right":0.45750000000000002,"top":0.873046875},"atlasBounds":{"left":1057.5,"bottom":6893.5,"right":1153.5,"top":7156.5}},{"unicode":10752,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":0.017578125,"right":0.64179687500000004,"top":0.705078125},"atlasBounds":{"left":2865.5,"bottom":3998.5,"right":3040.5,"top":4174.5}},{"unicode":10757,"advance":0.59999999999999998,"planeBounds":{"left":0.026562499999999992,"bottom":-0.033203125,"right":0.57343750000000004,"top":0.763671875},"atlasBounds":{"left":5482.5,"bottom":4585.5,"right":5622.5,"top":4789.5}},{"unicode":10758,"advance":0.59999999999999998,"planeBounds":{"left":0.026562499999999992,"bottom":-0.033203125,"right":0.57343750000000004,"top":0.763671875},"atlasBounds":{"left":4696.5,"bottom":4792.5,"right":4836.5,"top":4996.5}},{"unicode":11096,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999997,"bottom":-0.044921875,"right":0.65156250000000004,"top":0.654296875},"atlasBounds":{"left":1853.5,"bottom":3995.5,"right":2033.5,"top":4174.5}},{"unicode":65122,"advance":0.59999999999999998,"planeBounds":{"left":0.073062499999999989,"bottom":-0.033203125,"right":0.49493750000000003,"top":0.388671875},"atlasBounds":{"left":664.5,"bottom":3230.5,"right":772.5,"top":3338.5}},{"unicode":65533,"advance":0.59999999999999998,"planeBounds":{"left":-0.041796875000000004,"bottom":-0.044921875,"right":0.64179687500000004,"top":0.771484375},"atlasBounds":{"left":5739.5,"bottom":5215.5,"right":5914.5,"top":5424.5}},{"unicode":120120,"advance":0.59999999999999998,"planeBounds":{"left":0.012890625000000005,"bottom":-0.033203125,"right":0.58710937500000004,"top":0.763671875},"atlasBounds":{"left":8044.5,"bottom":5670.5,"right":8191.5,"top":5874.5}},{"unicode":120121,"advance":0.59999999999999998,"planeBounds":{"left":0.043281249999999986,"bottom":-0.033203125,"right":0.56671875000000005,"top":0.763671875},"atlasBounds":{"left":5060.5,"bottom":4585.5,"right":5194.5,"top":4789.5}},{"unicode":120123,"advance":0.59999999999999998,"planeBounds":{"left":0.042687499999999982,"bottom":-0.033203125,"right":0.55831249999999999,"top":0.763671875},"atlasBounds":{"left":5195.5,"bottom":4585.5,"right":5327.5,"top":4789.5}},{"unicode":120124,"advance":0.59999999999999998,"planeBounds":{"left":0.05359375000000003,"bottom":-0.033203125,"right":0.56140625,"top":0.763671875},"atlasBounds":{"left":5936.5,"bottom":4585.5,"right":6066.5,"top":4789.5}},{"unicode":120125,"advance":0.59999999999999998,"planeBounds":{"left":0.058593750000000028,"bottom":-0.033203125,"right":0.56640625,"top":0.763671875},"atlasBounds":{"left":291.5,"bottom":4380.5,"right":421.5,"top":4584.5}},{"unicode":120126,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.771484375},"atlasBounds":{"left":5186.5,"bottom":5215.5,"right":5318.5,"top":5424.5}},{"unicode":120128,"advance":0.59999999999999998,"planeBounds":{"left":0.048046875000000031,"bottom":-0.033203125,"right":0.55195312500000004,"top":0.763671875},"atlasBounds":{"left":1250.5,"bottom":4380.5,"right":1379.5,"top":4584.5}},{"unicode":120129,"advance":0.59999999999999998,"planeBounds":{"left":-0.0045468749999999745,"bottom":-0.044921875,"right":0.61654687500000005,"top":0.763671875},"atlasBounds":{"left":1727.5,"bottom":4999.5,"right":1886.5,"top":5206.5}},{"unicode":120130,"advance":0.59999999999999998,"planeBounds":{"left":0.04284375,"bottom":-0.033203125,"right":0.61315624999999996,"top":0.763671875},"atlasBounds":{"left":692.5,"bottom":4585.5,"right":838.5,"top":4789.5}},{"unicode":120131,"advance":0.59999999999999998,"planeBounds":{"left":0.067187499999999969,"bottom":-0.033203125,"right":0.58281250000000007,"top":0.763671875},"atlasBounds":{"left":8059.5,"bottom":4585.5,"right":8191.5,"top":4789.5}},{"unicode":120132,"advance":0.59999999999999998,"planeBounds":{"left":0.018749999999999999,"bottom":-0.033203125,"right":0.58125000000000004,"top":0.763671875},"atlasBounds":{"left":3076.5,"bottom":4585.5,"right":3220.5,"top":4789.5}},{"unicode":120134,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.771484375},"atlasBounds":{"left":4433.5,"bottom":5215.5,"right":4565.5,"top":5424.5}},{"unicode":120138,"advance":0.59999999999999998,"planeBounds":{"left":0.032421874999999989,"bottom":-0.044921875,"right":0.56757812500000004,"top":0.771484375},"atlasBounds":{"left":4566.5,"bottom":5215.5,"right":4703.5,"top":5424.5}},{"unicode":120139,"advance":0.59999999999999998,"planeBounds":{"left":0.018749999999999999,"bottom":-0.033203125,"right":0.58125000000000004,"top":0.763671875},"atlasBounds":{"left":2931.5,"bottom":4585.5,"right":3075.5,"top":4789.5}},{"unicode":120140,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.763671875},"atlasBounds":{"left":2324.5,"bottom":4999.5,"right":2456.5,"top":5206.5}},{"unicode":120141,"advance":0.59999999999999998,"planeBounds":{"left":0.012890625000000005,"bottom":-0.033203125,"right":0.58710937500000004,"top":0.763671875},"atlasBounds":{"left":3221.5,"bottom":4585.5,"right":3368.5,"top":4789.5}},{"unicode":120142,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.763671875},"atlasBounds":{"left":3523.5,"bottom":4585.5,"right":3693.5,"top":4789.5}},{"unicode":120143,"advance":0.59999999999999998,"planeBounds":{"left":-0.0027343749999999825,"bottom":-0.033203125,"right":0.60273437500000004,"top":0.763671875},"atlasBounds":{"left":3828.5,"bottom":4585.5,"right":3983.5,"top":4789.5}},{"unicode":120144,"advance":0.59999999999999998,"planeBounds":{"left":-0.012499999999999973,"bottom":-0.033203125,"right":0.61250000000000004,"top":0.763671875},"atlasBounds":{"left":3984.5,"bottom":4585.5,"right":4144.5,"top":4789.5}},{"unicode":120146,"advance":0.59999999999999998,"planeBounds":{"left":0.021468749999999991,"bottom":-0.044921875,"right":0.56053125000000004,"top":0.591796875},"atlasBounds":{"left":1983.5,"bottom":3644.5,"right":2121.5,"top":3807.5}},{"unicode":120147,"advance":0.59999999999999998,"planeBounds":{"left":0.043281249999999986,"bottom":-0.044921875,"right":0.56671875000000005,"top":0.763671875},"atlasBounds":{"left":2594.5,"bottom":4999.5,"right":2728.5,"top":5206.5}},{"unicode":120148,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.591796875},"atlasBounds":{"left":2328.5,"bottom":3644.5,"right":2460.5,"top":3807.5}},{"unicode":120149,"advance":0.59999999999999998,"planeBounds":{"left":0.033281249999999984,"bottom":-0.044921875,"right":0.55671875000000004,"top":0.763671875},"atlasBounds":{"left":2729.5,"bottom":4999.5,"right":2863.5,"top":5206.5}},{"unicode":120150,"advance":0.59999999999999998,"planeBounds":{"left":0.038281249999999989,"bottom":-0.044921875,"right":0.56171875000000004,"top":0.591796875},"atlasBounds":{"left":2898.5,"bottom":3644.5,"right":3032.5,"top":3807.5}},{"unicode":120151,"advance":0.59999999999999998,"planeBounds":{"left":0.031874999999999987,"bottom":-0.033203125,"right":0.56312499999999999,"top":0.763671875},"atlasBounds":{"left":5799.5,"bottom":4585.5,"right":5935.5,"top":4789.5}},{"unicode":120152,"advance":0.59999999999999998,"planeBounds":{"left":0.033281249999999984,"bottom":-0.212890625,"right":0.55671875000000004,"top":0.591796875},"atlasBounds":{"left":5921.5,"bottom":5000.5,"right":6055.5,"top":5206.5}},{"unicode":120153,"advance":0.59999999999999998,"planeBounds":{"left":0.043687499999999976,"bottom":-0.033203125,"right":0.55931249999999999,"top":0.763671875},"atlasBounds":{"left":6378.5,"bottom":4585.5,"right":6510.5,"top":4789.5}},{"unicode":120154,"advance":0.59999999999999998,"planeBounds":{"left":0.032109374999999996,"bottom":-0.033203125,"right":0.582890625,"top":0.826171875},"atlasBounds":{"left":2546.5,"bottom":5426.5,"right":2687.5,"top":5646.5}},{"unicode":120155,"advance":0.59999999999999998,"planeBounds":{"left":0.043203125000000002,"bottom":-0.212890625,"right":0.47679687500000001,"top":0.826171875},"atlasBounds":{"left":2623.5,"bottom":7162.5,"right":2734.5,"top":7428.5}},{"unicode":120156,"advance":0.59999999999999998,"planeBounds":{"left":0.043109374999999991,"bottom":-0.033203125,"right":0.59389062500000001,"top":0.763671875},"atlasBounds":{"left":4894.5,"bottom":4380.5,"right":5035.5,"top":4584.5}},{"unicode":120157,"advance":0.59999999999999998,"planeBounds":{"left":0.018749999999999999,"bottom":-0.033203125,"right":0.58125000000000004,"top":0.763671875},"atlasBounds":{"left":4145.5,"bottom":4585.5,"right":4289.5,"top":4789.5}},{"unicode":120158,"advance":0.59999999999999998,"planeBounds":{"left":-0.016406249999999969,"bottom":-0.033203125,"right":0.61640625000000004,"top":0.591796875},"atlasBounds":{"left":6107.5,"bottom":3647.5,"right":6269.5,"top":3807.5}},{"unicode":120159,"advance":0.59999999999999998,"planeBounds":{"left":0.043687499999999976,"bottom":-0.033203125,"right":0.55931249999999999,"top":0.591796875},"atlasBounds":{"left":5685.5,"bottom":3647.5,"right":5817.5,"top":3807.5}},{"unicode":120160,"advance":0.59999999999999998,"planeBounds":{"left":0.038281249999999989,"bottom":-0.044921875,"right":0.56171875000000004,"top":0.591796875},"atlasBounds":{"left":6806.5,"bottom":3821.5,"right":6940.5,"top":3984.5}},{"unicode":120161,"advance":0.59999999999999998,"planeBounds":{"left":0.043281249999999986,"bottom":-0.212890625,"right":0.56671875000000005,"top":0.591796875},"atlasBounds":{"left":7778.5,"bottom":5000.5,"right":7912.5,"top":5206.5}},{"unicode":120162,"advance":0.59999999999999998,"planeBounds":{"left":0.033281249999999984,"bottom":-0.212890625,"right":0.55671875000000004,"top":0.591796875},"atlasBounds":{"left":0.5,"bottom":4790.5,"right":134.5,"top":4996.5}},{"unicode":120163,"advance":0.59999999999999998,"planeBounds":{"left":0.013437500000000007,"bottom":-0.033203125,"right":0.59156249999999999,"top":0.591796875},"atlasBounds":{"left":5536.5,"bottom":3647.5,"right":5684.5,"top":3807.5}},{"unicode":120164,"advance":0.59999999999999998,"planeBounds":{"left":0.042187499999999982,"bottom":-0.044921875,"right":0.55781250000000004,"top":0.591796875},"atlasBounds":{"left":7702.5,"bottom":3821.5,"right":7834.5,"top":3984.5}},{"unicode":120165,"advance":0.59999999999999998,"planeBounds":{"left":0.022968749999999989,"bottom":-0.033203125,"right":0.56203124999999998,"top":0.736328125},"atlasBounds":{"left":5581.5,"bottom":4182.5,"right":5719.5,"top":4379.5}},{"unicode":120166,"advance":0.59999999999999998,"planeBounds":{"left":0.048046875000000031,"bottom":-0.044921875,"right":0.55195312500000004,"top":0.583984375},"atlasBounds":{"left":4797.5,"bottom":3646.5,"right":4926.5,"top":3807.5}},{"unicode":120167,"advance":0.59999999999999998,"planeBounds":{"left":0.012890625000000005,"bottom":-0.033203125,"right":0.58710937500000004,"top":0.583984375},"atlasBounds":{"left":3294.5,"bottom":3485.5,"right":3441.5,"top":3643.5}},{"unicode":120168,"advance":0.59999999999999998,"planeBounds":{"left":-0.032031250000000018,"bottom":-0.033203125,"right":0.63203125000000004,"top":0.583984375},"atlasBounds":{"left":1993.5,"bottom":3485.5,"right":2163.5,"top":3643.5}},{"unicode":120169,"advance":0.59999999999999998,"planeBounds":{"left":-0.0027343749999999825,"bottom":-0.033203125,"right":0.60273437500000004,"top":0.583984375},"atlasBounds":{"left":3891.5,"bottom":3485.5,"right":4046.5,"top":3643.5}},{"unicode":120170,"advance":0.59999999999999998,"planeBounds":{"left":0.012890625000000005,"bottom":-0.212890625,"right":0.58710937500000004,"top":0.583984375},"atlasBounds":{"left":1809.5,"bottom":4380.5,"right":1956.5,"top":4584.5}}],"kerning":[]} +{"atlas":{"type":"msdf","distanceRange":8,"distanceRangeMiddle":0,"size":64,"width":452,"height":452,"yOrigin":"bottom"},"metrics":{"emSize":1,"lineHeight":1.3200000000000001,"ascender":1.02,"descender":-0.29999999999999999,"underlineY":-0.17999999999999999,"underlineThickness":0.050000000000000003},"glyphs":[{"unicode":32,"advance":0.59999999999999998},{"unicode":33,"advance":0.59999999999999998,"planeBounds":{"left":0.15937500000000002,"bottom":-0.0703125,"right":0.44062499999999999,"top":0.8046875},"atlasBounds":{"left":426.5,"bottom":320.5,"right":444.5,"top":376.5}},{"unicode":34,"advance":0.59999999999999998,"planeBounds":{"left":0.073437500000000003,"bottom":0.3671875,"right":0.52656250000000004,"top":0.8046875},"atlasBounds":{"left":131.5,"bottom":13.5,"right":160.5,"top":41.5}},{"unicode":35,"advance":0.59999999999999998,"planeBounds":{"left":-0.028124999999999987,"bottom":-0.0703125,"right":0.62812500000000004,"top":0.8046875},"atlasBounds":{"left":258.5,"bottom":260.5,"right":300.5,"top":316.5}},{"unicode":36,"advance":0.59999999999999998,"planeBounds":{"left":0.0031249999999999807,"bottom":-0.2109375,"right":0.59687500000000004,"top":0.9453125},"atlasBounds":{"left":0.5,"bottom":377.5,"right":38.5,"top":451.5}},{"unicode":37,"advance":0.59999999999999998,"planeBounds":{"left":-0.051562499999999969,"bottom":-0.0703125,"right":0.65156250000000004,"top":0.8046875},"atlasBounds":{"left":301.5,"bottom":260.5,"right":346.5,"top":316.5}},{"unicode":38,"advance":0.59999999999999998,"planeBounds":{"left":-0.039375000000000014,"bottom":-0.0859375,"right":0.67937500000000006,"top":0.8046875},"atlasBounds":{"left":40.5,"bottom":319.5,"right":86.5,"top":376.5}},{"unicode":39,"advance":0.59999999999999998,"planeBounds":{"left":0.18281250000000002,"bottom":0.3671875,"right":0.41718749999999999,"top":0.8046875},"atlasBounds":{"left":115.5,"bottom":13.5,"right":130.5,"top":41.5}},{"unicode":40,"advance":0.59999999999999998,"planeBounds":{"left":0.11625000000000001,"bottom":-0.1953125,"right":0.55374999999999996,"top":0.9140625},"atlasBounds":{"left":39.5,"bottom":380.5,"right":67.5,"top":451.5}},{"unicode":41,"advance":0.59999999999999998,"planeBounds":{"left":0.046249999999999993,"bottom":-0.1953125,"right":0.48375000000000001,"top":0.9140625},"atlasBounds":{"left":68.5,"bottom":380.5,"right":96.5,"top":451.5}},{"unicode":42,"advance":0.59999999999999998,"planeBounds":{"left":-0.028124999999999987,"bottom":0.0390625,"right":0.62812500000000004,"top":0.6953125},"atlasBounds":{"left":384.5,"bottom":45.5,"right":426.5,"top":87.5}},{"unicode":43,"advance":0.59999999999999998,"planeBounds":{"left":-0.0046875000000000128,"bottom":0.0234375,"right":0.60468750000000004,"top":0.6328125},"atlasBounds":{"left":0.5,"bottom":2.5,"right":39.5,"top":41.5}},{"unicode":44,"advance":0.59999999999999998,"planeBounds":{"left":0.14306250000000004,"bottom":-0.2265625,"right":0.43993750000000004,"top":0.2109375},"atlasBounds":{"left":425.5,"bottom":404.5,"right":444.5,"top":432.5}},{"unicode":45,"advance":0.59999999999999998,"planeBounds":{"left":0.073437500000000003,"bottom":0.2265625,"right":0.52656250000000004,"top":0.4453125},"atlasBounds":{"left":200.5,"bottom":27.5,"right":229.5,"top":41.5}},{"unicode":46,"advance":0.59999999999999998,"planeBounds":{"left":0.15156250000000002,"bottom":-0.0859375,"right":0.44843749999999999,"top":0.2265625},"atlasBounds":{"left":425.5,"bottom":383.5,"right":444.5,"top":403.5}},{"unicode":47,"advance":0.59999999999999998,"planeBounds":{"left":0.010937500000000034,"bottom":-0.1796875,"right":0.58906250000000004,"top":0.8984375},"atlasBounds":{"left":182.5,"bottom":382.5,"right":219.5,"top":451.5}},{"unicode":48,"advance":0.59999999999999998,"planeBounds":{"left":0.010937500000000029,"bottom":-0.0859375,"right":0.58906250000000004,"top":0.8046875},"atlasBounds":{"left":123.5,"bottom":319.5,"right":160.5,"top":376.5}},{"unicode":49,"advance":0.59999999999999998,"planeBounds":{"left":0.025937500000000037,"bottom":-0.0703125,"right":0.60406250000000006,"top":0.8046875},"atlasBounds":{"left":325.5,"bottom":202.5,"right":362.5,"top":258.5}},{"unicode":50,"advance":0.59999999999999998,"planeBounds":{"left":0.012437500000000034,"bottom":-0.0703125,"right":0.59056249999999999,"top":0.8046875},"atlasBounds":{"left":75.5,"bottom":145.5,"right":112.5,"top":201.5}},{"unicode":51,"advance":0.59999999999999998,"planeBounds":{"left":0.00093750000000002848,"bottom":-0.0859375,"right":0.57906250000000004,"top":0.8046875},"atlasBounds":{"left":161.5,"bottom":319.5,"right":198.5,"top":376.5}},{"unicode":52,"advance":0.59999999999999998,"planeBounds":{"left":0.0065625000000000197,"bottom":-0.0703125,"right":0.55343750000000003,"top":0.8046875},"atlasBounds":{"left":183.5,"bottom":145.5,"right":218.5,"top":201.5}},{"unicode":53,"advance":0.59999999999999998,"planeBounds":{"left":0.0059375000000000287,"bottom":-0.0859375,"right":0.58406250000000004,"top":0.8046875},"atlasBounds":{"left":199.5,"bottom":319.5,"right":236.5,"top":376.5}},{"unicode":54,"advance":0.59999999999999998,"planeBounds":{"left":-0.0046875000000000128,"bottom":-0.0859375,"right":0.60468750000000004,"top":0.8046875},"atlasBounds":{"left":237.5,"bottom":319.5,"right":276.5,"top":376.5}},{"unicode":55,"advance":0.59999999999999998,"planeBounds":{"left":0.017124999999999987,"bottom":-0.0703125,"right":0.61087500000000006,"top":0.8046875},"atlasBounds":{"left":0.5,"bottom":88.5,"right":38.5,"top":144.5}},{"unicode":56,"advance":0.59999999999999998,"planeBounds":{"left":0.0031249999999999859,"bottom":-0.0859375,"right":0.59687500000000004,"top":0.8046875},"atlasBounds":{"left":277.5,"bottom":319.5,"right":315.5,"top":376.5}},{"unicode":57,"advance":0.59999999999999998,"planeBounds":{"left":-0.0046875000000000128,"bottom":-0.0703125,"right":0.60468750000000004,"top":0.8046875},"atlasBounds":{"left":111.5,"bottom":88.5,"right":150.5,"top":144.5}},{"unicode":58,"advance":0.59999999999999998,"planeBounds":{"left":0.15156250000000002,"bottom":-0.0859375,"right":0.44843749999999999,"top":0.6328125},"atlasBounds":{"left":348.5,"bottom":98.5,"right":367.5,"top":144.5}},{"unicode":59,"advance":0.59999999999999998,"planeBounds":{"left":0.13875000000000001,"bottom":-0.2265625,"right":0.45124999999999998,"top":0.6328125},"atlasBounds":{"left":427.5,"bottom":261.5,"right":447.5,"top":316.5}},{"unicode":60,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0078125,"right":0.58125000000000004,"top":0.6640625},"atlasBounds":{"left":310.5,"bottom":44.5,"right":346.5,"top":87.5}},{"unicode":61,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":0.1015625,"right":0.58125000000000004,"top":0.5546875},"atlasBounds":{"left":78.5,"bottom":12.5,"right":114.5,"top":41.5}},{"unicode":62,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0078125,"right":0.58125000000000004,"top":0.6640625},"atlasBounds":{"left":347.5,"bottom":44.5,"right":383.5,"top":87.5}},{"unicode":63,"advance":0.59999999999999998,"planeBounds":{"left":0.065312499999999996,"bottom":-0.0703125,"right":0.5496875,"top":0.8046875},"atlasBounds":{"left":39.5,"bottom":88.5,"right":70.5,"top":144.5}},{"unicode":64,"advance":0.59999999999999998,"planeBounds":{"left":-0.017812499999999992,"bottom":-0.2578125,"right":0.62281249999999999,"top":0.8046875},"atlasBounds":{"left":345.5,"bottom":383.5,"right":386.5,"top":451.5}},{"unicode":65,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000001,"bottom":-0.0703125,"right":0.61250000000000004,"top":0.8046875},"atlasBounds":{"left":401.5,"bottom":145.5,"right":441.5,"top":201.5}},{"unicode":66,"advance":0.59999999999999998,"planeBounds":{"left":0.03025000000000003,"bottom":-0.0703125,"right":0.59275,"top":0.8046875},"atlasBounds":{"left":364.5,"bottom":145.5,"right":400.5,"top":201.5}},{"unicode":67,"advance":0.59999999999999998,"planeBounds":{"left":0.025750000000000026,"bottom":-0.0859375,"right":0.58825000000000005,"top":0.8046875},"atlasBounds":{"left":352.5,"bottom":319.5,"right":388.5,"top":376.5}},{"unicode":68,"advance":0.59999999999999998,"planeBounds":{"left":0.028562500000000022,"bottom":-0.0703125,"right":0.57543750000000005,"top":0.8046875},"atlasBounds":{"left":292.5,"bottom":145.5,"right":327.5,"top":201.5}},{"unicode":69,"advance":0.59999999999999998,"planeBounds":{"left":0.036562500000000026,"bottom":-0.0703125,"right":0.58343750000000005,"top":0.8046875},"atlasBounds":{"left":256.5,"bottom":145.5,"right":291.5,"top":201.5}},{"unicode":70,"advance":0.59999999999999998,"planeBounds":{"left":0.028750000000000026,"bottom":-0.0703125,"right":0.59125000000000005,"top":0.8046875},"atlasBounds":{"left":219.5,"bottom":145.5,"right":255.5,"top":201.5}},{"unicode":71,"advance":0.59999999999999998,"planeBounds":{"left":0.021750000000000026,"bottom":-0.0859375,"right":0.58425000000000005,"top":0.8046875},"atlasBounds":{"left":389.5,"bottom":319.5,"right":425.5,"top":376.5}},{"unicode":72,"advance":0.59999999999999998,"planeBounds":{"left":0.026562500000000017,"bottom":-0.0703125,"right":0.57343750000000004,"top":0.8046875},"atlasBounds":{"left":147.5,"bottom":145.5,"right":182.5,"top":201.5}},{"unicode":73,"advance":0.59999999999999998,"planeBounds":{"left":0.04218750000000001,"bottom":-0.0703125,"right":0.55781250000000004,"top":0.8046875},"atlasBounds":{"left":113.5,"bottom":145.5,"right":146.5,"top":201.5}},{"unicode":74,"advance":0.59999999999999998,"planeBounds":{"left":-0.019062499999999965,"bottom":-0.0859375,"right":0.55906250000000002,"top":0.8046875},"atlasBounds":{"left":72.5,"bottom":259.5,"right":109.5,"top":316.5}},{"unicode":75,"advance":0.59999999999999998,"planeBounds":{"left":0.029124999999999988,"bottom":-0.0703125,"right":0.62287500000000007,"top":0.8046875},"atlasBounds":{"left":36.5,"bottom":145.5,"right":74.5,"top":201.5}},{"unicode":76,"advance":0.59999999999999998,"planeBounds":{"left":0.066562500000000024,"bottom":-0.0703125,"right":0.61343749999999997,"top":0.8046875},"atlasBounds":{"left":0.5,"bottom":145.5,"right":35.5,"top":201.5}},{"unicode":77,"advance":0.59999999999999998,"planeBounds":{"left":0.0031249999999999807,"bottom":-0.0703125,"right":0.59687500000000004,"top":0.8046875},"atlasBounds":{"left":399.5,"bottom":202.5,"right":437.5,"top":258.5}},{"unicode":78,"advance":0.59999999999999998,"planeBounds":{"left":0.026562500000000024,"bottom":-0.0703125,"right":0.57343750000000004,"top":0.8046875},"atlasBounds":{"left":363.5,"bottom":202.5,"right":398.5,"top":258.5}},{"unicode":79,"advance":0.59999999999999998,"planeBounds":{"left":0.01875000000000002,"bottom":-0.0859375,"right":0.58125000000000004,"top":0.8046875},"atlasBounds":{"left":146.5,"bottom":259.5,"right":182.5,"top":316.5}},{"unicode":80,"advance":0.59999999999999998,"planeBounds":{"left":0.024124999999999983,"bottom":-0.0703125,"right":0.61787500000000006,"top":0.8046875},"atlasBounds":{"left":286.5,"bottom":202.5,"right":324.5,"top":258.5}},{"unicode":81,"advance":0.59999999999999998,"planeBounds":{"left":0.013937500000000031,"bottom":-0.2578125,"right":0.59206250000000005,"top":0.8046875},"atlasBounds":{"left":387.5,"bottom":383.5,"right":424.5,"top":451.5}},{"unicode":82,"advance":0.59999999999999998,"planeBounds":{"left":0.029937499999999978,"bottom":-0.0703125,"right":0.60806250000000006,"top":0.8046875},"atlasBounds":{"left":209.5,"bottom":202.5,"right":246.5,"top":258.5}},{"unicode":83,"advance":0.59999999999999998,"planeBounds":{"left":0.0031249999999999807,"bottom":-0.0859375,"right":0.59687500000000004,"top":0.8046875},"atlasBounds":{"left":183.5,"bottom":259.5,"right":221.5,"top":316.5}},{"unicode":84,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000004,"bottom":-0.0703125,"right":0.61250000000000004,"top":0.8046875},"atlasBounds":{"left":125.5,"bottom":202.5,"right":165.5,"top":258.5}},{"unicode":85,"advance":0.59999999999999998,"planeBounds":{"left":0.026562500000000024,"bottom":-0.0859375,"right":0.57343750000000004,"top":0.8046875},"atlasBounds":{"left":222.5,"bottom":259.5,"right":257.5,"top":316.5}},{"unicode":86,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000001,"bottom":-0.0703125,"right":0.61250000000000004,"top":0.8046875},"atlasBounds":{"left":43.5,"bottom":202.5,"right":83.5,"top":258.5}},{"unicode":87,"advance":0.59999999999999998,"planeBounds":{"left":-0.043749999999999969,"bottom":-0.0703125,"right":0.64375000000000004,"top":0.8046875},"atlasBounds":{"left":151.5,"bottom":88.5,"right":195.5,"top":144.5}},{"unicode":88,"advance":0.59999999999999998,"planeBounds":{"left":-0.028124999999999994,"bottom":-0.0703125,"right":0.62812500000000004,"top":0.8046875},"atlasBounds":{"left":0.5,"bottom":202.5,"right":42.5,"top":258.5}},{"unicode":89,"advance":0.59999999999999998,"planeBounds":{"left":-0.028124999999999987,"bottom":-0.0703125,"right":0.62812500000000004,"top":0.8046875},"atlasBounds":{"left":384.5,"bottom":260.5,"right":426.5,"top":316.5}},{"unicode":90,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0703125,"right":0.58125000000000004,"top":0.8046875},"atlasBounds":{"left":347.5,"bottom":260.5,"right":383.5,"top":316.5}},{"unicode":91,"advance":0.59999999999999998,"planeBounds":{"left":0.14000000000000001,"bottom":-0.1796875,"right":0.51500000000000001,"top":0.8984375},"atlasBounds":{"left":220.5,"bottom":382.5,"right":244.5,"top":451.5}},{"unicode":92,"advance":0.59999999999999998,"planeBounds":{"left":0.010937500000000034,"bottom":-0.1796875,"right":0.58906250000000004,"top":0.8984375},"atlasBounds":{"left":245.5,"bottom":382.5,"right":282.5,"top":451.5}},{"unicode":93,"advance":0.59999999999999998,"planeBounds":{"left":0.085000000000000006,"bottom":-0.1796875,"right":0.46000000000000002,"top":0.8984375},"atlasBounds":{"left":283.5,"bottom":382.5,"right":307.5,"top":451.5}},{"unicode":94,"advance":0.59999999999999998,"planeBounds":{"left":0.010937500000000029,"bottom":0.2734375,"right":0.58906250000000004,"top":0.8046875},"atlasBounds":{"left":40.5,"bottom":7.5,"right":77.5,"top":41.5}},{"unicode":95,"advance":0.59999999999999998,"planeBounds":{"left":-0.0046875000000000094,"bottom":-0.1640625,"right":0.60468750000000004,"top":0.0390625},"atlasBounds":{"left":230.5,"bottom":28.5,"right":269.5,"top":41.5}},{"unicode":96,"advance":0.59999999999999998,"planeBounds":{"left":0.095125000000000015,"bottom":0.5703125,"right":0.43887500000000002,"top":0.8515625},"atlasBounds":{"left":425.5,"bottom":433.5,"right":447.5,"top":451.5}},{"unicode":97,"advance":0.59999999999999998,"planeBounds":{"left":-0.0015624999999999697,"bottom":-0.0859375,"right":0.57656249999999998,"top":0.6328125},"atlasBounds":{"left":310.5,"bottom":98.5,"right":347.5,"top":144.5}},{"unicode":98,"advance":0.59999999999999998,"planeBounds":{"left":0.029062500000000022,"bottom":-0.0859375,"right":0.57593749999999999,"top":0.8046875},"atlasBounds":{"left":36.5,"bottom":259.5,"right":71.5,"top":316.5}},{"unicode":99,"advance":0.59999999999999998,"planeBounds":{"left":0.024250000000000028,"bottom":-0.0859375,"right":0.58674999999999999,"top":0.6328125},"atlasBounds":{"left":236.5,"bottom":98.5,"right":272.5,"top":144.5}},{"unicode":100,"advance":0.59999999999999998,"planeBounds":{"left":0.024062500000000021,"bottom":-0.0859375,"right":0.57093749999999999,"top":0.8046875},"atlasBounds":{"left":0.5,"bottom":259.5,"right":35.5,"top":316.5}},{"unicode":101,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0859375,"right":0.58125000000000004,"top":0.6328125},"atlasBounds":{"left":405.5,"bottom":98.5,"right":441.5,"top":144.5}},{"unicode":102,"advance":0.59999999999999998,"planeBounds":{"left":-0.012187500000000011,"bottom":-0.0703125,"right":0.59718749999999998,"top":0.8046875},"atlasBounds":{"left":71.5,"bottom":88.5,"right":110.5,"top":144.5}},{"unicode":103,"advance":0.59999999999999998,"planeBounds":{"left":0.024062500000000021,"bottom":-0.2578125,"right":0.57093749999999999,"top":0.6328125},"atlasBounds":{"left":316.5,"bottom":319.5,"right":351.5,"top":376.5}},{"unicode":104,"advance":0.59999999999999998,"planeBounds":{"left":0.027562500000000021,"bottom":-0.0703125,"right":0.57443750000000005,"top":0.8046875},"atlasBounds":{"left":328.5,"bottom":145.5,"right":363.5,"top":201.5}},{"unicode":105,"advance":0.59999999999999998,"planeBounds":{"left":0.015312499999999988,"bottom":-0.0703125,"right":0.62468750000000006,"top":0.8515625},"atlasBounds":{"left":0.5,"bottom":317.5,"right":39.5,"top":376.5}},{"unicode":106,"advance":0.59999999999999998,"planeBounds":{"left":0.017999999999999995,"bottom":-0.2578125,"right":0.51800000000000002,"top":0.8515625},"atlasBounds":{"left":97.5,"bottom":380.5,"right":129.5,"top":451.5}},{"unicode":107,"advance":0.59999999999999998,"planeBounds":{"left":0.031124999999999986,"bottom":-0.0703125,"right":0.62487499999999996,"top":0.8046875},"atlasBounds":{"left":247.5,"bottom":202.5,"right":285.5,"top":258.5}},{"unicode":108,"advance":0.59999999999999998,"planeBounds":{"left":-0.038124999999999992,"bottom":-0.0703125,"right":0.61812500000000004,"top":0.8046875},"atlasBounds":{"left":166.5,"bottom":202.5,"right":208.5,"top":258.5}},{"unicode":109,"advance":0.59999999999999998,"planeBounds":{"left":-0.0046875000000000094,"bottom":-0.0703125,"right":0.60468750000000004,"top":0.6328125},"atlasBounds":{"left":0.5,"bottom":42.5,"right":39.5,"top":87.5}},{"unicode":110,"advance":0.59999999999999998,"planeBounds":{"left":0.027562500000000021,"bottom":-0.0703125,"right":0.57443750000000005,"top":0.6328125},"atlasBounds":{"left":40.5,"bottom":42.5,"right":75.5,"top":87.5}},{"unicode":111,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0859375,"right":0.58125000000000004,"top":0.6328125},"atlasBounds":{"left":273.5,"bottom":98.5,"right":309.5,"top":144.5}},{"unicode":112,"advance":0.59999999999999998,"planeBounds":{"left":0.029062500000000022,"bottom":-0.2578125,"right":0.57593749999999999,"top":0.6328125},"atlasBounds":{"left":87.5,"bottom":319.5,"right":122.5,"top":376.5}},{"unicode":113,"advance":0.59999999999999998,"planeBounds":{"left":0.024062500000000021,"bottom":-0.2578125,"right":0.57093749999999999,"top":0.6328125},"atlasBounds":{"left":110.5,"bottom":259.5,"right":145.5,"top":316.5}},{"unicode":114,"advance":0.59999999999999998,"planeBounds":{"left":0.047562500000000021,"bottom":-0.0703125,"right":0.59443750000000006,"top":0.6328125},"atlasBounds":{"left":112.5,"bottom":42.5,"right":147.5,"top":87.5}},{"unicode":115,"advance":0.59999999999999998,"planeBounds":{"left":0.018750000000000024,"bottom":-0.0859375,"right":0.58125000000000004,"top":0.6328125},"atlasBounds":{"left":368.5,"bottom":98.5,"right":404.5,"top":144.5}},{"unicode":116,"advance":0.59999999999999998,"planeBounds":{"left":-0.021187500000000015,"bottom":-0.0703125,"right":0.58818749999999997,"top":0.7734375},"atlasBounds":{"left":196.5,"bottom":90.5,"right":235.5,"top":144.5}},{"unicode":117,"advance":0.59999999999999998,"planeBounds":{"left":0.026562500000000024,"bottom":-0.0859375,"right":0.57343750000000004,"top":0.6171875},"atlasBounds":{"left":76.5,"bottom":42.5,"right":111.5,"top":87.5}},{"unicode":118,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000004,"bottom":-0.0703125,"right":0.61250000000000004,"top":0.6171875},"atlasBounds":{"left":233.5,"bottom":43.5,"right":273.5,"top":87.5}},{"unicode":119,"advance":0.59999999999999998,"planeBounds":{"left":-0.035937499999999983,"bottom":-0.0703125,"right":0.63593750000000004,"top":0.6171875},"atlasBounds":{"left":148.5,"bottom":43.5,"right":191.5,"top":87.5}},{"unicode":120,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000001,"bottom":-0.0703125,"right":0.61250000000000004,"top":0.6171875},"atlasBounds":{"left":192.5,"bottom":43.5,"right":232.5,"top":87.5}},{"unicode":121,"advance":0.59999999999999998,"planeBounds":{"left":-0.012500000000000004,"bottom":-0.2578125,"right":0.61250000000000004,"top":0.6171875},"atlasBounds":{"left":84.5,"bottom":202.5,"right":124.5,"top":258.5}},{"unicode":122,"advance":0.59999999999999998,"planeBounds":{"left":0.026562500000000024,"bottom":-0.0703125,"right":0.57343750000000004,"top":0.6171875},"atlasBounds":{"left":274.5,"bottom":43.5,"right":309.5,"top":87.5}},{"unicode":123,"advance":0.59999999999999998,"planeBounds":{"left":0.0087500000000000251,"bottom":-0.1796875,"right":0.57125000000000004,"top":0.8984375},"atlasBounds":{"left":308.5,"bottom":382.5,"right":344.5,"top":451.5}},{"unicode":124,"advance":0.59999999999999998,"planeBounds":{"left":0.19062500000000002,"bottom":-0.1796875,"right":0.40937499999999999,"top":0.8984375},"atlasBounds":{"left":167.5,"bottom":382.5,"right":181.5,"top":451.5}},{"unicode":125,"advance":0.59999999999999998,"planeBounds":{"left":0.028750000000000026,"bottom":-0.1796875,"right":0.59125000000000005,"top":0.8984375},"atlasBounds":{"left":130.5,"bottom":382.5,"right":166.5,"top":451.5}},{"unicode":126,"advance":0.59999999999999998,"planeBounds":{"left":0.0031249999999999824,"bottom":0.1796875,"right":0.59687500000000004,"top":0.5234375},"atlasBounds":{"left":161.5,"bottom":19.5,"right":199.5,"top":41.5}}],"kerning":[]} diff --git a/resources/public/font_atlas.png b/resources/public/font_atlas.png index 88c88b8..008c20a 100644 Binary files a/resources/public/font_atlas.png and b/resources/public/font_atlas.png differ diff --git a/src/app/client/webgpu/Summary.md b/src/app/client/webgpu/Summary.md new file mode 100644 index 0000000..683dd63 --- /dev/null +++ b/src/app/client/webgpu/Summary.md @@ -0,0 +1,83 @@ +Of course. I understand completely. Creating a context document to go with your code is a fantastic practice. It saves an immense amount of time and frustration when you revisit the project later. + +Here is a detailed summary and context document. You can save this as a `README.md` or a developer note file and co-locate it with your `core.cljs` file. + +--- + +### **Developer's Context: WebGPU MSDF Text Rendering Engine** + +**Last Updated:** June 2025 +**Author:** [Your Name] +**Project Goal:** To build a highly-efficient rendering system in ClojureScript and WebGPU capable of drawing, panning, and zooming a large number of text elements at a high frame rate. + +--- + +### **1. High-Level Architecture: The "Setup-Once, Render-Many" Model** + +This code is built on the fundamental principle of modern real-time graphics: **do expensive work once on the CPU, then do cheap work many times on the GPU.** + +Our initial approach was inefficient because we were rebuilding the entire rendering pipeline (compiling shaders, creating buffers, etc.) every single time the mouse moved. This is like demolishing and rebuilding a car factory 60 times a second just to change the car's color. + +The correct and final architecture separates the logic into two distinct phases: + +* **A. The Setup Phase (`setup-text-renderer`)**: This is the "factory builder". It runs **only once** at the start. It performs all the heavy lifting: + 1. Calculates the static "world" positions of all text characters. + 2. Creates permanent GPU buffers to store this geometry. + 3. Uploads the geometry to the GPU **once**. + 4. Compiles the WGSL shaders. + 5. Builds a highly-optimized, reusable `GPURenderPipeline`. + 6. Bundles all these persistent GPU objects into a `renderer` map. + +* **B. The Render Phase (`draw-text`)**: This is the "factory operator". It's extremely lightweight and runs **every frame** (e.g., via `requestAnimationFrame`). Its only jobs are: + 1. Get the latest camera state (pan position, zoom level). + 2. Send just those few numbers to a small, dynamic uniform buffer on the GPU. + 3. Tell the GPU: "Use the factory (`pipeline`) and materials (`buffers`) we already made, apply this new camera view, and draw everything." + +This separation is the key to achieving high performance. + +### **2. Code Walkthrough & Key Components** + +* **`shape-text`**: This is the core of the CPU-side data preparation. It takes a list of strings and their desired top-left coordinates in "world space" (a pixel-based coordinate system where Y increases upwards). For each character, it: + 1. Looks up the character in the **MSDF (Multi-channel Signed Distance Field)** font atlas data. + 2. Retrieves its metrics: `planeBounds` (the character's geometry relative to its origin), `atlasBounds` (the character's location on the font texture), and `advance` (how far to move the cursor for the next character). + 3. Calculates the final vertex `positions` for the quad that will display the character. + 4. Calculates the `uvs` (texture coordinates) that map the quad's vertices to the correct region on the MSDF font atlas texture. + +* **`prepare-vertex-data`**: A utility function that takes the output of `shape-text` and flattens it into the precise `Float32Array` (for vertex data) and `Uint16Array` (for index data) formats that the GPU requires. + +* **`setup-text-renderer`**: As described above, this is the master setup function that orchestrates the one-time creation of all necessary WebGPU objects. + +* **`draw-text`**: The per-frame render function. It takes the `renderer` object map from the setup phase and the current `camera-state` to execute a draw call. + +* **Vertex Shader (`vertex-shader-with-camera`)**: Its job is to take a single vertex from the static buffer and figure out where it should be on the screen. It does this by: + 1. Applying the `camera.zoom` to the vertex position. + 2. Applying the `camera.pan` to the zoomed position. + 3. Converting the final world-space pixel coordinate into WebGPU's normalized "clip space" (from `-1.0` to `1.0` on both axes). + 4. It also flips the Y-axis (`-clip_space.y`) to account for the difference between our world coordinate system (Y-up) and the typical screen coordinate system (Y-down). + +* **Fragment Shader (`text-fragment-shader`)**: Its job is to determine the color of a single pixel on a character's quad. It does this by: + 1. Receiving the interpolated UV coordinate for the pixel. + 2. Sampling the MSDF font texture at that coordinate. + 3. The MSDF texture doesn't store color; it stores *distance*. The shader interprets this distance value to calculate a crisp, smooth alpha (opacity) value, allowing the text to be scaled to any size without pixelation. + 4. It then combines this calculated opacity with a hardcoded color (e.g., red) to produce the final pixel color. + +### **3. The Debugging Journey: A Record of Fixes** + +This code is the result of solving three critical bugs. Understanding them is key to understanding why the final code is structured the way it is. + +* **Bug #1: The Blank Screen** + * **Symptom:** The screen was being cleared to the background color, but nothing was being drawn. + * **Discovery:** A "hardcoded quad" test (drawing a simple square instead of complex text) worked perfectly. This proved the entire WebGPU pipeline (shaders, buffers, uniforms) was functional and that the error had to be in the data being fed to it. + * **Lesson:** When in doubt, isolate the problem. Test the graphics pipeline with the simplest possible data to confirm its integrity. + +* **Bug #2: Invisibly Small Text** + * **Symptom:** Console logs showed that the correct *number* of vertices were being generated, but they were still invisible. The data wasn't `NaN`, just not showing up. + * **Discovery:** The `font-size` scaling logic was incorrect. It was calculating the scale factor as `desired_size / atlas_size` (e.g., `16 / 256`), resulting in a microscopic scale factor of `0.0625`. All the geometry was being rendered at a fraction of a pixel in size. + * **Solution:** The correct approach is to simply use the desired pixel size (`fsize`) as the scaling factor for the normalized font metrics. The `font-size` variable was corrected to just be `fsize`. + +* **Bug #3: Mirrored Text** + * **Symptom:** The text was finally rendering but was flipped horizontally, like looking in a mirror. + * **Discovery:** This is a classic coordinate system mismatch. The geometry of the quads was being generated correctly, but the texture was being mapped onto them backwards along the horizontal U-axis. + * **Solution:** The fix was to swap the left (`al`) and right (`ar`) texture coordinates in the `uvs` array within the `shape-text` function, effectively "un-mirroring" the texture application. + +This journey highlights the importance of methodical debugging: isolate the problem, inspect the data at each stage of the pipeline, and verify your mathematical assumptions. \ No newline at end of file diff --git a/src/app/client/webgpu/compute.cljs b/src/app/client/webgpu/compute.cljs index a01dba9..1ab7fe1 100644 --- a/src/app/client/webgpu/compute.cljs +++ b/src/app/client/webgpu/compute.cljs @@ -8,6 +8,19 @@ :entryPoint "modifySquare"})}) +(def vertices-render-shader + (clj->js {:label "vertices render shader descriptor" + :code " + @vertex + fn renderVertices(@location(0) pos: vec2f) -> @builtin(position) vec4 { + return vec4f(pos, 0.0, 1.0); + } + + @fragment + fn renderVerticesFragment() -> @location(0) vec4f { + return vec4f(0.9, 0.9, 0.9, 1); + } + "})) (defn render-new-vertices [context new-vertices device fformat num-rectangles output-buffer] (js/console.log "RENDER NEW VERTICES"(js/Float32Array. new-vertices) fformat) @@ -51,16 +64,3 @@ (.end render-pass) (.submit (.-queue device) [(.finish encoder)]))) -(def vertices-render-shader - (clj->js {:label "vertices render shader descriptor" - :code " - @vertex - fn renderVertices(@location(0) pos: vec2f) -> @builtin(position) vec4 { - return vec4f(pos, 0.0, 1.0); - } - - @fragment - fn renderVerticesFragment() -> @location(0) vec4f { - return vec4f(0.9, 0.9, 0.9, 1); - } - "})) diff --git a/src/app/client/webgpu/core.cljs b/src/app/client/webgpu/core.cljs index 675c789..c5fffd2 100644 --- a/src/app/client/webgpu/core.cljs +++ b/src/app/client/webgpu/core.cljs @@ -9,25 +9,23 @@ (map #(.charCodeAt % 0) s)) +;; In ns app.client.webgpu.core (defn shape-text [texts fsize msdf-atlas] (let [atlas (:atlas msdf-atlas) - atlas-width (:width atlas) - atlas-height (:height atlas) metrics (:metrics msdf-atlas) - line-height (:lineHeight metrics) - glyphs (reduce (fn [acc glyph] - (assoc acc (:unicode glyph) - glyph)) - {} - (:glyphs msdf-atlas)) - font-size (* (/ 1 (:size atlas)) fsize) + + glyphs (reduce (fn [acc glyph] (assoc acc (:unicode glyph) glyph)) {} (:glyphs msdf-atlas)) + atlas-width (or (:width atlas) 1) + atlas-height (or (:height atlas) 1) + line-height (or (:lineHeight metrics) 1.2) + font-size fsize res (atom [])] + (doseq [txt texts] (let [{:keys [text x y]} txt !x (atom x) !y (atom y)] - ;(println "shape text" x y txt) (doseq [ch (seq text)] (let [codepoint (.charCodeAt ch 0)] (cond @@ -35,32 +33,35 @@ (= ch \space) (reset! !x (+ @!x (* font-size 0.5))) :else (let [glyph (get glyphs codepoint)] (when glyph - (let [advance (* font-size (:advance glyph)) - plane-bounds (:planeBounds glyph) + (let [plane-bounds (:planeBounds glyph) atlas-bounds (:atlasBounds glyph) - fw (/ (* font-size (- (get plane-bounds :right) (get plane-bounds :left))) 2) - fh (/ (* font-size (- (get plane-bounds :top) (get plane-bounds :bottom))) 2) - ;; Scale plane bounds by font size - pl @!x - pb (- @!y fh) - pr (+ @!x fw) - pt @!y - positions [[pl pb] [pr pb] [pr pt] [pl pt]] - ;; Calculate texture coordinates - al (/ (get atlas-bounds :left) atlas-width) - ab (/ (get atlas-bounds :bottom) atlas-height) - ar (/ (get atlas-bounds :right) atlas-width) - at (/ (get atlas-bounds :top) atlas-height) - uvs [[al (- 1.0 ab)] [ar (- 1.0 ab)] [ar (- 1.0 at)] [al (- 1.0 at)]]] + pb-left (or (get plane-bounds :left) 0) + pb-right (or (get plane-bounds :right) 0) + pb-top (or (get plane-bounds :top) 0) + pb-bottom (or (get plane-bounds :bottom) 0) + advance (* font-size (or (:advance glyph) 0)) + fw (* font-size (- pb-right pb-left)) + fh (* font-size (- pb-top pb-bottom)) + pl (+ @!x (* font-size pb-left)) + pr (+ pl fw) + pt (+ @!y (* font-size pb-top)) + pb (- pt fh) + positions [[pl pb] [pr pb] [pr pt] [pl pt]] + al (/ (:left atlas-bounds) atlas-width) + ab (/ (:bottom atlas-bounds) atlas-height) + ar (/ (:right atlas-bounds) atlas-width) + at (/ (:top atlas-bounds) atlas-height) + uvs [[ar (- 1.0 ab)] [al (- 1.0 ab)] [al (- 1.0 at)] [ar (- 1.0 at)]]] + ;uvs [[al (- 1.0 ab)] [ar (- 1.0 ab)] [ar (- 1.0 at)] [al (- 1.0 at)]] + (do - (reset! !x (+ @!x (/ advance 2))) - (swap! res conj {:codepoint codepoint - :positions positions - :uvs uvs})))))))))) + (reset! !x (+ @!x advance)) + (swap! res conj {:codepoint codepoint + :positions positions + :uvs uvs})))))))))) @res)) - (defn prepare-vertex-data [shaped-text] (let [vertices (atom []) indices (atom []) @@ -92,8 +93,229 @@ :index-data (js/Uint16Array. (clj->js @indices))})) -(defn render-text [device format context px-range font-size atlas font-bitmap texts] - ;(println "render text ") +;; --- The new, efficient setup function --- +(defn setup-text-renderer [^js/GPUDevice device fformat texts atlas font-bitmap] + (println "PERFORMING EXPENSIVE SETUP. This should only run once!") + + ;; STEP 1: PREPARE CPU DATA (The "Stencil Cutting") + ;; This is the only time we will call these expensive functions. + (let [shaped-texts (shape-text texts 16.0 atlas) ; Using a base font size + {:keys [vertex-data index-data]} (prepare-vertex-data shaped-texts) + num-indices (.-length index-data) + ;; ======================== DEBUGGING LOG ======================== + _ (js/console.log "--- Text Renderer Setup Debug ---") + _ (js/console.log "Number of shaped glyphs:" (count shaped-texts)) + _ (js/console.log "Number of indices to draw:" num-indices) + _ (when (< num-indices 100) + (js/console.log "Vertex Data (first 100 bytes):" (.slice vertex-data 0 100)) + (js/console.log "Index Data (first 20 indices):" (.slice index-data 0 20))) + _ (js/console.log "------------------------------------") + ;; ============================================================= + + ;; STEP 2: CREATE GPU BUFFERS AND UPLOAD STATIC DATA + ;; These buffers will live on the GPU for the lifetime of the app. + vertex-buffer (.createBuffer device + (clj->js {:label "Static Text Vertex Buffer" + :size (.-byteLength vertex-data) + :usage (bit-or js/GPUBufferUsage.VERTEX js/GPUBufferUsage.COPY_DST)})) + + index-buffer (.createBuffer device + (clj->js {:label "Static Text Index Buffer" + :size (.-byteLength index-data) + :usage (bit-or js/GPUBufferUsage.INDEX js/GPUBufferUsage.COPY_DST)})) + camera-uniform-buffer (.createBuffer device + (clj->js {:label "Camera Uniform Buffer" + :size 24 + :usage (bit-or js/GPUBufferUsage.UNIFORM js/GPUBufferUsage.COPY_DST)})) + + ;; NEW: Uniform buffer for the FRAGMENT shader (sizes) + sizes-data (js/Float32Array. (clj->js [16.0 ; px-range + (:size (:atlas atlas)) + 16.0])) ; font-size + sizes-uniform-buffer (.createBuffer device + (clj->js {:label "Sizes Uniform Buffer" + :size (.-byteLength sizes-data) + :usage (bit-or js/GPUBufferUsage.UNIFORM js/GPUBufferUsage.COPY_DST)})) + + + ;; Upload the vertex and index data now. This is a one-time operation. + _ (.writeBuffer (.-queue device) vertex-buffer 0 vertex-data) + _ (.writeBuffer (.-queue device) index-buffer 0 index-data) + _ (.writeBuffer (.-queue device) sizes-uniform-buffer 0 sizes-data) + + + + ;; STEP 3: CREATE TEXTURE AND SAMPLER (One time) + + bitmap-height (.-height font-bitmap) + bitmap-width (.-width font-bitmap) + texture (.createTexture device + (clj->js {:size {:width bitmap-width + :height bitmap-height + :depthOrArrayLayers 1} + :format "rgba8unorm" + :usage (bit-or js/GPUTextureUsage.RENDER_ATTACHMENT + js/GPUTextureUsage.TEXTURE_BINDING + js/GPUTextureUsage.COPY_DST)})) + sampler (.createSampler device (clj->js {:minFilter "linear" + :magFilter "linear" + :mipmapFilter "linear"})) + _ (.copyExternalImageToTexture + ( .-queue device) + ( clj->js {:source font-bitmap}) + ( clj->js {:texture texture + :origin {:x 0 :y 0 :z 0}}) + ( clj->js {:width bitmap-width + :height bitmap-height + :depthOrArrayLayers 1})) + + + ;; STEP 4: COMPILE SHADERS (One time) + ;; Your fragment shader can stay the same. We update the vertex shader. + vertex-shader-with-camera (clj->js {:label "text vertex shader with camera" + :code " + struct Camera { + pan: vec2, + zoom: f32, + // padding + screen_dimensions: vec2, + }; + + struct VertexInput { + @location(0) position: vec2, + @location(1) uv: vec2, + }; + + struct VertexOutput { + @builtin(position) position: vec4, + @location(0) uv: vec2, + }; + + @group(0) @binding(2) var camera: Camera; + + @vertex + fn main(input: VertexInput) -> VertexOutput { + var output: VertexOutput; + + let zoomed_position = input.position * camera.zoom; + let panned_position = zoomed_position + camera.pan; + + // Convert from world pixel coordinates to GPU clip space (-1.0 to 1.0) + let zero_to_two = panned_position / camera.screen_dimensions * 2.0; + let shifted = zero_to_two - vec2(1.0, 1.0); + + output.position = vec4(shifted.x, -shifted.y, 0.0, 1.0); // Flip Y + output.uv = input.uv; + return output; + } + "}) + + shader-module-vertex (.createShaderModule device vertex-shader-with-camera) + shader-module-fragment (.createShaderModule device text-fragment-shader) ; Your existing fragment shader + + + ;; STEP 5: CREATE THE ENTIRE RENDER PIPELINE (The most expensive "one-time" step) + bind-group-layout (.createBindGroupLayout + device + (clj->js {:label "bind group layout" + :entries [{:binding 0 + :visibility js/GPUShaderStage.FRAGMENT + :sampler {:type "filtering"}} + {:binding 1 + :visibility js/GPUShaderStage.FRAGMENT + :texture {:sampleType "float"}} + {:binding 2 + :visibility js/GPUShaderStage.VERTEX + :buffer {:type "uniform"}} + {:binding 3 ; Sizes Uniform + :visibility js/GPUShaderStage.FRAGMENT + :buffer {:type "uniform"}}]})) + + pipeline-layout (.createPipelineLayout device (clj->js {:bindGroupLayouts [bind-group-layout]})) + + pipeline (.createRenderPipeline device + (clj->js {:layout pipeline-layout + :vertex {:module shader-module-vertex + :entryPoint "main" + :buffers (clj->js [{:arrayStride (* 4 4) + :attributes (clj->js + [{:shaderLocation 0 :offset 0 :format "float32x2"} + {:shaderLocation 1 :offset 8 :format "float32x2"}])}])} + :fragment (clj->js + {:module shader-module-fragment + :entryPoint "main" + :targets (clj->js + [{:format fformat + :blend (clj->js {:color (clj->js {:srcFactor "src-alpha" + :dstFactor "one-minus-src-alpha"}) + :alpha (clj->js {:srcFactor "src-alpha" + :dstFactor "one-minus-src-alpha"})})}])})})) + + ;; STEP 6: CREATE THE BIND GROUP (Connects our resources together) + bind-group (.createBindGroup device + (clj->js {:layout bind-group-layout + :entries [{:binding 0, :resource sampler} + {:binding 1, :resource (.createView texture)} + {:binding 2, :resource {:buffer camera-uniform-buffer}} + {:binding 3, :resource {:buffer sizes-uniform-buffer}}]}))] + + ;; STEP 7: RETURN ALL THE REUSABLE GPU OBJECTS IN A MAP + (println "DONE WITH SETUP") + {:pipeline pipeline + :bind-group bind-group + :camera-uniform-buffer camera-uniform-buffer + :num-indices num-indices + :vertex-buffer vertex-buffer + :index-buffer index-buffer})) + + +;; --- The new, fast drawing function --- +(defn draw-text [^js/GPUDevice device ^js/GPUCanvasContext context renderer camera-state] + ;; `renderer` is the map we got from `setup-text-renderer` + ;; `camera-state` is a map like {:pan-x 10, :pan-y 20, :zoom 1.5, :width 800, :height 600} + + (println "DRAW TEXT: ") + (cljs.pprint/pprint renderer) + (cljs.pprint/pprint camera-state) + + ;; STEP 1: UPDATE THE SMALL UNIFORM BUFFER (Very fast) + (let [camera-array (js/Float32Array. + (clj->js [(:pan-x camera-state) + (:pan-y camera-state) + (:zoom camera-state) + 0.0 ; Padding + (:width camera-state) + (:height camera-state)]))] + ;; We only write 24 bytes of data each frame, not megabytes! + (.writeBuffer (.-queue device) (:camera-uniform-buffer renderer) 0 camera-array) + (println "wrote buffer")) + ;; STEP 2: CREATE ENCODER AND RENDER PASS + (let [encoder (.createCommandEncoder device) + ;; NOTE: loadOp is "load" so we draw ON TOP of whatever was there before (like your rectangles) + render-pass (.beginRenderPass encoder + (clj->js {:colorAttachments [{:view (.createView (.getCurrentTexture context)) + :loadOp "load" + :storeOp "store"}]}))] + + ;; STEP 3: ISSUE DRAW COMMANDS USING THE PRE-BUILT OBJECTS + (.setPipeline render-pass (:pipeline renderer)) + (.setBindGroup render-pass 0 (:bind-group renderer)) + (println "pipeline and bindgroup set") + + ;; We don't need to set the vertex/index buffers because they are part of the pipeline state in this setup + ;; (This can vary based on exact pipeline setup, but often they are set with the pipeline) + ;; If you need to set them explicitly: + (.setVertexBuffer render-pass 0 (:vertex-buffer renderer)) + (.setIndexBuffer render-pass (:index-buffer renderer) "uint16") + + (.drawIndexed render-pass (:num-indices renderer)) + + (.end render-pass) + (println "done render pass") + (.submit (.-queue device) [(.finish encoder)]))) + +(defn render-text [^js/GPUDevice device format ^js/GPUCanvasContext context px-range font-size atlas font-bitmap texts] + (println "webgpu render text ") (let [sizes (js/Float32Array. (clj->js [px-range (:size (:atlas atlas)) font-size])) shaped-texts (shape-text texts font-size atlas) ; _ (println "shaped texts" shaped-texts) @@ -102,11 +324,11 @@ ;_ (println 'vertex-data vertex-data) ;_ (println 'index-data index-data) num-indices (.-length index-data) - shader-module-vertex (.createShaderModule - device + shader-module-vertex (.createShaderModule + device text-vertex-shader) shader-module-fragment (.createShaderModule - device + device text-fragment-shader) vertex-buffer (.createBuffer device (clj->js {:size (.-byteLength vertex-data) @@ -116,10 +338,10 @@ (clj->js {:size (.-byteLength index-data) :usage (bit-or js/GPUBufferUsage.INDEX js/GPUBufferUsage.COPY_DST)})) - size-buffer (.createBuffer - device + size-buffer (.createBuffer + device (clj->js {:size (.-byteLength sizes) - :usage (bit-or js/GPUBufferUsage.UNIFORM + :usage (bit-or js/GPUBufferUsage.UNIFORM js/GPUBufferUsage.COPY_DST)})) bitmap-height (.-height font-bitmap) bitmap-width (.-width font-bitmap) @@ -145,10 +367,10 @@ {:binding 1 :visibility js/GPUShaderStage.FRAGMENT :texture {:sampleType "float"}} - {:binding 2 + {:binding 2 :visibility js/GPUShaderStage.FRAGMENT :buffer {:type "uniform"}}]})) - + bind-group (.createBindGroup device (clj->js {:layout bind-group-layout :entries (clj->js @@ -156,11 +378,11 @@ :resource sampler} {:binding 1 :resource texture-view} - {:binding 2 + {:binding 2 :resource {:buffer size-buffer}}])})) ;_ (println "bind group done") pipeline-layout (.createPipelineLayout - device + device (clj->js {:label "pipeline layout" :bindGroupLayouts [bind-group-layout]})) pipeline (.createRenderPipeline device @@ -171,23 +393,23 @@ :attributes (clj->js [{:shaderLocation 0 :offset 0 :format "float32x2"} {:shaderLocation 1 :offset 8 :format "float32x2"}])}])} - :fragment (clj->js + :fragment (clj->js {:module shader-module-fragment :entryPoint "main" - :targets (clj->js + :targets (clj->js [{:format format :blend (clj->js {:color (clj->js {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"}) :alpha (clj->js {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"})})}])})})) - + encoder (.createCommandEncoder device) bbg {:r 0.0 :g 0.0 :b 0.0 :a 1.0} wbg {:r 1.0 :g 1.0 :b 1.0 :a 1.0} render-pass (.beginRenderPass encoder - (clj->js {:colorAttachments + (clj->js {:colorAttachments (clj->js [{:view (.createView (.getCurrentTexture context)) :loadOp "load" :storeOp "store"}]) @@ -218,14 +440,12 @@ (.drawIndexed render-pass num-indices) (.end render-pass) (.submit (.-queue device) [(.finish encoder)]))) - - -(defn render-rect [from data device fformat context config ids] + + +(defn render-rect [from data ^js/GPUDevice device fformat ^js/GPUCanvasContext context config ids] ;(println 'uplaod-vertices data ":::::::" ids) - (println 'config config) - (let [varray (js/Float32Array. (clj->js data)) ids-array (js/Uint32Array. (clj->js ids)) ;_ (println "IDS ARRAY" ids-array) @@ -344,10 +564,10 @@ :entryPoint "renderVerticesFragment" :targets (clj->js [{:format fformat - :blend (clj->js {:color (clj->js {:srcFactor "src-alpha" - :dstFactor "one-minus-src-alpha"}) - :alpha (clj->js {:srcFactor "src-alpha" - :dstFactor "one-minus-src-alpha"})})}])})}))] + #_#_:blend (clj->js {:color (clj->js {:srcFactor "src-alpha" + :dstFactor "one-minus-src-alpha"}) + :alpha (clj->js {:srcFactor "src-alpha" + :dstFactor "one-minus-src-alpha"})})}])})}))] #_(-> (.getCompilationInfo shader-module) (.then (fn [info] (js/console.log "compute shader info:" info)))) diff --git a/src/app/client/webgpu/editor.cljs b/src/app/client/webgpu/editor.cljs new file mode 100644 index 0000000..85c8f7f --- /dev/null +++ b/src/app/client/webgpu/editor.cljs @@ -0,0 +1,318 @@ +(ns app.client.webgpu.editor) + +;; --- 1. SHADERS (Unchanged) --- +(def rect-vertex-shader " + struct Camera { pan: vec2, zoom: f32, padding: f32, screen_dimensions: vec2, }; + @group(0) @binding(0) var camera: Camera; + struct InstanceInput { @location(0) rect_geometry: vec4, @location(1) color: vec4, }; + struct VertexOutput { @builtin(position) position: vec4, @location(0) color: vec4, }; + + @vertex + fn main(@builtin(vertex_index) v_index: u32, instance: InstanceInput) -> VertexOutput { + var output: VertexOutput; + var pos = vec2(0.0, 0.0); + switch(v_index) { + case 0u: { pos = vec2(0.0, 0.0); } case 1u: { pos = vec2(1.0, 0.0); } + case 2u: { pos = vec2(0.0, 1.0); } case 3u: { pos = vec2(1.0, 0.0); } + case 4u: { pos = vec2(1.0, 1.0); } default: { pos = vec2(0.0, 1.0); } + } + let world_pos = vec2(instance.rect_geometry.x + (pos.x * instance.rect_geometry.z), + instance.rect_geometry.y + (pos.y * instance.rect_geometry.w)); + let panned = (world_pos * camera.zoom) + camera.pan; + let ndc = (panned / camera.screen_dimensions * 2.0) - vec2(1.0, 1.0); + output.position = vec4(ndc.x, -ndc.y, 0.0, 1.0); + output.color = instance.color; + return output; + }") + +(def rect-fragment-shader " + @fragment fn main(@location(0) color: vec4) -> @location(0) vec4 { return color; }") + +(def text-vertex-shader " + struct Camera { pan: vec2, zoom: f32, padding: f32, screen_dimensions: vec2, }; + @group(0) @binding(2) var camera: Camera; + struct InstanceInput { @location(0) rect: vec4, @location(1) uv_bounds: vec4, }; + struct VertexOutput { @builtin(position) position: vec4, @location(0) uv: vec2, @location(1) v_visual_size: f32, }; + + @vertex + fn main(@builtin(vertex_index) v_index: u32, instance: InstanceInput) -> VertexOutput { + var output: VertexOutput; + var pos = vec2(0.0, 0.0); + switch(v_index) { + case 0u: { pos = vec2(0.0, 0.0); } case 1u: { pos = vec2(1.0, 0.0); } + case 2u: { pos = vec2(0.0, 1.0); } case 3u: { pos = vec2(1.0, 0.0); } + case 4u: { pos = vec2(1.0, 1.0); } default: { pos = vec2(0.0, 1.0); } + } + let world_pos = vec2(instance.rect.x + (pos.x * instance.rect.z), + instance.rect.y + (pos.y * instance.rect.w)); + let u = mix(instance.uv_bounds.x, instance.uv_bounds.z, pos.x); + let v = mix(instance.uv_bounds.y, instance.uv_bounds.w, pos.y); + let panned = (world_pos * camera.zoom) + camera.pan; + let ndc = (panned / camera.screen_dimensions * 2.0) - vec2(1.0, 1.0); + output.position = vec4(ndc.x, -ndc.y, 0.0, 1.0); + output.uv = vec2(u, v); + output.v_visual_size = max(instance.rect.z, instance.rect.w) * camera.zoom; + return output; + }") + +(def text-fragment-shader " + @group(0) @binding(0) var sampler0: sampler; + @group(0) @binding(1) var texture0: texture_2d; + struct Sizing { pxRange: f32, atlasEmSize: f32, color_r: f32, color_g: f32, color_b: f32, padding: f32, }; + @group(0) @binding(3) var params: Sizing; + fn median(a: f32, b: f32, c: f32) -> f32 { return max(min(a, b), min(max(a, b), c)); } + + @fragment + fn main(@location(0) uv: vec2, @location(1) visual_size: f32) -> @location(0) vec4 { + let msd = textureSample(texture0, sampler0, uv).rgb; + let sd = median(msd.r, msd.g, msd.b); + let screenPxRange = params.pxRange * (visual_size / params.atlasEmSize); + let size_factor = clamp(1.0 - (visual_size / 24.0), 0.0, 1.0); + let dist = sd - 0.5 + (size_factor * 0.2); + let opacity = clamp(dist * screenPxRange + 0.5, 0.0, 1.0); + return vec4(params.color_r, params.color_g, params.color_b, opacity); + }") + +;; --- 2. INITIALIZATION --- + +(defn init-rect-system [^js/GPUDevice device fformat camera-buffer & {:keys [initial-capacity] :or {initial-capacity 1000}}] + (let [v-module (.createShaderModule device (clj->js {:code rect-vertex-shader})) + f-module (.createShaderModule device (clj->js {:code rect-fragment-shader})) + instance-buffer (.createBuffer device (clj->js {:size (* initial-capacity 32) :usage (bit-or js/GPUBufferUsage.VERTEX js/GPUBufferUsage.COPY_DST)})) + bg-layout (.createBindGroupLayout device (clj->js {:entries [{:binding 0 :visibility js/GPUShaderStage.VERTEX :buffer {:type "uniform"}}]})) + pipeline-layout (.createPipelineLayout device (clj->js {:bindGroupLayouts [bg-layout]})) + pipeline (.createRenderPipeline device (clj->js {:layout pipeline-layout + :vertex {:module v-module :entryPoint "main" + :buffers [{:arrayStride 32 :stepMode "instance" + :attributes [{:shaderLocation 0 :offset 0 :format "float32x4"} + {:shaderLocation 1 :offset 16 :format "float32x4"}]}]} + :fragment {:module f-module :entryPoint "main" + :targets [{:format fformat :blend {:color {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"} + :alpha {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"}}}]} + :primitive {:topology "triangle-list"}})) + bind-group (.createBindGroup device (clj->js {:layout bg-layout :entries [{:binding 0 :resource {:buffer camera-buffer}}]}))] + {:pipeline pipeline :bind-group bind-group :instance-buffer instance-buffer :num-instances 0})) + +(defn init-text-system [^js/GPUDevice device fformat atlas font-bitmap & {:keys [initial-capacity] :or {initial-capacity 10000}}] + (let [vertex-module (.createShaderModule device (clj->js {:code text-vertex-shader})) + fragment-module (.createShaderModule device (clj->js {:code text-fragment-shader})) + texture (.createTexture device (clj->js {:size {:width (.-width font-bitmap) :height (.-height font-bitmap) :depthOrArrayLayers 1} + :format "rgba8unorm" :usage (bit-or js/GPUTextureUsage.RENDER_ATTACHMENT js/GPUTextureUsage.TEXTURE_BINDING js/GPUTextureUsage.COPY_DST)})) + _ (.copyExternalImageToTexture (.-queue device) (clj->js {:source font-bitmap}) (clj->js {:texture texture}) (clj->js {:width (.-width font-bitmap) :height (.-height font-bitmap)})) + sampler (.createSampler device (clj->js {:minFilter "linear" :magFilter "linear" :mipmapFilter "linear"})) + instance-buffer (.createBuffer device (clj->js {:size (* initial-capacity 32) :usage (bit-or js/GPUBufferUsage.VERTEX js/GPUBufferUsage.COPY_DST)})) + camera-buffer (.createBuffer device (clj->js {:size 24 :usage (bit-or js/GPUBufferUsage.UNIFORM js/GPUBufferUsage.COPY_DST)})) + sizes-buffer (.createBuffer device (clj->js {:size 24 :usage (bit-or js/GPUBufferUsage.UNIFORM js/GPUBufferUsage.COPY_DST)})) + bg-layout (.createBindGroupLayout device (clj->js {:entries [{:binding 0 :visibility js/GPUShaderStage.FRAGMENT :sampler {:type "filtering"}} + {:binding 1 :visibility js/GPUShaderStage.FRAGMENT :texture {:sampleType "float"}} + {:binding 2 :visibility js/GPUShaderStage.VERTEX :buffer {:type "uniform"}} + {:binding 3 :visibility js/GPUShaderStage.FRAGMENT :buffer {:type "uniform"}}]})) + pipeline-layout (.createPipelineLayout device (clj->js {:bindGroupLayouts [bg-layout]})) + pipeline (.createRenderPipeline device (clj->js {:layout pipeline-layout + :vertex {:module vertex-module :entryPoint "main" + :buffers [{:arrayStride 32 :stepMode "instance" + :attributes [{:shaderLocation 0 :offset 0 :format "float32x4"} + {:shaderLocation 1 :offset 16 :format "float32x4"}]}]} + :fragment {:module fragment-module :entryPoint "main" + :targets [{:format fformat :blend {:color {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"} + :alpha {:srcFactor "src-alpha" :dstFactor "one-minus-src-alpha"}}}]} + :primitive {:topology "triangle-list"}})) + bind-group (.createBindGroup device (clj->js {:layout bg-layout + :entries [{:binding 0 :resource sampler} {:binding 1 :resource (.createView texture)} + {:binding 2 :resource {:buffer camera-buffer}} {:binding 3 :resource {:buffer sizes-buffer}}]}))] + {:pipeline pipeline :bind-group bind-group :camera-uniform-buffer camera-buffer :sizes-uniform-buffer sizes-buffer :instance-buffer instance-buffer :num-instances 0})) + +(defn create-editor-state [{:keys [device format atlas bitmap]}] + (let [text-sys (init-text-system device format atlas bitmap :initial-capacity 1000000) + rect-sys (init-rect-system device format (:camera-uniform-buffer text-sys) :initial-capacity 50000) + + ;; OPTIMIZATION 1: Pre-allocate the Camera Array + camera-floats (js/Float32Array. 6) + + ;; OPTIMIZATION 2: Pre-allocate the Render Pass Descriptor object + ;; We create the JS object ONCE. We will just swap the .view property later. + pass-descriptor (clj->js {:colorAttachments [{:view nil ;; Placeholder + :clearValue {:r 0.0 :g 0.0 :b 0.0 :a 0.0} + :loadOp "clear" + :storeOp "store"}]})] + + {:text-sys text-sys + :rect-sys rect-sys + ;; Store reusable objects in the state + :camera-floats camera-floats + :pass-descriptor pass-descriptor})) + +;; --- 3. UPDATES (CPU -> GPU) --- +(defn shape-text [texts global-fsize msdf-atlas] + (let [atlas (:atlas msdf-atlas) metrics (:metrics msdf-atlas) + glyphs (reduce (fn [acc glyph] (assoc acc (:unicode glyph) glyph)) {} (:glyphs msdf-atlas)) + atlas-w (or (:width atlas) 1) atlas-h (or (:height atlas) 1) line-h (or (:lineHeight metrics) 1.2) + res (atom [])] + (doseq [txt texts] + (let [{:keys [text x y]} txt + ;; FIX: Removed the (max ... 17.0) clamp. + ;; Now respects the actual font size passed in. + fsize (or (:size txt) global-fsize) + start-x x !x (atom x) !y (atom y)] + (doseq [ch (seq text)] + (let [code (.charCodeAt ch 0)] + (cond + (= ch \newline) (do (reset! !x start-x) (reset! !y (+ @!y (* fsize line-h)))) + (= ch \space) (swap! !x + (* fsize 0.25)) + :else (when-let [g (get glyphs code)] + (let [pb (:planeBounds g) + ab (:atlasBounds g) + advance (* fsize (or (:advance g) 0)) + sl (+ @!x (* fsize (or (:left pb) 0))) + sr (+ @!x (* fsize (or (:right pb) 0))) + st (- @!y (* fsize (or (:top pb) 0))) + sb (- @!y (* fsize (or (:bottom pb) 0))) + ul (/ (:left ab) atlas-w) + ur (/ (:right ab) atlas-w) + vt (- 1.0 (/ (:top ab) atlas-h)) + vb (- 1.0 (/ (:bottom ab) atlas-h))] + (swap! !x + advance) + (swap! res conj {:vertices [[sl sb ul vb fsize] [sr sb ur vb fsize] [sr st ur vt fsize] [sl st ul vt fsize]]})))))))) + @res)) + + +(defn update-text-data [^js/GPUDevice device renderer-state texts atlas font-size] + (let [ + shaped-lines (mapv (fn [tokens-in-line] + (let [quads (shape-text tokens-in-line font-size atlas)] + {:quads quads :count (count quads)})) + texts) + + total-instances (reduce + (map :count shaped-lines)) + total-instances (max total-instances 1) + data (js/Float32Array. (* total-instances 8)) + + line-offsets (loop [lines shaped-lines + current-idx 0 + offsets []] + (if (seq lines) + (let [cnt (:count (first lines))] + (recur (next lines) (+ current-idx cnt) (conj offsets current-idx))) + (vec offsets))) + + current-buffer (:instance-buffer renderer-state) + required-size (.-byteLength data) + current-size (.-size ^js current-buffer) + + needs-resize? (> required-size current-size) + + new-buffer (if needs-resize? + (do + (.destroy ^js current-buffer) + (.createBuffer device (clj->js {:size required-size + :usage (bit-or js/GPUBufferUsage.STORAGE + js/GPUBufferUsage.COPY_DST)}))) + current-buffer) + + new-bind-group (if needs-resize? + (.createBindGroup device + (clj->js {:layout (:bind-group-layout renderer-state) ;; Ensure this exists in state! + :entries [{:binding 0 + :resource {:buffer new-buffer}} + {:binding 1 + :resource {:buffer (:sizes-uniform-buffer renderer-state)}}]})) + (:bind-group renderer-state))] + + (loop [lines shaped-lines global-i 0] + (when (seq lines) + (let [quads (:quads (first lines))] + (loop [q quads sub-i 0] + (when (seq q) + (let [verts (:vertices (first q)) + v-tl (nth verts 3) v-br (nth verts 1) + [tl_x tl_y u_min v_min _] v-tl [br_x br_y u_max v_max _] v-br + base (* (+ global-i sub-i) 8)] + (aset data (+ base 0) tl_x) (aset data (+ base 1) tl_y) + (aset data (+ base 2) (- br_x tl_x)) (aset data (+ base 3) (- br_y tl_y)) + (aset data (+ base 4) u_min) (aset data (+ base 5) v_min) + (aset data (+ base 6) u_max) (aset data (+ base 7) v_max) + (recur (next q) (inc sub-i))))) + (recur (next lines) (+ global-i (:count (first lines))))))) + + (.writeBuffer (.-queue device) new-buffer 0 data) + + (let [sizes (js/Float32Array. #js [8.0 64.0 1.0 1.0 1.0 0.0])] + (.writeBuffer (.-queue device) (:sizes-uniform-buffer renderer-state) 0 sizes)) + + (assoc renderer-state + :instance-buffer new-buffer + :bind-group new-bind-group + :num-instances total-instances + :line-offsets line-offsets + :line-height (* font-size 1.2)))) + + +(defn update-rects [^js device rect-system rects] + (let [count (count rects) data (js/Float32Array. (* count 8))] + (loop [i 0 rs rects] + (when (seq rs) + (let [{:keys [x y w h r g b a]} (first rs) base (* i 8)] + (aset data (+ base 0) x) (aset data (+ base 1) y) + (aset data (+ base 2) w) (aset data (+ base 3) h) + (aset data (+ base 4) r) (aset data (+ base 5) g) + (aset data (+ base 6) b) (aset data (+ base 7) a) + (recur (inc i) (next rs))))) + (.writeBuffer (.-queue device) (:instance-buffer rect-system) 0 data) + (assoc rect-system :num-instances count))) + + +(defn update-camera [^js device camera-buffer ^js floats pan-x pan-y zoom w h] + (aset floats 0 pan-x) + (aset floats 1 pan-y) + (aset floats 2 zoom) + (aset floats 3 0.0) + (aset floats 4 w) + (aset floats 5 h) + (.writeBuffer (.-queue device) camera-buffer 0 floats)) + + +(defn draw-frame! [^js device ^js context text-sys rect-sys camera-floats _ignored_pass_descriptor pan-x pan-y w h] + (update-camera device (:camera-uniform-buffer text-sys) camera-floats pan-x pan-y 1.0 w h) + + (let [encoder (.createCommandEncoder device) + texture (.getCurrentTexture context) + view (.createView texture) + + pass-descriptor (clj->js + {:colorAttachments [{:view view + :clearValue {:r 0.0 :g 0.0 :b 0.0 :a 1.0} + :loadOp "clear" + :storeOp "store"}]}) + + pass (.beginRenderPass encoder pass-descriptor)] + + (when (and rect-sys (> (:num-instances rect-sys) 0)) + (.setPipeline pass (:pipeline rect-sys)) + (.setBindGroup pass 0 (:bind-group rect-sys)) + (.setVertexBuffer pass 0 (:instance-buffer rect-sys)) + (.draw pass 6 (:num-instances rect-sys))) + + (when (and text-sys (> (:num-instances text-sys) 0)) + (.setPipeline pass (:pipeline text-sys)) + (.setBindGroup pass 0 (:bind-group text-sys)) + (.setVertexBuffer pass 0 (:instance-buffer text-sys)) + + (let [line-offsets (:line-offsets text-sys) + line-h (:line-height text-sys) + total-lines (count line-offsets) + + scroll-y (- pan-y) + start-line (max 0 (Math/floor (/ scroll-y line-h))) + end-line (min total-lines (+ (Math/ceil (/ (+ scroll-y h) line-h)) 2))] + + (when (< start-line end-line) + (let [start-inst (nth line-offsets start-line) + end-inst (if (< end-line total-lines) + (nth line-offsets end-line) + (:num-instances text-sys)) + draw-count (- end-inst start-inst)] + + (.draw pass 6 draw-count 0 start-inst))))) + + (.end pass) + (.submit (.-queue device) #js [(.finish encoder)]))) diff --git a/src/app/client/webgpu/loop.cljs b/src/app/client/webgpu/loop.cljs new file mode 100644 index 0000000..5bb2301 --- /dev/null +++ b/src/app/client/webgpu/loop.cljs @@ -0,0 +1,103 @@ +(ns app.client.webgpu.loop + (:require [hyperfiddle.electric3 :as e] + [hyperfiddle.electric-dom3 :as dom] + [missionary.core :as m] + [contrib.missionary-contrib :as mx] + [app.client.webgpu.editor :as editor])) + +(defn > (m/observe + (fn [!] + (let [handler (fn [] + (! {:width js/window.innerWidth + :height js/window.innerHeight + :dpr (or js/window.devicePixelRatio 1)}))] + (js/window.addEventListener "resize" handler) + (handler) + #(js/window.removeEventListener "resize" handler)))) + (m/relieve (fn [_old new] new)))) + +(defn >wheel-deltas [node] + (m/observe + (fn [!] + (let [handler (fn [e] + (.preventDefault e) + (! (.-deltaY e)))] + (.addEventListener node "wheel" handler #js {:passive false}) + #(.removeEventListener node "wheel" handler))))) + +(defn >user-input-deltas [node] + (m/observe + (fn [!] + (let [dragging? (volatile! false) + down-h (fn [e] (vreset! dragging? true)) + up-h (fn [e] (vreset! dragging? false)) + move-h (fn [e] + (when @dragging? + (! (- (.-movementY e)))))] + + (.addEventListener node "mousedown" down-h) + (.addEventListener js/window "mouseup" up-h) + (.addEventListener js/window "mousemove" move-h) + + (fn [] + (.removeEventListener node "mousedown" down-h) + (.removeEventListener js/window "mouseup" up-h) + (.removeEventListener js/window "mousemove" move-h)))))) + +(def >raf + (m/observe + (fn [!] + (let [active? (volatile! true) + callback (fn loop [t] + (when @active? + (! t) + (js/requestAnimationFrame loop)))] + (js/requestAnimationFrame callback) + #(vreset! active? false))))) + +(defn start-loop! [node device ctx geometry] + + (let [initial-state {:scroll-y 0 + :width (.-innerWidth js/window) + :height (.-innerHeight js/window) + :dpr (or (.-devicePixelRatio js/window) 1)} + !state (atom initial-state) + wheel-deltas (->> (>wheel-deltas node) (m/relieve +)) + input-deltas (->> (>user-input-deltas node) (m/relieve +)) + window-metrics (> (mx/mix + (m/eduction + (map (fn [{:keys [width height dpr] :as m}] + (set! (.-width node) (Math/floor (* width dpr))) + (set! (.-height node) (Math/floor (* height dpr))) + [:resize m])) + window-metrics) + + (m/eduction (map (fn [x] [:input x])) wheel-deltas) + (m/eduction (map (fn [x] [:input x])) input-deltas)) + + (m/reduce + (fn [_ [type value]] + (swap! !state + (fn [state] + (case type + :resize (merge state value) + :input (update state :scroll-y + value))))) + nil)) + + (m/reduce + (fn [_ state] + (editor/draw-frame! device ctx + (:text geometry) (:rect geometry) + (:camera-floats (:pipelines geometry)) + (:pass-descriptor (:pipelines geometry)) + 0 (- (:scroll-y state)) (:width state) (:height state)) + nil) + nil + (->> (m/sample (fn [s _t] s) (m/watch !state) >raf) + (m/eduction (dedupe)))) + ))) diff --git a/src/app/client/webgpu/shader.cljs b/src/app/client/webgpu/shader.cljs index 72fee9a..1f4506f 100644 --- a/src/app/client/webgpu/shader.cljs +++ b/src/app/client/webgpu/shader.cljs @@ -26,7 +26,7 @@ fn main(input: VertexInput) -> VertexOutput { var output: VertexOutput; output.position = vec4(input.position, 0.0, 1.0); - output.uv = input.uv; +output.uv = vec2(1.0 - input.uv.x, input.uv.y); return output; } "})) @@ -40,7 +40,7 @@ @group(0) @binding(1) var texture0: texture_2d; - @group(0) @binding(2) var sizes:sizing; + @group(0) @binding(3) var sizes:sizing; struct sizing { pxRange: f32, @@ -68,7 +68,7 @@ let screenPxDistance = screenPxRange * (sd - 0.5); let opacity = clamp(screenPxDistance + 0.5, 0.0, 1.0); - let text = vec4(0.0, 0.0, 0.0, opacity); // Transparent background how?? + let text = vec4(1.0, 0.0, 0.0, opacity); // Transparent background how?? return text; } diff --git a/src/app/electric_flow.cljc b/src/app/electric_flow.cljc index 332b0da..bc772ee 100644 --- a/src/app/electric_flow.cljc +++ b/src/app/electric_flow.cljc @@ -1,353 +1,209 @@ (ns app.electric-flow - (:require [hyperfiddle.electric3 :as e] - [missionary.core :as m] + (:require [clojure.string :as str] + [hyperfiddle.electric3 :as e] [hyperfiddle.electric-dom3 :as dom] - [hyperfiddle.electric-svg3] - [hyperfiddle.incseq.mount-impl :refer [mount]] - [hyperfiddle.kvs :as kvs] - [hyperfiddle.domlike :as dl] - [hyperfiddle.incseq :as i] - #?@(:cljs [[app.client.webgpu.core :as wcore :refer [render-rect render-text]] - [global-flow :refer [await-promise - mouse-down?> - debounce - !canvas - !font-bitmap - global-client-flow - !adapter - !global-atom - !device - !context - !atlas-data - !command-encoder - !format - !all-rects - !width - !height - !canvas-y - !visible-rects - !dpr - !old-visible-rects - !canvas-x - !zoom-factor - !offset]] - [app.client.webgpu.data :refer [!rects]]]))) + #?@(:cljs [[app.client.webgpu.editor :as editor] + [app.client.webgpu.loop :as loop] + [global-flow :refer [await-promise]] + ["@lezer/lr" :as lr] + ["@nextjournal/lezer-clojure" :as clj-parser]]))) +(def source-code + #?(:clj (slurp "src/app/electric_flow.cljc") + :cljs nil)) -(hyperfiddle.rcf/enable!) +#?(:clj (defn init-lezer-parser! [] nil)) - -(e/declare canvas) -(e/declare squares) -(e/declare adapter) -(e/declare device) -(e/declare context) -(e/declare format) -(e/declare command-encoder) -(e/declare all-rects) -(e/declare width) -(e/declare height) -(e/declare canvas-y) -(e/declare canvas-x) -(e/declare offset) -(e/declare zoom-factor) -(e/declare rect-ids) -(e/declare visible-rects) -(e/declare old-visible-rects) -(e/declare data-spine) -(e/declare global-atom) -(e/declare font-bitmap) -(e/declare atlas-data) -(e/declare dpr) - - -(defn create-random-rects [rects ch cw] - (let [res (atom {})] - ;(println "RAND" @res rc ch cw) - (doseq [i rects] - (let [height (+ 20.0 (rand-int 60)) - width (+ 145.0 (rand-int 60)) - y (+ 0.1 (rand-int ch)) - x (+ 0.1 (rand-int cw))] - ;(js/console.log "xx" x y) - ;(println i 'Create-random-rects (keyword (str i)) [x y height width]) - (swap! res assoc (keyword (str i)) [x y height width]))) - (println "all RECTS" @res) - res)) - -#?(:cljs (defn format-float [inp] - (js/Number (.toFixed inp 3)))) - -#?(:cljs (defn clip-x [x w] (- (* 2 (/ x w)) 1))) -#?(:cljs (defn clip-y [y h] (- 1 (* 2 (/ y h))))) - -(e/defn Setup-webgpu [] - (e/client - (when (some? canvas) - (js/console.log canvas) - (let [context (.getContext canvas "webgpu" (clj->js {:alpha true})) - gpu js/navigator.gpu - adapter (e/Task (await-promise (.requestAdapter gpu (clj->js {:requiredFeatures ["validation"]})))) - device (e/Task (await-promise (.requestDevice adapter))) - cformat (.getPreferredCanvasFormat gpu) - config (clj->js {:format cformat - :device device})] - (.configure context config) - (reset! !adapter adapter) - (reset! !device device) - (reset! !context context) - (reset! !format cformat))))) - - - -(e/defn Mouse-down-cords [node] (e/input (mouse-down?> node))) - - -(e/defn Add-panning [] - (when-some [[start-x start-y] (Mouse-down-cords canvas)] - (let [[off-x off-y] (e/snapshot offset)] - (dom/On "mousemove" - (fn [e] - (.preventDefault e) - (let [end-x (.-clientX e) - end-y (.-clientY e) - new-pan-x (+ off-x (* dpr (- end-x start-x))) - new-pan-y (+ off-y (* dpr (- end-y start-y)))] - (reset! !offset [new-pan-x new-pan-y]) - [new-pan-x new-pan-y])) - "")))) - - - -(e/defn Add-wheel [] - (dom/On "wheel" - (fn [e] (.preventDefault e) - (let [delta (.-deltaY e) - rect (.getBoundingClientRect (.-target e)) - cursor-x (* dpr (- (.-clientX e) (.-left rect))) - cursor-y (* dpr (- (.-clientY e) (.-top rect))) - scale (if (< delta 0) 1.02 0.98) - new-zoom (* zoom-factor scale) - [off-x off-y] offset - pan-zoom (- 1 scale) - current-pan-x (* (- cursor-x off-x) pan-zoom) - current-pan-y (* (- cursor-y off-y) pan-zoom) - total-pan-x (+ off-x current-pan-x) - total-pan-y (+ off-y current-pan-y)] - (println "Wheel" total-pan-x total-pan-y new-zoom 1) - (reset! !offset [total-pan-x total-pan-y]) - (reset! !zoom-factor new-zoom))) - nil - {:passive false})) - - -(e/defn Render-with-webgpu [] - (let [[spend e] (e/Token offset) - dv (e/snapshot device) - con (e/snapshot context) - fmat (e/snapshot format)] - (when (and (some? atlas-data) - (some? device) - (some? font-bitmap) - (some? context) - (some? format)) - (when (some? spend) - (let [rects-data (flatten (into [] (vals all-rects))) - rects-ids (into [] (keys all-rects)) - [cx cy] offset - [off-x off-y] (spend (e/Task (m/sleep 25 offset))) - rx (e/amb cx off-x) - ry (e/amb cy off-y) - texts (reduce - (fn [acc [id data]] - (let [[x y dh dw] data - - left (clip-x - (+ (* (+ 7 x) zoom-factor) off-x) - width) - top (clip-y - (+ (* (+ 7 y) zoom-factor) off-y) - height)] - (conj acc {:x left - :y top - :text (str (name id))}))) - [] - all-rects) - zof (max 17 (* (/ 1 zoom-factor) 14))] - (render-rect - "zoom" - rects-data - dv - fmat - con - [width height rx ry zoom-factor] - rects-ids) - (render-text - dv - fmat - con - 16 - zof - atlas-data - font-bitmap - texts)))))) - - -(e/defn Tap-diffs - ([f! x] - (f! (e/input (e/pure x))) - x) - ([x] (Tap-diffs prn x))) - - - -(e/defn On-node-add [id] - (when-some [[x y h w] (id all-rects)] - ((fn [] - (let [gx (-> global-atom :cords first) - gy (-> global-atom :cords second) - [ox oy zf] offset - cgx (- (clip-x gx width) ox) - cgy (- (clip-y gy height) oy) - cl (clip-x x width) - cr (clip-x (+ x w) width) - ct (clip-y y height) - cb (clip-y (+ y h) height) - zff (or zf zoom-factor) - clicked? (and (<= cgx cr) (>= cgx cl) - (<= cgy ct) (>= cgy cb))] - (println - id - gx gy - zoom-factor - offset - ":R:" - [x y h w] - (format-float (+ ox (* zff cl))) - (format-float (+ oy (* zff ct))))))))) - -(e/defn Canvas-view [] - (e/client - (dom/canvas - (dom/props {:id "top-canvas" - :height height - :width width - :style {:height (str (/ height dpr) "px") - :width (str (/ width dpr) "px")}}) - (reset! !canvas dom/node) - (Render-with-webgpu) - - (when-some [down (Mouse-down-cords dom/node)] - (println "DOWN") - (reset! !global-atom {:cords down})) - #_(e/for-by identity [node (e/as-vec (e/input (e/join (i/items data-spine))))] - - (println node global-atom) - #_(On-node-add node)) - #_(println "NEW SPINE" - (count visible-rects) - (e/input (i/count data-spine)) - visible-rects - (e/as-vec (e/input (e/join (i/items data-spine))))) - (let [mount-items (mount - (fn [element child] (do - (data-spine - child - (fn [_ new] - (keyword (str new))) - child) - (.push element child) - element)) - (fn [element child previous] (do - (let [idx (.indexOf element previous)] - (when (>= idx 0) - (aset element idx child))) - element)) - (fn [element child sibling] (do - (let [idx (.indexOf element sibling)] - (if (>= idx 0) - (.splice element idx 0 child) - (.push element child))) - element)) - (fn [element child] (do - (data-spine - child - (fn [_ new] - (keyword (str new))) - nil) - (let [idx (.indexOf element child)] - (when (>= idx 0) - (.splice element idx 1))) - element)) - (fn [element i] (do - (aget element i)))) - - diff (e/input (e/pure (e/diff-by identity visible-rects)))] - - ((fn [] (when (some? diff) - (mount-items (object-array @!old-visible-rects) diff)))))))) - - - -#?(:cljs (defn load-bitmap-file [] - (println "Load bitmap file") - (-> (js/fetch "/font_atlas.png") - (.then #(.blob %)) - (.then #(js/createImageBitmap %)) - (.then (fn [img] - (reset! !font-bitmap img)))))) - #?(:cljs - (defn read-json-file [] - (-> (js/fetch "/font_atlas.json") - (.then (fn [response] - (.json response))) - (.then (fn [data] - (reset! !atlas-data (js->clj data :keywordize-keys true))))))) + (do + (def lezer-parser (atom nil)) + + (defn init-lezer-parser! [] + (when-not @lezer-parser + (reset! lezer-parser (.-parser clj-parser)))) + + (def macro-symbols + #{"defn" "def" "defmacro" "defn-" "defonce" "defmulti" "defmethod" "defprotocol" "defrecord" "deftype" + "let" "fn" "if" "if-let" "if-some" "do" "ns" "when" "when-let" "when-some" "when-not" "when-first" + "cond" "condp" "case" "loop" "recur" "for" "doseq" "dotimes" "while" + "try" "catch" "finally" "throw" "assert" + "binding" "with-open" "with-local-vars" "with-redefs" + "require" "import" "use" "refer" "in-ns" + "->" "->>" "as->" "some->" "some->>" "cond->" "cond->>" + "and" "or" "not" + "lazy-seq" "delay" "future" "promise" + "e/defn" "e/client" "e/server" "e/fn" "dom/on"}) + + (defn classify-token [node-name text] + (cond + (= node-name "LineComment") :comment + (or (= node-name "String") (= node-name "RegExp")) :string + (= node-name "Character") :character + (= node-name "Keyword") :keyword + (= node-name "Number") :number + (or (= node-name "Boolean") (= node-name "BooleanLiteral")) :boolean + (= node-name "Nil") :nil + (contains? #{"(" ")" "[" "]" "{" "}"} text) :delimiter + (contains? macro-symbols text) :macro + :else :text)) + + (def container-node-types + #{"Program" "List" "Vector" "Map" "Set" "Meta" "Deref" "Quote" + "SyntaxQuote" "Unquote" "UnquoteSplice" "Anon" "Regex" + "VarQuote" "Discard" "NamespacedMap" "ReaderConditional"}) + + (defn extract-tokens-from-syntax-tree [tree text] + (let [tokens (atom [])] + (.. ^js tree + (iterate #js {:enter (fn [node] + (let [node-name (.-name ^js (.-type ^js node)) + from (.-from ^js node) + to (.-to ^js node) + node-text (.substring text from to)] + (when (and (not (contains? container-node-types node-name)) + (or (= node-name "String") + (= node-name "LineComment") + (not (re-find #"\s" node-text))) + (not (str/blank? node-text)) + (> (count node-text) 0)) + (swap! tokens conj {:text node-text + :type (classify-token node-name node-text) + :from from + :to to}))))})) + @tokens)) + + (defn tokenize-line [line-text] + (if (or (empty? line-text) (not @lezer-parser)) + [] + (let [tree (.parse ^js @lezer-parser line-text)] + (extract-tokens-from-syntax-tree tree line-text)))))) + +(def jvm-macro-symbols + #{"defn" "def" "defmacro" "defn-" "defonce" "defmulti" "defmethod" "defprotocol" "defrecord" "deftype" + "let" "fn" "if" "if-let" "if-some" "do" "ns" "when" "when-let" "when-some" "when-not" "when-first" + "cond" "condp" "case" "loop" "recur" "for" "doseq" "dotimes" "while" + "try" "catch" "finally" "throw" "assert" + "binding" "with-open" "with-local-vars" "with-redefs" + "require" "import" "use" "refer" "in-ns" + "->" "->>" "as->" "some->" "some->>" "cond->" "cond->>" + "and" "or" "not" + "lazy-seq" "delay" "future" "promise" + "e/defn" "e/client" "e/server" "e/fn" "dom/on"}) + +#?(:clj + (defn tokenize-line [line-text] + (if (empty? line-text) + [] + (let [pattern #";.*|:[^ \[\]\(\)\s]+|[\(\)\[\]\{\}]|\"[^\"]*\"|\s+|[^ ;:\[\]\(\)\{\}\"\s]+" + matches (re-seq pattern line-text)] + (loop [tokens [] + pos 0 + [m & rest-matches] matches] + (if (nil? m) + tokens + (let [match-start (.indexOf line-text m pos) + match-end (+ match-start (count m)) + token {:text m + :from match-start + :to match-end + :type (cond + (str/starts-with? m ";") :comment + (str/starts-with? m ":") :keyword + (str/starts-with? m "\"") :string + (str/blank? m) :whitespace + (contains? #{"(" ")" "[" "]" "{" "}"} m) :delimiter + (contains? jvm-macro-symbols m) :macro + :else :text)}] + (if (= :whitespace (:type token)) + (recur tokens match-end rest-matches) + (recur (conj tokens token) match-end rest-matches))))))))) + +(def theme + {:keyword {:r 0.8 :g 0.4 :b 0.8 :a 1.0} + :macro {:r 0.3 :g 0.6 :b 1.0 :a 1.0} + :string {:r 0.6 :g 0.8 :b 0.4 :a 1.0} + :comment {:r 0.5 :g 0.5 :b 0.5 :a 1.0} + :delimiter {:r 1.0 :g 1.0 :b 1.0 :a 0.6} + :number {:r 1.0 :g 0.6 :b 0.3 :a 1.0} + :character {:r 0.9 :g 0.7 :b 0.4 :a 1.0} + :boolean {:r 0.7 :g 0.3 :b 0.9 :a 1.0} + :nil {:r 0.8 :g 0.3 :b 0.3 :a 1.0} + :text {:r 0.9 :g 0.9 :b 0.9 :a 1.0}}) + +(defn get-color [type] (get theme type (:text theme))) + +(defn layout-tokens [lines-of-tokens start-x start-y font-size] + (let [char-width (* font-size 0.6)] + (:render-ops + (reduce (fn [acc tokens] + (let [line-y (:current-y acc) + line-ops (mapv (fn [token] + (let [color (get-color (:type token))] + (merge token color + ;; Use :from position for correct x placement + {:x (+ start-x (* (or (:from token) 0) char-width)) + :y line-y + :size font-size}))) + tokens)] + {:current-y (+ line-y (* font-size 1.2)) + :render-ops (conj (:render-ops acc) line-ops)})) + {:current-y start-y :render-ops []} + lines-of-tokens)))) +#?(:cljs + (defn load-resources-async [] + (js/Promise.all + #js [(-> (js/fetch "/font_atlas.png") (.then #(.blob %)) (.then #(js/createImageBitmap %))) + (-> (js/fetch "/font_atlas.json") (.then #(.json %)) (.then #(js->clj % :keywordize-keys true)))]))) -(e/defn main [ring-request] +(e/defn LoadWebGPU [] + (e/client + (let [raw (e/Task (await-promise (load-resources-async)))] + (when raw + (let [bitmap (aget raw 0) + atlas (aget raw 1) + gpu js/navigator.gpu + adapter (e/Task (await-promise (.requestAdapter ^js gpu))) + device (e/Task (await-promise (.requestDevice ^js adapter))) + format (.getPreferredCanvasFormat ^js gpu)] + (when (and device atlas bitmap) + {:bitmap bitmap :atlas atlas :device device :format format})))))) + +(e/defn Prepare-Geometry [device pipelines render-ops atlas] (e/client - (binding [dom/node js/document.body - canvas (e/watch !canvas) - canvas-x (e/watch !canvas-x) - canvas-y (e/watch !canvas-y) - height (e/watch !height) - width (e/watch !width) - device (e/watch !device) - format (e/watch !format) - context (e/watch !context) - all-rects (e/watch !all-rects) - offset (e/watch !offset) - zoom-factor (e/watch !zoom-factor) - visible-rects (e/watch !visible-rects) - old-visible-rects (e/watch !old-visible-rects) - data-spine (i/spine) - rect-ids (vec (range 1 30)) - global-atom (e/watch !global-atom) - font-bitmap (e/watch !font-bitmap) - atlas-data (e/watch !atlas-data) - dpr (e/watch !dpr)] + {:text (editor/update-text-data device (:text-sys pipelines) render-ops atlas 16) + :rect (editor/update-rects device (:rect-sys pipelines) []) + :pipelines pipelines})) - (reset! !dpr (.-devicePixelRatio js/window)) - (reset! !width (* dpr (.-clientWidth dom/node))) - (reset! !height (* dpr (.-clientHeight dom/node))) - (reset! !canvas-x 0) - (reset! !canvas-y 0) - (reset! !offset [0 0]) - (reset! !zoom-factor 1) - (load-bitmap-file) - (read-json-file) - (Canvas-view) - (when-not (some nil? [canvas height width]) - (let [rnd (create-random-rects rect-ids height width)] - ;(println "RND" @rnd) - (reset! !all-rects @rnd) - (println "all-rects" all-rects) - (when (and (some? font-bitmap) (some? all-rects)) - (do - (println "total rncts" all-rects) - (println "success canvas" canvas all-rects) - (Setup-webgpu) - (Add-panning) - (Add-wheel)))))))) +(e/defn main [ring-request] + (e/server + (let [file-content source-code] + + (e/client + (binding [dom/node js/document.body] + (dom/style {:margin "0" :padding "0" + :width "100vw" :height "100vh" + :overflow "hidden" :background "#111" + :user-select "none"}) + + (init-lezer-parser!) ; No #? needed - JVM stub exists + + (let [resources (LoadWebGPU)] + (when resources + (let [device (get resources :device) + format (get resources :format) + atlas (get resources :atlas) + pipelines (editor/create-editor-state resources)] + + (let [lines (str/split-lines file-content) + tokenized-lines (mapv tokenize-line lines) + render-ops (layout-tokens tokenized-lines 50 100 16)] + + (let [geometry (Prepare-Geometry device pipelines render-ops atlas)] + (dom/canvas + (dom/props {:id "webgpu-canvas" + :style {:width "100vw" :height "100vh" :display "block"}}) + (let [ctx (.getContext dom/node "webgpu" (clj->js {:alpha true}))] + (.configure ^js ctx (clj->js {:device device :format format :alphaMode "premultiplied"})) + (let [loop-flow (e/Task (loop/start-loop! dom/node device ctx geometry))] + (e/input loop-flow)))))))))))))) diff --git a/src/app/electric_flow_old.cljc b/src/app/electric_flow_old.cljc new file mode 100644 index 0000000..ffe2d2c --- /dev/null +++ b/src/app/electric_flow_old.cljc @@ -0,0 +1,426 @@ +(ns app.electric-flow-old + (:require [hyperfiddle.electric3 :as e] + [missionary.core :as m] + [hyperfiddle.electric-dom3 :as dom] + [hyperfiddle.electric-svg3] + [hyperfiddle.incseq.mount-impl :refer [mount]] + [hyperfiddle.kvs :as kvs] + [hyperfiddle.domlike :as dl] + [hyperfiddle.incseq :as i] + #?@(:cljs [[app.client.webgpu.core :as wcore :refer + [render-rect + render-text + setup-text-renderer + draw-text]] + [global-flow :refer [await-promise + mouse-down?> + debounce + !canvas + !font-bitmap + !text-renderer + global-client-flow + !adapter + !global-atom + !device + !context + !atlas-data + !command-encoder + !format + !all-rects + !width + !height + !canvas-y + !visible-rects + !dpr + !old-visible-rects + !canvas-x + !zoom-factor + !offset]] + [app.client.webgpu.data :refer [!rects]]]))) + + +(hyperfiddle.rcf/enable!) + + +(e/declare canvas) +(e/declare squares) +(e/declare adapter) +(e/declare device) +(e/declare context) +(e/declare wformat) +(e/declare command-encoder) +(e/declare all-rects) +(e/declare width) +(e/declare height) +(e/declare canvas-y) +(e/declare canvas-x) +(e/declare offset) +(e/declare zoom-factor) +(e/declare rect-ids) +(e/declare visible-rects) +(e/declare old-visible-rects) +(e/declare data-spine) +(e/declare global-atom) +(e/declare font-bitmap) +(e/declare atlas-data) +(e/declare dpr) +(e/declare text-renderer) + + +(defn create-random-rects [rects ch cw] + (let [res (atom {})] + ;(println "RAND" @res rc ch cw) + (doseq [i rects] + (let [height (+ 20.0 (rand-int 60)) + width (+ 145.0 (rand-int 60)) + y (+ 0.1 (rand-int ch)) + x (+ 0.1 (rand-int cw))] + ;(js/console.log "xx" x y) + ;(println i 'Create-random-rects (keyword (str i)) [x y height width]) + (swap! res assoc (keyword (str i)) [x y height width]))) + ;(println "all RECTS" @res) + res)) + +#?(:cljs (defn format-float [inp] + (js/Number (.toFixed inp 3)))) + +#?(:cljs (defn clip-x [x w] (- (* 2 (/ x w)) 1))) +#?(:cljs (defn clip-y [y h] (- 1 (* 2 (/ y h))))) + +#?(:cljs (defn setup-all-text-and-get-renderer [dv fmat atl fnt rct] + + ;; PART A: Prepare a STATIC list of texts wih their ORIGINAL WORLD positions. + ;; This `reduce` loop now only runs ONCE + (js/console.log "SETUP all text :" dv fmat atl fnt rct) + (let [static-texts-in-world-space (reduce + (fn [acc [id data]] + (let [[x y] data] ; We only care about the original x and y + ;; The position is now just the original world position, NOT the final clip-space one. + ;; We add 7 here because your original code did. + (conj acc {:x (+ 7 x) + :y (+ 7 y) + :text (str (name id))}))) + [] + rct) + + ;; PART B: Call the "setup renderer" function we designed before. + ;; It will take this static text data and create the permanent GPU objects. + renderer-objects (setup-text-renderer dv + fmat + static-texts-in-world-space + atl + fnt)] + ;(println "static text rects" dv fmat fnt rct) + renderer-objects + ))) + + + +(e/defn Setup-webgpu [] + (e/client + (when (some? canvas) + (js/console.log canvas) + (let [context (.getContext canvas "webgpu" (clj->js {:alpha true})) + gpu js/navigator.gpu + adapter (e/Task (await-promise (.requestAdapter gpu (clj->js {:requiredFeatures ["validation"]})))) + device (e/Task (await-promise (.requestDevice adapter))) + cformat (.getPreferredCanvasFormat gpu) + config (clj->js {:format cformat + :device device}) + ar (e/snapshot all-rects) + atl (e/snapshot atlas-data) + fnt (e/snapshot font-bitmap)] + (.configure context config) + (reset! !adapter adapter) + (reset! !device device) + (reset! !context context) + (reset! !format cformat) + (reset! !text-renderer (setup-all-text-and-get-renderer device + cformat + atl + fnt + ar + )))))) + + + +(e/defn Mouse-down-cords [node] (e/input (mouse-down?> node))) + + +(e/defn Add-panning [] + (when-some [[start-x start-y] (Mouse-down-cords canvas)] + (let [[off-x off-y] (e/snapshot offset)] + (dom/On "mousemove" + (fn [e] + (.preventDefault e) + (let [end-x (.-clientX e) + end-y (.-clientY e) + new-pan-x (+ off-x (* dpr (- end-x start-x))) + new-pan-y (+ off-y (* dpr (- end-y start-y)))] + (reset! !offset [new-pan-x new-pan-y]) + [new-pan-x new-pan-y])) + "")))) + + + +(e/defn Add-wheel [] + (dom/On "wheel" + (fn [e] (.preventDefault e) + (let [delta (.-deltaY e) + rect (.getBoundingClientRect (.-target e)) + cursor-x (* dpr (- (.-clientX e) (.-left rect))) + cursor-y (* dpr (- (.-clientY e) (.-top rect))) + scale (if (< delta 0) 1.02 0.98) + new-zoom (* zoom-factor scale) + [off-x off-y] offset + pan-zoom (- 1 scale) + current-pan-x (* (- cursor-x off-x) pan-zoom) + current-pan-y (* (- cursor-y off-y) pan-zoom) + total-pan-x (+ off-x current-pan-x) + total-pan-y (+ off-y current-pan-y)] + (println "Wheel" total-pan-x total-pan-y new-zoom 1) + (reset! !offset [total-pan-x total-pan-y]) + (reset! !zoom-factor new-zoom))) + nil + {:passive false})) + +;; This new function does all the setup work. Call it ONCE. + +(e/defn Render-text [cx cy zf] + (println "rendering text") + (let [dv (e/snapshot device) + con (e/snapshot context) + fmat (e/snapshot wformat) + renderer (e/snapshot text-renderer) + ] + (when (every? some? [renderer dv con fmat ]) + (let [camera-state {:pan-x cx + :pan-y cy + :zoom zf + :width width + :height height}] + (println "render text --" dv "--" con "--" renderer "--" camera-state) + (draw-text dv con renderer camera-state)) + #_(let [texts (reduce + (fn [acc [id data]] + (let [[x y dh dw] data + left (clip-x + (+ (* (+ 7 x) zf) cx) + width) + top (clip-y + (+ (* (+ 7 y) zf) cy) + height)] + (conj acc {:x left + :y top + :text (str (name id))}))) + [] + all-rects) + zof (max 17 (* (/ 1 zf) 14))] + (render-text + dv + fmat + con + 16 + zof + atlas-data + font-bitmap + texts))))) + +(e/defn Render-rect [cx cy zf] + (let [dv (e/snapshot device) + fmat (e/snapshot wformat) + con (e/snapshot context) + ] + #_(println "render rect" device wformat context) + (when (every? some? [device wformat context]) + (println "render rect" ) + (let [rects-data (flatten (into [] (vals all-rects))) + [s e] (e/Token offset) + rects-ids (into [] (keys all-rects))] + #_(println "render rect crx" cx cy) + (render-rect + "zoom" + rects-data + dv + fmat + con + [width height cx cy zf] + rects-ids) + #_(when (some? s) + (let [[cx cy] (s (e/Task (m/sleep 25 offset)))] + (Render-text cx cy zf)))) + ))) + + +(e/defn Tap-diffs + ([f! x] + (f! (e/input (e/pure x))) + x) + ([x] (Tap-diffs prn x))) + + + +(e/defn On-node-add [id] + (when-some [[x y h w] (id all-rects)] + ((fn [] + (let [gx (-> global-atom :cords first) + gy (-> global-atom :cords second) + [ox oy zf] offset + cgx (- (clip-x gx width) ox) + cgy (- (clip-y gy height) oy) + cl (clip-x x width) + cr (clip-x (+ x w) width) + ct (clip-y y height) + cb (clip-y (+ y h) height) + zff (or zf zoom-factor) + clicked? (and (<= cgx cr) (>= cgx cl) + (<= cgy ct) (>= cgy cb))] + (println + id + gx gy + zoom-factor + offset + ":R:" + [x y h w] + (format-float (+ ox (* zff cl))) + (format-float (+ oy (* zff ct))))))))) + +(e/defn Canvas-view [] + (e/client + (dom/canvas + (dom/props {:id "top-canvas" + :height height + :width width + :style {:height (str (/ height dpr) "px") + :width (str (/ width dpr) "px")}}) + (reset! !canvas dom/node) + + (when-some [down (Mouse-down-cords dom/node)] + (println "DOWN") + (reset! !global-atom {:cords down})) + #_(e/for-by identity [node (e/as-vec (e/input (e/join (i/items data-spine))))] + + (println node global-atom) + #_(On-node-add node)) + #_(println "NEW SPINE" + (count visible-rects) + (e/input (i/count data-spine)) + visible-rects + (e/as-vec (e/input (e/join (i/items data-spine))))) + (let [mount-items (mount + (fn [element child] (do + (data-spine + child + (fn [_ new] + (keyword (str new))) + child) + (.push element child) + element)) + (fn [element child previous] (do + (let [idx (.indexOf element previous)] + (when (>= idx 0) + (aset element idx child))) + element)) + (fn [element child sibling] (do + (let [idx (.indexOf element sibling)] + (if (>= idx 0) + (.splice element idx 0 child) + (.push element child))) + element)) + (fn [element child] (do + (data-spine + child + (fn [_ new] + (keyword (str new))) + nil) + (let [idx (.indexOf element child)] + (when (>= idx 0) + (.splice element idx 1))) + element)) + (fn [element i] (do + (aget element i)))) + + diff (e/input (e/pure (e/diff-by identity visible-rects)))] + + ((fn [] (when (some? diff) + (mount-items (object-array @!old-visible-rects) diff)))))))) + + + +#?(:cljs (defn load-bitmap-file [] + (println "Load bitmap file") + (-> (js/fetch "/font_atlas.png") + (.then #(.blob %)) + (.then #(js/createImageBitmap %)) + (.then (fn [img] + (reset! !font-bitmap img)))))) + +#?(:cljs + (defn read-json-file [] + (-> (js/fetch "/font_atlas.json") + (.then (fn [response] + (.json response))) + (.then (fn [data] + (reset! !atlas-data (js->clj data :keywordize-keys true))))))) + + +(e/defn main [ring-request] + (e/client + (binding [dom/node js/document.body + canvas (e/watch !canvas) + canvas-x (e/watch !canvas-x) + canvas-y (e/watch !canvas-y) + height (e/watch !height) + width (e/watch !width) + device (e/watch !device) + wformat (e/watch !format) + context (e/watch !context) + all-rects (e/watch !all-rects) + offset (e/watch !offset) + zoom-factor (e/watch !zoom-factor) + visible-rects (e/watch !visible-rects) + old-visible-rects (e/watch !old-visible-rects) + data-spine (i/spine) + rect-ids (vec (range 1 30)) + global-atom (e/watch !global-atom) + font-bitmap (e/watch !font-bitmap) + atlas-data (e/watch !atlas-data) + text-renderer (e/watch !text-renderer) + dpr (e/watch !dpr)] + + (reset! !dpr (.-devicePixelRatio js/window)) + (reset! !width (* dpr (.-clientWidth dom/node))) + (reset! !height (* dpr (.-clientHeight dom/node))) + (reset! !canvas-x 0) + (reset! !canvas-y 0) + (reset! !offset [0 0]) + (reset! !zoom-factor 1) + (load-bitmap-file) + (read-json-file) + (Canvas-view) + (when-not (some nil? [canvas height width]) + (let [rnd (create-random-rects rect-ids height width)] + ;(println "RND" @rnd) + (reset! !all-rects @rnd) + ;(println "all-rects" all-rects) + (when (and (some? font-bitmap) (some? all-rects)) + (do + ;(println "total rncts" all-rects) + ;(println "success canvas" canvas all-rects) + (Setup-webgpu) + (Add-panning) + (Add-wheel) + + (when (some? text-renderer) + (let [[cx cy] offset + zf zoom-factor + [gx gy] (e/Task (m/sleep 40 offset)) + [s e] (e/Token offset)] + (println "GX GY" gx gy) + (let [[gx gy] (e/snapshot offset)] + (println "render text ") + (Render-text cx cy zf) + (Render-rect cx cy zf) + )) + #_(Render-rect cx cy zf)) + ))))))) diff --git a/src/global_flow.cljs b/src/global_flow.cljs index 795fe34..dfc2ede 100644 --- a/src/global_flow.cljs +++ b/src/global_flow.cljs @@ -38,6 +38,7 @@ (defonce !all-nodes-map (atom [])) (defonce !quad-tree (atom nil)) +(defonce !text-renderer (atom nil)) (defonce !canvas (atom nil)) (defonce !squares (atom nil)) @@ -85,3 +86,5 @@ #(v (fn [] (throw %)))) (m/absolve v))) + +